, (*1)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Mystem
ΠΡΠΎΡΡΠ°Ρ ΠΎΠ±Π΅ΡΡΠΊΠ° Π΄Π»Ρ Yandex mystem.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΡΡΡΡΠΊΠΎΠΉ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ., (*2)
Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ°Ρ
, Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΈ Π΄Π»Ρ ΡΡΠ΅ΠΌΠΌΠΈΠ½Π³Π° ΠΈ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°., (*3)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Packagist (aotd/mystem) ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Composer., (*4)
php composer.phar require aotd/mystem 'dev-master'
ΠΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ Ρ GitHub ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ PSR-0 Π°Π²ΡΠΎΠ»ΠΎΠ°Π΄Π΅Ρ., (*5)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ examples., (*6)
- antimat - ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΠΊΡΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ±ΡΡΠ΅Π½Π½ΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΊΠΈ.
- jabberwocky - ΡΡΠ΅ΠΌΠΌΠΈΠ½Π³ ΡΠ°ΡΡΠΈ ΡΡΠΈΡ
ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Β«ΠΠ°ΡΠΌΠ°Π³Π»ΠΎΡΒ» (Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΠΈΠ½Ρ ΠΡΠ»ΠΎΠ²ΡΠΊΠΎΠΉ).
- verb-tense - ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π³Π»Π°Π³ΠΎΠ»Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ Yii
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· composer, (*7)
{
"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), (*8)
Π‘ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ ExtMystem.php
Π² /protected/extensions/Mystem
, Π΄ΠΎΠ±Π°Π²Π»Π΅ΡΠΌ Π² ΠΊΠΎΠ½ΡΠΈΠ³ Π² ΡΠ΅ΠΊΡΠΈΡ components
:, (*9)
...
'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',
),
...
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΏΠΈΡΠΊΠΈ Π»ΠΎΠΆΠ½ΠΎ-ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
, Π»ΠΎΠΆΠ½ΠΎ-ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ° ΠΎΠ±ΡΡΠ΅Π½Π½ΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΊΠΈ..., (*10)
Yii::app()->mystem->checkArticle('Π’Π΅ΠΊΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠ°ΡΠΎΠ²');
Profit!, (*11)
P.S. ΠΠΈΠΊΡΠΎ Π½Π΅ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²Π΅Π»ΠΈΠΊΠΎΡΡΡ ΠΈ ΠΌΠΎΠ³ΡΡΠ΅ΡΡΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΠΏΠΎΡΠΎΠΌΡ Π²ΡΠ΅ΡΠ΅Π»ΠΎ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΡΠ°ΠΊΠΎΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠΎΠΈΡ :), (*12)