基于长短期记忆网络的多轮对话语义分析方法和系统与流程

文档序号:19738209发布日期:2020-01-18 04:48阅读:363来源:国知局
基于长短期记忆网络的多轮对话语义分析方法和系统与流程

本发明实施例涉及计算机技术领域,尤其涉及一种基于长短期记忆网络的多轮对话语义分析方法、系统、计算机设备及计算机可读存储介质。



背景技术:

随着人工智能大规模普及和应用,人机对话作为人工智能领域不可或缺的方向,受到了越来越多的重视和关注。

自然语言理解(nlu,naturallanguageunderstanding)是对话系统中非常重要的一部分,尤其体现在任务型多轮对话系统中。nlu主要是通过将对话进行标注,从而进行语义理解。对于多轮对话的情形,传统的对话系统将每轮对话单独处理,忽略历史对话信息,首先这种系统存在误差传播问题,其次也没有解决多轮对话的常常出现的歧义问题。

因此,有必要提供一种精确理解对话信息的多轮对话语义分析方法,以解决多轮对话的歧义以及针对新对话预测能力差的问题。



技术实现要素:

有鉴于此,本发明实施例的目的是提供一种基于长短期记忆网络的多轮对话语义分析方法、系统、计算机设备和计算机可读存储介质,本发明可以精确理解对话信息,并可以解决多轮对话的歧义以及针对新对话预测能力差的问题。

为实现上述目的,本发明实施例提供了一种基于长短期记忆网络的多轮对话语义分析方法,包括以下步骤:

获取客户端提供的当前对话信息;

根据所述当前对话信息生成当前对话代表向量;

根据所述当前对话代表向量和预先获取的多个历史对话编码向量,生成知识编码表示向量;

将所述知识编码表示向量和所述当前对话信息中各个分词的词向量输入到第一长短期记忆模型中,以得到所述当前对话信息的预测序列标签;

根据所述预测序列标签得到对应的语义信息,根据所述语义信息与预设的操作信息匹配,得到对应的操作信息;

执行与对应的操作信息对应的操作,并输出根据所述语义信息执行相应的操作结果至客户端。

优选地,所述根据所述当前对话信息生成当前对话代表向量的步骤,包括:

从所述当前对话信息中提取多个关键词;

根据所述多个关键词得到对应的多个子结构,每个子结构包括对应的关键词及该关键词的后续词语;

将所述每个子结构转换为对应的子结构向量,以得到多个子结构向量;

将所述多个子结构向量分别输入到第二长短期记忆模型中,得到对应的多个子结构编码向量;

对所述当前对话信息进行分词操作,得到多个分词,并将多个分词转换为对应的多个分词向量;

将多个分词向量输入到第三长短期记忆模型中,得到当前对话编码向量;

将所述当前对话编码向量和各个子结构编码向量通过归一化函数计算,以得到各个子结构的权重向量;

将所述各个子结构的权重向量与对应的子结构编码向量进行矩阵乘法运算,以得到多个矩阵乘法运算结果;

对所述多个矩阵乘法运算结果进行求和,以得到子结构代表向量;

将所述子结构代表向量和所述当前对话编码向量进行矩阵加法运算,并将矩阵加法运算的结果输入到第四长短期记忆模型中,以得出当前对话代表向量。

优选地,所述归一化函数如下:

p′t=softmax(u′tm′i)

其中,u′为当前对话编码向量,u′t为u′的转置向量,mi′为子结构编码向量,pi为各个子结构的权重向量。

优选地,预先获取多个历史对话编码向量的步骤,包括:

提取预设数据库中的多条历史对话信息;

对所述多条历史对话信息进行分词操作,得到多个历史分词,并将多个历史分词转换为对应的多个历史分词向量;

将所述多个历史分词向量输入到第五长短期记忆模型中,得到多个历史对话编码向量。

优选地,所述根据所述当前对话代表向量和预先获取的历史对话编码向量,生成知识编码表示向量的步骤,包括:

根据所述历史对话编码向量和所述当前对话代表向量得到注意力分布;

对所述注意力分布进行矩阵乘法运算,以得到多个矩阵乘法运算结果;

对所述多个矩阵乘法运算结果进行求和,以得到历史对话代表向量;

根据所述当前对话代表向量和所述历史对话代表向量,得出所述知识编码表示向量。

优选地,所述根据所述当前对话代表向量和所述历史对话代表向量,得出知识编码表示向量的步骤,包括:

根据所述当前对话代表向量和所述历史对话代表向量,通过以下公式得出知识编码表示向量:

o=wkg(h+u)

其中u为当前对话代表向量,h为历史对话代表向量,o为知识编码表示向量,wkg为知识编码表示向量的权重矩阵。

优选地,对知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项进行优化更新的步骤,包括:

将知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项分别与交叉熵损失函数进行关联,通过优化算法将所述交叉熵损失函数进行迭代,以根据迭代得到的最优解更新知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项;

所述交叉熵损失函数为:

其中p为真实分布,q为非真实分布。

为实现上述目的,本发明实施例还提供了一种基于长短期记忆网络的多轮对话语义分析系统,包括:

获取模块,用于获取客户端提供的当前对话信息;

第一生成模块,用于根据所述当前对话信息生成当前对话代表向量;

第二生成模块,用于根据所述当前对话代表向量和预先获取的多个历史对话编码向量,生成知识编码表示向量;

预测模块,用于将所述知识编码表示向量和所述当前对话信息中各个分词的词向量输入到第一长短期记忆模型中,以得到所述当前对话信息的预测序列标签;

匹配模块,用于根据所述预测序列标签得到对应的语义信息,根据所述语义信息与预设的操作信息匹配,得到对应的操作信息;

执行模块,用于执行与对应的操作信息对应的操作,输出操作结果至客户端。。

为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上所述的脱敏方法的步骤。

为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的基于长短期记忆网络的多轮对话语义分析方法的步骤。

相较于现有技术,本发明实施例提供的基于长短期记忆网络的多轮对话语义分析方法、系统、计算机设备及计算机可读存储介质,获取当前对话信息之后,根据当前对话信息生成当前对话代表向量,再根据当前对话代表向量和预先获取的多个历史对话编码向量,生成知识编码表示向量,再将知识编码表示向量和当前对话信息中各个分词的词向量输入到长短期记忆模型中,以得到当前对话信息的预测序列标签,再根据预测序列标签得到对应的语义信息,并根据语义信息执行相应的操作。因此,本发明实施例可以精确理解对话信息,并可以解决多轮对话的歧义以及针对新对话预测能力差的问题。

附图说明

图1为本发明基于长短期记忆网络的多轮对话语义分析方法实施例一的流程图。

图2为本发明实施例图1中步骤s102的流程图。

图3为本发明实施例图1中步骤s104的流程图。

图4为本发明实施例图1中步骤s104的另一实施例的流程图。

图5为本发明基于长短期记忆网络的多轮对话语义分析系统实施例二的程序方块图。

图6为本发明计算机设备实施例三的硬件结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

参阅图1,示出了本发明实施例一之基于长短期记忆网络的多轮对话语义分析方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。具体如下:

步骤s100,获取客户端提供的当前对话信息。

步骤s102,根据所述当前对话信息生成当前对话代表向量。

在示例性的实施例中,如图2所示,步骤s102可以包括步骤s102a~s1021。

步骤s102a,从所述当前对话信息中提取多个关键词。

示例性地,根据预设的关键词模版从当前对话信息中提取多个关键词。

步骤s102b,根据所述多个关键词得到对应的多个子结构,每个子结构包括对应的关键词及该关键词的后续词语。

示例性的,在一个完整的句子中包括多个子句子,每个子句子对应一个在子结构,每个子结构中包括一个关键词,即,在每个子句子中包括对应的一个关键词及该关键词的多个后续词语,所述后续词语包括所述关键词在所述子句子中相邻的一个或多个词语。

示例性地,所述子结构通过语法树将所述当前对话进行拆解,形成以一个或多个关键词为核心,多个后续词语组成的树,将所述关键词和所述后续词语进行组合拾取,形成多个子结构。

步骤s102c,将所述每个子结构转换为对应的子结构向量,以得到多个子结构向量。

示例性地,将所述多个子结构通过word2vec量化成子结构向量x′

步骤s102d,将所述多个子结构向量分别输入到第二长短期记忆模型中,得到对应的多个子结构编码向量。

示例性地,将所述子结构向量x′输入到长短期记忆网络模型中,得到子结构编码向量m′,即:

m′i=lstm2(x′i)

步骤s102e,对所述当前对话信息进行分词操作,得到多个分词,并将多个分词转换为对应的多个分词向量。

示例性地,将指定存储区域中当前对话进行分词操作,得到多个分词,并通过word2vec量化成当前分词向量c。

步骤s102f,将多个分词向量输入到第三长短期记忆模型中,得到当前对话编码向量。

将所述当前分词向量c输入到第三rnn(lstm)模型中,得到当前对话编码向量u′。

u′=lstm3(c)

步骤s102g,将所述当前对话编码向量和各个子结构编码向量通过归一化函数计算,以得到各个子结构的权重向量。

示例性地,根据所述前对话编码向量和所述子结构编码向量,通过以下归一化函数得到各个子结构的权重向量:

p′i=softmax(u′tm′i)

其中u′为当前对话编码向量,u′t为u′的转置向量,mi′为子结构编码向量,pi为各个子结构的权重向量。

示例性地,所述归一化softmax函数是将多个值进行归一化运算,使得每一个元素的范围都在小缩放至0到1区间,并且所有元素的和为1,所述归一化softmax函数的计算方式如下:

步骤s102h,将所述各个子结构的权重向量与对应的子结构编码向量进行矩阵乘法运算,以得到多个矩阵乘法运算结果。

步骤s102i,对所述多个矩阵乘法运算结果进行求和,以得到子结构代表向量。

示例性地,将子结构的权重向量p′i和子结构编码向量m′i进行矩阵乘法运算,以得到子结构代表向量h′:

示例性地,因为每句话可能有多个子结构,其中p′是一个分布在0至1区间的向量,即代表了每个子结构的权重比例,将所述权重比例乘以子结构编码向量,即完成了权重调整,其中重要的子结构会有更加高的权重。

步骤s102j,将所述子结构代表向量和所述当前对话编码向量进行矩阵加法运算,并将矩阵加法运算的结果输入到第四长短期记忆模型中,以得出当前对话代表向量。

示例性地,将所述子结构代表向量h′和所述当前对话编码向量u′进行矩阵加法运算,将h′+u′输入到第四rnn(lstm)模型中,从而得出当前对话的代表向量u。

u=lstm4(h′+u′)

步骤s104,根据所述当前对话代表向量和预先获取的多个历史对话编码向量,生成知识编码表示向量。

在示例性的实施例中,如图3所示,步骤s102可以包括步骤s104a~s104d。

步骤s104a,根据所述历史对话编码向量和所述当前对话代表向量得到注意力分布。

示例性地,对历史对话编码向量mi和当前对话的代表向量u进行归一化处理,得到注意力分布pi;

pi=softmax(utmi)

其中,ut为对当前对话的代表向量u进行转置。

具体地,注意力对象不再是当前对话,而是结合历史会话编码与当前会话编码进行注意力计算。

步骤s104b,对所述注意力分布进行矩阵乘法运算,以得到多个矩阵乘法运算结果。

步骤s104c,对所述多个矩阵乘法运算结果进行求和,以得到历史对话代表向量。

示例性地,即对所述注意力分布p进行权重调整,从而得到历史对话代表向量h;

其中,mi为历史对话编码向量。

步骤s104d,根据所述当前对话代表向量和所述历史对话代表向量,得出所述知识编码表示向量。

示例性地,根据所述当前对话代表向量和所述历史对话代表向量,通过以下公式得出知识编码表示向量:

o=wkg(h+u)

其中u为当前对话代表向量,h为历史对话代表向量,o为知识编码表示向量,wkg为知识编码表示向量的权重矩阵,所述wkg是一组随机生成的矩阵。

在示例性的实施例中,如图4所示,步骤s104还可以包括预先获取多个历史对话编码向量的步骤s1040~s1044。

步骤s1040,提取预设数据库中的多条历史对话信息。

步骤s1042,对所述多条历史对话信息进行分词操作,得到多个历史分词,并将多个历史分词转换为对应的多个历史分词向量。

示例性地,将数据库中的历史对话信息中的分词通过word2vec量化成历史分词向量x。

步骤s1044,将所述多个历史分词向量输入到第五长短期记忆模型中,得到多个历史对话编码向量。

示例性地,将多个历史分词向量x输入到第五rnn(lstm)模型中,得到多个历史对话编码向量mi。

示例性地,所述长短期记忆网络模型(lstm,longshort-termmemory),是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。为了使该长短期记忆网络模型适用于本实施例,还需要根据所述目标设备的历史运行数据和其它设备的海量数据对所述长短期记忆网络模型进行训练操作。其中,所述长短期记忆网络模型门的结构是由基本的前馈神经网络构成,所述前馈结构的基本概念是,对于一组向量x1...xn,构建一组权重向量w1...wn,进行相乘运算并求和,最终加上偏置项b输出,即为一个隐变量输出。前馈神经网络包含大量隐变量。本实施例在于对lstm模型的具体应用。以下是一个lstm模型示例,其不用于对本发明保护范围构成限制。

lstm模型中包括遗忘门、输入门和输出门:

(1)遗忘门,会根据上一时刻的输出ht-1和当前输入向量xi(x0~xn)来产生一个0到1的ft值,来决定是否让上一时刻学到的信息ct-1通过或部分通过;

遗忘门ft=σ(wf[xt,ht-1]+bf),其中ft∈[0,1],表示t时刻的节点对t-1时刻细胞记忆的选择权重,wf为遗忘门的权重矩阵,bf为遗忘门的偏置项,ht-1表示t-1节点的隐层状态信息,非线性函数σ(x)=1/(1+ex);

(2)输入门,通过sigmoid来决定哪些值用来更新,并通过tanh层用来生成新的候选值它作为当前层产生的候选值可能会添加到记忆单元状态中,把这两部分产生的值结合来进行更新;

输入门it=σ(wi[xt,ht-1]+bi),其中it∈[0,1]表示t时刻的节点对当前节点信息的选择权重,bi为输入门的偏置项,wi为输入门的权重矩阵,非线性函数σ(x)=1/(1+ex);

当前节点输入信息其中为偏置项,表示待更新信息的权重矩阵,tanh为双曲正切激活函数,xt表示t时刻lstm神经网络节点的输入向量,ht-1表示t-1节点的隐层状态信息;

对旧的记忆单元状态进行更新,添加新信息:

输出记忆信息其中ct-1表示t-1节点的记忆信息,ft表示t时刻的节点对t-1时刻细胞记忆的选择权重,it表示t时刻的节点对当前节点信息的选择权重;

(3)输出门,用于决定lstm模型的输出;

输出ot=σ(wo[xt,ht-1]+bo),其中ot∈[0,1]表示t时刻的节点细胞记忆信息的选择权重,bo为输出门的偏置,wo为输出门的权重矩阵,表示向量xt和ht-1拼接后的向量,即|xt|+|ht-1|维的向量,xt表示t时刻lstm神经网络节点的输入向量,最终得到历史对话编码向量mi(m0~mn)。

示例性地,对本方案中出现的知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项进行优化更新的步骤,包括:

将知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项分别与交叉熵损失函数进行关联,通过adam优化算法将所述交叉熵损失函数进行迭代,以根据迭代得到的最优解更新知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项。

所述交叉熵损失函数为:

其中p为真实分布,q为非真实分布,这一公式可以度量模型输入结果与真实结果差异性。

步骤s106,将所述知识编码表示向量和所述当前对话信息中各个分词的词向量输入到第一长短期记忆模型中,以得到所述当前对话信息的预测序列标签;

示例性地,将所述知识编码表示向量o和词向量wt输入到第五rnn(lstm)模型中,从而得到预测序列标签y,根据预测序列标签y完成序列标注。

先将所述知识编码表示向量o与词向量wt进行拼接后,再输入到第五rnn(lstm)模型中,即:

y=lstm5(o;wt)

其中,所述词向量wt是通过word2vec算法利用训练文本训练得到的一组用于表示词义的向量,例如结巴词库对当前对话信息进行分词并转化成向量等;在本方案中,每一个中文词语均对应特定的300维向量;所述预测序列标签y是槽位填充的结果。

步骤s108,根据所述预测序列标签得到对应的语义信息,根据所述语义信息与预设的操作信息匹配,得到对应的操作信息;

示例性的,所述根据所述语义信息与预设的操作信息匹配的步骤,包括:

步骤s108a,提取所述语义信息的语义关键词;

步骤s108b,根据所述语义关键词生成所述信息匹配指令;

步骤s108c,根据所述信息匹配指令与所述操作信息携带的槽位之间预先配置的映射关系,以确定目标槽位,并根据目标槽位获取所述操作信息,其中,所述信息匹配指令对应一个或多个槽位。

示例性的,所述步骤s108c的步骤,还包括:

步骤s108c1,预先获取多个操作,并根据所述多个操作生成多个操作信息;

步骤s108c2,提取每个操作信息的操作关键词;

步骤s108c3,将所述多个操作关键词中的每个操作关键词分别配置一个槽位,所述槽位为所述操作信息携带的参数;

步骤s108c4,将所述多个槽位与多个信息匹配指令进行映射操作,生成所述槽位与所述信息匹配指令的映射关系,其中,所述信息匹配指令对应一个或多个槽位。

步骤s110,执行与对应的操作信息对应的操作,输出操作结果至客户端。

示例性的,对于任务型对话,以航班信息查询为例,就会设置出发地、目的地等槽位,再识别当前语句中是否存在目标槽位,根据目标槽位完成信息查询输出结果。

示例性地,槽位即上述任务型对话中的意图所带的参数,意图识别,也被称为suc(spokenutteranceclassification),是将用户输入的自然语言会话进行划分,类别(classification)对应的就是用户意图。例如“今天天气如何”,其意图为“询问天气”。显然,可以将意图识别当作一个典型的分类问题。意图的分类和定义可参考iso-24617-2标准,其中共有56种详细的定义。面向任务的对话系统中的意图识别通常可以视为文本分类任务。同时,意图的定义与对话系统自身的定位和所具有的知识库有很大关系,即意图的定义具有非常强的领域相关性。一个意图大概对应多个槽位,例如询问地铁路线时,需要给出出发地、目的地、时间等必要参数。以上参数即“询问地铁路线”这一意图对应的槽位。语义槽位填充任务的主要目标是在已知特定领域或特定意图的语义框架(semanticframe)的前提下,从输入语句中抽取该语义框架中预先定义好的语义槽的值。语义槽位填充任务可以转化为序列标注任务,即运用经典的iob标记法,标记某一个词是某一语义槽的开始(begin)、延续(inside),或是非语义槽(outside)。

示例性地,基于知识指导的当前语句表示和槽填充能够提高模型鲁棒性,对未出现在训练集中的对话也有良好的预测能力,同事双重知识记忆网络能够有效的利用句子本身的信息和历史对话信息,有效解决多轮对话的歧义问题。

实施例二

请继续参阅图5,示出了本发明基于长短期记忆网络的多轮对话语义分析系统20实施例二的程序模块示意图。在本实施例中,基于长短期记忆网络的多轮对话语义分析系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于长短期记忆网络的多轮对话语义分析方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于长短期记忆网络的多轮对话语义分析系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:

获取模块200,用于获取客户端提供的当前对话信息。

第一生成模块202,用于根据所述当前对话信息生成当前对话代表向量。

进一步地,所述第一生成模块202还用于:

从所述当前对话信息中提取多个关键词;根据所述多个关键词得到对应的多个子结构,每个子结构包括对应的关键词及该关键词的后续词语;将所述每个子结构转换为对应的子结构向量,以得到多个子结构向量;将所述多个子结构向量分别输入到第二长短期记忆模型中,得到对应的多个子结构编码向量;对所述当前对话信息进行分词操作,得到多个分词,并将多个分词转换为对应的多个分词向量;将多个分词向量输入到第三长短期记忆模型中,得到当前对话编码向量;将所述当前对话编码向量和各个子结构编码向量通过归一化函数计算,以得到各个子结构的权重向量;将所述各个子结构的权重向量与对应的子结构编码向量进行矩阵乘法运算,以得到多个矩阵乘法运算结果;对所述多个矩阵乘法运算结果进行求和,以得到子结构代表向量;将所述子结构代表向量和所述当前对话编码向量进行矩阵加法运算,并将矩阵加法运算的结果输入到第四长短期记忆模型中,以得出当前对话代表向量。

进一步地,所述第一生成模块202还用于:

根据所述前对话编码向量和所述子结构编码向量,通过以下归一化函数得到各个子结构的权重向量:

p′t=softmax(u′tm′i)

其中u′为当前对话编码向量,u′t为u′的转置向量,mi′为子结构编码向量,pi为各个子结构的权重向量。

第二生成模块204,用于根据所述当前对话代表向量和预先获取的多个历史对话编码向量,生成知识编码表示向量。

进一步地,所述第二生成模块204还用于:

提取预设数据库中的多条历史对话信息;对所述多条历史对话信息进行分词操作,得到多个历史分词,并将多个历史分词转换为对应的多个历史分词向量;将所述多个历史分词向量输入到第五长短期记忆模型中,得到多个历史对话编码向量。

示例性地,对本方案中出现的知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项进行优化更新的步骤,包括:

将知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项分别与交叉熵损失函数进行关联,通过adam优化算法将所述交叉熵损失函数进行迭代,以根据迭代得到的最优解更新知识编码表示向量的权重矩阵、各个长短期记忆模型中的权重矩阵及各个长短期记忆模型中的偏置项。

所述交叉熵损失函数为:

其中p为真实分布,q为非真实分布,这一公式可以度量模型输入结果与真实结果差异性。

进一步地,所述第二生成模块204还用于:

根据所述历史对话编码向量和所述当前对话代表向量得到注意力分布;对所述注意力分布进行矩阵乘法运算,以得到多个矩阵乘法运算结果;对所述多个矩阵乘法运算结果进行求和,以得到历史对话代表向量;根据所述当前对话代表向量和所述历史对话代表向量,得出所述知识编码表示向量。

进一步地,所述第二生成模块204还用于:

根据所述当前对话代表向量和所述历史对话代表向量,通过以下公式得出知识编码表示向量:

o=wkg(h+u)

其中u为当前对话代表向量,h为历史对话代表向量,o为知识编码表示向量,wkg为知识编码表示向量的权重矩阵。

预测模块206,用于将所述知识编码表示向量和所述当前对话信息中各个分词的词向量输入到第一长短期记忆模型中,以得到所述当前对话信息的预测序列标签。

匹配模块208,用于根据所述预测序列标签得到对应的语义信息,根据所述语义信息与预设的操作信息匹配,得到对应的操作信息。

执行模块210,用于执行与对应的操作信息对应的操作,输出操作结果至客户端。

实施例三

参阅图6,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及基于长短期记忆网络的多轮对话语义分析系统20。其中:

本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的基于长短期记忆网络的多轮对话语义分析系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器22在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于长短期记忆网络的多轮对话语义分析系统20,以实现实施例一的基于长短期记忆网络的多轮对话语义分析方法。

所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。

需要指出的是,图6仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。

在本实施例中,存储于存储器21中的所述基于长短期记忆网络的多轮对话语义分析系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。

例如,图5示出了所述实现基于长短期记忆网络的多轮对话语义分析系统20实施例二的程序模块示意图,该实施例中,所述基于长短期记忆网络的多轮对话语义分析系统20可以被划分为获取模块200、第一生成模块202、第二生成模块204、预测模块206、匹配模块208和执行模块210。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述基于长短期记忆网络的多轮对话语义分析系统20在所述计算机设备2中的执行过程。所述程序模块200-210的具体功能在实施例二中已有详细描述,在此不再赘述。

实施例四

本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储基于长短期记忆网络的多轮对话语义分析系统20,被处理器执行时实现实施例一的基于长短期记忆网络的多轮对话语义分析方法。

相较于现有技术,本发明实施例提供的基于长短期记忆网络的多轮对话语义分析方法、系统、计算机设备及计算机可读存储介质,获取当前对话信息之后,根据当前对话信息生成当前对话代表向量,再根据当前对话代表向量和预先获取的多个历史对话编码向量,生成知识编码表示向量,再将知识编码表示向量和当前对话信息中各个分词的词向量输入到长短期记忆模型中,以得到当前对话信息的预测序列标签,再根据预测序列标签得到对应的语义信息,并根据语义信息执行相应的操作。因此,本发明实施例可以精确理解对话信息,并可以解决多轮对话的歧义以及针对新对话预测能力差的问题。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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