MeCab システム辞書への単語追加(mecab-ipadic-neologd)

MeCab システム辞書への単語追加(mecab-ipadic-neologd)
あぱーブログ
2015年6月17日  カテゴリー:Linux  タグ: ,
Pocket
LINEで送る

MeCab 辞書には、以前の記事でご紹介した「ユーザ辞書」と「システム辞書」の2種類があります。ユーザ辞書への単語の追加は、手軽な反面、解析速度が落ちるといったデメリットもあります。そこで今回は、MeCab の「システム辞書」に単語を追加する方法をご紹介します。また、最近話題の新語辞書 mecab-ipadic-neologd もシステム辞書に追加してみました。

作業の流れ

MeCab のシステム辞書は1つのみ、というルールがあるため、IPA辞書のソースディレクトリに、追加したい単語のCSVファイルを配置して、システム辞書を作成します。また、追加する単語のコストは、mecab-ipadicのモデルファイル使った自動推定機能を使います。

下準備

MeCab と IPA辞書をインストールしておきます。

nkf コマンドのインストール

IPA辞書の文字コードを、UTF-8 に変換するため、nkf コマンドをインストールしておきます。CentOS7系の場合は、EPELリポジトリからインストールします。

・EPELリポジトリの追加

・nkf コマンドのインストール

・EPELリポジトリの無効化
sudo vi /etc/yum.repos.d/epel.repo

作業用ディレクトリの作成

MeCabシステム辞書作成の作業用ディレクトリを作成します。必須の手順ではありませんが、再度単語をシステム辞書に追加する時のために、場所を決めて残しておくと後々楽が出来ます。

場所はどこでも構いません。私はホームディレクトリの直下に作成しました。

※これ以降の手順は、作業用ディレクトリに移動して行ってください。

IPA辞書の文字コードを UTF-8 に変換

IPA辞書の文字コードは、EUC_JP なのですが、そのままだと扱いづらいため UTF-8 に変換しておきます。

・IPA 辞書のダウンロードと解凍

・IPA 辞書の文字コードを EUC_JP から UTF-8 に変換

・後でコスト計算に使うため、一度辞書ファイルを作成してインストールします。※ make は不要です。実行しないでください。

・作業用ディレクトリに戻ります。

追加する単語のCSVファイルの作成

CSVファイルのフォーマットは、ユーザ辞書の追加で使うものと同じです。コストは自動推定機能を使って算出しますので、空欄にしておきます。

・CSVファイルの作成
vim tabemono_nocost.csv

※CSVファイルの文字コードは、必ず「UTF-8」で作成してください。

mecab-ipadic のモデルファイルの設置

コストの自動推定機能を使うのに必要な mecab-ipadic のモデルファイルをダウンロードして解凍します。※最近ダウンロード先のURLが変わったようです。(2015年6月17日現在)

・モデルファイル文字コードも EUC_JP のため UTF-8 に変換します。

・ファイルの先頭付近に「euc-jp」の記述がありますので、これも「utf-8」に変更します。
vim mecab-ipadic-2.7.0-20070801.model

コストの自動推定

MeCab に付属の mecab-dict-index コマンドを使って、コストを自動推定します。
引数の指定方法は以下の通りです。

上記をふまえて、コスト推定済のCSVファイルを作成します。
※ mecab-dict-index コマンドは、フルパスで実行します。

以下のような表示がされれば、自動推定が成功しています。

確認してみると「焼肉定食」のコストは、5078でした。

システム辞書の作成とインストール

・コスト推定済のCSVファイルを、IPA辞書のソースディレクトリに移動します。

・システム辞書を作成

IPA辞書と一緒に、追加したCSVファイルも合わせて、コンパイルされている様子が確認できると思います。

・最後に作成したシステム辞書をインストールします。

システム辞書の動作確認

システム辞書に追加した単語「焼肉定食」が使われるかを確認します。

ちゃんと使われているようですね。

新語辞書 mecab-ipadic-neologd の追加

最近話題の MeCab 用の新語辞書 mecab-ipadic-neologd もシステム辞書に追加してみます。

mecab-ipadic-neologd は単体でもインストールできますが、作者の方によると、IPA辞書(ipadic)も併用するのがオススメとのことです。

Web上の文書の解析をする際には、この辞書と標準のシステム辞書(ipadic)を併用することをオススメします。

mecab-ipadic-NEologd : Neologism dictionary for MeCab より引用

・作業用ディレクトリに移動します

・mecab-ipadic-neologd のダウンロード(辞書ファイルのみ使います)

・辞書ファイルの解凍

・辞書ファイルを、IPA辞書のソースディレクトリに移動します。

・mecab-ipadic-neologd 辞書を使った時に、辞書名が表示されるようにしてみました。(必須ではありません)

・再度システム辞書を作成してインストールします。

・確認します。

CentOS や Apache の読み方まで登録されています。素晴らしいですね(^^)/

終わりに

MeCab と Twitter API を使った簡単なWEBサービスを作ってみました。まだまだ作り途中ですが、もしよければお試しください。

▽ TWKEY - ツイートマイニングツール
https://twkey.apar.jp/

スポンサーリンク
Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です