2023年1月31日火曜日

形態素解析

コンピュータによる自然言語処理のアルゴリズムで第一に取り上げられるのが形態素解析である。品詞情報がならんだ辞書をもちいて,原文を形態素(品詞情報付き)に分解できる。

これを実現するソフトウェアとしては,大学等で開発されたいくつかのフリーソフトが有名だった。Juman / Juman++ChaSenKAKASIMeCab(工藤拓),SudachiKuromoji(atilica),janome(打田智子)などである。MeCabがポピュラーなのだけれど今となっては少し古いのかもしれない。これまで,MeCabになじんできたので,Juman++出力形式はやや違和感がある。

さて,しばらく前に,mecab-neologdというMeCabの最新辞書を導入した。それでもたりない場合は,ユーザ辞書を定義して使うことになるのでチャレンジしてみる。その前に,システム辞書をipadicからipadic-neologdに変更してみた。
vi /opt/homebrew/etc/mecabrc
configuration file の dicdir の修正:
; dicdir =  /opt/homebrew/lib/mecab/dic/ipadic
dicdir = /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd
次に,「ユーザ辞書登録をやり直す」にしたがって,ユーザ辞書を使えるようにしてみた。
cd /opt/homebrew/lib/mecab/dic
vi userdic.csv
cat userdic.csv

行政組織,,,1000,名詞,一般,*,*,*,*,行政組織,ギョウセイソシキ,ギョウセイソシキ

出発点,,,5000,名詞,一般,*,*,*,*,出発点,シュッパツテン,シュッパツテン

95%信頼区間,,,5000,名詞,一般,*,*,*,*,95%信頼区間,キュウジュウゴパーセントシンライクカン,キュージューゴパーセントシンライクカン

/opt/homebrew/Cellar/mecab/0.996/libexec/mecab/mecab-dict-index -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd -u userdic.dic -f utf-8 -t utf-8 userdic.csv
mecab -u /opt/homebrew/lib/mecab/dic/userdic.dic

これで使えるようになる。ユーザ辞書のcsvファイルの構造は次のようになっている。
表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音
左右の文脈IDは空欄でよいらしい。またコスト値を推定する方法についてはもう少し調べる必要がある。

0 件のコメント: