aotd/mystem

Yandex Mystem 包装器

3.0.2 2018-11-02 13:32 UTC

This package is auto-updated.

Last update: 2024-09-13 22:18:20 UTC


README

Latest Stable Version Total Downloads Build Status Scrutinizer Code Quality License

Mystem 使用

用于 Yandex mystem 的简单包装器。仅与俄语词法相兼容。

最初是为了在文本中确定不规范词汇而开发的,但也可以用于词干提取和词法分析。

安装

该库在 Packagist(aotd/mystem)中可用,并通过 Composer 安装。

php composer.phar require aotd/mystem 'dev-master'

没有人禁止直接从 GitHub 下载源代码并使用任何 PSR-0 自动加载器。

使用

所有示例都收集在 examples 文件夹中。

  • antimat - 检查文本中是否存在粗俗词汇。
  • jabberwocky - 对诗歌《巴姆格洛特》的词干提取(由迪娜·奥尔洛夫斯卡娅翻译)。
  • verb-tense - 确定动词的时态

与 Yii 一起使用

通过 composer 安装库

{
    "require": {
        "aotd/mystem": "dev-master"
    },
    "scripts": {
        "post-install-cmd": [ "MystemBinaryInstaller::install" ],
        "post-update-cmd":  [ "MystemBinaryInstaller::update" ]
    },
}
$ composer install

scripts 部分对于根据目标平台(Win/Mac OS/Linux/FreeBSD)安装 Yandex mystem 的二进制文件是必需的

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('Текст для проверки на наличие матов');

盈利!

附言:没有人否定俄语的伟大和强大,因此不应完全信赖这样的解决方案 :)