【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した【Part.1】

今回、機械学習の勉強の一環として、Ubuntu(ウブントゥ)で「形態素解析」を試しました。

環境を作るだけなら意外と簡単でした。

あとはこの環境をどう活かして開発をするかという所に注力できます。

 

 

mecabをインストールした EC2 インスタンス

mecabをインストールした EC2 インスタンスは「Deep Learning AMI(Ubuntu)」にしました。

理由は Ubuntu に機械学習用ライブラリ(TensorFlowなど)をインストールする手順や設定などの情報が豊富だったからです。

Amazon Linux でも調べれば何とか出来そうだったのですが、「環境構築の段階で諦めたくない」ので情報が豊富な「Ubuntu」を選択しました。

※ちなみに何度か Java に挑戦しては挫折していますが、理由はプログラムが分からないというよりは、「ライブラリエラー」や「パスのエラー」や「意味不明なエラー」などプログラミング以外の部分でどうにもならなくなって何度か Eclipse(エクリプス)をインストールしなおしたり、バージョンを変更したりして結局諦めて Ruby や Python や PHP に移ってしまっていました。 

 

 

 

Ubuntuの環境

以下、Ubuntu の環境です。

Ubuntu バージョン : 16.04.2(2016年4月21日リリース)

※16.04.2の特徴としては「長期サポート (LTS)」、「Python 3への完全移行」、「Snappyの導入」が挙げられます。

カーネルリリース : 4.4.0-1048-aws

CPU        : 1個

メモリ      : 1GB

ubuntu@AWS_TEST: ~] cat /etc/ec2_version
Ubuntu 16.04.2 LTS (Xenial Xerus)
ubuntu@AWS_TEST: ~] uname -a
Linux xxxx 4.4.0-1048-aws #57-Ubuntu SMP Tue Jan 9 21:45:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@AWS_TEST: ~cat /proc/cpuinfo | grep processor
processor       : 0
ubuntu@AWS_TEST: ~cat /proc/meminfo | grep MemTotal
MemTotal:        1014564 kB
ubuntu@AWS_TEST: ~]

 

 

 

mecabをインストールする

まず初めに最低限 mecab を動かすために以下のパッケージをインストールします。

 

■mecab パッケージ群

  • mecab ← mecab 本体
  • libmecab-dev ← mecab のライブラリをインストールする際に必要になるヘッダーファイル
  • mecab-ipadic ← 辞書ファイル(IPA辞書)  
  • mecab-ipadic-utf8 ← 辞書を「UTF-8」にする

 

ubuntu@AWS_TEST: ~] sudo apt-get install mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libmecab2 mecab-utils
The following NEW packages will be installed:
  libmecab-dev libmecab2 mecab mecab-ipadic mecab-ipadic-utf8 mecab-utils
0 upgraded, 6 newly installed, 0 to remove and 27 not upgraded.
Need to get 12.8 MB of archives.
After this operation, 59.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 libmecab2 amd64 0.996-1.2ubuntu1 [264 kB]
Get:2 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 libmecab-dev amd64 0.996-1.2ubuntu1 [313 kB]
Get:3 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 mecab-utils amd64 0.996-1.2ubuntu1 [4,566 B]
Get:4 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 mecab-ipadic all 2.7.0-20070801+main-1 [12.1 MB]
Get:5 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 mecab amd64 0.996-1.2ubuntu1 [83.2 kB]
Get:6 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 mecab-ipadic-utf8 all 2.7.0-20070801+main-1 [3,522 B]
Fetched 12.8 MB in 2s (5,343 kB/s)
Selecting previously unselected package libmecab2.
(Reading database ... 200142 files and directories currently installed.)
Preparing to unpack .../libmecab2_0.996-1.2ubuntu1_amd64.deb ...
Unpacking libmecab2 (0.996-1.2ubuntu1) ...
Selecting previously unselected package libmecab-dev.
Preparing to unpack .../libmecab-dev_0.996-1.2ubuntu1_amd64.deb ...
Unpacking libmecab-dev (0.996-1.2ubuntu1) ...
Selecting previously unselected package mecab-utils.
Preparing to unpack .../mecab-utils_0.996-1.2ubuntu1_amd64.deb ...
Unpacking mecab-utils (0.996-1.2ubuntu1) ...
Selecting previously unselected package mecab-ipadic.
Preparing to unpack .../mecab-ipadic_2.7.0-20070801+main-1_all.deb ...
Unpacking mecab-ipadic (2.7.0-20070801+main-1) ...
Selecting previously unselected package mecab.
Preparing to unpack .../mecab_0.996-1.2ubuntu1_amd64.deb ...
Unpacking mecab (0.996-1.2ubuntu1) ...
Selecting previously unselected package mecab-ipadic-utf8.
Preparing to unpack .../mecab-ipadic-utf8_2.7.0-20070801+main-1_all.deb ...
Unpacking mecab-ipadic-utf8 (2.7.0-20070801+main-1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libmecab2 (0.996-1.2ubuntu1) ...
Setting up libmecab-dev (0.996-1.2ubuntu1) ...
Setting up mecab-utils (0.996-1.2ubuntu1) ...
Setting up mecab-ipadic (2.7.0-20070801+main-1) ...
Compiling IPA dictionary for Mecab.  This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27327
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix      : 100% |###########################################|

done!
update-alternatives: using /var/lib/mecab/dic/ipadic to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode
Setting up mecab (0.996-1.2ubuntu1) ...
Compiling IPA dictionary for Mecab.  This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27327
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix      : 100% |###########################################|

done!
Setting up mecab-ipadic-utf8 (2.7.0-20070801+main-1) ...
Compiling IPA dictionary for Mecab.  This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27327
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix      : 100% |###########################################|

done!
update-alternatives: using /var/lib/mecab/dic/ipadic-utf8 to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode
Processing triggers for libc-bin (2.23-0ubuntu9) ...
ubuntu@AWS_TEST: ~]

 

 

mecab がインストールされない場合は「apt-get update」でレポジトリを更新する

レポジトリが更新されていないと以下のようなメッセージが出力されることがあります。

ubuntu@AWS_TEST ~] sudo apt-get install mecab libmecab-dev mecab-ipadic
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mecab
E: Unable to locate package libmecab-dev
E: Unable to locate package mecab-ipadic
ubuntu@AWS_TEST ~]

 

その場合は以下のように「apt-get update」コマンドを実行してレポジトリを最新にします。

(以下は ubuntu 初期状態の例)

ubuntu@AWS_TEST ~] sudo apt-get update
Hit:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:3 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Get:4 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main Sources [868 kB]
Get:5 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted Sources [4,808 B]
Get:6 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe Sources [7,728 kB]
Get:7 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:8 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Sources [179 kB]
Get:9 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7,532 kB]
Get:10 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe Translation-en [4,354 kB]
Get:11 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB]
Get:12 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB]
Get:13 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Sources [290 kB]
Get:14 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,532 B]
Get:15 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Sources [186 kB]
Get:16 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [7,972 B]
Get:17 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [699 kB]
Get:18 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [291 kB]
Get:19 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [572 kB]
Get:20 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [231 kB]
Get:21 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.2 kB]
Get:22 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,052 B]
Get:23 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Sources [3,436 B]
Get:24 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Sources [4,908 B]
Get:25 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [4,840 B]
Get:26 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [3,220 B]
Get:27 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [6,612 B]
Get:28 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3,768 B]
Get:29 http://security.ubuntu.com/ubuntu xenial-security/main Sources [106 kB]
Get:30 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2,116 B]
Get:31 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [48.9 kB]
Get:32 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [1,520 B]
Get:33 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [424 kB]
Get:34 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [186 kB]
Get:35 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [195 kB]
Get:36 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [101 kB]
Get:37 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3,208 B]
Get:38 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1,408 B]
Fetched 24.6 MB in 4s (5,600 kB/s)
Reading package lists... Done
ubuntu@AWS_TEST ~]

 

アップデート後に「apt-get install mecab libmecab-dev mecab-ipadic」コマンドを実行すれば問題なくインストールできます。

 

 

 

 

mecabの動作確認

mecab コマンドを実行します。

mecab コマンドを実行すると文字の入力待ちになるので、何でもいいので文字を入力してみます。

ubuntu@AWS_TEST: ~] mecab
東京 ← 日本語、漢字でも問題ありません。
東京    名詞,固有名詞,地域,一般,*,*,東京,トウキョウ,トーキョー
EOS
機械学習
機械    名詞,一般,*,*,*,*,機械,キカイ,キカイ
学習    名詞,サ変接続,*,*,*,*,学習,ガクシュウ,ガクシュー
EOS
ドラゴンボール ← ドラゴンボールは、「ドラゴン」と「ボール」に分かれました。アニメ関係は対象に入ってなさそうです。
ドラゴン        名詞,一般,*,*,*,*,ドラゴン,ドラゴン,ドラゴン
ボール  名詞,一般,*,*,*,*,ボール,ボール,ボール
EOS
ガンダム ← 古典的なアニメでも「ガン」と「ダム」に分かれてしまいました。
ガン    名詞,一般,*,*,*,*,ガン,ガン,ガン
ダム    名詞,一般,*,*,*,*,ダム,ダム,ダム
EOS
自民党 ← 政治方面は多少はいけそうです。
自民党  名詞,固有名詞,組織,*,*,*,自民党,ジミントウ,ジミントー
EOS
amazon
amazon  名詞,固有名詞,組織,*,*,*,*
EOS
star wars ← 世界的に有名な「Star Wars」も対象外のようです。
star    名詞,固有名詞,組織,*,*,*,*
wars    名詞,一般,*,*,*,*,*
EOS
ビートたけし ← しかし、ビートたけしは対象に入っていました。(人命だと認識しました)
ビートたけし    名詞,固有名詞,人名,一般,*,*,ビートたけし,ビートタケシ,ビートタケシ
EOS
^C ←「Ctrl」+「C」でコマンドを抜けます。
ubuntu@AWS_TEST: ~]

 

 

確認してみた感じでは、単語(固有名詞)が現在の世相を反映していないなと思いました。

 

 

文字化けする場合

mecab コマンド実行時に以下のように文字化けする場合があります。

ubuntu@AWS_TEST ~] mecab
テスト
テスト  オュケ・ー・フ,*,*,*,*,*
EOS
ガンダム
・      オュケ・ー・フ,*,*,*,*,*
ャ・     ?サ・・オハムタワツウ,*,*,*,*,*
ウ繝€    オュケ・ー・フ,*,*,*,*,*
EOS
日本
・      オュケ・ー・フ,*,*,*,*,*
・・     ?サ・ー・フ,*,*,*,*,*
ャ       オュケ・ー・フ,*,*,*,*,*
EOS

 

 

■「mecab-ipadic-utf8」がインストールされていない可能性があるのでインストールする

上記のように文字化けする場合は「mecab-ipadic-utf8」パッケージがインストールされていない可能性があるためインストールします。

ubuntu@AWS_TEST ~] sudo apt-get install mecab-ipadic-utf8
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  mecab-ipadic-utf8
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
Need to get 3,522 B of archives.
After this operation, 52.2 kB of additional disk space will be used.
Get:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 mecab-ipadic-utf8 all 2.7.0-20070801+main-1 [3,522 B]
Fetched 3,522 B in 0s (7,076 B/s)
Selecting previously unselected package mecab-ipadic-utf8.
(Reading database ... 51220 files and directories currently installed.)
Preparing to unpack .../mecab-ipadic-utf8_2.7.0-20070801+main-1_all.deb ...
Unpacking mecab-ipadic-utf8 (2.7.0-20070801+main-1) ...
Setting up mecab-ipadic-utf8 (2.7.0-20070801+main-1) ...
Compiling IPA dictionary for Mecab.  This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27327
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix      : 100% |###########################################|

done!
update-alternatives: using /var/lib/mecab/dic/ipadic-utf8 to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode
ubuntu@AWS_TEST ~]

 

 

以下のように文字化けしなければうまく設定ができています。

Yahoo!ニュース参考

ubuntu@AWS_TEST ~] mecab
テスト
テスト  名詞,サ変接続,*,*,*,*,テスト,テスト,テスト
EOS
日本
日本    名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポン
EOS
携帯電話などを注視・操作しながら車を運転する危険行為に対し、政府が道路交通法改正で罰則を強化する方針であることが13日、分かった 。
携帯    名詞,サ変接続,*,*,*,*,携帯,ケイタイ,ケイタイ
電話    名詞,サ変接続,*,*,*,*,電話,デンワ,デンワ
など    助詞,副助詞,*,*,*,*,など,ナド,ナド
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
注視    名詞,サ変接続,*,*,*,*,注視,チュウシ,チューシ
・      記号,一般,*,*,*,*,・,・,・
操作    名詞,サ変接続,*,*,*,*,操作,ソウサ,ソーサ
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
ながら  助詞,接続助詞,*,*,*,*,ながら,ナガラ,ナガラ
車      名詞,一般,*,*,*,*,車,クルマ,クルマ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
運転    名詞,サ変接続,*,*,*,*,運転,ウンテン,ウンテン
する    動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
危険    名詞,形容動詞語幹,*,*,*,*,危険,キケン,キケン
行為    名詞,サ変接続,*,*,*,*,行為,コウイ,コーイ
に対し  助詞,格助詞,連語,*,*,*,に対し,ニタイシ,ニタイシ
、      記号,読点,*,*,*,*,、,、,、
政府    名詞,一般,*,*,*,*,政府,セイフ,セイフ
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
道路    名詞,一般,*,*,*,*,道路,ドウロ,ドーロ
交通    名詞,一般,*,*,*,*,交通,コウツウ,コーツー
法      名詞,接尾,一般,*,*,*,法,ホウ,ホー
改正    名詞,サ変接続,*,*,*,*,改正,カイセイ,カイセイ
で      助詞,格助詞,一般,*,*,*,で,デ,デ
罰則    名詞,一般,*,*,*,*,罰則,バッソク,バッソク
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
強化    名詞,サ変接続,*,*,*,*,強化,キョウカ,キョーカ
する    動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
方針    名詞,一般,*,*,*,*,方針,ホウシン,ホーシン
で      助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
ある    助動詞,*,*,*,五段・ラ行アル,基本形,ある,アル,アル
こと    名詞,非自立,一般,*,*,*,こと,コト,コト
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
1      名詞,数,*,*,*,*,1,イチ,イチ
3      名詞,数,*,*,*,*,3,サン,サン
日      名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ
、      記号,読点,*,*,*,*,、,、,、
分かっ  動詞,自立,*,*,五段・ラ行,連用タ接続,分かる,ワカッ,ワカッ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。      記号,句点,*,*,*,*,。,。,。
EOS

 

 

 

mecab-ipadic-NEologd をインストールするためのパッケージ群をインストールする

固有名詞を充実させるために「mecab-ipadic-NEologd」をインストールしたいのですが、そのためには「mecab-ipadic-NEologd」をインストールするためにパッケージ群が必要になります。(makeコマンドとかその他もろもろ)

すでに開発環境は全部入っている場合はスキップしていいですが、新規 Ubuntu の場合は以下のパッケージをインストールしておきます。

ubuntu@AWS_TEST ~] sudo apt-get install libc6-dev build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  binutils cpp cpp-5 dpkg-dev fakeroot g++ g++-5 gcc gcc-5 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan2 libatomic1 libc-dev-bin libcc1-0 libcilkrts5 libdpkg-perl libfakeroot libfile-fcntllock-perl
  libgcc-5-dev libgomp1 libisl15 libitm1 liblsan0 libmpc3 libmpx0 libquadmath0 libstdc++-5-dev libtsan0 libubsan0
  linux-libc-dev make manpages-dev
Suggested packages:
  binutils-doc cpp-doc gcc-5-locales debian-keyring g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-multilib
  autoconf automake libtool flex bison gdb gcc-doc gcc-5-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg
  libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg glibc-doc libstdc++-5-doc
  make-doc
The following NEW packages will be installed:
  binutils build-essential cpp cpp-5 dpkg-dev fakeroot g++ g++-5 gcc gcc-5 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan2 libatomic1 libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libfakeroot
  libfile-fcntllock-perl libgcc-5-dev libgomp1 libisl15 libitm1 liblsan0 libmpc3 libmpx0 libquadmath0 libstdc++-5-dev libtsan0
  libubsan0 linux-libc-dev make manpages-dev
0 upgraded, 36 newly installed, 0 to remove and 3 not upgraded.
Need to get 38.6 MB of archives.
After this operation, 144 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libmpc3 amd64 1.0.3-1 [39.7 kB]
Get:2 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 binutils amd64 2.26.1-1ubuntu1~16.04.5 [2,311 kB]
Get:3 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc-dev-bin amd64 2.23-0ubuntu9 [68.6 kB]
Get:4 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-libc-dev amd64 4.4.0-109.132 [829 kB]
Get:5 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc6-dev amd64 2.23-0ubuntu9 [2,082 kB]
Get:6 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libisl15 amd64 0.16.1-1 [524 kB]
Get:7 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 cpp-5 amd64 5.4.0-6ubuntu1~16.04.5 [7,786 kB]
Get:8 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 cpp amd64 4:5.3.1-1ubuntu1 [27.7 kB]
Get:9 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libcc1-0 amd64 5.4.0-6ubuntu1~16.04.5 [38.8 kB]
Get:10 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgomp1 amd64 5.4.0-6ubuntu1~16.04.5 [55.1 kB]
Get:11 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libitm1 amd64 5.4.0-6ubuntu1~16.04.5 [27.4 kB]
Get:12 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libatomic1 amd64 5.4.0-6ubuntu1~16.04.5 [8,920 B]
Get:13 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libasan2 amd64 5.4.0-6ubuntu1~16.04.5 [264 kB]
Get:14 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 liblsan0 amd64 5.4.0-6ubuntu1~16.04.5 [105 kB]
Get:15 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libtsan0 amd64 5.4.0-6ubuntu1~16.04.5 [244 kB]
Get:16 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libubsan0 amd64 5.4.0-6ubuntu1~16.04.5 [95.3 kB]
Get:17 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libcilkrts5 amd64 5.4.0-6ubuntu1~16.04.5 [40.1 kB]
Get:18 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmpx0 amd64 5.4.0-6ubuntu1~16.04.5 [9,786 B]
Get:19 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libquadmath0 amd64 5.4.0-6ubuntu1~16.04.5 [131 kB]
Get:20 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgcc-5-dev amd64 5.4.0-6ubuntu1~16.04.5 [2,226 kB]
Get:21 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 gcc-5 amd64 5.4.0-6ubuntu1~16.04.5 [8,638 kB]
Get:22 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 gcc amd64 4:5.3.1-1ubuntu1 [5,244 B]
Get:23 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libstdc++-5-dev amd64 5.4.0-6ubuntu1~16.04.5 [1,430 kB]
Get:24 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 g++-5 amd64 5.4.0-6ubuntu1~16.04.5 [8,435 kB]
Get:25 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 g++ amd64 4:5.3.1-1ubuntu1 [1,504 B]
Get:26 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 make amd64 4.1-6 [151 kB]
Get:27 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libdpkg-perl all 1.18.4ubuntu1.3 [195 kB]
Get:28 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg-dev all 1.18.4ubuntu1.3 [584 kB]
Get:29 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 build-essential amd64 12.1ubuntu2 [4,758 B]
Get:30 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libfakeroot amd64 1.20.2-1ubuntu1 [25.5 kB]
Get:31 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 fakeroot amd64 1.20.2-1ubuntu1 [61.8 kB]
Get:32 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libalgorithm-diff-perl all 1.19.03-1 [47.6 kB]
Get:33 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libalgorithm-diff-xs-perl amd64 0.04-4build1 [11.0 kB]
Get:34 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libalgorithm-merge-perl all 0.08-3 [12.0 kB]
Get:35 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libfile-fcntllock-perl amd64 0.22-3 [32.0 kB]
Get:36 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 manpages-dev all 4.04-2 [2,048 kB]
Fetched 38.6 MB in 1s (25.4 MB/s)
Extracting templates from packages: 100%
Selecting previously unselected package libmpc3:amd64.
(Reading database ... 51224 files and directories currently installed.)
Preparing to unpack .../libmpc3_1.0.3-1_amd64.deb ...
Unpacking libmpc3:amd64 (1.0.3-1) ...
Selecting previously unselected package binutils.
Preparing to unpack .../binutils_2.26.1-1ubuntu1~16.04.5_amd64.deb ...
Unpacking binutils (2.26.1-1ubuntu1~16.04.5) ...
Selecting previously unselected package libc-dev-bin.
Preparing to unpack .../libc-dev-bin_2.23-0ubuntu9_amd64.deb ...
Unpacking libc-dev-bin (2.23-0ubuntu9) ...
Selecting previously unselected package linux-libc-dev:amd64.
Preparing to unpack .../linux-libc-dev_4.4.0-109.132_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.4.0-109.132) ...
Selecting previously unselected package libc6-dev:amd64.
Preparing to unpack .../libc6-dev_2.23-0ubuntu9_amd64.deb ...
Unpacking libc6-dev:amd64 (2.23-0ubuntu9) ...
Selecting previously unselected package libisl15:amd64.
Preparing to unpack .../libisl15_0.16.1-1_amd64.deb ...
Unpacking libisl15:amd64 (0.16.1-1) ...
Selecting previously unselected package cpp-5.
Preparing to unpack .../cpp-5_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking cpp-5 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package cpp.
Preparing to unpack .../cpp_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking cpp (4:5.3.1-1ubuntu1) ...
Selecting previously unselected package libcc1-0:amd64.
Preparing to unpack .../libcc1-0_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libcc1-0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../libgomp1_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libgomp1:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libitm1:amd64.
Preparing to unpack .../libitm1_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libitm1:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libatomic1:amd64.
Preparing to unpack .../libatomic1_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libatomic1:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libasan2:amd64.
Preparing to unpack .../libasan2_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libasan2:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package liblsan0:amd64.
Preparing to unpack .../liblsan0_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking liblsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libtsan0:amd64.
Preparing to unpack .../libtsan0_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libtsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libubsan0:amd64.
Preparing to unpack .../libubsan0_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libubsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libcilkrts5:amd64.
Preparing to unpack .../libcilkrts5_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libcilkrts5:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libmpx0:amd64.
Preparing to unpack .../libmpx0_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libmpx0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libquadmath0:amd64.
Preparing to unpack .../libquadmath0_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libquadmath0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package libgcc-5-dev:amd64.
Preparing to unpack .../libgcc-5-dev_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libgcc-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package gcc-5.
Preparing to unpack .../gcc-5_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking gcc-5 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package gcc.
Preparing to unpack .../gcc_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking gcc (4:5.3.1-1ubuntu1) ...
Selecting previously unselected package libstdc++-5-dev:amd64.
Preparing to unpack .../libstdc++-5-dev_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking libstdc++-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package g++-5.
Preparing to unpack .../g++-5_5.4.0-6ubuntu1~16.04.5_amd64.deb ...
Unpacking g++-5 (5.4.0-6ubuntu1~16.04.5) ...
Selecting previously unselected package g++.
Preparing to unpack .../g++_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking g++ (4:5.3.1-1ubuntu1) ...
Selecting previously unselected package make.
Preparing to unpack .../archives/make_4.1-6_amd64.deb ...
Unpacking make (4.1-6) ...
Selecting previously unselected package libdpkg-perl.
Preparing to unpack .../libdpkg-perl_1.18.4ubuntu1.3_all.deb ...
Unpacking libdpkg-perl (1.18.4ubuntu1.3) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../dpkg-dev_1.18.4ubuntu1.3_all.deb ...
Unpacking dpkg-dev (1.18.4ubuntu1.3) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../build-essential_12.1ubuntu2_amd64.deb ...
Unpacking build-essential (12.1ubuntu2) ...
Selecting previously unselected package libfakeroot:amd64.
Preparing to unpack .../libfakeroot_1.20.2-1ubuntu1_amd64.deb ...
Unpacking libfakeroot:amd64 (1.20.2-1ubuntu1) ...
Selecting previously unselected package fakeroot.
Preparing to unpack .../fakeroot_1.20.2-1ubuntu1_amd64.deb ...
Unpacking fakeroot (1.20.2-1ubuntu1) ...
Selecting previously unselected package libalgorithm-diff-perl.
Preparing to unpack .../libalgorithm-diff-perl_1.19.03-1_all.deb ...
Unpacking libalgorithm-diff-perl (1.19.03-1) ...
Selecting previously unselected package libalgorithm-diff-xs-perl.
Preparing to unpack .../libalgorithm-diff-xs-perl_0.04-4build1_amd64.deb ...
Unpacking libalgorithm-diff-xs-perl (0.04-4build1) ...
Selecting previously unselected package libalgorithm-merge-perl.
Preparing to unpack .../libalgorithm-merge-perl_0.08-3_all.deb ...
Unpacking libalgorithm-merge-perl (0.08-3) ...
Selecting previously unselected package libfile-fcntllock-perl.
Preparing to unpack .../libfile-fcntllock-perl_0.22-3_amd64.deb ...
Unpacking libfile-fcntllock-perl (0.22-3) ...
Selecting previously unselected package manpages-dev.
Preparing to unpack .../manpages-dev_4.04-2_all.deb ...
Unpacking manpages-dev (4.04-2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libmpc3:amd64 (1.0.3-1) ...
Setting up binutils (2.26.1-1ubuntu1~16.04.5) ...
Setting up libc-dev-bin (2.23-0ubuntu9) ...
Setting up linux-libc-dev:amd64 (4.4.0-109.132) ...
Setting up libc6-dev:amd64 (2.23-0ubuntu9) ...
Setting up libisl15:amd64 (0.16.1-1) ...
Setting up cpp-5 (5.4.0-6ubuntu1~16.04.5) ...
Setting up cpp (4:5.3.1-1ubuntu1) ...
Setting up libcc1-0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libgomp1:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libitm1:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libatomic1:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libasan2:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up liblsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libtsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libubsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libcilkrts5:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libmpx0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libquadmath0:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up libgcc-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up gcc-5 (5.4.0-6ubuntu1~16.04.5) ...
Setting up gcc (4:5.3.1-1ubuntu1) ...
Setting up libstdc++-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) ...
Setting up g++-5 (5.4.0-6ubuntu1~16.04.5) ...
Setting up g++ (4:5.3.1-1ubuntu1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up make (4.1-6) ...
Setting up libdpkg-perl (1.18.4ubuntu1.3) ...
Setting up dpkg-dev (1.18.4ubuntu1.3) ...
Setting up build-essential (12.1ubuntu2) ...
Setting up libfakeroot:amd64 (1.20.2-1ubuntu1) ...
Setting up fakeroot (1.20.2-1ubuntu1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up libalgorithm-diff-perl (1.19.03-1) ...
Setting up libalgorithm-diff-xs-perl (0.04-4build1) ...
Setting up libalgorithm-merge-perl (0.08-3) ...
Setting up libfile-fcntllock-perl (0.22-3) ...
Setting up manpages-dev (4.04-2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
ubuntu@AWS_TEST ~]

 

 

 

固有名詞を充実させるために mecab-ipadic-NEologd をインストールする

そこで固有名詞を充実させるために「mecab-ipadic-NEologd」をインストールします。

まずは git ファイルをダウンロードします。

ubuntu@AWS_TEST: ~] git clone https://github.com/neologd/mecab-ipadic-neologd.git
Cloning into 'mecab-ipadic-neologd'...
remote: Counting objects: 5478, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 5478 (delta 8), reused 13 (delta 6), pack-reused 5460
Receiving objects: 100% (5478/5478), 296.43 MiB | 8.37 MiB/s, done.
Resolving deltas: 100% (3300/3300), done.
Checking connectivity... done.
ubuntu@AWS_TEST: ~]

 

 

mecab-ipadic-neologd をインストールする

「mecab-ipadic-neologd」をインストールします。

ubuntu@AWS_TEST: ~] cd mecab-ipadic-neologd/
ubuntu@AWS_TEST: mecab-ipadic-neologd] sudo bin/install-mecab-ipadic-neologd -n -a ← 全部インストールします。
[install-mecab-ipadic-NEologd] : Start..
[install-mecab-ipadic-NEologd] : Check the existance of libraries

[install-mecab-ipadic-NEologd] :     find => ok

 

~ 省略 ~

 

 

「[install-mecab-ipadic-NEologd] :     make is not found.」が出力された場合

以下のように「make is not found.」が表示された場合です。

単純に make コマンドがインストールされていないので、個別にmakeコマンドをインストールするか、上記で実行したコマンド「apt-get install libc6-dev build-essential」を実行します。

ubuntu@AWS_TEST ~] sudo apt-get install libc6-dev build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:

 

~ 省略 ~

 

 

 

mecab-ipadic-neologd インストール時にエラー「terminate called after throwing an instance of 'std::bad_alloc'」が出た場合

mecab-ipadic-neologd のインストール時に以下のように「terminate called after throwing an instance of 'std::bad_alloc'というエラーが出力されました。

おそらくはメモリが1GBであることが原因と思われます。

reading ./neologd-noun-sahen-conn-ortho-variant-dict-seed.20160323.csv ... 26058
reading ./Noun.place.csv ... 73194
reading ./Noun.adjv.csv ... 3328
reading ./Prefix.csv ... 224
reading ./neologd-adjective-verb-dict-seed.20160324.csv ... 20268
reading ./neologd-interjection-dict-seed.20170216.csv ... 4701
reading ./Others.csv ... 2
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
reading ./mecab-user-dict-seed.20180108.csv ... /home/ubuntu/mecab-ipadic-neologd/bin/../libexec/make-mecab-ipadic-neologd.sh: line 492:  2874 Aborted                 (core dumped) ${MECAB_LIBEXEC_DIR}/mecab-dict-index -f UTF8 -t UTF8
ubuntu@AWS_TEST: mecab-ipadic-neologd]

 

 

EC2インスタンスタイプを変更する

メモリ容量を増やすために一時的に EC2 のインスタンスタイプをハイスペックなものに変更します。

ただし変更すると課金されるため、後に mecab-ipadic-NEologd インストール後に再度現在の EC2 インスタンスタイプに戻します。

 

■どれくらいのメモリサイズが必要なのか?

「README.ja.md」を読むと、メモリに関して以下の記述があります。

### 全部入りな mecab-ipadic-NEologd を簡単にインストールする方法
標準インストールでは一部の辞書ファイルがインストールされません。

オプションで個別に指定しても良いですが、-a オプションを指定すると全部入り状態でインストールできます。

    $ ./bin/install-mecab-ipadic-neologd -n -a

全部入りな辞書を構築する際の最低メモリ使用量は2GByte弱です。

 

 

■インスタンスタイプ一覧

下図のように様々なタイプのインスタンスタイプがありますが今回は「t2.micro(無料対象枠)」「t2.medium」に変更します。

t2.mediumはメモリが「4GiB」あるので充分要件を満たしています。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

対象のインスタンスを選択し「アクション」-「インスタンスの状態」-「停止」を選択します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

「インスタンスの停止」の確認画面が表示されるので「停止する」ボタンをクリックします。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

「インスタンスの状態」「stopped」になっていることを確認します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

対象の EC2 インスタンスを選択し「アクション」-「インスタンスの設定」-「インスタンスタイプの変更」を選択します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

インスタンスタイプの変更画面が表示されたら「t2.medium」を選択して「適用」ボタンをクリックします。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

下図のように「インスタンスタイプ」が変更されていることを確認します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

 

対象の EC2 インスタンスを選択して「アクション」-「インスタンスの状態」-「開始」を選択します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

「インスタンスの開始」確認画面で「開始する」ボタンをクリックします。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

 

mecab-ipadic-neologd をインストールする

メモリを増量したら再度「mecab-ipadic-neologd」をインストールします。

ubuntu@AWS_TEST: ~] cd mecab-ipadic-neologd/
ubuntu@AWS_TEST: mecab-ipadic-neologd] sudo bin/install-mecab-ipadic-neologd -n -a ← 全部インストールします。
[install-mecab-ipadic-NEologd] : Start..
[install-mecab-ipadic-NEologd] : Check the existance of libraries
[install-mecab-ipadic-NEologd] :     find => ok
[install-mecab-ipadic-NEologd] :     sort => ok
[install-mecab-ipadic-NEologd] :     head => ok
[install-mecab-ipadic-NEologd] :     cut => ok
[install-mecab-ipadic-NEologd] :     egrep => ok
[install-mecab-ipadic-NEologd] :     mecab => ok
[install-mecab-ipadic-NEologd] :     mecab-config => ok
[install-mecab-ipadic-NEologd] :     make => ok
[install-mecab-ipadic-NEologd] :     curl => ok
[install-mecab-ipadic-NEologd] :     sed => ok
[install-mecab-ipadic-NEologd] :     cat => ok
[install-mecab-ipadic-NEologd] :     diff => ok
[install-mecab-ipadic-NEologd] :     tar => ok
[install-mecab-ipadic-NEologd] :     unxz => ok
[install-mecab-ipadic-NEologd] :     xargs => ok
[install-mecab-ipadic-NEologd] :     grep => ok
[install-mecab-ipadic-NEologd] :     iconv => ok
[install-mecab-ipadic-NEologd] :     patch => ok
[install-mecab-ipadic-NEologd] :     which => ok
[install-mecab-ipadic-NEologd] :     file => ok
[install-mecab-ipadic-NEologd] :     openssl => ok
[install-mecab-ipadic-NEologd] :     awk => ok

[install-mecab-ipadic-NEologd] : mecab-ipadic-NEologd is already up-to-date

[install-mecab-ipadic-NEologd] : mecab-ipadic-NEologd will be install to /usr/lib/mecab/dic/mecab-ipadic-neologd

[install-mecab-ipadic-NEologd] : Make mecab-ipadic-NEologd
[make-mecab-ipadic-NEologd] : Start..
[make-mecab-ipadic-NEologd] : Check local seed directory
[make-mecab-ipadic-NEologd] : Check local seed file
[make-mecab-ipadic-NEologd] : Check local build directory
[make-mecab-ipadic-NEologd] : Download original mecab-ipadic file
[make-mecab-ipadic-NEologd] : Original mecab-ipadic file is already there.
[make-mecab-ipadic-NEologd] : Decompress original mecab-ipadic file
[make-mecab-ipadic-NEologd] : Delete old mecab-ipadic-2.7.0-20070801-neologd-20180108 directory
mecab-ipadic-2.7.0-20070801/
mecab-ipadic-2.7.0-20070801/README
mecab-ipadic-2.7.0-20070801/AUTHORS
mecab-ipadic-2.7.0-20070801/COPYING
mecab-ipadic-2.7.0-20070801/ChangeLog
mecab-ipadic-2.7.0-20070801/INSTALL
mecab-ipadic-2.7.0-20070801/Makefile.am
mecab-ipadic-2.7.0-20070801/Makefile.in
mecab-ipadic-2.7.0-20070801/NEWS
mecab-ipadic-2.7.0-20070801/aclocal.m4
mecab-ipadic-2.7.0-20070801/config.guess
mecab-ipadic-2.7.0-20070801/config.sub
mecab-ipadic-2.7.0-20070801/configure
mecab-ipadic-2.7.0-20070801/configure.in
mecab-ipadic-2.7.0-20070801/install-sh
mecab-ipadic-2.7.0-20070801/missing
mecab-ipadic-2.7.0-20070801/mkinstalldirs
mecab-ipadic-2.7.0-20070801/Adj.csv
mecab-ipadic-2.7.0-20070801/Adnominal.csv
mecab-ipadic-2.7.0-20070801/Adverb.csv
mecab-ipadic-2.7.0-20070801/Auxil.csv
mecab-ipadic-2.7.0-20070801/Conjunction.csv
mecab-ipadic-2.7.0-20070801/Filler.csv
mecab-ipadic-2.7.0-20070801/Interjection.csv
mecab-ipadic-2.7.0-20070801/Noun.adjv.csv
mecab-ipadic-2.7.0-20070801/Noun.adverbal.csv
mecab-ipadic-2.7.0-20070801/Noun.csv
mecab-ipadic-2.7.0-20070801/Noun.demonst.csv
mecab-ipadic-2.7.0-20070801/Noun.nai.csv
mecab-ipadic-2.7.0-20070801/Noun.name.csv
mecab-ipadic-2.7.0-20070801/Noun.number.csv
mecab-ipadic-2.7.0-20070801/Noun.org.csv
mecab-ipadic-2.7.0-20070801/Noun.others.csv
mecab-ipadic-2.7.0-20070801/Noun.place.csv
mecab-ipadic-2.7.0-20070801/Noun.proper.csv
mecab-ipadic-2.7.0-20070801/Noun.verbal.csv
mecab-ipadic-2.7.0-20070801/Others.csv
mecab-ipadic-2.7.0-20070801/Postp-col.csv
mecab-ipadic-2.7.0-20070801/Postp.csv
mecab-ipadic-2.7.0-20070801/Prefix.csv
mecab-ipadic-2.7.0-20070801/Suffix.csv
mecab-ipadic-2.7.0-20070801/Symbol.csv
mecab-ipadic-2.7.0-20070801/Verb.csv
mecab-ipadic-2.7.0-20070801/char.def
mecab-ipadic-2.7.0-20070801/feature.def
mecab-ipadic-2.7.0-20070801/left-id.def
mecab-ipadic-2.7.0-20070801/matrix.def
mecab-ipadic-2.7.0-20070801/pos-id.def
mecab-ipadic-2.7.0-20070801/rewrite.def
mecab-ipadic-2.7.0-20070801/right-id.def
mecab-ipadic-2.7.0-20070801/unk.def
mecab-ipadic-2.7.0-20070801/dicrc
mecab-ipadic-2.7.0-20070801/RESULT
[make-mecab-ipadic-NEologd] : Configure custom system dictionary on /home/ubuntu/mecab-ipadic-neologd/libexec/../build/mecab-ipadic-2.7.0-20070801-neologd-20180108
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal-1.4... missing
checking for working autoconf... found
checking for working automake-1.4... missing
checking for working autoheader... found
checking for working makeinfo... missing
checking for a BSD-compatible install... /usr/bin/install -c
checking for mecab-config... /usr/bin/mecab-config
configure: creating ./config.status
config.status: creating Makefile
[make-mecab-ipadic-NEologd] : Encode the character encoding of system dictionary resources from EUC_JP to UTF-8
./../../libexec/iconv_euc_to_utf8.sh ./Interjection.csv
./../../libexec/iconv_euc_to_utf8.sh ./Conjunction.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.proper.csv
./../../libexec/iconv_euc_to_utf8.sh ./Postp-col.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.csv
./../../libexec/iconv_euc_to_utf8.sh ./Filler.csv
./../../libexec/iconv_euc_to_utf8.sh ./Suffix.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.nai.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.others.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.adverbal.csv
./../../libexec/iconv_euc_to_utf8.sh ./Postp.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.verbal.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.name.csv
./../../libexec/iconv_euc_to_utf8.sh ./Adverb.csv
./../../libexec/iconv_euc_to_utf8.sh ./Verb.csv
./../../libexec/iconv_euc_to_utf8.sh ./Auxil.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.number.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.org.csv
./../../libexec/iconv_euc_to_utf8.sh ./Symbol.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.demonst.csv
./../../libexec/iconv_euc_to_utf8.sh ./Adnominal.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.place.csv
./../../libexec/iconv_euc_to_utf8.sh ./Noun.adjv.csv
./../../libexec/iconv_euc_to_utf8.sh ./Prefix.csv
./../../libexec/iconv_euc_to_utf8.sh ./Others.csv
./../../libexec/iconv_euc_to_utf8.sh ./Adj.csv
rm ./Interjection.csv
rm ./Conjunction.csv
rm ./Noun.proper.csv
rm ./Postp-col.csv
rm ./Noun.csv
rm ./Filler.csv
rm ./Suffix.csv
rm ./Noun.nai.csv
rm ./Noun.others.csv
rm ./Noun.adverbal.csv
rm ./Postp.csv
rm ./Noun.verbal.csv
rm ./Noun.name.csv
rm ./Adverb.csv
rm ./Verb.csv
rm ./Auxil.csv
rm ./Noun.number.csv
rm ./Noun.org.csv
rm ./Symbol.csv
rm ./Noun.demonst.csv
rm ./Adnominal.csv
rm ./Noun.place.csv
rm ./Noun.adjv.csv
rm ./Prefix.csv
rm ./Others.csv
rm ./Adj.csv
./../../libexec/iconv_euc_to_utf8.sh ./char.def
./../../libexec/iconv_euc_to_utf8.sh ./right-id.def
./../../libexec/iconv_euc_to_utf8.sh ./unk.def
./../../libexec/iconv_euc_to_utf8.sh ./rewrite.def
./../../libexec/iconv_euc_to_utf8.sh ./left-id.def
./../../libexec/iconv_euc_to_utf8.sh ./matrix.def
./../../libexec/iconv_euc_to_utf8.sh ./pos-id.def
./../../libexec/iconv_euc_to_utf8.sh ./feature.def
rm ./char.def
rm ./right-id.def
rm ./unk.def
rm ./rewrite.def
rm ./left-id.def
rm ./matrix.def
rm ./pos-id.def
rm ./feature.def
mv ./Noun.org.csv.utf8 ./Noun.org.csv
mv ./Noun.csv.utf8 ./Noun.csv
mv ./matrix.def.utf8 ./matrix.def
mv ./Noun.proper.csv.utf8 ./Noun.proper.csv
mv ./Others.csv.utf8 ./Others.csv
mv ./unk.def.utf8 ./unk.def
mv ./Postp.csv.utf8 ./Postp.csv
mv ./Suffix.csv.utf8 ./Suffix.csv
mv ./Noun.adverbal.csv.utf8 ./Noun.adverbal.csv
mv ./Adnominal.csv.utf8 ./Adnominal.csv
mv ./rewrite.def.utf8 ./rewrite.def
mv ./Noun.name.csv.utf8 ./Noun.name.csv
mv ./Noun.adjv.csv.utf8 ./Noun.adjv.csv
mv ./Noun.place.csv.utf8 ./Noun.place.csv
mv ./left-id.def.utf8 ./left-id.def
mv ./Noun.verbal.csv.utf8 ./Noun.verbal.csv
mv ./right-id.def.utf8 ./right-id.def
mv ./Adj.csv.utf8 ./Adj.csv
mv ./Filler.csv.utf8 ./Filler.csv
mv ./Conjunction.csv.utf8 ./Conjunction.csv
mv ./char.def.utf8 ./char.def
mv ./Symbol.csv.utf8 ./Symbol.csv
mv ./Noun.others.csv.utf8 ./Noun.others.csv
mv ./Auxil.csv.utf8 ./Auxil.csv
mv ./Verb.csv.utf8 ./Verb.csv
mv ./pos-id.def.utf8 ./pos-id.def
mv ./feature.def.utf8 ./feature.def
mv ./Noun.demonst.csv.utf8 ./Noun.demonst.csv
mv ./Adverb.csv.utf8 ./Adverb.csv
mv ./Postp-col.csv.utf8 ./Postp-col.csv
mv ./Noun.number.csv.utf8 ./Noun.number.csv
mv ./Prefix.csv.utf8 ./Prefix.csv
mv ./Interjection.csv.utf8 ./Interjection.csv
mv ./Noun.nai.csv.utf8 ./Noun.nai.csv
[make-mecab-ipadic-NEologd] : Fix yomigana field of IPA dictionary
patching file Noun.csv
patching file Noun.place.csv
patching file Verb.csv
patching file Noun.verbal.csv
patching file Noun.name.csv
patching file Noun.adverbal.csv
patching file Noun.csv
patching file Noun.name.csv
patching file Noun.org.csv
patching file Noun.others.csv
patching file Noun.place.csv
patching file Noun.proper.csv
patching file Noun.verbal.csv
patching file Prefix.csv
patching file Suffix.csv
patching file Noun.proper.csv
patching file Noun.csv
patching file Noun.name.csv
patching file Noun.org.csv
patching file Noun.place.csv
patching file Noun.proper.csv
patching file Noun.verbal.csv
patching file Noun.name.csv
patching file Noun.org.csv
patching file Noun.place.csv
patching file Noun.proper.csv
patching file Suffix.csv
patching file Noun.demonst.csv
patching file Noun.csv
patching file Noun.name.csv
[make-mecab-ipadic-NEologd] : Copy user dictionary resource
[make-mecab-ipadic-NEologd] : Install adverb entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-adverb-dict-seed.20150623.csv.xz
[make-mecab-ipadic-NEologd] : Install interjection entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-interjection-dict-seed.20170216.csv.xz
[make-mecab-ipadic-NEologd] : Install noun orthographic variant entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-common-noun-ortho-variant-dict-seed.20170228.csv.xz
[make-mecab-ipadic-NEologd] : Install noun orthographic variant entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-proper-noun-ortho-variant-dict-seed.20161110.csv.xz
[make-mecab-ipadic-NEologd] : Install entries of orthographic variant of a noun used as verb form using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-noun-sahen-conn-ortho-variant-dict-seed.20160323.csv.xz
[make-mecab-ipadic-NEologd] : Install frequent adjective orthographic variant entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-adjective-std-dict-seed.20151126.csv.xz
[make-mecab-ipadic-NEologd] : Install infrequent adjective orthographic variant entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-adjective-exp-dict-seed.20151126.csv.xz
[make-mecab-ipadic-NEologd] : Install adjective verb orthographic variant entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-adjective-verb-dict-seed.20160324.csv.xz
[make-mecab-ipadic-NEologd] : Install infrequent datetime representation entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-date-time-infreq-dict-seed.20170224.csv.xz
[make-mecab-ipadic-NEologd] : Install infrequent quantity representation entries using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-quantity-infreq-dict-seed.20170224.csv.xz
[make-mecab-ipadic-NEologd] : Install entries of ill formed words using /home/ubuntu/mecab-ipadic-neologd/libexec/../seed/neologd-ill-formed-words-dict-seed.20170127.csv.xz
[make-mecab-ipadic-NEologd] : Re-Index system dictionary
reading ./unk.def ... 40
emitting double-array: 100% |###########################################|
./model.def is not found. skipped.
reading ./Interjection.csv ... 252
reading ./Conjunction.csv ... 171
reading ./neologd-adjective-std-dict-seed.20151126.csv ... 507812
reading ./neologd-adverb-dict-seed.20150623.csv ... 139792
reading ./Noun.proper.csv ... 27493
reading ./neologd-proper-noun-ortho-variant-dict-seed.20161110.csv ... 138379
reading ./Postp-col.csv ... 91
reading ./neologd-quantity-infreq-dict-seed.20170224.csv ... 205926
reading ./Noun.csv ... 60734
reading ./neologd-common-noun-ortho-variant-dict-seed.20170228.csv ... 152869
reading ./Filler.csv ... 19
reading ./neologd-ill-formed-words-dict-seed.20170127.csv ... 60616
reading ./Suffix.csv ... 1448
reading ./Noun.nai.csv ... 42
reading ./Noun.others.csv ... 153
reading ./Noun.adverbal.csv ... 808
reading ./Postp.csv ... 146
reading ./Noun.verbal.csv ... 12150
reading ./Noun.name.csv ... 34215
reading ./Adverb.csv ... 3032
reading ./Verb.csv ... 130750
reading ./Auxil.csv ... 199
reading ./neologd-date-time-infreq-dict-seed.20170224.csv ... 16533
reading ./Noun.number.csv ... 42
reading ./Noun.org.csv ... 17149
reading ./Symbol.csv ... 208
reading ./Noun.demonst.csv ... 120
reading ./Adnominal.csv ... 135
reading ./neologd-noun-sahen-conn-ortho-variant-dict-seed.20160323.csv ... 26058
reading ./Noun.place.csv ... 73194
reading ./Noun.adjv.csv ... 3328
reading ./Prefix.csv ... 224
reading ./neologd-adjective-verb-dict-seed.20160324.csv ... 20268
reading ./neologd-interjection-dict-seed.20170216.csv ... 4701
reading ./Others.csv ... 2
reading ./mecab-user-dict-seed.20180108.csv ... 3096420
reading ./Adj.csv ... 27210
reading ./neologd-adjective-exp-dict-seed.20151126.csv ... 1051146
emitting double-array: 100% |###########################################|
reading ./matrix.def ... 1316x1316
emitting matrix      : 100% |###########################################|

done!
[make-mecab-ipadic-NEologd] : Make custom system dictionary on /home/ubuntu/mecab-ipadic-neologd/libexec/../build/mecab-ipadic-2.7.0-20070801-neologd-20180108
make: Nothing to be done for 'all'.
[make-mecab-ipadic-NEologd] : Finish..
[install-mecab-ipadic-NEologd] : Get results of tokenize test
[test-mecab-ipadic-NEologd] : Start..
[test-mecab-ipadic-NEologd] : Replace timestamp from 'git clone' date to 'git commit' date
[test-mecab-ipadic-NEologd] : Get buzz phrases
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  108k    0  108k    0     0   101k      0 --:--:--  0:00:01 --:--:--  101k
[test-mecab-ipadic-NEologd] : Get difference between default system dictionary and mecab-ipadic-NEologd
[test-mecab-ipadic-NEologd] : Tokenize phrase using default system dictionary
[test-mecab-ipadic-NEologd] : Tokenize phrase using mecab-ipadic-NEologd
[test-mecab-ipadic-NEologd] : Get result of diff
[test-mecab-ipadic-NEologd] : Please check difference between default system dictionary and mecab-ipadic-NEologd

default system dictionary         |     mecab-ipadic-NEologd
三森 すずこ                       |     三森すずこ
み も りん                        |     みもりん
SAKURA スキップ                   |     SAKURAスキップ
天野 浩成                         |     天野浩成
センター 日本 史                  |     センター 日本史
進撃 の 巨人                      |     進撃の巨人
ブラ クラ                         |     ブラクラ
森 葉子 アナウンサー              |     森葉子 アナウンサー
平井 文夫                         |     平井文夫
藤井 システム                     |     藤井システム
柳家 小 蝠                        |     柳家小蝠
センター 試験                     |     センター試験
鈴木 隆行                         |     鈴木隆行
タイプライターズ                  |     タイプ ライターズ
センター 世界 史                  |     センター 世界史

[test-mecab-ipadic-NEologd] : Finish..

[install-mecab-ipadic-NEologd] : Please check the list of differences in the upper part.

[install-mecab-ipadic-NEologd] : Do you want to install mecab-ipadic-NEologd? Type yes or no.
yes
[install-mecab-ipadic-NEologd] : OK. Let's install mecab-ipadic-NEologd.
[install-mecab-ipadic-NEologd] : Start..
ls: cannot access '/usr/lib/mecab/dic': No such file or directory
/home/ubuntu/mecab-ipadic-neologd/bin/../libexec/install-mecab-ipadic-neologd.sh: line 56: [: 0: unary operator expected
[install-mecab-ipadic-NEologd] : /usr/lib/mecab/dic isn't current user's directory
[install-mecab-ipadic-NEologd] : Sudo make install to /usr/lib/mecab/dic/mecab-ipadic-neologd
make[1]: Entering directory '/home/ubuntu/mecab-ipadic-neologd/build/mecab-ipadic-2.7.0-20070801-neologd-20180108'
make[1]: Nothing to be done for 'install-exec-am'.
/bin/bash ./mkinstalldirs /usr/lib/mecab/dic/mecab-ipadic-neologd
mkdir /usr/lib/mecab/dic
mkdir /usr/lib/mecab/dic/mecab-ipadic-neologd
 /usr/bin/install -c -m 644 ./matrix.bin /usr/lib/mecab/dic/mecab-ipadic-neologd/matrix.bin
 /usr/bin/install -c -m 644 ./char.bin /usr/lib/mecab/dic/mecab-ipadic-neologd/char.bin
 /usr/bin/install -c -m 644 ./sys.dic /usr/lib/mecab/dic/mecab-ipadic-neologd/sys.dic
 /usr/bin/install -c -m 644 ./unk.dic /usr/lib/mecab/dic/mecab-ipadic-neologd/unk.dic
 /usr/bin/install -c -m 644 ./left-id.def /usr/lib/mecab/dic/mecab-ipadic-neologd/left-id.def
 /usr/bin/install -c -m 644 ./right-id.def /usr/lib/mecab/dic/mecab-ipadic-neologd/right-id.def
 /usr/bin/install -c -m 644 ./rewrite.def /usr/lib/mecab/dic/mecab-ipadic-neologd/rewrite.def
 /usr/bin/install -c -m 644 ./pos-id.def /usr/lib/mecab/dic/mecab-ipadic-neologd/pos-id.def
 /usr/bin/install -c -m 644 ./dicrc /usr/lib/mecab/dic/mecab-ipadic-neologd/dicrc
make[1]: Leaving directory '/home/ubuntu/mecab-ipadic-neologd/build/mecab-ipadic-2.7.0-20070801-neologd-20180108'

[install-mecab-ipadic-NEologd] : Install completed.
[install-mecab-ipadic-NEologd] : When you use MeCab, you can set '/usr/lib/mecab/dic/mecab-ipadic-neologd' as a value of '-d' option of MeCab.
[install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here.
Usage:
    $ mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd ...

[install-mecab-ipadic-NEologd] : Finish..
[install-mecab-ipadic-NEologd] : Finish..
ubuntu@AWS_TEST: mecab-ipadic-neologd]

 

 

インストールが完了したらタイプを元に戻す

経費削減のため元の無料利用枠のタイプに戻しましょう。

 

対象のインスタンスを選択し「アクション」-「インスタンスの状態」-「停止」を選択します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

「インスタンスの停止」の確認画面が表示されるので「停止する」ボタンをクリックします。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

「インスタンスの状態」「stopped」になっていることを確認します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

対象の EC2 インスタンスを選択し「アクション」-「インスタンスの設定」-「インスタンスタイプの変更」を選択します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

インスタンスタイプの変更画面が表示されたら「t1.micro」を選択して「適用」ボタンをクリックします。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

下図のように「インスタンスタイプ」が変更されていることを確認します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

対象の EC2 インスタンスを選択して「アクション」-「インスタンスの状態」-「開始」を選択します。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

「インスタンスの開始」確認画面で「開始する」ボタンをクリックします。

【AWS】【機械学習】Deep Learning AMI(Amazon Linux)で【形態素解析】を試した【Part.1】

 

 

 

Python 3 系で使えるようにする

今回は mecab を Python プログラムから使用したいので「Python3系」のプログラムから mecab を実行できるようにライブラリ(mecab-python3)をインストールします。

ライブラリのビルドに必要なパッケージをインストール

 

「mecab-python3」は pip コマンドを使ってインストールします。

現在のデフォルトの pip のバージョンを確認します。

pip のバージョンは「9.0.1」「python 3.6」のライブラリを使っていることが分かります。

ubuntu@AWS_TEST: ~] pip --version
pip 9.0.1 from /home/ubuntu/anaconda3/lib/python3.6/site-packages (python 3.6)
ubuntu@AWS_TEST: ~]

 

 

■pipがインストールされていない場合は以下のコマンドでインストールする

pip  --version コマンドを実行した際に以下のように pip がインストールされていないというメッセージが出た場合です。

ubuntu@AWS_TEST ~] pip --version
The program 'pip' is currently not installed. You can install it by typing: ← pip がインストールされていません。
sudo apt install python-pip
ubuntu@AWS_TEST ~]

 

apt install python-pip」コマンドで pip をインストールします。

ubuntu@AWS_TEST ~] sudo apt install python-pip

 

 

 

pip install コマンドで「mecab-python3」をインストールします。

ubuntu@AWS_TEST: ~] pip install mecab-python3
Collecting mecab-python3
  Downloading mecab-python3-0.7.tar.gz (41kB)
    100% |????????????????????????????????| 51kB 5.5MB/s
Building wheels for collected packages: mecab-python3
  Running setup.py bdist_wheel for mecab-python3 ... done
  Stored in directory: /home/ubuntu/.cache/pip/wheels/6f/0e/eb/962d0d0c1ed7e2e03b9ff2ed186ab3034053b0e970cd04005c
Successfully built mecab-python3
Installing collected packages: mecab-python3
Successfully installed mecab-python3-0.7
ubuntu@AWS_TEST: ~]

 

 

mecab-python3をインストール時に「MeCab_wrap.cxx:149:20: fatal error: Python.h: No such file or directory」というエラーが出る場合

pip install mecab-python3 コマンドを実行すると「MeCab_wrap.cxx:149:20: fatal error: Python.h: No such file or directory」というエラーが出力される場合があります。

ubuntu@AWS_TEST ~] pip3.6 install mecab-python3
Collecting mecab-python3
  Using cached mecab-python3-0.7.tar.gz
Building wheels for collected packages: mecab-python3
  Running setup.py bdist_wheel for mecab-python3 ... error
  Complete output from command /usr/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-saekyb4g/mecab-python3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp9jfzg959pip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  copying MeCab.py -> build/lib.linux-x86_64-3.6
  running build_ext
  building '_MeCab' extension
  creating build/temp.linux-x86_64-3.6
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include -I/usr/include/python3.6m -c MeCab_wrap.cxx -o build/temp.linux-x86_64-3.6/MeCab_wrap.o
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  MeCab_wrap.cxx:149:20: fatal error: Python.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for mecab-python3
  Running setup.py clean for mecab-python3
Failed to build mecab-python3
Installing collected packages: mecab-python3
  Running setup.py install for mecab-python3 ... error
    Complete output from command /usr/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-saekyb4g/mecab-python3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-5gx3mudk-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.6
    copying MeCab.py -> build/lib.linux-x86_64-3.6
    running build_ext
    building '_MeCab' extension
    creating build/temp.linux-x86_64-3.6
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include -I/usr/include/python3.6m -c MeCab_wrap.cxx -o build/temp.linux-x86_64-3.6/MeCab_wrap.o
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    MeCab_wrap.cxx:149:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-saekyb4g/mecab-python3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-5gx3mudk-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-saekyb4g/mecab-python3/
ubuntu@AWS_TEST ~]

 

 

apt-get install コマンドで python3.6-dev をインストールします。

※python-devではありません。

ubuntu@AWS_TEST ~] sudo apt-get install python3.6-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libpython3.6 libpython3.6-dev
The following NEW packages will be installed:
  libpython3.6 libpython3.6-dev python3.6-dev
0 upgraded, 3 newly installed, 0 to remove and 4 not upgraded.
Need to get 4,415 kB of archives.
After this operation, 21.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main amd64 libpython3.6 amd64 3.6.3-1ubuntu1~16.04.york1 [1,433 kB]
Get:2 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main amd64 libpython3.6-dev amd64 3.6.3-1ubuntu1~16.04.york1 [2,462 kB]
Get:3 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main amd64 python3.6-dev amd64 3.6.3-1ubuntu1~16.04.york1 [520 kB]
Fetched 4,415 kB in 9s (466 kB/s)
Selecting previously unselected package libpython3.6:amd64.
(Reading database ... 58428 files and directories currently installed.)
Preparing to unpack .../libpython3.6_3.6.3-1ubuntu1~16.04.york1_amd64.deb ...
Unpacking libpython3.6:amd64 (3.6.3-1ubuntu1~16.04.york1) ...
Selecting previously unselected package libpython3.6-dev:amd64.
Preparing to unpack .../libpython3.6-dev_3.6.3-1ubuntu1~16.04.york1_amd64.deb ...
Unpacking libpython3.6-dev:amd64 (3.6.3-1ubuntu1~16.04.york1) ...
Selecting previously unselected package python3.6-dev.
Preparing to unpack .../python3.6-dev_3.6.3-1ubuntu1~16.04.york1_amd64.deb ...
Unpacking python3.6-dev (3.6.3-1ubuntu1~16.04.york1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libpython3.6:amd64 (3.6.3-1ubuntu1~16.04.york1) ...
Setting up libpython3.6-dev:amd64 (3.6.3-1ubuntu1~16.04.york1) ...
Setting up python3.6-dev (3.6.3-1ubuntu1~16.04.york1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
ubuntu@AWS_TEST ~]

 

 

 

動作確認

再度動作確認します。

mecab-ipadic-NEologd」は、mecab コマンドで「-d」でディレクトリを指定する必要があります。

以下のようにかなりの固有名詞が登録されているようです。

ubuntu@AWS_TEST: ~] mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd
機動戦士ガンダム
機動戦士ガンダム        名詞,固有名詞,一般,*,*,*,機動戦士ガンダム,キドウセンシガンダム,キドーセンシガンダム
EOS
ガキの使いやあらへんで
ガキの使い      名詞,固有名詞,一般,*,*,*,ガキの使い,ガキノツカイ,ガキノツカイ
や      助詞,係助詞,*,*,*,*,や,ヤ,ヤ
あら    動詞,自立,*,*,五段・ラ行,未然形,ある,アラ,アラ
へん    助動詞,*,*,*,不変化型,基本形,へん,ヘン,ヘン
で      助詞,終助詞,*,*,*,*,で,デ,デ
EOS
デヴィ婦人
デヴィ  名詞,固有名詞,人名,一般,*,*,デヴィ,デヴィ,デヴィ
婦人    名詞,一般,*,*,*,*,婦人,フジン,フジン
EOS
メッシ
貊・    名詞,一般,*,*,*,*,*
。       記号,一般,*,*,*,*,*
ッシ    名詞,固有名詞,組織,*,*,*,*
EOS
有吉弘行
有吉弘行        名詞,固有名詞,人名,一般,*,*,有吉弘行,アリヨシヒロイキ,アリヨシヒロイキ
EOS
X Japan
X       名詞,固有名詞,一般,*,*,*,X,エックス,エックス
Japan   名詞,固有名詞,人名,一般,*,*,JAPAN,ジャパン,ジャパン
EOS
カズレーザー
カズレーザー    名詞,固有名詞,人名,一般,*,*,カズレーザー,カズレーザー,カズレーザー
EOS
うすた京介
うすた京介      名詞,固有名詞,人名,一般,*,*,うすた京介,ウスタキョウスケ,ウスタキョースケ
EOS
でんじろう
でんじろう      名詞,固有名詞,一般,*,*,*,でんじろう,デンジロウ,デンジロー
EOS
広瀬すず
広瀬すず        名詞,固有名詞,人名,一般,*,*,広瀬すず,ヒロセスズ,ヒロセスズ
EOS
竹原ピストル
竹原ピストル    名詞,固有名詞,人名,一般,*,*,竹原ピストル,タケハラピストル,タケハラピストル
EOS

 

 

 

参考にしたサイト

Ubuntu 14.04 に Mecab と mecab-python3 をインストール

https://qiita.com/elm200/items/2c2aa2093e670036bb30

 

MeCab-Pythonの導入手順(CentOS6)

http://progmemo114.hatenablog.com/entry/2016/07/02/145015

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。