nxp / russian-porter-stemmer
俄语波特词干提取器
1.0.0
2015-06-10 12:07 UTC
Requires
- php: >=5.3.3
This package is auto-updated.
Last update: 2024-09-09 12:26:08 UTC
README
描述
此词干提取器是stem_russian_unicode扩展的替代品。
与stem_russian_unicode扩展的比较
优点
- 不依赖于PHP的外部扩展。词干提取器完全用PHP编写。
- 无Unicode问题。stem_russian_unicode依赖于SET_LOCALE,如果设置不正确,可能会破坏Unicode字符串。
- 易于根据项目需求进行修改。如果是扩展,在更改工作逻辑时,需要重新编译。
- 要求PHP版本 >=5.3(感谢usernam3的pull-request)
缺点
由于此词干提取器是用PHP编写的,并使用正则表达式,因此在速度上可能不如用C编写的编译型扩展。
安装
php composer.phar require nxp/russian-porter-stemmer
使用
<?php
$text = '...';
require __DIR__ . '/vendor/autoload.php';
$stemmer = new \NXP\Stemmer();
$stemmed = [];
foreach (explode(' ', $text) as $word) {
$stemmed[] = $stemmer->getWordBase($word);
}
$result = implode(' ', $stemmed);
与经典波特词干提取器的区别
唯一的区别在于,在此实现中,字母“ё”是独立的元音,而不是字母“е”。