mystem

Node.js wrapper for `MyStem` morphology text analyzer by Yandex.ru

npm install mystem
15 downloads in the last month

Node.js обертка для утилиты MyStem от yandex.

Возможности

Пока возможно только привести слово в нормальную форму, все остальные возможности пока не доступны.

Использование

npm install mystem

При установке скачивается версия MyStem для Mac OS X. Если у вас другая платформа, то необходимо скачать MyStem и установить в папку ./vendor/<uname(darwin or linux)>/<platform arch(x64 or x86)>. После этого можно начать использование.

Функция mystem принимает два значения: строку и функцию обратного вызова.

> mystem = require('./lib/index')
> mystem('В мурелки шлепают пельсиски.\nВ стакелках светится мычай.', console.log);
> null [ { raw: 'мурелка?|мурелки?|мурелок?',
    args: {},
    target: 'мурелка',
    hypothesis: true },
  { raw: 'шлепать', args: {}, target: 'шлепать' },
  { raw: 'пельсиска?', args: {}, target: 'пельсиска', hypothesis: true },
  { raw: 'в', args: {}, target: 'в' },
  { raw: 'стакелк?|стакелка?|стакелки?|стакелок?',
    args: {},
    target: 'стакелк',
    hypothesis: true },
  { raw: 'светиться', args: {}, target: 'светиться' },
  { raw: 'мычай?', args: {}, target: 'мычай', hypothesis: true } ]

> mystem('В мурелки шлепают пельсиски.\nВ стакелках светится мычай.', function(err,data){
    console.log(data.toString())
});
> в
мурелка,шлепать,пельсиска,в,стакелк,светиться,мычай

Возвращает два значения: err, result. result - это массив объектов Info, в которых содержится информация ответа MyStem.

Объект Info

> i = new Info('мурелка?|мурелки?|мурелок?') // парсинг ответа MyStem
> i.raw 
> 'мурелка?|мурелки?|мурелок?' // содержит "сырой" ответ из MyStem
> i.args
> {}
> i.target
> 'мурелка', // строка с нормализованным по версии MyStem словом. Если это гипотеза то это всегда первое слово из массива.
> i.hypothesis
> true 
> i.toString() //return i.target
> 'мурелка'
npm loves you