1.本技术涉及互联网技术领域,尤其涉及一种服务器及多语言文本语义理解方法。
背景技术:2.随着人机交互的不断发展,语音正在被重塑成为人机交互的新范式。人类对机器的操作,从物理手柄按键,到物理键盘鼠标,再到触摸屏,而现在语音成为了重要的交互方式。越来越多人通过语音搜索查询天气、地图,通过发布语音指令控制电灯、电视等智能家电。伴随经济全球化的浪潮,以智能语音服务为主要卖点的智能家电同时在多个国家和地区销售,因此其中的语音交互功能面临多语言的挑战。
3.针对多语言的语义理解,通常是分别训练开发各种语言的单语言模型,最后将多个单语言模型所输出的结果进行融合。但是,不同语言对应的模型需要单独优化、处理错误问题,使得多语言多模型开发成本高、维护难度大。另外,训练小语种对应的模型时,由于使用人数较少,语料比较稀缺,数据的匮乏使得在小语种对应的模型的训练过程变得困难。因此,目前无法针对不同的下游任务对多语言统一进行语义理解。
技术实现要素:4.本技术提供了一种服务器及多语言文本语义理解方法,以解决现有技术中无法有效对多语言统一进行语义理解的技术问题。
5.第一方面,本技术提供了一种服务器,所述服务器被配置为:
6.将接收到的语音指令识别为文本数据;
7.将所述文本数据输入至已训练好的多语言文本语义理解模型,得到所述文本数据所表征的用户意图及关键槽位值,其中,所述多语言文本语义理解模型的训练过程利用元学习的训练方法进行微调;
8.将所述关键槽位值解析为键值对形式,得到初始实体信息,对所述初始实体信息进行纠错,得到最终实体信息;
9.将所述最终实体信息进行统一,获取标准实体信息;
10.根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息,将所述封装信息发送至智能终端,以使所述智能终端根据所述封装信息响应所述语音指令。
11.第二方面,本技术提供了一种多语言文本语义理解方法,所述方法包括:
12.将接收到的语音指令识别为文本数据;
13.将所述文本数据输入至已训练好的多语言文本语义理解模型,得到所述文本数据所表征的用户意图及关键槽位值,其中,所述多语言文本语义理解模型的训练过程利用元学习的训练方法进行微调;
14.将所述关键槽位值解析为键值对形式,得到初始实体信息,对所述初始实体信息进行纠错,得到最终实体信息;
15.将所述最终实体信息进行统一,获取标准实体信息;
16.根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息,将所述封装信息发送至智能终端,以使所述智能终端根据所述封装信息响应所述语音指令。
17.与现有技术相比,本技术的有益效果为:
18.本技术提供了一种服务器及多语言文本语义理解方法,服务器基于采集的包含多种语种的特征数据训练出多语言文本语义理解模型,并利用元学习的训练方法对多语言文本语义理解模型进行微调。用户输出语音指令时,服务器将接收到的用户的语音指令转化为文本数据,并将文本数据输入至多语言文本语义理解模型中,以使该模型对文本数据进行分析,获取所述文本数据所表征的用户意图和关键槽位信息。服务器通过将关键槽位值解析为键值对形式实现对初始实体信息的存储,并对初始实体信息进行内容纠错以及形式统一,得到标准实体信息。最后,服务器可根据用户意图及标准实体信息获取相应的封装信息,并反馈至智能终端,以使智能终端响应用户所输入的语音指令。本技术中利用元学习微调多语言文本语义理解模型,加强小样本学习的效果,通过一个模型对包含多语种的语音指令进行意图分析,并解决了小语种语料缺少的问题,即实现对包含小语种在内的多语种语音指令进行意图分析。另外,为了让多语言语义理解适配下游任务,将获得的实体信息进行统一,实现了多语言语义理解从文本输入到参数封装输出的统一的完整过程。
附图说明
19.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1中示例性示出了根据一些实施例的语音识别方法和语音识别装置的系统架构的示意图;
21.图2中示例性示出了根据一些实施例的智能设备200的硬件配置框图;
22.图3中示例性示出了根据一些实施例的智能设备200的配置示意图;
23.图4中示例性示出了根据一些实施例的一种语音交互网络架构示意图;
24.图5中示例性示出了根据一些实施例的多语言文本语义理解模型的微调过程的流程示意图;
25.图6中示例性示出了根据一些实施例的各语种数据量分布示意图;
26.图7中示例性示出了根据一些实施例的元学习任务数据的划分示意图;
27.图8中示例性示出了根据一些实施例的多语言文本语义理解方法的流程示意图;
28.图9中示例性示出了根据一些实施例的用户发送语音指令的应用场景图;
29.图10中示例性示出了根据一些实施例的多语言文本语义理解模型的结构示意图;
30.图11中示例性示出了根据一些实施例的智能设备200响应语音指令的显示示意图。
具体实施方式
31.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
32.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
33.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
34.图1示出了可以应用本技术的语音识别方法和语音识别装置的示例性系统架构。如图1所示,其中,10为服务器,200为终端设备,示例性包括(智能电视200a,移动设备200b,智能音箱200c)。
35.本技术中服务器10与智能设备200通过多种通信方式进行数据通信。可允许智能设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器10可以向终端设备20提供各种内容和互动。示例性的,智能设备200与服务器10可以通过发送和接收信息,以及接收软件程序更新。
36.服务器10可以是提供各种服务的服务器,例如对智能设备200采集的音频数据提供支持的后台服务器。后台服务器可以对接收到的音频等数据进行分析等处理,并将处理结果(例如端点信息)反馈给终端设备。服务器10可以是一个服务器集群,也可以是多个服务器集群,可以包括一类或多类服务器。
37.智能设备200可以是硬件,也可以是软件。当智能设备200为硬件时,可以是具有声音采集功能的各种电子设备,包括但不限于智能音箱、智能手机、电视、平板电脑、电子书阅读器、智能手表、播放器、计算机、ai设备、机器人、智能车辆等等。当智能设备200、201、202为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供声音采集服务),也可以实现成单个软件或软件模块。在此不做具体限定。
38.需要说明的是,本技术实施例所提供的多语言文本语义理解方法可以通过服务器10执行,也可以通过终端设备20执行,还可以通过服务器10和终端设备20共同执行,本技术对此不做限定。
39.图2示出了根据示例性实施例中智能设备200的硬件配置框图。如图2所示智能设备200包括通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。控制器包括中央处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。
40.显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面。
41.显示器260可为液晶显示器、oled显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
42.通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。智能设备200可以通过通信器220服务器10建立控制信号和数据信号的发送和接收。
43.用户接口,可用于接收外部的控制信号。
44.检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
45.声音采集器可以是麦克风,也称“话筒”,“传声器”,可以用于接收用户的声音,将声音信号转换为电信号。智能设备200可以设置至少一个麦克风。在另一些实施例中,智能设备200可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,智能设备200还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
46.此外,麦克风可以是内置在智能设备200上,或者麦克风通过有线或者无线的方式与智能设备200相连接。当然,本技术实施例对麦克风在智能设备200上的位置不作限定。或者,智能设备200可以不包括麦克风,即上述麦克风并未设置于智能设备200中。智能设备200可以通过接口(如usb接口130)外接麦克风(也可以称为话筒)。该外接的话筒可以通过外部固定件(如带夹子的摄像头支架)固定在智能设备200上。
47.控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制智能设备200的整体操作。
48.示例性的,控制器包括中央处理器(central processing unit,cpu),音频处理器,图形处理器(graphics processing unit,gpu),ram random access memory,ram),rom(read-only memory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。
49.在一些示例中,智能设备的操作系统为android系统为例,如图3所示,智能电视200-1从逻辑上可以分为应用程序(applications)层(简称“应用层”)21,内核层22和硬件层23。
50.其中,如图3所示,硬件层可包括图2所示的控制器250、通信器220、检测器230等。应用层21包括一个或多个应用。应用可以为系统应用,也可以为第三方应用。如,应用层21包括语音识别应用,语音识别应用可以提供语音交互界面和服务,用于实现智能电视200-1与服务器10的连接。
51.内核层22作为硬件层和应用层21之间的软件中间件,用于管理和控制硬件与软件资源。
52.在一些示例中,内核层22包括检测器驱动,检测器驱动用于将检测器230采集的语音数据发送至语音识别应用。示例性的,智能设备200中的语音识别应用启动,智能设备200与服务器10建立了通信连接的情况下,检测器驱动用于将检测器230采集的用户输入的语音数据发送至语音识别应用。之后,语音识别应用将包含该语音数据的查询信息发送至服务器中的意图识别模块202。意图识别模块202用于将智能设备200发送的语音数据输入至意图识别模型。
53.为清楚说明本技术的实施例,下面结合图4对本技术实施例提供的一种语音识别网络架构进行描述。
54.参见图4,图4为本技术实施例提供的一种语音交互网络架构示意图。图4中,智能设备用于接收输入的信息以及输出对该信息的处理结果。语音识别模块部署有语音识别服
务,用于将音频识别为文本;语义理解模块部署有语义理解服务,用于对文本进行语义解析;业务管理模块部署有业务指令管理服务,用于提供业务指令;语言生成模块部署有语言生成服务(nlg),用于将指示智能设备执行的指令转化为文本语言;语音合成模块部署有语音合成(tts)服务,用于将指令对应的文本语言处理后发送至扬声器进行播报。在一个实施例中,图4所示架构中可存在部署有不同业务服务的多个实体服务设备,也可以一个或多个实体服务设备中集合一项或多项功能服务。
55.一些实施例中,下面对基于图4所示架构处理输入智能设备的信息的过程进行举例描述,以输入智能设备的信息为通过语音输入的查询语句为例:
56.[语音识别]
[0057]
智能设备可在接收到通过语音输入的查询语句后,智能设备可对查询语句的音频进行降噪处理和特征提取,这里的去噪处理可包括去除回声和环境噪声等步骤。
[0058]
[语义理解]
[0059]
利用声学模型和语言模型,对识别出的候选文本和相关联的上下文信息进行自然语言理解,将文本解析为结构化的、机器可读的信息,业务领域、意图、词槽等信息以表达语义等。得到可执行意图确定意图置信度得分,语义理解模块基于所确定的意图置信度得分选择一个或者多个候选可执行意图,
[0060]
[业务管理]
[0061]
语义理解模块根据对查询语句的文本的语义解析结果,向相应的业务管理模块下发查询指令以获取业务服务给出的查询结果,以及执行“完成”用户最终请求所需的动作,并将查询结果对应的设备执行指令进行反馈。
[0062]
需要说明的是,图4所示架构只是一种示例,并非对本技术保护范围的限定。本技术实施例中,也可采用其他架构来实现类似功能,例如:上述过程全部或部分可以由智能终端来完成,在此不做赘述。
[0063]
随着智能设备的广泛应用以及人机交互的不断发展,通过语音命令控制相应智能设备,得到广大用户的青睐。由于智能设备同时在多个国家和地区销售,因此其中的语音交互功能面临多语言的挑战。目前,通常是分别训练开发各种语言的单语言模型进行多语言的语义理解。但是,语言的繁多增加了维护难度、减缓了扩展速度,不同语言对应的模型需要单独优化、处理错误问题,使得多语言多模型开发成本高、维护难度大。另外,训练小语种对应的模型时,由于使用人数较少,语料比较稀缺,数据的匮乏使得在小语种对应的模型的训练过程变得困难。因此,目前无法针对不同的下游任务对多语言统一进行语义理解。针对于此,本技术在一些实施例中提供了一种服务器,该服务器被配置为执行多语言文本语义理解过程。下面结合附图对多语言文本语义理解过程进行说明。
[0064]
在一些实施例中,服务器10所执行的多语言文本语义理解过程可以在一个其他设备中执行。后续以服务器10执行为例。在进行多语言文本语义理解之前,可先训练出多语言文本语义理解模型。
[0065]
在一些实施例中,所述多语言文本语义理解模型基于labse(language-agnostic bert sentence embedding,多语言bert嵌入向量模型)获得。预训练labse包含词向量的对齐以及句子向量的对齐。在词向量的对齐上采用多语言bert(预训练的语言表征模型)在多种语言的语料上进行训练。其中,为了将不同的语言的编码映射到同一个空间,并实现多个
语言的词向量的对齐,采用mmlm(multilingual masked language model,多语言遮蔽语言模型)和tlm(translation language model),翻译语音建模)混合预训练实现将不同语言编码表示到同一个语义空间。在句子对齐上采用对比学习的方法在多语言平行语料上按照labse进一步训练,使不同语言的句子向量在统一的语义空间对齐。labse在训练时采用双编码器分别对源语言和目标语言进行编码,两个编码器共享参数且用经过mmlm和tlm方法预训练的bert模型的参数进行初始化。
[0066]
在一些实施例中,服务器10以预训练好的labse模型为基础建立多语言文本语义理解模型。labse模型对于输入的文本首先进行编码,输入到labse,经过多层的transformer输出编码结果,[cls]对应的编码代表整个句子的编码,其结果加上一个softmax层将用于进行意图分类,公式如下:
[0067]
yi=softmax(w
ih[cls]
+bi)
[0068]
式中,h
[cls]
代表[cls]对应的embedding输出结果,wi对应的是线性层的权重矩阵,bi为线性层的偏置向量,yi为输出向量。
[0069]
对应词的编码输出加上一个softmax层进行槽位的预测,公式如下:
[0070]
n∈1...n
[0071]
式中,h
[n]
代表句子s中第n个词对应的embedding输出结果,ws对应的是线性层的权重矩阵,bs为线性层的偏置向量,句子s的第n个词对应的输出向量。
[0072]
在一些实施例中,labse模型的损失函数如下:
[0073][0074]
式中,代表损失函数,n代表一个batch(批次)内句子的数目,xi,yi分别代表第一种语言和第二种语言第i个句子的[cls]的输出向量,φ(xi,yi)为两个语言句向量的相似度,m为margin(余量)。
[0075]
在一些实施例中,labse模型微调时损失函数包含两部分:意图分类预测和真实分类的交叉熵损失为li,槽位预测与真实槽位的交叉熵损失为ls,总的损失为l=li+ls,通过训练微调让总的损失达到最小。
[0076]
下面结合附图介绍一下labse模型的微调过程。
[0077]
图5中示例性示出了根据一些实施例的多语言文本语义理解模型的微调过程的流程示意图。如图5所示,多语言文本语义理解模型的微调过程如下:
[0078]
s501:识别原始数据的语种,根据识别出语种的原始数据获取特征数据,其中,所述原始数据包含多种语种的语料。
[0079]
在一些实施例中,为了实现多语言的语义理解,服务器10在微调时用了21个语言的语料。由于不同语种在语法习惯和行文结构上存在较大差异,例如,中文、日文和泰语在书写时以字为单位,字与字之间没有空格,而英语、法语等以单词为最小单元,单词和单词之间有空格。如果一句话中同时存在多种语言时,例如,“dow jones的指数跌了吗”,当前语句中同时有中文和英语,服务器10在进行特征数据的准备时首先要对原始数据中的语种进行识别,以便于区分出不同的语言进行tokenize(标记解析)之前的字(词)的划分。
[0080]
在一些实施例中,服务器10依次利用unicode编码的正则匹配、各语言单词词表以及python语言检测工具包langdetect对语句中的语种进行识别。识别过程如下:首先,服务
器10利用unicode编码的正则匹配以字符为单位对原始数据进行检测。由于不同语言的字母的unicode编码不同,利用unicode的编码可以大致判断出某些语言,如中文、日文、泰文和阿拉伯语等。但是对于共用拉丁字母的英文、法语等,是具备相同字母体系的语种,用unicode编码无法区分。所以当利用unicode编码的正则匹配检测完之后,若是检测结果中存在由于具备相同字母体系而未识别出语种的原始数据时,服务器10可以再借助各语言单词词表以单词为单位对原始数据进行检测。由于各语言单词词表不完整,各个语言存在共同的单词等,在少数情况下也存在无法完全区分的情况,此时,若存在因具备相同单词的而未识别出语种的原始数据时,服务器10可利用python语言检测工具包langdetect进行检测,结合前面检测的结果给出最终的检测结果。
[0081]
在一些实施例中,通过上述检测过程,服务器10对原始数据中的语种进行识别,然后根据识别出语种的原始数据以各个语言的最小单元(例如英文为词,中文为字)进行分割。例如,对于“dow jones的指数跌了吗”,将会被分割为[dow,jones,的,指,数,跌,了,吗]。分割之后服务器10按照bio1的序列标注方法对其进行序列标注[b_index_name,i_index_name,o,o,o,o,o,o]。此处,服务器10采用bio1为文本中的单词打上不同的标签,对于非关键的单词标注“o”,对于关键信息的标签以“b-tag”开头,后续部分标注“i-tag”。
[0082]
需要说明的是,对于从右往左书写的语言在进行数据标注时则是文本从右往左,标注从左往右,例如阿拉伯语句子(播放足球比赛现场直播)的标注为[o,b_mediatype,i_mediatype,o,b_title,i_title]。
[0083]
通过上述步骤s501,最终整理的特征数据如表1所示。
[0084]
表1:
[0085][0086]
s502:将训练过程划分为训练任务和适应任务,其中,所述训练任务和适应任务均分别通过训练数据和测试数据进行,所述训练数据和测试数据选取自所述特征数据。
[0087]
图6中示例性示出了根据一些实施例的各语种数据量分布示意图。对于使用人数较多、互联网较为发达地区的语料收集较为方便,因此语料比较充足,而使用人数较少的地区语料则比较稀缺。如图6所示,在一些实施例中,为了加强数据缺少的语种的语义识别的效果,服务器10采用元学习的训练方法来实现常见语种的知识向数据缺少的语种的迁移。
[0088]
在一些实施例中,服务器10将训练分为两个任务:训练任务(train task)和适应任务(adapt task),训练任务和适应任务分别对应分配有训练数据(suport set)和测试数据(query set)。其中,所述训练数据和测试数据选取自所述特征数据,所述特征数据包含大语种特征数据和小语特征数据。
[0089]
在一些实施例中,服务器10通过不同任务语料语种划分的不同实现了知识在语种之间的迁移。图7中示例性示出了根据一些实施例的元学习任务数据的划分示意图。结合图7所示,训练任务的训练数据只包含语料充足的大语种特征数据,如,英语、汉语、法语,而适应任务的训练数据中只包含语料缺乏的小语特征数据,例如,阿拉伯语、马来语。对于训练任务和适应任务的测试数据中也只包含语料缺乏的小语特征数据。
[0090]
s503:将元网络结构中的参数进行初始化,并基于所述训练任务和适应任务进行
迭代训练,更新所述元网络结构中的参数。
[0091]
在一些实施例中,初始化元网络结构中的参数φ0,开始进行迭代训练,训练过程如下:
[0092]
a.先进行训练任务,将元网络结构中的参数φ0赋值给训练任务的网络,得到θ
t
;b.使用训练任务的训练数据,用学习率α
t
对θ
t
进行迭代优化,更新θ
t
;c.用训练任务的测试数据计算损失l
t
,并计算l
t
对于θ
t
的梯度;d.用该梯度更新元网络结构中的参数φ0得到φ1;e.将φ1赋值给适应任务的网络得到θa,然后使用适应任务的训练数据更新θa;f.用更新的θa在适应任务的测试数据上计算损失的梯度;g.用步骤f中所得的梯度更新φ1;h.重复上述步骤a到g的过程。
[0093]
以上,服务器10基于labse建立的多语言文本语义理解模型,利用了labse在不同语言句向量对齐上的优势,有助于意图识别的效果。服务器10利用元学习对labse模型进行微调,使语料丰富的语种的知识迁移到语料稀缺的小语种上,能提高小语种的意图识别和槽位填充准确率。
[0094]
下面结合附图描述本技术一些实施例提供的多语言文本语义理解过程。
[0095]
图8中示例性示出了根据一些实施例的多语言文本语义理解方法的流程示意图。如图8所示,所述方法包括以下步骤:
[0096]
s801:将接收到的语音指令识别为文本数据。
[0097]
图9中示例性示出了根据一些实施例的用户发送语音指令的应用场景图。当用户使用智能电视时,可以向智能电视发送与搜索媒资,或者设置类相关的语音指令。例如,用户若是搜寻想要观看的电影时,可向智能电视发送相应的语音指令,结合图9,用户根据自己的用语习惯,向智能电视发送“搜索xxx电影第三季(中文)”,或“search for xxx movie(英文)”;“rechercher xxx films(法语)”等不同语种的语音指令。在一些实施例中,智能电视可将语音指令发送至服务器10,由服务器10根据asr将用户语音输入之后转化的文本。这里,智能电视也可直接将用户的语音指令通过asr转化为文本数据,再将文本数据发送至服务器。
[0098]
s802:将所述文本数据输入至已训练好的多语言文本语义理解模型,得到所述文本数据所表征的用户意图及关键槽位值,其中,所述多语言文本语义理解模型的训练过程利用元学习的训练方法进行微调。
[0099]
在一些实施例中,服务器10将文本数据输入至多语言文本语义理解模型,多语言文本语义理解模型对文本数据进行意图识别与槽位填充,从文本数据中获取表征用户意图及关键槽位值的信息。
[0100]
图10中示例性示出了根据一些实施例的多语言文本语义理解模型的结构示意图。结合图10,将“search for x x
‘
movie x x three”输入至模型,通过模型对其进行意图识别与槽位填充,模型预测用户意图为影视搜索意图,模型预测的标签序列为“o o b i-actor i-actor b-mediatype b-title i-title b-season”。
[0101]
模型的训练效果如下:
[0102]
模型在验证集的指标如表格2所示。
[0103]
表2:
[0104][0105]
例如,将文本数据“search movie xx”输入至模型,得到的解析结果为用户意图“video.search(影视搜索)”,媒资类型为“movie(电影)”,电影名为“xx”。
[0106]
s803:将所述关键槽位值解析为键值对形式,得到初始实体信息,对所述初始实体信息进行纠错,得到最终实体信息。
[0107]
在一些实施例中,为了方便后续流程更加便捷准确的获取对应数据,服务器10将槽位标注的结果解析为键值对的形式,承接上述例子,即{title:xx,actor:xx,mediatype:movie,season:three}。
[0108]
在一些实施例中,服务器10可从初始实体信息中通过取键获取到一些实体,如电影名、人名等进行多语言实体纠错,服务器10控制联合知识图谱中的实体库建立与所述用户意图相关的知识图谱,根据与用户意图相关的知识图谱对所述初始实体信息进行纠错。针对实现的意图建立并实时维护多语言的影视、音乐、百科等知识图谱,用于为语义理解模块提供多语言的知识支撑。
[0109]
此处的实体纠错主要针对两个方面的错误,第一方面,asr语音识别的错误,在asr识别的过程中由于实体的信息与上下文相关度不高,因此实体中存在很多语音识别未纠正的错误。例如,“我想看x晶的电影xxx”,这段文本中的人名“x晶”,根据与用户意图相关的知识图谱,此处应该是导演“x京”。第二方面,槽位填充的错误:如“play xxx audio”,电影名填充的结果可能为“xxx audio”。
[0110]
s804:将所述最终实体信息进行统一,获取标准实体信息。
[0111]
在一些实施例中,由于多语言文本语义理解模型是对各语音指令进行统一的语义理解,当解析到意图类别和槽位标签后,服务器10可对一些最终实体信息进行一定的实体统一化处理,得到标准实体信息,以便于下游进行业务处理。这里,标准实体信息指的是标准的英文实体信息。例如,日期时间、快进快退意图下的持续时间、video.search(影视搜索)意图下的季期、control.tv_input_source(控制电视输入源)意图下的信号源实体等。
[0112]
在一些实施例中,若所述最终实体信息表征存在日期时间时,控制利用日期时间正则表达式统一所述最终实体信息。如天气查询、闹钟/计时器设置、epg查询等意图下都可能会有日期时间实体。日期时间实体统一的解决方案为:基于开源时间解析库dateparser并根据本项目场景需求进行定制化开发,重点任务是对不同的语言,定义相应的日期时间正则表达式,对槽位标注中的date_time标签的字段进行解析,来满足对用户口语化表达中日期时间内容的解析。这里,dateparser支持几乎所有现有的日期格式:绝对日期,相对日期("two weeks ago"或"tomorrow"),时间戳等。支持200多种语言区域,支持语言自动检测,支持带时区缩写或utc偏移量("august 14,2015 est","21 july 2013 10:15 pm+0500"...)的日期,支持自定义解析格式。
[0113]
在一些实施例中,若所述最终实体信息表征存在持续时间时,控制利用持续时间正则表达式统一所述最终实体信息。持续时间实体解析主要会在快进快退意图中出现,利用服务器10中自主开发持续时间解析模块,定义不同语言的持续时间正则表达式,然后对
槽位标注结果中的duration_time标签字段进行解析。例如,简体中文的持续时间正则表达式为(\d+)(小时|时)(\d+)(分|分钟)|(\d+)(秒),英文的持续时间正则表达式为(\d+)(hou)|(\d+)(minute)|(\d+)(second)。
[0114]
在一些实施例中,若所述最终实体信息表征存在设置实体、搜索实体等时,控制利用自主定义实体同义词的方式统一所述最终实体信息。由于设置实体、搜索实体等在智能终端都有特定的写法,且数量有限,比如设置意图中的实体reset to factory,在不同语言下的说法可能有恢复出厂设置(中文),reset to factory(英文),r
é
initialisation aux r
é
glages usine(法语),不同语言的实体都需要统一成英文。
[0115]
最终实体信息的统一结果如表3所示。
[0116]
表3:
[0117][0118]
s805:根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息,将所述封装信息发送至智能终端,以使所述智能终端根据所述封装信息响应所述语音指令。
[0119]
在一些实施例中,服务器10根据用户意图设置选择预设的参数封装模板,在所述标准实体信息中选取相应的信息参数添加至参数封装模板中,得到封装信息。图11中示例性示出了根据一些实施例的智能设备200响应语音指令的显示示意图。如图11所示,当用户向智能电视发送“搜索xxx电影第三季”的语音之后,经由服务器10向智能电视反馈的封装信息,智能电视进行相应的展示。
[0120]
本技术中利用元学习微调多语言文本语义理解模型,加强小样本学习的效果,通过一个模型对包含多语种的语音指令进行意图分析,并解决了小语种语料缺少的问题,即实现对包含小语种在内的多语种语音指令进行意图分析。另外,为了让多语言语义理解适配下游任务,将获得的实体信息进行统一,实现了多语言语义理解从文本输入到参数封装输出的统一的完整过程。
[0121]
与上述服务器相对应的,本技术还提供了一种多语言文本语义理解方法,所述方法包括:服务器10将接收到的语音指令识别为文本数据。服务器10将所述文本数据输入至已训练好的多语言文本语义理解模型,得到所述文本数据所表征的用户意图及关键槽位值,其中,所述多语言文本语义理解模型的训练过程利用元学习的训练方法进行微调。服务器10将所述关键槽位值解析为键值对形式,得到初始实体信息,对所述初始实体信息进行纠错,得到最终实体信息。服务器10将所述最终实体信息进行统一,获取标准实体信息。服务器10根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息,将所述封装信息发送至智能终端,以使所述智能终端根据所述封装信息响应所述语音指令。
[0122]
在一些实施例中,所述多语言文本语义理解模型基于labse建立,利用所述元学习的训练方法微调labse,包括:服务器10识别原始数据的语种,根据识别出语种的原始数据
获取特征数据,其中,所述原始数据包含多种语种的语料。服务器10将训练过程划分为训练任务和适应任务,其中,所述训练任务和适应任务均分别通过训练数据和测试数据进行,所述训练数据和测试数据选取自所述特征数据。服务器10将元网络结构中的参数进行初始化,并基于所述训练任务和适应任务进行迭代训练,更新所述元网络结构中的参数。
[0123]
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
[0124]
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个
……”
限定的要素,并不排除在包括要素的电路结构、物品或者设备中还存在另外的相同要素。
[0125]
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本技术的其他实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求的内容指出。
[0126]
以上的本技术实施方式并不构成对本技术保护范围的限定。
技术特征:1.一种服务器,其特征在于,所述服务器被配置为:将接收到的语音指令识别为文本数据;将所述文本数据输入至已训练好的多语言文本语义理解模型,得到所述文本数据所表征的用户意图及关键槽位值,其中,所述多语言文本语义理解模型的训练过程利用元学习的训练方法进行微调;将所述关键槽位值解析为键值对形式,得到初始实体信息,对所述初始实体信息进行纠错,得到最终实体信息;将所述最终实体信息进行统一,获取标准实体信息;根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息,将所述封装信息发送至智能终端,以使所述智能终端根据所述封装信息响应所述语音指令。2.根据权利要求1所述的服务器,其特征在于,所述多语言文本语义理解模型基于labse建立,在利用所述元学习的训练方法微调labse的过程中,所述服务器被配置为:识别原始数据的语种,根据识别出语种的原始数据获取特征数据,其中,所述原始数据包含多种语种的语料;将训练过程划分为训练任务和适应任务,其中,所述训练任务和适应任务均分别通过训练数据和测试数据进行,所述训练数据和测试数据选取自所述特征数据;将元网络结构中的参数进行初始化,并基于所述训练任务和适应任务进行迭代训练,更新所述元网络结构中的参数。3.根据权利要求2所述的服务器,其特征在于,所述特征数据包含大语种特征数据和小语特征数据,在为所述训练任务和适应任务匹配特征数据时,所述服务器被配置为:控制所述训练任务的训练数据采用所述大语种特征数据,并控制所述训练任务的测试数据采用所述小语特征数据;控制所述适应任务的训练数据和测试数据均采用所述小语特征数据。4.根据权利要求1所述的服务器,其特征在于,在所述将所述最终实体信息进行统一,获取标准实体信息的步骤中,所述服务器被配置为:若所述最终实体信息表征存在日期时间时,控制利用日期时间正则表达式统一所述最终实体信息;若所述最终实体信息表征存在持续时间时,控制利用持续时间正则表达式统一所述最终实体信息;若所述最终实体信息表征存在设置实体时,控制利用自主定义实体同义词的方式统一所述最终实体信息。5.根据权利要求2所述的服务器,其特征在于,在所述根据识别出语种的原始数据获取特征数据的步骤中,所述服务器被配置为:根据序列标注方法对识别出语种的原始数据以最小单元进行切分和标注,得到所述特征数据。6.根据权利要求2所述的服务器,其特征在于,在所述识别原始数据的语种的步骤中,所述服务器被配置为:利用unicode编码的正则匹配以字符为单位对原始数据进行检测;若检测结果中存在具备相同字母体系的未识别出语种的原始数据时,利用各语言单词
词表以单词为单位对原始数据进行检测;若检测结果中存在具备相同单词的未识别出语种的原始数据时,利用python语言检测工具包对原始数据进行检测。7.根据权利要求1所述的服务器,其特征在于,在所述对所述初始实体信息进行纠错的步骤中,所述服务器被配置为:控制联合知识图谱中的实体库建立与所述用户意图相关的知识图谱;根据与用户意图相关的知识图谱对所述初始实体信息进行纠错。8.根据权利要求1所述的服务器,其特征在于,在所述根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息的步骤中,所述服务器被配置为:根据用户意图设置选择预设的参数封装模板;在所述标准实体信息中选取相应的信息参数添加至参数封装模板中,得到封装信息。9.一种多语言文本语义理解方法,其特征在于,所述方法包括:将接收到的语音指令识别为文本数据;将所述文本数据输入至已训练好的多语言文本语义理解模型,得到所述文本数据所表征的用户意图及关键槽位值,其中,所述多语言文本语义理解模型的训练过程利用元学习的训练方法进行微调;将所述关键槽位值解析为键值对形式,得到初始实体信息,对所述初始实体信息进行纠错,得到最终实体信息;将所述最终实体信息进行统一,获取标准实体信息;根据所述用户意图及所述标准实体信息进行参数封装,得到封装信息,将所述封装信息发送至智能终端,以使所述智能终端根据所述封装信息响应所述语音指令。10.根据权利要求9所述的多语言文本语义理解方法,其特征在于,所述多语言文本语义理解模型基于labse建立,利用所述元学习的训练方法微调labse,包括:识别原始数据的语种,根据识别出语种的原始数据获取特征数据,其中,所述原始数据包含多种语种的语料;将训练过程划分为训练任务和适应任务,其中,所述训练任务和适应任务均分别通过训练数据和测试数据进行,所述训练数据和测试数据选取自所述特征数据;将元网络结构中的参数进行初始化,并基于所述训练任务和适应任务进行迭代训练,更新所述元网络结构中的参数。
技术总结本申请实施例提供了一种服务器及多语言文本语义理解方法,将接收到的语音指令识别为文本数据;将文本数据输入至利用元学习的训练方法训练好的多语言文本语义理解模型中,得到用户意图及关键槽位值;将关键槽位值解析为键值对形式,得到初始实体信息,对初始实体信息进行纠错,得到最终实体信息;将最终实体信息进行统一,获取标准实体信息;根据用户意图及标准实体信息进行参数封装,得到封装信息,智能终端在获取到封装信息后可响应语音指令。本申请中利用元学习微调模型,加强小样本学习的效果,实现对包含小语种在内的多语种语音指令进行意图分析。将获得的实体信息进行统一,以使其适配于下游任务,实现从文本输入到参数封装的完整过程。装的完整过程。装的完整过程。
技术研发人员:曹晚霞 朱飞 胡胜元
受保护的技术使用者:海信电子科技(武汉)有限公司
技术研发日:2022.03.17
技术公布日:2022/7/5