计算机可读存储介质、智能问答方法及智能问答装置与流程

文档序号:15981801发布日期:2018-11-17 00:25阅读:174来源:国知局

本发明涉及智能交互领域,尤其涉及一种计算机可读存储介质、智能问答方法及智能问答装置。

背景技术

知识库,又称为智能数据库或人工智能数据库,在知识库中,信息被有效组织以便进行检索和利用。知识库广泛应用于人工智能领域,其中一个典型的应用就是智能问答系统,又称为自动问题系统。

应用于智能问答系统的知识库中存储多个知识点,每个知识点包括一个或多个预设的问题以及对应的答案信息。当用户通过输入请求信息提出问题时,计算请求信息与预设问题的语义相似度,如果存在语义相似度大于预设阈值的预设问题,则将该问题对应的答案信息返回给用户,如果用户输入的当前问句与知识库中问句的最高语义相似度小于或等于预设阈值时,则无法通过知识库直接提供答案。

在一些应用场景中,用户当前输入的问题很有可能跟前文信息存在关联,例如,当用户先问“通过网上银行如何开通信用卡”,通过知识库获得对应答案后,用户又问“通过短信呢”,此时的“通过短信呢”的语义其实与前文信息“通过网上银行如何开通信用卡”存在关联,可以理解的是,用户当前想问的完整问句应该是“通过短信如何开通信用卡”。

然而,在上述应用场景下,如果采用现有技术中计算与知识库问句相似度的方法来找答案,无疑存在无法提供答案的问题,因为现有的知识库中没有建立“通过短信呢”和对应答案的知识点,进一步地,“通过短信呢”这个问句存在多种语义的可能性,即使存在该知识点,那么回复的答案也可能是不准确的。所以,虽然用户当前输入的问句和前文有联系,但现有的智能问答系统不能通过推理来准确地确定当前问句实际表达的内容,因而存在智能性较低的问题,或者发生回复错误答案的问题。



技术实现要素:

本发明解决的技术问题是提供一种计算机可读存储介质、智能问答方法及智能问答装置,使得智能问答系统的智能性提高。

为解决上述技术问题,本发明实施例提供一种计算机可读存储介质,其上存储有程序,该程序被执行时实现智能问答的方法,所述方法包括:

接收当前请求信息;

当无法直接获得与所述当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系;

根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分;

根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容;

当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息;

获取与所述目标输入信息对应的答案。

可选的,所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配指的是:所述第二语义填充内容的缺失语义成分与所述第一语义填充内容的部分缺失语义成分相同,且相同缺失语义部分的第二语义填充内容与第一语义填充内容属于同一业务类别。

可选的,在获取所述参考请求信息之前,还包括:提供知识库,所述知识库包括多个知识点,每个知识点包括答案以及多个问题;当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,判定无法直接获得与所述当前请求信息对应的答案;否则,向用户提供所述最高语义相似度值对应的知识点中的答案。

可选的,当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,在获取所述参考请求信息之前,所述方法还包括:

判断所述当前请求信息是否有分句;

当所述当前请求信息没有分句时,获取所述参考请求信息;

当所述当前请求信息有分句时,分别获取每个分句对应的答案,并将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案。

可选的,在用户输入的当前请求信息之前的请求信息中,从离当前请求信息最近的请求信息开始从后往前依次判断请求信息是否为所述参考请求信息,具体包括:根据抽象语义数据库对待判断的请求信息进行抽象语义推荐处理,以得到第三抽象语义表达式,根据所述第三抽象语义表达式从待判断的请求信息中提取对应于缺失语义成分的第三语义填充内容,当待判断的请求信息能直接从知识库中获得对应的答案,其第三语义填充内容与所述当前请求信息的第二语义填充内容中的一部分匹配时,确定其为所述参考请求信息。

为解决上述技术问题,本发明实施例还提供一种智能问答方法,包括:提供知识库,所述知识库包括多个知识点,每个知识点包括答案以及多个问题;

接收当前请求信息;

当无法直接获得与所述当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系;

提供多个类别的抽象语义,每个类别的抽象语义包括一个或多个抽象语义表达式,所述抽象语义表达式包括缺少语义成分;

根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括确实语义成分;

根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,并根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容;

当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息;

最后获取与所述目标输入信息对应的答案;

其中,在获取所述参考请求信息之前,获取所述用户输入信息与所述知识库中问题的最高语义相似度值,当所述用户输入信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,进行所述抽象语义推荐处理。

可选的,当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,判定无法直接获得与所述当前请求信息对应的答案;

否则,向用户提供所述最高语义相似度值对应的知识点中的答案。

可选的还包括:当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,在获取所述参考请求信息之前,判断所述当前请求信息是否有分句;

当所述当前请求信息有分句时,获取每个分句对应的答案,将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案;

当所述当前请求信息没有分句时,直接获取所述参考请求信息。

为解决上述技术问题,本发明实施例还提供一种智能问答装置,包括:

知识库,适于提供多个知识点,每个知识点包括答案以及多个问题;

接收单元,适于接收当前请求信息;

参考请求信息获取单元,适于当无法直接获得与索虎当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系;

预处理单元,适于在获取所述参考请求信息之前,获取所述用户输入信息与所述知识库中问题的最高语义相似度值;

抽象语义数据库,适于提供多个类别的抽象语义,每个类别的抽象语义包括一个或多个抽象语义表达式,所述抽象语义表达式包括缺少语义成分;

抽象语义推荐处理单元,适于根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分,所述抽象语义推荐处理单元还适于当所述用户输入信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,进行所述抽象语义推荐处理;

提取单元,适于根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,并根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容;

目标输入信息获取单元,适于当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息;

答案获取单元,适于获取与所述目标输入信息对应的答案。

可选的,还包括:

第一判断单元,当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,判定无法直接获得与所述当前请求信息对应的答案;否则,所述答案获取单元向用户提供所述最该语义相似度值对应的知识点中的答案;

第二判断单元,适于当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,在获取所述参考请求信息之前,判断所述当前请求信息是否有分句;

拼接单元,适于当所述当前请求信息有分句时,在答案获取单元分别获取每个分句对应的答案后,将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案;

所述参考请求信息获取单元,适于当所述当前请求信息没有分句时,获取所述参考请求信息。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

本发明接收当前请求信息,当无法直接获得与所述当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系;根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分,根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容,当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息,获取与所述目标输入信息对应的答案。上述过程由于实现判断具有上下文关系的参考请求信息和当前请求信息存在语义关联时,进一步补全当前请求信息的完整表达,从而实现根据参考请求信息正确地推理出当前请求信息的完整表达内容,进而可以将当前请求信息的完整表达内容作为目标输入信息来进一步从知识库中获取对应的答案,避免了在当前请求信息与上文信息存在关联但根据当前请求信息无法从知识库直接获取答案的情况,进而提高了智能问答系统的智能性,具体而言提高了智能问答系统回复答案的准确率。

进一步地,本发明实施例区分当前请求信息有分句和没有分句的情况,在没有分句时,分别获取每个分句对应的答案,并将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案,避免在当前请求信息有分句时无法从知识库直接获取答案的情况,进而提高了智能问答系统的智能性,与此同时,由于获取了每个分句对应的答案并进行拼接,使得回复的答案信息更加完整,避免在知识库中直接获取答案信息不全的情况,提高了回复答案的准确率。

进一步地,本发明实施例在从前文查找参考请求信息时,判断满足可直接从知识库获取答案,第二语义填充内容与其对应的语义填充内容中的一部分匹配,并与当前请求信息的距离最近的分句作为参考请求信息,从而在参考请求信息与当前请求信息之间间隔多个分句时,仍然能准确地确定用于推理补全当前请求信息完整表达的参考请求信息,进而避免确定参考请求信息出错导致的答案回复不准确的情况,提高了回复答案的准确率。

附图说明

图1是本发明实施例中的一种智能问答方法的流程图;

图2是本发明实施例中的一种抽象语义推荐处理的方法的流程图;

图3是本发明实施例中的另一种智能问答方法的流程图;

图4是本发明实施例中的一种智能问答装置的结构示意图;

图5是本发明实施例中的另一种智能问答装置的结构示意图。

具体实施方式

如前所述,在一些应用场景中,用户当前输入的问题很有可能跟前文信息存在关联,例如,当用户先问“通过网上银行如何开通信用卡”,通过知识库获得对应答案后,用户又问“通过短信呢”,此时的“通过短信呢”的语义其实与前文信息“通过网上银行如何开通信用卡”存在关联,可以理解的是,用户当前想问的完整问句应该是“通过短信如何开通信用卡”。

然而,在上述应用场景下,如果采用现有技术中计算与知识库问句相似度的方法来找答案,无疑存在无法提供答案的问题,因为现有的知识库中没有建立“通过短信呢”和对应答案的这一条知识点,进一步地,“通过短信呢”这个问句存在多种语义的可能性,即使存在该知识点,回复的答案也可能是不准确的。所以,虽然用户当前输入的问句和前文有联系,但现有的智能问答系统不能通过推理来准确地确定当前问句实际表达的内容,因而存在智能性较低的问题,或者发生回复错误答案的问题。

本发明实施例由于实现判断具有上下文关系的参考请求信息和当前请求信息存在语义关联时,进一步补全当前请求信息的完整表达,从而实现根据参考请求信息正确地推理出当前请求信息的完整表达内容,进而可以将当前请求信息的完整表达内容作为目标输入信息来进一步从知识库中获取对应的答案,避免了在当前请求信息与上文信息存在关联但根据当前请求信息无法从知识库直接获取答案的情况,进而提高了智能问答系统的智能性,具体而言提高了智能问答系统的准确率。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例中的一种智能问答方法的流程图。下面参照图1所示对所述智能问答方法的步骤进行说明。

步骤s101:接收当前请求信息。

在具体实施中,所述当前请求信息可以是通过键盘或触摸屏等人机交互装置输入的文本信息,也可以是通过语音输入后经过转换得到的文本信息。

步骤s102:当无法直接获得与所述当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系。

在具体实施中,判断是否可以直接获得与所述当前请求信息对应的答案时,可以通过以下方式:

提供知识库,所述知识库包括多个知识点,每个知识点包括答案以及多个问题,将所述用户输入信息与所述知识库中所有问题进行相似度计算,当所述当前请求信息与所述知识库中问题的最高语义相似度值大于预设相似度阈值时,直接向用户提供所述最高语义相似度值对应的知识点中的答案。否则,执行步骤s102。

所述获取所述参考请求信息的目的是为了可以用来根据其语义推理所述当前请求信息的语义。在具体实施中,所述参考请求信息和当前请求信息为上下文关系。具体而言,所述参考请求信息为可从知识库中直接获取答案的信息,并且该信息为所述当前请求信息的前文信息,与所述当前请求信息具有关联关系。所述前文信息为用户之前输入智能问答系统的信息。

在本发明的一实施例中,所述参考请求信息为用户上一次输入的问句。例如:在上一次问答事务中,用户输入问句“通过网上银行如何开通信用卡”,并从知识库中直接获取答案;用户当前输入“通过短信呢”,以期从智能问答系统获取答案。那么在本例中,“通过短信呢”为所述当前请求信息,用户上一次输入的“通过网上银行如何开通信用卡”为所述参考请求信息。

下面步骤中以“通过短信呢”为所述当前请求信息,以及用户上一次输入的“通过网上银行如何开通信用卡”为所述参考请求信息为例,说明以下步骤。

步骤s103:根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分。

在具体实施中,所述抽象语义数据库中存储有多个抽象语义表达式,每个类别的抽象语义包括一个或多个抽象语义表达式。每个抽象语义表达式包括一个或多个缺失语义成分,后续根据抽象语义表达式中的缺失语义成分可以从特定的请求信息中提取对应的语义填充内容。

在本发明一实施例中,对所述参考请求信息和所述当前请求信息进行抽象语义推荐处理的方法一致,下面以一特定用户输入信息为例来说明抽象语义表达式和抽象语义推荐处理的方法。通过以下方法的说明,本领域的技术人员应能理解当用户输入信息为参考请求信息或者当前请求信息时,如何对所述参考信息和所述当前请求信息进行抽象语义推荐处理得到各自对应的抽象语义表达式。

例如,以用户输入信息为“通过网上银行如何开通信用卡”为例进行说明。

在一具体实施例中,所述抽象语义数据库中存储的若干抽象语义表达式包括:通过[concept1][action][concept2]($如何)办理;通过[concept]办理($如何)办理;[concept2]($如何)通过[concept1]办理;($如何)通过[concept]办理;通过[concept]($如何)办理;通过[concept1]($如何)办理[concept2];通过[concept][action]($如何)办理;[concept2]通过[concept1]($如何)办理;通过[concept1]($如何)开通[concept2];通过[concept1]($如何)[action][concept2];[action1][concept1]($如何)[action2][concept2];[action1][concept1]($如何)[action2][concept2];哪里可以[action][concept];[action][concept]的步骤;[concept1][action][concept2]。

上述语义表达式中,“[]”表示缺失语义成分,“[]”的内容表示该缺失语义成分的属性,语义表达式中其他内容表示语义规则词,具体的上述表达式中,“[concept]”,“[concept1]”,“[concept2]”,“[action]”,“[action1]”,“[action2]”表示缺失语义成分,方框“[]”的内容“concept”,“concept1”,“concept2”,“action”,“action1”,“action2”表示对应的缺失语义成分的属性,其中“concept”表示缺失语义成分“[concept]”为概念属性的缺失语义成分,后续填充该缺失语义成分的内容至少包括用户输入信息中的一个具有名词词性的单独词,或者包括用户输入信息中一个具有名词词性的单独词以及若干具有其他词性的单独词的组合;“concept1”表示缺失语义成分“[concept1]”为第一个概念属性的缺失语义成分,其中“concept”和“1”结合表示该缺失语义成分的属性,“concept”表示概念属性,“1”表示位置属性,为第一个,后续填充该缺失语义成分的内容为至少包括用户输入信息中第一个具有名词词性的单独词,或者包括用户输入信息中第一个具有名词词性的单独词以及若干具有其他词性的单独词的组合;“concept2”表示缺失语义成分“[concept2]”为第二个概念属性的缺失语义成分,后续填充该缺失语义成分的内容为至少包括用户输入信息中第二个具有名词词性的单独词,或者包括用户输入信息中第二个具有名词词性的单独词以及若干其他词性的单独词的组合;“action”表示缺失语义成分“[action]”为动作属性的缺失语义成分,后续填充该缺失语义成分的内容至少包括用户输入信息中的一个具有动词词性的单独词,或者包括用户输入信息中一个具有动词词性的单独词以及若干具有其他词性的单独词的组合;“action1”表示缺失语义成分“[action1]”为第一个具有动作属性的缺失语义成分,后续填充该缺失语义成分的内容至少包括用户输入信息中的第一个具有动词词性的单独词,或者包括用户输入信息中第一个具有动词词性的单独词以及若干具有其他词性的单独词的组合;“action2”表示缺失语义成分“[action2]”为第二个具有动作属性的缺失语义成分,后续填充该缺失语义成分的内容至少包括用户输入信息中的第二个具有动词词性的单独词,或者包括用户输入信息中第二个具有动词词性的单独词以及若干具有其他词性的单独词的组合。

上述各语义表达式中缺失语义成分之外的内容如“通过”,“($如何)”,“办理”,“开通”,“的步骤”等表示语义规则词,其中语义规则词“($如何)”表示“如何”这个语义规则词属于词类“$如何”,在一实施例中,所述“$如何”词类包括“如何”,“怎么”,“怎么样”,“怎样”等一组词义相近的词语,词类可以在建立抽象语义表达式时同时建立。相应的通过表示这个语义规则词属于词类“$通过”,在一实施例,所述词类“$开通”中包括关键词“开通”、“办理”、“订购”“申请”。后续在进行缺失语义成分的填充形成具体语义时,具有词类的语义规则词可以用该词类中的其他关键词代替。

需要说明的是,上述抽象语义表达式中缺失语义成分的表示方式以及词类信息的表示方式是为描述和表示的方便,仅作为一个示例,其不用限制本发明的保护范围,本发明的其他实施例中,对抽象语义表达式中缺失语义和词类信息可以采用其他的表示方式。

通过上述说明,可以了解到抽象语义表达式和缺失语义成分的概念。下面参照图2所示说明步骤s103中所述的抽象语义推荐处理操作。通过抽象语义推荐处理操作,可以得到抽象语义表达式和对应的缺失语义成分。所述抽象语义推荐处理可以包括步骤s103a、步骤s103b、步骤s103c、步骤s103d和步骤s103h。

进行步骤s103a,对所述用户输入信息进行分词处理,得到若干单独词。

所述分词处理依据一定分词规则进行,在系统中预先设定分词的规则,进行分词处理时,调用设定的分词规则,对用户输入信息与对应的领域知识数据库中的预置知识分别进行分词处理。

所述分词处理可用采用正向(逆向)最大匹配法、最佳匹配法、逐词遍历法或词频统计法,或其他合适的分词方法。

下面仍以接收的用户输入信息为“通过网上银行如何开通信用卡”作为示例进行说明。

对用户输入信息“通过网上银行如何开通信用卡”进行分词处理,得到若干单独词“通过”,“网上银行”,“如何”,“开通”,“信用卡”。

进行步骤s103b,分别对每个所述单独词进行词性标注处理,得到每个单独词的词性信息。

对单独词进行词性标注处理,得到每个单独词的词性信息的目的是为后续将用户输入信息与抽象语义表达式的匹配提供匹配的依据。

具体以上例进行说明,标注上述的单独词“通过”的词性为第一个动词、介词,标注单独词“网上银行”的词性为第一个名词,标注单独词“如何”的词性为代词,标注单独词“开通”的词性为第二个动词,标注单独词“信用卡”的词性为第二个名词。需要说明的是词性标注为第一个名词时表示单独词“网上银行”为第一个具有名词词性的单独词,第二个名词、第一个动词或第二个动词的解释类似。

进行步骤s103c,分别对每个所述单独词进行词类判断处理,得到每个单独词的词类信息。

分别对每个所述单独词进行词类判断处理的目的是为了判断每个单独词是否具有相应的词类,在一实施例中,其具体过程为:将每个单独词与词类库中的若干词类进行匹配,若某一词类中存在该单独词,则该单独词具有相应的词类,当单独词具有相应的词类,则对该单独词进行属于某一词类(或词类信息)的标记,后续在进行匹配处理时,通过判断用户输入信息中部分内容与抽象语义表达式中的对应的语义规则词的是否属于同一词类,从而判断用户输入信息与该抽象语义表达式的匹配程度,提高了匹配的精度和效率。

进行步骤s103d,对抽象语义数据库进行搜索处理,得到与所述用户输入信息相关的抽象语义候选集,所述抽象语义候选集包括多个抽象语义表达式。

对抽象语义数据库进行搜索处理,得到与所述用户输入信息相关的抽象语义候选集的目的是为了减少后续进行匹配处理时的负担以及减少处理时间,以提高系统的性能。

所述抽象语义候选集中抽象语义表达式的至少部分语义规则词与所述用户输入信息中至少部分单独词相同或属于同一词类。在一实施例中,进行搜索处理时,若某个抽象语义表达式的至少部分语义规则词与所述用户输入信息中至少部分单独词相同或属于同一词类,则将该抽象语义表达式作为抽象语义候选集中的一个抽象语义表达式。在其他实施例中,可以根据其他的搜索方式对抽象语义数据库进行搜索,得到与所述用户输入信息相关的抽象语义候选集。

在具体的实施例中,对抽象语义数据库进行搜索处理,得到与所述用户输入信息“通过网上银行如何开通信用卡”相关的抽象语义候选集包括抽象语义表达式:通过[concept1][action][concept2]($如何)办理;通过[concept]办理($如何)办理;[concept2]($如何)通过[concept1]办理;($如何)通过[concept]办理;通过[concept]($如何)办理;通过[concept1]($如何)办理[concept2];通过[concept1]($如何)开通[concept2];通过[concept][action]($如何)办理;通过[concept1]($如何)开通[concept2];[concept2]通过[concept1]($如何)办理;通过[concept1]($如何)[action][concept2]。上述抽象语义候选集中的抽象语义表达式部分语义规则词(通过,通过,办理或($如何))与所述用户输入信息中至少部分单独词(通过,办理或如何)相同或属于同一词类。

步骤s103h,根据所述词性信息和词类信息对抽象语义候选集中的抽象语义表达式进行匹配处理,得到与所述用户输入信息匹配的抽象语义表达式。

具体的,通过匹配处理,得到与所述用户输入信息“通过网上银行如何开通信用卡”匹配的抽象语义表达式包括:通过[concept1]($如何)[action][concept2],该语义表达式中相应的缺失语义成分[concept1]与单独词“网上银行”对应;缺失语义成分[concept2]与单独词“信用卡”对应,缺失语义成分[action]与单独词“开通”对应。

通过上述步骤s103a至步骤s103h可以得到用户输入信息对应的抽象语义表达式及抽象语义的类别,以及该抽象语义表达式的各缺失语义成分。

可以理解的是,当用户输入信息为参考请求信息时,可以经过上述步骤s103a至步骤s103h得到参考请求信息对应的抽象语义表达式为“通过[concept1]($如何)[action][concept2]”,记为第一抽象语义表达式。同理,当用户当前请求信息“通过短信呢”时,经执行上述步骤可以得到当前请求信息对应的抽象语义表达式“通过[concept]”,记为第二抽象语义表达式。

继续参照图1,步骤s104:根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,并根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容。

仍以上例继续说明步骤s104的实施,所述参考请求信息为“通过网上银行如何开通信用卡”,[concept1]对应填充内容“网上银行”,[action]对应语义填充内容“开通”,[concept2]对应语义填充内容“信用卡”,上述参考请求信息的语义填充内容记为第一语义填充内容。同样地,所述当前请求信息为“通过短信呢”,[concept]对应语义填充内容“短信”,上述当前请求信息的语义填充内容记为第二语义填充内容。

需要说明的是,在本发明的一实施例中,用户已经输入的请求信息大于1条时,用户上一次输入的请求信息可能不是所述参考请求信息。那么在执行步骤s102时获取参考请求信息时可以通过以下方式进行判断一请求信息是否为所述参考请求信息:

从用户输入的当前请求信息之前的请求信息中,从离当前请求信息最近的请求信息开始从后往前依次判断请求信息是否为所述参考请求信息,具体方式为:根据抽象语义数据库对待判断的请求信息进行抽象语义推荐处理,以得到第三抽象语义表达式,根据所述第三抽象语义表达式从待判断的请求信息中提取对应于缺失语义成分的第三语义填充内容,当待判断的请求信息能直接从知识库中获得对应的答案,其第三语义填充内容与所述当前请求信息的第二语义填充内容中的一部分匹配时,确定其为所述参考请求信息。所述匹配是指第三语义填充内容与所述当前请求信息的第二语义填充内容中的一部分属于同一业务类别。

上述当前请求信息的第二语义填充内容和待判断的请求信息的第三语义填充内容的获得过程中涉及到的抽象语义推荐处理操作和提取填充内容的操作可对应参照步骤s103和步骤s104的相应说明,本领域的技术人员应当理解所述抽象语义推荐处理操作和填充内容的提取操作如何用于此处,在此不再赘述。

需要说明的是,在本发明一实施例中,由于步骤s102中在判断是否为参考请求信息时,已经通过抽象语义推荐处理操作和提取填充内容操作,已获取当前请求信息的第二语义填充内容,以及已确认为参考请求信息的请求信息的第三语义填充内容,所以可以不必再执行步骤s103和步骤s104,而把所述第三语义填充内容作为所述第一语义填充内容即可。

步骤s105:当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息。

在具体实施中,所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配指的是所述第二语义填充内容的缺失语义成分与所述第一语义填充内容的部分缺失语义成分相同,且相同缺失语义部分的第二语义填充内容与第一语义填充内容属于同一业务类别。

所述同一业务类别为同一业务领域中的词汇,其可以是名词,也可以为动词等,这些词汇可以在同样的句式中经常被替换,例如,“短信”和“网上银行”可以在信用卡服务业务领域中作为不同渠道的类型,可以被定义为属于同一业务类别的词汇,可以在本实施例中被替换。又如,“网上银行如何开通信用卡”中的“开通”和“取消”也可以被定义为同一业务类别;再如,“彩铃如何开通”中的“彩铃”和“飞信如何开通”中的“飞信”也可被定义为运营商服务领域中的同一业务类别。需要说明的是,可以通过预先定义同一业务类别中的词库,从而可用于判断两个词是否属于同一业务类别。一般而言,在定义同一业务类别时,可以通过统计业务领域和对话事务的应用场景中经常使用的互相可被替换的词汇来确定。

仍沿用上例,所述第二语义填充内容中的“短信”与所述第一语义填充内容中的“网上银行”属于同一业务类别,并且两者都属于相同的缺失语义成分[concept],因而两者匹配,那么将所述第二语义填充内容“短信”替换所述参考请求信息“通过网上银行如何开通信用卡”中对应匹配的第二语义填充内容“网上银行”的部分,得到替换后的参考请求信息“通过短信如何开通信用卡”,替换后的参考请求信息即作为所述目标输入信息。

在上述示例中,前文信息为“通过网上银行如何开通信用卡”,当前请求信息为“短信呢”。无法按照现有的计算相似度的方式从知识库中直接获得当前请求信息“短信呢”对应的答案。然而,本实施例通过确定与当前请求信息“短信呢”具有语义关联的前文信息“通过网上银行如何开通信用卡”作为参考请求信息,经过上述步骤补全当前用户想表达的内容实际上是“通过短信如何开通信用卡”,得到应以“通过短信如何开通信用卡”作为当前请求信息的完整表达,进而若存在一知识点“通过短信如何开通信用卡”及答案与所述知识库中,则可以从知识库中直接获取答案。因此,本发明实施例的技术方案提高了智能问答系统的推理分析能力,提高了系统的智能性,具体而言提高了回复答案的准确率。

步骤s106:获取与所述目标输入信息对应的答案。

经过执行步骤s105,获得目标输入信息“通过短信如何开通信用卡”。继续执行步骤s106,从知识库中直接获取“通过短信如何开通信用卡”对应的答案。

在具体实施中,仍然可以从知识库中获取答案的方式获得与所述目标输入信息对应的答案。具体地,获取“通过短信如何开通信用卡”与所述知识库中问题的最高语义相似度,当最高语义相似度大于预设阈值时,得到该问句对应的答案,也即所述目标输入信息对应的答案。

图3是本发明实施例中的另一种智能问答方法的流程图。下面参照图3所示的智能问答方法的步骤进行说明。

步骤s301:接收当前请求信息。

本步骤的实施请参照图1中步骤s101,不再赘述。

步骤s302:当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,判定无法直接获得与所述当前请求信息对应的答案;否则,向用户提供所述最高语义相似度值对应的知识点中的答案。

在本实施例中,提供知识库,所述知识库包括多个知识点,每个知识点包括答案以及多个问题,将所述用户输入信息与所述知识库中所有问题进行相似度计算,当所述用户输入信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,执行步骤s303;否则直接向用户提供所述最高语义相似度值对应的知识点中的答案。

步骤s303:当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,判断所述当前请求信息是否有分句,当所述当前请求信息没有分句时,获取所述参考请求信息,当所述当前请求信息有分句时,分别获取每个分句对应的答案,并将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案。

在具体实施中,当所述用户输入信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,执行本步骤s303。

本步骤中,判断所述当前请求信息是否有分句,当所述当前请求信息没有分句时,获取参考请求信息,继续执行步骤s304;否则当所述当前请求信息有分句时,分别获取每个分句对应的答案,并将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案,执行终止。

在具体实施中,判断当前请求信息是否有分句时,可以通过识别请求信息中是否有分隔符来进行判断,例如识别是否有“,”、“?”等来进行判断。

下面以两个示例说明本实施例中的步骤s301至步骤s303。

示例1:用户一次性输入信息“通过网上银行如何开通信用卡,彩铃如何开通”。

执行步骤s301:接收该当前请求信息“通过网上银行如何开通信用卡,彩铃如何开通”。

执行步骤s302,比较该当前请求信息与所述知识库中问题的相似度,发现该当前请求信息与知识库中问题的最高语义相似度小于预设阈值时,即知识库中没有相应的知识点,则执行步骤s303。

执行步骤s303,判断“通过网上银行如何开通信用卡,彩铃如何开通”是否有分句,通过识别该当前请求信息中有“,”,判定该当前请求信息有分句,则分别获取分句“通过网上银行如何开通信用卡对应的答案”和分句“彩铃如何开通”对应的答案得到“a”和“b”,再进行拼接处理,将拼接后的信作为最终的答案。需要说明的是,拼接答案时可以在两个答案之间插入其他分隔符,输出答案给用户,以确保良好的可读性,例如可输出“a。b”。

示例2:用户输入信息1“彩铃如何取消”,并直接从知识库获得答案。

用户输入信息2“通过网上银行如何开通信用卡”,并直接从知识库获得答案。

用户输入信息3“通过短信呢”,无法从知识库直接获取答案,但通过上面前面实施例将“通过短信呢”推理为“通过短信如何开通信用卡”,进而从知识库中获得答案。

用户输入信息4“通过微信呢”,用户输入信息4为当前请求信息。

执行步骤s301,接收当前请求信息“通过微信呢”。

执行步骤s302,比较该当前请求信息与所述知识库中问题的相似度,发现该当前请求信息与知识库中问题的最高语义相似度小于预设阈值时,即知识库中没有相应的知识点,则执行步骤s303。

执行步骤s303,判断“通过微信呢”没有分句,则需要确定参考请求信息。从当前请求信息“通过微信呢”之前的请求信息中,从接近“通过微信呢”开始,从后往前的顺序,即用户输入信息3、用户输入信息2至用户输入信息1,依次判断直至获取所述参考请求信息。根据判断条件“其能直接从知识库中获得对应的答案,且其第三语义填充内容与所述当前请求信息的语义填充内容中的一部分属于同一词类”进行判断。

具体地,用户输入信息3“通过短信呢”,无法从知识库直接获取答案,所以不满足确定为所述参考请求信息的条件;用户输入信息2“通过网上银行如何开通信用卡”可以直接从知识库中获取答案,用户输入信息2中的第三语义填充内容中的“网上银行”部分与“微信”匹配,即属于同一业务类别,则确定用户输入信息2“通过网上银行如何开通信用卡”为所述参考请求信息,不再继续判断用户输入信息1。其中,在确定参考请求信息的过程中,当前请求信息“通过微信呢”的第二语义填充内容,可以通过抽象语义推荐处理得到抽象语义表达式后,从请求信息中提取相应的内容获取,需要判断是否为参考请求信息的用户输入信息3“通过短信呢”和用户输入信息2“通过网上银行如何开通信用卡”的第三语义填充内容,同样可以通过抽象语义推荐处理得到抽象语义表达式后,从请求信息中提取相应的内容获取,在此不再赘述。

步骤s304:根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分。

步骤s305(图未示):根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容。

需要说明的是,在本发明一实施例中,由于步骤s303中在判断是否为参考请求信息时,已经通过抽象语义推荐处理获得相应的抽象语义表达式,并通过提取操作获取当前请求信息的第二语义填充内容和参考请求信息的第三语义填充内容,所以可以不必再执行步骤s304和步骤s305,而把所述第三语义填充内容作为所述第一语义填充内容即可。

步骤s306(图未示):当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息。

步骤s307(图未示):获取与所述目标输入信息对应的答案。

在本实施例中,步骤s304至步骤s307的具体实施可对应参照步骤s103至步骤s106的说明,不再赘述。

本实施例中,区分当前请求信息有分句和没有分句的情况,在没有分句时,分别获取每个分句对应的答案,并将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案,避免在当前请求信息有分句时无法从知识库直接获取答案的情况,进而提高了智能问答系统的智能性,与此同时,由于获取了每个分句对应的答案并进行拼接,使得回复的答案信息更加完整,避免在知识库中直接获取答案信息不全的情况,提高了回复答案的准确率。

图4是本发明实施例中的一种智能问答装置的结构示意图。如图4所示的智能问答装置,可以包括:接收单元301,参考请求信息获取单元302,抽象语义数据库303,抽象语义推荐处理单元304,提取单元305,目标输入信息获取单元306和答案获取单元307。其中;

接收单元301,适于接收当前请求信息。

参考请求信息获取单元302,适于当无法直接获得与所述当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系。

在具体实施中,所述参考请求信息获取单元适于在用户输入的当前请求信息之前的请求信息中,从离当前请求信息最近的请求信息开始从后往前依次判断请求信息是否为所述参考请求信息,具体包括:根据抽象语义数据库对待判断的请求信息进行抽象语义推荐处理,以得到第三抽象语义表达式,根据所述第三抽象语义表达式从待判断的请求信息中提取对应于缺失语义成分的第三语义填充内容,当待判断的请求信息能直接从知识库中获得对应的答案,其第三语义填充内容与所述当前请求信息的第二语义填充内容中的一部分匹配时,确定其为所述参考请求信息。

抽象语义数据库303,适于提供多个类别的抽象语义,每个类别的抽象语义包括一个或多个抽象语义表达式,所述抽象语义表达式包括缺少语义成分。

抽象语义推荐处理单元304,适于根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分。

提取单元305,适于根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,并根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容。

目标输入信息获取单元306,适于当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息。

在具体实施中,所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配指的是:所述第二语义填充内容的缺失语义成分与所述第一语义填充内容的部分缺失语义成分相同,且相同缺失语义部分的第二语义填充内容与第一语义填充内容属于同一业务类别。

答案获取单元307,适于获取与所述目标输入信息对应的答案。

本发明实施例通过接收当前请求信息,当无法直接获得与所述当前请求信息对应的答案时,获取参考请求信息,所述参考请求信息和当前请求信息为上下文关系;根据抽象语义数据库分别对所述参考请求信息和当前请求信息进行抽象语义推荐处理,以得到第一抽象语义表达式和第二抽象语义表达式,所述抽象语义数据库包括多个抽象语义表达式,所述抽象语义表达式包括缺失语义成分,根据所述第一抽象语义表达式从所述参考请求信息中提取对应于缺失语义成分的第一语义填充内容,根据所述第二抽象语义表达式从所述当前请求信息中提取对应于缺失语义成分的第二语义填充内容,当所述第二语义填充内容与所述第一语义填充内容中的一部分内容匹配时,将所述第二语义填充内容的匹配内容替换所述参考请求信息中对应匹配内容的部分,以得到目标输入信息,获取与所述目标输入信息对应的答案,上述过程由于实现判断具有上下文关系的参考请求信息和当前请求信息存在语义关联时,进一步补全当前请求信息的完整表达,从而实现根据参考请求信息正确地推理出当前请求信息的完整表达内容,进而可以将当前请求信息的完整表达内容作为目标输入信息来进一步从知识库中获取对应的答案,避免了在当前请求信息与上文信息存在关联但根据当前请求信息无法从知识库直接获取答案的情况,进而提高了智能问答系统的智能性,具体而言提高了智能问答系统回复答案的准确率。

图5是本发明实施例中的一种智能问答装置的结构示意图。如图5所示的智能问答装置,可以包括:接收单元401,参考请求信息获取单元402,抽象语义数据库403,抽象语义推荐处理单元404,提取单元405,目标输入信息获取单元406和答案获取单元407。上述各单元可对应参照图4中所述接收单元301,所述参考请求信息获取单元302,所述抽象语义数据库303,所述抽象语义推荐处理单元304,所述提取单元305,所述目标输入信息获取单元306和所述答案获取单元307的说明,不再赘述。

在具体实施中,所述智能问答装置还包括:

知识库501,适于提供多个知识点,每个知识点包括答案以及多个问题;

预处理单元502,适于在获取所述参考请求信息之前,获取所述用户输入信息与所述知识库中问题的最高语义相似度值;

所述抽象语义推荐单元404还适于当所述用户输入信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,进行所述抽象语义推荐处理;

第一判断单元503,当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,判定无法直接获得与所述当前请求信息对应的答案;否则,所述答案获取单元向用户提供所述最高语义相似度值对应的知识点中的答案。

在具体实施中,所述智能问答装置40还包括:

第二判断单元601,适于当所述当前请求信息与所述知识库中问题的最高语义相似度值小于预设相似度阈值时,在获取所述参考请求信息之前,判断所述当前请求信息是否有分句;

拼接单元602,适于当所述当前请求信息有分句时,在答案获取单元分别获取每个分句对应的答案后,将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案;

所述参考请求信息获取单元402还适于当所述当前请求信息没有分句时,获取所述参考请求信息。

本发明实施例区分当前请求信息有分句和没有分句的情况,在没有分句时,分别获取每个分句对应的答案,并将所有分句对应的答案进行拼接处理,将拼接后的信息作为最终的答案,避免在当前请求信息有分句时无法从知识库直接获取答案的情况,进而提高了智能问答系统的智能性,与此同时,由于获取了每个分句对应的答案并进行拼接,使得回复的答案信息更加完整,避免在知识库中直接获取答案信息不全的情况,提高了回复答案的准确率。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1