如何从Azure认知搜索EntityRecognition技能输出中删除重复的命名实体?

时间:2020-06-29 17:53:11

标签: azure-cognitive-search

我使用的是Azure认知搜索技能集,其中包含EntityRecognition技能,可以从Azure存储中的斑点中查找所有人员,位置和组织。

当我使用不同的minimumPrecision值运行该技能时,它始终会返回一个包含重复值的列表。

是否有一种方法告诉技巧删除重复项?还是我需要创建一个自定义技能来处理EntityRecognition技能的结果以删除重复项?

enter image description here

2 个答案:

答案 0 :(得分:1)

作为EntityRecognition技能的一部分,当前无法本地删除重复项。团队开发了一项技能,可以帮助您建立技能。 https://github.com/Azure-Samples/azure-search-power-skills/blob/master/Text/Distinct/README.md

答案 1 :(得分:0)

@Ishan关于独特PowerSkill的答案是我采用的方法,但是为了确保内容全面,需要在答案中添加一些细节。

主要目标是将所有文档内容分成5万个字符页面,因为索引文档非常大。这样一来,每个页面都有重复的关键词,并且在页面之间会有更多重复。

挑战在于如何获取每个页面的所有关键字短语数组,并将它们作为单词集合传递给PowerSkill Distinct自定义技能。

下面是我的解决方案中使用的技能集中的自定义技能的定义。自定义技能已从PowerSkills github存储库部署到名为Distinct20200629152300的功能应用程序。

要检索功能URL,可以从功能的“代码+测试”部分中获取它,并将URL粘贴到技能定义中,如下所示。

Function URL location

技能定义的关键部分是输入单词注释/document/merged_content/pages/*/keyphrases/*,它将所有页面关键字短语数组“扁平化”为一个数组。这样一来,自定义技能就可以访问所有页面关键字,从而成功对整个列表进行重复数据删除。

SkillSet definition for Distinct Custom skill