一种问题数据答案的确定方法及装置与流程

文档序号:18704450发布日期:2019-09-17 23:27阅读:155来源:国知局
一种问题数据答案的确定方法及装置与流程
本申请实施例涉及计算机
技术领域
,尤其涉及一种问题数据答案的确定方法及装置。
背景技术
:问答系统的实现需要强大和全面的知识资源库作为基础。早期的知识资源库大多是由各个领域的专家去构建的各自专业领域的知识资源库。但专家构建知识资源库的缺点是构建大规模的知识资源库时费时费力,而且在转换领域的时候,必须构建另一个领域的知识资源库,并且各个领域的知识资源库的构建方法和构建完成的知识资源库的结构一般情况下是不一致的。构建方法不具有通用性和知识资源库的结构不具有一致性,不能产生通用领域的问答系统。在构建知识资源库的同时,还需要深入理解用户提出的问题数据。由于计算机理解人类语言比较困难,目前解决这一问题数据有两种方法:一种是语义解析方法(scmanticparsing),另一种是基于信息检索的方法。语义解析方法最常用的方法是利用组合范畴语法(combinatorycategorialgrammar,ccg)。但是在ccg方法中起到重要作用的词汇大部分都是由人工生成,因此限制了领域的转换和扩展。如果领域转换,则必须重新生成一批新领域的特定词汇,并且在需要生成大规模词汇的时候需要耗费大量的人力和时间。基于信息检索的方法比较成熟且简单实用,而且不需要像ccg那样人工生成词汇,但是缺点是基于信息检索的方法要求答案中必须至少包含问句中的一个字或词,所以不如语义解析方法准确。技术实现要素:本申请的实施例提供一种问题数据答案的确定方法及装置,用于准确的确定满足用户需求的答案并节省人力成本。为达到上述目的,本申请的实施例采用如下技术方案:第一方面,提供了一种问题数据答案的确定方法,该方法包括:获取用户输入的第一问题数据;第一问题数据包括至少一个词语;确定至少一个词语中每个词语之间的词语关系;根据至少一个词语、词语关系及意图图谱确定第一问题数据对应的服务类型;其中,意图图谱至少包括至少一个词语关联的服务类型;根据第一问题数据对应的服务类型从至少一个预设答案中确定第一问题数据的答案。本申请实施例提供的问题数据的处理方法,通过识别用户输入的问题数据确定至少一个词语及至少一个词语中每个词语的词语关系,从而可以准确的解析问题数据;通过确定问题数据对应的服务类型,减少搜索范围,可以快速的确定问题数据的答案,因此可以满足用户需求,并降低人工成本。第二方面,提供了一种问题数据答案的确定装置,该装置可以为服务器,也可以为应用于服务器的芯片,该装置可以包括:通信单元、确定单元;通信单元,用于获取用户输入的第一问题数据;第一问题数据包括至少一个词语;确定单元,用于确定至少一个词语中每个词语之间的词语关系;确定单元,还用于根据至少一个词语、词语关系及意图图谱确定第一问题数据对应的服务类型;其中,意图图谱至少包括所述至少一个词语关联的服务类型;确定单元,还用于根据第一问题数据对应的服务类型从至少一个预设答案中确定第一问题数据的答案。第三方面,提供了一种可读存储介质,可读存储介质中存储有指令,当指令被执行时,实现如第一方面的方法。第四方面,提供了一种计算机程序产品,计算机程序产品包含至少一个指令,当至少一个指令在计算机上运行时,使得计算机执行如第一方面的方法。第五方面,提供一种芯片,芯片包括至少一个处理器及通信接口,通信接口和至少一个处理器耦合,至少一个处理器用于运行计算机程序或指令,以实现第一方面的方法。上述提供的装置或计算机存储介质或计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。附图说明图1为本申请的实施例提供的一种问答系统的结构示意图;图2为本申请的实施例提供的一种问题数据答案的确定方法流程示意图一;图3为本申请的实施例提供的一种问题数据答案的确定方法流程示意图二;图4为本申请的实施例提供的一种问题数据答案的确定方法流程示意图三;图5为本申请的实施例提供的一种意识图谱的结构示意图;图6为本申请的实施例提供的一种包括比较服务的意识图谱的结构示意图;图7为本申请的实施例提供的一种计算型的数据结构示意图;图8为本申请的实施例提供的一种问题数据答案的确定方法流程示意图四;图9为本申请的实施例提供的一种问题数据答案的确定方法流程示意图五;图10为本申请的实施例提供的一种问题数据答案的确定装置结构示意图一;图11为本申请的实施例提供的一种问题数据答案的确定装置结构示意图二;图12为本申请的实施例提供的一种问题数据答案的确定装置结构示意图三;图13为本申请的实施例提供的一种芯片的装置结构示意图。具体实施方式为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一历史问题数据和第二历史问题数据仅仅是为了区分不同的历史问题数据,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。如图1所示,图1示出了本申请实施例提供的一种问答系统的结构示意图。该问答系统包括:输入层、实体识别层、意图识别层、问题数据回答层。其中,输入层:用于检索用户输入问题数据。输入层可以包括:语音输入、聊天输入及搜索输入。实体识别层:用于识别用户输入问题数据的至少一个词语。实体识别层可以包括服务类型识别模块、基于知识图谱的识别模块和nlp识别模块。意图识别层:用于根据至少一个词语识别用户输入问题数据的服务类型。至少一个词语可以为:单个实体、实体+实体对应的属性、实体+关系、经常问到的问题数据(frequentlyaskedquestions,faq)匹配阈值以及其他词语。问题数据回答层:用于根据用户输入问题数据及服务类型确定答案。问题回答层可以包括:实体搜索模块、语义搜索模块、图计算挖掘模块、faq检索模块以及全文检索模块。问题数据回答层通过上述任意一种或多种组合可以确定用户输入问题数据的答案。一种可能实现的方式中,如图1所示,该问答系统还可以包括预处理层,预处理层用于对用户输入问数据进行处理,如检查用户输入的问题数据是否有错别字或有特殊符号等。一种可能实现的方式中,如图1所示,该问答系统还可以包括问题数据提示模块。该问题数据提示模块用于:若用户输入的第一问题数据不完整或有歧义,则发送提示信息。一种可能实现的方式中,如图1所示,该问答系统还可以包括会话补全模块。在多轮对话的场景下,会话补全模块用于基于上下文信息对当前用户问题数据进行问题数据的补全。需要说明的是,多轮对话是指在人机对话中,服务器在初步明确用户输入的第一问题数据的意图之后,获取必要信息以最终得到明确用户输入的第一问题数据的方式。多轮会话的适用场景是用户带着明确的目的而来,希望得到满足特定限制条件的信息或服务,例如:电价电费、故障报修、计量装置、地理信息和营业业务等。由于用户的需求比较复杂,可能需要分多词会话进行陈述,用户也可能在对话过程中不断修改或完善自己的需求。此外,当用户的第一问题数据的需求不够具体或明确的时候,服务器也可以通过询问、澄清或确认来帮助用户找到满意的结果。因此,多轮对话一个决策过程,服务器在对话过程中不断根据当前的状态决策下一步应该采取的最优动作(如:提供结果,询问特定限制条件,澄清或确认需求等),从而最有效的辅助用户完成信息或服务获取的任务。一种可能实现的方式中,如图1所示,该问答系统还可以包括可视化结果展示模块,用于将用户输入第一问题数据的答案展示给用户。一种可能实现的方式中,如图1所示,该问答系统还可以包括问题数据推荐模块,用于向用户推荐用户可能感兴趣的问题数据。一种可能实现的方式中,如图1所示,该问答系统还可以包括用户反馈模块,用于接收用户的使用意见。例如,当用户通过用户反馈模块输入“无法得到自己想要的答案”,则系统可以记录该意见并将该意见通知系统管理人员。一种可能实现的方式中,如图1所示,该问答系统还可以包括用户日志模块,用于记录用户的历史问题数据和/或历史问题数据的答案。下面将结合图2至图9对本申请实施例提供的一种问题数据答案的确定方法进行具体阐述。需要指出的是,本申请各实施例之间可以相互借鉴或参考,例如,相同或相似的步骤,方法实施例和装置实施例之间,均可以相互参考,不予限制。如图2所示,图2示出了本申请实施例提供的一种问题数据答案的确定方法,该方法的执行主体可以为服务器,或者该方法的执行主体也可以为终端。需要说明的,服务器可以为实体服务器,还可以为虚拟服务器,如云服务器等。本申请实施例中的终端可以是提供问题数据的设备。例如,该终端可以为用户手持通信设备,例如,手机、平板电脑、可穿戴设备等。下述实施例以执行主体为服务器为例描述,该方法可以包括:s101、服务器获取用户输入的第一问题数据。其中,第一问题数据包括至少一个词语。本申请实施例中,服务器可以通过图1中的输入层获取用户输入的第一问题数据。需要说明的是,第一问题数据也可以称为问题数据。特在此说明。其中,服务器接收到的第一问题数据可以为语音、文本等形式。s102、服务器确定至少一个词语中每个词语之间的词语关系。本申请实施例中,服务器可以通过图1中的实体识别层确定第一问题数据中的至少一个词语、以及至少一个词语中每个词语的词语关系。其中,词语关系可以包括从属关系、上下位关系等。示例性的,“电子设备”与“手机”之间的关系为从属关系,也即“手机”属于“电子设备”。“手机”与“a手机”之间的关系为上下位关系,也即“手机”为上位词语,“a手机”为下位词语。s103、根据至少一个词语、至少一个词语中每个词语之间的词语关系及意图图谱确定第一问题数据对应的服务类型。其中,意图图谱至少包括至少一个词语关联的服务类型。一种可能的实现方式中,服务器可以根据至少一个词语及至少一个词语中每个词语之间的词语关系,通过图1中的意图识别层确定第一问题数据对应的服务类型。另一种可能的实现方式中,服务器可以根据第一问题数据的类型确定服务类型。其中,第一问题数据的类型包括图计算类型、统计类型、比较类型中任一个。本申请实施例中,服务器可以采用模板匹配的方式确定问题数据的服务类型,例如,第一问题数据中出现“按xxx统计”则命中统计服务,出现“xxx与xxx的关系”则命中图计算服务。s104、服务器根据第一问题数据对应的服务类型从至少一个预设答案中确定第一问题数据的答案。一种可能的实现方式中,服务器可以配置有至少一个预设答案。一种可能的实现方式中,服务器可以通过网络获取至少一个预设答案。本申请实施例中,服务器可以根据第一问题数据对应的服务类型,从至少一个预设答案中确定该第一问题数据的答案。本申请实施例提供的问题数据的处理方法,通过识别用户输入的第一问题数据确定至少一个词语及至少一个词语中每个词语的词语关系,从而可以准确的解析第一问题数据;通过确定第一问题数据对应的服务类型,减少搜索范围,可以快速的确定第一问题数据的答案,因此可以满足用户需求,并降低人工成本。作为一种可能的实现方式,如图3所示,本申请实施例中,s102具体可以通过s301-s302实现:s301、服务器根据知识图谱确定第一问题数据的至少一个词语。知识图谱包括多个实体、多个实体之间的关系以及多个实体中每个实体对应的属性及属性值。其中,至少一个词语可以包括实体、概念、属性、属性值等。需要说明的是,本申请实施例中,一个词语对应一个实体、或一个概念、或一个属性、或一个属性值等。以“a手机和b手机的价格”的知识图谱为例,该知识图谱中,实体或概念为a手机、b手机,关系为和,属性为价格,属性值为高。则词语可以为a手机、b手机、价格、和。一种可能的实现方式中,服务器可以根据正向最大匹配对第一问题数据进行分词。需要说明的是,正向最大匹配就是将第一问题数据进行分隔,得到至少一个词语,其中分隔的长度为预设值;将至少一个词语从左至右与知识图谱或字典的词语进行匹配,如果匹配成功则进行下一轮匹配,直到至少一个词语处理完毕。如果一个词语匹配不成功,则将词语从末尾去除一个字,再进行匹配。示例性的,以第一问题数据为“苹果手机续航能力怎么样?”为例,则服务器根据正向最大匹配进行分词的结果为“苹果、手机、续航、能力、怎么样、?”。一种可能的实现方式中,服务器可以根据逆向最大匹配对第一问题数据进行分词。需要说明的是,逆向最大匹配与正向最大匹配的不同在于:将至少一个词语从右至左与知识图谱或字典的词语进行匹配。其余匹配过程与正向最大匹配一致,此处不再赘述。示例性的,以第一问题数据为“苹果手机续航能力怎么样?”为例,则服务器根据逆向最大匹配进行分词的结果为“苹果手机、续航能力、怎么样、?”。一种可能的实现方式中,服务器可以根据双向最大匹配的方法以及知识图谱,对第一问题数据分词,得到第一问题数据的至少一个词语。具体的,双向最大匹配法是将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较。根据大颗粒度词越多越好,非词典词和单字词越少越好的原则,选取其中一种分词效果好的结果输出。其中,颗粒度表示一个词语中字的数量。示例性的,以第一问题数据为“苹果手机续航能力怎么样?”为例,服务器根据正向最大匹配进行分词的结果为“苹果、手机、续航、能力、怎么样”;服务器根据逆向最大匹配分词结果为“苹果手机、续航能力、怎么样”。根据双向最大匹配的原则,选取逆向最大匹配结果为分词结果。一种可能的实现方式中,服务器可以根据启发式的规则来对分词结果进行进一步消歧,进而确定第一问题数据的至少一个词语。示例性的,以第一问题数据为‘苹果手机续航能力怎么样?’为例,则服务器可以识别出该第一问题数据在知识图谱中的实体为‘苹果手机’,实体属性名‘续航能力’。需要说明的是,本申请实施例中,启发式规则可以包括:a、如果正向最大匹配法的分词结果与逆向最大匹配法的分词结果的词数不同,则取分词数量少和/或单字少的分词结果。b、如果正向最大匹配法的分词结果与逆向最大匹配法的分词结果的词数分词结果词数相同,就说明没有歧义,可返回任意一个。s302、根据自然语言处理(naturallanguageprocessing,nlp)确定至少一个词语中每个词语之间的词语关系。本申请实施例中,服务器可以通过nlp的识别确定s302中至少一个词语之间词语关系,进而解决不同词语组合的歧义的第一问题数据。需要说明的是,当服务器通过上述分词方法,得到的分词结果中仅包括一个词语,则服务器可以根据该一个词语确定与该一个词语相关的答案。示例性的,以分词结果仅包括北京一个词语为例,则答案可以为北京的介绍,如:北京是中国的首都和/或北京的人口是2171万人等和北京相关的答案。一种可能的实现方式中,服务器可以通过依存句法分析每个词语的句法结构(如:“主谓宾”、“定状补”),确定第一问题数据中至少一个词语之间的词语关系,进而确定该第一问题数据的词语之间的词语关系。需要说明的是,句法结构包括词语和词语之间的词语关系或依存关系(dependencyrelations)。其中一个词语关系包括一个核心词(head)和一个修饰词(dependant)。一种可能的实现方式中,服务器可以基于条件随机场(conditionalrandomfield,crf)模型序列标注的方法,进行第一问题数据的依存句法分析。需要说明的是,crf模型是序列标注场景中常用的模型,比隐马尔可夫模型(hiddenmarkovmodel,hmm)能利用更多的特征,比最大熵马尔科夫模型(maximumentropymarkovmodel,memm)更能抵抗序列标注偏置的问题。需要说明的是,根据crf模型确定的依存关系包括三个特征:起点、终点、关系名称。其中,依存关系可以包括二个因素:方向和距离。因此我们将序列标注定义为:[+|-]dpos。其中,[+|-]表示方向,+表示支配词在句中的位置出现在从属词的后面;–表示支配词出现在从属词的前面;pos表示支配词具有的词性类别;d表示距离。其中,支配词支配从属词。需要说明的是,d指的是从某个方向开始第d个具有相同词性为pos的词。示例性的,以“最新款苹果手机在9月16日发布并开售”为例,服务器可以根据上述分词方法确定的分词结果为:‘最新(形容词)、苹果手机(名词)、在(介词)、9月16日(时间词)、发布(动词)、并(介词)、开售(动词)。其中从属词为:苹果手机(名词)’,支配词为:发布(动词)。从逆向开始第1个词(开售)与支配词(发布)词性相同,都为动词,因此d为1。本申请实施例中,服务器可以确定crf模型的多个特征模板。需要说明的是,特征模板用于确定crf模型的状态特征函数及crf模型的训练特征,从而使crf模型能够更加精准的对至少一个词语进行依存句法分析,提高nlp识别的准确率。示例性的,如表1所示,表1中为本申请实施例中确定的crf模型的多个特征模板。表1特征模板序号特征模板u00%x[-2,0]u01%x[-1,0]u02%x[0,0]u03%x[1,0]u04%x[2,0]u05%x[-2,0]/%x[-1,0]/%x[0,0]u06%x[-1,0]/%x[0,0]/%x[1,0]u07%x[0,0]/%x[1,0]/%x[2,0]u08%x[-1,0]/%x[0,0]u09%x[0,0]/%x[1,0]示例性的,以第一问题数据是“中国包装网”为例,该第一问题数据的分词结果为“中”、“国”、“包”、“装”、“网”,则该5个分词对应crf模型的下标分别为:-2、-1、0、1、2,以“包”为例,则根据u0--u4特征模板:表示某个位置与当前位置的信息之间的关系,比如说u00:%x[-2,0],就是指“中”和“包”之间的联系。u5--u7特征模板:表示某三个位置与当前位置的信息之间的关系,比如说u05:%x[-2,0]/%x[-1,0]/%x[0,0],就是指“中”、“国”、“包”和“包”之间的联系。u8--u9特征模板:表示某两个位置与当前位置的信息之间的关系,比如说u08:%x[-1,0]/%x[0,0],就是指“国”、“包”和“包”之间的联系。作为一种可能的实现方式,如图4所示,本申请实施例中,s103可以具体通过s401-s402实现:s401、服务器根据至少一个词语及词语关系从至少一个预设意图图谱中确定第一问题数据对应的意图图谱。本申请实施例中,服务器可以根据上述确定的至少一个词语进行第一问题数据的发现理解,进而从至少一个预设意图图谱中确定第一问题数据对应的意图图谱。一种可能的实现方式中,服务器中具有至少一个预设意图图谱。第一问题数据对应的意图图谱属于该至少一个预设意图图谱。一种可能的实现方式中,服务器可以通过网络获取至少一个预设意图图谱。需要说明的是,意图图谱用于反映知识图谱中实体、概念、属性、属性值与服务类型之间的关联。一种可能的实现方式中,本申请实施例中,服务器可以根据词语的一级概念和二级概念构建意图图谱。其中,一级概念包括:实体类型、属性、属性值、服务类型四类。二级概念包括:文本属性值、整数属性值,浮点数属性值以及时间属性值。示例性的,如图5所示,图5示出了本申请实施例的一种意图图谱。需要说明的是,图5中,亚类subclassof描述实体类型间的上下位关系;有的属性hasproperty描述实体类型拥有的属性;价值values描述属性所拥有的属性值;触发triggers描述实体类型可能触发的服务类型。示例性的,图5的意识图谱可以包括包含一个或多个服务类型。一个或多个服务类型与实体类型顶层节点相连接,代表意图图谱中所有类型的实体都可以触发服务类型。一种可能的实现方式中,服务器可以根据第一问题数据中至少一个词语与至少一个预设意图图谱中每个预设意图图谱的相似度确定第一问题数据对应的意图图谱。例如,服务器可以将第一问题数据中至少一个词语与至少一个预设意图图谱中相似度最高的预设意图图谱确定为第一问题数据对应的意图图谱。示例性的,图6中示出了一种手机类型为荣耀8的意图图谱与苹果手机6构成的意图图谱。示例性的,以图6中手机类型的意图图谱为例,该意图图谱中具有文本属性定义为‘商品介绍’、整数属性定义为‘商品价格’、浮点数属性定义为‘尺寸大小’、时间属性定义为‘出厂日期’。预设的意图图谱可以包括意图图谱1:事实服务、荣耀8、商品价格、尺寸大小及出厂日期;意图图谱2:事实服务、苹果手机6、商品价格、尺寸大小及出厂日期。其中,意图图谱1和意图图谱2包括共同的服务类型比较服务。以第一问题数据为手机荣耀8的价格为例,则服务器可以确定该第一问题数据对应的意图图谱为荣耀8的意图图谱。以第一问题数据为手机荣耀8比苹果6便宜多少为例,则服务器可以确定该第一问题数据对应的意图图谱为:荣耀8的意图图谱与苹果手机6构成的意图图谱。s402、服务器根据意图图谱的服务类型确定第一问题数据对应的服务类型。其中,服务类型包括事实服务、计算型服务、统计服务或比较服务中的任一个。本申请实施例中,服务器可以根据意图图谱中的服务类型确定第一问题数据对应的服务类型。需要说明的是,与计算型服务和/或比较服务相连接的边上定义了“实体数量”这个属性。如,属性值为2,表示当第一问题数据中包含两个实体是可以触发该服务。而统计型服务不需要定义“实体数量”这个属性,如“电风扇今天卖出去多少台”这样是一个统计型问题数据,统计型问题数据不需要确定第一问题数据中实体的个数。一种可能的实现方式中,服务器可以根据上述多个词语的多种组合,在意图图谱谱中进行路径匹配。一种可能的实现方式中,服务器可以根据带条件约束的最短路径算法,计算多个路径中的最短路径。其中,约束条件为:限制边类型为subclassof+服务类型-概念+词语关系的集合。具体的,若路径中包含服务类型,则服务器对识别到的路径进行检查,确定该路径是否满足触发服务的条件(如:路径必须包含两个实体)。若不满足触发服务的条件,则服务器可以引导用户输入,直至第一问题数据满足触发服务的条件。需要说明的,对于不同的服务类型,可以通过不同的服务器计算最短路径,则可以得到数值结果、单一知识卡片、实体列表、子图、图表以及多元素中的任意一个或多个。需要说明的是,若路径中不包含服务类型,如“国网客服电话号码”,则进行事实性回答。一种可能的实现方式中,s104具体可以包括s1041-s1044:s1041、若第一问题数据对应的服务类型为事实型服务,则服务器根据知识图谱查询、推理确定答案。需要说明的是,事实型服务是对事实型问题数据的回答。当第一问题数据对应的服务类型为事实型服务时,服务器可以根据知识库问答(knowledgebasedquestionanswering,kbqa),分析定问题数据,通过对第一问题数据进行语义理解和解析,进而利用知识图谱进行查询、推理得出答案。一种可能实现的方式中,服务器可以通过查询构建方法(queryconstruction)来进行回答。查询构建方法可分为基于模板、基于问题数据分析中得到的信息、基于机器学习和基于语义信息构建查询语句。其中,基于模板建立查询是建立起实现设计好的查询模板,其中包含一些空槽,需要将相关信息填入后形成一个完整的查询。同时也有一些工作通过机器学习的方法建立问题数据与查询语句之间的映射关系。需要说明的是,本申请实施例中,事实型服务支持四类问题数据,事实性服务的查询方法包括实体查询、实体属性查询、实体属性的多跳查询(多跳查询指的需要经过多次查询才能得到结果)以及多属性条件的实体查询。对于这四类问题数据的查询构建,本申请实施例定义了基于知识图谱的查询语言,根据第一问题数据意图识别的结果进行处理,得到最终的查询语句。示例性的,如表2所示,表示输出了多个查询方法对应的查询语言。表2查询语言s1042、若第一问题数据对应的服务类型为比较型问题服务,则服务器将第一问题数据分为多个事实性的子问题数据,根据多个事实性的子问题确定答案。需要说明的是,比较型服务是对事实型服务的功能扩充,在事实性服务的基础上,进一步增加了比较型服务。示例性的,以第一问题数据是“家电网公司比南方电网公司覆盖省份多吗”国为例。在回答阶段,服务器可以将该问题数据划分为:国家电网公司的覆盖省份和南方电网公司覆盖省份两个服务型的子问题数据。服务器可以分别检索这两个事实性的子问题的答案。最终服务器将这两个事实性的子问题的答案比较,以生成最终答案。s1043、若第一问题数据对应的服务类型为统计型问题回答,则服务器通过查询从多个预设答案中确定答案。需要说明的,统计型服务的回答是对知识图谱中的知识进行统计分析,本申请实施例中,服务器可以将知识数据进行重新组织,以关系数据的方式进行存储,利用关系数据库提供的统计函数进行统计型问题的回答。当第一问题数据的服务类型为统计型服务时,服务器需要预先对知识图谱数据进行萃取-转置-加载(extract-transform-load,etl)工作。具体的,对知识图谱按实体类型进行切分,每一个类型构建一张实体表,将该概念所拥有的属性映射为表中的字段,额外添加实体名称,实体同义词,实体概念字段。示例性性的,如表3所示,表3示出了一种统计型问题数据的实体表。表3统计性问题数据的实体表本申请实施例中,对于第一问题数据为统计型服务的回答,服务器可以通过查询构建的方式来进行。通过构建结构化查询语言(structuredquerylanguage,sql)形式的查询语言进行问题回答,以具体数值或者统计列表形式返回。一种可能的实现方式中,服务器可以使用计算count统计函数。示例性的,表4示出多种问题数据及多种问题数据每个问题数据的的查询语言。表4查询语言s1044、若第一问题数据的服务类型为计算型服务,则服务器通过图计算的方法得到答案。需要说明的是,计算型服务的问题数据指需要通过图计算的方法得到答案。示例性的以如天津电商公司和北京电商公司的关系为例。需要说明的是,由于目前数据查询语言无法覆盖图计算的应用场景,所以无法通过查询构建的方法得到此类问题数据的答案,因此,本申请实施例中,服务器可以通过图计算的方法得到答案,以子图的方式返回给用户。需要说明的是,图计算是以“图论”为基础的对现实世界的一种“图”结构的抽象表达,以及在这种数据结构上的计算模式。通常,在图计算中,基本的数据结构可以为:g=(v,e,d)v=vertex(顶点或者节点)e=edge边)d=data(权重)。如图7所示,图7示出了一种图计算服务中的图数据结构。其中,v1、v2、v3、v4、v5为节点,连接线表示边,数字表示权重。例如,v1和v2之间的连接线表示边,8表示这两个节点的权重。需要说明的是,图数据结构很好的表达了数据之间的关联性,因此,很多应用中出现的问题数据都可以抽象成图来表示,以图论的思想或者以图为基础建立模型来解决问题数据。需要说明的是,图计算用于解决在大规模图上如何在正确计算的前提下保证计算的效率。一种可能实现的方式中,本申请实施例中,服务器可以通过使用sparkgraphx计算框架进行图计算服务。需要说明的是,sparkgraphx计算框架采用的点分割的方式进行大规模图数据的分布式存储,即每个节点都存储一次,但有的边会被打断分到两个服务器上,因此可以节省存储空间。本申请实施例可以通过graphx提供的图算法工具包,实现页面排序pagerank、数三角形、最大连通图和最短路径等图算法。示例性的,一个简单的最短路径计算代码如下:一种可能的实现方式中,如图8所示,本申请实施例中,该方法还可以包括:s501-s504:s501、服务器获取用户输入的第二问题数据。s502、确定第二问题数据和第一问题数据关联的情况下,服务器提取至少一个词语中的第一词语。本申请实施例中,服务器可以通过会话补全模块与多轮意图拼接的方式实现多轮会话。其中,多轮意图拼接通过单轮会话对第一问题数据进行意图识别,将识别到的意图与第一问题数据的至少一个词语进行记录存储,当获取到与第一问题数据相关联的第二问题数据时,可以根据将第一问题数据的至少一个词语更新第二问题数据,或根据第二问题数据的至少一个词语更新第一问题数据。本申请实施例中,如果用户输入第一数据问题后,在预设时间内又输入了第二问题数据,如果第二问题数据不具有明确的主语,或者第二问题数据的主语为代词,由于此时服务器并不能确定第二问题问题的目的,因此可以提取第一问题数据中主语作为第二问题数据的主语,并更新第二问题数据。示例性的,以第一问题数据是“格力空调一晚能省多少电”、第二问题数据是“它的价格”为例。第二问题数据中包括它这个代词,“它”指代不明确,因此服务器可以确定第二问题数据与第一问题数据相关联,则服务器可以将第一问题数据中的主语“格力空调”替换第二问题数据的代词“它”,得到更新后的第二问题数据:格力空调的价格。示例性的,以第一问题数据是“格力空调一晚能省多少电”、第二问题数据是“那么安装时间呢?”为例,服务器确定第二问题数据包括会话标志词“那么”、“呢”,且第二问题数据没有主语,则服务器可以将第一问题数据中的主语格力空调补充到第二问题数据,得到一个更新后的第二问题数据,也即“格力空调的安装时间呢?”。一种可能的实现方式中,第二问题数据属于第一问题数据,则服务器可以将第一问题数据的至少一个词语与第二问题数据,得到一个补充后的问题数据,根据补充后的问题数据确定答案。示例性的,以第一问题数据是中国的电价是多少为例,由于服务器可能无法确定答案,或者,服务器提供的答案过多。服务器可以通过会话补全模块输入第二问题数据。当服务器获取到的第二问题数据为北京,由于北京属于中国,因此,服务器可以确定第二问题数据属于第一问题数据。服务器可以将第一问题数据中的“中国、的、电价”补充到第二问题数据中,得到一个更新后的第二问题数据“中国北京的电价”,服务器可以根据更新后的第二问题数据确定答案。一种可能的实现方式中,若第二问题数据中的至少一个词语不满足一次正确的kbqa或者触发服务的条件,如“安装时间?”,则服务器可以将第一问题数据中的主语格力空调补充到第二问题数据,得到一个更新后的第二问题数据,也即“格力空调的安装时间呢?”。需要说明的是,若第二问题数据与第一问题数据不相关联,则服务器可以将第二问题数据以单轮解析的方式,确定答案。s503、服务器根据第一词语更新第二问题数据。在第二问题数据与第一问题数据相关联的情况下,服务器可以将第一问题数据中的第一词语更新到第二问题数据。示例性的,若第一问题数据的主语不明确,或缺少主语,服务器可以将第一问题数据的主语补充到第二问题数据。s504、服务器根据更新的第二问题数据确定第二问题数据的答案。在第二问题数据更新的情况下,服务器可以根据更新后的第二问题数据确定答案。服务器确定更新后的第二问题数据答案得分方法可以参考上述方法,此处不再赘述。本申请实施例中,基于意图来进行多轮会话,比简单的拼接更准确,也更广泛地识别第二问题数据是否仍在第一问题数据的意图中,递归地实现多轮意图解析,避免了拼接过长,拼接过于粗暴带来的误召回和欠召回。一种可能的实现方式中,如图9所示,本申请实施例中,该方法还可以包括:s601-s602:s601、服务器计算第一问题数据与第一历史问题数据的相似度。一种可能实现的方式中,服务器可以协同过滤算法计算第一问题数据与第一历史问题数据的相似度。示例性的,以第一问题数据是“格力空调的价格”,第一历史问题是“格力空调多少钱”。第一问题数据中“格力空调”与第一历史问题中“格力空调”相同,第一问题数据中“价格”与第一历史问题中“多少钱”相似。一种可能实现的方式中,该相似度可以为向量相似度。s602、若相似度大于或等于阈值,则服务器确定第二历史问题数据的答案。其中,第二历史问题数据与第一历史问题数据具有相同的至少一个词语。若问题数据与第一历史问题数据的相似度大于阈值,服务器可以从多个历史问题数据中确定至少一个第二历史问题数据。示例性的,相似度可以为50%。以第一问题数据是格力空调的价格为例,第一历史问题数据是格力空调多少钱。第一问题数据与第一历史问题数据相似度超过50%,则服务器可以根据第一历史问题数据中的词语“格力空调”,确定历史问题数据中的“格力空调的保修期多长”、“格力空调的规格”等历史问题数据为第二历史问题数据。本申请实施例可以根据上述方法示例对问题数据答案的确定装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例提供了一种问题数据答案的确定装置,该装置可以为服务器,也可以为应用于服务器的芯片,如图10所示,该装置110可以包括通信单元111、确定单元112。通信单元111,用于获取用户输入的第一问题数据;第一问题数据包括至少一个词语;确定单元112,用于确定至少一个词语中每个词语之间的词语关系;确定单元112,还用于根据至少一个词语、词语关系及意图图谱确定第一问题数据对应的服务类型;其中,意图图谱至少包括至少一个词语关联的服务类型;确定单元112,还用于根据第一问题数据对应的服务类型从至少一个预设答案中确定第一问题数据的答案。可选的,确定单元112,具体用于:根据知识图谱确定第一问题数据的至少一个词语;知识图谱包括多个实体、多个实体之间的关系以及多个实体中每个实体对应的属性及属性值;根据自然语言处理nlp确定至少一个词语中每个词语之间的词语关系。可选的,确定单元112,还具体用于:根据至少一个词语及至少一个词语中每个词语之间的词语关系从至少一个预设意图图谱中确定第一问题数据对应的意图图谱;根据意图图谱的服务类型确定第一问题数据对应的服务类型;其中,服务类型包括事实服务、图计算服务、统计服务或比较服务中的任一个。可选的,通信单元111,还用于获取用户输入的第二问题数据;确定单元112,还用于确定第二问题数据和第一问题数据关联的情况下,提取至少一个词语中的第一词语;确定单元112,还用于根据第一词语更新第二问题数据;确定单元112,还用于根据更新的第二问题数据确定第二问题数据的答案。可选的,如图11所示,该装置110还包括计算单元113;计算单元113,用于计算第一问题数据与第一历史问题数据的相似度;确定单元112,还用于若相似度大于或等于阈值,则确定第二历史问题数据的答案;其中,第二历史问题数据与第一历史问题数据具有相同的至少一个词语。图12示出了上述实施例中所涉及问题数据的确定装置的又一种可能的结构示意图。当该装置为服务器时,该装置包括:一个或多个处理器161和通信接口162。处理器161用于对装置的动作进行控制管理,例如,执行上述确定单元112执行的步骤,和/或用于执行本文所描述的技术的其它过程。在具体实现中,作为一种实施例,处理器161可以包括一个或多个cpu,例如图12中的cpu0和cpu1。在具体实现中,作为一种实施例,通信设备可以包括多个处理器,例如图12中的处理器111。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理问题数据(例如计算机程序指令)的处理核。可选的,该装置还可以包括存储器163和通信线路164,存储器163用于存储装置的程序代码和问题数据。图13是本申请实施例提供的芯片170的结构示意图。芯片170包括一个或两个以上(包括两个)处理器1710和通信接口1730。可选的,该芯片170还包括存储器1740,存储器1740可以包括只读存储器和随机存取存储器,并向处理器1710提供操作指令和问题数据。存储器1740的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccessmemory,nvram)。在一些实施方式中,存储器1740存储了如下的元素,执行模块或者问题数据结构,或者他们的子集,或者他们的扩展集。在本申请实施例中,通过调用存储器1740存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。其中,上述处理器1710可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。存储器1740可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。总线1720可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线1720可以分为地址总线、问题数据总线、控制总线等。为便于表示,图13中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(applicationspecificintegratedcircuit,asic)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图2、图3、图4、图8、图9中所述的问题数据答案的确定方法。由于本发明的实施例中的问题数据的确定装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1