90
103

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MeCabでオリジナル辞書を作成する

Last updated at Posted at 2015-04-20

MeCabにデフォルトで入っていない言葉を形態素解析した時に,意図しない区切られ方になることが有ります.

例えばレシピ中に出てくる「水を切る」という言葉は,「水」「を」「切る」と形態素解析されます.
これは間違いではありませんが,「水を切る」という意味ではなくなってしまい,それが困る場合があります.

なので,MeCabの辞書に登録されていない語句をまとめた,「オリジナル辞書」の作り方を書いていこうと思います.

辞書の作成方法

ここでは,MeCabのオリジナル辞書の作成方法を記載します.
データは全てCSV形式(カンマ区切り)で作成します.
文字コードはShift-JIS,改行コードは¥r(Linux)で作成してください.

名詞

名詞は,以下のように登録します.
スクリーンショット 2015-04-20 18.12.09.png
左から,
登録したい名詞,ID,ID,重み,品詞,品詞の説明,*,*,*,*,登録したい名詞,カタカナ表示,カタカナ表記
と並んでいます.

動詞

動詞は名詞とは違い,各活用形を書かなければいけません.
スクリーンショット 2015-04-20 18.17.34.png
表はそれぞれ,
登録したい名詞,ID,ID,重み,品詞,品詞の説明,*,*,活用,活用形,登録したい動詞の原形,カタカナ表示,カタカナ表記
となっています.
IDは,MeCabに登録されている「する」「きる」「つく」などのIDを,それぞれの動詞に合わせて登録します.

例えば,
から煎りにするであれば,599番ですし,
色がつくであれば,679番となります.
これは,MeCabの辞書を見て探すしかありません.

MeCab辞書にCSVファイルをコンパイル

名詞と動詞の表を一つのCSVファイルにまとめ,以下のコマンドを叩きます.
$ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u original.dic -f utf-8 -t utf-8 オリジナル辞書CSVファイル名.csv
※「オリジナル辞書CSVファイル名.csv」の部分は作成したCSVファイル名に変えてください.

このコマンドを叩くと,「original.dic」というファイルがカレントディレクトリに作成されます.
これがMeCabの辞書となります.
なお,エラーが出る場合は,今一度文字コードがShift-JISで改行コードが¥rになっているか確認して下さい.
※私は「mi」というエディタでよく確認します.

辞書をMeCabに登録する

作成した辞書(original.dic)はどこにおいておいてもいいのですが,私は「/usr/local/lib/mecab/dic/ipadic/」の中に入れています.
なので,作成した辞書(original.dic)は,**/usr/local/lib/mecab/dic/ipadic/**の中に入っている前提でお話を進めていきます.

/usr/local/lib/mecab/dic/ipadic/dicrc」ファイルのどこかに,次の一文を付け加えます.
userdic = /usr/local/lib/mecab/dic/ipadic/original.dic

やり方としては,おそらくターミナルで編集するのがメジャーだと思いますので,
$ sudo vi /usr/local/lib/mecab/dic/ipadic/dicrc
を叩き,適当なところに挿入してください.

以上です

90
103
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
90
103

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?