1

CRF++ テンプレートに機能を追加しようとしました。

How can I tell CRF++ classifier that a word x is captilized or Understanding punctuations? によると、

トレーニング サンプル

The  DT  0  1   0   1   B-MISC
Oxford  NNP 0   1   0   1   I-MISC
Companion   NNP 0   1   0   1   I-MISC
to  TO  0   0   0   0   I-MISC
Philosophy  NNP 0   1   0   1   I-MISC

機能テンプレート

# Unigram
U00:%x[-2,0]
U01:%x[-1,0]
U02:%x[0,0]
U03:%x[1,0]
U04:%x[2,0]
U05:%x[-1,0]/%x[0,0]
U06:%x[0,0]/%x[1,0]
U07:%x[-2,0]/%x[-1,0]/%x[0,0]

#shape feature
U08:%x[-2,2]
U09:%x[-1,2]
U10:%x[0,2]
U11:%x[1,2]
U12:%x[2,2]

B

トレーニング フェーズは問題​​ありません。しかし、crf_testで出力が得られません

tilney@ubuntu:/data/wikipedia/en$ crf_test -m validation_model test.data
tilney@ubuntu:/data/wikipedia/en$ 

上記の形状の懸念を無視すれば、すべてうまくいきます。どこで私は間違えましたか?

4

1 に答える 1

1

私はこれを理解しました。それは私のテストデータの問題です。すべての機能はトレーニング済みのモデルから取得する必要があると考えたため、テスト データには単語タグの 2 つの列しかありません。これにより、テスト ファイルはトレーニング データとまったく同じ形式である必要があることがわかりました。

于 2014-12-09T06:46:29.177 に答える