2017-03-16 9 views
0

POSタグャーに関する最も動的なコーパスはツリーバンクコーパスです。しかし、Brown Corpus JustはHMMとTnT taggerの両方で結果を出すことを拒否しています。それについての説明は?ブラウンコーパスはHMMおよびTnTタガーによる結果を得ない

size = int(len(brown.tagged_sents())*0.9) 
train = brown.tagged_sents()[:size] 
test = brown.tagged_sents()[size:] 
trainer = hmm.HiddenMarkovModelTrainer() 
tagger = trainer.train_supervised(train) 
print(tagger.evaluate(test)) 

tnt_tagger = tnt.TnT() 
tnt_tagger.train(train) 
print(tnt_tagger.evaluate(test)) 
+0

話すコードがなくても説明が難しい。 – Denziloe

+0

サイズ= INT(LEN(brown.tagged_sents())* 0.9) 列車= brown.tagged_sents()[:サイズ] テスト= brown.tagged_sents()サイズ:] トレーナー= hmm.HiddenMarkovModelTrainer() タガー= trainer.train_supervised(train) print(tagger.evaluate(test)) – Djokester

+0

ありがとうございました。あなたの質問にそれを入れ、コードブロックとしてフォーマットしてください。 – Denziloe

答えて

1

あなたのコードは正しいですか?hmmタガのコードは正しいです。 「結果を出すことを拒否する」というのは本当に意味するものではありませんが、おそらくそれはハングアップしているように見えるでしょうか?それはしません。これらのアルゴリズムを使用してモデルをトレーニングするには時間がかかりますが、その上にnltkは一般的にスピードのために設計されていません。その主な焦点は教育です。

100文のトレーニングセットでコードをテストすれば、それが動作することを確認できるはずです。 (あなたはまだ少し待たなければなりません)。

train = brown.tagged_sents()[:100] 
test = brown.tagged_sents()[100:200] 

TnTコードは、未知語を単独ではサポートしないため、別の問題です。 help(tnt)を参照してください。

関連する問題