CN109460450B - 对话状态跟踪方法、装置、计算机设备和存储介质 - Google Patents
对话状态跟踪方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109460450B CN109460450B CN201811131847.8A CN201811131847A CN109460450B CN 109460450 B CN109460450 B CN 109460450B CN 201811131847 A CN201811131847 A CN 201811131847A CN 109460450 B CN109460450 B CN 109460450B
- Authority
- CN
- China
- Prior art keywords
- label
- text
- dialog
- slot
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims description 66
- 230000006399 behavior Effects 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008451 emotion Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种对话状态跟踪方法、装置、计算机设备和存储介质,通过获取当前轮对话文本,根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义,再根据所述对话语义与上一轮对话状态,更新当前轮对话状态。采用本方法能够提高对话的鲁棒性、一槽取多值以及表达用户对所取值的偏好。
Description
技术领域
本申请涉及对话技术领域,特别是涉及一种对话状态跟踪方法、装置、计算机设备和存储介质。
背景技术
随着对话技术的发展,出现了对话状态跟踪技术,对话状态跟踪技术基于***规则来进行对话状态跟踪,并通过递归神经网络提取用户语句所包含信息。现有的对话状态***用于表示对话状态的“槽-值”对中的值只能取一个值,且此值无法表达用户的喜好。
然而,目前的对话状态跟踪方法,存在鲁棒性不高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种对话状态跟踪方法、装置、计算机设备和存储介质。
一种对话状态跟踪方法,所述方法包括:
获取当前轮对话文本;
根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义;
根据所述对话语义与上一轮对话状态,更新当前轮对话状态。
在其中一个实施例中,所述根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义包括:
根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的领域标签。
在其中一个实施例中,所述根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的领域标签包括:
根据所述对话文本与当前***行为,获取每个领域对应标签的概率分布;
选择所述概率分布中概率值最大的标签作为领域标签。
在其中一个实施例中,所述选择所述概率分布中概率值最大的标签作为领域标签之后包括:
判断所述领域标签是否为预设标签,
若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的槽标签。
在其中一个实施例中,所述根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的槽标签包括:
根据所述对话文本与当前***行为,获取所述领域内的每个告知槽对应标签的概率分布;
选择所述概率分布中概率值最大的标签作为所述槽标签。
在其中一个实施例中,所述选择所述概率分布中概率值最大的标签作为所述槽标签之后包括:
判断所述槽标签是否为预设标签,
若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的值标签。
在其中一个实施例中,所述根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的值标签包括:
根据所述对话文本与当前***行为,获取所述槽内的每个可取值对应标签的概率分布;
选择所述概率分布中概率最大的标签作为所述值标签。
在其中一个实施例中,所述选择所述概率分布中概率最大的标签作为所述值标签之后包括:
根据所述领域、槽、值、领域标签、槽标签和值标签,确定当前轮对话语义。
一种对话状态跟踪装置,所述装置包括:
文本获取模块,用于获取当前轮对话文本;
文本处理模块,用于根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义;
状态更新模块,用于根据所述对话语义与上一轮对话状态,更新当前轮对话状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
上述对话状态跟踪方法、装置、计算机设备和存储介质,通过获取当前轮对话文本,根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义,再根据所述对话语义与上一轮对话状态,更新当前轮对话状态,能够提高对话的鲁棒性、一槽取多值以及表达用户对所取值的偏好。
附图说明
图1为一个实施例中一种对话状态跟踪方法的应用环境图;
图2为一个实施例中一种对话状态跟踪方法的流程示意图;
图3为一个实施例中一种对话状态跟踪方法中富对话状态跟踪规则原理结构示意图;
图4为一个实施例中步骤S21的流程示意图;
图5为一个实施例中获取领域标签的方法的流程示意图;
图6为一个实施例中卷积神经网络模型的原理结构示意图;
图7为一个实施例中步骤S22的流程示意图;
图8为一个实施例中步骤S23的流程示意图;
图9为一个实施例中一种对话状态跟踪装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的对话状态跟踪方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种对话状态跟踪方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S1:获取当前轮对话文本。
在步骤S1中,当前轮对话文本指终端102输入的文本,其中包括语音文本和文档文本。服务器104通过网络接收终端102发出的当前轮对话文本。
步骤S2:根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义。
在步骤S2中,富对话状态跟踪规则的表示,结合图3,具体如下:
d表示领域实体,s表示槽实体,v表示值实体。
D表示领域的集合,Sd表示领域d中槽的集合,Vs表示槽s中值的集合。
对于每个领域,μd表示对于领域实体在当前轮对话的跟踪变量,可取的标签包括:“提及”,“未提及”(默认取“未提及”)。μ表示集合{μd∶d∈D}。槽的记号方法类似,ξs表示对于槽实体在当前轮对话的跟踪变量,可取的标签包括:“提及”,“未提及”,“不在意”(默认取“未提及”)。ξd表示集合{ξs∶s∈Sd}。ξ表示集合{ξd∶d∈D}。类似地,ηv表示对于值实体v在当前轮对话的跟踪变量,可取的标签包括:“喜欢”、“不喜欢”(默认取“不喜欢”)。ηs表示集合{ηv∶v∈Vs},ηd表示集合{ηs∶s∈Sd},η表示集合{ηd∶d∈D}。我们用(μ,ξ,η)表示对话状态,我们将这种表示称为“富对话状态跟踪规则”。这种形式的对话状态可以解决传统对话状态一个槽不能取多个值,不能反映用户偏好的问题,包含比传统对话状态更丰富的信息,因此我们将这种形式的对话状态称为“富对话状态”
服务器104接收到当前轮对话文本后,通过富对话状态跟踪规则对当前轮对话文本进行处理,来确定当前轮对话语义。
步骤S3:根据所述对话语义与上一轮对话状态,更新当前轮对话状态。
在步骤S3中,对话文本通过富对话状态跟踪规则进行解析后,并结合上一轮对话状态,形成新的对话状态,对截止到本轮的终端102的对话文本进行总结,从而在多轮对话中跟踪用户意图。
上述对话状态跟踪方法,通过获取当前轮对话文本,根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义,再根据所述对话语义与上一轮对话状态,更新当前轮对话状态,能够提高对话的鲁棒性、一槽取多值以及表达用户对所取值的偏好。
在一个实施例中,步骤S2包括:
步骤S21:根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的领域标签。
步骤S21中,将当前轮的用户文本表示为u,d表示领域实体,D表示领域的集合。对于每个领域,μd表示对于领域实体在当前轮对话的跟踪变量,可取的标签包括:“提及”和“未提及”。遍历领域集合D中的所有领域实体d,计算d的标签。假设当前轮的用户文本u=“我想看葛优和黄渤的电影”,领域集合D包括电影、音乐、时间、天气等,则电影领域标签为“提及”,其余领域标签为“未提及”。
在一个实施例中,结合图4,所述步骤S21包括:
步骤S211:根据所述对话文本与当前***行为,获取每个领域对应标签的概率分布。
在步骤S211中,结合图5,根据当前轮的用户文本u和当前***行为a,获取每个领域对应标签的概率分布。实现过程可分解为以下步骤。
(一)把当前轮用户文本u转换成特定领域嵌入矩阵f1(d,u)。
首先,对用户文本进行分词。假设当前轮用户文本包含ku个词u1,u2,…,每个词的词嵌入的维数为dms。表示当前轮用户文本u的词嵌入矩阵。词嵌入是一个向量,用来对单个的词进行表示。词嵌入相较于传统的“one-hot”编码方式,词向量的维度更少,意义相近的词的词向量的距离相对较近,有利于减轻过拟合以及利用词与词之间的联系。在训练各个判别器之前要建立一个词典包含常用的词语,并训练每个词的词嵌入。表示当前轮用户语句u中的每个词是否与该领域d相关,我们为每个领域建立一个语义词典,词典中包含该领域特有的常用词,通过对u中的每个词进行关键词匹配,即可判断该词是否与领域d相关。把X和xstr(d,u)拼接在一起即可得到特定领域嵌入矩阵
(二)把当前轮***行为a转换成特定领域动作向量f2(d,a)。f2(d,a)是一个7维向量,当后面所列的第i个关于a和d的条件成立时,第i个元素等于1,否则等于0:(1)a问询用户d中的某个告知槽;(2)a告知用户d中的某个问询槽;(3)a向用户确认d中的某个告知槽;(4)a告知用户没有找到与d相关的信息;(5)a告知用户找到一条与d相关的信息;(6)a告知用户找到多条与d相关的信息,问询用户选择哪个;(7)前6个条件均不成立。
(三)对特定领域嵌入矩阵f1(d,u)利用卷积神经网络提取出特定领域嵌入向量。用L个窗口大小分别为1,2,3的卷积滤波器对f1(d,u)进行卷积,然后通过ReLU(RectifiedLinear Unit)激活函数和最大池化得到3个向量,分别可视作一元模型、二元模型、三元模型的特征表示。最后将这三个向量拼接起来作为特定领域嵌入向量。
结合图6,为了节省空间,每个n元模型都只画了3个卷积滤波器。
(四)利用门机制,通过动作向量对嵌入向量进行约束,得到语义特征向量h,计算公式如下:
hi=f2(d,a)[i]·CNN(f1(d,u))
这一操作可理解为用动作向量控制嵌入向量在语义特征向量中的位置。
(五)把语义特征向量送入全连接网络,计算特定领域标签的概率分布p(ud)。全连接网络用表示,隐藏层节点数与输入层一样,激活函数为softmax,输出为2维向量,表示领域标签为“提及”和“未提及”的概率。
步骤S212:选择所述概率分布中概率值最大的标签作为领域标签。
在步骤S212中,获取每个领域对应标签的概率分布后,选择所述概率分布中概率值最大的标签作为领域标签。领域标签的输出概率形式是和为1的二维向量,分别表示“提及”和“未提及”的概率,例如:(0.8,0.2),选择概率最大的标签作为输出,此例中输出标签为“提及”。测试时会遍历所有的领域,因此每个领域都能独立判断出当前轮是“提及”还是“未提及”。可能所有领域都提及了,也可能都没提及。
在一个实施例中,所述步骤S212之后包括:
步骤S213:判断所述领域标签是否为预设标签。
在步骤S213中,概率分布中概率值最大的标签作为领域标签,领域标签存在两种情况,即提及与未提及。本申请中将预设标签设定为“提及”,当领域标签为提及时,即领域标签与预设标签相同,那么继续获取所述对话文本的槽标签;当领域标签为未提及时,即领域标签与预设标签不同,那么富对话状态跟踪规则停止对所述对话文本继续解析。
步骤S22:若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的槽标签。
将当前轮的用户文本表示为u,s表示槽实体,Sd表示领域d中槽的集合。对于每个槽,ξs表示对于槽实体在当前轮对话的跟踪变量,可取的标签包括:“提及”、“未提及”以及“不在意”(默认取“未提及”)。
富对话状态跟踪规则根据当前轮的用户文本,开始遍历领域d中槽集合Sd,获取所述对话文本的槽标签。例如“我想看葛优和黄渤的电影”,d为电影,Sd包括演员、类型、年代等,则演员槽的标签为“提及”,其他槽的标签为“未提及”。
在一个实施例中,结合图7,所述步骤S22包括:
步骤S221:根据所述对话文本与当前***行为,获取所述领域内的每个告知槽对应标签的概率分布。
在步骤S221中,根据当前轮的用户文本u和当前***行为a,获取每个告知槽对应标签的概率分布。实现过程可分解为以下步骤。
(一)把当前轮用户文本u转换成特定槽嵌入矩阵f1(s,u)。
首先,对文本进行分词。假设当前轮用户文本包含ku个词u1,u2,…,每个词的词嵌入的维数为dms。表示当前轮用户文本u的词嵌入矩阵。词嵌入是一个向量,用来对单个的词进行表示。词嵌入相较于传统的“one-hot”编码方式,词向量的维度更少,意义相近的词的词向量的距离相对较近,有利于减轻过拟合以及利用词与词之间的联系。在训练各个判别器之前要建立一个词典包含常用的词语,并训练每个词的词嵌入。表示当前轮用户语句u中的每个词是否与该槽s相关,我们为每个槽建立一个语义词典,词典中包含该槽特有的常用词,通过对u中的每个词进行关键词匹配,即可判断该词是否与槽s相关。把X和xstr(s,u)拼接在一起即可得到特定槽嵌入矩阵
(二)把当前轮***行为a转换成特定槽动作向量f2(s,a)。f2(s,a)是一个7维向量,当后面所列的第i个关于a和s的条件成立时,第i个元素等于1,否则等于0:(1)a问询用户s中的某个可取值;(2)a告知用户s中的某个可取值;(3)a向用户确认s中的某个可取值;(4)a告知用户没有找到与s相关的信息;(5)a告知用户找到一条与s相关的信息;(6)a告知用户找到多条与s相关的信息,问询用户选择哪个;(7)前6个条件均不成立。
(三)对特定槽嵌入矩阵f1(s,u)利用卷积神经网络提取出特定槽嵌入向量。用L个窗口大小分别为1,2,3的卷积滤波器对f1(s,u)进行卷积,然后通过ReLU(RectifiedLinear Unit)激活函数和最大池化得到3个向量,分别可视作一元模型、二元模型、三元模型的特征表示。最后将这三个向量拼接起来作为特定槽嵌入向量。
为了节省空间,每个n元模型都只画了3个卷积滤波器。
(四)利用门机制,通过动作向量对嵌入向量进行约束,得到语义特征向量h,计算公式如下:
hi=f2(s,a)[i]·CNN(f1(s,u))
这一操作可理解为用动作向量控制嵌入向量在语义特征向量中的位置。
(五)最后,把语义特征向量送入全连接网络,计算特定槽标签的概率分布p(ξs|μd)∈R3。全连接网络用表示,隐藏层节点数与输入层一样,激活函数为softmax,输出为3维向量,表示领域标签为“提及”、“未提及”和“不在意”的概率。
步骤S222:选择所述概率分布中概率值最大的标签作为所述槽标签。
在步骤S222中,获取每个告知槽对应标签的概率分布后,选择所述概率分布中概率值最大的标签作为槽标签。槽标签的输出概率形式是和为1的三维向量,分别表示“提及”、“未提及”和“不在意”的概率。例如(0.8,0.1,0.1),测试时我们选择概率最大的标签作为该槽的标签,此例中概率最大的标签为“提及”。测试时会遍历所有领域内的告知槽,因此每个告知槽都能独立判断出当前轮是“提及”、“未提及”还是“不在意”。遍历其所有告知槽,我们就能得到本轮对话中哪些槽提及了,哪些槽未提及,哪些槽是可以取该槽所有值的。
在一个实施例中,所述步骤S222之后包括:
步骤S223:判断所述槽标签是否为预设标签,
在步骤S223中,概率分布中概率值最大的标签作为槽标签,槽标签存在三种情况,即“提及”、“未提及”与“不在意”。本申请中将预设标签设定为“提及”,当槽标签为“提及”时,即槽标签与预设标签相同,那么继续获取所述对话文本的值标签;当槽标签为“未提及”或“不在意”时,即槽标签与预设标签不同,那么富对话状态跟踪规则停止对所述对话文本继续解析。
步骤S23:若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的值标签。
将当前轮的用户文本表示为u,v表示值实体,Vs表示槽s中值的集合。对于每个值,ηv表示对于值实体在当前轮对话的跟踪变量,可取的标签包括:“喜欢”和“不喜欢”。
富对话状态跟踪规则根据当前轮的用户文本,遍历完文本的领域集合和槽集合后,遍历值集合Vs中出现在用户文本中的值,获得它们的值标签。例如“我想看葛优和黄渤的电影”,其中领域标签为【电影=提及】和槽标签【演员=提及】,值标签为【葛优=喜欢,黄渤=喜欢】。
在一个实施例中,结合图8,所述步骤S23包括:
步骤S231:根据所述对话文本与当前***行为,获取所述槽内的每个可取值对应标签的概率分布。
在步骤S231中,根据当前轮的用户文本u和当前***行为a,获取每个值对应标签的概率分布。实现过程可分解为以下步骤。
(一)把当前轮用户文本u转换成特定值嵌入矩阵f1(v,u)。
首先,对文本进行分词。假设当前轮用户文本包含ku个词u1,u2,…,每个词的词嵌入的维数为dms。表示当前轮用户文本u的词嵌入矩阵。词嵌入是一个向量,用来对单个的词进行表示。词嵌入相较于传统的“one-hot”编码方式,词向量的维度更少,意义相近的词的词向量的距离相对较近,有利于减轻过拟合以及利用词与词之间的联系。在训练各个判别器之前要建立一个词典包含常用的词语,并训练每个词的词嵌入。为了标定出v在句子中的位置,我们用一个全为1的向量取代f1(v,u)中v的词向量。表示当前轮用户语句u中的每个词是否与该值v相关,我们建立一个语义词典,词典中包含表达积极情感和消极情感的词,通过对u中的每个词进行关键词匹配,若第i个词是积极情感的词,则xstr(v,u)i=1,若是消极情感的词,xstr(v,u)i=-1,否则xstr(v,u)i=0。把X和xstr(v,u)拼接在一起即可得到特定值嵌入矩阵
(二)对特定值嵌入矩阵f1(v,u)利用卷积神经网络提取出特定值嵌入向量。用L个窗口大小分别为1,2,3的卷积滤波器对f1(v,u)进行卷积,然后通过ReLU(RectifiedLinear Unit)激活函数和最大池化得到3个向量,分别可视作一元模型、二元模型、三元模型的特征表示。最后将这三个向量拼接起来作为特定领域嵌入向量。
为了节省空间,每个n元模型都只画了3个卷积滤波器。
(三)利用门机制,通过动作向量对嵌入向量进行约束,得到语义特征向量h,计算公式如下:
h=CNN(f1(v,u))#(3)
这一操作可理解为用动作向量控制嵌入向量在语义特征向量中的位置。
(四)最后,把语义特征向量送入全连接网络,计算特定值标签的概率分布p(ηv|ξs,μd)∈R2。全连接网络用表示,隐藏层节点数与输入层一样,激活函数为softmax,输出为2维向量,表示领域标签为“喜欢”和“不喜欢”的概率。
步骤S232:选择所述概率分布中概率最大的标签作为所述值标签。
在步骤S232中,概率分布中概率值最大的标签作为值标签,值标签存在两种情况,即“喜欢”和“不喜欢”。
在一个实施例中,所述步骤S232之后包括:
步骤S24:根据所述领域、槽、值、领域标签、槽标签和值标签,确定当前轮对话语义。
在步骤S24中,通过富对话状态跟踪规则对当前轮文本进行解析后,分别获取了领域所对应的领域标签、槽所对应的槽标签和值所对应的值标签。将获取的领域、槽、值、领域标签、槽标签和值标签进行结合,获取了当前轮对话语义。如当前轮文本为“我想看葛优和黄渤的电影”,则对应的对话状态可表示为【电影=提及,演员=提及,葛优=喜欢,黄渤=喜欢】,或“我不想看葛优的电影”可表示为【电影=提及,演员=提及,葛优=不喜欢】或简化表示为【电影(演员(葛优=不喜欢))】。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种对话状态跟踪装置,包括:获取模块、处理模块和更新模块,其中:
文本获取模块1,用于获取当前轮对话文本;
文本处理模块2,用于根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义;
状态更新模块3,用于根据所述对话语义与上一轮对话状态,更新当前轮对话状态。
在一个实施例中,文本处理模块2包括:
第一处理模块21,用于根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的领域标签。
在一个实施例中,第一处理模块21包括:
第二处理模块211,用于根据所述对话文本与当前***行为,获取每个领域对应标签的概率分布;
第一选择模块212,用于选择所述概率分布中概率值最大的标签作为领域标签。
在一个实施例中,第一选择模块212之后包括:
第一判断模块213,用于判断所述领域标签是否为预设标签,
第三处理模块22,用于确认若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的槽标签。
在一个实施例中,第三处理模块22包括:
第四处理模块221,用于根据所述对话文本与当前***行为,获取所述领域内的每个告知槽对应标签的概率分布;
第二选择模块222,用于选择所述概率分布中概率值最大的标签作为所述槽标签。
在一个实施例中,第二选择模块222之后包括:
第二判断模块223,用于判断所述槽标签是否为预设标签,
第五处理模块23,用于确认若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的值标签。
在一个实施例中,第五处理模块23包括:
第六处理模块231,用于根据所述对话文本与当前***行为,获取所述槽内的每个可取值对应标签的概率分布;
第三选择模块232,用于选择所述概率分布中概率最大的标签作为所述值标签。
在一个实施例中,第三选择模块232之后包括:
第七处理模块24,用于根据所述领域、槽、值、领域标签、槽标签和值标签,确定当前轮对话语义。
关于一种对话状态跟踪装置的具体限定可以参见上文中对于一种对话状态跟踪方法的限定,在此不再赘述。上述对话状态跟踪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储对话状态处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种对于对话状态跟踪方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上所述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种对话状态跟踪方法,其特征在于,所述方法包括:
获取当前轮对话文本;
根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义;其中,所述富对话状态跟踪规则包括:定义领域实体、槽实体、值实体在当前轮对话的跟踪变量,得到每个领域的领域标签、每个槽的槽标签、每个值的值标签;所述槽实体包含于所述领域实体,所述领域标签包括:“提及”、“未提及”;其中,所述领域标签是将所述对话文本转换成特定领域嵌入矩阵;将当前轮***行为转换成特定领域动作向量;对所述特定领域嵌入矩阵利用卷积神经网络提取出特定领域嵌入向量;利用门机制,通过所述特定领域动作向量对所述特定领域 嵌入向量进行约束,得到语义特征向量;根据语义特征向量确定领域标签;
根据所述对话语义与上一轮对话状态,更新当前轮对话状态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义包括:
根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的领域标签。
3.根据权利要求2所述的方法,其特征在于,所述根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的领域标签包括:
根据所述对话文本与当前***行为,获取每个领域对应标签的概率分布;
选择所述概率分布中概率值最大的标签作为领域标签。
4.根据权利要求3所述的方法,其特征在于,所述选择所述概率分布中概率值最大的标签作为领域标签之后包括:
判断所述领域标签是否为预设标签,
若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的槽标签。
5.根据权利要求4所述的方法,其特征在于,所述根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的槽标签包括:
根据所述对话文本与当前***行为,获取所述领域内的每个告知槽对应标签的概率分布;
选择所述概率分布中概率值最大的标签作为所述槽标签。
6.根据权利要求5所述的方法,其特征在于,所述选择所述概率分布中概率值最大的标签作为所述槽标签之后包括:
判断所述槽标签是否为预设标签,
若是,则根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的值标签。
7.根据权利要求6所述的方法,其特征在于,所述根据所述富对话状态跟踪规则解析所述对话文本,获取所述对话文本的值标签包括:
根据所述对话文本与当前***行为,获取所述槽内的每个可取值对应标签的概率分布;
选择所述概率分布中概率最大的标签作为所述值标签。
8.根据权利要求7所述的方法,其特征在于,所述选择所述概率分布中概率最大的标签作为所述值标签之后包括:
根据所述领域、槽、值、领域标签、槽标签和值标签,确定当前轮对话语义。
9.一种对话状态跟踪装置,其特征在于,所述装置包括:
文本获取模块,用于获取当前轮对话文本;
文本处理模块,用于根据所述对话文本与富对话状态跟踪规则,确定当前轮对话语义;其中,所述富对话状态跟踪规则包括:定义领域实体、槽实体、值实体在当前轮对话的跟踪变量,得到每个领域的领域标签、每个槽的槽标签、每个值的值标签;所述槽实体包含于所述领域实体,所述领域标签包括:“提及”、“未提及”;其中,所述领域标签是将所述对话文本转换成特定领域嵌入矩阵;将当前轮***行为转换成特定领域动作向量;对所述特定领域嵌入矩阵利用卷积神经网络提取出特定领域嵌入向量;利用门机制,通过所述特定领域动作向量对所述特定领域 嵌入向量进行约束,得到语义特征向量;根据语义特征向量确定领域标签;
状态更新模块,用于根据所述对话语义与上一轮对话状态,更新当前轮对话状态。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811131847.8A CN109460450B (zh) | 2018-09-27 | 2018-09-27 | 对话状态跟踪方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811131847.8A CN109460450B (zh) | 2018-09-27 | 2018-09-27 | 对话状态跟踪方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460450A CN109460450A (zh) | 2019-03-12 |
CN109460450B true CN109460450B (zh) | 2021-07-09 |
Family
ID=65607017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811131847.8A Active CN109460450B (zh) | 2018-09-27 | 2018-09-27 | 对话状态跟踪方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460450B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526674B2 (en) * | 2019-03-01 | 2022-12-13 | Rakuten Group, Inc. | Sentence extraction system, sentence extraction method, and information storage medium |
CN110096516B (zh) * | 2019-03-25 | 2022-01-28 | 北京邮电大学 | 自定义的数据库交互的对话生成方法及*** |
CN110245221B (zh) * | 2019-05-13 | 2023-05-23 | 华为技术有限公司 | 训练对话状态跟踪分类器的方法和计算机设备 |
CN111475616B (zh) * | 2020-03-13 | 2023-08-22 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411563B (zh) * | 2010-09-26 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种识别目标词的方法、装置及*** |
CN108536679B (zh) * | 2018-04-13 | 2022-05-20 | 腾讯科技(成都)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
-
2018
- 2018-09-27 CN CN201811131847.8A patent/CN109460450B/zh active Active
Non-Patent Citations (1)
Title |
---|
Tracking of Enriched Dialog States for Flexible Conversational Information Access;Yinpei Dai等;《2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)》;20180913;第6139-6143页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109460450A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460450B (zh) | 对话状态跟踪方法、装置、计算机设备和存储介质 | |
CN110598206B (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
US11948058B2 (en) | Utilizing recurrent neural networks to recognize and extract open intent from text inputs | |
WO2018126325A1 (en) | Learning document embeddings with convolutional neural network architectures | |
US11526698B2 (en) | Unified referring video object segmentation network | |
CN108932342A (zh) | 一种语义匹配的方法、模型的学习方法及服务器 | |
CN113157863B (zh) | 问答数据处理方法、装置、计算机设备及存储介质 | |
AU2016256764A1 (en) | Semantic natural language vector space for image captioning | |
CN108520041B (zh) | 文本的行业分类方法、***、计算机设备和存储介质 | |
CN112307168B (zh) | 基于人工智能的问诊会话处理方法、装置和计算机设备 | |
JP2021508866A (ja) | 対象領域およびクライアント固有のアプリケーション・プログラム・インタフェース推奨の促進 | |
CN111191032A (zh) | 语料扩充方法、装置、计算机设备和存储介质 | |
WO2021169453A1 (zh) | 用于文本处理的方法和装置 | |
CN113761868A (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN114329029A (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN112632252A (zh) | 对话应答方法、装置、计算机设备和存储介质 | |
Bouneffouf et al. | Exploration/exploitation trade-off in mobile context-aware recommender systems | |
CN111680132B (zh) | 一种用于互联网文本信息的噪声过滤和自动分类方法 | |
Shrivastava et al. | An efficient focused crawler using LSTM-CNN based deep learning | |
CN111967253A (zh) | 一种实体消歧方法、装置、计算机设备及存储介质 | |
CN116975271A (zh) | 文本相关性的确定方法、装置、计算机设备和存储介质 | |
CN111552827B (zh) | 标注方法和装置、行为意愿预测模型训练方法和装置 | |
Aktukmak et al. | Any-Shot Learning From Multimodal Observations (ALMO) | |
CN114238798A (zh) | 基于神经网络的搜索排序方法、***、设备及存储介质 | |
Anantha et al. | Learning to rank intents in voice assistants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |