# 品詞IDの定義

## 概要

出力される素性(品詞)に任意の数値ID を付与することができます. 通常, 素性は文字列として表現されますが, 機械処理には向いていません. 数値ID に変換することで, 機械処理が容易になります.

素性にどの ID を割りあてるかは, ユーザが自由に定義することができます.

## 設定ファイル

配布辞書のディレクトリにある pos-id.def を変更します.

1行が1つのマッピングルールに対応します. 各パターンは以下のフォーマットで 記述します.

    マッチパターン  ID

という形式で記述します. マッピングルールは先頭から順に走査されて 最初にマッチしたものが使われます.

マッチパターンでは簡単な正規表現がを使うことができます.

- *: すべての文字列にマッチ
- (AB|CD|EF): AB もしくは CD もしくは EF にマッチ
- AB: 文字列 AB のみに完全マッチ

pos-id を変更したら, 辞書をリコンパイルする必要があります.

    /usr/local/libexec/mecab/mecab-dict-index

## 品詞 ID の参照

出力フォーマットのマクロ %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)
    }

## pos-id.def の例

単純な例

    名詞 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