Словарь синонимов api

Synonymize API

Easy API for synonymize russian words.

Installation

$ npm install synonymize-api

Usage

const synonymize = require('synonymize-api');

synonymize('машина').then(response => {
  console.log(response); // => [ 'автомобиль', 'аппарат', 'спорткар', 'more 20 items...' ]
  console.log(response[2]); // => 'спорткар'
});

License

MIT

ParaPhraser API

API, разрабатываемый совместно с EnduranceRobots.com, позволяет перефразировать предложения и отдельные слова, а также определять пропущенные члены предложения. Основные функции API реализованы для двух языков (русский, английский), некоторые функции пока работают только для одного языка.

В настоящий момент доступна альфа-версия API (лицензия MIT), и мы приглашаем к тестированию разработчиков, исследователей, лингвистов, веб-мастеров, SEO-специалистов, копирайтеров, а также всех, кто заинтересован в использовании пообного сервиса.

Использование API возможно программным способом (это требует несложной регистрациии на ParaPhraser.ru) либо через специальную Web-форму (без регистрации).

В ближайшем будущем планируется внедрение других функций, таких как подбор гипонимов и гиперонимов, анализ тональности фразы, тематическая классификация фразы и перефразирование текста.

Мы рады отзывам, комментариям и пожеланиям по работе API и внедрению новых функций и любой обратной связи на api@paraphraser.ru.


Аутентификация

Выполнять запросы к API можно только имея учетную запись на ParaPhraser.ru. Гостевые запросы возможны через Web-форму.

После регистрации каждый пользователь получает уникальный токен, который нужно использовать для обращения к методам API. Посмотреть свой токен можно в личном кабинете. При необходимости, токен может быть получен программным способом в результате обращения по адресу http://paraphraser.ru/token и передачи серверу пары логин/пароль.

Пример запроса

Ниже представлен пример запроса на получение токена:

  • POST
  • GET

http://paraphraser.ru/token?login=user&password=12345678

При обращении к API передача токена серверу осуществляется непосредственно в HTTP-запросе:

  • POST
  • GET

?token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&…


Формирование запроса

Запрос к API может быть выполнен методом GET или POST. Метод GET используется для передачи отдельных слов или коротких фраз, в то время как POST можно использовать для обработки небольших текстов.

Ограничение Во время тестирования API длина запроса ограничена 90 символами (в т.ч. 4 словами для некоторых функций) независимо от способа передачи

При передаче параметров методом POST необходимо использовать формат JSON.

Запросы на обработку текста принимаются по адресу http://paraphraser.ru/api.

Пример допустимого запроса:
  • POST
  • GET

http://paraphraser.ru/api?
token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&
c=vector&query=ищите женщину&top=3&lang=ru&format=json

В разделе Примеры использования приведен пример кода рабочего приложения.


Методы


Вектор похожих слов (фраз)

Возвращает список слов или фраз, близких по смыслу исходному слову или фразе, на основе векторной семантической модели.

Описание

Функция принимает на вход фразу или слово, осуществляет морфологический разбор, снимает неоднозначность на уровне частей речи и возвращает список фраз или слов, семантически близких к исходной фразе или слову, на основе технологии Word2Vec. Также возвращаются начальная форма и часть речи исходного слова в формате Universal POS tags (в случае фраз эта информация возвращается для каждого слова внутри исходной фразы).

В случае, если на вход подается слово, которое является неоднозначным, ответ выдается для каждой возможной части речи этого слова отдельно. Кроме того, выдаваемые слова ставятся в ту же форму, что и слова в исходном запросе.

В случае, если на вход подается слово, отсутствующее в векторной модели, функция возвращает только начальную форму и часть речи. Некоторые служебные части речи (артикли, вспомогательные глаголы), а также знаки пунктуации и прочие символы обрабатываются аналогичным образом – функция возвращает только начальную форму и часть речи.

Функция является базовой для данного API.

Параметры
Параметр Описание
c vector
query Искомое слово или фраза (строка, длина не более 90 символов или 4 слов)
top Количество возвращаемых схожих по смыслу слов или фраз (число от 0 до 30)
lang Язык (принимает значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api?token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&c=vector&query=ищите женщину&top=3&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«response»: {
«1»: {
«original»: «ищите женщину»,
«vector»: [
«отыскивайте девушку»,
«выискивайте девушку»,
«отыскивайте мужчину»,
],
«lemma»: «искать женщина»,
«pos»: «VERB NOUN»
}
},
«code»: 0,
«msg»: «OK»
}

Примечание

Набор входных параметров данной функции может быть расширен для получения коэффициентов семантической близости и словоформ.


Коэффициенты семантической близости

Возвращает для каждой фразы или слова в выдаваемом векторе близких слов коэффициент семантической близости между выдаваемым и исходным словом или фразой.

Описание

Функция расширяет вектор похожих слов (фраз), снабжая его коэффициентами семантического сходства (по отношению к исходному слову или фразе). Коэффициенты могут принимать значения от 0 до 1.

Параметры

В дополнение к базовым параметрам функции получения похожих слов (фраз) следует указывать следующие параметры:

Параметр Описание
scores Возвращать коэффициенты семантической близости (число, должно принимать значение «1»)
Пример запроса

http://paraphraser.ru/api?token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&c=vector&query=ищите женщину&top=3&scores=1&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«response»: {
«1»: {
«original»: «ищите женщину»,
«vector»: [
[
«отыскивайте девушку»,
0.7048
],
[
«выискивайте девушку»,
0.7011
],
[
«отыскивайте мужчину»,
0.6609
]
],
«lemma»: «искать женщина»,
«pos»: «VERB NOUN»
}
},
«code»: 0,
«msg»: «OK»
}

Примечание

Данная функция может вызываться совместно с функцией словоформ.


Словоформы

Возвращает все словоформы слов из вектора для заданного слова (фразы).

Описание

Функция расширяет вектор похожих слов (фраз), возвращая все возможные формы исходного слова (или слов внутри исходной фразы), а также все возможные формы слов для результирующего вектора слов/фраз.

Параметры

В дополнение к базовым параметрам функции получения похожих слов (фраз) следует указывать следующие параметры:

Параметр Описание
forms Возвращать все словоформы (число, должно принимать значение «1»)
Пример запроса

http://paraphraser.ru/api?token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&c=vector&query=ищите женщину&top=3&forms=1&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«code»: 0,
«msg»: «OK»,
«response»: {
«1»: {
«pos»: «VERB NOUN»,
«lemma»: «искать женщина»,
«forms_query»: {
«ищите»: [
«ищете»,
«искало»,
«искали»,
«ищешь»,
«ищем»,
«ищут»,
«искала»,
«ищу»,
«ищет»,
«искал»
],
«женщину»: [
«женщине»,
«женщинами»,
«женщины»,
«женщинах»,
«женщинам»,
«женщиной»,
«женщина»,
«женщин»,
«женщину»
]
},
«original»: «ищите женщину»,
«forms»: [
{
«отыскивайте»: [
«отыскивает»,
«отыскивала»,

],
«девушку»: [
«девушка»,
«девушки»,

]
},
{
«выискивайте»: [
«выискивает»,
«выискиваю»,

],
«девушку»: [
«девушка»,
«девушки»,

]
},
{
«отыскивайте»: [
«отыскивает»,
«отыскивала»,

],
«мужчину»: [
«мужчина»,
«мужчиной»,

]
}
],
«vector»: [
«отыскивайте девушку»,
«выискивайте девушку»,
«отыскивайте мужчину»,
]
}
}
}

Примечание

Данная функция может вызываться совместно с функцией коэффициентов семантической близости.


Словарные синонимы

Возвращает синонимы к заданному слову (фразе) на основе Yet Another RussNet.

Описание

Функция возвращает синонимы к исходным слову или фразе на основе синсетов из тезауруса Yet Another RussNet. В случае фразы синонимы подбираются отдельно для каждого слова внутри фразы (кроме служебных частей речи), а затем комбинируются в составе фразы.

Кроме того, для каждого слова внутри фразы функция возвращает начальную форму и часть речи в формате Universal POS tags. Для некоторых служебных частей речи (артикли, вспомогательные глаголы), а также знаков пунктуации и прочих символов синонимы не подбираются – возвращаются только начальная форма и часть речи.

Параметры
Параметр Описание
c syns
query Искомое слово или фраза (строка, длина не более 90 символов или 4 слов)
top Максимально допустимое количество возможных комбинаций (число от 1 до 30)
lang Язык (может принимать значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api?token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&c=syns&query=полосатый котик&top=3& lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«code»: 0,
«response»: {
«1»: {
«syns»: [
«полосатый котишка»,
«полосатый морской котик»,
«полосатый кошечка»
],
«original»: «полосатый котик»,
«lemma»: «полосатый котик»,
«pos»: «ADJ NOUN»
}
},
«msg»: «OK»
}

Примечание

Набор входных параметров данной функции может быть расширен для получения коэффициентов семантической близости и словоформ.


Гипонимы и гиперонимы

Возвращает гипонимы и гиперонимы для слов из запроса.

Описание

Функция возвращает более частные (гипонимы) и более общие (гиперонимы) понятия для слов из запроса (кроме служебных частей речи) на основе данных Викисловаря для русского языка и WordNet _ для английского. Гипонимы и гиперонимы ставятся в ту же форму, что и исходное слово. В случае запроса-фразы функция возвращает гипонимы и гиперонимы к каждому слову из фразы отдельно (кроме служебных частей речи).

Параметры
Параметр Описание
c hyp
query Искомое слово или фраза (строка, длина не более 90 символов)
top Максимально допустимое количество гипонимов и гиперонимов (число от 1 до 30)
lang Язык (может принимать значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api/form?c=hyp&query=ищите женщину&top=3&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«code»: 0,
«response»: {
«1»: {
«original»: «ищите женщину»,
«lemma»: «искать женщина»,
«pos»: «VERB NOUN»,
«hyponym»: {
«ищите»: [
«отыскивайте»,
«приискивайте»,
«разыскивайте»,
],
«женщину»: [
«старуху»,
«мать»,
«барышню»
]
},
«hypernym»: {
«ищите»: [],
«женщину»: [
«человека»,
«самку»,
«любовницу»
]
},
}
},
«msg»: «OK»
}


Однокоренные слова

Возвращает однокоренные слова для слов из запроса.

Описание

Функция возвращает однокоренные слова для слов из запроса (кроме служебных частей речи) на основе словаря Тихонова для русского языка. В случае запроса-фразы функция возвращает однокоренные слова для каждого слова из фразы отдельно (кроме служебных частей речи).

Параметры
Параметр Описание
c root
query Искомое слово или фраза (строка, длина не более 90 символов)
top Максимально допустимое количество однокоренных слов (число от 1 до 30)
lang Язык (может принимать значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api/form?c=root&query=ищите женщину&top=3&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«time»: 0.0329,
«code»: 0,
«msg»: «OK»,
«response»: {
«1»: {
«pos»: «VERB NOUN»,
«root»: {
«ищите»: [
«искательство»,
«сыщик»,
«ищейка»
],
«женщину»: [
«женственность»,
«женский»,
«женофоб»
]
},
«lemma»: «искать женщина»,
«original»: «ищите женщину»
}
}
}


Сходство двух фраз

Возвращает коэффициент сходства между двумя словами или фразами.

Описание

Функция возвращает коэффициент сходства между двумя словами или фразами, который может быть рассчитан одним из трех способов на выбор пользователя: на основе семантической векторной модели, на основе отношений синонимии или же на основе морфологического родства слов в составе фраз.

Параметры
Параметр Описание
c sim
query Два слова или фразы, разделенные знаком «;» (строка, длина не более 90 символов)
type Способ расчета возвращаемого семантического коэффициента (возможные значения: «vector», «syn», «root»)
lang Язык (может принимать значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api/form?c=sim&query=стоимость;цена&type=vector&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«code»: 0,
«response»: {
«1»: {
«original_1»: «стоимость»,
«original_2»: «цена»,
«lemma_1»: «стоимость»,
«lemma_2»: «цена»,
«pos_1»: «NOUN»,
«pos_2»: «NOUN»,
«sim»: {
«score»: 0.6959
},
}
},
«msg»: «OK»
}

Примечание

Все три способа расчета коэффициента сходства двух фраз реализованы только для русского языка. Для английского языка возможен расчет коэффициента на основе векторной модели или отношений синонимии. В случае выбора опции морфологического родства для английского языка коэффициент рассчитывается на основе отношений синонимии.


Определение пропущенной части предложения

Возвращает значение, указывающее на отсутствие в предложении подлежащего или сказуемого.

Описание

Функция принимает на вход предложение и проверяет, содержит ли оно и субъект (подлежащее), и предикат (сказуемое).

Параметры
Параметр Описание
c misent
query Искомое слово или фраза (строка, длина не более 90 символов)
lang Язык (может принимать значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api?token=9944b09199c62bcf3048ad846dd0e4bbdfc6ee4b&c=misent&query=ищите женщину&format=json

Пример ответа
  • EN
  • RU

{
«msg»: «OK»,
«code»: 0,
«response»: {
«missing»: [
«subject»
],
«phrase»: [
{
«pos»: «VERB»,
«word»: «ищите»,
«lemma»: «искать»
},
{
«pos»: «NOUN»,
«word»: «женщину»,
«lemma»: «женщина»
}
]
}
}


Нахождение центроида

Возвращает центроид заданных слов или фраз.

Описание

Функция возвращает центроид (в терминах векторной модели) заданных слов или фраз, то есть слово/фразу, которая является наиболее общей для тематики данных слов/фраз. Все слова, которые подаются на вход функции, должны быть лемматизированы и снабжены тегом части речи в формате Universal POS tags. Например, вот так:

черный_ADJ кот_NOUN;собака_NOUN;кролик_NOUN

Параметры
Параметр Описание
c centroid
query Произвольное количество слов или фраз (лемматизированных, с тегом части речи), разделенных знаком «;» (строка, длина не более 90 символов)
lang Язык (может принимать значения «ru» или «en»)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api/form?c=centroid&query=собака_NOUN;мышь_NOUN;животное_NOUN&lang=ru&format=json

Пример ответа
  • EN
  • RU

{
«code»: 0,
«response»: {
«phrases»: [
«собака_NOUN»,
«мышь_NOUN»,
«животное_NOUN»
],
«centroid»: «животное_NOUN»
},
«msg»: «OK»
}


Определение тематики запроса по Википедии

Возвращает тематику запроса исходя из классификации Википедии.

Описание

Функция классифицирует тематику запроса на основе категорий Википедии.

Параметры
Параметр Описание
c wikitopic
query Искомое слово или фраза (строка, длина не более 90 символов)
format Формат вывода (должен принимать значение «json»)
Пример запроса

http://paraphraser.ru/api/form?c=wikitopic&query=ищите женщину&format=json

Пример ответа

{
«code»: 0,
«response»: {
«topics»: [
«Фильмы 1982 года»,
«Фильмы Аллы Суриковой»,
«Телефильмы СССР 1982 года»,
«Фильмы студии «Мосфильм»»,
«Кинокомедии СССР»,
«Кинокомедии 1982 года»,
«Детективные фильмы СССР»,
«Фильмы о юристах»,
«Экранизации произведений Робера Тома»,
]
},
«msg»: «OK»
}


Ключевые слова

Возвращает список ключевых слов и фраз для текста.

Описание

Функция возвращает список ключевых слов для заданного текста. Список ключевых слов может быть дополнен семантически близкими словами. Можно выбирать части речи возвращаемых слов. Кроме того, функция может возвращать ключевые фразы.

Функция поддерживает выделение из текста основных тематик (кластеры ключевых слов) и их веса при программном обращении к ней (не через Web-форму).

Выделение тематик работает только при расширении ключевых слов синонимами.

Данная функция может быть вызвана только в POST-запросе.

Параметры
Параметр Описание
c keywords
query Исходный текст (строка, длина не более 2000 символов)
top Максимально допустимое количество ключевых слов (число от 1 до 30)
pos Части речи возвращаемых ключевых слов, перечисленные через запятую
expand Расширить список ключевых слов синонимами (число, должно принимать значение «1» или «0»)
mwe Возвращать словосочетания (число, должно принимать значение «0» или «1»)
forms Возвращать все словоформы (число, должно принимать значение «0» или «1»)
clusters Возвращать тематики по ключевым словам (имеет смысл только при expand=1) (число, должно принимать значение «0» или «1»)
stopwords Стоп-слова в начальной форме, перечисленные через «;»
lang Язык (должен принимать значение «ru»)
format Формат вывода (должен принимать значение «json»)
Примечание

Набор входных параметров данной функции может быть расширен для получения словоформ всех ключевых слов.


Примеры использования API

  • Python
  • PHP

Пример POST-запроса с параметром c=syns на языке Python 3.x с использованием библиотеки requests:

#!/usr/bin/env python

import json
import requests

# 1. Get your authentication token
# by posting username and password to the server

r = requests.post('http://paraphraser.ru/token/',
                  data={'login': 'user', 'password': '12345678'})
token = r.json().get('token', '')

# 2. Make a request using the obtained token

payload = {'c': 'syns',
           'query': 'кот ест рыбку',
           'top': 3,
           'scores': 0,
           'forms': 0,
           'format': 'json',
           'lang': 'ru',
           'token': token}

r = requests.post('http://paraphraser.ru/api/',
                  data=payload)
result = r.json()


if result['code'] == 0:
    response = result['response']

    for item in response:
        for value in response[item]['syns']:
            print(value)

else:
    print('Error:', result['msg'])

Результат выполнения (некоторые слова могут различаться в зависимости от используемой модели):

кошак кушает солнышко
котэ кушает солнышко
кошак кушает рыбёшку

Пример GET-запроса с параметром c=vector на Python 3.5+ без использования сторонних библиотек:

#!/usr/bin/env python

import json
from urllib.request import urlopen, HTTPError
from urllib.parse import urlencode, quote_plus

def token(login, password):
    payload = {'login': login, 'password': password}
    params = urlencode(payload, quote_via=quote_plus)
    url = 'http://paraphraser.ru/token?{0}'.format(params)
    try:
        return json.loads(urlopen(url).read().decode('utf-8'))['token']
    except HTTPError:
        return None

def send(payload):
    params = urlencode(payload, quote_via=quote_plus)
    url = 'http://paraphraser.ru/api?{0}'.format(params)
    try:
        return json.loads(urlopen(url).read().decode('utf-8'))
    except Exception as err:
        return json.loads(err.read().decode('utf-8'))


token = token('user', '12345678')

if token is not None:

    result = send({
            'c': 'vector',
            'query': 'кот ест рыбку',
            'top': 4,
            'scores': 0,
            'forms': 0,
            'lang': 'ru',
            'token': token
        })
    
    if result['code'] == 0:
        
        response = result['response']
        for item in response:
            for value in response[item]['vector']:
                print(value)
    else:
        print('Ошибка при выполнении запроса:', result['msg'])
else:
    print('Неверные имя пользователя или пароль')

Результат выполнения (некоторые слова могут различаться в зависимости от используемой модели):

кошка ест карася
котёнок ест карася
кошка ест окунька
кошка ест рыбёшку

Пример POST-запроса с параметром c=keywords на языке PHP с использованием модуля cURL (токен определен в переменной $token):

 
$text = 'Врагу не сдается наш гордый Варяг,
	 пощады никто не желает';

$payload = array(
	'c'		=> 'keywords',
	'query'		=> $text,
	'top'		=> 10,
	'pos'		=> 'NOUN',
	'expand'	=> 0,
	'mwe'		=> 1,
	'forms'		=> 0,
	'clusters'	=> 0,
	'lang'		=> 'ru',
	'format'	=> 'json',
	'token'		=> $token
);

$curl = curl_init('http://paraphraser.ru/api/');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($curl);
curl_close($curl);

if ($response === false)
    die(var_export(curl_getinfo($curl)));

$result = json_decode($response, true);

if ($result['code'] != 0)
    die($result['msg']);

$keywords = $result['response']['keywords'];

print_r($keywords);
     

Результат выполнения (некоторые слова могут различаться в зависимости от используемой модели):

Array
(
[0] => варяг
[1] => пощада
[2] => враг
)


Коды ошибок

Код Текст ошибки Описание
0 OK Корректный запрос
1 Message transfer error Ошибка при передаче данных на сервер
2 Query format error Параметр «query» указан неверно
3 Invalid query parameters Один или более параметров запроса указаны неверно (например, «scores», «forms» и т.д.)
4 Unknown query type Параметр «type» указан неверно. Он должен принимать одно из следующих значений: «vector», «syn», «root»
5 Language must be «ru» or «en» Параметр «lang» указан неверно
6 Wrong command Параметр «command» указан неверно. Он должен принимать одно из следующих значений: «vector», «syns», «misent», «hyp», «sim», «centroid»

Используемые ресурсы

ПО Ссылка
pymorphy2 Korobov M.: Morphological Analyzer and Generator for Russian and Ukrainian Languages // Analysis of Images, Social Networks and Texts, pp. 320-332 (2015)
topia https://pypi.python.org/pypi/topia.termextract/
spaCy Honnibal, M., Johnson, M.: An Improved Non-monotonic Transition System for Dependency Parsing. In EMNLP 2015, pp. 1373–1378 (2015)
pattern De Smedt, T., Daelemans, W.: Pattern for Python. Journal of Machine Learning Research, vol. 13, pp. 2031–2035 (2012)
gensim Řehůřek, R., Sojka, P.: Software Framework for Topic Modelling with Large Corpora. Proceedings of the LREC 2010 Workshop on New Challenges for NLP Frameworks, pp. 45-50 (2010)
SyntaxNet https://research.googleblog.com/2016/05/announcing-syntaxnet-worlds-most.html
Модели RusVectores Kutuzov A., Kuzmenko E.: 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 (2017)
Yet Another RussNet Braslavski, P., Ustalov, D., Mukhin, M., Kiselev, Y.: YARN: Spinning-in-Progress. Proceedings of the Eight Global Wordnet Conference. Bucharest, Romania, 2016, pp. 58–65
MyStem https://tech.yandex.ru/mystem/

<?xml version="1.0" encoding="UTF-8"?>
<results>
    <result>
        <term>consistent</term>
        <definition>(sometimes followed by 'with') in agreement or consistent or reliable</definition>
        <partofspeech>adj</partofspeech>
        <synonyms>ordered, coherent, logical, reproducible, uniform</synonyms>
        <antonyms>scratchy, unreconciled, uneven, contradictory, inconsistent, conflicting, incompatible, spotty, heterogeneous, discrepant, heterogenous, self-contradictory, unconformable</antonyms>
    </result>
</results>

{
	"results": {
		"result": {
			"term": "consistent",
			"definition": "(sometimes followed by 'with') in agreement or consistent or reliable",
			"partofspeech": "adj",
			"synonyms": "ordered, coherent, logical, reproducible, uniform",
			"antonyms": "scratchy, unreconciled, uneven, contradictory, inconsistent, conflicting, incompatible, spotty, heterogeneous, discrepant, heterogenous, self-contradictory, unconformable"
		}
	}
}

Спецификация программного интерфейса YARN

YARN API — программный интерфейс проекта YARN, позволяющий сторонним приложениям использовать электронный тезаурус русского языка. В качестве транспорта используется HTTP.

Слова

Список всех слов

Полный список известных слов с постраничной разбивкой.

   GET /words.{json,xml}?page=N

На выходе получается массив с объектами класса Word.

Поиск по словам

Поиск по известным словам с постраничной разбивкой. Слово начинается с подстроки word.

   GET /words.{json,xml}?q=word&page=N

На выходе получается массив с объектами класса Word.

Синсеты слова

Список синсетов, включающих слово с указанным идентификатором id.

   GET /words/id/synsets.{json,xml}

На выходе получается массив с объектами класса Synset. Не используйте идентификаторы в массиве words-ids для поиска слов: эти идентификаторы применяются для реализации связи «многие-ко-многим» в схеме данных и не соответствуют идентификаторам искомых слов.

Синонимы слова

Список слов, фигурирующих в синсетах, включающих слово с указанным идентификатором id.

   GET /words/id/synonyms.{json,xml}

На выходе получается массив с объектами класса Word.

«Сырые» синонимы слова

Список синонимов из «сырых» словарей для слова с указанным идентификатором id.

   GET /words/id/raw_synonyms.{json,xml}

На выходе получается массив с объектами класса Word.

Определения слова

Определения, привязанные в синсетах к слову с указанным идентификатором id.

   GET /words/id/definitions.{json,xml}

На выходе получается массив с объектами класса Definition.

«Сырые» определения слова

Определения из «сырых» словарей для слова с указанным идентификатором id.

   GET /words/id/raw_definitions.{json,xml}

На выходе получается массив с объектами класса Definition.

Примеры употребления слова

Примеры употребления слова, привязанные в синсетах к слову с указанным идентификатором id.

   GET /words/id/examples.{json,xml}

На выходе получается массив с объектами класса Example.

«Сырые» примеры употребления слова

Примеры употребления из «сырых» словарей для слова с указанным идентификатором id.

   GET /words/id/raw_examples.{json,xml}

На выходе получается массив с объектами класса Example.

Определения

Список всех определений

Полный список известных определений с постраничной разбивкой.

   GET /definitions.{json,xml}?page=N

На выходе получается массив с объектами класса Definition.

Определение

Предоставить содержимое определения с заданным id.

   GET /definitions/id.{json,xml}

На выходе получается объект класса Definition.

Синсеты

Список всех синсетов

Полный список известных синсетов с постраничной разбивкой.

   GET /synsets.{json,xml}?page=N

На выходе получается массив с объектами класса Synset. Не используйте идентификаторы в массиве words-ids для поиска слов: эти идентификаторы применяются для реализации связи «многие-ко-многим» в схеме данных и не соответствуют идентификаторам искомых слов.

Просмотр синсета

Содержимое синсета id.

   GET /synsets/id.{json,xml}

На выходе получается объект класса Synset. Не используйте идентификаторы в массиве words-ids для поиска слов: эти идентификаторы применяются для реализации связи «многие-ко-многим» в схеме данных и не соответствуют идентификаторам искомых слов.

Поиск слова в синсете

Список синсетов, включающих обозначенное слово word.

   GET /synsets/search.{json,xml}?word=кот

На выходе получается массив с объектами класса Synset. Не используйте идентификаторы в массиве words-ids для поиска слов: эти идентификаторы применяются для реализации связи «многие-ко-многим» в схеме данных и не соответствуют идентификаторам искомых слов.

Привязки слов к синсетам

Привязка слова к синсету

Данные о привязке слова id.

   GET /synset_words/id.{json,xml}

На выходе получается объект класса SynsetWord.

Примеры словоупотребления

Пример словоупотребления

Пример словоупотребления id в заданном синсете synset_id для привязки слова к синсету synset_word_id.

   GET /synsets/synset_id/words/synset_word_id/samples/id.{json,xml}

На выходе получается массив с объектами класса Sample.

Редактор синсетов

Warning.svg Указанные методы API созданы для внутренних задач и могут возвращать неожиданный результат, быть изменены или вовсе удалены. Пожалуйста, не используйте их!

Поиск по существующим словам

Поиск выполняется по всем известным словам в тезаурусе, начинающихся с word.

   POST /editor/search.{json,xml}?q=word

На выходе получается массив с объектами класса Word.

Получение определений заданного слова

Извлечь все определения, которые сопоставлены во всех синсетах слову word_id

   GET /editor/definitions.{json,xml}?word_id=7971

На выходе получается массив с объектами класса Definition, соответствующие слову с идентификатором 1234.

Получение синонимов с определениями для заданного слова

Извлечь все слова, кроме слова word_id, к которым тоже привязано определение definition_id.

   GET /editor/synonymes.{json,xml}?word_id=7971&definition_id=5687

На выходе получается хэш, ключи которого — слова-строки, а значения — массивы объекта класса Definition. NB: разбить на два метода.

Примечания

  1. Исследование выполняется при финансовой поддержке РГНФ (проект № 13-04-12020 «Новый открытый электронный тезаурус русского языка»).
  • Начало работы
    Методы

    • getSynText
    • getNickName
    • anagram

Начало работы

Для использование нашего API Вам необходимо передать запрос на наш сервис
https://rustxt.ru/api/index.php
с названием нужного метода и обязательных параметров.

Пример использования метода getSynText:

    // Пример использования PHP
    $post = [
    'method' => 'getSynText',
    'text' => 'Синонимизация текста совершенно бесплатно',
    'backLight' => 1, // не обязательный параметр, если передан то будет включена подсветка слов

    ];
    $ch = curl_init('https://rustxt.ru/api/index.php');
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "X-Requested-With: XMLHttpRequest",
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    $resutl_syn = curl_exec($ch);
    curl_close($ch);
    $syn = json_decode($resutl_syn, true);

    // ответ сервера
    print_r($syn);
    Array
    (
        [modified_text] => Синонимизация текста абсолютно безвозмездно
        [percent_unique] => 50.00
        [count_replace] => 2
        [count_symbol] => 41
        [time] => 0.57769
    )

Методы

getSynText

Метод служит для получения синонимизированного текста.

Передаваемые параметры

Имя Значение
method getSynText
text Текст до 5000 символов

Ответ возвращается в формате JSON

Имя Значение Тип
modified_text Синонимизированный текст string
percent_unique Процент измененного текста float
count_replace Количество замен в тексте int
count_symbol Количество символов в тексте int
time Время выполнения скрипта float

getNickName

Генератор ников на латинице.

Передаваемые параметры

Имя Значение
method getNickName
count_result Количество ников генерируемых за раз
len_nick_min Минимальная длина ника
Не обязательный параметр
len_nick_max Максимальная длина ника
Не обязательный параметр

Ответ возвращается в формате JSON

Имя Значение Тип
Массив с никами. array

anagram

Составление слов из заданных букв.

Передаваемые параметры

Имя Значение
method anagram
text Набор букв
count_symbol Количество букв (будут выведены результаты только с указанным количеством букв)
Не обязательный параметр

Ответ возвращается в формате JSON

Имя Значение Тип
Массив с решенными анаграммами, ключами массива является количество букв в словах. array

Понравилась статья? Поделить с друзьями:
  • Словарь синонимов 19 века
  • Словарь синоним этого слова
  • Словарь синоним к слову словарь
  • Словарь русских синонимов тришин
  • Словарь русских синонимов источник