こんにちは、GMOアドマーケティングのS.Rです。
NLP(自然言語処理)は機械学習の中でも人気な分野の一つです。
今回は日本語のNLPで重要な処理である形態素解析のツール「MeCab」へユーザー辞書を追加する方法を紹介します。
1. NLPの基本処理プロセス
日本語を英語へ機械翻訳する例で説明します。
基本処理プロセスは図1の通りです。形態素解析は日本語に関するNLP処理の最初のプロセスです。

2. 形態素解析とは
形態素解析については以下のWikipediaの解説をご覧ください。
形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。
形態素解析、2019年09月17日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/形態素解析
3. 日本語の形態素解析ツールMeCab
MeCabは日本語の形態素解析ツールです。詳細はWikipediaの説明をご覧ください。
MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。
MaCab、2019年09月17日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/MeCab
4. MeCabへユーザー辞書を追加
4.1 環境構築
1. ColabのInstanceを作る
Colabの公式サイトからColabのPython3のInstanceを作ります。

2. MeCabをインストールする
1 2 3 4 |
!apt-get -q -y install sudo file mecab libmecab-dev mecab-ipadic-utf8 git curl 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 |
3. ユーザー辞書のCSVファイルを作成
1 |
!echo '"形態素解析は面白い",-1,-1,1,名詞,一般,*,*,*,*,*,*,*,mydic"' > user_dic.csv |
4. ユーザー辞書のDicファイルを作成
1 |
!/usr/lib/mecab/mecab-dict-index -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd -u user_dic.dic -f utf-8 -t utf-8 user_dic.csv |
5. MeCabへユーザー辞書を追加
1 2 |
!echo "userdic = /content/user_dic.dic" >> /etc/mecabrc !cat /etc/mecabrc |
6. 追加された単語を確認

5. まとめ
今回はMeCabへユーザー辞書を追加する方法を紹介しました。
形態素解析は日本語のNLPに必須なステップです。
今回のブログが皆さんの日本語のNLPの開発にお役に立てば幸いです。
参考ページ
- 形態素解析、2019年09月17日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/形態素解析
- MaCab、2019年09月17日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/MeCab
