アイソモカ

知の遊牧民の開発記録

開発記録191124 Sun (100本ノック#041, UniDic)

自然言語処理100本ノック #041 を仕上げ、形態素解析辞書 UniDic を導入した。

やったこと

100本ノック #041

コードを整理した

数週間ぶりで、何をしていたのか思い出すのに時間がかかってしまった。

f:id:piijey:20191124151131j:plain
191124 note
右上の "knock040" は、"knock041" の誤り。

191028の記録では、

係り元文節インデックス番号のリスト(srcs)は、まだ。

と書いているが、どうも済んだらしい。

完成

「恐しいとも」が、「恐ろし/いとも」と形態素分割されているのが良くない。 MeCab のユーザー辞書に「恐しい」を追加したらいいのかな。

# knock_041.py
* cid: dst, srcs
    morph surface, base, pos, pos1
* 0: 9, []
    しかし, しかし, 接続詞, *

* 1: 2, []
    その, その, 連体詞, *

* 2: 5, [1]
    当時, 当時, 名詞, 副詞可能
    は, は, 助詞, 係助詞

* 3: 4, []
    何, 何, 名詞, 代名詞
    という, という, 助詞, 格助詞

* 4: 5, [3]
    考, 考, 名詞, 一般
    も, も, 助詞, 係助詞

* 5: 9, [2, 4]
    なかっ, ない, 形容詞, 自立
    た, た, 助動詞, *
    から, から, 助詞, 接続助詞

* 6: 7, []
    別段, 別段, 副詞, 助詞類接続

* 7: 9, [6]
    恐し, 恐い, 形容詞, 自立

* 8: 9, []
    いとも, いとも, 副詞, 一般

* 9: -1, [0, 5, 7, 8]
    思わ, 思う, 動詞, 自立
    なかっ, ない, 助動詞, *
    た, た, 助動詞, *
    。, 。, 記号, 句点

形態素解析用の辞書をIPA から UniDic に変更

「UniDic」国語研短単位自動解析用辞書|最新版ダウンロード から unidic-cwj-2.3.0 を入手し、 /usr/local/lib/mecab/dic/ に置いた。

設定ファイルは2つ変更する。1つは UniDic、もうひとつは MeCab

UniDicの出力を編集

MeCab で使用する際、デフォルトでは出力が他の辞書と違うようなので、統一するために /usr/local/lib/mecab/dic/unidic-cwj-2.3.0/dicrc を編集した。

参考:MeCab+Pythonでunidicを使う - 静かなる名辞

;以下の2行をコメントアウトする(連続しているとは限らない)
;bos-feature = BOS/EOS,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*
;node-format-unidic22 = %m\t%f[0],%f[1],%f[2],%f[3],%f[4],%f[5],%f[6],%f[7],%f[8],%f[9],%f[10],%f[11],%f[12],%f[13],%f[14],%f[15],%f[16],%f[17],%f[18],%f[19],%f[20],%f[21],%f[22],%f[23],%f[24],%f[25],%f[26],%f[27],%f[28]\n

;以下の2行を追加
bos-feature = BOS/EOS,*,*,*,*,*,*,*,*
node-format-unidic22 = %m\t%f[0],%f[1],%f[2],%f[3],%f[4],%f[5],%f[10],%f[9],%f[11]\n

確認

さきほどの100本ノックの文をMeCab形態素解析してみた。 UniDic を使ったほうでは、思った通りに解析されている。

# MeCab + IPA
しかしその当時は何という考もなかったから別段恐しいとも思わなかった。
しかし   接続詞,*,*,*,*,*,しかし,シカシ,シカシ
その  連体詞,*,*,*,*,*,その,ソノ,ソノ
当時  名詞,副詞可能,*,*,*,*,当時,トウジ,トージ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
何 名詞,代名詞,一般,*,*,*,何,ナニ,ナニ
という   助詞,格助詞,連語,*,*,*,という,トイウ,トユウ
考 名詞,一般,*,*,*,*,考,コウ,コー
も 助詞,係助詞,*,*,*,*,も,モ,モ
なかっ   形容詞,自立,*,*,形容詞・アウオ段,連用タ接続,ない,ナカッ,ナカッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
から  助詞,接続助詞,*,*,*,*,から,カラ,カラ
別段  副詞,助詞類接続,*,*,*,*,別段,ベツダン,ベツダン
恐し  形容詞,自立,*,*,形容詞・アウオ段,文語基本形,恐い,コワシ,コワシ
いとも   副詞,一般,*,*,*,*,いとも,イトモ,イトモ
思わ  動詞,自立,*,*,五段・ワ行促音便,未然形,思う,オモワ,オモワ
なかっ   助動詞,*,*,*,特殊・ナイ,連用タ接続,ない,ナカッ,ナカッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
# MeCab + UniDic
しかしその当時は何という考もなかったから別段恐しいとも思わなかった。
しかし   接続詞,,,,,,しかし,シカシ,シカシ
その  連体詞,,,,,,その,ソノ,ソノ
当時  名詞,普通名詞,副詞可能,,,,当時,トージ,トージ
は 助詞,係助詞,,,,,は,ワ,ワ
何 代名詞,,,,,,何,ナン,ナン
と 助詞,格助詞,,,,,と,ト,ト
いう  動詞,一般,,,五段-ワア行,連体形-一般,いう,イウ,イウ
考 名詞,普通名詞,一般,,,,考,カンガエ,カンガエ
も 助詞,係助詞,,,,,も,モ,モ
なかっ   形容詞,非自立可能,,,形容詞,連用形-促音便,ない,ナカッ,ナイ
た 助動詞,,,,助動詞-タ,終止形-一般,た,タ,タ
から  助詞,接続助詞,,,,,から,カラ,カラ
別段  副詞,,,,,,別段,ベツダン,ベツダン
恐しい   形容詞,一般,,,形容詞,終止形-一般,恐しい,オソロシー,オソロシー
と 助詞,格助詞,,,,,と,ト,ト
も 助詞,係助詞,,,,,も,モ,モ
思わ  動詞,一般,,,五段-ワア行,未然形-一般,思う,オモワ,オモウ
なかっ   助動詞,,,,助動詞-ナイ,連用形-促音便,ない,ナカッ,ナイ
た 助動詞,,,,助動詞-タ,終止形-一般,た,タ,タ
。 補助記号,句点,,,,,。,,
EOS

 

違いとかメモ

  • IPA辞書は新しいことばが得意で、UniDic は書きことばが得意らしい(話しことば用、古典用の辞書は別に用意されている)
  • UniDic は国立国語研究所規定の「短単位」という単位を使用している。
  • 「という」は、IPAでは1単位、UniDicでは2単位
  • 「何」(「ナニ」 vs. 「ナン」)
  • 「考」(「コウ」 vs. 「カンガエ」)
  • 「恐しい」

MeCab のデフォルト辞書を設定

MeCab をターミナルから立ち上げる時は、$ mecab -d 辞書のディレクトリpathで使う辞書を指定できる。

デフォルト辞書は /usr/local/etc/mecabrc で指定する。

ユーザー辞書は後でいいや

UniDicを入れ直したので、昨年作ったUniDic用の辞書もコンパイルし直さなければならないような気がする。後でいいや。

piijey.hatenablog.com

以前にやったやつを記録に残していたけど、UniDic は2.3以降ディレクトリ形式が変わったように見える? このままではダメっぽい?

100本ノック #041 の結果は

neko.txt係り受け解析を出力 $ cat neko.txt | cabocha -f1 > neko.txt.unidic.cabocha し、同じプログラムで解析。

# knock_041.py
* cid: dst, srcs
    morph surface, base, pos, pos1
* 0: 5, []
    しかし, シカシ, 接続詞, *

* 1: 2, []
    その, ソノ, 連体詞, *

* 2: 3, [1]
    当時, トウジ, 名詞, 普通名詞
    は, ハ, 助詞, 係助詞

* 3: 4, [2]
    何, ナニ, 代名詞, *
    と, ト, 助詞, 格助詞
    いう, イウ, 動詞, 一般
    考, カンガエ, 名詞, 普通名詞
    も, モ, 助詞, 係助詞
    なかっ, ナイ, 形容詞, 非自立可能
    た, タ, 助動詞, *
    から, カラ, 助詞, 接続助詞

* 4: 5, [3]
    別段, ベツダン, 副詞, *
    恐しい, オソロシイ, 形容詞, 一般
    と, ト, 助詞, 格助詞
    も, モ, 助詞, 係助詞

* 5: -1, [0, 4]
    思わ, オモウ, 動詞, 一般
    なかっ, ナイ, 助動詞, *
    た, タ, 助動詞, *
    。, *, 補助記号, 句点

なんやえらい文節減ったやん。かなり辞書に依存するんやな。ここらへんがどんな仕組みで動いているのかも気になってくる。