wandu / mecab
此包已被弃用且不再维护。未建议替代包。
面向对象的MeCab包装器
v0.2.0
2016-12-04 15:30 UTC
Requires
- php: >=5.6
- ext-mecab: *
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^5.3
This package is not auto-updated.
Last update: 2022-04-02 06:32:58 UTC
README
面向对象的MeCab包装器。
安装
composer require wandu/mecab
如何使用
示例 分析 parse
, parseToString
, parseToGenerator
<?php use Wandu\Mecab\Mecab; $mecab = new Mecab('/usr/local/lib/mecab/dic/mecab-ko-dic'); $mecab->parseToString('동해물과 백두산이 마르고 닳도록 하느님이 보우하사'); // return string
结果
BOS
NOD (NNP,지명,F,동해,*,*,*,*): 동해
NOD (NNG,*,T,물,*,*,*,*): 물
NOD (JC,*,F,과,*,*,*,*): 과
NOD (NNP,지명,T,백두산,Compound,*,*,백두/NNG/*+산/NNG/*): 백두산
NOD (JKS,*,F,이,*,*,*,*): 이
NOD (VV,*,F,마르,*,*,*,*): 마르
NOD (EC,*,F,고,*,*,*,*): 고
NOD (VV,*,T,닳,*,*,*,*): 닳
NOD (EC,*,T,도록,*,*,*,*): 도록
NOD (NNG,*,T,하느님,Compound,*,*,하느/NNG/*+님/NNG/*): 하느님
NOD (JKS,*,F,이,*,*,*,*): 이
NOD (NNG,*,F,보우,*,*,*,*): 보우
NOD (NNG,*,F,하사,*,*,*,*): 하사
EOS
示例 使用词性标签过滤
KoreaEunjeon
的标签已在这里整理:这里。
<?php use Wandu\Mecab\Mecab; use Wandu\Mecab\Node; use Wandu\Mecab\Tag\KoreaEunjeon; $mecab = new Mecab('/usr/local/lib/mecab/dic/mecab-ko-dic'); $nodes = array_filter($mecab->parse('동해물과 백두산이 마르고 닳도록 하느님이 보우하사'), function (Node $node) { return $node->hasTag(KoreaEunjeon::TAG_NNP) || $node->hasTag(KoreaEunjeon::TAG_NNB) || $node->hasTag(KoreaEunjeon::TAG_NNG); });
示例 使用形态素分割 split
<?php use Wandu\Mecab\Mecab; $mecab = new Mecab('/usr/local/lib/mecab/dic/mecab-ko-dic'); $mecab->split('동해물과 백두산이 마르고 닳도록 하느님이 보우하사'); // return array
结果
[
'동해',
'물',
'과',
'백두산',
'이',
'마르',
'고',
'닳',
'도록',
'하느님',
'이',
'보우',
'하사',
]