MeCabのPythonバインディングのインストール
先週扱ったMeCabのPythonバインディングですが,
この
AlternativesシステムでMeCabのデフォルト辞書を変更する
MeCabから取得できる形態素情報は使う辞書によって異なります。今回はnaist-jdicの使用を前提とします。もし複数の辞書をインストールしている場合は,
Alternativeシステムとは,
他の例も挙げてみましょう。何らかのソフトウェアをビルドする際にその過程で,
このようなトラブルの解決するのがAlternativesシステムです。Alternativesシステムは実はシンボリックリンクを管理しています。先ほどの
さてMeCabのデフォルト辞書もまた,
$ sudo update-alternatives --config mecab-dictionary alternative mecab-dictionary (/var/lib/mecab/dic/debian を提供) には 6 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ 0 /var/lib/mecab/dic/naist-jdic 100 自動モード 1 /var/lib/mecab/dic/ipadic 70 手動モード 2 /var/lib/mecab/dic/ipadic-utf8 80 手動モード 3 /var/lib/mecab/dic/juman 30 手動モード 4 /var/lib/mecab/dic/juman-utf8 40 手動モード * 5 /var/lib/mecab/dic/naist-jdic 100 手動モード 6 /var/lib/mecab/dic/naist-jdic-eucjp 90 手動モード 現在の選択 [*] を保持するには Enter,さもなければ選択肢の番号のキーを押してください:
この例では,
スクリプトの概要
今回作成したスクリプトは,
このスクリプトは,
mbrolaデータベースとしてjp1を用います。スクリプト内にデータベースへの相対パス
スクリプトを実行するには,
$ python2 ./mecabrola.py 何を喋りたい?:
実行すると入力待ちとなりますので,
$ python2 ./mecabrola.py 何を喋りたい?: あらゆる現実をすべて自分の方へねじ曲げたのだ。 再生中 Sparc オーディオ 'stdin' : Signed 16 bit Big Endian, レート 22050 Hz, モノラル
スクリプトの制約として,
$ python2 ./mecabrola.py 何を喋りたい?: アフリカ人は,実に巧みにぴゅんとつばを吐く。 再生中 Sparc オーディオ 'stdin' : Signed 16 bit Big Endian, レート 22050 Hz, モノラル
$ echo "アフリカ人は,実に巧みにぴゅんとつばを吐く。" | mecab アフリカ 名詞,固有名詞,地域,一般,*,*,アフリカ,アフリカ,アフリカ,, 人 名詞,接尾,一般,*,*,*,人,ジン,ジン,, は 助詞,係助詞,*,*,*,*,は,ハ,ワ,, , 記号,読点,*,*,*,*,,,,,,,, 実に 副詞,一般,*,*,*,*,実に,ジツニ,ジツニ,, 巧み 名詞,形容動詞語幹,*,*,*,*,巧み,タクミ,タクミ,, に 助詞,副詞化,*,*,*,*,に,ニ,ニ,, ぴゅんとつばを 名詞,一般,*,*,*,*,* 吐く 動詞,自立,*,*,五段・カ行イ音便,基本形,吐く,ハク,ハク,, 。 記号,句点,*,*,*,*,。,。,。,, EOS
さらに,