在 NLP 命名实体识别中计算实体的置信度分数
Calculating confidence score for Entity in NLP Named-entity recognition
我正在研究从文档 (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)
。 :(
为什么不是 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
Stanford NLP 工具包使用 min(Pi) 作为 P(entity)。从我的角度来看,从数学的角度来看,两者都不合理。
我正在研究从文档 (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)
。 :(
为什么不是 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
Stanford NLP 工具包使用 min(Pi) 作为 P(entity)。从我的角度来看,从数学的角度来看,两者都不合理。