Amazon Linux に MeCab(形態素解析器) と CaboCha(係り受け解析器) をインストールした。
参考にしたサイト
環境、バージョン情報
- Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type - ami-383c1956
- CRF++ 0.58
- MeCab 0.996
- CaboCha 0.69
インストール
1.必要なライブラリをインストール
$ sudo yum update
$ sudo yum install gcc make glibc gcc-c++ python-devel
2.CRF をインストール
$ wget -O CRF++-0.58.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7QVR6VXJ5dWExSTQ'
$ tar xvzf CRF++-0.58.tar.gz
$ cd CRF++-0.58
$ ./configure
$ make
$ sudo make install
$ cd ../
CRFについては、以下の記事を参照。
日本語形態素解析の裏側を覗く!MeCab はどのように形態素解析しているか
3.MeCab をインストール
$ wget -O mecab-0.996.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE'
$ tar xvzf mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure
$ make
$ make check
$ sudo make install
$ cd ../
4.MeCab 等で使用する辞書(IPADIC)をインストール
$ wget -O mecab-ipadic-2.7.0-20070801.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM'
$ tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure -with-charset=utf-8 –enable-utf8-only
$ make
$ sudo make install
$ cd ../
5.CaboCha をインストール
ダウンロードする
サイズが大きいので、以下の方法で入手した。
■方法1:PCでダウンロードして転送する
予め、google drive より cabocha-0.69.tar.bz2 をダウンロードし、 scp で転送しておく。
■方法2:curlでダウンロードする
こちらの記事のコマンドそのまま利用させて頂きました。
curlやwgetで公開済みGoogle Driveデータをダウンロードする
$ FILE_ID=0B4y35FiV1wh7SDd1Q1dUQkZQaUU
$ FILE_NAME=cabocha-0.69.tar.bz2
$ curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" > /dev/null
$ CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"
$ curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" -o ${FILE_NAME}
ファイルサイズが大きいためにキーの応答が必要なため、
1度目のアクセスでキーをクッキーに格納し、
2度目のアクセスでクッキーに格納済のキーを渡している・・・様子。
インストールする
$ tar -jxf cabocha-0.69.tar.bz2
$ cd cabocha-0.69
$ ./configure -with-charset=utf-8
$ make
$ sudo make install
$ cd ../
動作確認
MeCab
mecab コマンドを実行し、解析対象として「太郎は本を読んでいる」と入力する。
$ mecab
太郎は本を読んでいる
太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
本 名詞,一般,*,*,*,*,本,ホン,ホン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
読ん 動詞,自立,*,*,五段・マ行,連用タ接続,読む,ヨン,ヨン
で 助詞,接続助詞,*,*,*,*,で,デ,デ
いる 動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS
出力形式は、公式ページによると、以下の通り。
- 表層形
- 解析結果(feature)
- 品詞
- 品詞細分類1
- 品詞細分類2
- 品詞細分類3
- 活用形
- 活用型
- 原形
- 読み
- 発音
「原形」を利用することにより、解析対象の文の表現の揺らぎを吸収できる。
Cabocha
mecab 同様、解析対象の文章を入力する。
$ cabocha
太郎は本を読んでいる
太郎は---D
本を-D
読んでいる
EOS
-f1 オプションを付け、出力形式を変更してみた。
$ cabocha -f1
太郎は本を読んでいる
* 0 2D 0/1 -2.283287
太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 2D 0/1 -2.283287
本 名詞,一般,*,*,*,*,本,ホン,ホン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 2 -1D 0/2 0.000000
読ん 動詞,自立,*,*,五段・マ行,連用タ接続,読む,ヨン,ヨン
で 助詞,接続助詞,*,*,*,*,で,デ,デ
いる 動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS
形態素解析と異なり、文節の塊での係り受けが解析されている。
*行の出力形式は、公式ページによると、以下の通り。
- 文節番号(0から始まる整数)
- 係り先の文節番号
- 文節に含まれる形態素の役割(という言い方でいいのか??)。
- 例えば、0/1 の場合、主辞が 0 番目の形態素 、機能語が 一番目の形態素 と読むらしい
- 係り受けスコア。
- 大きな値ほど係りやすい らしい
上記解析例を読んでみる。
- 係り受け関係
- 「太郎は」という文節(0番目)は、「読んでいる」という文節(2番目)に係る
- 「本を」という文節(1番目)も、「読んでいる」という文節(2番目)に係る
- 「読んでいる」という文節(2番目)は、どこにも係らない(係り先が -1D である)
- 各文節の主辞、機能語
- 「太郎は」という文節の主辞は「太郎」で、機能語は、「は」である
- 「本を」という文節の主辞は「本」で、機能語は、「を」である
- 「読んでいる」という文節の主辞は「読ん」(原形=「読む」)で、機能語は、「いる」である
以上
更新記録
2019.1 ダウンロード元で404になるものがあったので、URLを更新しました。