NER(命名实体识别)文档中句子之间的相似性

时间:2019-04-03 06:59:50

标签: python similarity spacy ner

我一直在使用spacy查找句子的NER。我的问题是我必须计算两个不同文档的句子之间的NER相似度。 python中是否有相同的公式或软件包?

TIA

2 个答案:

答案 0 :(得分:1)

我相信您是在问idContract吗?

这不是那么简单,因为我们必须定义“相似”的含义。

如果我们使用朴素的词袋方法,则两个实体的更多标记相同时,它们会更相似。

如果将实体令牌放入集合中,则计算将只是jaccard系数。

how similar are two named entities

在python中会是:

Sim(ent1, ent2) = |ent1 ∩ ent2| / |ent1  ∪ ent2|

ent1 = set(map(str, spacy_entity1)) ent2 = set(map(str, spacy_entity2)) similarity = len(ent1 & ent2) / len(ent1 | ent2) 是通过spacy提取的实体之一

然后,我们通过创建一组代表它们的字符串来创建实体集spacy_entity

答案 1 :(得分:0)

您可能需要http://uima.apache.org/d/uimacpp-2.4.0/docs/Python.html/以及附加在其上的CoNLL-U解析器https://universaldependencies.org/format.html。通过这种方法,NER是基于UIMA Pipeline中的字典的。您需要开发一些专有的NER搜索/匹配算法(使用Python或其他受支持的语言)。