使用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(分词工具),但是实际上从来没有用过。但是,使用它非常有趣。

广告
将在 10 秒后关闭
bannerAds