OSDN Git Service

設定変更。
[wordring-tm/wordring-tm.git] / third-party / mecab-0.996 / doc / feature.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
3 <html>
4 <head>
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">
8 </head>
9 <body>
10 <h1>MeCab の開発経緯</h1>
11 <h2>形態素解析の歴史</h2>
12 <p>
13 オープンな形態素解析器として Juman, ChaSen が存在する. それぞれの
14 基本的な開発理念は以下である
15 </p>
16 <ul>
17 <li><a href="http://www.kc.t.u-tokyo.ac.jp/nl-resource/juman.html">Juman</a>
18 <p>
19 Juman 以前の商用的に配布されていた形態素解析器は, 辞書や品詞体系
20 連接規則はほぼ固定されており, ユーザ自身自由に定義できなかった. Juman は
21 これらの定義すべて外部に出し自由な定義が可能になった. 
22 </p>
23 <p>
24 辞書は比較的入手しやすいが, 連接コストや単語生起コストの定義は
25 人手によって行わざるをえなかった. 解析ミスを発見するたびに副作用が無い範
26 囲で連接コストを修正する必要があり, 開発コストが大きい.
27 </p>
28 <p>
29 また, Juman は日本語の形態素解析として開発されていたので, 
30 未知語処理が日本語に特化されており, 未知語処理の定義を
31 自分で与えることはできない. また, 品詞は2階層までに固定されており,
32 品詞体系には一種の制限がある.
33 </p>
34
35 <li><a href="http://chasen.naist.jp">ChaSen</a>
36 <p>
37 ChaSen の貢献の1つは, 統計処理 (HMM) によって連接コストや単語生起コストを
38 推定するようになった点にある. この処理のおかげで, 解析ミスを
39 蓄積するだけで自動的にコスト値を推定できるようになった.
40 さらに, 品詞階層も無制限になり, 品詞体系を含めて(本当の意味で)
41 自由に定義できるようになった.
42 </p>
43
44 <p>
45 しかし, 複雑な品詞体系にすればするほど, データスパースネスの問題が
46 発生する. HMM を使う場合, HMM の内部状態(Hidden Class)を 1つに固定する
47 必要があるため, 各品詞から内部状態への「変換」が必要となる. 単純には
48 各品詞を1つの内部状態に割りあてればよいが, 活用まで含めて品詞を
49 すべて展開すると, その数は 500 にも及び, 低頻度の品詞について
50 信頼度の高い推定量を得ることができない. 逆に, 頻度の高い「助詞」等の品詞は
51 語彙も含めて内部状態にしないと高い精度が得られない.
52 複雑な品詞体系にすればするほど, 内部状態の定義が困難になる.
53 つまり, 現状の(複雑な)品詞体系を扱うには, HMM では力不足であり,
54 それを補助するための人手コストが大きくなっている.
55 </p>
56
57 <p>
58 また, ChaSen にはコスト値推定モジュールが付与されていない.
59 NAISTの内部では利用できるらしいが, 上記の理由から設定すべき
60 パラメータが多く, 使いこなすのが困難である.
61 </p>
62
63 <p>さらに, ChaSen も未知語処理もハードコーディングされており
64 自由に定義することはできない.
65 </p>
66 </ul>
67
68 <h2>MeCab 0.90の機能</h2>
69 <ul>
70 <li>コスト値推定に <a
71 href="http://www.cis.upenn.edu/~pereira/papers/crf.pdf">Conditional Random Fields, CRF</a> を採用 <br>
72
73     <p>
74     HMM は, 唯一の内部状態を定義する必要があった. 一方 CRF はオーバラッ
75     プを含めた複数の内部状態を定義することが可能である. この機能により, 
76     細い品詞階層と粗い品詞階層の確率値を混ぜるといった,
77     「スムージング」が自然にかつ自動的に実現できる. 
78     これは, 複雑な品詞体系を扱う上で便利な機能であり,
79     人手処理を大幅に簡略化することができる.
80     </p>
81
82     <p>
83     CRF の採用により, 品詞体系, 単語長,  辞書の変更に対し柔軟にかつ低コストで対応できるようになる.
84     さらに, CRF は, HMM の 1/3 程度の学習コーパスで同程度の
85     性能が得られることが分かっている. つまり, 新しいドメインへの
86     適用といった事にも低コストで対処できるであろう.
87     </p>
88
89     <p>
90     また, CRF は, これまでの最小コスト法として定式化できるため,
91     解析速度の劣化はない.
92     </p>
93
94     <p>MeCab 0.90 は, コスト推定プログラムも含め配布する.
95     最小限の設定でも高い精度が得られるようなユーザビリティーを
96     提供する.</p>
97
98 <center>
99 <p><small>解析結果: 上 Juman, 下 ChaSenとの比較. <br>
100    seg:わかち書きの精度, top:品
101     詞まで含める, all:活用まですべて含める<br>
102 E-HMMs が現状の MeCab/ChaSen</small></p>
103 <p><img src="result.png"></p></center>
104
105 <li>未知語処理の外部定義<br>
106   <p>
107     MeCab 0.90 では, ユーザが未知語処理の戦略を自由に定義可能となる.
108     基本的な戦略として字種に基づくわかち書きを行う. 
109     字種そのものの定義(どの文字コードがどの字種に対応するか),
110     各字種に対するわかち書きの定義 (グループ化するか, N文字づつまとめる
111     か), わかち書きされたものにどのような品詞を割りあてるか.
112     といた事がユーザ自身で定義できる.
113  </p>
114
115  <p>字種を表現するための内部コードに Unicode を用いており,
116     未知語処理の言語非依存性が(部分的に)実現できる.
117   </p>
118
119  <p>また, 未知語処理のパラメータも CRF により推定される. 
120     ChaSen や Juman に比べれば, 未知語に対する 解析精度の向上が期待できる
121  </p>
122
123 <p>解析例</p>
124
125 <p>MeCab 0.81 の解析結果</p>
126 <pre>
127 ホリエモン氏に会った。
128 ホ      名詞,一般,*,*,*,*,ホ,ホ,ホ
129 リエ    名詞,固有名詞,人名,名,*,*,リエ,リエ,リエ
130 モン    名詞,固有名詞,一般,*,*,*,モン,モン,モン
131 氏      名詞,接尾,人名,*,*,*,氏,シ,シ
132 に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
133 会っ    動詞,自立,*,*,五段・ワ行促音便,連用タ接続,会う,アッ,アッ
134 た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
135 。      記号,句点,*,*,*,*,。,。,。</pre>
136
137 <p>MeCab 0.90 の解析結果 (周辺のコンテキストを考慮しながら「ホリエモン」を正しく解析できる)</p>
138 <pre>
139 ホリエモン氏に会った。
140 ホリエモン      名詞,固有名詞,人名,一般,*,*,*   0,10
141 氏      名詞,接尾,人名,*,*,*,氏,シ,シ   10,12
142 に      助詞,格助詞,一般,*,*,*,に,ニ,ニ 12,14
143 会っ    動詞,自立,*,*,五段・ワ行促音便,連用タ接続,会う,アッ,アッ
144 14,18
145 た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ   18,20
146 。      記号,句点,*,*,*,*,。,。,。      20,22</pre>
147
148  <li>ソフトなわかち書き</li>
149   <p>
150     形態素解析器の仕事は, おおざっぱに言えば「入力文を形態素に区切る」こ
151     とにある. しかし 「本部長」のように単独の解を得られない場合がある. 
152     (本/部長 or 本部/長). また長い複合語が定義されている時,
153     その構成語が出力されないという問題もある.
154   </p>
155
156   <p>MeCab 0.90 では, 「入力文を形態素に区切る」という機能とは別の
157     「入力文から形態素を抽出する」という機能を提供する. 
158     「形態素を抽出する」機能を実現するには, 入力文のすべての部分文字列の「形態素らしさ」を
159     算出する必要がある. MeCab 0.90 では  この「形態素らしさ」を「形態素周辺確率」
160     という形で算出する. 詳細は言語処理学会 2005 にて<a
161     href="http://chasen.org/~taku/publications/nlp2005.pdf">発表</a>済み
162   </p>
163     
164 <p>
165     以下が解析例である
166 </p>
167
168 <pre>
169 本部長
170 本部    名詞,固有名詞,地域,一般,*,*,本部,モトブ,モトブ      0.026441     
171 本部    名詞,一般,*,*,*,*,本部,ホンブ,ホンブ        0.619559    *
172 本      名詞,固有名詞,人名,姓,*,*,本,モト,モト      0.010897     
173 本      名詞,一般,*,*,*,*,本,ホン,ホン      0.046961     
174 本      接頭詞,名詞接続,*,*,*,*,本,ホン,ホン        0.292945     
175 部長    名詞,一般,*,*,*,*,部長,ブチョウ,ブチョー            0.352623     
176 長      名詞,一般,*,*,*,*,長,チョウ,チョー          0.013549     
177 長      名詞,接尾,一般,*,*,*,長,チョウ,チョー       0.624362    *
178 </pre>
179
180 <p>
181 * が付いたものが実際の解析結果. 「形態素らしさ(形態素周辺確率)」も同時に
182 出力される
183 </p>
184
185 <p>
186 「形態素らしら」は入力文によって変わることに注意されたい.
187 </p>
188
189 <pre>
190 松本さんに会う。
191 松本    名詞,固有名詞,人名,姓,*,*,松本,マツモト,マツモト            0.989497    *
192 さん    名詞,接尾,人名,*,*,*,さん,サン,サン         0.998228    *
193 に      助詞,格助詞,一般,*,*,*,に,ニ,ニ     0.990367    *
194 会う    動詞,自立,*,*,五段・ワ行促音便,基本形,会う,アウ,アウ        0.999387    *
195 。      記号,句点,*,*,*,*,。,。,。          0.999999    *
196 EOS
197 松本市に行く。
198 松本    名詞,固有名詞,地域,一般,*,*,松本,マツモト,マツモト          0.919221    *
199 松本    名詞,固有名詞,人名,姓,*,*,松本,マツモト,マツモト            0.073882     
200 市      名詞,接尾,地域,*,*,*,市,シ,シ       0.886151    *
201 市      名詞,一般,*,*,*,*,市,シ,シ          0.110607     
202 に      助詞,副詞化,*,*,*,*,に,ニ,ニ        0.013169     
203 に      助詞,格助詞,一般,*,*,*,に,ニ,ニ     0.986618    *
204 行く    動詞,自立,*,*,五段・カ行促音便,基本形,行く,イク,イク        0.966972    *
205 行く    動詞,自立,*,*,五段・カ行促音便ユク,基本形,行く,ユク,ユク            0.030681     
206 。      記号,句点,*,*,*,*,。,。,。          0.999997    *
207 EOS
208 </pre>
209
210 <p>上記のように「松本」の形態素らしさは周辺のコンテキストで変化する</p>
211
212 <li>複数の解析モデルを解析器とは別に配布
213 <p>解析器とパラメータ(辞書, 連接コスト)が完全に独立に
214 設計されるので, 以下の辞書についてのパラメータを個別に配布する.
215 ただし, ライセンスは個々の辞書に準ずる
216 </p>
217 <ul>
218 <li>IPADIC
219 <li>JUMAN 
220 <li>Canna (学習用コーパスが無いので作るかも?)
221 <li>中国語解析 (未定)
222 <li>英語解析 (未定)
223 </ul>
224 </ul>
225 </body>
226 </html>
227