【问题标题】:What is the meaning of 'cut-off' and 'iteration' for trainings in OpenNLP?OpenNLP 中训练的“截止”和“迭代”是什么意思?
【发布时间】:2019-05-08 12:12:55
【问题描述】:

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

【问题讨论】:

    标签: text-mining opennlp


    【解决方案1】:

    正确,迭代这个术语指的是迭代算法的一般概念,其中一个人着手通过连续产生(希望越来越准确)近似值来解决问题一些“理想”的解决方案。一般来说,迭代次数越多,结果就越准确(“更好”),但当然要执行的计算步骤也越多。

    术语 cutoff(又名 cutoff frequency)用于指定减小 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}
    

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

    【讨论】:

      【解决方案2】:

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

      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 大于 2,那么“love”这个词可能不会被视为特征,我们可能会得到错误的结果。通常,截断值有助于避免为很少出现的单词创建不必要的特征。详细例子可以进一步解释found here in this article

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-15
        • 2013-07-11
        • 2017-04-29
        • 1970-01-01
        相关资源
        最近更新 更多