This service computes semantic relations between words in Russian. It is named after RusCorpora, the site for the Russian National Corpus. They provide access to corpora, we provide access to semantic vectors (vectōrēs in Latin). These vectors reflect meaning based on word co-occurrence distribution in the training corpus (huge amounts of raw linguistic data).
In distributional semantics, words are usually represented as vectors in a multi-dimensional space of their contexts. Semantic similarity between two words is then calculated as a cosine similarity between their corresponding vectors; it takes values between -1 and 1 (usually only values above 0 are used in practical tasks). 0 value roughly means the words lack similar contexts, and thus their meanings are unrelated to each other. 1 value means that the words' contexts are absolutely identical, and thus their meaning is very similar.
Recently, distributional semantics received a substantially growing attention. The main reason for this is a very promising approach of employing the so-called predictive models to learn hiqh-quality dense vectors (embeddings). These models often are trained using shallow artifical neural networks. The most well-known tool in this field now is possibly word2vec, which allows very fast training, compared to previous approaches.
Word2vec's Continuous Bag-of-Words and Continuous Skipgram algorithms (and other similar methods) are being extensively studied and tested in application to English language. However, the number of relevant publications for Russian is still low. Thus, it is important to provide access to relevant tools and models for Russian linguistic community.
Unfortunately, training and querying word embedding models for large corpora can be computationally expensive. Thus, we provide ready-made models trained on several Russian corpora, and a convenient web interface to query them. You can also download the models to process them on your own. Moreover, our web service features a bunch of (hopefully) useful visualizations for semantic relations between words. In general, the reason behind RusVectōrēs is to lower the entry threshold for those who want to work in this new and exciting field.
RusVectōrēs is basically a tool to explore relations between words in distributional models. You can think about it as a kind of `semantic calculator'. A user can choose one or several models to work with: currently we provide several models trained on different corpora (some of them have won top-ranking positions in the RUSSE evaluation track). The models contain from 120K to 400K lemmas each.
After choosing a model, it is possible to:
In the spirit of Semantic Web, each word in each model has its own unique URI explicitly stating lemma, model and part of speech (for example, http://rusvectores.org/en/ruwikiruscorpora/алгоритм_NOUN/). Web pages at these URIs contain lists of the nearest semantic associates for the corresponding word, belonging to the same part of speech as the word itself. Other information about the word is also shown.
We also provide a simple API to get the list of semantic associate for a given word in a given model. There are two possible formats: json and csv. Perform GET requests to URLs following the pattern http://rusvectores.org/MODEL/WORD/api/FORMAT where MODEL is the identifier for the chosen model, WORD is the query word and FORMAT is "csv" or "json", depending on the output format you need. We will return a json file or a tab-separated text file with the first 10 associates.
Additionally, you can get semantic similarities for word pairs in any of the provided models via queries of the following format: http://rusvectores.org/MODEL/WORD1__WORD2/api/similarity/ (note 2 underscore signs).
We recommend to experiment with algebraic operations on vectors, as they return interesting results. For example, the model trained on Russian National Corpus returns существование if we subtract любовь from жизнь. This may sound like something not very practical, but the existing research in English models has already proved that such relationships can be useful for many applications including machine translation.
Naturally, one can compare results from different models on one screen.
We would like RusVectōrēs to become a hub of scholarly knowledge about word embedding models for Russian, that's why there is a section with published academic papers and links to other relevant resources. At the same time, we hope that RusVectōrēs will also popularize distributional semantics and computational linguistics, making it more understandable and attractive to the Russian-speaking public.
This service runs on WebVectors, free and open source toolkit for serving distributional semantic models over the web.
You can also check a sister service for English and Norwegian.
If you are interested in distributional semantic models, you should really check these publications (in the chronological order):
Andrey Kutuzov's talk "Distributional semantic models and their applications" (workshop at the Institute for Systems Analysis of Russian Academy of Sciences, 3 March 2017), in Russian:
If you use RusVectōrēs, please cite this paper:
Kutuzov A., Kuzmenko E. (2017) WebVectors: A Toolkit for Building Web Interfaces for Vector Semantic Models. In: Ignatov D. et al. (eds) Analysis of Images, Social Networks and Texts. AIST 2016. Communications in Computer and Information Science, vol 661. Springer, Cham (pdf, bibtex)
We acknowledge support of Mail.ru Group in providing hosting facilities for this service.