The world is awash in digital data. The challenge: making sense of that data. To tackle that challenge, a growing number of companies are turning to natural language processing technology to understand and monetize their data.
Natural language processing, or NLP, refers to a field of technology focused on the application of algorithms and mathematical models to analyze human language. Its use has grown sharply as companies grapple with data volumes that make it virtually impossible to perform data analysis using techniques that require significant human involvement. Popular uses of NLP include content classification, sentiment analysis and automated summarization. For instance, media organizations may use NLP-based platforms to categorize, tag and summarize content, and many brands commonly employ tools that use NLP to determine if the social media buzz around their marketing campaigns is positive or negative.
Fortunately, what is a technically complicated field of computing is now accessible to even the smallest of businesses thanks to the existence of companies that provide NLP as a service. This article explores and compares five of the leading NLP service providers that offer API integration.
These service providers were selected based on the following criteria:
- A live NLP-focused API offering that gives users access to at least several common low-level NLP functions.
- Availability of public documentation and pricing information.
- Self-serve registration/subscription.
Founded in 2005, AlchemyAPI is one of the oldest players in the NLP-as-a-service space. Calling itself the "world's most popular natural language processing service," the company's claims more than 40,000 developers and says its technology is used to process more than 3.5 billion API calls per month.
AlchemyAPI's AlchemyLanguage offering supports 12 text analysis functions: entity extraction, sentiment analysis, keyword extraction, concept tagging, relation extraction, taxonomy classification, author extraction, language detection, text extraction, microformats parsing, feed detection and linked data support.
The company’s REST API offers users the ability to receive responses in a number of formats, including XML, JSON, RDF and microformats. AlchemyAPI offers SDKs for Java, Perl, Ruby, Python, PHP, C/C++, C#, Node.js and Android, and its developer portal contains tutorials and sample projects for several common NLP use cases.
AlchemyAPI offers a free usage tier that provides up to 1,000 transactions per day. Paid plans offer 90,000, 300,000 and 3 million transactions per month for $250, $750 and $1,750, respectively. For customers requiring high volumes, the company can create custom plans that support billions of transactions a month and can also offer its technology as an on-premises appliance.
Earlier this year, AlchemyAPI launched a computer vision offering, AlchemyVision, which allows users to automatically extract and tag images. Using the AlchemyVision API companies can, for instance, identify the names of products in a photo without needing to supply text-based clues. With photos playing such a prominent role on the web today, having the ability to analyze image-based content could be an attractive option for some companies.
A more recent entry into the natural language processing space, Aylien's platform is designed to help media organizations and consumers extract intelligence from the web's never-ending and constantly expanding stream of content.
Aylien's Text Analysis API supports a number of common functions based on NLP and machine learning technology, including classification, sentiment analysis and entity extraction. The company's API, which is RESTful and served by Mashape, also offers a summarization endpoint, which can be used to summarize long articles, and a hashtag suggestion endpoint, which can suggest appropriate hashtags for a piece of content.
Aylien offers a basic free tier that allows for 1,000 requests per day with the ability to make extra requests at a cost of 1 cent per. Its Small, Medium and Large plans provide for 6,000, 80,000 and 180,000 requests per day for $199, $649 and $1,399, respectively. All paid plans include email support. An enterprise plan, which offers unlimited requests and telephone support, is also available.
Aylien is planning to release a News API that will allow users to obtain new stories in real time from more than 50 popular sources. Users will be able to filter stories in a variety of ways, including by keyword, topic, category and social popularity, and stories will be enhanced with metadata, including entity extraction and sentiment analysis. This new API, coupled with the company's existing hashtag suggestion feature, could make Aylien especially appealing to users looking to employ NLP in social applications.
Founded this year, Fluxifi is focused on providing tools that help companies analyze and make the most of social media content. As part of that, it offers an API that customers can use to perform natural language processing.
Fluxifi's NLP API supports common NLP functions such as tokenization, sentiment analysis, language detection and part-of-speech tagging. The API is RESTful and supports XML and JSON response formats.
Fluxifi offers two pricing plans for its NLP API: a £250 per month (approximately $335 per month based on exchange rates at time of publication) Professional tier that provides for up to 40,000 API calls per day and an Enterprise plan staring at £500 per month (approximately $672 per month) that provides for upward of 150,000 calls per day. The company can also structure custom plans for higher-volume customers. Enterprise and custom plans come with telephone support and an SLA.
Fluxifi's NLP API is just one component of its platform. In addition to this API, the company offers a broader social monitoring and analytics platform that is connected to firehoses from popular social networks including Twitter, YouTube and Instagram. That may make Fluxifi a more attractive option for companies aiming to obtain and analyze social data.
Textalytics offers "meaning as a service" using its text analysis engine, which the company bills as the "most user-friendly" in the space.
Textalytics' core API allows users to perform a variety of commonly used low-level natural language processing functions, including topic extraction, text classification, sentiment analysis and language identification.
In addition, in an effort to help companies in specific verticals, the company has two other APIs:
- A media analysis API, which is designed to provide a high-level analysis of "mentions, topics, opinions and facts." This API combines thematic classification, key information identification and sentiment analysis.
- A semantic publishing API, which combines a number of natural language processing functions that can help publishers more efficiently categorize, manage and produce content.
The Textalytics APIs are RESTful and support JSON and XML formats. The company offers SDKs for PHP, Java, Python and Visual Basic.
Textalytics operates under a credits system with variable pricing for different types of requests. For instance, a request to the Language Identification API uses one credit, every two words processed through the Topics Extraction API use two credits, and every minute of speech run through the Speech Recognition API uses 10,000 credits.
Textalytics has a free plan that offers 500,000 credits per month. Professional and Business plans up the credits to 2 million and 10 million for €149 and €499 per month (approximately $253 and $847 per month), respectively. All plans permit up to five requests per second. For customers requiring more credits or higher throughput, custom enterprise plans are also available.
For customers not wanting to integrate with the Textalytics API or perform experimentation before integration, the company offers a plug-in that allows them to perform analysis directly in Microsoft Excel.
Founded by a former Bloomberg employee who worked in search R&D for the financial giant, TextRazor aims to help customers "extract and understand the who, what, why and how" of their content. To do this, the company built its own natural language processing and machine learning stack from the ground up, which it offers in cloud-based and self-hosted packages.
Using TextRazor's API, customers can perform core natural language processing functions, including entity recognition and enrichment, topic tagging, relationship extraction, and entailment. Through its indexing of information from Freebase, TextRazor can enrich entities with information such as location data and birth dates.
The company's platform can automatically detect 142 languages and provides entity recognition and topic detection for 10 languages, including English, Spanish, German, French and Russian. The TextRazor API is RESTful, returns responses in JSON format, can be accessed over HTTP or HTTPS, and supports optional GZIP compression. Official SDKs are provided for Python, PHP and Java.
TextRazor offers four pricing plans for its cloud-based platform. These range in price from free to $1,200 per month. The free plan allows 500 requests per day and two simultaneous requests, while the $1,200-per-month Pro plan provides 120,000 requests per day and up to 15 simultaneous requests. The company can also create custom enterprise plans for customers who need millions of daily requests or hundreds of simultaneous requests.
TextRazor has a Prolog-based rules engine that developers can tap into to customize its natural language processing algorithms. As the company explains, "Customization and domain adaptation is often crucial to the development of accurate text analytics applications." For example, this capability can be used to add custom ontologies and topic lists for topic classification and entity extraction.
Which Solution Is Right for You?
All but one of the companies discussed in this article give developers the ability to use their APIs free of charge, and a number offer online demo consoles. While many of companies offer similar solutions and support the same core NLP functions, in my own simple tests I did observe that some services produced better results for certain sample content types than others. As such, it is worthwhile to test several products and see which one delivers the highest quality for your specific content and use cases.