|
|
| (同じ利用者による、間の5版が非表示) |
| 行1: |
行1: |
| − | ==windows版ダウンロード&インストール==
| + | [[mecab/インストール・実装]] |
| − | #http://mecab.sourceforge.net/
| + | |
| − | #mecab-0.98.exe実行
| + | |
| | | | |
| − | ==linux版ダウンロード&インストール==
| + | [[mecab/php5実装]] |
| − | 本体
| + | |
| − | $ cd /usr/local/src
| + | |
| − | $ wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
| + | |
| − | $ tar zxfv mecab-0.996.tar.gz
| + | |
| − | $ cd mecab-0.996
| + | |
| − | $ ./configure --with-charset=utf8
| + | |
| − | $ make
| + | |
| − | $ make check
| + | |
| − | $ sudo make install
| + | |
| | | | |
| − | ==インストールエラー対応方法==
| + | [[mecab/php7実装]] |
| − | configure: error: no acceptable C compiler found in $PATH
| + | |
| − | configure: error: Your compiler is not powerful enough to compile MeCab. If it should be, see config.log for more information of why it failed.
| + | |
| − | $ sudo yum -y install gcc
| + | |
| − | $ sudo yum install gcc-c++
| + | |
| | | | |
| | + | [[mecab/php8実装]] |
| | | | |
| − | ==辞書インストール==
| + | [[Mac/インストール/mecab]] [ショートカット] |
| − | wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
| + | |
| − | $ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
| + | |
| − | $ cd mecab-ipadic-2.7.0-20070801
| + | |
| − | $ ./configure --with-mecab-config=/usr/local/bin/mecab-config --prefix=/usr/local --with-charset=utf8
| + | |
| − | $ make
| + | |
| − | # make install
| + | |
| | | | |
| − | ==辞書インストールしてない時のエラー==
| + | [[Mac/インストール/php-mecab]] [ショートカット] |
| − | param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc
| + | |
| − | | + | |
| − | ==動作確認==
| + | |
| − | $ echo "すもももももももものうち" | mecab
| + | |
| − | すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
| + | |
| − | も 助詞,係助詞,*,*,*,*,も,モ,モ
| + | |
| − | もも 名詞,一般,*,*,*,*,もも,モモ,モモ
| + | |
| − | も 助詞,係助詞,*,*,*,*,も,モ,モ
| + | |
| − | もも 名詞,一般,*,*,*,*,もも,モモ,モモ
| + | |
| − | の 助詞,連体化,*,*,*,*,の,ノ,ノ
| + | |
| − | うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
| + | |
| − | EOS
| + | |
| − | | + | |
| − | ==phpで使う==
| + | |
| − | pear channel-discover pecl.opendogs.org
| + | |
| − | pear remote-list -c opendogs
| + | |
| − | sudo pear install opendogs/mecab-beta
| + | |
| − | > specify pathname to mecab-config [no] :
| + | |
| − | | + | |
| − | ==php-mecabインストールエラーの時==
| + | |
| − | ERROR: `/var/tmp/mecab/configure --with-mecab=no' failed
| + | |
| − | specify pathname to mecab-config [no] : /usr/local/bin
| + | |
| − | | + | |
| − | ==phpのmecabが動かない場合は一旦削除して再度入れる==
| + | |
| − | sudo pear uninstall opendogs/mecab-beta
| + | |
| − | sudo pear install opendogs/mecab-beta
| + | |
| − | | + | |
| − | ==phpのmecab.so設定==
| + | |
| − | $ vi /etc/php.d/mecab.ini
| + | |
| − | extension=mecab.so
| + | |
| − | | + | |
| − | ==phpのmecab設定確認==
| + | |
| − | $ php -r "phpinfo();" | grep mecab
| + | |
| − | /etc/php.d/mecab.ini,
| + | |
| − | mecab
| + | |
| − | mecab.default_dicdir => no value => no value
| + | |
| − | mecab.default_rcfile => no value => no value
| + | |
| − | mecab.default_userdic => no value => no value
| + | |
| − | | + | |
| − | ==コンソールでの動作例==
| + | |
| − | $ php -r "print nl2br(print_r(mecab_split("すもももももももものうち")));"
| + | |
| − | // Array ( [0] => すもも [1] => も [2] => もも [3] => も [4] => もも [5] => の [6] => うち )
| + | |
| − | | + | |
| − | ==php動作例==
| + | |
| − | $mecab = new MeCab_Tagger();
| + | |
| − | $str = "すもももももももものうち";
| + | |
| − | $nodes = $mecab->parseToNode($str);
| + | |
| − | foreach($nodes as $node) {
| + | |
| − | if ($node->getStat() == 2 || $node->getStat() == 3) continue;
| + | |
| − | echo "id=".$node->getId()."<<nowiki />br />";
| + | |
| − | echo "surface=".$node->getSurface()."<<nowiki />br />";
| + | |
| − | echo "stat=".$node->getStat()."<<nowiki />br />";
| + | |
| − | echo "length=".$node->getLength()."<<nowiki />br />";
| + | |
| − | echo "feature=".$node->getFeature()."<<nowiki />br />";
| + | |
| − | }
| + | |
| − | id=9
| + | |
| − | surface=すもも
| + | |
| − | stat=0
| + | |
| − | length=9
| + | |
| − | feature=名詞,一般,*,*,*,*,すもも,スモモ,スモモ
| + | |
| − | id=19
| + | |
| − | surface=も
| + | |
| − | stat=0
| + | |
| − | length=3
| + | |
| − | feature=助詞,係助詞,*,*,*,*,も,モ,モ
| + | |
| − | id=24
| + | |
| − | surface=もも
| + | |
| − | stat=0
| + | |
| − | length=6
| + | |
| − | feature=名詞,一般,*,*,*,*,もも,モモ,モモ
| + | |
| − | id=31
| + | |
| − | surface=も
| + | |
| − | stat=0
| + | |
| − | length=3
| + | |
| − | feature=助詞,係助詞,*,*,*,*,も,モ,モ
| + | |
| − | id=36
| + | |
| − | surface=もも
| + | |
| − | stat=0
| + | |
| − | length=6
| + | |
| − | feature=名詞,一般,*,*,*,*,もも,モモ,モモ
| + | |
| − | id=47
| + | |
| − | surface=の
| + | |
| − | stat=0
| + | |
| − | length=3
| + | |
| − | feature=助詞,連体化,*,*,*,*,の,ノ,ノ
| + | |
| − | id=57
| + | |
| − | surface=うち
| + | |
| − | stat=0
| + | |
| − | length=6
| + | |
| − | feature=名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
| + | |
| − | | + | |
| − | ==apacheで動かす場合は再起動==
| + | |
| − | /etc/rc.d/init.d/httpd restart
| + | |
| − | | + | |
| − | ==php7.0でmecabを動かす==
| + | |
| − | php7でmecabを動かそうとすると以下エラーが出る
| + | |
| − | PHP Fatal error: Uncaught Error: Call to undefined function mecab_split()
| + | |
| − | | + | |
| − | こちらにphp7で対応されてるphp_mecabがあるとのことだったので入れてみた
| + | |
| − | | + | |
| − | 参考:https://twitter.com/rsky/status/672877419674468352 https://github.com/rsky/php-mecab
| + | |
| − | $ cd /usr/local/src
| + | |
| − | $ git clone https://github.com/rsky/php-mecab
| + | |
| − | $ cd php-mecab/mecab
| + | |
| − | $ phpize
| + | |
| − | $ ./configure --with-mecab=/usr/local/bin/mecab-config
| + | |
| − | $ make
| + | |
| − | $ make test
| + | |
| − | $ sudo make install
| + | |
| − | Installing shared extensions: /usr/lib64/php/modules/
| + | |
| − | $ php -r "print nl2br(print_r(mecab_split("すもももももももものうち")));"
| + | |
| − | PHP Warning: Module 'mecab' already loaded in Unknown on line 0
| + | |
| − | PHP Fatal error: Uncaught Error: Call to undefined function mecab_split() in Command line code:1
| + | |
| − | | + | |
| − | mecab_split()ではなく\MeCab\split()に変更されている様子。
| + | |
| − | | + | |
| − | $ php -r "print_r(\MeCab\split("すもももももももものうち"));"
| + | |
| − | Array
| + | |
| − | (
| + | |
| − | [0] => すもも
| + | |
| − | [1] => も
| + | |
| − | [2] => もも
| + | |
| − | [3] => も
| + | |
| − | [4] => もも
| + | |
| − | [5] => の
| + | |
| − | [6] => うち
| + | |
| − | )
| + | |
| − | 参考:https://teratail.com/questions/27491
| + | |
| − | | + | |
| − | MeCab_Taggerも変更
| + | |
| − | Fatal error: Uncaught Error: Class 'MeCab_Tagger' not found
| + | |
| − | // $mecab = new MeCab_Tagger(); // php5.6
| + | |
| − | $mecab = new \MeCab\Tagger(); // php7
| + | |