使用PHP中的MeCab
我使用了php中的Mecab试试。
这是一个关于使用Mecab处理案件的PHP安装备忘录。
顺便提一句,PHP版本是5.6。
指数
-
- mecabインストール
-
- 辞書のインストール
- php-mecabのインストール
安装mecab
mecab的安装方法
请提供URL供参考。
以下是该链接的中文翻译:http://qiita.com/Keech/items/3b51a60c89b9e803b256
流程
##### rootで作業
cd /usr/local/src/
wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz
tar xvf mecab-0.996.tar.gz
cd /usr/local/src/mecab-0.996/
./configure
make
make check
make install
确定的方式
$ mecab -v
mecab of 0.996
如果在make中发生故障
由于我的环境中没有以下工具,所以在使用make命令时失败了。
yum install gcc-c++
原本似乎是用C ++编写的,所以需要编译器…不好意思。
安装字典
我没有安装标准的“IPA词典”,而是决定搜索并安装了评价很好的“mecab-ipadic-neologd”。
请提供一个参考链接。
http://diary.overlasting.net/2015-03-13-1.html
步骤
##### rootで作業
cd /usr/local/src/mecab-0.996/
mkdir library
cd /usr/local/src/mecab-0.996/library
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd /usr/local/src/mecab-0.996/library/mecab-ipadic-neologd/
./bin/install-mecab-ipadic-neologd -n
如果失败的话
在我的环境中,通过安装以下工具,成功地完成了安装。
yum install patch
确认的办法
$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
センテンススプリングでも文春でもどっちでもいいだろ
センテンス 名詞,一般,*,*,*,*,センテンス,センテンス,センテンス
スプリング 名詞,一般,*,*,*,*,スプリング,スプリング,スプリング
で 助詞,格助詞,一般,*,*,*,で,デ,デ
も 助詞,係助詞,*,*,*,*,も,モ,モ
文春 名詞,固有名詞,一般,*,*,*,文春,ブンシュン,ブンシュン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
も 助詞,係助詞,*,*,*,*,も,モ,モ
どっち 名詞,代名詞,一般,*,*,*,どっち,ドッチ,ドッチ
でも 助詞,副助詞,*,*,*,*,でも,デモ,デモ
いい 動詞,自立,*,*,五段・ワ行促音便,連用形,いう,イイ,イイ
だろ 助動詞,*,*,*,特殊・タ,未然形,だ,ダロ,ダロ
EOS
安装php-mecab
步骤
##### rootで作業
cd /usr/local/src/
git clone https://github.com/rsky/php-mecab.git
cd /usr/local/src/php-mecab/mecab
phpize
./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/bin/mecab-config
make
make test
make install
### extensionファイル作成
vim /etc/php.d/mecab.ini
extension=mecab.so
/etc/init.d/httpd restart
确认的方式
$ php -r 'phpinfo();' | grep 'mecab' -i
/etc/php.d/mecab.ini
mecab
MeCab Support => enabled
MeCab Library => 0.996 => 0.996
mecab.default_dicdir => no value => no value
mecab.default_rcfile => no value => no value
mecab.default_userdic => no value => no value
如下:
操作指南
使用指南
用法说明
使用说明
使用规范
使用途径
使用手册
代码 (Mandarin Chinese: mǎ)
<?php
$str = 'センテンススプリングでも文春でもどっちでもいいだろ';
$options = array('-d', '/usr/local/lib/mecab/dic/mecab-ipadic-neologd');
$mecab = new MeCab_Tagger($options);
$nodes = $mecab->parseToNode($str);
foreach ($nodes as $n)
{
echo $n->getSurface() . "<br />";
echo $n->getFeature() . "<br />";
}
结果
BOS/EOS,*,*,*,*,*,*,*,*
センテンス
名詞,一般,*,*,*,*,センテンス,センテンス,センテンス
スプリング
名詞,一般,*,*,*,*,スプリング,スプリング,スプリング
で
助詞,格助詞,一般,*,*,*,で,デ,デ
も
助詞,係助詞,*,*,*,*,も,モ,モ
文春
名詞,固有名詞,一般,*,*,*,文春,ブンシュン,ブンシュン
で
助詞,格助詞,一般,*,*,*,で,デ,デ
も
助詞,係助詞,*,*,*,*,も,モ,モ
どっち
名詞,代名詞,一般,*,*,*,どっち,ドッチ,ドッチ
でも
助詞,副助詞,*,*,*,*,でも,デモ,デモ
いい
動詞,自立,*,*,五段・ワ行促音便,連用形,いう,イイ,イイ
だろ
助動詞,*,*,*,特殊・タ,未然形,だ,ダロ,ダロ
BOS/EOS,*,*,*,*,*,*,*,*
试一试
我之前只是在言语上知道了mecab(分词工具),但是实际上从来没有用过。但是,使用它非常有趣。