Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Node.js wrapper for `MyStem` morphology text analyzer by Yandex.ru
LiveScript
Branch: master
Failed to load latest commit information.
src path hot fix
.gitignore init repo
.npmignore minor fixes
README.md minor fixes
package.json path hot fix

README.md

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
> 'мурелка'
Something went wrong with that request. Please try again.