2017-06-24 10 views
0

私はSimpleTaggerチュートリアルhereを提供しようとしていました。私は、すなわちマレットSimpleTaggerの異なる数の述語

java -cp "class:lib/mallet-deps.jar" cc.mallet.fst.SimpleTagger --train true --model-file nouncrf sample

java -cp "class:lib/mallet-deps.jar" cc.mallet.fst.SimpleTagger --model-file nouncrf stestページで提供されるとまったく同じコマンドを実行しました。

ここに私のsamplestestファイルがあります。

$ cat sample

Bill CAPITALIZED noun 
slept non-noun 
here LOWERCASE STOPWORD non-noun 

$ cat stest

CAPITAL Al 
     slept 
     here 

しかし、私の出力は、そのページ上のものと異なっています。これは私が得る出力です。

Number of predicates: 9 
noun 
non-noun 
non-noun 

私の質問は、 "述語の数" とは何を意味しない

  1. ですか?
  2. なぜ9つの述語が得られるのに対し、公式ソースは同じ入力ファイルに対して5つの述語を主張しますか?

私はマレット2.0.8を使用しています。あなたがトレーニングを開始すると

+0

もし私がそれを助けるならば、私は9も得ます – user1893354

答えて

0

SimpleTaggerはあなたに与えることを最初のメッセージは次のとおりです。

Number of features in training data: x 
Number of predicates: y 

述語、yの数は、あなたのトレーニングデータが含まれている個別のトークン(またはライン)の数です。

あなたは(y述語を持っていた)前の電車からモデルを使用してファイルにラベルを付けるときは、あなたがメッセージを取得:

Number of predicates: z 

このzを、yの合計と明確なトークンの数(ありますまたは行)に、ラベルを付けるファイルが含まれていることを確認します。そのため、zは常にyより大きい(または等しい)。たとえば、空のファイルにyという述語を持つモデルをラベル付けしようとすると、という述語の数がyになり、空のファイルには0というラベルが付いています。