2020年3月8日日曜日

mecab-ipadic-NEologdの辞書を修正する

mecab-ipadic-NEologdで形態素解析を新語に対応させるのように、MeCabで形態素解析するときにmecab-ipadic-NEologdを使うと新語をひとつの語として判定してくれるので、標準のIPA辞書では判定できない固有名詞などにも対応できる。ただしmecab-ipadic-NEologdの辞書は自動で更新されているようで、使いたくない新語などが登録されていることがある。そういったデータを修正しようと思ったが、ドキュメントなどに方法が見つからなかったので、自分で調べて行った方法をまとめておく。


環境


Windows10(1903)のWSL(Ubuntu 18.04)。MeCabはインストール済みとする。



meab-ipadic-NEologdの準備


まずはmecab-ipadic-NEologdの手順通りにgithubからクローンしてインストールする。


インストールが完了したらインストールディレクトリを確認しておく。


mecab-ipadic-NEologdの動作確認。



meab-ipadic-NEologdの直したい辞書データ


mecab-ipadic-NEologdは、インターネット上をクロールして自動収集した語を加えているので新語に強いが、自動化されているためか、使うには微妙な語が登録されていることがある。以下の例ではmecab-ipadic-NEologdを使うと「涙。」が固有名詞として認識されている。



meab-ipadic-NEologdの辞書データを修正


「涙。」は「涙」と「。」として判定されるようにmecab-ipadic-NEologdの辞書データを修正する。クローンしたmecab-ipadic-NEologdのディレクトリ配下のseedに辞書データの元となるcsvがxz形式で圧縮されている。これらのファイルをまずは解凍する。


解凍したcsvを「涙。」でgrep検索してみる。


いくつか検索結果がヒットするが、その中に対象となる登録があった。mecab-user-dict-seed.20200130.csv内で「涙。」が固有名詞として登録されている。さらに「涙」も固有名詞として登録されていて、原形が「涙。」になっている。少なくとも自分にはこれらの登録は不要なのでこの2行を削除する。


修正したmecab-user-dict-seed.20200130.csvをxzで圧縮し直す。


辞書データの修正を反映させるためにmecab-ipadic-NEologdを再インストールする。


再インストール後に形態素解析してみると、「涙」と「。」が分割された。


0 件のコメント:

コメントを投稿