招商网站开发文档,房地产最新信息,佛山做外贸网站信息,做义工旅行有哪些网站本文转载自公众号#xff1a;图谱学苑。今天介绍的工作是An Interactive Mechanism to Improve Question Answering Systems via Feedback#xff0c;作者#xff1a;张欣勃#xff0c;邹磊#xff0c;胡森#xff0c;被CIKM2019接收。本文是一篇与知识库自然语言问答系统… 本文转载自公众号图谱学苑。 今天介绍的工作是An Interactive Mechanism to Improve Question Answering Systems via Feedback作者张欣勃邹磊胡森被CIKM2019接收。本文是一篇与知识库自然语言问答系统QA相关的工作。在本文中我们设计了一种旨在通过用户对QA系统的反馈来进行提升QA系统的交互式框架IMPROVE- QA不仅可以使现有QA系统基于对原始答案的局部反馈获得更精确的答案还可以提升已有的解析映射词典以确保QA系统具有自动不断学习增强的能力。为了提供更好的交互性和在线性能我们设计了一种整合的启发式图挖掘算法HWspan以进行查询图的自动修正。在Freebase和DBpedia上进行的大量实验证实了我们方法的有效性和优越性。 1研究背景先介绍一下问题的研究背景和意义。基于知识图谱的自然语言问答KBQAKnowledge-based question answering系统接收用户的自然语言问题通过知识图谱自动返回给用户答案向用户屏蔽了翻译、检索、查询的复杂技术有效地减轻了用户的负担。但是基于知识图谱的自然语言问答系统存在很多技术挑战。第一由于自然语言本身的歧义性和多样性同一个实体/关系可能对应不同的自然语言短语同一个自然语言短语在不同的语境中可能对应到不同的实体/关系。第二由于语言学本身复杂的语法特性如省略倒装从句等用户的自然语言可能表达了丰富的语义并具有多样的结构。第三由于用户本身不了解背后知识图谱的语义模式用户的自然问题表达方式和知识图谱的存储方式之间存在鸿沟。所以现有的基于知识图谱的自然语言问答系统的能力有待提高。在实际情况中往往会产生错误回答。本文关注单轮问答情景下的基于知识图谱的事实类的自然语言问答系统将常见的错误概括为以下三类1 实体错误entity/class linking error该错误发生在从自然语言句子中识别出了错误的实体或者进行了错误的实体链接。例如问题“怎么得到李白这张卡”知识图谱中可能有名为李白的两个实体一个是诗人李白一个是王者荣耀游戏中的李白。KBQA系统可能会进行错误的实体链接而影响到问题的答案。例如问题“华中科技大学在哪个城市”KBQA系统可能将“华中科技大学“进行了错误的拆分“华中/科技大学”而没有链接到正确的实体上。2 关系错误relation paraphrasing error该错误发生在关系抽取阶段。通常情况下关系抽取会采取远监督的方法即给定输入的一个三元组s,p,o把句子中主语s和宾语o之间的短语映射到谓词p上。这种方法经常会出现错误。例如语料库中常有某人出生和死亡在同一个地方的记录因此关系释义词典中常出现谓词birthPlace和deathPlace混淆的情况。3 语义结构错误该问题常发生在某一实体有更高层的类别归属或某一实体有更为具体的细分类目的情况下对于这个关系的若干种描述都符合待查实体的属性但是难以判断究竟哪一种是存储于RDF数据集之中的描述。例如“问中国有哪些山”可以直接指向中国也可以先指向中国的一个城市再指向中国而已有系统往往出现结构错误或缺失。2相关工作基于知识图谱的自然语言问答基于知识图谱的自然语言问答主要可以分为两类。第一类是基于语义解析的知识图谱自然语言问答系统。这类系统会将用户的自然语言问题转化成查询图、SPARQL 等可执行的形式更适用于复杂问题。这类系统往往需要独立的串联的实体链接、关系抽取等模块常依赖实体链接、关系释义等词典 和模版 。第二类是基于信息检索的知识图谱自然语言问答系统 。这类系统并不显式地理解用户的自然语言会将自然语言问题和候选答案映射到向量空间中并通过一个匹配模型对候选进行打分选出最匹配的答案。本文关注第一类即基于语义解析的RDF自然语言问答系统。WHY和WHY-NOT当用户查询传统的关系型数据库而返回的结果出乎用户意料时用户通常需要更改自己的查询直至获得自己想要的结果。但是通常用户没有这样的能力调整自己的查询并且想知道为什么某一个自己期望的特定答案没有出现在查询结果中WHY-NOT而为什么一个自认为不该出现的答案出现在了查询结果中WHY。传统关系型数据库查询中的WHY问题和WHY-NOT问题激发了广大研究者的极大兴趣并得到了完善的研究大致包含以下几类1溯源。针对WHY问题将数据的来源展示给用户或追踪其检索路径以向用户解释为什么我们的系统会检索出这样的结果。2修改数据库。适用于有些时候Q/A系统检索的数据集中的数据来源可能不可靠可以试图通过修改数据库中已有的数据来使得再一次检索的答案集包含用户指出的被遗漏的答案。3修改查询。更多时候出错的不是数据集而是查询语句本身因此最佳的方法是修改错误的查询语句。本文关注的就是第三种情况即自动的查询修正。 3文章简介我们设计了一套提升QA系统的交互式框架IMPROVE- QA以使现有QA系统基于对原始答案的局部反馈获得更精确的答案。具体地当用户不满意返回的答案Q(D)时他/他可以提供有关Q(D)的反馈包括删除一些错误的答案Q-(D)添加缺失的正确答案Q∆(D)并标记一些现有的正确答案Q(D)。请注意我们的系统不需要用户提供错误/遗漏的完整列表或标记所有正确答案实验结果显示2-3个提示即可。IMPROVE-QA从原始查询Q和用户的反馈中学习生成更精确的查询Q作为自然语言N的表达方式并返回更精确的答案Q-(D)。此外基于从Q到Q的修正我们总结了映射关系并增强了已有字典以避免此后查询中类似的错误从而可以从根本上改善QA系统并确保赋予其自动连续学习的能力。 图1:基于用户反馈进行查询修正【示例】考虑一个由伊丽莎白·泰勒Elizabeth Taylor的忠实粉丝提出的问题N “哪个女演员在欧洲国家出生”。图1显示了答案集Q(D)其中包括由RDF QA系统在知识库D上返回的六个答案。答案中意外地排除了“伊丽莎白·泰勒”英国伦敦1932年。令她更加困惑的是“ Marilyn Monroe”美国洛杉矶1926年显示在答案列表中。QA系统发生了什么问题然后她给出针对Q(D)的反馈。如图1所示她添加了一个遗漏的正确答案Q∆(D)伊丽莎白·泰勒(Elizabeth Taylor)划掉了一个错误的答案Q-(D)玛丽莲·梦露并标记了两个存在的正确答案Q(D)奥黛丽·赫本和玛丽莲·迪特里希。令R Q∆(D)∪Q(D)表示给出的所有正向的答案。根据她的反馈IMPROVE-QA找到了一个新查询Q其中包含两个BGP(basic group pattern)查询Q1和Q2即QQ1 UNION Q2每个子查询都可以表示为查询图。注意到在这个情况下不可能生成单个BGP查询在覆盖R中的所有正确答案的同时又排除Q-(D)中的任何错误答案。因此我们允许在修改后的查询Q中出现多个BGP查询。并且为了避免过度拟合我们需要最小化BGP查询的数量和从Q到Q的总编辑距离。则query refinement的问题可以形式化定义为在知识库D上一个SPARQL查询Q得到的答案集为Q(D)通过用户反馈得到的线索答案集中正确的为RQ(D)∪QΔ(D)错误的为Q-(D)。我们的目标是找到一个新的SPARQL查询QQ1∪ Q2∪…∪ Qss≥1使得1Q(D)能覆盖到R中的全部答案且排除掉Q-(D)中的全部答案2Q和Q间的编辑距离最小另一方面在Q中原顶点v4的标签Lv_4 Country在Q1和Q2中被重新标记为Lu_4 EuropeanCountry。实际上这是Q中的实体/类别链接错误。在原始查询中自然语言问题N中的“countries in Europe”与Country链接但正确的应该是EuropeanCountry。我们将“countries in Europe”→ EuropeanCountry的映射记录到实体/类别链接词典entity / class-linking dictionary中以修正后续的查询。同样地原查询Q中的边上的标签deathplace在Q1和Q2被重新标记为birthplace。这是一个关系释义错误它将短语“be born in”映射为deathplace。基于此我们可以更正关系释义词典relation-paraphrasing dictionary。以及Q中的边在Q1中被扩展成一个长度为2的路径意味着我们可以在句法结构词典sentence structure dictionary中添加一个模板模式“?who verb place?”→“?who verb ?place1. ?place1 verb1 ?place2?”该词典也可以提升QA系统的准确性。我们在从Q到Q的修改中总结如上述的模式从而修正上述的三个词典这些词典的修正可以用于避免今后查询中类似的问题如下所示。尽管查询优化过程似乎类似于通过示例答案以查询数据库Query By ExamplesQBE 但是IMPROVE-QA和QBE基于完全不同的假设和意图。QBE为用户查询或探索知识库提供了方便的接口而IMPROVE-QA旨在帮助KBQA系统更好地理解自然语言问题并返回更精确的答案。对于QBE问题示例答案是唯一的输入而IMPROVE-QA不仅考虑用户给出的种子答案包括正向和负向还考虑原始的翻译查询Q。这是因为从问题N到查询图Q的许多翻译错误都反映在Q的某些部分中例如实体/类别链接节点错误关系释义错误边标签错误和句子结构结构错误。我们希望利用现有查询Q并根据用户的反馈以优化Q。IMPROVE-QA系统包含三个组件1反馈收集用户对Q(D)进行评价于是我们得到一个新的答案集合R其中R包括用户认可的正确答案集Q(D)以及用户指出的丢失答案集Q∆(D)并将用户指出的错误答案集Q-(D)排除在外即R Q(D)∪ Q∆(D), Q-(D)∩R ∅。2查询优化这是本文章的核心组件成分。目的是找到Q{Q1,Q2,…,Qs}使得Q(D)能覆盖用户给出的R中的所有答案而将Q- (D)排除在外。并且为了避免过拟合使Q到Q的距离尽可能小。3字典修改这个模块用于从每次查询的优化过程中学习以应用到今后的查询。基于某次的修改我们从修改过程中抽取以更新实体链接词典、谓词映射词典和结构模板。上述过程可以迭代进行。本文中我们重点关注于模块2即查询优化部分。为此我们提出了两种算法分别是生成筛选两阶段法和启发式带权子图模式挖掘法。(一生成筛选两阶段法我们设计了一种两阶段法模式生成模式筛选。在模式生成阶段我们首先挖掘出正确线索答案集R中的所有频繁模式。我们只保留带有变量?x的频繁模式。所有可以覆盖到至少一个正确答案排除任何错误答案的模式是符合条件的模式将这些模式选中进入到模式筛选阶段。注意到为了减小频繁模式挖掘的候选规模我们设计了如上图所示的压缩算法将节点v周围的邻居子图压缩成Primary Neighborhood Graph。在模式筛选阶段我们从中挑选出能覆盖到所有正确答案集且距Q的总图编辑距离最小的模式作为修改后的Q{Q1,Q2,…,Qs}。在该阶段我们采取一种带权重的贪心策略候选查询图与原始的查询图的编辑距离Q与候选查询图可匹配的正确答案个数决定了每个候选图的权重每次贪婪地选择最好的候选图直到所有的正确线索答案都被匹配到。权重的定义为单位权重覆盖wcweighted cover如下公式。但是上述方案有着如下三个缺点。第一在线处理时间比较久。生成筛选两阶段法需要先在生成阶段挖出所有的候选频繁模式然后在筛选阶段进行挑选形成最后的集合大大浪费了时间。第二搜索空间冗余。传统的频繁模式挖掘算法采取DFS或BFS的搜索顺序而并不适合我们的问题情景。我们希望最具希望被筛出的模式具有最小单位权重覆盖能被尽早筛出而一旦已筛出的模式能匹配全部正确线索集搜索就停止。第三不确定的阈值。传统的模式挖掘算法需要我们指定置信度的值而这个阈值并不是可以提前预知的一个小的阈值会带来更大的搜索空间和更长的在线时长一个大的阈值可能会造成候选答案的匹配缺失。综上我们进一步设计了一个启发式的带权子图模式挖掘算法HWspan将模式生成和模式筛选整合在一起。二启发式带权子图模式挖掘法HWspan的思想是我们每次都挑选最有“潜力”的模式去匹配正确线索答案集合。我们知道任何一个模式P子模式都可以通过其父模式扩展产生。我们不采取传统的BFS或者DFS方式来挖掘而是按单位权重覆盖由低到高赋予候选模式优先级。为此我们设计一个单位权重覆盖的下界来预测模式和其子模式的单位权重覆盖。下界越低优先级越高。特别地随着模式的扩展下界在单调增加这意味着如果某时模式P并不好到被挑选出来那也就不必要扩展出其子模式。因此我们设计了一种启发式的搜索策略以避免搜索到不必要的空间也避免了阈值的设定。下界的定义如下公式所示。其中SGED(Pi,Q)定义为从图Pi到图Q的子图的最小编辑距离易知SGED(Pi,Q)≤D(P,Q),其中D(P,Q)表示P和Q之间的最小图编辑距离。我们证明了如下定理。引理给定两个图模式P,P’,和一个查询图Q其中P是P’的子模式则有定理给定两个图模式P,P’, 其中P是P’的子模式则有于是就有了如下的剪枝策略在某一时刻若P1和P2都是面临被筛选的图模式若wc(P2)lb(P1)则此时不需要计算P1和其子模式的单位权重覆盖也就意味着在此时不需要对P1进行扩展。 为了找到具有最小的单位权重覆盖的模式我们设计一种贪心的搜索策略。在该方法中我们维持三个优先队列可挖掘队列、待筛选队列、已筛选队列。其中可挖掘队列存储所有已经被挖掘的图模式并按单位权重覆盖的下界值进行递增排序。初始时所有的单边作为起始模式加入可挖掘队列中。在每一步我们总是将可挖掘队列中的头模式P弹出将其扩展为P的子模式并把它们加入可挖掘模式中。同时如果P是一个符合条件的模式可以覆盖到至少一个正确答案排除任何错误答案我们把P加入待筛选队列中。待筛选队列是时刻按单位权重覆盖递增维持的。假设P1和P2分别是可挖掘队列、待筛选队列的头模式某一时刻P1的单位权重覆盖的下界值大于P2的单位权重覆盖这就意味着可挖掘队列、待筛选队列中的所有模式的单位权重覆盖都比P2大。根据单调性定理所有未探索到的子图的单位权重覆盖都不可能低于P2的单位权重覆盖。换句话说在这一时刻P2拥有最小的单位权重覆盖。因此我们将P2从待筛选队列中弹出加入已筛选队列。已筛选队列中存储所有我们选出的查询以组成修正查询集合的Q。P2被选中后我们更新所有的待匹配的正确答案集R初始时RR。注意R的更新会引发可挖掘队列、待筛选队列的更新。最后当待匹配的正确答案集R为空已筛选队列中的集合即为所求Q{Q1,Q2,…,QS}。实验在Freebase和DBpedia上进行并各自选取了基准数据集WebQuestionsSP和QALD-6。我们挑选了一个基于Freebase的QA系统Aqqu和一个基于DBpedia的QA系统gAnswer。实验设计分为两种第一种是将IMPROVE-QA视为接在QA系统后的一个模块直接根据用户的反馈来修改查询和展示给用户的答案。第二种是将IMPROVE-QA与基本的QA整合通过在训练数据集上获取用户的反馈来修正实体链接词典、谓词映射词典和结构模板从而赋予QA系统不断增强的能力。在两个系统上的两类实验结果如下。 实验表明只需要2-3个反馈线索IMPROVE-QA就能获得近乎完美的效果。更多关于IMPROVE-QA的介绍和实验结果请参照我们的CIKM2019的文章。参考文献[i] Zou, Lei, et al. Natural language question answering over RDF: a graph data driven approach. Proceedings of the 2014 ACM SIGMOD international conference on Management of data. ACM, 2014.[ii] Abujabal, Abdalghani, et al. Automated template generation for question answering over knowledge graphs. Proceedings of the 26th international conference on world wide web. International World Wide Web Conferences Steering Committee, 2017.[iii] Bordes, Antoine, Sumit Chopra, and Jason Weston. Question answering with subgraph embeddings. arXiv preprint arXiv:1406.3676 (2014).[iv] Marcelo Arenas, Gonzalo I. Diaz, and Egor V. Kostylev. 2016. Reverse Engineering SPARQL Queries. In WWW. 239–249.OpenKG开放知识图谱简称 OpenKG旨在促进中文知识图谱数据的开放与互联促进知识图谱和语义技术的普及和广泛应用。点击阅读原文进入 OpenKG 博客。