前回は、WindowsでMeCabを使うための方法について解説しました。
今回は、Mecabのユーザー辞書として、NEologdを使う方法について紹介します。
Linuxで利用するWebサイトの記事は結構ありますが、Windowsの場合は一旦Linuxコマンドが使えるようにWindowsの設定をするだとか、或いはLinuxでダウンロードした辞書をコピーして使うだとか、結構面倒な印象を受けます。
しかし、更に詳しく調べたところ、普通にWebサイトからダウンロードして使えることが分かったので、今回はその方法について解説したいと思います。
NEologdとは
ここで言うNEologdとは、正確には mecab-ipadic-NEologd という MeCab で利用できる辞書のことです。
Web 上の言語資源から得た新語を追加した MeCab 用の辞書で、これを使うことで新語に対応した形態素解析が可能となります
形態素解析用の辞書ではなく「単語分かち書き」用の辞書とのことで、これを使った形態素解析の品詞の粒度が、厳密に形態素になっているか分からない部分もありますが、頻繁に辞書が更新されているため、形態素解析でも良く使われています。
この辞書には次の特徴があります。
- IPADIC では複数の形態素に分割される固有表現(例:鬼滅の刃、約束のネバーランド)を採録
- 毎週 2 回以上の更新頻度
- Web上の言語資源を活用し、更新時に新しい固有表現を追加
- ライセンスは Apache License Version 2.0
また、更新時は以下の事が随時反映されます。
- ニュース記事から抜き出した新語、固有名詞、未知語
- ネットで流行した単語、慣用句、ハッシュタグ
- 一般名詞/固有名詞/サ変接続名詞における表記の揺れ
- パターン生成した時間表現、数値表現
- Unicode 9.0以下の絵文字
- 初期状態のスマホで入力が可能な顔文字
- IPADIC に未登録の副詞、形容詞、形容動詞、感動詞
- SNS、ログ記事に散見される崩れた表記
- IPADICに含まれるエントリにより発生するエラー対策
NEologdのインストール方法
最新のNEologdがGitHubに掲載されていますので、下記URLから
mecab-ipadic-neologd-master.zip
をダウンロードして下さい。
下記がGitHubのダウンロードサイトです。
「Code」をクリックするとドロップダウンが表示されるので、一番下のDownload.Zipをクリックして下さい。
ダウンロードした mecab-ipadic-neologd-master.zip を解凍すると、次の様なフォルダ構成になっています。
ここで、seed フォルダに移動すると、mecab-user-dict-seed.20200910.csv というファイルが見つかりますので、これを解凍してCSVファイルを取り出します。
GitHubに慣れているのであれば、GitHub上で直接 seed フォルダに移動し、直接
mecab-user-dict-seed.20200910.csv.xz
をダウンロードして頂いても結構です。
辞書の作成
MeCabの mecab-dict-index.exe を使ってバイナリの辞書に変換します。
mecab-dict-index -d システム辞書フォルダ -u 辞書のフルパス -f utf-8 -t utf-8 CSVのフルパス
インストール時にインストール先フォルダを変更していないのであれば、以下の様なフォルダ構成になっているはずです。
上記のことから、システム辞書フォルダは以下の場所になります。
C:\Program Files\MeCab\dic
辞書のフルパスは任意の場所と辞書名でいいのですが、今回はシステム辞書フォルダ内にNEologd.dicという名前で出力すると仮定します。
C:\Program Files\MeCab\dic\NEologd.dic
最後にCSVのフルパスですが、Dドライブの直下に置いたと仮定します。
D:¥mecab-user-dict-seed.20200910.csv
以上のことから、実際のコマンドは次の様になります。
mecab-dict-index -d "C:\Program Files\MeCab\dic" -u "C:\Program Files\MeCab\dic\NEologd.dic" -f utf-8 -t utf-8 D:¥mecab-user-dict-seed.20200910.csv
システム辞書フォルダと辞書のフルパスについてはパスに空白が含まれているので、前後をダブルクォートで括っています。
コマンドプロンプトからMeCab.exe で形態素解析したい場合は、etc直下のmecabrc に user-dic のエントリを追加する必要があります。
PythonのMeCabから使ってみる
下記のプログラムで「私 が 最近 見 た 映画 は 、 約束のネバーランド でし た 。」という具合に表示されれば完了です。
import MeCab tagger = MeCab.Tagger('-Owakati -d "C:/Program Files/MeCab/dic/ipadic" -u "C:/Program Files/MeCab/dic/NEologd.dic"') result = tagger.parse('私が最近見た映画は、約束のネバーランドでした。') print(result)
ちなみに、Taggerでパスを指定する場合、バックスラッシュではなく(\)、スラッシュ(/)を使わないとエラーになる場合があるのでご注意ください。
まとめ
今回は mecab-ipadic-NEologd を Windows のPythonのMeCabから利用するために、ダウンロード方法と辞書の作り方、Python MeCab からの辞書の参照の仕方について解説しました。
この辞書はかなり最新のキーワードが登録されているので、自然言語処理の用途が格段に広がります。
もし、標準の辞書でお困りの方は、一度この辞書をつかってみてはいかがでしょうか?