1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6 <title>MeCab: 単語の追加方法</title>
7 <link type="text/css" rel="stylesheet" href="mecab.css">
13 <p>辞書への単語追加には, 二つの方法があります. </p>
22 辞書更新が頻繁でないときや, 解析速度を落としたくない時は, 直接
26 <li>mecab-ipadic があるディレクトリに移動
27 <li> foo.csv というファイルを作成 (拡張子が .csv なら何でも可)
29 <li>辞書の再コンパイル + インストール
31 % /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -t euc-jp
36 <li>-f charset: CSVの文字コード
37 <li>-t charset: バイナリ辞書の文字コード
39 <p>例: utf-8の辞書を作成する例</p>
40 <pre>% /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -t utf8</pre>
44 システム辞書の更新は時間がかかります. 辞書の更新が頻繁な場合や,
45 システム辞書を変更する権限が無い場合は, ユーザ辞書を作るのがいいでしょう. </p>
47 <li>適当なディレクトリに移動 (例: /home/foo/bar)
48 <li>foo.csv というファイルを作成
51 <pre>% /usr/local/libexec/mecab/mecab-dict-index -d/usr/local/lib/mecab/dic/ipadic \
52 -u foo.dic -f euc-jp -t euc-jp foo.csv</pre>
54 <li>-d DIR: システム辞書があるディレクトリ
55 <li>-u FILE: FILE というユーザファイルを作成
56 <li>-f charset: CSVの文字コード
57 <li>-t charset: バイナリ辞書の文字コード
59 <li> /home/foo/bar/foo.dic ができていることを確認
60 <li>/usr/local/lib/mecab/dic/ipadic/dicrc もしくは
61 /usr/local/etc/mecabrc に以下を追加
63 userdic = /home/foo/bar/foo.dic
65 <li>/usr/local/etc/mecabrc を編集する権限が無い場合は
66 /usr/local/etc/mecabrc を ~/.mecabrc にコピーし, 上記のエントリを追加
67 <li>userdic はCSVフォーマットデ複数指定可能
69 userdic = /home/foo/bar/foo.dic,/home/foo/bar2/usr.dic,/home/foo/bar3/bar.dic
73 <h2>エントリのフォーマット (活用しない語)</h2>
74 <p>システム辞書, ユーザ辞書, ともにエントリのフォーマットは同一です. </p>
76 <p>エントリは, 以下のような CSV で追加します.
77 名詞などの活用しない語だと, 登録は簡単です.</p>
80 工藤,1223,1223,6058,名詞,固有名詞,人名,名,*,*,くどう,クドウ,クドウ
86 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
90 <p>左文脈IDは, その単語を左から見たときの内部状態IDです. 通常システム
91 辞書と同一場所にある left-id.def から該当する ID を選択します. 空にしておくと
92 mecab-dict-index が自動的に ID を付与します.
95 <p>右文脈IDは, その単語を右から見たときの内部状態IDです. 通常システム
96 辞書と同一場所にある right-id.def から該当する ID を選択します.
97 空にしておくと, mecab-dict-index が自動的に ID を付与します.
101 コストは,その単語がどれだけ出現しやすいかを示しています.
102 小さいほど, 出現しやすいという意味になります.
103 似たような単語と 同じスコアを割り振り, その単位で切り出せない場合は,
108 自分の好きな情報をCSVが許す範囲で追加してもかまいません.</p>
111 ユーザ設定,,,10,名詞,一般,*,*,*,*,ユーザ設定,ユーザセッテイ,ユーザセッテイ,追加エントリ
118 ユーザ設定 名詞,一般,*,*,*,*,ユーザ設定,ユーザセッテイ,ユーザセッテイ,追加エントリ
119 が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
120 必要 名詞,形容動詞語幹,*,*,*,*,必要,ヒツヨウ,ヒツヨー
121 です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
122 。 記号,句点,*,*,*,*,。,。,。
126 <h2>エントリのフォーマット (活用する語)</h2>
129 自分で活用語展開しなければならないので, 面倒です.
134 いそがしい,120,120,6078,形容詞,自立,*,*,形容詞・イ段,基本形,いそがしい,イソガシイ,イソガシイ
135 いそがし,128,128,6080,形容詞,自立,*,*,形容詞・イ段,文語基本形,いそがしい,イソガシ,イソガシ
136 いそがしから,136,136,6079,形容詞,自立,*,*,形容詞・イ段,未然ヌ接続,いそがしい,イソガシカラ,イソガシカラ
137 いそがしかろ,132,132,6079,形容詞,自立,*,*,形容詞・イ段,未然ウ接続,いそがしい,イソガシカロ,イソガシカロ
138 いそがしかっ,148,148,6078,形容詞,自立,*,*,形容詞・イ段,連用タ接続,いそがしい,イソガシカッ,イソガシカッ
139 いそがしく,152,152,6078,形容詞,自立,*,*,形容詞・イ段,連用テ接続,いそがしい,イソガシク,イソガシク
140 いそがしくっ,152,152,6079,形容詞,自立,*,*,形容詞・イ段,連用テ接続,いそがしい,イソガシクッ,イソガシクッ
141 いそがしゅう,144,144,6079,形容詞,自立,*,*,形容詞・イ段,連用ゴザイ接続,いそがしい,イソガシュウ,イソガシュウ
142 いそがしゅぅ,144,144,6079,形容詞,自立,*,*,形容詞・イ段,連用ゴザイ接続,いそがしい,イソガシュゥ,イソガシュゥ
143 いそがしき,124,124,6079,形容詞,自立,*,*,形容詞・イ段,体言接続,いそがしい,イソガシキ,イソガシキ
144 いそがしけれ,108,108,6079,形容詞,自立,*,*,形容詞・イ段,仮定形,いそがしい,イソガシケレ,イソガシケレ
145 いそがしかれ,140,140,6079,形容詞,自立,*,*,形容詞・イ段,命令e,いそがしい,イソガシカレ,イソガシカレ
146 いそがしけりゃ,112,112,6079,形容詞,自立,*,*,形容詞・イ段,仮定縮約1,いそがしい,イソガシケリャ,イソガシケリャ
147 いそがしきゃ,116,116,6079,形容詞,自立,*,*,形容詞・イ段,仮定縮約2,いそがしい,イソガシキャ,イソガシキャ
148 いそがし,104,104,6080,形容詞,自立,*,*,形容詞・イ段,ガル接続,いそがしい,イソガシ,イソガシ
151 <p>chasen は, grammar.cha cforms.char
153 展開を行ないます. これを動的活用展開と呼びます.
155 原形(基本形)のみを追加すればよいです.</p>
157 <p>一方, mecab は, 解析中に展開するのをやめ,
160 この理由は, 計算機のスピードやリソースといった問題に
161 絡んでいます. chasen が開発された当初は,
163 静的に展開するのが困難でした. 一方, 最近は,
166 全体的な解析スピードが向上します.</p>
169 文法から静的展開を行なえるような枠組にしたいと考えています.
175 学習時に出力されたモデルファイルがあれば, 新規単語のコスト値を自動推定することができます.
176 mecab-ipadicのモデルファイルは<a href="https://code.google.com/p/mecab/downloads/detail?name=mecab-ipadic-2.7.0-20070801.model.bz2">こちら</a>よりダウンロード可能です. (bzip2で圧縮されているため, 適宜解凍してください.) 自動推定を行なう場合は, -m オプションでモデルファイルを指定し, コストのCSVフィールドを空にします. 空以外の値が設定されると, その値が優先されます.
178 <pre>% /usr/local/libexec/mecab/mecab-dict-index -m model_file -d/usr/local/lib/mecab/dic/ipadic \
179 -u foo.dic -f euc-jp -t euc-jp foo.csv</pre>
182 -a オプションを用いて, コスト値や文脈IDが空のCSVファイルに対し, 自動的にそれらを埋めて新しいCSVを作成することができます. 以下の例では foo.csv から foo2.csv を生成しています.
185 % /usr/local/libexec/mecab/mecab-dict-index -m model_file -d/usr/local/lib/mecab/dic/ipadic \
186 -u foo2.csv -f euc-jp -t euc-jp -a foo.csv</pre>