出力される素性(品詞)に任意の数値ID を付与することができます. 通常, 素性は文字列として表現されますが, 機械処理には向いていません. 数値ID に変換することで, 機械処理が容易になります.
素性にどの ID を割りあてるかは, ユーザが自由に定義することができます.
配布辞書のディレクトリにある pos-id.def を変更します.
1行が1つのマッピングルールに対応します. 各パターンは以下のフォーマットで 記述します.
マッチパターン ID
という形式で記述します. マッピングルールは先頭から順に走査されて 最初にマッチしたものが使われます.
マッチパターンでは簡単な正規表現がを使うことができます.
pos-id を変更したら, 辞書をリコンパイルする必要があります.
/usr/local/libexec/mecab/mecab-dict-index
出力フォーマットのマクロ %h を使うことで 品詞 ID を参照することができます.
% mecab -F"%m\t%h\n" -E"EOS\n" 今日もしないとね。 今日 67 も 16 し 31 ない 25 と 18 ね 17 。 EOS
また, ライブラリからは mecab_node_t::posid で参照できます.
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) }
単純な例
名詞 1 動詞 2 形容詞 3 副詞 4 助詞 5 接続詞 6 助動詞 7 連体詞 8 感動詞 9 * 10
ちょっと複雑な例
名詞 1 (助詞|助動詞) 2 (副詞|形容詞|連体詞) 3 * 4
もっと複雑な例
その他,間投,*,* 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