👋
【自然言語処理】GoogleコラボでMeCabのNeologd辞書を使えるようにする
日本語の形態素解析では、辞書が大事ですよね。
MeCab用の辞書Neologdは、最新の言葉や固有名詞、スラング、インターネット上の新しい言葉などを網羅的にカバーする優秀な辞書です。
しかしながら、Googleコラボで使おうとして、これまで通ったコードを入れても、エラーが出て使えない!なんてことが多々あります。
私がいろいろ試した結果、2023年8月現在、以下のコードを入力すれば、GoogleコラボでNeologd辞書が使えますので、ご紹介します。
ライブラリーのインストール
時間かかります
# 形態素分析ライブラリーMeCab と 辞書(mecab-ipadic-NEologd)のインストール
!apt-get install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y
!apt-get -q -y install sudo file mecab libmecab-dev mecab-ipadic-utf8 git curl xz-utils make python-mecab > /dev/null
!git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git > /dev/null
!echo yes | mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n > /dev/null 2>&1
!pip install mecab-python3 > /dev/null
# シンボリックリンクによるエラー回避
!ln -s /etc/mecabrc /usr/local/etc/mecabrc
辞書のディレクトリを確認
!echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
実行すると、以下のとおり、出力されるはずです。
/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
MeCabをインポートして辞書を試す
sample_textでNeologdの威力を試してみましょう
import MeCab
sample_txt ="鬼滅の刃、スターバックス、経営方針"
path = "-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd"
mecab = MeCab.Tagger(path)
print("Neologd辞書: \n",mecab.parse(sample_txt))
鬼滅の刃・スターバックスも固有名詞として認識できていますね。
経営方針も一語で認識しています。
Neologd辞書:
鬼滅の刃 名詞,固有名詞,一般,*,*,*,鬼滅の刃,キメツノヤイバ,キメツノヤイバ
、 記号,読点,*,*,*,*,、,、,、
スターバックス 名詞,固有名詞,組織,*,*,*,スターバックス,スターバックス,スターバックス
、 記号,読点,*,*,*,*,、,、,、
経営方針 名詞,固有名詞,一般,*,*,*,経営方針,ケイエイホウシン,ケイエイホーシン
EOS
Discussion