固有表現認識に関して


実装されている固有表現認識システムについて


基本句行に付与されるfeature


形態素行に付与されるfeature


KNPを固有表現認識器として使用する場合にお薦めのオプション


固有表現モデルの学習方法

  1. JUMAN解析結果の意味情報欄に下記のようなフォーマットで固有表現情報(青字)を付与した学習データ(train.jmn)を作成
    昨夜 さくや 昨夜 名詞 6 時相名詞 10 * 0 * 0 "代表表記:昨夜/さくや カテゴリ:時間" <NE:TIME:S>
    、 、 、 特殊 1 読点 2 * 0 * 0 NIL
    安倍 あべ 安倍 名詞 6 人名 5 * 0 * 0 "人名:日本:姓:189:0.00134" <NE:PERSON:B>
    晋 すすむ 晋 名詞 6 人名 5 * 0 * 0 "人名:日本:名:427:0.00035" <NE:PERSON:I>
    @ 晋 しん 晋 名詞 6 人名 5 * 0 * 0 "人名:日本:名:427:0.00035" <NE:PERSON:I>
    三 さん 三 名詞 6 数詞 7 * 0 * 0 "カテゴリ:数量" <NE:PERSON:E>
    首相 しゅしょう 首相 名詞 6 普通名詞 1 * 0 * 0 "代表表記:首相/しゅしょう 人名末尾 カテゴリ:人 ドメイン:政治"
    は は は 助詞 9 副助詞 2 * 0 * 0 NIL
    赤 あか 赤 名詞 6 普通名詞 1 * 0 * 0 "代表表記:赤/あか 漢字読み:訓 カテゴリ:色" <NE:PERSON:B>
    崎 崎 崎 未定義語 15 その他 1 * 0 * 0 NIL <NE:PERSON:E>
    氏 し 氏 接尾辞 14 名詞性名詞接尾辞 2 * 0 * 0 "代表表記:氏/し"
    に に に 助詞 9 格助詞 1 * 0 * 0 NIL
    電話 でんわ 電話 名詞 6 サ変名詞 2 * 0 * 0 "代表表記:電話/でんわ 補文ト カテゴリ:人工物-その他 ドメイン:家庭・暮らし"
    した した する 動詞 2 * 0 サ変動詞 16 タ形 10 "代表表記:する/する 付属動詞候補(基本) 自他動詞:自:成る/なる"
    。 。 。 特殊 1 句点 1 * 0 * 0 NIL
    EOS
    ※KNPの自動解析結果から形態素行を取り出し、固有表現認識結果を修正したものを学習データとして使用することが可能
  2. 作成した学習データを固有表現学習用オプション(-ne-train)を指定した上でKNPに入力しエラー出力を学習用データとして保存
    knp -ne-train -dpnd-fast < train.jmn 2> train.data
    • 基本的に連続するJUMANの入力は1つのテキストとしてキャッシュ素性に反映される
    • キャッシュ素性を初期化したい場合は別ファイルとしてKNPに入力し出力を1つのファイルにまとめて学習用データとする
    • 学習用データの各列の表す意味は下記のtemplateを参照
  3. knp-4.17/crf/templateを用い、下記オプションによりCRF++を用いモデル(crf.model)を学習
    crf_learn -f 2 template train.data crf.model
  4. 学習したファイル(crf.model)をknprc(デフォルトでは/usr/local/etc/knprc)で下記のように指定
    (NEモデルファイル
        /somewhere/crf.model
    )
    (4.16以前のバージョンにはバグが見つかっていますので4.17以降のバージョンを使用してください)

KNPに関するメモに戻る