'cut-off' 和 'iteration' 对于 OpenNLP 中的训练是什么意思?

What is the meaning of 'cut-off' and 'iteration' for trainings in OpenNLP?

在 OpenNLP 中训练 cut-offiteration 是什么意思?或者就此而言,自然语言处理。我只需要对这些术语进行外行解释。据我所知,迭代是算法重复的次数,截止是一个值,如果文本的值高于某个特定类别的截止值,它将被映射到该类别。我说得对吗?

正确,术语迭代指的是迭代算法的一般概念,其中一个人着手通过连续生成来解决问题(希望越来越准确)某些 "ideal" 解的近似值。一般来说,迭代次数越多,结果就越准确("better"),但当然要进行更多的计算步骤。

术语cutoff(又名截止频率)用于指定减小n大小的方法-gram 语言模型(由 OpenNLP 使用,例如它的词性标注器)。考虑以下示例:

Sentence 1 = "The cat likes mice."
Sentence 2 = "The cat likes fish."
Bigram model = {"the cat" : 2, "cat likes" : 2, "likes mice" : 1, "likes fish" : 1}

如果您将此示例的截止频率设置为 1,则 n-gram 模型将缩减为

Bigram model = {"the cat" : 2, "cat likes" : 2}

也就是说,截断方法从语言模型中移除了那些在训练数据中不常出现的n-grams。减小 n-gram 语言模型的大小有时是必要的,因为偶数二元组(更不用说三元组、4-grams 等)的数量对于更大的语料库呈爆炸式增长。然后可以使用剩余信息(n-gram 计数)来统计估计给定的单词(或其 POS 标签)的概率 (n-1) 以前的 词(或 POS 标签)。

在 Apache OpenNLP 库的上下文中,我们可以专门以此处给出的评论评论文档分类为例。

positive     I love this. I like this. I really love this product. We like this.
negative     I hate this. I dislike this. We absolutely hate this. I really hate this product.

Cut off value 用于避免将词作为特征,其计数小于 cut off。如果 cut off 大于 2,那么“love”这个词可能不会被视为特征,我们可能会得到错误的结果。通常,截断值有助于避免为很少出现的词创建不必要的特征。进一步解释的详细示例可以是 found here in this article.