【问题标题】:Calculating confidence score for Entity in NLP Named-entity recognition在 NLP 命名实体识别中计算实体的置信度分数
【发布时间】:2018-03-26 10:11:44
【问题描述】:

我正在从文档(pdf)中提取命名实体。每个 pdf 包含一组实体(近 16 种不同类型的实体)

以下是我构建 NLP 和 ML 模型的步骤:

  • Step 1 :已解析的文档。获得近 200 万个代币(字)。使用这些词和 CBOW 方法构建 word2vec 模型。
  • Step 2 : 通过使用 word2vec 模型,为文件中的单词生成向量。
  • Step 3 :根据领域,我标记词(向量)用于训练、验证和测试。
  • Step 4 :使用标记数据,训练神经网络模型。
  • Step 5:一旦模型建立起来,就给模型提供测试数据(单词)。获得了 85% 的准确率。

到目前为止,一切都很顺利。但问题在下一步。 :(

  • Step 6:现在我想从训练模型中分类的单词中创建具有置信度分数的实体。

使用SOFTMAX 对输入进行分类的神经网络模型。从这个模型中得到每个单词的分数。

但我的问题是,我的实体至少包含 3 个单词。如何计算生成实体的置信度分数。

如果实体有三个单词,我现在使用P(entity) = P(w1)*P(w2)*(w3)

请帮助我。这种方法不会一直有意义。

假设,如果模型只预测实体中的两个词,那么实体置信度将为P(entity) = P(w1)*P(w2)

如果模型只预测实体中的一个单词,那么P(entity) = P(w1)。 :(

【问题讨论】:

    标签: machine-learning nlp named-entity-recognition


    【解决方案1】:

    Stanford NLP 工具包使用 min(Pi) 作为 P(entity)。从我的角度来看,从数​​学的角度来看,两者都不是正确的。

    【讨论】:

      【解决方案2】:

      为什么不 P(entity) = P(w1)+P(w2)+P(w3) ? 如果您需要一个归一化数字 (0-1) 并假设 P(w) 的范围为 0-1,请执行以下操作:P(entity) = (P(w1)+P(w2)+P(w3)) / 3

      为了获得更好的分数,你应该计算每个单词的信息内容。一个常用词应该贡献较少:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-6-S1-S21

      【讨论】:

        猜你喜欢
        • 2018-03-08
        • 2020-07-02
        • 1970-01-01
        • 1970-01-01
        • 2019-11-12
        • 2021-06-03
        • 2017-10-14
        • 2015-01-11
        • 2010-11-04
        相关资源
        最近更新 更多