やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

形態素解析MeCabをインストールする

 文章を品詞ごとに分解してくれるツール。

MeCab

 パッケージマネージャからインストールできないか探してみた。

sudo apt-get install libmecab1 libmecab-dev mecab mecab-ipadic mecab-ipadic-utf8 mecab-utils

 さて、そのパッケージ名は今も存在するかな?

sudo apt install libmecab2 libmecab-dev mecab mecab-utils mecab-ipadic-utf8
$ sudo apt search mecab | grep mecab

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

groonga-tokenizer-mecab/oldstable,oldstable,stable,stable 6.1.5-1 armhf
libmecab-dev/oldstable,oldstable,stable,stable 0.996-3.1 armhf
libmecab-java/oldstable,oldstable,stable,stable 0.99.6-1 all
  mecab binding for Java - java classes
libmecab-jni/oldstable,oldstable,stable,stable 0.99.6-1 armhf
  mecab binding for Java - native interface
libmecab-perl/oldstable,oldstable,stable,stable 0.99.6-1+b4 armhf
  mecab binding for Perl
libmecab2/oldstable,oldstable,stable,stable 0.996-3.1 armhf
libtext-mecab-perl/oldstable,oldstable,stable,stable 0.20016-1+b3 armhf
mecab/oldstable,oldstable,stable,stable 0.996-3.1 armhf
mecab-ipadic/oldstable,oldstable,stable,stable 2.7.0-20070801+main-1 all
mecab-ipadic-utf8/oldstable,oldstable,stable,stable 2.7.0-20070801+main-1 all
mecab-jumandic/oldstable,oldstable,stable,stable 5.1+20070304-4 all
mecab-jumandic-utf8/oldstable,oldstable,stable,stable 5.1+20070304-4 all
mecab-naist-jdic/oldstable,oldstable,stable,stable 0.6.3.b-20111013-7 all
  free Japanese Dictionaries for mecab (replacement of mecab-ipadic)
mecab-naist-jdic-eucjp/oldstable,oldstable,stable,stable 0.6.3.b-20111013-7 all
  free Japanese Dictionaries for mecab (replacement of mecab-ipadic) in EUC-JP
mecab-utils/oldstable,oldstable,stable,stable 0.996-3.1 armhf
open-jtalk-mecab-naist-jdic/oldstable,oldstable,stable,stable 1.07-2 all
python-mecab/oldstable,oldstable,stable,stable 0.99.6-1 armhf
  mecab binding for Python
ruby-mecab/oldstable,oldstable,stable,stable 0.99.6-2+b2 armhf
  mecab binding for Ruby language
unidic-mecab/oldstable,oldstable,stable,stable 2.1.2~dfsg-6 all
  free Japanese Dictionaries for mecab

 というわけで、以下のようにインストールした。

$ sudo apt install libmecab2 libmecab-dev mecab mecab-utils mecab-ipadic-utf8
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  docutils-common docutils-doc gir1.2-vte-2.90 libnunit-cil-dev libnunit-console-runner2.6.3-cil libnunit-core-interfaces2.6.3-cil
  libnunit-core2.6.3-cil libnunit-framework2.6.3-cil libnunit-mocks2.6.3-cil libnunit-util2.6.3-cil libvte-2.90-9 libvte-2.90-common
  libvte-2.90-doc python-alabaster python-babel python-babel-localedata python-docutils python-imagesize python-pygments python-roman
  python-tz rlwrap sphinx-common vim-runtime
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  mecab-ipadic mecab-jumandic
以下のパッケージが新たにインストールされます:
  libmecab-dev libmecab2 mecab mecab-ipadic mecab-ipadic-utf8 mecab-jumandic mecab-utils
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
18.8 MB のアーカイブを取得する必要があります。
この操作後に追加で 138 MB のディスク容量が消費されます。
続行しますか? [Y/n] 

 138MBだと……。

確認

which mecab
/usr/bin/mecab
mecab --version
mecab of 0.996

使ってみる

 ターミナルで以下を実行する。

mecab

 空白行で止まるので、任意の文章を打ち込む。

ytyaruがMeCabで形態素解析をするらしい。急いで見に行かねばなるまい。

 すると結果が表示される。

ytyaru    名詞,固有名詞,組織,*,*,*,*
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
MeCab   名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
形態素   名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ
解析  名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
する  動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
らしい   助動詞,*,*,*,形容詞・イ段,基本形,らしい,ラシイ,ラシイ
。 記号,句点,*,*,*,*,。,。,。
急い  動詞,自立,*,*,五段・ガ行,連用タ接続,急ぐ,イソイ,イソイ
で 助詞,接続助詞,*,*,*,*,で,デ,デ
見 動詞,自立,*,*,一段,連用形,見る,ミ,ミ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
行か  動詞,自立,*,*,五段・カ行促音便,未然形,行く,イカ,イカ
ね 助動詞,*,*,*,特殊・ヌ,仮定形,ぬ,ネ,ネ
ば 助詞,接続助詞,*,*,*,*,ば,バ,バ
なる  動詞,自立,*,*,五段・ラ行,基本形,なる,ナル,ナル
まい  助動詞,*,*,*,不変化型,基本形,まい,マイ,マイ
。 記号,句点,*,*,*,*,。,。,。
EOS

辞書を変える

  • mecab -d 辞書のパス

 他には以下のように設定ファイルでできるらしい。

/usr/local/etc/mecabrc

dicdir = /usr/local/lib/mecab/dic/ipadic

他の辞書

 最新の辞書。だが作成にはメモリが最低でも2GB必要とか……。

辞書の作り方

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで