基于拼音的语义识别方法、装置以及人机对话系统与流程

文档序号:15462423发布日期:2018-09-18 18:29阅读:339来源:国知局

本发明的实施例涉及人机对话领域,具体涉及一种语义识别方法、装置以及人机对话系统。



背景技术:

随着网络智能设备数量的迅猛发展,设备的形态也各种各样,交互方式也各有不同,尤其随着语音识别技术公司的崛起,语音识别技术越来越成熟,应用的范围也越来越广,基于语音的人机交互方式被普遍作为更加自然的人机交互方式。在实际运用过程中,目前语音识别功能一般都是将语音信号转换为文本信息,但是很难保证其准确率,有时识别结果返回的是发音相似的词,但是词义却差别很大,就会造成后续进行语义理解时更加不准确。语音识别作为整个对话系统的前端输入,其准确性对后面的处理有很大的影响;比如“这幅画是哪年画的”有时被识别为“这幅画是打电话的”,“哪年画的”有时被识别为“那年画的”等情况,这会导致后面的语义理解无法找到正确的答案。

另外针对文本输入的系统,比如搜索引擎,使用拼音输入法的用户很多,经常出现拼写错字的情况,这也是由于音近但是意义不同,导致无法进行准确的搜索。

现在有一些利用深度学习方法的语音识别后处理的技术方案,其主要是利用训练错词对检测模型,对目标词与通用词典配对并逐一判断是否符合模型中的错词对特征。如果检测结果是一个正确的错词对,则会替换错词。此方法实现步骤比较繁琐,并且处理易错词对需要人为标注,进一步增大了成本。

可见,本领域中需要一种能够改进语音识别和拼音输入的准确率的技术方案。



技术实现要素:

在本发明的一个方面,提供了一种语义识别方法,包括:获得待识别语句中的词的拼音序列;使用词嵌入模型获得所述拼音序列中的每个拼音片段的词向量;将所述拼音序列中的每个拼音片段的词向量组合成为所述待识别语句的句向量;将所述待识别语句的句向量输入到神经网络,获得所述待识别语句的输出向量;通过比较所述待识别语句的输出向量与参考语句的输出向量来识别所述待识别语句与所述参考语句是否在语义上相似;以及响应于识别所述待识别语句与所述参考语句在语义上相似,将所述参考语句的语义作为所述待识别语句的语义。

在本发明的另一个方面,提供了一种语义识别装置,包括:拼音序列获得模块,其被配置为获得待识别语句中的词的拼音序列;词嵌入模块,其被配置为使用词嵌入模型获得所述拼音序列中的每个拼音片段的词向量;句向量获得模块,其被配置为将所述拼音序列中的每个拼音片段的词向量组合成为所述待识别语句的句向量;神经网络模块,其被配置为将所述待识别语句的句向量输入到神经网络,获得所述待识别语句的输出向量;语义识别模块,其被配置为通过比较所述待识别语句的输出向量与参考语句的输出向量来识别所述待识别语句与所述参考语句是否在语义上相似,以及响应于识别所述待识别语句与所述参考语句在语义上相似,将所述参考语句的语义作为所述待识别语句的语义。

在本发明的又一个方面,还提供了一种人机对话系统,包括:语音获取装置,其被配置为获取用户发出的语句的语音信息;语音识别装置,其被配置为对所获取的语音信息进行语音识别,以获得对应于所述语音信息的文本信息;以及根据本发明的任何一个实施例所述的语义识别装置,其中,所述语义识别装置中的拼音序列获得模块进一步被配置为将所述语音识别装置获得的文本信息转换为所述语句中的词的拼音序列;以及所述语义识别装置中的语义识别模块进一步被配置为响应于识别所述语句与参考语句在语义上相似,获得与所述参考语句关联的答案,并将所述答案输出给用户。

在本发明的再一个方面,还提供了一种计算机可读存储介质,其存储有机器可执行代码指令,所述机器可执行代码指令当被机器执行时使得该机器执行根据本发明的任何一个实施例所述的语义识别方法。

在本发明的再一个方面,还提供了一种计算机系统,其包括处理器和与处理器相连接的存储器,所述存储器中存储有程序指令,所述处理器被配置为通过加载和执行所述存储器中的程序指令而执行根据本发明的任何一个实施例所述的语义识别方法。

根据本发明的实施例的技术方案,通过将用户语音输入或拼音输入的语句转换为拼音序列,使用拼音序列对词嵌入模型和神经网络进行训练和相似度对比,能够匹配到发音相似度高的拼音序列,去除中间语音识别或者拼写过程中出现词义不同的词所造成的干扰,从而提高了语音理解的准确率。此外,根据本发明的实施例的技术方案所需的预处理步骤简单而高效,因此是一种低成本的解决方案。

附图说明

图1示出了根据本发明的实施例的语义识别方法和装置可在其中实现的示例性人机对话系统的示意性结构图;

图2示出了如图1所示的人机对话系统的示意性对话流程;

图3示出了根据本发明的实施例的语义识别方法;

图4示出了根据本发明的实施例的语义识别方法中针对所述词嵌入模型的示意性训练过程;

图5示出了根据本发明的实施例的语义识别方法中针对所述神经网络的示意性训练过程;以及

图6示出了根据本发明的实施例的语义识别装置的示意性结构框图。

具体实施方式

为使本领域的技术人员更好地理解本发明的解决方案,下面结合附图和具体实施方式对本发明的实施例所提供的语义识别方法、装置以及人机对话系统作进一步详细描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

现参照图1,其示出了根据本发明的实施例的语义识别方法和装置可在其中实现的一种示例性人机对话系统100的示意性结构图。

如图1中所示,所述人机对话系统可以包括智能终端单元110,语音识别服务器120,web服务器130和语义服务器140。

所述智能终端单元110可以是诸如个人计算机、智能手机、平板计算机等智能终端,其可以具有语音采集功能,从而可采集用户的语音信息;网络通信功能,从而可将所采集的语音信息发送到语音识别单元120进行处理,并可将识别出的信息发送到web服务器130;以及一定的计算存储功能,从而能进行与语音信息的采集发送以及其他功能相关的存储和计算。

所述语音识别单元120可以是一具有语音识别功能的服务器计算机系统,其可以使用第三方语音识别服务,比如科大讯飞、百度等的语音识别功能。当所述智能终端单元110将采集到的语音信息发送给语音识别单元120后,语音识别单元120对该语音信息经过语音识别,产生对应的文本信息,并将所述文本信息返回到所述智能终端单元110。

在一些实施例中,所述智能终端单元110本身可带有语音识别功能,且在这种情况下,所述人机对话系统100可不包括单独的所述语音识别单元120。

所述web服务器130可以是具有web服务功能并提供web访问接口的计算机系统,其接收所述智能终端单元110作为问题信息发送的所述文本信息,将所述文本信息发送给所述语义服务器140,并将所述语义服务器140作为答案返回的结果发给所述智能终端单元110。

所述语义服务器140可以是具有语义理解功能的计算机系统,其用于对问题信息进行处理,通过将所述问题信息与所存储的问题答案数据库中的各问题进行匹配,寻找所匹配的问题,从而所述问题信息进行识别,然后返回对应的答案。所述语义服务器140包括了提供语义理解服务的功能,以及提供语义理解所依赖的模型的模型训练的功能。在另一些实施例中,所述语义服务器140可仅包括语义理解服务功能,其使用训练好的模型来提供语义理解服务,而模型的训练可以位于另外一个单独的服务器上。

在一些实施例中,所述web服务器130和语义服务器140可以合并为单个服务器,并在单个计算机系统上实现。

所述智能终端单元110、语音识别单元120、web服务器130和语义服务器140可以通过网络相互通信连接。所述网络例如可以是因特网、局域网、广域网、内部网等任何一种或多个计算机网络和/或电信网络。

现参照图2,其示出了如图1所示的人机对话系统的示意性对话流程。如图2中所示,该对话流程包括如下步骤:

在步骤201,智能终端单元110通过麦克等采集语音信息,然后将采集到的语音信息通过网络发送到语音识别单元120。

在步骤202,语音识别单元120对智能终端单元110采集的语音信息进行语音识别,产生作为语音识别结果的文本信息(例如汉字文本信息),并将其返回给智能终端单元110。

在步骤203,智能终端单元110接收到作为语音识别结果的文本信息后,将其作为问题信息(例如封装成具有特定格式的问题信息)发送给web服务器130。

在步骤204,web服务器130从智能终端单元110发送的问题信息中获取所述文本信息,作为问题文本,并发送给语义服务器140。

在步骤205,语义服务器140收到问题文本后,通过将该问题文本与问题答案数据库中的问题进行匹配来进行语义识别,找到最匹配的问题,并返回相应答案。

在一些实施例中,根据本发明的实施例的语义识别方法和装置主要在所述对话系统100的语义服务器140中实现。

以上参照附图描述了根据本发明的实施例的语义识别方法和装置可以在其中实现的示例性对话系统100的组成和对话流程,应指出的是,以上描述仅为示例,而不是对本发明可在其中实现的系统的限制。例如,所述web服务器也可以由其他类型的服务器或本地计算机系统来实现;一些系统也可以不包括web服务器,而是由智能终端单元直接与语义服务器通信,等等。

根据本发明的实施例的语义识别方法和装置也可以在所述对话系统100之外的其他系统中实现。例如,根据本发明的实施例的语义识别方法和装置也可用于任何使用拼音输入法的场合,以对使用拼音输入法输入的文本(例如汉语文本)进行语义识别。例如,当使用拼音输入法在浏览器的搜索框中输入搜索文本时,或者使用拼音输入法在字处理应用中输入文本时,可以使用根据本发明的实施例的语义识别方法和装置对拼音输入法所输出的文本进行语义识别,以识别和/或替换其中的错字。在这种情况下,根据本发明的实施例的语义识别方法和装置可在其中应用的系统可以不包括语音识别服务器,但可以包括:用于接受用户的拼音输入并产生相应的文本信息的智能终端单元,用于接收来自智能终端单元的文本信息的web服务器,以及用于接收来自web服务器的文本信息、对该文本信息进行语义识别并返回语义识别结果的语义服务器。相应地,所述智能终端单元可以包括一个具有拼音输入法的装置,例如键盘、触摸屏等,从而可以利用拼音输入法输入文本,且可以不包括语音采集功能。

现参照图3,其示出了根据本发明的实施例的语义识别方法。该语义识别方法的至少一部分可以在例如图1中所示和以上所述的对话系统100中执行(例如主要由所述语义服务器140执行),也可以在其他系统(例如使用拼音输入法的系统)中执行。

如图3中所示,根据本发明的实施例的语义识别方法可包括以下步骤:

在步骤301,获得待识别语句中的词的拼音序列。该步骤301可以由例如图1中所示的对话系统100中的语义服务器140来执行,在这种情况下,所述语义服务器140获得来自web服务器130或智能终端单元110的用户语音的文本信息,并将其转换为相应的拼音序列。该步骤301也可以如下所述,由例如图1中所示的对话系统100中的语义服务器140、智能终端单元110、语音识别服务器120以及web服务器130共同执行。

所述待识别的语句中的词例如可以是汉语语句中的字或词,也可以是诸如英语等其他语言的语句中的单词等。

在一些示例性实施例中,所述获得待识别语句中的词的拼音序列的步骤301包括以下子步骤:获得用户通过拼音输入法输入的待识别语句中的词的拼音序列。该子步骤例如可以由使用拼音输入法的智能终端单元执行。

在另一些示例性实施例中,所述获得待识别语句中的词的拼音序列的步骤301包括以下子步骤:

子步骤1:获得用户发出的待识别语句的语音信息。该子步骤例如可以由所述对话系统100中的智能终端单元110执行。例如,智能终端单元110可以获得用户发出的语句“这幅画是哪年画的”的语音信息。

子步骤2:对所述语音信息进行语音识别,获得对应于所述语音信息的文本信息。该子步骤例如可以由所述对话系统100中的语音识别服务器120执行。例如,语音识别服务器120可以对语句“这幅画是哪年画的”的语音信息进行语音识别,获得“这幅画是哪年画的”的文本信息。

子步骤3:将所述文本信息转换为所述待识别语句中的词的拼音序列。该子步骤例如可以由所述对话系统100中的语义服务器140执行。例如,语义服务器140可以接收“这幅画是哪年画的”的文本信息,对其进行分词后转换为拼音序列“zhe fu hua shi na nian hua de”。

在步骤302,使用词嵌入模型获得所述拼音序列中的每个拼音片段的词向量。该步骤302例如可以由图1中所示的对话系统100的语义服务器140或其他系统中的语义服务器来执行。

在一些示例性实施例中,所述拼音序列中的每个拼音片段为所述拼音序列中对应于所述语句中的每个词的拼音片段。例如,拼音序列“zhe fu hua shi na nian hua de”中的每个拼音片段为“zhe”、“fu”、“hua”、“shi”、“na”、“nian”、“hua”、“de”。

在另一些示例性实施例中,在所述步骤302之前,所述方法还包括步骤303,在该步骤303中,将所述拼音序列中对应于所述语句中的每个词的拼音片段拆分为声母和韵母,作为所述拼音序列中的拼音片段。例如,拼音序列“zhe fu hua shi na nian hua de”中的每个拼音片段“zhe”、“fu”、“hua”、“shi”、“na”、“nian”、“hua”、“de”被拆分为声母和韵母,从而形成拼音片段“zh”、“e”、“f”、“u”、“h”、“ua”、“sh”、“i”、“n”、“a”、“n”、“ian”、“h”、“ua”、“d”、“e”。

所述词嵌入模型可以为已经过训练的词嵌入模型,其训练方法可以如后文中所述。

所述词嵌入模型可以为本领域中所知的任何一种词嵌入模型。如本领域中所知的,词嵌入模型可用于将来自于一个词汇表的词(例如,在本申请中可以为汉字、汉字的拼音或汉字拼音的声母或韵母,也可以为诸如英语等其他语言的单词等)映射为向量空间中的向量(可称为词向量)。在本发明的实施例中,所述词嵌入模型接收所述拼音序列中的每个拼音片段作为输入,并输出每个拼音片段的词向量。例如,所述词嵌入模型接收拼音片段“zh”、“e”、“f”、“u”、“h”、“ua”、“sh”、“i”、“n”、“a”、“n”、“ian”、“h”、“ua”、“d”、“e”,并输出每个拼音片段的词向量。

在本发明的示例性实施例中,所述词嵌入模型为Word2vec模型。如本领域中所知的,Word2vec模型是一组常见的词嵌入模型。这些模型是一种两层神经网络,其被训练以重建词的语言学上下文。Word2vec以一个文本语料库为输入,并产生一个通常具有数百个维度的向量空间,该语料库中的每个词被分配该空间中的一个相应向量,即词向量。词向量在向量空间中被分布为使得在语料库中具有共同上下文的词的词向量在向量空间中位置相互接近。

在步骤304,将所述拼音序列中的每个拼音片段的词向量组合成为所述待识别语句的句向量。也就是说,所述句向量的每个元素是所述待识别语句的拼音序列中的每个拼音片段的词向量,即所述句向量一个多维的矢量。例如,语句“这幅画是哪年画的”的句向量是由每个拼音片段“zh”、“e”、“f”、“u”、“h”、“ua”、“sh”、“i”、“n”、“a”、“n”、“ian”、“h”、“ua”、“d”、“e”的词向量组成的。该步骤304例如可以由图1中所示的对话系统100的语义服务器140或其他系统中的语义服务器来执行。

在步骤305,将所述待识别语句的句向量输入到神经网络,获得所述待识别语句的输出向量。该步骤305例如可以由图1中所示的对话系统100的语义服务器140或其他系统中的语义服务器来执行。所述神经网络例如可以以软件的形式存储在所述语义服务器的存储器中。

所述神经网络可以是已经过训练的神经网络,其训练方法可以如后文中所述。

所述神经网络可以是本领域中所知的任何能够对自然语言进行分析处理的一种神经网络或几种神经网络的组合。例如,所述神经网络可以是卷积神经网络(Convolutional Neural Networks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)等深度学习神经网络。

以CNN为例,如本领域中所知的,CNN通常可包括一个输入层(A+B)、若干卷积层+激活函数层、若干与卷积层交错的子采样层和一个输出层等。所述输入层用于接收输入数据。所述卷积层用于对前面的层输出的数据进行卷积(convolution)处理。卷积层具有权重和偏置。权重表示一个卷积核,偏置是叠加到卷积层的输出的标量。通常,每个卷积层可包括数十个或数百个卷积核。每个CNN可包括多个卷积层。激活函数层用于对前面的卷积层的输出数据进行函数变换。子采样层用于对来自前面的层的数据进行子采样,所述子采样的方法包括但不限于:最大值合并(max-pooling)、平均值合并(avg-pooling)、随机合并、欠采样(decimation,例如选择固定的像素)、解复用输出(demuxout,将输入图像拆分为多个更小的图像)等。所述输出层可包括激活函数,并用于输出输出数据。

神经网络通常经过训练阶段和使用阶段。在训练阶段,使用训练数据(其包括输入数据和预期输出数据)对神经网络进行训练,即将输入数据输入神经网络,获得输出数据,并通过与预期输出数据进行比较,对神经网络内部的各参数进行调整。在使用阶段,经训练的神经网络可用于完成图像、语义识别等任务,即将输入数据输入经训练的神经网络,以获得相应的输出数据。

在步骤306,通过比较所述待识别语句的输出向量与参考语句的输出向量来识别所述待识别语句与所述参考语句是否在语义上相似。

在步骤307,响应于识别所述待识别语句与所述参考语句在语义上相似,将所述参考语句的语义作为所述待识别语句的语义。

所述步骤306和步骤307例如可以由图1中所示的对话系统100的语义服务器140或其他系统中的语义服务器来执行。在一些示例性实施例中,所述神经网络的输出层可直接用于通过比较所述待识别语句的输出向量与参考语句的输出向量来确定所述待识别语句与参考语句是否在语义上相似。

当所述语义识别方法应用于如图1中所示的对话系统100中时,所述参考语句例如可以是来自于一问题答案库中的问题语句。所述问题答案库中可以包括该对话系统100中可能涉及的大量问题语句以及每个问题语句所对应的答案。所述问题答案库例如可存储在与所述语义服务器140关联的存储器中,或者存储在所述语义服务器140可访问的存储器中。这样,可以通过在步骤305中使用所述神经网络获得所述语句的输出向量,并将问题答案库中的每个问题语句的语向量(其可通过上述相同步骤获得)输入所述神经网络来获得每个问题语句的输出向量,然后通过比较所述待识别语句的输出向量与每个问题语句的输出向量,来判断所述待识别语句是否与某个问题语句在语义上相似。如果判断所述待识别语句与问题答案库中的某个问题语句在语义上相似,则可以从所述问题答案库中获得与该问题语句对应的答案,并向用户提供该答案,作为针对所述待识别语句的答案。

当所述语义识别方法应用于搜索系统等使用拼音输入法的系统中时,所述参考语句例如可以是来自于搜索系统的搜索语句库,所述搜索语句库可以包括该搜索系统中可能涉及的大量搜索语句。这样,可以通过在步骤305中使用所述神经网络获得所述待识别语句的输出向量,并将搜索语句库中的每个搜索语句的句向量(其可通过上述相同步骤获得)输入所述神经网络来获得每个搜索语句的输出向量,然后通过比较所述待识别语句的输出向量与每个搜索语句的输出向量,来判断所述待识别语句是否与某个搜索语句在语义上相似。如果判断所述待识别语句与某个搜索语句在语义上相似,则可以向用户呈现该搜索语句,以替换用户所输入的可能包含错误拼音的搜索语句。

在一些示例性实施例中,所述通过比较所述待识别语句的输出向量与参考语句的输出向量来识别所述待识别语句与所述参考语句是否在语义上相似的步骤306包括以下子步骤:

在子步骤1,计算所述待识别语句的输出向量与所述参考语句的输出向量之间的距离;

在子步骤2,当所述距离小于阈值时,识别所述待识别语句与所述参考语句语义上相似。

可以采用本领域中所知的任何一种方法,例如余弦距离(也称为余弦相似度)、欧氏距离、马氏距离等方法,来计算所述待识别语句的输出向量与参考语句的输出向量之间的距离。

如上所述,在所述步骤302中使用的词嵌入模型可以是已经过训练的词嵌入模型,并且在所述步骤305中使用的神经网络可以是已经过训练的神经网络。因此,在一些示例性实施例中,所述语义识别方法还包括训练针对所述词嵌入模型的训练过程和针对所述神经网络的训练过程。所述针对所述词嵌入模型的训练过程可以在使用所述词嵌入模型的步骤302之前完成,所述针对所述神经网络的训练过程可以在使用神经网络的步骤305之前完成。这些训练过程可以由例如图1中所示的对话系统100中的语义服务器140来执行,或者也可以由其他系统中的语义服务器来执行。

现参照图4,其示出了根据本发明的实施例的语义识别方法中针对所述词嵌入模型的示意性训练过程。如图4中所示,在一些示例性实施例中,所述语义识别方法中针对所述词嵌入模型的训练过程包括以下步骤:

在步骤401,使用第一训练数据训练所述词嵌入模型,其中,所述第一训练数据包括多个训练语句中的词的拼音序列中的多个拼音片段。

所述第一训练数据例如可以通过以下方式来产生:获取来自一文本语料库中的大量语句,将每个语句转换为词的拼音序列,并获得每个语句中的词的拼音序列中的多个拼音片段。所述拼音片断例如可以为每个词(或字)的拼音,或者也可以是将每个词(或字)的拼音进一步拆分为声母和韵母形成的拼音片段。

所述文本语料库例如可以是针对特定种类的对话系统的文本语料库,从而该文本语料库中的语句是该特定种类的对话系统中所使用的语句。例如,针对关于某种或某类产品的技术支持的对话系统的文本语料库中将包括该种或该类产品的技术支持过程中所使用的各种语句。或者,所述文本语料库也可以是某种其他场合中所使用的语句的语料库。再或者,所述文本语料库也可以是某种语言(例如汉语)中的常见语句的语料库。

如本领域技术人员可知的,在所述词嵌入模型的训练过程中,将所述第一训练数据中的每个语句的拼音序列中的拼音片断输入所述词嵌入模型,所述词嵌入模型输出每个语句的拼音序列中的每个拼音片断的词向量,在这个过程中,不断调整所述词嵌入模型的参数,使得在所述第一训练数据中具有共同上下文(例如出现在相同语句中且距离小于指定距离)的拼音片段的词向量在向量空间中的位置更为接近。这样,当训练完成后,经过训练的所述词嵌入模型就能够针对具有共同上下文的拼音片段输出距离接近的词向量,从而可以在所述步骤302中使用。

现参照图5,其示出了根据本发明的实施例的语义识别方法中针对所述神经网络的示意性训练过程。如图5中所示,在一些示例性实施例中,所述语义识别方法中针对所述神经网络的训练过程包括以下步骤:

在步骤501,获得至少一组语义相似的训练语句中的每个训练语句中的词的拼音序列。

所述至少一组语义相似的训练语句是指一组或多组在语义上相同或相似的多个语句。例如,训练语句“这幅画是谁画的”和训练语句“这幅画的作者是谁”是一组语义上相似的训练语句。所述至少一组语义上相似的训练语句例如可来自于一文本语料库。所述文本语料库例如可以是针对特定种类的对话系统的文本语料库,从而该文本语料库中的语句是该特定种类的对话系统中所使用的语句。例如,针对关于某种或某类产品的技术支持的对话系统的文本语料库中将包括该种或该类产品的技术支持过程中所使用的各种语句。或者,所述文本语料库也可以是某种其他场合中所使用的语句的语料库。再或者,所述文本语料库也可以是某种语言(例如汉语)中的常见语句的语料库。

当从例如文本语料库获得所述至少一组语义相似的训练语句后,可以将每个训练语句转换为词的拼音序列,并获得每个训练语句中的词的拼音序列中的多个拼音片段。所述拼音片断例如可以为每个词(或字)的拼音,或者也可以是将每个词(或字)的拼音进一步拆分为声母和韵母形成的拼音片段。

在步骤502,使用所述词嵌入模型获得所述每个训练语句中的词的拼音序列中的每个拼音片段的词向量。所述词嵌入模型例如可以是在上述步骤401中训练过的词嵌入模型。

在步骤503,将所述每个训练语句中的词的拼音序列中的每个拼音片段的词向量组合成为所述每个训练语句的句向量。也就是说,所述每个训练语句的句向量的每个元素是所述每个训练语句的拼音序列中的每个拼音片段的词向量,即所述句向量一个多维的矢量。

在步骤504,使用所述至少一组语义相似的训练语句中的每个训练语句的句向量训练所述神经网络。在训练过程中,将每一组语义相似的训练语句中的每个训练语句的句向量输入所述神经网络,获得神经网络的输出结果,然后以每一组语义相似的训练语句中的每个训练语句的输出结果相同为目标,调整所述神经网络的内部参数。这样,经过大量训练语句的训练之后,所述神经网络将能够针对语义上相同或相似但文字上不同的多个语句,输出相同或相似的结果,从而获得了语义识别能力。

以上参照附图描述了根据本发明的实施例的语义识别方法,应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含和功能等关系可以与所描述和图示的不同。例如,通常一个步骤完成的多个功能也可以由多个单独的步骤来执行;执行不同功能的多个步骤可以合并为一个执行这些功能的更大的步骤;一些步骤之间可以任何顺序执行或并行执行,等等。所有这些变化都处于本发明的精神和范围之内。

在本发明的另一个方面,还提供了一种语义识别装置。现参照图6,其示出了根据本发明的实施例的语义识别装置600的示意性结构框图。该语义识别装置600中的各组件执行的功能或操作对应于上述根据本发明的实施例的语义识别方法中的至少一些步骤。为简明起见,在以下描述中省略了与以上描述重复的一些细节,因此,可参照以上描述获得对根据本发明的实施例的语义识别装置600的更详细的了解。在一些实施例中,该语义识别装置由例如图1中所示的对话系统100中的语义服务器140实现,或者由其他系统中的语义服务器实现。具体地,该语义识别装置例如可以由实现所述语义服务器的处理器、存储器等通用计算机硬件和语义识别软件的组合来实现,也就是说,当所述处理器由存储器加载和执行所述语义识别软件时,形成所述语义识别装置中的各组件并执行其功能或操作。

如图6中所示,根据本发明的实施例的语义识别装置600包括:

拼音序列获得模块601,其被配置为获得待识别语句中的词的拼音序列;

词嵌入模块602,其被配置为使用词嵌入模型获得所述拼音序列中的每个拼音片段的词向量;

句向量获得模块603,其被配置为将所述拼音序列中的每个拼音片段的词向量组合成为所述待识别语句的句向量;

神经网络模块604,其被配置为将所述待识别语句的句向量输入到神经网络,获得所述待识别语句的输出向量;

语义识别模块605,其被配置为通过比较所述待识别语句的输出向量与参考语句的输出向量来识别所述待识别语句与所述参考语句是否在语义上相似,以及响应于识别所述待识别语句与所述参考语句在语义上相似,将所述参考语句的语义作为所述待识别语句的语义。

在一些示例性实施例中,所述拼音序列中的每个拼音片段为所述拼音序列中对应于所述待识别语句中的每个词的拼音片段。

在一些示例性实施例中,所述语义识别装置还包括:

拆分模块606,其被配置为将所述拼音序列中对应于所述待识别语句中的每个词的拼音片段拆分为声母和韵母,作为所述拼音序列中的拼音片段。

在一些示例性实施例中,所述语义识别模块605被配置为:

计算所述待识别语句的输出向量与所述参考语句的输出向量之间的距离;

当所述距离小于阈值时,识别所述待识别语句与所述参考语句语义上相似。

在一些示例性实施例中,所述词嵌入模型为Word2vec模型。

在一些示例性实施例中,所述词嵌入模块还被配置为使用第一训练数据训练所述词嵌入模型,所述第一训练数据包括多个训练语句中的词的拼音序列。

在一些示例性实施例中,所述拼音序列获得模块601还被配置为获得至少一组语义相似的第二训练语句中的每个训练语句中的词的拼音序列;

所述词嵌入模块602还被配置为使用所述词嵌入模型获得所述每个训练语句中的词的拼音序列中的每个拼音片段的词向量;

所述句向量获得模块603还被配置为将所述每个训练语句中的词的拼音序列中的每个拼音片段的词向量组合成为所述每个训练语句的句向量;以及

所述神经网络模块604还被配置为使用所述每个训练语句的句向量训练所述神经网络。

在一些示例性实施例中,所述拼音序列获得模块601被配置为:获得用户通过拼音输入法输入的待识别语句中的词的拼音序列。

以上参照附图描述了根据本发明的实施例的语义识别装置,应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该装置可具有更多、更少或不同的模块,且各模块之间的连接、包含和功能等关系可以与所描述和图示的不同。例如,通常一个模块执行的多个功能也可以由多个单独的模块来执行;执行不同功能的多个模块可以合并为一个执行这些功能的更大的模块;一个模块执行的功能也可以由另一个模块来执行,等等。所有这些变化都处于本发明的精神和范围之内。

在本发明的又一个方面,还提供了一种人机对话系统。该人机对话系统例如可以是图1中所示的人机对话系统100,或者其一部分或其变体。

根据本发明的实施例,该人机对话系统包括:

语音获取装置,其被配置为获取用户发出的语句的语音信息;

语音识别装置,其被配置为对所获取的语音信息进行语音识别,以获得对应于所述语音信息的文本信息;以及

根据本发明的任何一个实施例所述的语义识别装置600,其中,

所述语义识别装置600中的拼音序列获得模块601进一步被配置为将所述语音识别装置获得的文本信息转换为所述语句中的词的拼音序列;以及

所述语义识别装置600中的语义识别模块606进一步被配置为响应于识别所述语句与参考语句是否在语义上相似,获得与所述参考语句关联的答案,并将所述答案输出给用户。

所述语音获取模块例如可以为图1中所示的人机对话系统100中的智能终端获取单元,所述语音识别装置例如可以为图1中所示的人机对话系统100中的语音识别服务器120。

在本发明的再一个方面,还提供了一种计算机可读存储介质,其存储有机器可执行代码指令,所述机器可执行代码指令当被机器执行时使得该机器执行根据本发明的任何一个实施例所述的语义识别方法。

在本发明的另外一个方面,还提供了一种计算机系统,其包括处理器和与处理器相连接的存储器,所述存储器中存储有程序指令,所述处理器被配置为通过加载和执行所述存储器中的程序指令而执行根据本发明的任何一个实施例所述的语义识别方法。如本领域的技术人员可理解的,该计算机系统还可以包括其他部件,例如各种输入输出部件、通信部件等,由于这些部分可以为现有的计算机系统中的部件,因此不再赘述。

可见,根据本发明的实施例,在训练阶段,就将文本信息转换为拼音,并且在一些实施例中,进一步将一个词拼音分为声母和韵母两个部分,之后进行词嵌入,转换为句向量后再经过神经网络进行训练;在服务提供时,也是将文本转换为拼音序列,再通过神经网络前向运算得到相似度最高的句子作为匹配结果,这样能够适应更多错词情况,去除中间语音识别或者拼写过程中出现词义不同的词所造成的干扰,并且可以保持原来的网络设计不变,只是增加简单的预处理即可,最终提高了整个系统语义理解的准确率,且是一种低成本的解决方案。

根据本发明实施例的语义识别方法和装置以及人机对话系统可以由硬件、软件、固件或其任意组合来实现。根据本发明的实施例的语义识别方法和装置以及人机对话系统可以集中的方式在一个计算机系统中实现,或者以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。一种典型的硬件和软件的组合可以是带有计算机程序的通用计算机系统,该计算机程序中的程序代码模块对应于根据本发明的实施例的医疗数据匹配装置中的各模块,且当该计算机程序被加载和执行时,控制该计算机系统而使其执行根据本发明的实施例的医疗数据匹配装置中的各模块的操作和功能。

可以理解的是,本发明的以上各实施例仅仅是为了说明本发明的原理而采用的示例性实施例,本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为处于本发明的保护范围之内。本发明的保护范围仅由所附权利要求书的语言表述的含义及其等同含义所限定。

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