👋

【自然言語処理】GoogleコラボでMeCabのNeologd辞書を使えるようにする

2023/08/20に公開

日本語の形態素解析では、辞書が大事ですよね。

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