本说明书涉及计算机技术领域,特别涉及一种语义识别方法、装置、计算设备及计算机可读存储介质。
背景技术:
意图识别和槽位填充是语言理解系统(spokenunderstandingsystem)重要的子任务,通过对分析语句进行文本分类和序列标注得到分析语句的意图及槽位信息,能够实现计算机对人类问题智能理解,在智能问答等领域具有重要的应用价值。然而,现有的语义识别神经网络在进行意图识别及槽位填充时往往耗费大量人工资源,规则之间容易互相负面影响,且在不同领域之间无法实现迁移,同时,在进行语义分析之前没有考虑到分析语句中各分词为关键信息词的概率,以及在前置任务出错后继续传播导致预测失败的问题,使得现有的语义识别神经网络在意图识别和槽位填充上的准确性较低。
技术实现要素:
有鉴于此,本说明书实施例提供了一种语义识别方法、装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种语义识别方法,包括:
获取用户的目标分析语句对应的特征向量序列;
将所述目标分析语句对应的特征向量序列输入至预设的语义识别模型的共享层,获取所述目标分析语句对应的第一时序输出序列;
将所述第一时序输出序列输入至所述语义识别模型的信息识别层,通过所述信息识别层将第一时序输出序列进行分类,生成所述目标分析语句对应的槽位概率序列;
基于所述第一时序输出序列和所述槽位概率序列预测出所述目标分析语句对应的意图和槽位信息序列。
根据本说明书实施例的第二方面,提供了一种语义识别模型训练方法,包括:
获取训练样本集合,其中,所述训练样本集合包括多个样本对,每个所述样本对包括样本分析语句以及对应的训练标签,所述训练标签包括所述样本分析语句对应的意图标签和槽位信息序列标签以及槽位概率序列标签;
通过所述训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型使得所述样本分析语句和所述训练标签相关联。
根据本说明书实施例的第三方面,提供了一种语义识别装置,包括:
语句嵌入模块,被配置为获取用户的目标分析语句对应的特征向量序列;
共享模块,被配置为将所述目标分析语句对应的特征向量序列输入至预设的语义识别模型的共享层,获取所述目标分析语句对应的第一时序输出序列;
信息识别模块,被配置为将所述第一时序输出序列输入至所述语义识别模型的信息识别层,通过所述信息识别层将第一时序输出序列进行分类,生成所述目标分析语句对应的槽位概率序列;
语义分析模块,被配置为基于所述第一时序输出序列和所述槽位概率序列预测出所述目标分析语句对应的意图和槽位信息序列。
根据本说明书实施例的第四方面,提供了一种语义识别模型训练装置,包括:
样本获取模块,被配置为获取训练样本集合,其中,所述训练样本集合包括多个样本对,每个所述样本对包括样本分析语句以及对应的训练标签,所述训练标签包括所述样本分析语句对应的意图标签和槽位信息序列标签以及槽位概率序列标签;
模型训练模块,被配置为通过所述训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型使得所述样本分析语句和所述训练标签相关联。
根据本说明书实施例的第五方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述语义识别方法的步骤。
根据本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述语义识别方法的步骤。
本申请将复杂的槽位填充问题拆分为相对简单的槽位词识别问题和槽位词分类问题,通过在对用户的目标分析语句进行语义分析之前,优先判断所述目标分析语句中每个词语为关键词槽位信息的概率,实现了对槽位填充中的槽位词识别问题的优先处理,同时,通过将所述目标分析语句对应的槽位概率序列与第一时序输出序列进行融合作为后续意图识别和槽位填充的输入信息,从而在处理槽位词分类问题时得到准确度较高的输入信息,并为模型在进行意图识别和槽位词分类问题的计算时提供有益参考和正向引导,本申请的语义识别模型无需人工进行规则的提取,减少了人工资源的耗费,实现了不同领域之间的迁移,提高了语义分析的预测准确率和可靠性。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的语义识别方法的流程图;
图3是本申请实施例提供的语义识别模型的拓扑结构示意图;
图4是本申请另一实施例提供的语义识别模型的拓扑结构示意图;
图5是本申请实施例提供的信息识别层的拓扑结构示意图;
图6是本申请实施例提供的语义识别方法的另一流程图;
图7是本申请实施例提供的语义识别方法的另一流程图;
图8是本申请实施例提供的语义识别模型训练方法的流程图;
图9是本申请实施例提供的语义识别装置的结构示意图;
图10是本申请实施例提供的语义识别模型训练装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
自然语言处理:nlp(naturallanguageprocessing)是计算机科学,人工智能和语言学的交叉领域,目标是让计算机处理或“理解”自然语言,以执行语言翻译和问题回答等任务。
语义识别:语义识别是自然语言处理技术的重要组成部分之一,语义识别的核心除了理解文本词汇的含义,还包括理解这个词语在语句和篇章中所代表的意思,语义识别从技术上要做到文本、词汇、句法、词法以及篇章层面的语义分析和歧义消除,以及对应的含义重组,以达到识别本身的目的。
意图识别:识别一种行为的意图,判断用户的输入是想要做什么,是问答机器人最重要的组成部分,意图识别往往由两个重要方向组成:基于检索的意图识别:类似于搜索引擎,机器人检索自己的知识库并返回最能回答用户问题的答案;基于文本分类的意图识别算法:使用知识库的知识点训练文本分类模型并使用文本分类模型对用户的问题进行分类得到知识点并返回知识点相应的答案。
槽位填充:从用户输入的信息中将既定的结构化字段提取出来,从而对后续的处理流程给与更加准确的反馈。
卷积神经网络:cnn(convolutionalneuralnetwork)是一类包含卷积计算且具有深度结构的前馈神经网络,用于从输入图像中提取序列特征表示。
循环神经网络:rnn(recurrentneuralnetwork)是一种人工神经网络,它通过节点之间的连接构成了一个有向图,用于展示序列数据的动态行为。
双向长短期记忆网络:bilstm(bi-directionallongshort-termmemory)是由前向lstm与后向lstm组合而成的时间递归神经网络,它是rnn的一种,由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。
在本申请中,提供了一种语义识别方法、装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的语义识别方法的示意性流程图,包括步骤201至步骤204:
步骤201:获取用户的目标分析语句对应的特征向量序列。
在本申请的实施例中,系统获取用户输入的目标分析语句,所述目标分析语句可以是一段中文或英文的原始语料,例如“今天北京的天气怎么样”以及“thestudypublishedonmondayintheproceedings”等等,系统在获取所述目标分析语句之后进行词嵌入(wordembedding),根据预设的规则将所述目标分析语句进行编码,转化为维度相同的特征向量并组成特征向量序列即所述目标分析语句对应的特征矩阵。
步骤202:将所述目标分析语句对应的特征向量序列输入至预设的语义识别模型的共享层,获取所述目标分析语句对应的第一时序输出序列。
在本申请的实施例中,系统预设有基于人工神经网络(artificialneuralnetwork)的语义识别模型,所述语义识别模型包括基于循环神经网络(rnn)形成的共享层(sharedlayer),系统所述目标分析语句对应的特征向量序列输入至所述共享层挖掘所述目标分析语句包含的序列信息,对所述目标分析语句对应的特征向量序列进行序列信息表征,得到所述目标分析语句对应时序性向量特征表达即所述第一时序输出序列。
步骤203:将所述第一时序输出序列输入至所述语义识别模型的信息识别层,通过所述信息识别层将第一时序输出序列进行分类,生成所述目标分析语句对应的槽位概率序列。
在本申请的实施例中,所述语义识别模型包括信息识别层,系统将所述第一时序输出序列输入至所述信息识别层将所述第一时序输出序列由多维空间映射至低维空间并进行归一化提纯,得到所述目标分析语句中每个字符是否为关键信息的关键信息即槽位信息的概率,并生成所述目标分析语句对应的槽位概率序列。例如,在原始语料“今天北京的天气怎么样”和“thestudypublishedonmondayintheproceedings”中,对于字符“北京”、“天气”、“study”以及“monday”等,通过信息识别层可以得到每个字符为对应原始语料中的关键信息的概率,并且所述信息识别层根据每个字符为对应原始语料中的关键信息的概率生成所述目标分析语句对应的槽位概率序列。
步骤204:基于所述第一时序输出序列和所述槽位概率序列预测出所述目标分析语句对应的意图和槽位信息序列。
在本申请的实施例中,系统将所述第一时序输出序列和所述槽位概率序列进行软连接,即根据所述信息识别层预测得到的所述槽位概率序列与所述第一时序输出序列进行融合,从而对所述第一时序输出序列添加一个正向的参考因素,并将更新后的所述第一时序输出序列作为槽位填充(slotfilling)和意图识别(intentattention)的输入信息,从而预测出所述目标分析语句对应的意图和槽位信息序列。例如,对于原始语料“今天北京的天气怎么样”,系统通过槽位填充和意图识别可以判断出用户表达的意图是“询问天气”且询问的是地点(槽位)为“北京”时间(槽位)为“今天”的天气;对于原始语料“thestudypublishedonmondayintheproceedings”中,系统通过槽位填充和意图识别可以判断出用户表达的意图是“查找论文或研究”且查找的是时间(槽位)为“星期一”关键词(槽位)为“期刊”的论文或研究。
本申请将复杂的槽位填充问题拆分为相对简单的槽位词识别问题和槽位词分类问题,通过在对用户的目标分析语句进行语义分析之前,优先判断所述目标分析语句中每个词语为关键词槽位信息的概率,实现了对槽位填充中的槽位词识别问题的优先处理,同时,通过将所述目标分析语句对应的槽位概率序列与第一时序输出序列进行融合作为后续意图识别和槽位填充的输入信息,从而在处理槽位词分类问题时得到准确度较高的输入信息,并为模型在进行意图识别和槽位词分类问题的计算时提供有益参考和正向引导,本申请的语义识别模型无需人工进行规则的提取,减少了人工资源的耗费,实现了不同领域之间的迁移,提高了语义分析的预测准确率和可靠性。
本申请的语义识别模型测试数据与现有的语义识别模型的测试数据的对比情况如表1所示:
表1
在本申请的一个具体的实施例中,所述获取用户的目标分析语句对应的特征向量序列包括:
s2011、获取用户的目标分析语句。
在本申请的实施例中,系统获取用户的目标分析语句,所述目标分析语句可以是一段中文或英文的原始语料,例如“今天北京的天气怎么样”以及“thestudypublishedonmondayintheproceedings”等等。
s2012、对所述目标分析语句进行分词,得到所述目标分析语句对应的目标分词序列。
在本申请的实施例中,系统对所述目标分析语句进行分词(tokenize),得到所述目标分析语句对应的目标分词序列x=(x1,....,xt)。例如,对于原始语料“今天北京的天气怎么样”系统对该原始语料进行分词得到五个目标分词x1“今天”、目标分词x2“北京”、目标分词x3“的”、目标分词x4“天气”以及目标分词x5“怎么样”,并生成目标分词序列x=(x1,....,x5);对于原始语料“thestudypublishedonmondayintheproceedings”系统对该原始语料进行分词得到八个目标分词x1“china's”、目标分词x2“one”、目标分词x3“belt”、目标分词x4“one”、目标分词x5“road”、目标分词x6“triggers”、目标分词x7“policy”以及目标分词x8“change”,并生成目标分词序列x=(x1,....,x8)。
s2013、对所述目标分词序列中的每个目标分词进行向量化嵌入,得到每个所述目标分词对应的特征向量,生成所述目标分析语句对应的特征向量序列。
在本申请的实施例中,系统对所述目标分词序列中x的每个目标分词(x1,....,xt)采用随机初始化方法进行向量化嵌入(embedding),得到每个所述目标分词(x1,....,xt)对应的特征向量
在本申请的另一个具体的实施例中,如图3或图4所示,所述语义识别模型包括共享层,所述将所述目标分析语句对应的特征向量序列输入至预设的语义识别模型的共享层,获取所述目标分析语句对应的第一时序输出序列包括:
s2021、将所述目标分析语句对应的特征向量序列中的每个所述目标分词对应的特征向量依次输入至第一双向长短期记忆网络层,得到每个所述目标分词的特征向量对应的第一向前特征矩阵和第一向后特征矩阵。
在本申请的实施例中,双向长短期记忆网络是指bilstm(bi-directionallongshort-term),所述第一双向长短期记忆网络层包括前向长短期记忆网络模型和后向长短期记忆网络模型,系统将所述目标分析语句对应的特征向量序列
s2022、将每个所述目标分词的特征向量对应的第一向前特征矩阵和第一向后特征矩阵进行拼接,得到每个所述目标分词对应的第一隐层状态向量。
在本申请的实施例中,所述第一双向长短期记忆网络层将每个所述目标分词的特征向量对应
s2023、根据每个所述目标分词对应的第一隐层状态向量生成所述目标分析语句对应的第一时序输出序列。
在本申请的实施例中,系统根据每个所述目标分词对应的第一隐层状态向量向量h1i,其中所述1≤i≤t,生成所述目标分析语句对应的第一时序输出序列h1=(h11,....,h1t)。
在本申请的另一个具体的实施例中,如图5和图6所示,所述语义识别模型包括信息识别层,所述信息识别层包括第二双向长短期记忆网络层、全连接层和归一化层,通过所述信息识别层将所述第一时序输出序列进行分类,生成所述目标分析语句对应的槽位概率序列包括步骤601至步骤604:
步骤601:将所述目标分析语句对应的第一时序输出序列中的每个所述目标分词对应的第一隐层状态向量依次输入至所述第二双向长短期记忆网络层,得到每个所述目标分词的第一隐层状态向量对应的第二向前特征矩阵和第二向后特征矩阵。
在本申请的实施例中,将所述目标分析语句对应的第一时序输出序列h1=(h11,....,h1t)中的每个所述目标分词对应的第一隐层状态向量h1i依次输入至所述第二双向长短期记忆网络层,得到每个所述目标分词的第一隐层状态向量h1i对应的第二向前特征矩阵
步骤602:将每个所述目标分词的第一隐层状态向量对应的第二向前特征矩阵和第二向后特征矩阵进行拼接,得到每个所述目标分词对应的第二隐层状态向量。
在本申请的实施例中,所述第二双向长短期记忆网络层将每个所述第一隐层状态向量h1i对应的第二向前特征矩阵
步骤603:将每个所述目标分词对应的第二隐层状态向量经过所述全连接层进行分类,并通过所述归一化层进行归一化,得到每个所述目标分词为槽位信息的置信度向量。
在本申请的实施例中,系统将每个所述目标分词对应的第二隐层状态向量h2i经过所述全连接层(fullyconnectedlayers)由多维向量映射至低维向量然后进行分类,在所述全连接层中包含有槽位信息的全部特征,将每个所述目标分词对应的第二隐层状态向量h2i由n×1的矩阵向量映射为2×1的输出矩阵向量,然后通过所述归一化层对所述输出矩阵向量进行归一化,得到每个所述目标分词为槽位信息的置信度向量fi,所述置信度向量fi=(f1,f2),其中所述1≤i≤t,所述f1为所述目标分词是槽位信息的概率,所述f2为所述目标分词不是槽位信息的概率,若f1大于f2,则判断所述目标分词为槽位信息即重要信息。例如,对于原始语料“今天北京的天气怎么样”,其中目标分词x4“天气”的置信度向量f4=(0.8,0.2),则所述目标分词x4“天气”是槽位信息即重要信息,目标分词x3“的”的置信度向量f3=(0.1,0.9),则所述目标分词x3“的”不是槽位信息即重要信息。
步骤604:根据所述每个所述目标分词为槽位信息的置信度向量生成所述目标分析语句对应的槽位概率序列。
在本申请的实施例中,系统根据述每个所述目标分词为槽位信息的置信度向量fi生成所述目标分析语句对应的槽位概率序列f=(f1,....,ft)。
本申请的信息识别层通过第二双向长短期记忆网络层、全连接层和归一化层对第一时序输出序列进行关键信息识别,判断出目标分析语句中的关键词即槽位信息,实现了对槽位填充中的槽位词识别问题的优先处理,对后续的槽位填充问题中的槽位词分类处理提供了正面的影响,提高了预测的准确率。
在本申请的另一个具体的实施例中,如图7所示,所述基于所述第一时序输出序列和所述槽位概率序列预测出所述目标分析语句对应的意图和槽位信息序列包括步骤701至步骤703:
步骤701:将所述第一时序输出序列与所述槽位概率序列进行拼接,得到所述目标分析语句对应的第二时序输出序列。
在本申请的实施例中,所述将所述第一时序输出序列与所述槽位概率序列进行拼接,得到所述目标分析语句对应的第二时序输出序列包括:
s7011、将每个所述目标分词对应的置信度向量和第一隐层状态向量进行向量拼接,得到每个所述目标分词对应的时序输出向量。
在本申请的实施例中,系统将每个所述目标分词对应的置信度向量fi和第一隐层状态向量h1i进行向量拼接,得到每个所述目标分词对应的时序输出向量wi,即假设所述第一隐层状态向量h1i为n×1的矩阵向量,所述置信度向量fi为2×1的矩阵向量,则所述时序输出向量wi为(n+2)×1的矩阵向量。例如,对于原始语料“今天北京的天气怎么样”,其中所述目标分词x4“天气”的置信度向量f4=(0.8,0.2),目标分词x4“天气”的第一隐层状态向量h1i为120×1的矩阵向量,则所述目标分词x4“天气”对应的时序输出向量w4为122×1的矩阵向量。
s7012、根据每个所述目标分词对应的时序输出向量生成所述第二时序输出序列。
在本申请的实施例中,系统根据每个所述目标分词对应的时序输出向量wi生成所述目标分析语句对应的第二时序输出序列h2=(w1,....,wt)。
步骤702:将所述第二时序输出序列输入至所述语义识别模型的意图识别层,获取所述目标分析语句对应的意图。
在本申请的实施例中,如图3或图4所示,系统所述第二时序输出序列h2=(w1,....,wt)输入至所述语义识别模型的意图识别层,获取所述目标分析语句对应的意图yi。具体的,将所述第二时序输出序列输入至所述语义识别模型的意图识别层,获取所述目标分析语句对应的意图包括:
s7021、根据所述第二时序输出序列确定所述目标分析语句对应的意图上下文向量。
在本申请的实施例中,所述意图上下文向量ci作为第二时序输出序列h2的权重集合通过下述公式计算得到:
其中,
s7022、基于所述第二时序输出序列的末端输出状态和所述意图上下文向量,通过权重矩阵和柔性最大值函数确定所述目标分析语句在预设的意图分类序列中对应每个意图类别的概率。
在本申请的实施例中,所述目标分析语句在预设的意图分类序列中对应每个意图类别的概率通过下述公式计算得到:
其中,
s7023、将所述意图分类序列中得分最高的所述意图类别确定为所述目标分析语句对应的意图。
步骤703:将所述第二时序输出序列输入至所述语义识别模型的槽位填充层,得到所述目标分析语句对应的槽位信息序列。
在本申请的实施例中,系统将所述第二时序输出序列h2=(w1,....,wt)输入至所述语义识别模型的槽位填充层,得到所述目标分析语句对应的槽位信息序列
可选的,如图3所示,在所述语义识别模型包括槽位注意力机制的情况下,将所述第二时序输出序列输入至所述语义识别模型的槽位填充层,得到所述目标分析语句对应的槽位信息序列包括:
s70311、基于所述第二时序输出序列确定所述目标分析语句对应的意图上下文向量和槽位上下文向量。
在本申请的实施例中,系统基于所述第二时序输出序列h2确定所述目标分析语句对应的意图上下文向量ci和槽位上下文向量
其中,为
s70312、基于所述意图上下文向量和所述槽位上下文向量确定所述目标分析语句对应的加权特征值。
在本申请的实施例中,系统基于所述意图上下文向量ci和槽位上下文向量
其中,υ和w分别为可训练的向量和矩阵。
s70313、基于所述槽位上下文向量、加权特征值以及所述第二时序输出序列,通过权重矩阵和柔性最大值函数确定所述第二时序输出序列中每个时序输出向量的槽位标签。
在本申请的实施例中,系统基于所述槽位上下文向量
其中,
s70314、根据所述第二时序输出序列中每个时序输出向量的槽位标签生成所述目标分析语句对应的槽位信息序列。
可选的,如图4所示,在所述语义识别模型未包括槽位注意力机制的情况下,将所述第二时序输出序列输入至所述语义识别模型的槽位填充层,得到所述目标分析语句对应的槽位信息序列包括:
s70321、基于所述第二时序输出序列确定所述目标分析语句对应的意图上下文向量和槽位上下文向量。
在本申请的实施例中,系统基于所述第二时序输出序列h2确定所述目标分析语句对应的意图上下文向量ci和槽位上下文向量
s70322、基于所述意图上下文向量和所述槽位上下文向量确定所述目标分析语句对应的加权特征值。
在本申请的实施例中,系统基于所述意图上下文向量ci和槽位上下文向量
其中,υ和w分别为可训练的向量和矩阵。
s70323、基于所述加权特征值以及所述第二时序输出序列,通过权重矩阵和柔性最大值函数确定所述第二时序输出序列中每个时序输出向量的槽位标签。
在本申请的实施例中,系统基于所述加权特征值g以及所述第二时序输出序列h2,通过权重矩阵和柔性最大值函数(softmax)确定所述第二时序输出序列h2中每个时序输出向量wi的槽位标签
其中,
s70324、根据所述第二时序输出序列中每个时序输出向量的槽位标签生成所述目标分析语句对应的槽位信息序列。
本申请通过将所述目标分析语句对应的槽位概率序列与第一时序输出序列进行向量拼接得到第二时序输出序列,类似于手动特征,使得所述槽位概率序列与第一时序输出序列中包含的信息均可以体现在第二时序输出序列中,使得第二时序输出序列作为后续意图识别和槽位填充的输入信息具有较高的可靠性和准确性。
本申请通过在进行槽位填充和意图识别计算时引入加权特征值g,提升了模型进行槽位填充的表现和可靠性,将意图识别的结果通过加权特征值g对槽位填充实现了正向引导。
其中,处理器120可以执行图8所示方法中的步骤。图8是示出了根据本申请一实施例的语义识别模型训练方法的示意性流程图,包括步骤801至步骤802:
步骤801:获取训练样本集合,其中,所述训练样本集合包括多个样本对,每个所述样本对包括样本分析语句以及对应的训练标签,所述训练标签包括所述样本分析语句对应的意图标签和槽位信息序列标签以及槽位概率序列标签。
步骤802:通过所述训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型使得所述样本分析语句和所述训练标签相关联。
本申请的语义识别模型训练方法通过训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型在对用户的目标分析语句进行语义分析时,将复杂的槽位填充问题拆分为相对简单化的槽位词识别问题和槽位词分类问题,先进行槽位词即关键信息的识别和判断,然后在进行意图识别和槽位词分类,使得信息识别层的结果能够对复杂的槽位填充模型的结果产生有益的影响,提高了预测的准确性和可靠性。
在本申请的实施例中,通过所述训练样本集合对语义识别模型进行训练包括。
s8021、获取所述样本对中的所述样本分析语句对应的预测结果和训练标签。
在本申请的实施例中,获取所述样本对中所述样本分析语句对应的预测结果包括。
s80211、获取所述样本对中所述样本分析语句对应的预测意图。
s80212、获取所述样本对中所述样本分析语句对应的预测槽位信息序列。
s80213、获取所述样本分析语句中的每个样本分词的置信度向量。
s8022、确定所述样本分析语句对应的预测结果与所述训练标签的交叉熵,根据所述交叉熵得到所述语义识别模型的损失函数。
在本申请的实施例中,确定所述样本分析语句对应的预测结果与所述训练标签的交叉熵包括。
s80221、确定所述样本对中所述样本分析语句的预测意图与对应的意图标签的交叉熵。
s80222、确定所述样本对中所述样本分析语句的预测槽位信息序列与对应的槽位信息序列标签的交叉熵。
s80223、确定所述样本分析语句中的每个样本分词的置信度向量与所述槽位概率序列标签的交叉熵。
s8023、根据所述损失函数对所述语义识别模型的参数进行调整直至所述语义识别模型满足训练停止条件。
本申请通过利用交叉熵得到所述语义识别模型的损失函数,通过损失函数对模型的参数进行优化,即使在进行槽位概率序列与第一时序输出序列进行向量拼接时拼入了错误的信息,语义识别模型也会利用参数优化的过程自动将错误的信息屏蔽掉,即采用软连接的方法防止信息识别层的错位向后传播,进而使得模型通过参数的优化实现对目标分词置信度的选择,从而提高了模型的相关测评参数,例如意图识别准确率、槽位信息识别值和槽位与意图正确率。
与上述方法实施例相对应,本说明书还提供了语义识别装置实施例,图9示出了本说明书一个实施例的语义识别装置的结构示意图。如图9所示,该装置包括。
语句嵌入模块901,被配置为获取用户的目标分析语句对应的特征向量序列;
共享模块902,被配置为将所述目标分析语句对应的特征向量序列输入至预设的语义识别模型的共享层,获取所述目标分析语句对应的第一时序输出序列。
信息识别模块903,被配置为将所述第一时序输出序列输入至所述语义识别模型的信息识别层,通过所述信息识别层将第一时序输出序列进行分类,生成所述目标分析语句对应的槽位概率序列;
语义分析模块904,被配置为基于所述第一时序输出序列和所述槽位概率序列预测出所述目标分析语句对应的意图和槽位信息序列。
可选的,所述语句嵌入模块901包括:
获取单元,被配置为获取用户的目标分析语句;
分词单元,被配置为对所述目标分析语句进行分词,得到所述目标分析语句对应的目标分词序列;
嵌入单元,被配置为对所述目标分词序列中的每个目标分词进行向量化嵌入,得到每个所述目标分词对应的特征向量,生成所述目标分析语句对应的特征向量序列。
可选的,所述共享模块902包括:
第一循环单元,被配置为将所述目标分析语句对应的特征向量序列中的每个所述目标分词对应的特征向量依次输入至第一双向长短期记忆网络层,得到每个所述目标分词的特征向量对应的第一向前特征矩阵和第一向后特征矩阵;
第一记忆单元,被配置为将每个所述目标分词的特征向量对应的第一向前特征矩阵和第一向后特征矩阵进行拼接,得到每个所述目标分词对应的第一隐层状态向量;
第一时序单元,被配置为根据每个所述目标分词对应的第一隐层状态向量生成所述目标分析语句对应的第一时序输出序列。
可选的,所述信息识别模块903包括:
第二循环单元,被配置为将所述目标分析语句对应的第一时序输出序列中的每个所述目标分词对应的第一隐层状态向量依次输入至所述第二双向长短期记忆网络层,得到每个所述目标分词的第一隐层状态向量对应的第二向前特征矩阵和第二向后特征矩阵;
第二记忆单元,被配置为将每个所述目标分词的第一隐层状态向量对应的第二向前特征矩阵和第二向后特征矩阵进行拼接,得到每个所述目标分词对应的第二隐层状态向量;
分类单元,被配置为将每个所述目标分词对应的第二隐层状态向量经过所述全连接层进行分类,并通过所述归一化层进行归一化,得到每个所述目标分词为槽位信息的置信度向量;
第一序列生成单元,被配置为根据所述每个所述目标分词为槽位信息的置信度向量生成所述目标分析语句对应的槽位概率序列。
可选的,语义分析模块904包括:
第二时序单元,被配置为将所述第一时序输出序列与所述槽位概率序列进行拼接,得到所述目标分析语句对应的第二时序输出序列;
意图识别单元,被配置为将所述第二时序输出序列输入至所述语义识别模型的意图识别层,获取所述目标分析语句对应的意图;
槽位填充单元,被配置为将所述第二时序输出序列输入至所述语义识别模型的槽位填充层,得到所述目标分析语句对应的槽位信息序列。
可选的,所述第二时序单元包括:
向量拼接单元,被配置为将每个所述目标分词对应的置信度向量和第一隐层状态向量进行向量拼接,得到每个所述目标分词对应的时序输出向量;
第二序列生成单元,被配置为根据每个所述目标分词对应的时序输出向量生成所述第二时序输出序列。
可选的,所述意图识别单元包括:
第一意图确定单元,被配置为根据所述第二时序输出序列确定所述目标分析语句对应的意图上下文向量;
第二意图确定单元,被配置为基于所述第二时序输出序列的末端输出状态和所述意图上下文向量,通过权重矩阵和柔性最大值函数确定所述目标分析语句在预设的意图分类序列中对应每个意图类别的概率;
第三意图确定单元,被配置为将所述意图分类序列中得分最高的所述意图类别确定为所述目标分析语句对应的意图。
可选的,所述槽位填充单元包括:
第一槽位确定单元,被配置为基于所述第二时序输出序列确定所述目标分析语句对应的意图上下文向量和槽位上下文向量;
第二槽位确定单元,被配置为基于所述意图上下文向量和所述槽位上下文向量确定所述目标分析语句对应的加权特征值;
第三槽位确定单元,被配置为基于所述槽位上下文向量、加权特征值以及所述第二时序输出序列,通过权重矩阵和柔性最大值函数确定所述第二时序输出序列中每个时序输出向量的槽位标签;
第四槽位确定单元,被配置为根据所述第二时序输出序列中每个时序输出向量的槽位标签生成所述目标分析语句对应的槽位信息序列。
可选的,第三槽位确定单元还被配置为基于所述加权特征值以及所述第二时序输出序列,通过权重矩阵和柔性最大值函数确定所述第二时序输出序列中每个时序输出向量的槽位标签。
本申请的语义识别装置通过本申请将复杂的槽位填充问题拆分为相对简单的槽位词识别问题和槽位词分类问题,通过在对用户的目标分析语句进行语义分析之前,优先判断所述目标分析语句中每个词语为关键词槽位信息的概率,实现了对槽位填充中的槽位词识别问题的优先处理,同时,通过将所述目标分析语句对应的槽位概率序列与第一时序输出序列进行融合作为后续意图识别和槽位填充的输入信息,从而在处理槽位词分类问题时得到准确度较高的输入信息,并为模型在进行意图识别和槽位词分类问题的计算时提供有益参考和正向引导,本申请的语义识别模型无需人工进行规则的提取,减少了人工资源的耗费,实现了不同领域之间的迁移,提高了语义分析的预测准确率和可靠性。
与上述方法实施例相对应,本说明书还提供了语义识别模型训练装置实施例,图10示出了本说明书一个实施例的语义识别模型训练装置的结构示意图。如图10所示,该装置包括:
样本获取模块1001,被配置为获取训练样本集合,其中,所述训练样本集合包括多个样本对,每个所述样本对包括样本分析语句以及对应的训练标签,所述训练标签包括所述样本分析语句对应的意图标签和槽位信息序列标签以及槽位概率序列标签;
模型训练模块1002,被配置为通过所述训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型使得所述样本分析语句和所述训练标签相关联。
可选的,所述模型训练模块1002包括:
结果获取单元,被配置为获取所述样本对中的所述样本分析语句对应的预测结果和训练标签;
交叉熵单元,被配置为确定所述样本分析语句对应的预测结果与所述训练标签的交叉熵,根据所述交叉熵得到所述语义识别模型的损失函数;
优化单元,被配置为根据所述损失函数对所述语义识别模型的参数进行调整直至所述语义识别模型满足训练停止条件。
可选的,所述结果获取单元包括:
第一结果获取子单元,被配置为获取所述样本对中所述样本分析语句对应的预测意图;
第二结果获取子单元,被配置为获取所述样本对中所述样本分析语句对应的预测槽位信息序列;
第三结果获取子单元,被配置为获取所述样本分析语句中的每个样本分词的置信度向量;
可选的,所述交叉熵单包括:
第一交叉熵计算单元,被配置为确定所述样本对中所述样本分析语句的预测意图与对应的意图标签的交叉熵;
第二交叉熵计算单元,被配置为确定所述样本对中所述样本分析语句的预测槽位信息序列与对应的槽位信息序列标签的交叉熵;
第三交叉熵计算单元,被配置为确定所述样本分析语句中的每个样本分词的置信度向量与所述槽位概率序列标签的交叉熵。
本申请的语义识别模型训练装置通过训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型在对用户的目标分析语句进行语义分析时,将复杂的槽位填充问题拆分为相对简单化的槽位词识别问题和槽位词分类问题,先进行槽位词即关键信息的识别和判断,然后在进行意图识别和槽位词分类,使得信息识别层的结果能够对复杂的槽位填充模型的结果产生有益的影响,提高了预测的准确性和可靠性。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
获取用户的目标分析语句对应的特征向量序列;
将所述目标分析语句对应的特征向量序列输入至预设的语义识别模型的共享层,获取所述目标分析语句对应的第一时序输出序列;
将所述第一时序输出序列输入至所述语义识别模型的信息识别层,通过所述信息识别层将第一时序输出序列进行分类,生成所述目标分析语句对应的槽位概率序列;
基于所述第一时序输出序列和所述槽位概率序列预测出所述目标分析语句对应的意图和槽位信息序列。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
获取训练样本集合,其中,所述训练样本集合包括多个样本对,每个所述样本对包括样本分析语句以及对应的训练标签,所述训练标签包括所述样本分析语句对应的意图标签和槽位信息序列标签以及槽位概率序列标签;
通过所述训练样本集合对语义识别模型进行训练,得到所述语义识别模型,所述语义识别模型使得所述样本分析语句和所述训练标签相关联。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述语义识别方法和语义识别模型训练方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该计算机可读存储介质的技术方案与上述的语义识别方法的技术方案属于同一构思,计算机可读存储介质的技术方案未详细描述的细节内容,均可以参见上述语义识别方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。