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

语义识别方法及装置与流程

2021-12-17 21:06:00 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种语义识别方法及装置。


背景技术:

2.目前,随着人工智能(artificial intelligence,ai)的飞速发展,越来越多的电子设备上安装语音助手(voice assistant,va),语音助手可以帮助用户完成打开应用、播放音乐、打车、订票等诸多功能。
3.通常情况下,语音助手包括三部分:语音引擎、语义引擎和对话管理系统。其中,语音引擎用于将用户发出的语音转化为文本,语义引擎用于根据文本理解用户的意图,对话管理系统用于使得用户和语音助手的交流更为流畅。其中,语义引擎的核心为自然语言理解(nature language understand,nlu)。由于汉字能够表达的内容繁多,同一句话在不同场景下的意图可能不同。因此,nlu无法保证对每条语料的意图都能够精准的识别。为了避免误识别,常见的做法是针对特殊语料建立一个白名单数据库,该白名单数据库中存储特殊语料与意图的对应关系。例如,特殊语料为“北京北京”,该特殊语料的意图为一部电视剧。如此一来,用户发出的“北京北京”的语音信号后,语音助手查询白名单数据库即可确定出用户的意图为搜索《北京北京》这部电视剧。
4.然而,上述的白名单数据库很容易造成错误匹配。比如,用户发出“北京北京”的语音信号的真实意图为搜索北京的天气时,被语音助手理解为用户想要搜索《北京北京》这首歌。因此,如何正确理解用户的语音信号的意图,视为急待解决的问题。


技术实现要素:

5.本技术实施例提供一种语义识别方法及装置,通过结合上下文语境、电子设备上应用的状态以及用户行为习惯对用户发出的语音信号的意图进行识别,提高意图识别的准确性。
6.第一方面,本技术实施例提供一种语义识别方法,该方法应用于服务器,也能够应用于服务器上的芯片。下面,以应用于服务器为例对该方法进行描述:用户和电子设备的第n轮对话中,电子设备将本轮对话中用户发出的语音信号发送给服务器,服务器将该语音信号转换为待处理文本,基于用户与电子设备的历史对话记录、电子设备的设备状态信息和用户行为习惯以及待处理文本,从白名单数据库中确定出待处理文本的目标意图,执行目标意图对应的指令并将执行结果反馈给用户。该过程中,对于多轮对话场景,由于当前轮对话中用户的表达,即待处理文本已经不是确定意图的唯一依据,服务器同时考虑待处理文本、历史对话记录、设备状态信息和用户行为习惯可以显著提升意图的命中概率,提高语音交互效率。
7.一种可行的设计中,服务器基于用户与电子设备的历史对话记录、电子设备的设备状态信息、用户的用户行为习惯以及待处理文本,从白名单数据库中确定出待处理文本的目标意图时,先根据历史对话记录和待处理文本,确定第一编码向量,根据设备状态信
息,确定第二编码向量,根据用户的用户行为习惯,确定第三编码向量。然后,服务器融合第一编码向量、第二编码向量和第三编码向量,以得到融合向量,根据融合向量,从白名单数据库中确定出待处理文本的目标意图。采用种方案,实现将历史对话记录、设备状态信息或用户行为习惯转换成编码向量的目的。
8.一种可行的设计中,服务器根据历史对话记录和待处理文本,确定第一编码向量时,根据历史对话记录,确定第n-1轮对话中用户的用户说法中每个词的语义向量,用户说法是第n-1轮对话中用户发出的语音信号对应的文本,确定用户说法中每个词对用户说法的语义的贡献分布,根据用户说法中每个词的语义向量和用户说法中每个词对用户说法的语义的贡献分布,确定第n-1轮对话中用户说法的语义向量,根据第n-1轮对话中用户说法的语义向量和待处理文本对应的词向量,确定第一编码向量。采用种方案,确定目标意图的过程中将历史对话记录作为一个依据,使得最终确定出的目标意图更准确。
9.一种可行的设计中,服务器根据历史对话记录,确定第n-1轮对话中用户的用户说法中每个词的语义向量时,确定第n-1轮对话中用户的用户说法的词向量,利用长短期记忆网络lstm,确定词向量中的每个词的过去语义和未来语义,根据第n-1轮对话中用户的用户说法中每个词的过去语义和未来语义,确定第n-1轮对话中用户的用户说法中对应词的语义向量。采用种方案,确定目标意图的过程中将历史对话记录作为一个依据,使得最终确定出的目标意图更准确。
10.一种可行的设计中,服务器根据设备状态信息确定第二编码向量时,根据电子设备上的软件和硬件的运行状态,对电子设备上的软件和硬件进行独热码编码,以得到第二编码向量,第二编码向量的维数与电子设备上软件和硬件的数量相同,运行状态包括开启或关闭。采用种方案,通过确定目标意图的过程中设备状态信息作为一个依据,提高目标意图的准确性。
11.一种可行的设计中,上述的第三编码向量的维数和用户行为习惯的数量相同。
12.一种可行的设计中,服务器融合第一编码向量、第二编码向量和第三编码向量,以得到融合向量时,将第一编码向量输入至第一自编码器得到第一中间层向量,将第二编码向量输入至第二自编码器得到第二中间层向量,将第三编码向量输入至第三自编码器得到第三中间层向量,融合第一中间层向量、第二中间层向量和第三中间层向量以得到拼接向量。采用种方案,确定目标意图的过程中同时考虑历史对话记录、设备状态信息和用户行为习惯,提高目标意图的准确性。
13.一种可行的设计中,服务器根据融合向量,从白名单数据库中确定出待处理文本的目标意图时,利用拼接向量确定待处理文本对应的多个意图中各个意图的匹配概率,确定各意图的匹配概率是否超过对应意图的阈值,将匹配概率超过对应意图的阈值的意图作为待处理文本的目标意图。采用种方案,通过确定待处理文本对应的多个意图的概率,从而准确确定出目标意图。
14.一种可行的设计中,服务器基于用户与电子设备的历史对话记录、电子设备的设备状态信息和用户的用户行为习惯,从白名单数据库中确定出待处理文本的目标意图之前,还接收电子设备发送的指示信息,指示信息携带设备状态信息和/或用户行为习惯。采用种方案,通过获取设备状态和/或用户行为习惯,实现利用多源数据准确确定出用户的意图的目的。
15.一种可行的设计中,服务器基于用户与电子设备的历史对话记录、电子设备的设备状态信息、用户的用户行为习惯以及待处理文本,从白名单数据库中确定出待处理文本的目标意图之前,还对历史对话记录、设备状态信息或用户行为习惯中的至少一个进行数据清洗。采用种方案,通过数据清洗,过滤到历史对话记录、设备状态信息或用户行为习惯中的无效数据,减少了数据处理量。
16.一种可行的设计中,执行目标意图对应的指令之后,还确定指令对应的执行结果,向电子设备发送执行结果。
17.第二方面,本技术实施例提供一种语义识别装置,包括:
18.收发单元,用于接收来自电子设备的语音信号,所述语音信号是用户和所述电子设备第n轮对话中所述用户发出的语音信号,n≥2且为整数。
19.处理单元,用于将所述语音信号转换为待处理文本,基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图,所述设备状态信息用于指示所述电子设备上的软件和硬件的状态,所述用户行为习惯用于指示所述用户使用所述电子设备上的软件和硬件的习惯,所述白名单数据库中存储至少一个候选文本与所述至少一个候选文本中各候选文本的意图的对应关系,所述至少一个候选文本中每个候选文本对应至少一个意图,所述至少一个候选文本包含所述待处理文本,执行所述目标意图对应的指令。
20.一种可行的设计中,所述处理单元在基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图时,用于根据所述历史对话记录和所述待处理文本,确定第一编码向量,根据所述设备状态信息,确定第二编码向量,根据所述用户的用户行为习惯,确定第三编码向量,融合所述第一编码向量、所述第二编码向量和所述第三编码向量,以得到融合向量,根据所述融合向量,从所述白名单数据库中确定出所述待处理文本的目标意图。
21.一种可行的设计中,所述处理单元在根据所述历史对话记录和所述待处理文本,确定第一编码向量时,用于根据所述历史对话记录,确定第n-1轮对话中所述用户的用户说法中每个词的语义向量,所述用户说法是所述第n-1轮对话中所述用户发出的语音信号对应的文本,确定所述用户说法中每个词对所述用户说法的语义的贡献分布,根据所述用户说法中每个词的语义向量和所述用户说法中每个词对所述用户说法的语义的贡献分布,确定所述第n-1轮对话中用户说法的语义向量,根据所述第n-1轮对话中用户说法的语义向量和所述待处理文本对应的词向量,确定所述第一编码向量。
22.一种可行的设计中,所述处理单元在根据所述历史对话记录,确定第n-1轮对话中所述用户的用户说法中每个词的语义向量时,用于确定所述第n-1轮对话中所述用户的用户说法的词向量,利用长短期记忆网络lstm,确定所述词向量中的每个词的过去语义和未来语义,根据所述第n-1轮对话中所述用户的用户说法中每个词的过去语义和所述未来语义,确定所述第n-1轮对话中所述用户的用户说法中对应词的语义向量。
23.一种可行的设计中,所述处理单元在根据所述设备状态信息,确定第二编码向量时,用于根据所述电子设备上的软件和硬件的运行状态,对所述电子设备上的软件和硬件进行独热码编码,以得到所述第二编码向量,所述第二编码向量的维数与所述电子设备上
软件和硬件的数量相同,所述运行状态包括开启或关闭。
24.一种可行的设计中,所述第三编码向量的维数和所述用户行为习惯的数量相同
25.一种可行的设计中,所述处理单元在融合所述第一编码向量、所述第二编码向量和所述第三编码向量,以得到融合向量时,用于将所述第一编码向量输入至第一自编码器得到第一中间层向量,将所述第二编码向量输入至第二自编码器得到第二中间层向量,将所述第三编码向量输入至第三自编码器得到第三中间层向量,融合所述第一中间层向量、第二中间层向量和第三中间层向量以得到所述拼接向量。
26.一种可行的设计中,所述处理单元在根据所述融合向量,从所述白名单数据库中确定出所述待处理文本的目标意图时,用于利用所述拼接向量确定所述待处理文本对应的多个意图中各个意图的匹配概率,确定所述各意图的匹配概率是否超过对应意图的阈值,将所述匹配概率超过对应意图的阈值的意图作为所述待处理文本的目标意图。
27.一种可行的设计中,所述收发单元在所述处理单元基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息和所述用户的用户行为习惯,从白名单数据库中确定出所述待处理文本的目标意图之前,还用于接收所述电子设备发送的指示信息,所述指示信息携带所述设备状态信息和/或所述用户行为习惯。
28.一种可行的设计中,所述处理单元在基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图之前,还用于对所述历史对话记录、所述设备状态信息或所述用户行为习惯中的至少一个进行数据清洗。
29.一种可行的设计中,所述处理单元在执行所述目标意图对应的指令之后,还用于确定所述指令对应的执行结果;所述收发单元,还用于向所述电子设备发送所述执行结果。
30.第五方面,本技术实施例提供一种语义识别装置,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时使得语义识别装置实现如上第一方面或第一个方面的各种可能的实现方式中的方法。
31.第六方面,本技术实施例提供一种芯片,包括:逻辑电路和输入接口,其中,所述输入接口用于获取待处理的数据,所述逻辑电路用于对待处理的数据执行如第一方面任一项所述的方法得到处理后的数据。
32.一种可行的设计中,该芯片还包括:输出接口,该输出接口用于输出所述处理后的数据。
33.第七方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序,所述程序在被处理器执行时用于执行第一方面任一项所述的方法。
34.第八方面,本技术实施例提供一种计算机程序产品,当所述计算机程序产品在语义识别装置上运行时,使得所述语义识别装置执行第一方面任一项所述的方法。
35.本技术实施例提供的语义识别方法及装置,涉及人工智能技术领域,尤其涉及语义识别技术领域。语义识别方法中,用户和电子设备的第n轮对话中,电子设备将本轮对话中用户发出的语音信号发送给服务器,服务器将该语音信号转换为待处理文本,基于用户与电子设备的历史对话记录、电子设备的设备状态信息和用户行为习惯以及待处理文本,从白名单数据库中确定出待处理文本的目标意图,执行目标意图对应的指令并将执行结果反馈给用户。该过程中,对于多轮对话场景,由于当前轮对话中用户的表达,即待处理文本
已经不是确定意图的唯一依据,服务器同时考虑待处理文本、历史对话记录、设备状态信息和用户行为习惯可以显著提升意图的命中概率,提高语音交互效率。
附图说明
36.图1是本技术实施例提供的语义识别方法的网络示意图;
37.图2是本技术实施例提供的语义识别方法的流程图;
38.图3是本技术实施例提供的语义识别方法的另一个流程图;
39.图4是本技术实施例提供的语义识别方法中多源特征编码和多源特征融合的过程示意图;
40.图5为本技术实施例提供的一种语义识别装置的结构示意图;
41.图6为本技术实施例提供的另一种语义识别装置的结构示意图。
具体实施方式
42.电子设备上的语音助手旨在通过人机语音交互,帮助用户完成播放音乐、打车、订票等功能,从而将原本多轮的手动操作,简化为一条语音指令,显著优化了用户的体验,降低人机交互难度,便于用户快捷方便的使用电子设备。
43.通常情况下,语音助手包括三部分:语音引擎、语义引擎和对话管理系统。其中,语义引擎的核心是nlu。由于汉字能够表达的内容繁多,同一句话在不同场景下的意图可能不同。因此,nlu无法保证对每条语料的意图都能够精准的识别。这种可能会导致误识别的语料成为特殊语料。例如,“北京北京”这样的语料最常规的意图是一个城市,但是当《北京北京》这部电视剧比较火的时候,该语料的意图为一部电视剧。为了保证语音助手能够识别出特殊语料,常见的做法是建立一个白名单数据库,用于存储特殊语料和意图的对应关系。例如,特殊语料为“北京北京”,该特殊语料的意图为一部电视剧。如此一来,用户发出的“北京北京”的语音信号后,语音助手优先查询白名单数据库即可确定出用户的意图为搜索《北京北京》这部电视剧。
44.然而,上述的白名单数据库匹配方式很容易造成错误匹配。基于以“北京北京”为例,当《北京北京》这部电视剧热度很高时,为了优先发展该意图,通常会利用白名单数据库进行意图匹配,会触发如下错误场景:
45.场景一:
46.第1轮对话中,用户说:“明天的天气怎么样”。
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
真实意图【天气】
47.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
机器说:“天津明天晴”。
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
推理以图【天气】
48.第2轮对话中,用户说:“北京北京呢”?
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
真实意图【天气】
49.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
机器说:“为您找到电视剧《北京北京》”。白名单意图【视频】
50.场景二:
51.第1轮对话中,用户说:“帮我翻译一下”。
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
真实意图【翻译】
52.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
机器说:“您要翻译什么内容”?
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
真实意图【翻译】
53.第2轮对话中,用户说:“北京北京”。
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
真实意图【翻译】
54.机器说:“为您找到电视剧《北京北京》”。白名单意图【视频】
55.根据上述可知:传统的白名单数据库匹配方式容易造成错误匹配,且该白名单数
据库中的意图是单一的。显然,当一个特殊语料的具有多个意图时,则无法正确匹配。
56.有鉴于此,本技术实施例提供一种语义识别方法,通过结合上下文语境、电子设备上应用的状态以及用户行为习惯对用户发出的语音信号的意图进行识别,提高意图识别的准确性。
57.图1是本技术实施例提供的语义识别方法的网络示意图。请参照图1,该网络架构包括电子设备1和服务器2,电子设备1和服务器2之间建立网络连接。其中,电子设备1上安装有语音助手的客户端,电子设备1利用客户端将用户发出的语音信号发送给服务器2。
58.服务器2上具有语音助手的语音引擎、语义引擎和对话管理系统等组成部分。服务器能够从电子设备1获得电子设备上的软件和/或硬件的状态,以及用户使用电子设备1上的软件和/或硬件的用户行为习惯等。其中,电子设备上的软件指安装在电子设备上的各种应用程序(application,app),软件的状态例如为app开启、app关闭等;电子设备上的硬件包括但不限于电子设备上的左声道、右声道、镜头、灯光等,硬件的状态包括开启、关闭、灯光的强弱等。
59.服务器2上还预先存储白名单数据库,该白名单数据库中存储至少一个候选文本和各候选文本的意图的对应关系,每个候选文本对应至少一个意图。例如,一条候选文本为“北京北京”,该候选文本对应的意图包括意图1、城市;意图2、一首歌;意图3、一部电视剧。
60.用户和电子设备对话过程中,对于每一轮对话,服务器都将该轮对话中的用户说法和机器说法存储起来。例如,第1轮对话中用户说法为“明天的天气怎么样”,机器说“天津明天晴”;第2轮对话中用户说法为“北京北京呢”,则历史对话记录中存储第1轮用户的用户说法和机器说法。对于当前轮的用户说法,即待处理文本,服务器基于历史对话记录、电子设备的设备状态信息和用户行为习惯,对待处理文本的意图进行识别。
61.服务器2针对待处理文本识别出目标意图后,根据目标意图执行指令,并将执行结果反馈给电子设备1。以待处理文本为北京北京为例,当目标意图为一部电视剧时,服务器搜素该电视剧的相关视频并将视频的链接发送给电子设备1。
62.图1中,电子设备1为台式终端或移动终端等,台式终端例如为电脑、自助设备,移动终端为手机、平板电脑、笔记本电脑等;服务器2是独立部署的服务器或这多个服务器组成的服务器集群等。
63.图2是本技术实施例提供的语义识别方法的流程图,本实施例是从服务器的角度进行说明。本实施例包括:
64.101、接收来自电子设备的语音信号。
65.其中,语音信号是用户和所述电子设备第n轮对话中所述用户发出的语音信号,n≥2且为整数。
66.本技术实施例适用于第1轮对话以后的任意一轮对话,这是因为第1轮对话中,服务器上未收集到历史对话记录。用户在电子设备1的语音感知范围内发出语音信号,电子设备采集该语音信号并发送给服务器。
67.102、将所述语音信号转换为待处理文本。
68.第n轮对话中,服务器接收到来自电子设备的语音信号后,利用语音识别模型等将语音信号转换待处理文本。
69.103、基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、
所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图。
70.本技术实施例中,历史对话记录为第n轮对话之前的一轮或多轮对话的对话记录,例如,历史对话记录为第n-1轮对话记录;再如,历史对话记录为第1轮至第n-1轮对话记录;又如,历史对话记录为第n-3轮至第n-1轮对话记录。
71.对话管理阶段,服务器上的语义引擎将本轮和前几轮对话中的有效数据作为上下文语境,并获取电子设备的设备状态信息和用户行为习惯。其中,设备状态信息用于指示电子设备上的软件和硬件的状态,软件例如视频播放app、音乐播放app、小说阅读app等,软件的状态指app开启或关闭等;硬件包括电子设备的左声道、右声道等,硬件的状态包括但不限于开启、关闭、灯光强弱、音量高低等。用户行为习惯包括用户针对软件和/或硬件的操作系统,以软件为视频播放app为例,用户行为习惯为打开视频播放app->播放某电视剧->退出视频播放app。以硬件为左声道为例,用户行为习惯是用户使用音乐播放app是开启左声道而关闭右声道。
72.然后,服务器基于上下文语境、电子设备的设备状态信息和用户行为习惯,从白名单数据库中确定出待处理文本的目标意图。
73.该过程中,基于上下文语境、设备状态信息和用户行为习惯,对用户说法,即待处理文本进行多维度的匹配操作,解决了仅依靠文本进行匹配的方式导致的误匹配的问题,匹配方式更加灵活和高效。
74.104、执行所述目标意图对应的指令。
75.服务器识别出当前轮,即第n轮对话中用户说法对应的待处理文本对应的目标意图后,执行指令以响应用户。例如,第1轮对话中,用户说:“明天的天气怎么样”,机器说:“天津明天晴”。第2轮对话中,用户说:“北京北京呢”。机器说:“北京明天晴”;再如,第1轮对话中,用户说:“我想看电视”,机器说:“想看什么电视呢”。第2轮对话中,用户说:“北京北京呢”。机器说:“最近热播《北京北京》,为您找到电视剧《北京北京》”。
76.本技术实施例提供的语义识别方法,用户和电子设备的第n轮对话中,电子设备将本轮对话中用户发出的语音信号发送给服务器,服务器将该语音信号转换为待处理文本,基于用户与电子设备的历史对话记录、电子设备的设备状态信息和用户行为习惯以及待处理文本,从白名单数据库中确定出待处理文本的目标意图,执行目标意图对应的指令并将执行结果反馈给用户。该过程中,对于多轮对话场景,由于当前轮对话中用户的表达,即待处理文本已经不是确定意图的唯一依据,服务器同时考虑待处理文本、历史对话记录、设备状态信息和用户行为习惯可以显著提升意图的命中概率,提高语音交互效率。
77.上述实施例中步骤103的详细过程可参见图3。图3是本技术实施例提供的语义识别方法的另一个流程图。请参照图3,本实施例包括:
78.201、获取上下文语境、电子设备的设备状态信息和用户行为习惯。
79.其中,上下文语境指服务器根据第n轮对话中的用户说法和前几轮对话得到的有效数据,该有效数据例如推理出的用户意图,如天气等。
80.202、数据清洗。
81.本步骤中,服务器对上下文语境、电子设备的设备状态信息和用户行为习惯进行数据清洗。
82.对于上下文语境,数据清洗包括下述处理中的至少一个:
83.1)对连续数字合并处理。这是因为用户说法中可能包含连续数字串,如电话号码。计量数字、金额等。该写数据需要整体考虑,不能分开。
84.2)对连续的英文字符合并处理。这是因为在中文中出现的连续英文字符通常代表着一个英文单词或有特殊含义的字符串,需要将该类字符作为整体。
85.3)过滤掉停用词。这是因为每轮对话中的用户说法可能包含没有意义的停用词,如“的”、“得”、“地”等,该写词语虽然在很多场合下使用,但是无法用来区分用户的意图。
86.4)槽位同义词过滤。这是因为用户说法中,可能既存在系统定义的槽位和相关的同义词,又存在用户自定义的槽位及同义词。其中,系统定义的槽位和相关的同义词例如国家、市、时间等。用户自定义的槽位及同义词,例如,槽位为火车票,槽值为高铁票、动车票、硬卧、硬座等。这些词在用户说法中能够被随意替换而且不改变用户的意图。比如,用火车票代替所有火车票的同意词。
87.对于设备状态信息,数据清洗包括:使用独热码(one hot code)对电子设备的硬件或软件的状态进行编码。例如,对于开启状态的软件或硬件,将其编码为1,对于关闭状态的软件或硬件,将其编码为0。
88.对于用户行为习惯,定义n种常用的用户行为习惯,并用随机的n维向量对每一种用户行为习惯进行初始化。例如,定义100种用户行为习惯,用100维的随机向量对该100种用户行为习惯中的每种用户行为习惯进行初始化。
89.通过数据清洗,过滤到历史对话记录、设备状态信息或用户行为习惯中的无效数据,减少了数据处理量。
90.203、多源特征编码。
91.本步骤中,服务器对经过数据清洗的上下文语境、设备状态信息和用户行为习惯进行多源特征编码。
92.图4是本技术实施例提供的语义识别方法中多源特征编码和多源特征融合的过程示意图。
93.请参照图4,多源数据编码阶段,服务器根据历史对话记录和待处理文本,确定第一编码向量,如图4中的x
n
;根据设备状态信息确定第二编码向量,如图4中的c;根据用户行的用户行为习惯确定第三编码向量,如图4中的q。之后,服务器融合第一编码向量、第二编码向量和第三编码向量,以得到融合向量,进而根据融合向量从白名单数据库中确定出待处理文本的目标意图。下面,对服务器如何得到第一编码向量、第二编码向量和第三编码向量分别进行详细说明。
94.首先,服务器根据历史对话记录和待处理文本,确定第一编码向量。
95.本技术实施例中,服务器能够根据待处理文本和历史对话记录得到上下文语境对应的第一编码向量。以历史对话记录为第n-1轮对话中用户的用户说法为例,确定第一编码向量的过程中,服务器使用glove模型对第n-1轮对话中的用户说法进行向量化表示,得到第n-1轮对话中用户说法的词向量,记为w=[w1,w2,...w
t
]∈r
d
×
t
,其中,d表示词向量的维度,例如为300等,t表示对用户说法分词后词的个数。然后,服务器确定第n-1轮对话中用户说法中每个词的语义向量。
[0096]
服务器确定第n-1轮对话中用户说法中每个词的语义向量时,服务器利用长短期
记忆网络(long short-term memory,lstm),确定所述词向量中的每个词的过去语义和未来语义,根据所述第n-1轮对话中所述用户的用户说法中每个词的过去语义和所述未来语义,确定所述第n-1轮对话中所述用户的用户说法中对应词的语义向量。其中,词向量中第i个词的过去语义和未来语义如公式(2-1)和公式(2-2)所示。
[0097][0098][0099]
其中,i表示词向量中第i个词,w表示第i个词在lstm中对应的随机参数值,n表示第n轮对话,n-1表示第n-1轮对话,表示第i个词在第n-1轮由双向lstm产出的向量;q取值为1-n。公式(2-1)和公式(2-2)中向量的不同方向表示不同方向的lstm模型。
[0100]
对于第n-1轮对话用户说法对应的词向量中的第i个词,服务器得到该第i个词的过去语义和未来语义后,拼接过去语义和未来语义,从而得到第n-1轮对话中用户说法对应的词向量中第i个词的语义向量。第i个词的语义向量如公式(2-3)所示:
[0101][0102]
公式(2-3)中

表示两个向量的拼接。
[0103]
服务器在得到第i个词的语义向量后,基于确定该第i个词对用户说法的语义的贡献分布,如公式(2-4)所示:
[0104][0105]
公式(2-4)中,表示第i个词对第n-1轮对话中用户说法的贡献分布,sigmod表示一种函数,t表示对用户说法分词后词的个数,表示第n-1轮对话中t对应的随机参数,由于每轮对话中t的值不一样,因此每轮对话中的取值可能不一样,表示第n-1轮第i个词在lstm中对应的随机参数值,tanh表示双曲函数。
[0106]
服务器根据所述用户说法中每个词的语义向量和所述用户说法中每个词对所述用户说法的语义的贡献分布,确定所述第n-1轮对话中用户说法的语义向量。第n-1轮对话中用户说法的语义向量如公式(2-5)所示:
[0107][0108]
服务器得到第n-1轮对话中用户说法的语义向量x
n-1
和第n轮对话中用户说法(即待处理文本)后,根据待处理文本得到第n轮对话中用户说法对应的词向量,对第n轮对话中用户说法对应的词向量和第n-1轮对话中用户说法的语义向量x
n-1
进行拼接,采用如上公式(2-1)至公式(2-5)的计算法方式,获得第n轮对话中待处理文本对应的第一编码向量x
n
。显然,该第一编码向量x
n
融合了上下文语境。
[0109]
其次,服务器根据所述设备状态信息,确定第二编码向量。
[0110]
本技术实施例中,设备状态信息指电子设备上的软件和/或硬件的运行状态等,服务器从电子设备获取设备状态信息,并根据设备状态信息得到第二编码向量。例如,服务器用一个30维的随机向量表示电子设备上常用的30款app的运行状态。再如,服务器用一个50维度的随机向量表示电子设备上常用的50款app的运行状态。
[0111]
最后,服务器根据所述用户的用户行为习惯,确定第三编码向量。
[0112]
本技术实施例中,用户行为习惯用于指示所述用户使用所述电子设备上的软件和硬件的习惯。以软件为一个app为例,用户行为习惯指用户针对该app进行的操作序列。预先定义好用户常用的app后,服务器随机初始化操作序列中的元素,如打开某某应用、播放下一首歌等。然后,服务器利用同上下文语境相同的计算方式,计算用户行为习惯对应的第三编码向量q。该第三编码向量的维度和所述用户行为习惯的数量相同
[0113]
204、多源特征融合。
[0114]
服务器将第一编码向量、第二编码向量和第三编码向量分别输入至自编码器1、自编码器2和自编码器3。示例性的,可参见公式(2-6)、公式(2-7)和公式(2-8)。
[0115]
y=rule(wx b)
ꢀꢀꢀ
(2-6)
[0116]
z=rule(w
t
y b

)
ꢀꢀꢀ
(2-7)
[0117][0118]
上述公式(2-6)、公式(2-7)和公式(2-8)中,rule是一种工业界的非线性算法,w,w
t
表示两个不同的随机化初始参数矩阵,x表示自编码器的输入向量。b表示随机初始化的参数值,y表示中间层对应的向量,b

表示随机初始化的参数值,z表示自编码器的最后一层对应的向量值,l表示交叉熵公式,d表示维数。
[0119]
当上述的公式(2-6)、公式(2-7)和公式(2-8)用于自编码1时,则x为第一编码向量x
n
,d表示的第一编码向量x
n
维数。i=1,l1表示自编码器1的交叉熵的计算公式。当上述的公式2-6)、公式(2-7)和公式(2-8)用于自编码2时,则x为第二编码向量c,d表示的第二编码向量c的维数,例如为30。i=2,l2表示自编码器2的交叉熵的计算公式。当上述的公式2-6)、公式(2-7)和公式(2-8)用于自编码3时,则x为第一编码向量q,d表示的第三编码向量q的维数,例如为100。i=3,l3表示自编码器3的交叉熵的计算公式。
[0120]
根据上述可知:对于自编码器1至自编码器3中的任意一个自编码器,根据上述的公式(2-6)可以得到该自编码器的中间层向量y。也就是说,将第一编码向量输入至自编码器1得到第一中间层向量,将第二编码向量输入至自编码器2得到第二中间层向量,将第三编码向量输入至自编码器3得到第三中间层向量。然后,将中间层向量带入公式(2-7)就能够确定出自编码器的最后一层对应的向量z。最后,根据公式(2-8)、公式(2-7)计算得到的自编码器的最后一层对应的向量z以及自编码器的输入向量,即可确定出该自编码器输入与输出间的交叉熵。自编码器1的交叉熵为l1,自编码器2的交叉熵为l2,自编码3的交叉熵为l3。该三个交叉熵为最小平方误差损失函数。
[0121]
205、结果预测。
[0122]
服务器得到三个自编码器各自中间层向量y后,拼接该三个中间层向量y,得到拼接向量。将该拼接向量输入至多分类器(如图4中的虚线箭头所示),利用多分类器计算出多分类器的损失函数l0。
[0123]
进一步的,计算出l0后,利用如下公式(9)就能够确定出后向传播(back propagation)算法函数
[0124][0125]
公式(2-9)中,各参数的取值根据实际情况确定。例如,α0=0.4,α1=α2=α3=0.2。
[0126]
得到后向算法后,将该后向算法作为约束条件,在该约束条件的约束下,将拼接向量输入至多分类器进行多分类。
[0127]
分类过程中,利用所述拼接向量确定所述待处理文本对应的多个意图中各个意图的匹配概率,确定所述各意图的匹配概率是否超过对应意图的阈值,将所述匹配概率超过对应意图的阈值的意图作为所述待处理文本的目标意图。以待处理文本为“北京北京”、意图为“视频”、“城市”“歌曲”为例,则多分类结果如表1所示。
[0128]
表1
[0129][0130]
请参照表1,多分类器的函数例如为公式(2-4),m表示意图的个数,本示例中m=3。第n轮对话中,当用户说法(即待处理文本)为“北京北京”时,目标意图为视频的概率p1=0.8,目标意图为地点的概率p2=0.55,目标意图为歌曲的概率p3=0.4。其中,p1大于阈值0.7,电子设备认为待处理文本的目标意图为视频,此时,电子设备输出“1”,表示视频为该待处理文本匹配的意图。p2小于阈值0.6,则电子设备认为待处理文本的目标意图与“地点”这个意图不匹配。同理,p3小于阈值0.5,则电子设备认为待处理文本的目标意图与“歌曲”这个意图不匹配。
[0131]
图5为本技术实施例提供的一种语义识别装置的结构示意图。可选地,本实施例所涉及的语义识别装置为前面各实施例中的第一网络设备,或者为应用于第一网络设备的芯片。该语义识别装置用于执行上述实施例中第一网络设备的功能。可选地,如图5所示,该语义识别装置100包括:收发单元11和处理单元12。
[0132]
收发单元11,用于接收来自电子设备的语音信号,所述语音信号是用户和所述电子设备第n轮对话中所述用户发出的语音信号,n≥2且为整数。
[0133]
处理单元12,用于将所述语音信号转换为待处理文本,基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图,所述设备状态信息用于指示所述电子设备上的软件和硬件的状态,所述用户行为习惯用于指示所述用户使用所述电子设备上的软件和硬件的习惯,所述白名单数据库中存储至少一个候选文本与所述至少一个候选文本中各候选文本的意图的对应关系,所述至少一个候选文本中每个候选文本对应至少一个意图,所述至少一个候选文本包含所述待处理文本,执行所述目标意图对应的指令。
[0134]
一种可行的设计中,所述处理单元12在基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图时,用于根据所述历史对话记录和所述待处理文本,确定第一编码向量,根据所述设备状态信息,确定第二编码向量,根据所述用户的用户行为习惯,确定第三编码向量,融合所述第一编码向量、所述第二编码向量和所述第三编码向量,以得到融合向量,根据所述融合向量,从所述白名单数据库中确定出所述待处理文本的目标意图。
[0135]
一种可行的设计中,所述处理单元12在根据所述历史对话记录和所述待处理文本,确定第一编码向量时,用于根据所述历史对话记录,确定第n-1轮对话中所述用户的用户说法中每个词的语义向量,所述用户说法是所述第n-1轮对话中所述用户发出的语音信号对应的文本,确定所述用户说法中每个词对所述用户说法的语义的贡献分布,根据所述用户说法中每个词的语义向量和所述用户说法中每个词对所述用户说法的语义的贡献分布,确定所述第n-1轮对话中用户说法的语义向量,根据所述第n-1轮对话中用户说法的语义向量和所述待处理文本对应的词向量,确定所述第一编码向量。
[0136]
一种可行的设计中,所述处理单元12在根据所述历史对话记录,确定第n-1轮对话中所述用户的用户说法中每个词的语义向量时,用于确定所述第n-1轮对话中所述用户的用户说法的词向量,利用长短期记忆网络lstm,确定所述词向量中的每个词的过去语义和未来语义,根据所述第n-1轮对话中所述用户的用户说法中每个词的过去语义和所述未来语义,确定所述第n-1轮对话中所述用户的用户说法中对应词的语义向量。
[0137]
一种可行的设计中,所述处理单元12在根据所述设备状态信息,确定第二编码向量时,用于根据所述电子设备上的软件和硬件的运行状态,对所述电子设备上的软件和硬件进行独热码编码,以得到所述第二编码向量,所述第二编码向量的维数与所述电子设备上软件和硬件的数量相同,所述运行状态包括开启或关闭。
[0138]
一种可行的设计中,所述第三编码向量的维数和所述用户行为习惯的数量相同。
[0139]
一种可行的设计中,所述处理单元12在融合所述第一编码向量、所述第二编码向量和所述第三编码向量,以得到融合向量时,用于将所述第一编码向量输入至第一自编码器得到第一中间层向量,将所述第二编码向量输入至第二自编码器得到第二中间层向量,将所述第三编码向量输入至第三自编码器得到第三中间层向量,融合所述第一中间层向量、第二中间层向量和第三中间层向量以得到所述拼接向量。
[0140]
一种可行的设计中,所述处理单元12在根据所述融合向量,从所述白名单数据库中确定出所述待处理文本的目标意图时,用于利用所述拼接向量确定所述待处理文本对应的多个意图中各个意图的匹配概率,确定所述各意图的匹配概率是否超过对应意图的阈值,将所述匹配概率超过对应意图的阈值的意图作为所述待处理文本的目标意图。
[0141]
一种可行的设计中,所述收发单元11在所述处理单元12基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息和所述用户的用户行为习惯,从白名单数据库中确定出所述待处理文本的目标意图之前,还用于接收所述电子设备发送的指示信息,所述指示信息携带所述设备状态信息和/或所述用户行为习惯。
[0142]
一种可行的设计中,所述处理单元12在基于用户与所述电子设备的历史对话记录、所述电子设备的设备状态信息、所述用户的用户行为习惯以及所述待处理文本,从白名单数据库中确定出所述待处理文本的目标意图之前,还用于对所述历史对话记录、所述设备状态信息或所述用户行为习惯中的至少一个进行数据清洗。
[0143]
一种可行的设计中,所述处理单元12在执行所述目标意图对应的指令之后,还用于确定所述指令对应的执行结果,所述收发单元11,还用于向所述电子设备发送所述执行结果。
[0144]
本技术实施例提供的语义识别装置,能够执行上述实施例中服务器的动作,其实现原理和技术效果类似,在此不再赘述。
[0145]
图6为本技术实施例提供的另一种语义识别装置的结构示意图。如图6所示,该语义识别装置200包括处理器21和存储器22。
[0146]
所述存储器22存储计算机执行指令。
[0147]
所述处理器21执行所述存储器22存储的计算机执行指令,使得所述语义识别装置执行如上服务器执行的语义识别方法。
[0148]
处理器21的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0149]
可选地,该语义识别装置200还包括通信接口23。其中,处理器21、存储器22以及通信接口23能够通过总线24连接。
[0150]
在上述在语义识别装置的实现中,存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互,也就是存储器和处理器通过接口连接或集成在一起。例如,这些元件相互之间通过一条或者多条通信总线或信号线实现电性连接,如通过总线连接。存储器中存储有实现数据访问控制方法的计算机执行指令,包括至少一个软件或固件的形式存储于存储器中的软件功能模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。
[0151]
存储器包括但不限于,随机存取存储器(random access memory,简称:ram),只读存储器(read only memory,简称:rom),可编程只读存储器(programmable read-only memory,简称:prom),可擦除只读存储器(erasable programmable read-only memory,简称:eprom),电可擦除只读存储器(electric erasable programmable read-only memory,简称:eeprom)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
[0152]
处理器是一种集成电路芯片,具有信号的处理能力。上述的处理器例如是通用处理器,包括中央处理器(central processing unit,简称:cpu)、网络处理器(network processor,简称:np)等,能够实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器例如是微处理器或者任何常规的处理器等。
[0153]
在上述基础上,本技术还提供一种电子设备,包括如上任一种实现方式实现的语义识别装置。
[0154]
在上述基础上,本技术还提供一种芯片,包括:逻辑电路和输入接口,其中:所述输入接口用于获取待处理的数据,如语音信号、历史对话记录、设备状态信息、用户行为习惯等;所述逻辑电路用于对待处理的数据执行前述方法实施例中服务器侧的技术方案,得到处理后的数据。该待处理的数据包括目标意图、目标意图对应的指令等。
[0155]
可选的,该芯片还包括:输出接口,所述输出接口用于输出处理后的数据。
[0156]
本技术还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序,所述程序在被处理器执行时用于执行前述实施例中服务器侧的技术方案。
[0157]
本技术实施例还提供一种计算机程序产品,当所述计算机程序产品在语义识别装置上运行时,使得所述语义识别装置执行前述实施例中服务器侧的技术方案。
[0158]
本领域普通技术人员应理解:实现上述各方法实施例的全部或部分步骤能够通过
程序指令相关的硬件来完成。前述的程序能够存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种存储程序代码的介质,具体的介质类型本技术不做限制。
再多了解一些

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

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

相关文献