forked from taku910/mecab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
unk.html
77 lines (64 loc) · 2.39 KB
/
unk.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MeCab: 未知語処理</title>
<link type="text/css" rel="stylesheet" href="mecab.css">
</head>
<body>
<h1>未知語処理の定義</h1>
<h2>概要</h2>
<p>未知語処理(辞書に載っていない単語の形態素解析の処理)についてユーザが再定義できます。</p>
<h2>設定ファイル</h2>
<p>配布辞書のディレクトリにある char.def と unk.def という2つのファイル
を変更します.</p>
<h3>char.def</h3>
<p>未知語処理のルールです. <a href="learn.html">こちら</a>を御覧ください.
</p>
<h3>unk.def</h3>
<p>未知語に対する品詞列のテーブルです. <a href="learn.html">こちら</a>を
御覧ください. </p>
<h2>ケーススタディ</h2>
<h3>数字の連続を1つの形態素とする</h2>
<ul>
<li>辞書 (*.csv ファイル)から数字のエントリを削除します。
ipadic の場合は、Noun.number.csv の中から、アラビア数字のエントリを消去します。
<li>char.def を修正し、数字の連続が未知語になるようにします。
<pre>
..
NUMERIC 1 1 0
..
</pre>
<li>unk.def を修正し、数字のコストを小さくします。
4カラム目のコスト値を 0以下の小さい値に設定します。
<pre>
NUMERIC,1204,1204,0,名詞,数,*,*,*,*,*
</pre>
<li>辞書をコンパイルします。
<pre>
% /usr/local/libexec/mecab/mecab-dict-index
</pre>
</ul>
<h3>ASCII 文字列は、スペース/タブのみで分割する (kakasiと同一動作)</h3>
<ul>
<li>辞書 (*.csv ファイル)からアスキー文字列を含むのエントリを削除します。
<li>char.def を修正し、スペース、記号を除く文字を同一字種(ASCII)にマッピ
ングします。他のエントリも同時にチェックし、0x0021..0x007E の領域を
他の字種にマッピングしないようにしてください。
<pre>
ASCII 1 1 0
0x0021..0x007E ASCII
</pre>
<li>unk.def を修正し、ASCIIのコストを小さくします。
4カラム目のコスト値を 0以下の小さい値に設定します。
<pre>
ASCII,1192,1192,0,名詞,サ変接続,*,*,*,*,*
</pre>
<li>辞書をコンパイルします。
<pre>
% /usr/local/libexec/mecab/mecab-dict-index
</pre>
</ul>
</body>
</html>