我正在尝试提供$statuses = [
1 => FacebookHelper::CAMPAIGN_STATUS_ACTIVE,
2 => FacebookHelper::CAMPAIGN_STATUS_ACTIVE,
3 => FacebookHelper::CAMPAIGN_STATUS_ARCHIVED,
];
$helper
->expects($this->exactly(count($statuses))
->method('getExternalCampaignData')
->willReturnCallback(function(Campaign $campaign) use ($statuses) {
$id = $campaign->getFbCampaignId();
if (!array_key_exists($id, $statuses)) {
return;
}
return [
'campaign' => [
'status' => $statuses[$id],
],
];
});
教程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
和sample
个文件。
stest
$ cat sample
Bill CAPITALIZED noun
slept non-noun
here LOWERCASE STOPWORD non-noun
$ cat stest
但是,我的输出与其页面上的输出不同。这是我得到的输出。
CAPITAL Al
slept
here
我的问题是
- “谓词数”表示什么?
- 为什么我得到9个谓词,而官方消息来源声称有5个谓词用于相同的输入文件?
醇>
如果重要的话,我正在使用Mallet 2.0.8。
答案 0 :(得分: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
,即y + 0 = y
,导致您的空文件有0
个标签。