Простая обертка для Yandex mystem. Работает исключительно с русской морфологией.
Разрабатывалась для определения ненормативной лексики в текстах, но вполне подойдет и для стемминга и морфологического анализа.
Библиотека доступна в Packagist (aotd/mystem) и устанавливается через Composer.
php composer.phar require aotd/mystem 'dev-master'
Никто не запрещает просто скачать исходники с GitHub и использовать любой PSR-0 автолоадер.
Все примеры собраны в папке examples.
- antimat - проверка текста на наличие обсценной лексики.
- jabberwocky - стемминг части стихотворения «Бармаглот» (в переводе Дины Орловской).
- verb-tense - определение времени глагола
Устанавливаем библиотеку через composer
{
"require": {
"aotd/mystem": "dev-master"
},
"scripts": {
"post-install-cmd": [ "MystemBinaryInstaller::install" ],
"post-update-cmd": [ "MystemBinaryInstaller::update" ]
},
}
$ composer install
Секция scripts необходима для установки бинарного файла mystem от Яндекса в зависимости от целевой платформы (Win/Mac OS/Linux/FreeBSD)
Складываем ExtMystem.php
в /protected/extensions/Mystem
, добавлеям в конфиг в секцию components
:
...
'mystem' => array(
'class' => 'ext.Mystem.ExtMystem',
// 'falsePositive' => __DIR__ . '/mystem/false-positive.txt',
// 'falsePositiveNormalized' => __DIR__ . '/mystem/false-positive-normalized.txt',
// 'falseNegative' => __DIR__ . '/mystem/false-negative.txt',
// 'falseNegativeNormalized' => __DIR__ . '/mystem/false-negative-normalized.txt',
),
...
Опционально указываем списки ложно-положительных, ложно-отрицательных слов для фильтра обсценной лексики...
Yii::app()->mystem->checkArticle('Текст для проверки на наличие матов');
Profit!
P.S. Никто не отменяет великость и могучесть русского языка, потому всецело доверять такому решению не стоит :)