知识问答方法、装置、系统、设备及存储介质与流程

文档序号:21848489发布日期:2020-08-14 17:18阅读:112来源:国知局
本说明书实施例涉及自然语言处理技术,尤其涉及一种知识问答方法、装置、系统、设备及存储介质。
背景技术
::问答系统(questionansweringsystem,qa)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。问答系统是人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。目前,问答系统在工业界的多个场景都得到较大关注,具备较大的应用价值,同时也是一个人工智能能够业务落地的重要场景。公司在多个业务场景对问答系统存在较大需求,而答案的质量一定程度上决定了产品智能化服务的水平,影响用户的体验,完善问答系统能力提高答案质量有助于改善用户使用产品智能的体验,具备较大的价值。技术实现要素:本说明书实施例提供一种知识问答方法、装置、系统、设备及存储介质,提高了答案质量。第一方面,本说明书实施例提供一种知识问答方法,包括:获取用户问句;对所述用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量,其中,所述结构化数据包含问答知识;从所述结构化数据上召回与所述用户问句相关的候选子图,并对所述候选子图进行编码,得到第二特征向量;根据所述第一特征向量和所述第二特征向量进行针对所述用户问句的多任务分类,根据分类结果得到所述用户问句的答案内容,根据分类结果得到所述用户问句的答案内容。第二方面,本说明书实施例提供一种知识问答装置,包括:问句获取单元,用于获取用户问句;第一编码单元,用于对所述用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量,其中,所述结构化数据包含问答知识;第二编码单元,用于从所述结构化数据上召回与所述用户问句相关的候选子图,并对所述候选子图进行编码,得到第二特征向量;分类单元,用于根据所述第一特征向量和所述第二特征向量进行针对所述用户问句的多任务分类,根据分类结果得到所述用户问句的答案内容,根据分类结果得到所述用户问句的答案内容。第三方面,本说明书实施例提供一种知识问答系统,包括:客户端和服务端;所述客户端,用于接收用户输入的用户问句,并将所述用户问句发送至所述服务端;所述服务端,用于接收来自所述客户端的用户问句,对所述用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量,其中,所述结构化数据包含问答知识;从所述结构化数据上召回与所述用户问句相关的候选子图,并对所述候选子图进行编码,得到第二特征向量;根据第一特征向量和第二特征向量进行针对用户问句的多任务分类,根据分类结果得到用户问句的答案内容。第四方面,本说明书实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述方法的步骤。第五方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。本说明书实施例提供的一个或者多个技术方案,至少实现了如下技术效果或者优点:通过对用户问句与结构化数据的结构部分进行编码,得到第一特征向量通过对从结构化数据中召回的与用户问句相关的候选子图进行编码,得到第二特征向量,结合第一特征向量和第二特征向量进行多任务分类,来得到针对用户问句的答案内容。从而,避免了由人工构造标准问题和标准答案,以及避免了建立标准问题与标准答案之间的固定映射。因此,不仅减少了人工整理成本,使得用户可以根据实际需求进行灵活、个性化提问,且通过结构化数据来覆盖更丰富的知识,而不仅仅是提供给用户人工构造的标准答案,因此,能够更有效利用知识来得到用户问句的答案。并且,通过用户问句与结构化数据的结构部分构建的第一特征向量,由于结合了结构部分对用户问句进行语义理解,有利于进行多任务分类时能准确选择符合用户问句语义的候选子图进行定位答案,进而使得答案的质量也更高。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本说明书实施例中知识问答方法的场景示意图;图2为本说明书实施例中知识问答方法的流程图;图3为本说明书实施例中从表格召回子图的示意图;图4为本说明书实施例中从知识图谱召回子图的示意图;图5为本说明书实施例中知识问答装置的功能模块示意图;图6为本说明书实施例中电子设备的结构示意图。具体实施方式为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。本说明书实施例提供的知识问答方法应用于如图1所示的场景下,该场景下包括:客户端10、服务端20。客户端10部署于用户设备上,客户端10接收输入的用户问句,并将用户问句发送至服务端20,服务端20接收到客户端10发送的用户问句之后,生成针对用户问句的答案内容,并将生成的答案内容反馈给客户端10,使得客户端10可以向用户提供该答案内容。第一方面,本说明书实施例提供一种知识问答方法,应用于服务端。结合图1和图2所示,本说明书实施例提供的知识问答方法包括如下步骤:s200、获取用户问句。本说明书实施例中的用户问句包含一个以上词语。客户端接收输入的用户问句,并将输入的用户问句发送给服务端,使得服务端获得用户问句。在步骤s200之后,并行或者分任意先后顺序来执行步骤s202和s204,本说明书不限制步骤s202和s204的执行顺序:s202、对用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量,其中,结构化数据包含问答知识。预先构建的结构化数据包含一种或者多种不同形式,如果包含多种不同形式,则能够兼顾不同形式数据的优势,以此能够灵活的适应更多场景。具体的,结构化数据的形式可以包含表格和/或知识图谱。但是,无论是表格还是知识图谱,在逻辑上可以拆分为结构部分(schemalevel)和内容部分(datalevel);其中,结构部分是为数据存储定义的一种结构框架,而内容部分包含根据结构框架进行具体表示的问答知识。而步骤s202中正是针对结构化数据的结构部分进行处理的过程,与结构化数据的内容部分无关。具体的,通过自编码语言模型对用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量。自编码语言模型可以但不限于使用bert系列模型的任意一种,基于此,步骤s202包括如下步骤s2021~s2022:s2021:根据结构化数据的结构部分和用户问句,构造出标准输入文本。具体的,结构部分包含一个以上文本对象,步骤s2021的具体实施过程是:拼接用户问句与结构部分,得到拼接文本;在拼接文本的开始位置插入开始标识符、在拼接文本中各文本对象之间添加文本分隔标识符、以及在拼接文本的结尾添加结束标识符,从而形成符合自编码语言模型的输入标准的标准输入文本。处理标准输入文本中每个元素,得到标准输入文本中每个元素的输入表达,其中,每个元素的输入表达是根据该元素的一维向量(tokenembeddings)、段向量(segmentembeddings)和位置向量(positionembeddings)进行拼接得到。在标准输入文本中:每个插入的标识符、用户问句中每个词语以及结构部分中每个词语分别为一个元素。更具体来讲,如果预先构建的结构化数据是单一形式,则直接根据结构部分和用户问句构造标准输入结构,得到标准输入文本。如果预先构建的结构化数据的形式同时包含表格和知识图谱,由于表格的结构和知识图谱的结构部分并不相同(参考图3和图4所示,表格的结构部分是列结构,知识图谱的结构部分是由边和实体形成的图结构)的,因此,需要对表格的结构部分和知识图谱的结构部分进行结构统一化处理,得到统一的数据结构;根据统一的数据结构与用户问句构造标准输入结构,得到标准输入文本。s2022:通过自编码语言模型对标准输入文本进行编码,得到第一特征向量,其中,第一特征向量中包含用户问句中每个元素的向量表达,以及结构部分中每个元素的向量表达。具体的,将标准输入文本中每个元素的输入表达输入到自编码语音模型,由自编码语言模型对该输入表达进行编码,以得到该元素的向量表达,从而抽取出标准输入文本的第一特征向量。在本说明书实施例中,可以构建共享网络层来完成步骤s2021~s2022,使得第一特征向量能够共享给多任务分类器中不同分类器的任务网络,有利于后续多任务分类器中每个任务网络能准确选择哪个候选子图进行定位答案。s204、从结构化数据上召回与用户问句相关的候选子图,并对候选子图进行编码,得到第二特征向量。在本说明书实施例中,从结构化数据上召回的候选子图包含一个或者多个。具体的,通过对用户问句进行内容理解,得到问句主题词;从结构化数据上召回与问句主题词匹配的一个以上候选子图。其中,问句主题词是用户问句的核心词语。举例来讲,用户问句是“沪生300中指数上涨50%的有哪些”,通过对该用户问句进行内容理解,得到问句主题词为“指数”。则从结构化数据上召回与问句主题词“指数”匹配的一个以上候选子图。在具体实施时,针对不同形式的结构化数据,召回候选子图的方式也会有所不同,下面分别给出针对表格和知识图谱形式的结构化数据召回候选子图的方式:①针对表格形式的结构化数据而言:根据问句主题词在表格上进行知识定位,定位到列名与问句主题词匹配的每列;针对定位到的列名与问句主题词匹配的每列,以该列的列名为中心节点,以及该列的列内值为邻接节点召回候选子图。因此,如果从表格上定位到m列的列名与问句主题词匹配,则从该表格上召回m列对应的m个候选子图,m为正整数。表格上与问句主题词匹配的列,具体是:该列的列名包含问句主题词,或者该列的列名与问句主题词相同。参考图3所示的,如果从表格上定位到“列2”与问句主题词匹配,以列名“列2”为中心节点、列内值“值1”“值2”为对应两个邻接节点,可以召回一个如图3所示的一个候选子图。②针对知识图谱形式的结构化数据:根据问句主题词在知识图谱上进行知识定位,定位到知识图谱上的每个主题词实体(topicentity);针对定位到的每个主题词实体,以该主题词实体的一跳以上范围召回候选子图。因此,如果从知识图谱中定位到n个与主题词匹配的实体(即:定位到n个主题词实体),则从该知识图谱上召回与n个主题词实体对应的n个候选子图,n为正整数。比如,针对每个定位到的主题词实体而言,比如,以该主题词实体的一跳范围或者两跳范围召回候选子图。如果是以主题词实体的一跳范围召回子图,则召回的一个候选子图可以参见图4所示。知识图谱上的主题词实体,是指:知识图谱中包含问句主题词的实体,或者与问句主题词相同的实体。总而言之,主题词实体是用户问句提及的核心词语。比如,问句主题词是“指数”,则定位到知识图谱中的实体“综合指数”、“规模指数”、“风格指数”、“指数函数”等均属于主题词实体,其中,由于仅仅是以问句主题词进行召回子图,召回的这些主题词实体对应的候选子图,可能会存在一些与用户问句的语义不相符的候选子图,正是通过自编码语音模型根据结构化数据的结构部分和用户问句生成了第一特征向量,结合了结构部分对用户问句进行语义理解,有利于后续多任务分类器中每个任务网络能从召回的各候选子图中选择准确的候选子图进行定位答案,从而提高答案准确性。具体的,如果召回来自于不同形式的结构化数据的多个候选子图。比如,召回的多个候选子图中:一个以上来自于表格、一个以上来自于知识图谱中,则对召回的各候选子图进行图结构的统一,并通过图算法对统一图结构后的各候选子图进行编码,得到第二特征向量。其中,第二特征向量包含每个候选子图的向量表达。在具体实施时,图算法可以但不限于选择gat(graphattentionnetwork,图注意力网络)模型。s206、根据第一特征向量和第二特征向量进行针对用户问句的多任务分类,根据分类结果得到用户问句的答案内容。具体的,预先构建多任务分类器,构建的多任务分类器由共享网络层的多个分类器构成,其中,每个分类器都是一个二分类的任务网络,以完成对应子任务,多任务分类器是根据每个子任务的目标函数共同优化整体网络。在本说明书实施例中,将用户问句映射为sql(structuredquerylanguage,结构化查询)语句,具体来讲,把目标sql语句进行格式化拆解为多个部分,通过学习用户问句并将学习结果填充至sql语句中每个部分,得到用户问句映射的sql语句。将用户问句映射的结构化查询语句拆分为多个子任务;针对多个子任务中的每个子任务,通过预先构建的多任务分类器中对应的任务网络处理第一特征向量和第二特征向量,得到对应针对该子任务的子分类结果;合并多任务分类器中每个子分类结果,得到的分类结果作为用户问句的查询结果。在本说明书实施例中用户问句处理映射得到的构化查询语句,可以表示如下:select(v1)fromtable_xwhere(v1)=(v3),其中,每个括号内对应一个子任务。以用户问句是“沪深300的综合指数基金有哪些”举例来讲,通过把自然语言表达的用户问句映射为结构化查询语句,得到的结构化查询语言为表示为:select基金fromtable_xwhere综合指数=‘沪深300’。则对select基金fromtable_xwhere综合指数=‘沪深300’进行任务拆分,可以拆分为多个子任务,包含:是否为基金、是否为综合指数、以及是否为沪深300等分类子任务。通过本说明书实施例形成了用户问句与答案内容之间的泛化映射,而不再是标问标答的固定映射,因此,不依赖于人工整理的标准问题和标准答案的积累量,也不依赖于构建的问句模型来对输入的问句进行映射。因此,能够更灵活处理用户问题,使得用户可以灵活提问,继而能向用户提供更高质量的答案。如果多任务分类器利用的知识来自表格和知识图谱,由于二者具备各自的优势且存在一定的差别,通过综合表格和知识图谱数据的知识问答,能够兼顾两者的优势,更有效利用知识,进而能够更灵活的适应更多的问答场景。第二方面,本说明书实施例提供一种知识问答装置,参考图5所示,包括:问句获取单元501,用于获取用户问句;第一编码单元502,用于对所述用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量,其中,所述结构化数据包含问答知识;第二编码单元503,用于从所述结构化数据上召回与所述用户问句相关的候选子图,并对所述候选子图进行编码,得到第二特征向量;分类单元504,用于根据所述第一特征向量和所述第二特征向量进行针对所述用户问句的多任务分类,根据分类结果得到所述用户问句的答案内容,根据分类结果得到所述用户问句的答案内容。在一可选的实施方式下,第一编码单元502包括:输入构造子单元,用于根据所述用户问句和所述结构部分,构造出标准输入文本;编码子单元,用于通过自编码语言模型对所述标准输入文本进行编码,得到所述第一特征向量,其中,所述第一特征向量中包含所述用户问句中每个元素的向量表达,以及所述结构部分中每个元素的向量表达。在一可选的实施方式下,如果所述结构化数据的形式包含表格和知识图谱,所述输入构造子单元,具体用于:对所述表格的结构部分和所述知识图谱的结构部分进行结构统一化处理,得到统一的数据结构;根据所述统一的数据结构和所述用户问句构造标准输入结构,得到所述标准输入文本。在一可选的实施方式下,所述第二编码单元503,具体用于:对所述用户问句进行内容理解,得到问句主题词;从所述结构化数据上召回与所述问句主题词匹配的一个以上候选子图。在一可选的实施方式下,所述结构化数据的形式包含表格和/或知识图谱。在一可选的实施方式下,所述第二编码单元503包含第一子图召回子单元,第一子图召回子单元用于:针对所述表格,根据所述问句主题词在所述表格上进行知识定位,定位到列名与所述问句主题词匹配的每列;针对定位到的列名与所述问句主题词匹配的每列,以该列的列名为中心节点,以及该列的列内值为邻接节点召回候选子图。在一可选的实施方式下,所述第二编码单元503包含第二子图召回子单元,第二子图召回子单元用于:针对所述知识图谱,根据所述问句主题词在所述知识图谱上进行知识定位,定位到所述知识图谱上的每个主题词实体;针对每个所述主题词实体,以所述主题词实体的一跳以上范围召回候选子图。在一可选的实施方式下,所述分类单元504,包括:拆分子单元,用于将所述用户问句映射为结构化查询语句,根据所述结构化查询语句拆分为多个子任务;分类子单元,用于针对所述多个子任务中每个子任务,通过所述多任务分类器中对应的任务网络处理所述第一特征向量和所述第二特征向量,得到针对所述子任务的子分类结果;合并所述多个子任务中每个子任务的子分类结果,得到所述分类结果。上述装置,其中各个单元的具体功能已经在本说明书实施例前述提供的知识问答方法实施例中进行了详细描述,该装置的具体实施细节可以参考知识问答方法实施例中的详细描述,为了说明书的简洁,在此不再赘述。第三方面,本说明书实施例提供一种知识问答系统,参考图1所示,包括:客户端10和服务端20;所述客户端10,用于接收用户输入的用户问句,并将所述用户问句发送至所述服务端20;所述服务端20,用于接收来自所述客户端10的用户问句,对所述用户问句和预先构建的结构化数据中结构部分进行编码,得到第一特征向量,其中,所述结构化数据包含问答知识;从所述结构化数据上召回与所述用户问句相关的候选子图,并对所述候选子图进行编码,得到第二特征向量;根据所述第一特征向量和所述第二特征向量进行针对所述用户问句的多任务分类,根据分类结果得到所述用户问句的答案内容。上述知识问答系统的功能已经在本说明书实施例前述提供的知识问答方法实施例中进行了详细描述,为了说明书的简洁,在此不再赘述。第四方面,基于与前述知识问答方法实施例的同样发明构思,本说明书实施例还提供一种电子设备,如图6所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,处理器602执行程序时实现前述知识问答方法实施例的步骤。其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口606在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。第五方面,基于与前述知识问答方法实施例的同样发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述知识问答方法实施例的步骤。本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1