智能问答系统的信息处理方法及装置与流程

文档序号:17662497发布日期:2019-05-15 22:28阅读:321来源:国知局

本发明涉及人机交互技术领域,尤其涉及一种用于智能问答系统的信息处理方法及装置。



背景技术:

人机交互是研究系统与用户之间的交互关系的科学。系统可以是各种各样的机器,也可以是计算机化的系统和软件。例如,通过人机交互可以实现各种人工智能系统,例如,智能客服系统、语音控制系统等等。人工智能语义识别是人机交互的基础,其能够对人类语言进行识别,以转换成机器能够理解的语言。

智能问答系统是人机交互的一种典型应用,其中当用户提出问题后,智能问答系统给出该问题的答案。为此,智能问答系统中有一套知识库,里面有大量的问题和与每个问题相对应的答案。智能问答系统首先需要识别用户所提出的问题,即从知识库中找到与该用户问题所对应的问题,然后找出与该问题相匹配的答案。

目前的智能问答系统并没有考虑到上下文的语境,即用户连续提出的问题之间是孤立地来理解的。例如,用户可能先前询问“上外今年在江苏省的招生分数线”,后一句可能问“上外在我们这招多少人”,那么智能问答系统在理解后一句时无法知晓是在哪个省份招收多少人,还需要进一步询问是在哪个省份。这影响了用户体验。



技术实现要素:

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明提供了一种智能问答系统的信息处理方法及系统,以解决智能问答系统对用户问句的理解能力较低的问题。

一方面,本发明提供了一种智能问答系统的信息处理方法,所述智能问答系统包括问答数据库,所述问答数据库包括标准问集合,每个标准问具有对应的答案,所述信息处理方法包括:

基于用户输入的第一用户问句执行相似度计算以从所述标准问集合确定与所述第一用户问句相匹配的第一标准问;

判断所述第一用户问句中是否存在属于全局变量的词语;

响应于存在属于全局变量的词语,基于所述第一用户问句中属于全局变量的词语和后续的第二用户问句执行相似度计算以确定与所述第二用户问句相匹配的第二标准问;以及

输出与所述第二标准问相关联的答案作为对所述第二用户问句的应答;

所述基于所述第一用户问句中属于全局变量的词语和后续的第二用户问句执行相似度计算以确定与所述第二用户问句相匹配的第二标准问包括:

将所述第二用户问句与所述问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第一语义表达式;

将所述第一用户问句中属于全局变量的词语和所述第二用户问句的组合与所述问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第二语义表达式;

若所述第一用户问句中属于全局变量的词语和所述第二用户问句的组合与所述第二语义表达式的相似度大于所述第二用户问句与所述第一语义表达式的相似度,判断所述第二语义表达式中与属于全局变量的所述词语相对应的词类是否是被标记为全局变量的词类,若是,则所述第二语义表达式所表征的标准问被确定为与所述第二用户问句相匹配的所述第二标准问。

可选地,所述基于用户输入的第一用户问句执行相似度计算包括:

将所述第一用户问句与所述问答数据库中的各语义表达式执行语义相似度计算,相似度最高的语义表达式所表征的标准问被确定为与所述第一用户问句相匹配的所述第一标准问。

可选地,所述判断所述第一用户问句中是否存在属于全局变量的词语包括:

判断与所述第一用户问句相似度最高的语义表达式中是否含有被标记为全局变量的词类,若有,则所述第一用户问句中与所述全局变量的词类对应的词语为属于全局变量的词语。

可选地,所述词类是否被标记为全局变量根据实际需求预先设定。

可选地,与地理位置或时间日期相关联的词类被标记为全局变量。

可选地,若所述第二语义表达式中与属于全局变量的所述词语相对应的词类不是被标记为全局变量的词类,则所述第一语义表达式所表征的标准问被确定为与所述第二用户问句相匹配的所述第二标准问。

另一方面,本发明还提供了一种智能问答系统的信息处理装置,所述智能问答系统包括问答数据库,所述问答数据库包括标准问集合,每个标准问具有对应的答案,所述信息处理装置包括:

匹配模块,用于基于用户输入的第一用户问句执行相似度计算以从所述标准问集合确定与所述第一用户问句相匹配的第一标准问;

全局变量判断模块,用于判断所述第一用户问句中是否存在属于全局变量的词语;

响应于存在属于全局变量的词语,所述匹配模块基于所述第一用户问句中属于全局变量的词语和后续的第二用户问句执行相似度计算以确定与所述第二用户问句相匹配的第二标准问;以及

输出模块,用于输出与所述第二标准问相关联的答案作为对所述第二用户问句的应答;

所述匹配模块包括:

语义相似度计算模块,用于将所述第二用户问句与所述问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第一语义表达式,以及将所述第一用户问句中属于全局变量的词语和所述第二用户问句的组合与所述问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第二语义表达式;

判断模块,用于判断所述第一用户问句中属于全局变量的词语和所述第二用户问句的组合与所述第二语义表达式的相似度是否大于所述第二用户问句与所述第一语义表达式的相似度,并在所述第一用户问句中属于全局变量的词语和所述第二用户问句的组合与所述第二语义表达式的相似度大于所述第二用户问句与所述第一语义表达式的相似度时,进一步判断所述第二语义表达式中与属于全局变量的所述词语相对应的词类是否是被标记为全局变量的词类,若是,则将所述第二语义表达式所表征的标准问确定为与所述第二用户问句相匹配的所述第二标准问。

可选地,所述语义相似度计算模块,还用于将所述第一用户问句与所述问答数据库中的各语义表达式执行语义相似度计算,相似度最高的语义表达式所表征的标准问被确定为与所述第一用户问句相匹配的所述第一标准问。

可选地,所述全局变量判断模块判断与所述第一用户问句相似度最高的语义表达式中是否含有被标记为全局变量的词类,若有,则所述第一用户问句中与所述全局变量的词类对应的词语为属于全局变量的词语。

可选地,所述判断模块在所述第二语义表达式中与属于全局变量的所述词语相对应的词类不是被标记为全局变量的词类时,将所述第一语义表达式所表征的标准问确定为与所述第二用户问句相匹配的所述第二标准问。

与现有技术相比,本发明具有以下有益效果:

通过全局变量的引入,智能问答系统充分考虑了上下文的语境来理解用户的问句,提高了对用户问句的理解能力,改善了用户体验。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1是示出了根据本发明的一方面的用于智能问答系统的信息处理方法的流程图;以及

图2是示出了根据本发明的一方面的用于智能问答系统的信息处理装置的框图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

知识库中的基本知识点最原始和最简单的形式就是平时常用的faq,一般的形式是“问-答”对。在本发明中,“标准问”是用来表示某个知识点的文字,主要目标是表达清晰,便于维护。例如,“彩铃的资费”就是表达清晰的标准问描述。这里的“问”不应被狭义地理解为“询问”,而应广义地来理解一“输入”,该“输入”具有对应的“输出”。例如,对于用于控制系统的语义识别而言,用户的一个指令,例如“打开收音机”也应可以被理解为是一个“问”,此时对应的“答”可以是用于执行相应控制的控制程序的调用。

用户在向机器输入时,最理想的情况是使用标准问,则机器的智能语义识别系统马上能够理解用户的意思。然而,用户往往并非使用的是标准问,而是标准问的一些变形的形式。例如,若对于收音机的电台切换的标准问形式是“换一个电台”,那么用户可能使用的命令是“切换一个电台”,机器也需要能够识别用户表达的是同一个意思。

因此,对于智能语义识别而言,知识库里需要有标准问的扩展问,该扩展问与标准问表达形式有略微差异,但是表达相同的含义。扩展问主要以语义表达式的形式出现。一个标准问可以由若干语义表达式来表征。

语义表达式主要由词、词类以及他们的“或”关系构成,其核心依赖于“词类”,词类简单的理解即为一组有共性的词,这些词在语义上可以相似也可以不相似,这些词也可以被标注为重要或不重要。词类是对一组相关词的汇总,词类由词类名和一组相关词所组成。词类名是在这组相关词中具有标签作用的词,即词类的代表。一个词类中至少包含一个词(即词类本身)。

语义表达式与用户问句关系与传统的模板匹配有了很大的不同,在传统模板匹配中,模板和用户问句只是匹配与未匹配的关系,而语义表达式与用户问句之间关系是通过量化的值(相似度)来表示,同时这个量化的值与相似问句和用户问句之间的相似度是可以互相比较的。以下说明语义表达式的具体组成和符号的表示。

词类的表示([])

为区分表达式中的词与词类,规定词类必须出现在方括号“[]”中,方括号中出现的词类一般为“狭义词类”,但是也可通过配置系统参数以支持“广义词类”。

下面是一些简单表达式的示例:

[飞信][如何][开通]

[介绍][彩信][业务]

[飞信]的[登录][方法]

[来电提醒][如何][收费]

或关系的表示(|)

在方括号中的词类可以通过“或”关系出现多次,这些“或”关系的词类会在计算相似度的时候以“展开”的方式单独计算。“展开”主要是根据“或”的意义将语义表达式展开成多个简单表达式的过程。如:[彩铃][开通]的[方法|步骤]可展开成“[彩铃][开通]的[步骤]”和“[彩铃][开通]的[方法]”两个简单的语义表达式。

这类语义表达式的示例如下:

[彩铃][开通]的[方法|步骤]

[怎样][查询|知道][puk码]

[退订|撤销|关闭|停用][ip|17951][国内长途优惠包]

[来电提醒][功能费|月租费|信息费|通信费]

非必要的表示(?)

在方括号中的词类可以在结尾加入“?”表示可出现也可以不出现,即非必要的关系,这种非必要关系的词类也同样会在计算相似度的时候以“展开”的方式单独计算。“展开”主要是将语义表达式中含有非必要的词类(或词类的“或组合”)展开成包含和不包含这个词类的两个简单语义表达式的过程。如:[介绍][手机视频][军事栏目][内容][什么?]可展开成“[介绍][手机视频][军事栏目][内容]”和“[介绍][手机视频][军事栏目][内容][什么]”两个简单语义表达式。

这类语义表达式的示例如下:

[彩铃][取消]的[方法|步骤?]

[介绍][手机视频][军事栏目][内容][什么?]

[介绍][12580?][生活播报][品质生活版][免费][业务?]

[怎样][开通][移动数据|流量|上网][100元][套餐?][短信]

在本发明中,对语义表达式中的词类引入了全局变量的概念。在执行语义识别时,如果一个用户问句通过语义相似度计算被定位至某一个语义表达式,且该语义表达式中具有被设置为全局变量的词类,则该用户问句中与该全局变量的词类相对应的词会作为智能问答系统与用户的交互会话中的一个全局变量被传递给后续的用户问句以用来参与语义相似度的计算。

图1是示出了根据本发明的一方面的用于智能问答系统的信息处理方法100的流程图。该智能问答系统可包括一个问答数据库,其中含有标准问集合,每个标准问具有对应的答案。信息处理方法100可包括如下步骤:

步骤101:基于用户输入的第一用户问句执行相似度计算以从该标准问集合确定与所述第一用户问句相匹配的第一标准问。

在该标准问集合中,每个标准问关联有至少一个语义表达式,每个标准问由与之关联的这些语义表达式来表征。语义表达式用于与用户输入的用户问句进行相似度计算,以确定与用户问句相匹配的标准问。

具体而言,可将第一用户问句与问答数据库中的各语义表达式执行语义相似度计算,相似度最高的语义表达式所表征的标准问被确定为与第一用户问句相匹配的所述第一标准问。

例如,用户询问的第一用户问句:上外今年在江苏省的招生分数线。

将该第一用户问句与问答数据库中每个标准问的每个语义表达式都执行语义相似度计算,假设寻找到语义相似度最高的语义表达式为:

[报考|申报|招收|录取][学校|上海外国语大学|大学?][今年?][考试省份]

假设该语义表达式所对应的标准问为:上外具体招生分数线;

假设该标准问对应的答案为:xx省今年的招生分数线是xx。该答案是一个应用,可以给应用传递用户问题中提取出来的参数。

步骤102:判断第一用户问句中是否存在属于全局变量的词语。

在本发明中,该判断通过借助与该第一用户问句具有最高语义相似度的语义表达式来完成。具体而言,判断与该第一用户问句相似度最高的语义表达式中是否含有被标记为全局变量的词类,若有,则该第一用户问句中与该全局变量的词类对应的词语为属于全局变量的词语。

以上述与第一用户问句具有最高语义相似度的语义表达式为例,假设该语义表达式中的词类[考试省份]被标记为全局变量,则将第一用户问句中与该词类相对应的词语判定为属于全局变量的词语。例如,第一用户问句中的词语“江苏省”与词类[考试省份]相对应,因此被判断为属于全局变量的词语。

关于词类是否被标记为全局变量,可由系统的管理员根据实际需求预先设定。例如与地理位置、时间日期等相关联的词类往往会被标记为全局变量。

步骤103:响应于存在属于全局变量的词语,基于该第一用户问句中属于全局变量的词语和后续的第二用户问句执行相似度计算以确定与该第二用户问句相匹配的第二标准问。

一旦一个用户问句中的某个词语被判定为属于全局变量的词语,则该词将被用于后续用户问句的语义相似度计算。若不存在属于全局变量的词语,则后续的用户问句的相似度计算仅使用该后续的用户问句本身执行语义相似度计算。

在一实例中,将该第二用户问句与问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第一语义表达式。除此之外,还将第一用户问句中属于全局变量的词语和第二用户问句的组合与问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第二语义表达式。

然后判断第一用户问句中属于全局变量的词语和第二用户问句的组合与第二语义表达式的相似度是否大于第二用户问句与第一语义表达式的相似度,若是,则将该第二语义表达式所表征的标准问确定为与该第二用户问句相匹配的该第二标准问,若否,则将该第一语义表达式所表征的标准问确定为与该第二用户问句相匹配的该第二标准问。

如上所述,被确定为全局变量的词语可能有助于后续用户问句的语义相似度计算,因此将其与后续用户问句组合起来作为一个整体做一次语义相似度计算,若比单独使用该后续用户问句进行的语义相似度计算得到更高的语义相似度结果,则表明该全局变量的词语提升了标准问定位的准确性,所有将使用该词语与后续用户问句的组合所定位到的标准问作为所匹配的标准问,以确定返回给用户的答案。

相反,若没有比单独使用该后续用户问句进行的语义相似度计算得到更高的语义相似度结果,则表明此全局变量的词语与后续的第二用户问句没有关联,反而降低了标准问定位的准确性,所以仍然将仅单独使用该后续用户问句定位到的标准问作为所匹配的标准问,以确定返回给用户的答案。

继续上述例子,假设用户后续询问的第二用户问句为:上外在我们这招不招人。

将该第二用户问句、以及“江苏省”这一全局变量的词语与第二用户问句的组合分别作两次语义相似度计算。发现使用“江苏省”这一全局变量的词语与第二用户问句的组合定位至语义表达式:

[上海外国语大学|学校|大学]招不招[几个|多少?][人员|人数?][今年?][考试省份]

该表达式所对应的标准问为:上外具体招生计划

该标准问对应的答案为:xx省今年的招生人数。该答案是一个应用,可以给应用传递用户问题中提取出来的参数。

且上述语义表达式具有最高的语义相似度,因此,将其对应的标准问作为匹配的标准问,并依此输出答案。

在上述实例中,判断第一用户问句中属于全局变量的词语和第二用户问句的组合与第二语义表达式的相似度是否大于第二用户问句与第一语义表达式的相似度,若是,则将该第二语义表达式所表征的标准问确定为与该第二用户问句相匹配的该第二标准问。然而,在另一实例中,若第一用户问句中属于全局变量的词语和第二用户问句的组合与第二语义表达式的相似度大于第二用户问句与第一语义表达式的相似度,仍还需要作进一步判断。

具体而言,若第一用户问句中属于全局变量的词语和第二用户问句的组合与第二语义表达式的相似度大于第二用户问句与第一语义表达式的相似度,进一步判断该第二语义表达式中与属于全局变量的该词语相对应的词类是否是被标记为全局变量的词类,若是,则该第二语义表达式所表征的标准问被确定为与第二用户问句相匹配的该第二标准问,否则仍将第一语义表达式所表征的标准问被确定为与该第二用户问句相匹配的该第二标准问。

例如,假设用户后续询问的第二用户问句为:今天天气如何。

仅使用第二用户问句则定位至第一语义表达式:

[日期]天气

该表达式所对应的标准问为:天气

该标准问对应的答案为:什么省份的天气。该答案是一个反问句,用于反问用户是哪个省份的天气,以便后续给出针对性的答案。

将该第二用户问句、以及“江苏省”这一全局变量的词语与第二用户问句的组合分别作两次语义相似度计算。发现使用“江苏省”这一全局变量的词语与第二用户问句的组合定位至第二语义表达式:

[日期]天气[天气省份名]

该表达式所对应的标准问为:省份天气

该标准问对应的答案为:xx省市今天的天气xx。该答案是一个应用,可以给应用传递用户问题中提取出来的参数。

上述两次语义相似度计算中,第二语义表达式和“江苏省”这一全局变量的词语与第二用户问句的组合具有较高的语义相似度,而第一语义表达式与第二用户问句相比于前者具有较低的语义相似度。

此时,需要进一步判断与“江苏省”这一全局变量的词语对应的词类[天气省份名]是否为全局变量,若为全局变量,则将第二语义表达式所表征的标准问确定为与第二用户问句相匹配的第二标准问,否则若不是全局变量,则仍将第一语义表达式所表征的标准问确定为与第二用户问句相匹配的第二标准问。

在该实例中,假设词类[天气省份名]并非为全局变量,则仍然将“天气”作为第二用户问句的相匹配的标准问,此时对应的答案为“什么省份的天气”,即,系统反问用户询问的是哪个省份的天气。

在该实例中,假设词类[天气省份名]为全局变量,则将“省份天气”作为第二用户问句的相匹配的标准问,此时对应的答案为“xx省市今天的天气xx”,即,系统可通过参数调用直接给出江苏省的天气。

假设上述的智能问答系统是主要用于招生之用的,例如是高考招生政策咨询用的app,此时在与招生相关的问题的语义表达式中设置全局变量。用户在询问招生信息的时候,假设询问的是江苏省的相关信息,此时与招生相关联的问题都可以自动关联到江苏省,这极大地提高了系统的智能程度。但是在这样的系统中,对于一般性的询问,例如天气询问,则不设置全局变量,因为用户询问的这类问题可能并不像招生问题那样在多个问题之间具有连续性,在此方式下,避免了将用户询问的任何问题都自动关联到先前与招生问题相关的全局变量而导致的错误。例如,用户可能询问的并非是江苏的天气,而有可能是上海的天气,因此,如果自动返回江苏的天气则可能会导致错误反馈。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

图2是示出了根据本发明的一方面的用于智能问答系统的信息处理装置200的框图。该如图2所示,智能问答系统包括问答数据库,问答数据库包括标准问集合,每个标准问具有对应的答案。信息处理装置200可包括匹配模块210、全局变量判断模块220、以及输出模块230。

匹配模块210可基于用户输入的第一用户问句执行相似度计算以从标准问集合确定与第一用户问句相匹配的第一标准问。全局变量判断模块220可判断所述第一用户问句中是否存在属于全局变量的词语。

标准问集合中的每个标准问具有用于表征该标准问的至少一个语义表达式,每个语义表达式包括至少一个词类。在一实例中,匹配模块210可包括语义相似度计算模块211将第一用户问句与问答数据库中的各语义表达式执行语义相似度计算,相似度最高的语义表达式所表征的标准问被确定为与第一用户问句相匹配的第一标准问。全局变量判断模块220可判断与第一用户问句相似度最高的语义表达式中是否含有被标记为全局变量的词类,若有,则第一用户问句中与该全局变量的词类对应的词语为属于全局变量的词语。

在接收到后续第二用户问句时,响应于第一用户问句中存在属于全局变量的词语,匹配模块210可基于第一用户问句中该属于全局变量的词语和后续的第二用户问句执行相似度计算以确定与第二用户问句相匹配的第二标准问。若不存在属于全局变量的词语,则仅基于第二用户问句自身执行相似度计算以确定与第二用户问句相匹配的第二标准问。

具体而言,在第一用户问句中存在属于全局变量的词语时,语义相似度计算模块211可将第二用户问句与问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第一语义表达式,以及将第一用户问句中属于全局变量的词语和第二用户问句的组合与问答数据库中的各语义表达式执行语义相似度计算,以确定相似度最高的第二语义表达式。匹配模块210还可包括判断模块212,以判断第一用户问句中属于全局变量的词语和第二用户问句的组合与该第二语义表达式的相似度是否大于第二用户问句与该第一语义表达式的相似度,若是,则将该第二语义表达式所表征的标准问确定为与第二用户问句相匹配的第二标准问,若否则将该第一语义表达式所表征的标准问确定为与该第二用户问句相匹配的第二标准问。

在另一实施例中,判断模块212在第一用户问句中属于全局变量的词语和第二用户问句的组合与该第二语义表达式的相似度大于第二用户问句与该第一语义表达式的相似度时,进一步判断该第二语义表达式中与属于全局变量的该词语相对应的词类是否是被标记为全局变量的词类,若是,则将该第二语义表达式所表征的标准问确定为与第二用户问句相匹配的第二标准问,若否,则将该第一语义表达式所表征的标准问确定为与第二用户问句相匹配的第二标准问。

输出模块230可输出与该第二标准问相关联的答案作为对第二用户问句的应答。

本发明中智能问答系统的信息处理装置的具体实现方式可参见智能问答系统的信息处理方法,在此不再赘述。

根据本发明的方案,通过全局变量的引入,智能问答系统充分考虑了上下文的语境来理解用户的问句,提高了对用户问句的理解能力,改善了用户体验。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

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