Amazon Linux に MeCab と CaboCha をインストール

Amazon Linux に MeCab（形態素解析器） と CaboCha（係り受け解析器） をインストールした。


# 参考にしたサイト

- [MeCab 公式ページ](http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html)
- [CaboCha 公式ページ](https://taku910.github.io/cabocha/)


# 環境、バージョン情報
- Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type - ami-383c1956
- CRF++ 0.58
- MeCab 0.996
- CaboCha 0.69


# インストール

## 1.必要なライブラリをインストール

```bash
$ sudo yum update
$ sudo yum install gcc make glibc gcc-c++ python-devel
```


## 2.CRF をインストール 

```bash
$ 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 はどのように形態素解析しているか](https://techlife.cookpad.com/entry/2016/05/11/170000)

## 3.MeCab をインストール

```bash
$ 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)をインストール

```bash
$ 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 をインストール

### ダウンロードする
サイズが大きいので、以下の方法で入手した。

■方法１：PCでダウンロードして転送する
予め、[google drive](https://drive.google.com/a/aiit.ac.jp/folderview?id=0B4y35FiV1wh7cGRCUUJHVTNJRnM&usp=sharing#list) より cabocha-0.69.tar.bz2 をダウンロードし、 scp で転送しておく。

■方法２：curlでダウンロードする
こちらの記事のコマンドそのまま利用させて頂きました。
[curlやwgetで公開済みGoogle Driveデータをダウンロードする](https://qiita.com/namakemono/items/c963e75e0af3f7eed732)


```bash
$ 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}
```

ファイルサイズが大きいためにキーの応答が必要なため、
１度目のアクセスでキーをクッキーに格納し、
２度目のアクセスでクッキーに格納済のキーを渡している・・・様子。


### インストールする

```bash
$ tar -jxf cabocha-0.69.tar.bz2
$ cd cabocha-0.69
$ ./configure -with-charset=utf-8
$ make
$ sudo make install
$ cd ../
```


# 動作確認
## MeCab

mecab コマンドを実行し、解析対象として「太郎は本を読んでいる」と入力する。

```bash
$ mecab
太郎は本を読んでいる
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
本	名詞,一般,*,*,*,*,本,ホン,ホン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
読ん	動詞,自立,*,*,五段・マ行,連用タ接続,読む,ヨン,ヨン
で	助詞,接続助詞,*,*,*,*,で,デ,デ
いる	動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS
```

出力形式は、[公式ページ](http://taku910.github.io/mecab/)によると、以下の通り。

- 表層形
- 解析結果（feature）
 - 品詞
 - 品詞細分類1
 - 品詞細分類2
 - 品詞細分類3
 - 活用形
 - 活用型
 - 原形
 - 読み
 - 発音

「原形」を利用することにより、解析対象の文の表現の揺らぎを吸収できる。


## Cabocha
mecab 同様、解析対象の文章を入力する。

```bash
$ cabocha
太郎は本を読んでいる
    太郎は---D
        本を-D
    読んでいる
EOS
```

-f1 オプションを付け、出力形式を変更してみた。

```bash
$ cabocha -f1
太郎は本を読んでいる
* 0 2D 0/1 -2.283287
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 2D 0/1 -2.283287
本	名詞,一般,*,*,*,*,本,ホン,ホン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 2 -1D 0/2 0.000000
読ん	動詞,自立,*,*,五段・マ行,連用タ接続,読む,ヨン,ヨン
で	助詞,接続助詞,*,*,*,*,で,デ,デ
いる	動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS
```

形態素解析と異なり、文節の塊での係り受けが解析されている。

*行の出力形式は、[公式ページ](https://taku910.github.io/cabocha/)によると、以下の通り。

- 文節番号（0から始まる整数）
- 係り先の文節番号
- 文節に含まれる形態素の役割（という言い方でいいのか？？）。
 - 例えば、0/1 の場合、主辞が 0 番目の形態素 、機能語が 一番目の形態素 と読むらしい
- 係り受けスコア。
 - 大きな値ほど係りやすい　らしい


上記解析例を読んでみる。

- 係り受け関係
 - 「太郎は」という文節（0番目）は、「読んでいる」という文節（2番目）に係る
 - 「本を」という文節（1番目）も、「読んでいる」という文節（2番目）に係る
 - 「読んでいる」という文節（2番目）は、どこにも係らない（係り先が -1D である）
- 各文節の主辞、機能語
 - 「太郎は」という文節の主辞は「太郎」で、機能語は、「は」である
 - 「本を」という文節の主辞は「本」で、機能語は、「を」である
 - 「読んでいる」という文節の主辞は「読ん」（原形＝「読む」）で、機能語は、「いる」である



以上

# 更新記録
2019.1　ダウンロード元で404になるものがあったので、URLを更新しました。