Category Archives: NLProc

New DocTop API: identify meaningful topics in documents in 8 languages

We are excited to share the news: we have just launched new DocTop API for identifying and extracting meaningful topics from documents in English, French, German, Dutch, Italian, Portuguese, Greek and Spanish.

You can send multiple documents for analysis in a single JSON request. First 10 documents will be analyzed.

Curiosity rover exploring topics in text data

When do you want to extract topics from unstructured text? Here are a few reasons:

  • Find out what are the top standing out topics that your documents are talking about.
  • Identify trends. For this, you can systematically collect topics for new documents and compare with volumes of same topics in the past.
  • Tag documents with topics to group them.
  • Allow searching within topics of interest to get focused search results.
  • Track topics to make a sense of the textual data being produced and become more data driven.
  • Correlate topics with other facets of your data, like geography, user age brackets, gender etc.

Here is an example of how to use the API for English:

[
	{
		"article_id": 1,
		"text": "San Francisco considers banning sidewalk delivery robots"
        }	
]

In response to the request above you’ll get an array of identified topics:

[
  {
    "article_id":1,
    "topics":[
         "sidewalk delivery robots"
         "san francisco"
    ]
  }
]

And here is the request/response pair for a text in Spanish:

[
	{
		"article_id": 1,
		"text": "Apple está buscando comprar una startup del Reino Unido por mil millones de dólares"
    }	
]
[
  {
    "article_id":1,
    "topics":[
       "reino unido"
       "millones"
       "startup"
       "dólares"
       "apple"
    ]
  }
]

Subscribe to the DocTop API today and test it out on free 100 texts in any supported language!

Russian topics quality improved

Hello our dear users,

We are happy to announce the improvements in the quality of topics produced for texts in Russian.

The trick with Russian and similar languages (Ukrainian, Finnish, Belorussian, Polish) is rich morphology: lots of word endings (surface forms), grammatical cases will lead to abrupt topics or topics in a wrong case.

We have implemented additional analysis techniques that will compute base forms when applicable and remove prepositions on the boundaries of topics.

Enjoy and remember that topics are your gateway to categorizing large number of texts and bringing structure to unstructured.

The update is immediately available for all our users.

Consume the Topic API today: https://rapidapi.com/dmitrykey/api/topicapi

Insider team

More languages to the mix

Dear users!

We are super thrilled to announce the support of virtually any language in TopicAPI. Upload and gets topics for your articles in German or Russian. We plan to add more languages in the coming weeks. Please let us know what language you would like the most: https://goo.gl/forms/5RtE8ywHY2GYrTYH2

Notice, that we have updated the documentation to reflect the multi-language feature: you need to supply a language code in the URL path to make sure your content is properly processed. See more here: https://market.mashape.com/dmitrykey/topicapi

Happy coming holidays and many insightful topics in your content!

Insider

Mashape

Мы гипер рады сообщить о том, что теперь TopicAPI поддерживает практически любой язык. Сейчас это русский и немецкий. Пожалуйста, дайте нам знать, какой язык вы хотели бы видеть в системе в первую очередь: https://goo.gl/forms/5RtE8ywHY2GYrTYH2

Обращаем ваше внимание, что мы изменили документацию к API: https://market.mashape.com/dmitrykey/topicapi

Счастливых праздников!

Insider

Halloween launches / Релизы на Хеллоуин

We are pleased to report new features in the Topic API — system for realtime topic clustering of documents: articles, blog posts, tweets.

Mashape

We have improved the algorithm to avoid situations where a preposition would be omitted — helps a lot for Russian.

We have added a possibility to filter clusters by time range: use params startDate and endDate in the format yyyy-MM-dd. This feature should allow you to build trends over time!

We made the /articles/cluster end point to support GET — more sensible when integrating with frontends

Enjoy and Happy Halloween!

Мы рады сообщить о новых фичах в Topic API — системе для построения тематических кластеров документов: статей, блог-постов, твитов.

Мы улучшили алгоритм таким образом, чтобы названия кластеров включали предлоги. Например, раньше кластер мог называется “Питере”, теперь он будет называться “В Питере” (конечно, в зависимости от ваших данных).

Теперь кластера можно строить для конкретного промежутка времени: используйте параметры startDate и endDate в формате yyyy-MM-dd. Теперь вы можете строить тренды!

Энд-пойнт /articles/cluster теперь доступен по GET — это более дружественный тип запроса для интеграции с фронтэндами.

Удачи и классного Хэллоуина!

Insider team / команда Insider

Text analytics APIs: simplified pricing

We focus a lot on unifying access to our text analytics APIs. One of such areas is pricing. We obviously want more users to have access to our systems at meaningful prices.

In the course of the last month we have unified and decreased prices for all our APIs. Here are the changes:

RSA API (entity level sentiment detection for Russian):
Overage fee for Basic plan is USD $0,02 (was: USD $0,05). This matches the overage fee on all other plans.
PRO plan is now USD $99 instead of $299.
ULTRA plan is now USD $199 instead of $350.

FUXI API (sentiment detection for Chinese):
We changed our subscription plan Basic to allow for 15,000 texts a month for just $10 instead of 500 / day.
PRO plan allows you to 100,000 texts a month for $99.

Topic API (searchable topics for texts in Russian)
Basic plan allows for sending 1,000 messages for $19. Remember, that one message can contain up to 50 texts. If you were only uploading texts you could upload 50,000 of them.

The following APIs continue to be FREE:

ConnectedWords (find semantically similar English words to the ones given)
SemanticCloud (frequency word clouds for Russian along with lemmas)

Our team is always listening to you, our users — let us know, what APIs you would like to have in addition, what features to existing APIs and what volumes you would like to handle.

Enjoy the journey of extracting signal from your textual lakes!

Making sense: The API is FREE. Use it today and give us your feedback!

What if you have a bunch of or just one long text in any language and none of summarisation tools work for you?

If you have been in such a situation and also you have texts from social media or news sources that you cannot always trust in terms of how clean of noise they are, do they have URLs, hashtags, people names, addresses and so on.

And if you wanted to sift through the texts with some filter, like I want only nouns and only verbs to capture who did what.
Or I want only adjectives and nouns to capture with what colour do texts describe arbitrary objects.
Or I just want to have links out of all texts.

Now you can do all of that with one call to our SemanticCloud API.

Let’s pick the following tweet with hashtags and an URL in it and a mix of two languages: Russian and English:
Я голосую за сильного президента, за сильную независимую Россию и за тех, кто привык спрашивать только с себя, а не винить в своей лени остальных! I vote for a strong president, for a strong Russia! #выборыпрезидента #RussiaElections2018 #ЯГолосую #ЗаПутина #Putin http://pic.twitter.com/zkY8axHqZA

And let’s ask the system to output nouns, verbs, adverbs, adjectives, names, hyperlinks.

Two top words by count are: strong and сильный (translation pair)

{
“word”: “strong”,
“stem”: “strong”,
“partOfSpeech”: “Unknown”,
“count”: 2,
“lemma”: false,
“keyword”: false
},

{
“word”: “сильный”,
“stem”: “сильный”,
“partOfSpeech”: “Adjective”,
“count”: 2,
“lemma”: true,
“keyword”: false
}

But we also parsed the words out of hashtags:

{
“word”: “яголосую”,
“stem”: “яголос”,
“partOfSpeech”: “Unknown”,
“count”: 1,
“lemma”: false,
“keyword”: false
},

{
“word”: “выборыпрезидента”,
“stem”: “выборыпрезидент”,
“partOfSpeech”: “Unknown”,
“count”: 1,
“lemma”: false,
“keyword”: false
}

and a URL:

{
“word”: “http://pic.twitter.com/zky8axhqza”,
“stem”: “http://pic.twitter.com/zky8axhqza”,
“partOfSpeech”: “Hyperlink”,
“count”: 1,
“lemma”: false,
“keyword”: false
}

In addition we can ask the API to give us only top N words (by frequencies) along with lemmas (where applicable). And, more importantly, we can ask to count our secret word, that we are monitoring. Whether or not our secret word is present in the texts, it will be returned back:

{
“word”: “петербург”,
“stem”: “петербург”,
“partOfSpeech”: “Noun”,
“count”: 0,
“lemma”: true,
“keyword”: true
}

The API is FREE. Use it today and give us your feedback!

Mashape

Insider team

NEW API: ConnectedWords

Hello and Happy New Year!

New Year – New API. We have launched new API called ConnectedWords. We have trained a neural network using word2vec approach on a number of English texts. As input you can supply an array of keywords for which you’d like to get another list of connected or related words.

 

Available end-points:

Here is an example:

For word “launch” the API produces the following connected words:

[
“launched 0.5948931514907372”,
“ariane 0.5640206606244647”,
“icbm 0.532163213444619”,
“canaveral 0.5222400316699805”,
“rocket 0.5168188279637889”,
“launcher 0.5066764146199603”,
“suborbital 0.4987842348018603”,
“landing 0.49743730683360354”,
“expendable 0.49456818497947097”,
“agena 0.49325088465809586”,
“orbiter 0.4930563861239534”,
“shuttle 0.48127536803463045”,
“unmanned 0.47977178154360445”,
“launches 0.47013505662020805”,
“sputnik 0.4690193780888272”,
“bomarc 0.46608954818339043”,
“mission 0.4622460565342408”,
“redstone 0.4509777243147255”,
“gliders 0.4493604525398496”,
“missile 0.4388378398880377”,
“abort 0.4322835796211848”,
“rockets 0.4255249811253634”,
“lgm 0.42401975940492775”,
“launching 0.42055305756491634”,
“spacecraft 0.42044358977136653”,
“warhead 0.4203600640856848”,
“manned 0.4196165464952628”,
“skylab 0.417352627778655”,
“spaceflight 0.41261142646271765”,
“payloads 0.41167406251520333”,
“operational 0.41030200304930986”,
“refueling 0.41015588246409607”,
“orbit 0.4054650313323691”,
“extravehicular 0.4040691414909361”,
“icbms 0.4037563327101452”,
“hotol 0.4027989227897706”,
“sts 0.400049473907643”,
“saturn 0.399919637824496”,
“payload 0.398525218766963”,
“bm 0.3965859062493564”
]

How can one use the API?

1. Making your search engine smarter: expand the result set to documents containing related words. This helps you solve the issue of zero hit searches.

2. Spice up your writing. Are you a journalist / blogger / student and would like to add a flavour to your text? Send in a few words and get a set of words, that might help make your texts more interesting and engaging.

In the future we would like to add support for other languages and train on different types of texts, like social media, news, blogs etc. If you have more ideas for how to make the system more useful for your needs, get in touch!

Mashape