forked from taku910/mecab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
posid.html
172 lines (160 loc) · 4.36 KB
/
posid.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"https://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MeCab: 品詞 ID</title>
<link type="text/css" rel="stylesheet" href="mecab.css">
</head>
<body>
<h1>品詞IDの定義</h1>
<h2>概要</h2>
<p>出力される素性(品詞)に任意の数値ID を付与することができます.
通常, 素性は文字列として表現されますが, 機械処理には向いていません.
数値ID に変換することで, 機械処理が容易になります.
</p>
<p>
素性にどの ID を割りあてるかは, ユーザが自由に定義することができます.
<h2>設定ファイル</h2>
<p>配布辞書のディレクトリにある pos-id.def を変更します.</p>
<p>
1行が1つのマッピングルールに対応します. 各パターンは以下のフォーマットで
記述します.</p>
<pre>
マッチパターン ID
</pre>
<p>という形式で記述します. マッピングルールは先頭から順に走査されて
最初にマッチしたものが使われます.</p>
<p>マッチパターンでは簡単な正規表現がを使うことができます.</p>
<ul>
<li>*: すべての文字列にマッチ
<li>(AB|CD|EF): AB もしくは CD もしくは EF にマッチ
<li>AB: 文字列 AB のみに完全マッチ
</ul>
<p>
pos-id を変更したら, 辞書をリコンパイルする必要があります.
</p>
<pre>
/usr/local/libexec/mecab/mecab-dict-index
</pre>
<h2>品詞 ID の参照</h2>
<p><a href="format.html">出力フォーマット</a>のマクロ %h を使うことで
品詞 ID を参照することができます.</p>
<pre>
% mecab -F"%m\t%h\n" -E"EOS\n"
今日もしないとね。
今日 67
も 16
し 31
ない 25
と 18
ね 17
。
EOS
</pre>
<p>また, ライブラリからは mecab_node_t::posid で参照できます.</p>
<pre>
mecab_t *mecab;
mecab_node_t *node;
mecab = mecab_new2("");
node = mecab_sparse_tonode(mecab, "今日もしないとね");
for (; node; node = node->next) {
fwrite (node->surface, sizeof(char), node->length, stdout);
printf("%d\n", node->posid)
}
</pre>
<h2>pos-id.def の例</h2>
<p>単純な例</p>
<pre>
名詞 1
動詞 2
形容詞 3
副詞 4
助詞 5
接続詞 6
助動詞 7
連体詞 8
感動詞 9
* 10
</pre>
<p>ちょっと複雑な例</p>
<pre>
名詞 1
(助詞|助動詞) 2
(副詞|形容詞|連体詞) 3
* 4
</pre>
<p>もっと複雑な例</p>
<pre>
その他,間投,*,* 0
フィラー,*,*,* 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
</pre>
</body>
</html>