我一直在使用spacy查找句子的NER。我的问题是我必须计算两个不同文档的句子之间的NER相似度。 python中是否有相同的公式或软件包?
TIA
答案 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或其他受支持的语言)。