Java Mallet simpletager不同数量的谓词

Java Mallet simpletager不同数量的谓词,java,mallet,crf,Java,Mallet,Crf,我正在尝试提供的simpletager教程。我运行了与页面上提供的完全相同的命令,即 java-cp“class:lib/mallet deps.jar”cc.mallet.fst.SimpleTagger--train true--模型文件名CRF示例 及 java-cp“class:lib/mallet deps.jar”cc.mallet.fst.SimpleTagger——模型文件nouncrf stest 这是我的示例和stest文件 $cat示例 Bill CAPITALIZED n

我正在尝试提供的
simpletager
教程。我运行了与页面上提供的完全相同的命令,即

java-cp“class:lib/mallet deps.jar”cc.mallet.fst.SimpleTagger--train true--模型文件名CRF示例

java-cp“class:lib/mallet deps.jar”cc.mallet.fst.SimpleTagger——模型文件nouncrf stest

这是我的
示例
stest
文件

$cat示例

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 
我的问题是

  • “谓词的数量”表示什么
  • 为什么我会得到9个谓词,而官方的源代码却为相同的输入文件声明了5个谓词

  • 如果有必要的话,我正在使用Mallet 2.0.8。

    当您开始训练时,
    SimpleTagger
    给您的第一条信息是:

    Number of features in training data: x
    Number of predicates: y
    
    谓词的数量,
    y
    ,是训练数据包含的不同标记(或行)的数量

    当您使用上一列的模型(具有
    y
    谓词)为文件添加标签时,您会收到一条消息:

    Number of predicates: z
    

    z
    y
    和要标记的文件包含的不同标记(或行)数之和。这就是为什么
    z
    总是大于(或等于)y的原因。例如,如果您尝试使用带有
    y
    谓词的模型来标记一个空的内容文本文件,您将得到许多谓词
    y
    ,即
    y+0=y
    ,这会导致您的空文件带有
    0
    标签。

    如果有帮助,我也会得到9