一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

智能会话系统中融合知识推理及知识导向的对话管理方法与流程

2021-10-29 21:37:00 来源:中国专利 TAG:自然语言 知识 会话 推理 导向


1.本发明属于计算机自然语言处理技术领域,具体涉及一种智能会话系统中融合知识推理及知识导向的对话管理方法。


背景技术:

2.任务导向型会话系统要求能够在较少的对话轮次内高效地帮助用户完成特定任务或回答相关问题。这类任务导向型会话系统往往需要与知识库进行交互,以提供完成任务和回答问题所需的背景和领域知识。会话系统中结合知识库的传统方法是将用户的问题通过语义解析转化成相应知识库的查询语句,然后在知识库上执行查询操作,并将查询结果返回给用户。这样的结合方式中知识库的作用类似于数据库,从而不能发挥知识库最有价值的、能够使用已知的知识和事实推导出新知识的能力。
3.深度学习是近期人工智能研究取得突破性的进展,它结束了人工智能长达十年未能有突破性进展的局面,并迅速在工业界产生影响。深度神经网络也在阅读理解和问题回答等相关领域取得了一定进展,但其输入与输出之间的过程类似“黑盒”,不具备可解释性,因而不适用于法律、金融和医疗等攸关生命财产安全等需要对任务完成和问题答案进行详细解释的应用场景。


技术实现要素:

4.本发明是为了解决上述问题而进行的,目的在于提供一种智能会话系统中融合知识和推理及知识导向的对话管理方法。
5.本发明提供了一种智能会话系统中融合知识和推理及知识导向的对话管理方法,具有这样的特征,基于预定的对话模块、常用答复模块、语义解析模块和推理模块进行对话管理,包括如下步骤:步骤s1,对用户输入的语音进行语音识别,并转化成相应的语句文本;步骤s2,对所述语句文本进行语言规范化处理和中文基础处理得到中间结果;步骤s3,根据所述中间结果生成应答结果;步骤s4,将所述应答结果输入语言生成模块,生成最终应答结果,其中,所述步骤s3包括如下子步骤:步骤s3

1,根据所述中间结果判断所述语音是否处于有效的上下文相关问答或多轮对话中;步骤s3

2,当所述步骤s3

1判断为是时,调用对话模块生成所述应答结果;步骤s3

3,当所述步骤s3

1判断为否时,判断所述中间结果是否为常见问题或寒暄问候;步骤s3

4,当所步骤s3

3判断为是时,调用常用答复模块生成所述应答结果;步骤s3

5,当所步骤s3

3判断为否时,调用语义解析模型对所述中间结果进行语义分析,得到语义分析结果,将所述语义分析结果输入推理模块,并调用规则进行推理;步骤s3

6,当判断所述步骤s3

5的推理事实清楚时,生成所述应答结果;步骤s3

7,当判断所述步骤s3

5缺乏推理事实时,根据缺乏的所述推理事实生成为获取该推理事实的提问,并根据该提问生成所述应答结果。
6.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,所述推理引擎包括如下规则:所述规则包括对象和表示该对象
之间的关系的结论谓词以及对应的条件谓词和多个预设问题。
7.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,在步骤s3

6中,当判断推理事实清楚时,通过知识库访问、数据库访问、应用服务查询或大规模问答检索生成所述应答结果。
8.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,在步骤s3

7中,判断所述语义分析结果中的所述条件谓词为特殊谓词时,调用预先设定的知识图谱,补充所述推理事实。
9.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,在步骤s3

7中,判断所述语义分析结果中的所述条件谓词无法进行合一时,判断为缺乏推理事实。
10.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,所述规则对应有可信区间,所述可信区间表示所述推理事实的可靠性范围,通过概率逻辑计算推理结果得到。
11.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,所述中文基础处理包括词性分析、中文分词、命名识别、专业词汇识别以及敏感词检测。
12.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,所述对话模块包括上下文相关问答单元和多轮对话单元。
13.在本发明提供的智能会话系统中融合知识推理及知识导向的对话管理方法中,还可以具有这样的特征:其中,所述常用答复模块包括常见问题检索单元和寒暄问候答复单元。
14.发明的作用与效果
15.根据本发明所涉及的智能会话系统中融合知识和推理及知识导向的对话管理方法(以下简称对话管理方法),在会话系统中结合领域知识和推理,以及相应的以知识为导向的对话管理方法。以解决用户问题为目标,利用领域知识通过智能推理来引导对话顺利展开,在缺少推理所需的必要条件或事实时才通过交互向用户进行询问,根据询问结果延续此前的推理或者调整解决问题的方向。本发明所涉及的对话管理方法不仅可以降低在会话系统中使用知识库和推理的难度,提高通过人机对话方式来完成和解决复杂任务和问题的效率,实现方法对话逻辑语言还可以无缝对接知识图谱,具备不确定推理能力,并且能对任务完成和问题答案依据的事实和推理过程进行解释。所以,本发明的智能会话系统中融合知识和推理及知识导向的对话管理方法能够对用户的问题答案进行详细解释,适用于法律、金融和医疗等大量的应用场景。
附图说明
16.图1是本发明的实施例中智能会话系统中融合知识和推理及知识导向的对话管理方法的流程图;
17.图2是本发明的实施例中智能会话系统中融合知识和推理及知识导向的对话管理方法的结构示意图;
18.图3是本发明的实施例中步骤s3的子步骤流程图;
19.图4是本发明的实施例中diaprolog规则示意图;
20.图5是本发明的实施例中用户与系统之间的对话以及知识推理过程示意图。
具体实施方式
21.为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明智能会话系统中融合知识和推理及知识导向的对话管理方法作具体阐述。
22.以下对本实施例中出现的术语进行解释:
23.自然语言处理:计算机科学领域与人工智能领域中的一个重要分支,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。
24.任务导向型会话(又称任务导向型对话):由任务驱动的多轮对话,机器需要通过理解、主动询问、澄清等方式来确定用户的目标,与相应的数据库或知识库查询或交互后,返回正确结果,完成用户需求。
25.prolog:programming in logic的缩写。它是一种逻辑编程语言。它创建在逻辑学的理论基础之上,最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。
26.<实施例>
27.本实施例详细阐述智能会话系统中融合知识和推理及知识导向的对话管理方法。
28.本实施例提供的智能会话系统通过计算机实现,该智能会话系统中进行的能够融合知识和推理及知识导向的对话管理方法为计算机上运行的计算机程序。
29.图1是本实施例中智能会话系统中融合知识和推理及知识导向的对话管理方法的流程图,图2是本实施例中智能会话系统中融合知识和推理及知识导向的对话管理方法的结构示意图。
30.如图1

2所示,本实施例的提供的智能会话系统中融合知识和推理及知识导向的对话管理方法,基于预定的对话模块、常用答复模块和推理模块进行对话管理,包括如下步骤:
31.步骤s1,对用户输入的语音进行语音识别,并转化成相应的语句文本。
32.步骤s2,对所述语句文本进行中文基础处理得到中间结果。
33.本实施例中的中文基础处理包括语言规范化、词性分析、中文分词、命名识别、专业词汇识别以及敏感词检测。
34.步骤s3,根据所述中间结果生成应答结果。
35.步骤s3包括如下子步骤:
36.步骤s3

1,根据所述中间结果判断所述语音是否处于有效的上下文相关问答或多轮对话中。
37.步骤s3

2,当所述步骤s3

1判断为是时,调用对话模块生成所述应答结果。
38.步骤s3

3,当所述步骤s3

1判断为否时,判断所述中间结果是否为常见问题或寒暄问候。
39.步骤s3

4,当所步骤s3

3判断为是时,调用常用答复模块生成所述应答结果。
40.步骤s3

5,当所步骤s3

3判断为否时,调用语义解析模型对所述中间结果进行语义分析,得到语义分析结果,将所述语义分析结果输入推理模块,并调用规则进行推理。
41.步骤s3

6,当判断所述步骤s3

5的推理事实清楚时,生成所述应答结果。
42.在步骤s3

6中,当判断推理事实清楚时,通过知识库访问、数据库访问、应用服务查询或大规模问答检索生成所述应答结果。
43.步骤s3

7,当判断所述步骤s3

5缺乏推理事实时,根据缺乏的所述推理事实生成为获取该推理事实的提问,并根据该提问生成所述应答结果。
44.在步骤s3

7中,判断所述语义分析结果中的所述条件谓词无法进行合一时,判断为缺乏推理事实。
45.在步骤s3

7中,判断所述语义分析结果中的所述条件谓词为特殊谓词时,调用预先设定的知识图谱,补充所述推理事实。
46.推理模块包括如下规则:规则包括对象和表示该对象之间的关系的结论谓词以及对应的条件谓词和多个预设问题。
47.本实施例中提出并定义一种名叫diaprolog对话逻辑语言,并按照diaprolog对话逻辑语言所定义的语法规则来添加推理模块的规则。
48.diaprolog语言的知识库由两部分组成:一是描述逻辑的知识库(为了在推理过程中利用知识图谱中以<主体、谓词、客体>三元组形式存储的事实);二是一组概率霍恩规则(horn rule)。描述逻辑的知识库包括tbox和abox两个部分。tbox是“术语”的集合,即应用领域的词汇表。abox是采用这些词汇表对个体的断言或陈述的集合。描述逻辑中定义的概念和关系可视同普通谓词一样出现在霍恩规则的规则体中。描述逻辑与霍恩规则结合的方式是将描述逻辑作为霍恩规则推理过程中的约束条件来实现的,这些约束条件要求霍恩规则中变元的置换实例满足描述逻辑中定义的所有公理和断言,即约束条件过滤了霍恩规则有可能对其变元所做的一些赋值。
49.diaprolog对话逻辑语言主要特点之一是其规则体部分的每一个谓词都可以伴随多个问题,当在推理过程中缺失事实时(对谓词相对应),系统可以调整相应的问题向用户提问,以获得进一步推理所需的事实。diaprolog的每一个规则还可以附加规则的解释,在得到推理结果后,通过跟踪推理过程中所用到的事实(也是一种无规则体的特殊的规则)和规则,可以依次合并相应的解释从而给出推理结果的理由和依据。谓词伴随的问题和规则的解释的文字中可以出现变量,这些变量在推理过程中执行合一操作(unification)时会被统一绑定和替换成实体。
50.diaprolog对话逻辑语言的基本语法定义如下:
51.逻辑系统的项由常量、变量(以?符号开始)、数字、函数(小写英文字母开始)、谓词(大写英文字母开始)所组成,其中谓词分为两种,一种是普通谓词;另一种是与所关联的知识图谱使用相同名称的谓词(以$符号结尾),这些谓词都是二元谓词,即对应知识图谱中的三元组。当系统遇到以$符号结尾的谓词时,系统会尝试访问知识图谱,获得相关的事实。系统中所有名称中不能有空格,一般使用prolog语言习惯的
“‑”
代替。谓词可以嵌套谓词和函数,形成复杂的的谓词。
52.规则主要有三种形式(所有规则必须以“.”号结尾):
53.[1]事实表示
[0054]
如:父母(关羽,关兴).
[0055]
表示“关羽”是“关兴”的“父母”(谓词),注意系统使用所有同名的个体都指向同一对象的假设(除非定义同义实体,见下)。
[0056]
事实还可以申明其可信区间,如:
[0057]
父母(刘邦,刘秀)[0.2,0.9].
[0058]
其中中括号内两个0与1之间的数值即表示事实的可信区间。
[0059]
[2]规则表示
[0060]
如:祖先(?successor,?predecessor):

父母$(?successor,?child){?successor是?child的孩子吗‖谁是?successor的孩子‖谁是?successor的父母},祖先(?child,?predecessor)"?child是?successor的父母,?predecessor又是?child的祖先,则?predecessor也是?predecessor的祖先。"[1.0,1.0].
[0061]
规则的前提条件和结论用“:
‑”
符号分隔,注意规则的左边(结论)只能有一个谓词,而规则的右边(条件)可以有多个谓词,不同谓词之间用“,”分开。这条规则意思很显然,即若?predecessor是?successor的祖先的话,可能会存在一个?child,它的父母是?successor,并且它又是?predecessor的后代。
[0062]
例子上大括号包围的部分的作用是:在对话系统中使用智能推理时,如果在推理(使用线性消解)过程中,缺乏这部分事实(如果谓词以“$”符号结尾,会先尝试访问知识图谱),系统如何询问用户相关问题。对于谓词中不同信息的缺失(如当时仍然是一个变量)会询问不同的问题。不同问题以特殊符号“‖”隔开,第一个问题是谓词已经不存在变量的情况(即对一个事实是否属实提问),之后是按谓词中项的顺序列出对应信息缺失的提问。注意不能对所有项都仍是变量的谓词进行提问来获取事实。其中带“?”号的变量左右必须留有空格。
[0063]
例子中谓词“父母$”以“$”符号结尾,说明知识图谱中定义了相同谓词(一般称关系),系统会尝试访问知识图谱,获取相关的事实。
[0064]
以两个“"”包围的部分是这个规则的解释,用于为用户提供推理结果的解释和说明,其中带“?”号的变量左右必须留有空格。
[0065]
规则也可以伴随可信区间,这个例子中表示区间的两个值都为1.0,表示这个规则完全可以信赖。
[0066]
规则描述的顺序必须为结论谓词、“:
‑”
符号、条件谓词(可以多个,以“,”号分开)、解释、置信区间。除结论谓词外,其他都可以省略。但如果出现“:
‑”
符号,条件谓词必须出现。
[0067]
在某条规则描述的所有行前面加“#”号,系统将忽略该规则。以下符号的半角形式为系统保留符,禁止在其他地方使用(解释描述中可以使用“"”,这是唯一的例外):
[0068]
$#‖?.:

,()[]{}"
[0069]
[3]问题表示
[0070]
如::

祖先(?child,刘邦)
[0071]
即只有规则右边,这样的形式一般不会显式出现,因为系统会将用户以自然语言表达的问题,经过语义解析后转换成形式化的问题。
[0072]
为diaprolog对话逻辑语言所实现的推理引擎支持加、减、乘、除、指数、对数、最大和最小等基本运算函数和等于、大于、小于、大于等于和小于等于等比较谓词,还支持自定义函数的功能。
[0073]
本实施例中推理模块的规则对应有可信区间,所述可信区间表示所述推理事实的可靠性范围,通过概率逻辑计算推理结果得到。
[0074]
概率逻辑要求每一条语句是命题逻辑中的逻辑公式。为了使用概率逻辑的推理方法,霍恩规则都需要以实例化的形式出现(命题),即将规则中所有的变元用常元代入后的结果。推理的约束消解过程中会完成上述的实例化。
[0075]
给定一组命题f1,

,f
h
的集合,其中的每一个命题有相应的可信区间[l
i
,u
i
],i=1,

,h,这些区间都落在[0,1]之间,l称为左边界,u称为右边界。概率函数pr是所有可能世界的集合w到[0,1]的一个映射:
[0076]
pr:w

[0,1],且
[0077]
s
i
是所有使命题f
i
为真的可能世界的集合,则μ(s
i
)表示f
i
的概率,即在给定概率函数pr下,使f
i
为真的可能世界概率的加和。为每一个命题规定相应的可信区间[l
i
,u
i
]的作用是限制了概率函数pr的形式,即在所有可能世界w之间的概率分配。
[0078]
设命题集合f1,

,f
h
中所有的原子命题为x1,

,x
n
,一个可能的世界就是对所有原子命题进行真假指派的赋值w:{x1,

,x
n
}

{0,1}
n
,则w就是所有这种赋值的集合。若赋值w使命题f
i
为真,则称f
i
在可能世界w下为真,记为这样f
i
的概率即为:
[0079][0080]
概率逻辑的推理是根据已知命题规定的可信区间的约束,计算相应的概率分布函数pr,来预测新命题的概率区间。当然,这个新命题必须是已知命题集体的逻辑结果,即是从已知命题集体推理得到的。新命题的可信区间可以通过以下的线性优化方程求解:
[0081]
目标:min/maxμ(s
new
)
[0082]
约束条件:μ(s
i
)≤u
i i=1,

,h
[0083]
μ(s
i
)≥l
i i=1,

,h
[0084][0085]
如果我们拥有k个信息源e
j
,j=1,

,k。如果k≥2,对于每个i和j,我们有pr(f
i
|e
j
),其概率的解释是信息源e
j
可信的情况下,命题f
i
为真的概率。对于每一个f
i
,有j个这样的条件概率。同样用s
i
表示所有使命题f
i
为真的可能世界的集合,用r
j
表示信息源e
j
确定可信的所有可能世界的集合。若从信息源s
j
得知f
i
的可信区间为则在相应的线性优化方程中增加以下约束条件:
[0086][0087]
这条约束条件可改写成:
[0088][0089]
[0090]
此外,每一个信息源也有其可信区间[l
j
,u
j
],代表其信息可靠性的范围。则有以下的约束条件:
[0091]
l
j
≤pr(e
j
)≤u
j
,j=1,

,k
[0092]
则扩展后的线性优化方程为:
[0093]
目标:min/maxμ(s
new
)
[0094]
约束条件:
[0095][0096]
l
j
≤pr(e
j
)≤u
j
,j=1,

,k
[0097][0098]
本实施例中的对话模块包括上下文相关问答单元和多轮对话单元,常用答复模块包括常见问题检索单元和寒暄问候答复单元。
[0099]
本实施例中的语义解析模块主要是将自然语言的语句转换成逻辑表达式,即可以采用在依存句法分析结果的基础上通过规则进行转化,也可以采用语义角色标注模型来实现。
[0100]
本实施例中的推理模块基于diaprolog对话逻辑语言,能够为复杂任务和问题完成和解决提供知识和推理支持,又可以承担任务和问题的完成和解决过程中开展对话所需要的控制与管理工作,从而简化相应对话模块的设计与实现。
[0101]
本实施例中对话模块主要负责用户和机器主导对话的切换(混合主导型对话)、用户上下文维护、偏离对话路径控制、错误恢复,以及集成常见问题检索、场景问答(如:咨询天气和路线等)和聊天机器人等功能。
[0102]
本实施例中预定的知识图谱是对专业领域概念的一种描述,包括领域涉及的概念、概念的属性、概念间的关系以及属性和关系的约束。
[0103]
步骤s4,将所述应答结果输入语言生成模块,生成最终应答结果。
[0104]
本实施例中生成的最终应答结果生成既可以采用预定义模板生成,也可以采用基于深度学习的序列生成方法。
[0105]
本实施例中以用户的法律咨询为例进行说明:
[0106]
用户询问的问题如下:
[0107]“我的一位伯父甲三天前在一次车祸中不幸去世了,我的父亲乙听到这个消息,悲痛欲绝,两天前突发心脏病也过世了。我想请问一下,作为侄子,我是否有权继承我伯父的财产?”[0108]
图4是本发明的实施例中diaprolog规则示意图,图5是本发明的实施例中用户与系统之间的对话以及知识推理过程示意图。
[0109]
如图4和图5所示,可以通过编写diaprolog规则,在问题解决过程中通过用户与系统之间的对话进行知识推理。
[0110]
本实施例提供的智能会话系统中融合知识和推理及知识导向的对话管理方法能够包括法律咨询、智能投顾和导医机器人等多领域的智能会话系统,智能会话系统完成任务和解决问题的成功率和用户的满意度大幅提高,并且智能会话系统开发时间相对减少。
由于能够以非编程的规则申明方式快速添加任务相关的知识,也降低了智能会话系统维护代价。智能会话系统的性能如表1所示:
[0111]
表1.采用本发明公开方法所实现会话系统的性能
[0112][0113]
实施例的作用与效果
[0114]
根据本发明所涉及的智能会话系统中融合知识和推理及知识导向的对话管理方法(以下简称对话管理方法),在会话系统中结合领域知识和推理,以及相应的以知识为导向的对话管理方法。以解决用户问题为目标,利用领域知识通过智能推理来引导对话顺利展开,在缺少推理所需的必要条件或事实时才通过交互向用户进行询问,根据询问结果延续此前的推理或者调整解决问题的方向。本发明所涉及的对话管理方法不仅可以降低在会话系统中使用知识库和推理的难度,提高通过人机对话方式来完成和解决复杂任务和问题的效率,实现方法对话逻辑语言还可以无缝对接知识图谱,具备不确定推理能力,并且能对任务完成和问题答案依据的事实和推理过程进行解释。所以,本发明的智能会话系统中融合知识和推理及知识导向的对话管理方法能够对用户的问题答案进行详细解释,适用于法律、金融和医疗等大量的应用场景。
[0115]
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜