ほんとのこと知りたいだけなのに。

夏休みはもうおわり。

openSUSE に MeCab をインストール

openSUSE に MeCab をインストールします。

環境: openSUSE Leap 42.1

MeCab のインストール

zypper に入ってなかったのでsoftware.opensuse.org の Package Searchからダウンロードする。

「MeCab」で検索してMeCabのページへ移動。

そして以下をクリックしたファイルをダウンロードすれば良し。

openSUSE 42.1 -> showunstable packages -> home:belphegor_belbel0.994 -> 64Bit

sudo rpm -Uvh mecab-0.994-10.1.x86_64.rpm でインストール。

辞書のインストール

このまま利用しようとすると辞書がないと叱られるので辞書をインストールします。
MeCab で形態素解析をしてみよう!! を参考に。

ちなみに、こんな感じで叱られます。

> echo 総務部長と万年課長は蕎麦屋とうどん屋をはしごした | mecab
param.cpp(69) [ifs] no such file or directory: /usr/lib/mecab/dic/ipadic/dicrc

この実行例はどこかのサイトから拝借したんですが。。。どこかわからなくなった。。。もうしわけなし、と感謝。

辞書をダウンロード/解凍

MeCab: Yet Another Part-of-Speech and Morphological Analyzer で以下をクリックしダウンロードする。

MeCab 用の辞書 -> IPA 辞書 -> ダウンロード

今回のファイル名はこれ: mecab-ipadic-2.7.0-20070801.tar.gz

そしてダウンロードしたものを解凍する。

> tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz
mecab-ipadic-2.7.0-20070801/
    :
   (略)
    :
mecab-ipadic-2.7.0-20070801/RESULT

インストール

cd mecab-ipadic-2.7.0-20070801 で解凍したディレクトリに移動して ./configure --with-charset=utf8 する。

> ./configure --with-charset=utf8
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
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... found
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

そして make

> make
/usr/lib/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
reading ./unk.def ... 40
emitting double-array: 100% |###########################################| 
    :
   (略)
    :
done!
echo To enable dictionary, rewrite /etc/mecab/mecabrc as \"dicrc = /usr/lib64/mecab/dic/ipadic\"
To enable dictionary, rewrite /etc/mecab/mecabrc as "dicrc = /usr/lib64/mecab/dic/ipadic"

make install

そして make install

> sudo make install
root's password:
make[1]: Entering directory '/home/yanqirenshi/Downloads/mecab-ipadic-2.7.0-20070801'
make[1]: Nothing to be done for 'install-exec-am'.
/bin/sh ./mkinstalldirs /usr/lib64/mecab/dic/ipadic
mkdir /usr/lib64/mecab
mkdir /usr/lib64/mecab/dic
mkdir /usr/lib64/mecab/dic/ipadic
 /usr/bin/install -c -m 644 ./matrix.bin /usr/lib64/mecab/dic/ipadic/matrix.bin
 /usr/bin/install -c -m 644 ./char.bin /usr/lib64/mecab/dic/ipadic/char.bin
 /usr/bin/install -c -m 644 ./sys.dic /usr/lib64/mecab/dic/ipadic/sys.dic
 /usr/bin/install -c -m 644 ./unk.dic /usr/lib64/mecab/dic/ipadic/unk.dic
 /usr/bin/install -c -m 644 ./left-id.def /usr/lib64/mecab/dic/ipadic/left-id.def
 /usr/bin/install -c -m 644 ./right-id.def /usr/lib64/mecab/dic/ipadic/right-id.def
 /usr/bin/install -c -m 644 ./rewrite.def /usr/lib64/mecab/dic/ipadic/rewrite.def
 /usr/bin/install -c -m 644 ./pos-id.def /usr/lib64/mecab/dic/ipadic/pos-id.def
 /usr/bin/install -c -m 644 ./dicrc /usr/lib64/mecab/dic/ipadic/dicrc
make[1]: Leaving directory '/home/yanqirenshi/Downloads/mecab-ipadic-2.7.0-20070801'

MeCab の辞書のディレクトリ設定

しかしこのままでも辞書がないと叱られます。

> echo 総務部長と万年課長は蕎麦屋とうどん屋をはしごした | mecab
param.cpp(69) [ifs] no such file or directory: /usr/lib/mecab/dic/ipadic/dicrc

なのでMeCabの辞書のパスを変更します。

/etc/mecabmecabrc なるファイルがある。

> cd /etc/mecab/
> ls -la
total 4
drwxr-xr-x 1 root root   14 Oct  4 23:57 .
drwxr-xr-x 1 root root 5296 Oct  5 08:17 ..
-rw-r--r-- 1 root root  289 Oct 21  2015 mecabrc

そのファイルの中に dicdir で ipadic の場所が設定されているのでこれを変更してみる。

dicdir =  /usr/lib/mecab/dic/ipadic
   を、以下に変更
dicdir = /usr/lib64/mecab/dic/ipadic

MeCabの稼動確認

無事動いたみたいです。

> echo 総務部長と万年課長は蕎麦屋とうどん屋をはしごした | mecab
総務  名詞,一般,*,*,*,*,総務,ソウム,ソーム
部長  名詞,一般,*,*,*,*,部長,ブチョウ,ブチョー
と 助詞,並立助詞,*,*,*,*,と,ト,ト
万 名詞,数,*,*,*,*,万,マン,マン
年 名詞,接尾,助数詞,*,*,*,年,ネン,ネン
課長  名詞,一般,*,*,*,*,課長,カチョウ,カチョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
蕎麦  名詞,一般,*,*,*,*,蕎麦,ソバ,ソバ
屋 名詞,接尾,一般,*,*,*,屋,ヤ,ヤ
と 助詞,並立助詞,*,*,*,*,と,ト,ト
うどん   名詞,一般,*,*,*,*,うどん,ウドン,ウドン
屋 名詞,接尾,一般,*,*,*,屋,ヤ,ヤ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
はしご   名詞,一般,*,*,*,*,はしご,ハシゴ,ハシゴ
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS

おしまい

これで Common Lisp から形態素解析できそうですね。

よかった。よかった。