意图识别模型的训练方法、意图识别方法、装置及介质与流程

未命名 07-12 阅读:67 评论:0


1.本技术涉及计算机技术领域,具体涉及一种意图识别模型的训练方法、意图识别方法、装置及介质。


背景技术:

2.外呼机器人是一种任务型对话系统,指的是机器给人打电话的系统(反之,人给机器打电话的系统称为呼入机器人),该系统的目标是完成预设的特定任务(例如确定家中是否有人收快递,是否愿意参加某项营销活动等),对话过程中,机器人会引导对话的有效进行,在实际应用场景中应用广泛。
3.在当前企业追求经营降本增效和精益用户运营的强烈需求驱动下,外呼机器人作为人工智能(artificial intelligence,ai)技术成熟的产业落地应用,受到越来越高的关注与普及。它能帮助企业和组织精准高效地触达用户,通过优质的人机交互,实现服务提升、营销转化等后续增长目标。但随着外呼机器人在日常生活、工作中被越来越频繁的使用,用户对于拟真度的要求也越来越高,一旦出现答非所问、反应慢等问题,极有可能直接挂断电话,影响转化率等业务指标。
4.目前,用于外呼机器人拨打电话过程中,在进行用户意图识别时,通常是等待用户说话完毕后,基于用户的完整说话内容对应的语音识别结果进行意图识别,人机语音交互的响应时间较长,人机交互效率低。


技术实现要素:

5.本技术实施例提供一种意图识别模型的训练方法、意图识别方法、装置及介质,可以在用户尚未完成回答时,基于语音转写的中间转写结果进行语义补全并对用户的意图进行预测,能够在预测到用户的明确意图时提前进行后续流程的处理,降低整体响应时长,更快地回应用户,提升人机交互效率,提升通话体验。
6.一方面,本技术实施例提供一种意图识别模型的训练方法,所述意图识别模型包括生成模型与意图分类模型,所述方法包括:
7.获取第一原始数据,所述第一原始数据包括第一问题信息与所述第一问题信息对应的第一回复信息;
8.将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;
9.将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集;
10.基于所述第一原始数据、所述候选意图集与第一意图标签,确定第一训练数据;
11.基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的意图识别模型,其中,在对所述意图识别模型进行训练时,第一训练目标为所述意图识别模型输出的第一预测意图信息符合所述第一意图标签。
12.另一方面,本技术实施例提供一种意图识别方法,所述方法包括:
13.获取待处理数据,所述待处理数据包括目标问题信息与所述目标问题信息对应的实时回复信息,所述目标问题信息为外呼机器人播报的问题信息,所述实时回复信息包括对象针对所述目标问题信息未回复完毕的不完整回复信息;
14.基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,其中,所述训练好的意图识别模型是根据如上任一实施例所述的意图识别模型的训练方法进行训练得到的。
15.另一方面,本技术实施例提供一种意图识别模型的训练装置,所述意图识别模型包括生成模型与意图分类模型,所述装置包括:
16.第一获取单元,用于获取第一原始数据,所述第一原始数据包括第一问题信息与所述第一问题信息对应的第一回复信息;
17.第一处理单元,用于将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;
18.第二处理单元,用于将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集;
19.确定单元,用于基于所述第一原始数据、所述候选意图集与第一意图标签,确定第一训练数据;
20.训练单元,用于基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的意图识别模型,其中,在对所述意图识别模型进行训练时,第一训练目标为所述意图识别模型输出的第一预测意图信息符合所述第一意图标签。
21.另一方面,本技术实施例提供一种意图识别装置,所述装置包括:
22.第二获取单元,用于获取待处理数据,所述待处理数据包括目标问题信息与所述目标问题信息对应的实时回复信息,所述目标问题信息为外呼机器人播报的问题信息,所述实时回复信息包括对象针对所述目标问题信息未回复完毕的不完整回复信息;
23.识别单元,用于基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,其中,所述训练好的意图识别模型是根据如上任一实施例所述的意图识别模型的训练方法进行训练得到的。
24.另一方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的方法。
25.另一方面,本技术实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上任一实施例所述的意图识别模型的训练方法。
26.另一方面,本技术实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上任一实施例所述的方法。
27.本技术实施例中,意图识别模型包括生成模型与意图分类模型,通过获取第一原始数据,第一原始数据包括第一问题信息与第一问题信息对应的第一回复信息;将第一原始数据输入生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;将第一问题信息与生成结果中的每个第一预测回复信息输入意图分类模型进行意图预
测,以生成候选意图集;基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据;基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型,其中,在对意图识别模型进行训练时,第一训练目标为意图识别模型输出的第一预测意图信息符合第一意图标签。
28.本技术实施例可以利用生成模型对第一原始数据对应的不完整回复信息进行语义补全生成包含有多个第一预测回复信息的生成结果,然后采用意图分类模型针对每个第一预测回复信息进行意图预测以生成候选意图集,并基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据,然后基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型。使用该训练好的意图识别模型确定用户的意图时,无需等待用户说话完毕,而是可以在用户尚未完成回答时,基于采集的待处理数据的语音转写的中间转写结果进行语义补全并对用户的意图进行预测,换言之,本技术实施例能够在预测到用户的明确意图时提前进行后续流程的处理。相比于等待用户说话完毕再进行意图确认的情况,本技术实施例可以将确定意图的时间提前,降低整体响应时长,更快地回应用户,提升人机交互效率,提升通话体验。
附图说明
29.图1本技术实施例提供的意图识别模型的训练方法的流程示意图。
30.图2为本技术实施例提供的意图识别模型的训练方法的第一应用场景示意图。
31.图3为本技术实施例提供的意图识别模型的训练方法的第二应用场景示意图。
32.图4本技术实施例提供的意图识别方法的第一流程示意图。
33.图5为本技术实施例提供的意图识别方法的第一应用场景示意图。
34.图6为本技术实施例提供的意图识别方法的第二流程示意图。
35.图7为本技术实施例提供的意图识别模型的训练装置的结构示意图。
36.图8为本技术实施例提供的意图识别装置的结构示意图。
37.图9为本技术实施例提供的计算机设备的结构示意图。
具体实施方式
38.本技术实施例提供一种意图识别模型的训练方法、意图识别方法、装置及介质。具体地,本技术实施例的意图识别模型的训练方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、智能电视、智能音箱、穿戴式智能设备、智能车载终端等设备,终端还可以包括客户端,该客户端可以是视频客户端、浏览器客户端、即时通信客户端或小程序等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
39.本技术实施例可应用于人机交互对话等场景。
40.首先,在对本技术实施例进行描述的过程中出现的部分名词或者术语作如下解释:
41.深度学习(deep learning,dl):是机器学习的一个分支,主要通过构建多层人工神经网络,学习样本数据的内在规律和表示向量,以用于文字、图像、声音等数据的分析工作。
42.自然语言处理(natural language processing,nlp):利用深度学习等技术对人类语言进行数学建模,理解人类语言的语义,挖掘语言中的规律和模式,从而解决各项实际任务,如文本分类、实体抽取、文章写作、问答等。
43.语音识别(automatic speech recognition,asr):也称为自动语音识别,其目标是使用计算机自动将人类的语音内容转换为相应的文字,从而可利用自然语言处理技术对转换后的文本内容进行进一步的分析。
44.语言模型(language model,lm):语言模型简单来说就是一串词序列的概率分布,其作用是为一个长度为m的文本确定一个概率分布p,表示这段文本存在的可能性。
45.bert(bidirectional encoder representations from transformers):一种基于自注意力机制的语言模型,用于将文本转换为实数空间里的向量,通过在大规模无标签样本上进行训练,大幅提升了向量表征性能。
46.unilm:是在bert的基础上,产出的预训练语言模型,被称为统一预训练语言模型。使用三种特殊的mask的预训练目标,从而使得模型可以用于自然语言生成(natural language generation,nlg),同时在自然语言理解(natural language understanding,nlu)任务获得和bert一样的效果。unilm可以完成单向、序列到序列和双向预测任务。
47.基于并行生成的机器翻译模型glat(glancing transformer for non-autoregressive neural machine translation):一种非自回归生成算法,训练分两次解码,第一次解码后计算预测结果与目标的距离,并根据距离随机替换输入为目标文字,以帮助学习单词间的依赖关系,可用于机器翻译等场景。
48.da-transformer(directed acyclic transformer for non-autoregressive machine translation):一种非自回归生成算法,基于有向无环图(directed acyclic graph,dag)训练转移概率矩阵,一次计算生成多个可能结果,可用于机器翻译等场景。
49.有向无环图(directed acyclic graph,dag):指的是一个无回路的有向图。它由有限个顶点和有向边组成,每条有向边都从一个顶点指向另一个顶点;从任意一个顶点出发都不能通过这些有向边回到原来的顶点。有向无环图就是从一个图中的任何一点出发,不管走过多少个分叉路口,都没有回到原来这个点的可能性。
50.目前,外呼机器人的主流实现方式是串行形式,被外呼的用户的语音依次经过语音转写(automatic speech recognition,asr)、自然语言理解(natural language understanding,nlu)、对话状态跟踪(dialog state tracking,dst)、对话策略(dialog policy,dp)、自然语言生成(natural language generation,nlg)和语音合成(text to speech,tts)六大模块,各模块功能如下:
51.asr:将用户的语音输入转换为文本,用于后续的语义理解;
52.nlu:从asr转写文本中通过语义识别得到相关意图和槽位信息;
53.dst:根据抽取的意图、槽位信息、历史对话状态、历史系统策略,更新当前对话状态;
54.dp:根据当前对话状态确定下一步系统策略;
55.nlg:将系统策略转换成机器人要播报的自然语言文本输出;
56.tts:将机器人输出的文本转换为语音播放给用户。
57.本技术关注的是nlu模块的意图识别过程,意图识别是从asr转写文本中得到意图。目前的asr技术分为离线识别和实时识别两种,离线识别的输入为整段录音,识别时可基于完整的语音上下文信息进行语音转写,通常具有更低的错字率;实时识别的输入为接收的语音流,基于语音流中不完整的语音信息进行实时转写,常用于需要实时交互的场景。
58.目前常见的外呼机器人均采用实时识别方式进行asr转写,在转写过程中通过最大静默时长参数来判断用户一句话是否已经说完。当判断用户说话完毕时,再将用户说话内容传给nlu模块进行意图识别,得到用户意图后进行后续的dst、dp等流程的处理,虽然目前的asr能一边接收说话人的语音,一边做实时的语音识别,但是后续的nlu模块仍然是等待一句话说完之后,基于整句话进行意图识别的,整个过程如下:s1,检测到用户说话开始;s2,asr获取语音流进行实时撰写;s3,判断用户是否说话完毕,若是则执行s4,若否则返回执行s2;s4,对已说话完毕的语音进行asr转写,得到最终转写结果;对最终转写结果进行意图识别得到用户意图,并基于用户意图进行后续的对话状态跟踪、对话策略、自然语言生成和语音合成等后续流程。
59.相关技术流程中,asr模块在获取语音流进行实时转写时,实际存在中间转写结果。例如,用户说话为“我没有时间啊,要不明天吧,看明天行不行”,asr转写结果可能为:
60.asr中间转写结果1:“我没有”;
61.asr中间转写结果2:“我没有时间啊,要不”;
62.asr中间转写结果3:“我没有时间啊,要不明天吧”;
63.asr最终转写结果4:“我没有时间啊,要不明天吧,看明天行不行”。
64.相关技术的常规意图识别方法只采用最终转写结果进行识别,而将所有中间结果直接丢弃。若能基于中间转写结果进行意图识别,则可以在用户明确表达意图的情况下,及时识别到意图并进行后续流程的处理,将后续流程提前,降低整体响应延时,在用户说话完毕时便可播放相应话术,提升通话体验。这种意图识别称为流式意图识别。对于上述例子,流式意图识别方法将在第2个asr中间转写结果“我没有时间啊,要不”识别到明确意图“没有时间”,直接进行后续流程的处理,而此时用户仍在继续说话。当用户说话完毕时,整个系统已完成后续流程的处理,直接播放准备好的话术进行回复,响应延时将得到明显降低。
65.但是,直接将常规意图识别方法应用于流式意图识别,将存在一定问题。常规意图识别的目标是直接预测用户说话内容的意图,而流式意图识别由于用户说话并未结束,不能直接基于说话内容进行预测,例如上述例子,第一个asr中间转写结果为“我没有”,若是用户说话完毕,则可判断为“否定”意图,但若是中间结果,则有多种可能,如“我没有时间”、“我没有听懂”、“我没有听清”等等,此时存在多种意图;另外如果asr中间转写结果为“我今天没有”,虽未明确说“没有时间”,但后续大概率是“我今天没有时间”、“我今天没有空”等等,此时意图基本确定为“没有时间”,但若基于“我今天没有”直接预测,由于信息缺失,准确率难以保证。
66.因此,流式意图识别需要基于用户当前说话内容补全语义来预测所有可能意图,即需要进行内容生成,只有通过生成模型补全用户语义信息,才能比较准确地判断用户想要表达的实际意图,达到较高的准确率。
67.其中,流式意图识别涉及生成任务,若要生成多种可能结果,通常需要利用生成模型进行多次计算,在生成任务的响应时间上存在不小挑战。另外,若直接将多种生成结果输入到意图分类模型进行预测,在意图分类任务上也存在不小性能压力。
68.本技术提供了一种高性能的流式意图识别方案,可用于外呼机器人拨打电话过程中,无需等待用户说话完毕,而是基于asr中间转写结果,采用非自回归形式进行语义补全并对用户的意图进行预测,具备与常规意图识别相近的响应时间,并且能够在预测到用户的明确意图时提前进行后续流程的处理。相比于等待用户说话完毕再进行意图确认的情况,本技术实施例可以将确定意图的时间提前,降低整体响应时长,更快地回应用户,提升人机交互效率,提升通话体验。
69.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
70.请参阅图1至图3,图1为本技术实施例提供的意图识别模型的训练方法的流程示意图,图2至图3为本技术实施例提供的意图识别模型的训练方法的应用场景示意图。所述意图识别模型包括生成模型与意图分类模型,该方法可以包括以下步骤110至步骤150。
71.步骤110,获取第一原始数据,所述第一原始数据包括第一问题信息与所述第一问题信息对应的第一回复信息。
72.例如,获取线上呼叫数据,按一问一答的形式进行处理,得到第一原始数据集,该第一原始数据集中可以包含多个第一原始数据,其中,每一个第一原始数据包括第一问题信息与第一问题信息对应的第一回复信息,第一问题信息为外呼机器人发出的问题,第一问题信息为用户针对该第一问题信息进行回复的用户回复信息。例如,第一问题信息为“本次来电是邀请您参加今晚的直播课程,您晚上有时间吗?”或者“您晚上有时间吗?”,第一回复信息为“我没有时间哈。”。
73.步骤120,将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果。
74.例如,针对第一原始数据集中的每个第一原始数据,对第一原始数据中的第一回复信息进行随机截断,以模拟用户回复问题时产生的语音流的中间转写结果,并以第一原始数据中的第一问题信息和随机截断的第一回复信息作为输入,利用已经过预训练的生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果。
75.其中,该生成模型可以为da-transformer模型。鉴于意图识别模型需要基于生成内容训练和预测所有可能意图,为了提升意图识别模型的性能,该意图识别模型中的生成模型可以采用非自回归生成算法,比如采用da-transformer模型,并且模型编码需要包含所有可能意图对应的信息,这样,意图识别模型可直接基于模型编码进行训练和预测。
76.可选的,步骤120可以通过步骤121至步骤127实现(图中未示出),具体为:
77.步骤121,根据所述第一原始数据生成第一模型输入信息,所述第一模型输入信息包括所述第一问题信息、所述第一回复信息对应的第一截断回复信息和第一掩码信息。
78.可选的,所述根据所述第一原始数据生成第一模型输入信息,包括:
79.截断所述第一回复信息,得到所述第一回复信息对应的第一截断回复信息;
80.拼接所述第一问题信息和所述第一截断回复信息,得到第一拼接信息;
81.基于第一字符长度对所述第一拼接信息进行掩码处理,得到带第一掩码信息的第
一拼接信息;
82.基于第二字符长度对所述带第一掩码信息的第一拼接信息进行前向截断操作或后向补齐操作,得到所述第一模型输入信息,所述第一模型输入信息的字符总长度等于所述第二字符长度。
83.例如,第一问题信息为“您晚上有时间吗?”,第一回复信息为“我没有时间哈。”。
84.首先,截断第一回复信息,得到第一回复信息对应的第一截断回复信息,比如第一截断回复信息为“我没”。
85.然后,拼接第一问题信息和第一截断回复信息,得到第一拼接信息,比如第一拼接信息为“[cls]您晚上有时间吗[sep]我没”。
[0086]
然后,基于第一字符长度g对第一拼接信息进行掩码处理,得到带第一掩码信息的第一拼接信息,比如g=4,即补充4个[mask],带第一掩码信息的第一拼接信息为:
[0087]“[cls]您晚上有时间吗[sep]我没[mask][mask][mask][mask]”。
[0088]
其中,该第一字符长度g可以为2的幂次方。
[0089]
然后,基于第二字符长度m对带第一掩码信息的第一拼接信息进行前向截断操作或后向补齐操作,得到第一模型输入信息,第一模型输入信息的字符总长度等于第二字符长度,比如m=16,若带第一掩码信息的第一拼接信息的字符总长度小于16,则对带第一掩码信息的第一拼接信息进行后向补齐操作,补了一个“[pad]”,得到的第一模型输入信息可以为:“[cls]您晚上有时间吗[sep]我没[mask][mask][mask][mask][pad]”。
[0090]
例如,该第二字符长度m为超过所有可能的第一拼接信息的平均长度,且该第二字符长度m为2的幂次方。
[0091]
其中,[cls],表示句子的开始,该[cls]标志放在句子的首位;[sep],用于分开两个输入句子,例如输入句子a和b,要在句子a,b后面增加[sep]标志;[mask],用于遮盖句子中的一些单词;[pad],表示要将句子处理为特定的长度,需在句子前或后补[pad]。
[0092]
步骤122,对所述第一模型输入信息进行自注意力编码,得到所述第一模型输入信息对应的第一模型编码向量。
[0093]
例如,该生成模型包括自注意力编码模型,比如该自注意力编码模型可以采用unilm模型或者bert模型实现。该生成模型是利用第二原始数据对初始生成模型进行预训练得到的。
[0094]
例如,将第一模型输入信息输入生成模型,生成模型中的自注意力编码模型进行自注意力编码,得到第一模型输入信息对应的第一模型编码向量,比如第一模型编码向量为:
[0095][0096]
如图2所示,在进行自注意力编码之前,可以将第一模型输入信息转换为向量表示,包括词向量表示(token embeddings)、文本向量表示(segment embeddings)和位置向量表示(position embeddings);然后将上述三个向量表示相加,得到自注意力编码模型的输入。然后经过自注意力编码模型中的编译块(transformer block1,transformer block2至transformer blockn)进行进行自注意力编码,得到第一模型输入信息对应的第一模型
编码向量。
[0097]
步骤123,将所述第一截断回复信息的最后n个字符与所述第一掩码信息的所有字符作为第一目标提取位置,从所述第一模型编码向量中提取所述第一目标提取位置对应的编码向量,得到第二模型编码向量,n为正整数。
[0098]
例如,所述第二编码向量包括所述第一截断回复信息的最后n个字符对应的编码向量以及所述第一掩码信息的所有字符对应的编码向量。提取第一模型编码向量中第一截断回复信息的最后n个字符以及所有[mask]对应的所有字符,用于后续解码流程,其中n≥1,例如,为方便计算,n通常取1。
[0099]
例如,第一模型输入信息为“[cls]您晚上有时间吗[sep]我没[mask][mask][mask][mask][pad]”,第一目标提取位置的对应文本字符为“没[mask][mask][mask][mask]”,则根据上述示例的第一模型输入信息对应的第一模型编码向量,得到的第二模型编码向量为:
[0100][0101]
如图2所示,第二模型编码向量对应的文本信息为“没有空时间听明清懂楚白理s”。
[0102]
步骤124,对所述第二模型编码向量进行解码,得到第一解码向量。
[0103]
例如,如图2示,对第二模型编码向量进行解码,得到的第一解码向量对应的文本信息为“没有空时间听明清懂楚白理s”。
[0104]
步骤125,对所述第一解码向量进行第一处理,得到第一字符概率矩阵,所述第一字符概率矩阵表征所述第一目标提取位置中每个位置对应不同字符的概率。
[0105]
例如,所述对所述第一解码向量进行第一处理,得到第一字符概率矩阵,包括:对所述第一解码向量进行线性变换处理和归一化处理,得到第一字符概率矩阵。
[0106]
步骤126,对所述第一解码向量进行第二处理,得到第一转移概率矩阵,所述第一转移概率矩阵表征所述第一目标提取位置中每个位置到其他位置的跳转概率。
[0107]
例如,所述对所述第一解码向量进行第二处理,得到第一转移概率矩阵,包括:对所述第一解码向量进行两次线性变换处理,并计算内积且进行归一化处理后,得到第一转移概率矩阵。
[0108]
步骤127,基于所述第一字符概率矩阵和所述第一转移概率矩阵,计算不同的第一候选文本对应的第一文本概率,将所述第一文本概率按照从大到小进行排序,并将排在前m个的第一文本概率对应的第一候选文本作为所述生成结果中的多个第一预测回复信息,m为正整数。
[0109]
如图2所示,该生成模型包括有向无环图(directed acyclic graph,dag),上述步骤s125至s127,可以基于dag进行处理,最终得到包含多个第一预测回复信息的生成结果。
[0110]
例如,可以使用dag中的动态规划原则计算不同的候选文本对应的第一文本概率。
[0111]
例如,经过上述步骤s121至s127的处理,生成模型输出的包含有多个第一预测回复信息的生成结果可以为:
[0112]
我没空;我没时间;我没听懂;我没听清;我没听明白;我没有时间。
[0113]
可选的,所述方法还包括:
[0114]
s10,获取第二原始数据,所述第二原始数据包括第二问题信息与所述第二问题信息对应的第二回复信息;
[0115]
s20,利用所述第二原始数据对初始生成模型进行预训练,得到所述生成模型,其中,在对所述初始生成模型进行预训练时,第二训练目标为所述初始生成模型输出的第二预测回复信息符合所述第二回复信息。
[0116]
例如,获取线上呼叫数据,按一问一答的形式进行处理,得到第二原始数据集,该第二原始数据集中可以包含多个第二原始数据,其中,每一个第二原始数据包括第二问题信息与第二问题信息对应的第二回复信息,第二问题信息为外呼机器人发出的问题,第二问题信息为用户针对该第二问题信息进行回复的用户回复信息。例如,第二问题信息为“本次来电是邀请您参加今晚的直播课程,请问您晚上有时间吗?”或者“请问您晚上有时间吗?”,第二回复信息为“我没有时间哈。”。
[0117]
然后,利用第二原始数据对初始生成模型进行预训练,得到生成模型。例如,该初始生成模型可以为da-transformer模型,生成模型为预训练后的da-transformer模型。
[0118]
可选的,步骤s20可以通过步骤s21至步骤s28实现(图中未示出),具体为:
[0119]
s21,根据所述第二原始数据生成第二模型输入信息,所述第二模型输入信息包括所述第二问题信息、所述第二回复信息对应的第二截断回复信息和第二掩码信息。
[0120]
可选的,所述根据所述第二原始数据生成第二模型输入信息,包括:
[0121]
截断所述第二回复信息,得到所述第二回复信息对应的第二截断回复信息;
[0122]
拼接所述第二问题信息和所述第二截断回复信息,得到第二拼接信息;
[0123]
基于第一字符长度对所述第二拼接信息进行掩码处理,得到带第二掩码信息的第二拼接信息;
[0124]
基于第二字符长度对所述带第二掩码信息的第二拼接信息进行前向截断操作或后向补齐操作,得到所述第二模型输入信息,所述第二模型输入信息的字符总长度等于所述第二字符长度。
[0125]
例如,第二问题信息为“请问您晚上有时间吗?”,第二回复信息为“我没有时间哈。”。首先,截断第二回复信息,得到第二回复信息对应的第一截断回复信息,比如第一截断回复信息为“我没”。然后,拼接第二问题信息和第二截断回复信息,得到第二拼接信息,比如第二拼接信息为“[cls]请问您晚上有时间吗[sep]我没”。然后,基于第一字符长度g对第二拼接信息进行掩码处理,得到带第二掩码信息的第二拼接信息,比如g=4,即补充4个[mask],带第二掩码信息的第二拼接信息为:“[cls]请问您晚上有时间吗[sep]我没[mask][mask][mask][mask]”。其中,该第一字符长度g可以为2的幂次方。然后,基于第二字符长度m对带第二掩码信息的第二拼接信息进行前向截断操作或后向补齐操作,得到第二模型输入信息,第二模型输入信息的字符总长度等于第二字符长度,比如m=16,若带第二掩码信息的第二拼接信息的字符总长度大于16,则对带第二掩码信息的第二拼接信息进行前向截断操作,将“请”截断,得到的第二模型输入信息可以为:“[cls]问您晚上有时间吗[sep]我没[mask][mask][mask][mask]”。例如,该第二字符长度m为超过所有可能的第二拼接信息的平均长度,且该第二字符长度m为2的幂次方。
[0126]
例如,第二问题信息为“您晚上有时间吗?”,第二回复信息为“我没有时间哈。”。首先,截断第二回复信息,得到第二回复信息对应的第一截断回复信息,比如第一截断回复信息为“我没”。然后,拼接第二问题信息和第二截断回复信息,得到第二拼接信息,比如第二拼接信息为“[cls]您晚上有时间吗[sep]我没”。然后,基于第一字符长度g对第二拼接信息进行掩码处理,得到带第二掩码信息的第二拼接信息,比如g=4,即补充4个[mask],带第二掩码信息的第二拼接信息为:“[cls]您晚上有时间吗[sep]我没[mask][mask][mask][mask]”。然后,基于第二字符长度m对带第二掩码信息的第二拼接信息进行前向截断操作或后向补齐操作,得到第二模型输入信息,第二模型输入信息的字符总长度等于第二字符长度,比如m=16,若带第二掩码信息的第二拼接信息的字符总长度小于16,则对带第二掩码信息的第二拼接信息进行后向补齐操作,补了一个“[pad]”,得到的第二模型输入信息可以为:“[cls]您晚上有时间吗[sep]我没[mask][mask][mask][mask][pad]”。
[0127]
s22,对所述第二模型输入信息进行自注意力编码,得到所述第二模型输入信息对应的第三模型编码向量。
[0128]
例如,该初始生成模型包括自注意力编码模型,比如该自注意力编码模型可以采用unilm模型或者bert模型实现。
[0129]
例如,将第二模型输入信息输入初始生成模型,初始生成模型中的自注意力编码模型进行自注意力编码,得到第二模型输入信息对应的第三模型编码向量,比如第三模型编码向量为:
[0130][0131]
如图3所示,在进行自注意力编码之前,可以将第二模型输入信息转换为向量表示,包括词向量表示(token embeddings)、文本向量表示(segment embeddings)和位置向量表示(position embeddings);然后将上述三个向量表示相加,得到自注意力编码模型的输入。然后经过自注意力编码模型中的编译块(transformer block1,transformer block2至transformer blockn)进行进行自注意力编码,得到第二模型输入信息对应的第三模型编码向量。
[0132]
如图3所示,第三模型编码向量对应的文本信息为“[cls]您晚上有时间吗[sep]我没有空时间听明清懂楚白理s”。
[0133]
s23,将所述第二截断回复信息的最后n个字符与所述第二掩码信息的所有字符作为第二目标提取位置,从所述第三模型编码向量中提取所述第二目标提取位置对应的编码向量,得到第四模型编码向量,n为正整数。
[0134]
例如,所述第四编码向量包括所述第二截断回复信息的最后n个字符对应的编码向量以及所述第二掩码信息的所有字符对应的编码向量。提取第三模型编码向量中第二截断回复信息的最后n个字符以及所有[mask]对应的所有字符,用于后续解码流程,其中n≥1,例如,为方便计算,n通常取1。
[0135]
例如,第二模型输入信息为“[cls]您晚上有时间吗[sep]我没[mask][mask][mask][mask][pad]”,第二目标提取位置的对应文本字符为“没[mask][mask][mask][mask]”,则根据上述示例的第二模型输入信息对应的第三模型编码向量,得到的第四模型
编码向量为:
[0136][0137]
如图3所示,第四模型编码向量对应的文本信息为“没有空时间听明清懂楚白理s”。
[0138]
s24,对所述第四模型编码向量进行解码,得到第二解码向量。
[0139]
如图3所示,对第四模型编码向量进行解码,得到的第二解码向量对应的文本信息为“没有空时间听明清懂楚白理s”。
[0140]
s25,对所述第二解码向量进行第一处理,得到第二字符概率矩阵,所述第二字符概率矩阵表征所述第二目标提取位置中每个位置对应不同字符的概率。
[0141]
例如,所述对所述第二解码向量进行第一处理,得到第二字符概率矩阵,包括:对所述第二解码向量进行线性变换处理和归一化处理,得到第二字符概率矩阵。
[0142]
s26,对所述第二解码向量进行第二处理,得到第二转移概率矩阵,所述第二转移概率矩阵表征所述第二目标提取位置中每个位置到其他位置的跳转概率。
[0143]
例如,所述对所述第二解码向量进行第二处理,得到第二转移概率矩阵,包括:对所述第二解码向量进行两次线性变换处理,并计算内积且进行归一化处理后,得到第二转移概率矩阵。
[0144]
s27,基于所述第二字符概率矩阵和所述第二转移概率矩阵,计算不同的第二候选文本对应的第二文本概率,将所述第二文本概率按照从大到小进行排序,并将排在前m个的第二文本概率对应的第二候选文本作为所述第二预测回复信息,m为正整数。
[0145]
如图3所示,该初始生成模型包括有向无环图(directed acyclic graph,dag),上述步骤s25至s27,可以基于dag进行处理,最终得到第二预测回复信息。
[0146]
例如,可以使用dag中的动态规划原则计算不同的候选文本对应的第二文本概率。
[0147]
例如,经过上述步骤s21至s27的处理,初始生成模型输出的第二预测回复信息可以为:
[0148]
我没空;我没时间;我没听懂;我没听清;我没听明白;我没有时间。
[0149]
s28,根据所述第二预测回复信息与所述第二回复信息,对基于所述第二训练目标构建的损失函数对所述初始生成模型进行预训练,以得到所述生成模型。
[0150]
例如,根据第二预测回复信息与第二回复信息,对基于第二训练目标构建的损失函数对初始生成模型进行预训练,以得到生成模型。第二训练目标为初始生成模型输出的第二预测回复信息符合第二回复信息。
[0151]
步骤130,将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集。
[0152]
可选的,所述将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集,包括:
[0153]
遍历所述生成结果中的每个所述第一预测回复信息,每次将所述第一问题信息与所述生成结果中的一个所述第一预测回复信息输入所述意图分类模型进行意图预测,以得
到每个所述第一预测回复信息对应的候选意图信息,并根据每个所述第一预测回复信息对应的候选意图信息生成所述候选意图集。
[0154]
例如,第一问题信息为“您晚上有时间吗?”,包含有多个第一预测回复信息的生成结果为“我没空;我没时间;我没听懂;我没听清;我没听明白;我没有时间。”,将第一问题信息与生成结果中的每个第一预测回复信息输入意图分类模型进行意图预测,以生成候选意图集,比如候选意图集为“没时间;没钱;没听懂;没听清”。
[0155]
可选的,所述方法还包括:
[0156]
获取第二训练数据,所述训练数据包括第三原始数据与第二意图标签,所述第三原始数据包括第三问题信息与所述第三问题信息对应的第三回复信息;
[0157]
利用所述第二训练数据对初始意图分类模型进行预训练,得到所述意图分类模型,其中,在对所述初始意图分类模型进行预训练时,第三训练目标为所述初始意图分类模型输出的第二预测意图信息符合所述第二意图标签。
[0158]
例如,可以对第三原始数据集中的每个第三原始数据进行人工标注意图,得到每个第三原始数据对应的第二意图标签。例如,该初始意图分类模型可以为textcnn、lstm、bert等模型。例如,可以使用准确率更高的bert模型作为初始意图分类模型进行于训练。例如,第三原始数据中的第三问题信息为“本次来电是邀请您参加今晚的直播课程,请问您晚上有时间吗?”,第三回复信息为“我没有时间哈。”,第二意图标签为“没时间”。
[0159]
经过预训练,最终的训练目标是初始意图分类模型输出的第二预测意图信息符合第二意图标签,比如初始意图分类模型输出的第二预测意图信息为“没时间”,完成预训练,得到意图分类模型。
[0160]
步骤140,基于所述第一原始数据、所述候选意图集与第一意图标签,确定第一训练数据。
[0161]
例如,第一训练数据包括:
[0162]
第一原始数据中的第一问题信息为“您晚上有时间吗?”;
[0163]
第一原始数据中的第一回复信息为“我没有时间哈。”;
[0164]
候选意图集为“没时间;没钱;没听懂;没听清”。
[0165]
第一意图标签为“没时间”。
[0166]
步骤150,基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的意图识别模型,其中,在对所述意图识别模型进行训练时,第一训练目标为所述意图识别模型输出的第一预测意图信息符合所述第一意图标签。
[0167]
可选的,步骤150可以通过步骤151至步骤156实现(图中未示出),具体为:
[0168]
步骤151,采用所述意图分类模型对所述第一训练数据中的所述候选意图集的每个候选意图信息的文本进行编码,得到第一意图文本编码。
[0169]
如图2所示,采用意图分类模型对第一训练数据中的候选意图集的每个候选意图信息的文本进行编码,得到第一意图文本编码,比如,第一意图文本编码为:
[0170]
[0171]
步骤152,根据所述第一训练数据中的所述第一原始数据生成第一模型输入信息,并采用所述生成模型对所述第一模型输入信息进行自注意力编码,得到所述第一模型输入信息对应的第一模型编码向量。
[0172]
例如,步骤152的具体实施方式可以参考上述步骤121至步骤122,此处不再赘述。
[0173]
步骤153,基于所述第一意图文本编码与所述第一模型编码向量计算注意力权重,得到第一意图注意力编码。
[0174]
如图2所示,将第一意图文本编码与第一模型编码向量输入标签式注意力(label-wise attention)层计算注意力权重,以提取出第一模型编码向量中与各个意图相关的注意力编码向量,得到第一意图注意力编码。
[0175]
步骤154,对所述第一意图注意力编码进行线性变换处理与归一化处理,得到所述候选意图集的每个候选意图信息对应的第一意图概率。
[0176]
如图2所示,基于多标签分类(multi-tabel classification)层对第一意图注意力编码进行线性变换处理与归一化处理,得到候选意图集的每个候选意图信息对应的第一意图概率,比如“没时间;没钱;没听懂;没听清”分别对应的第一意图概率为“0.91;0.12;0.81;0.78”。
[0177]
步骤155,根据所述第一意图概率确定所述第一预测意图信息。
[0178]
例如,“没时间”对应的第一意图概率是概率值最高的,则确定第一预测意图信息为“没时间”。
[0179]
步骤156,根据所述第一预测概率信息与所述第一意图标签,对基于所述第一训练目标构建的损失函数对所述意图识别模型进行训练,以得到所述训练好的意图识别模型。
[0180]
例如,当意图识别模型输出的第一预测意图信息(比如为“没时间”)符合第一意图标签(比如为“没时间”),结束训练,得到训练好的意图识别模型。
[0181]
上述所有的技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0182]
本技术实施例中,意图识别模型包括生成模型与意图分类模型,通过获取第一原始数据,第一原始数据包括第一问题信息与第一问题信息对应的第一回复信息;将第一原始数据输入生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;将第一问题信息与生成结果中的每个第一预测回复信息输入意图分类模型进行意图预测,以生成候选意图集;基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据;基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型,其中,在对意图识别模型进行训练时,第一训练目标为意图识别模型输出的第一预测意图信息符合第一意图标签。本技术实施例可以利用生成模型对第一原始数据对应的不完整回复信息进行语义补全生成包含有多个第一预测回复信息的生成结果,然后采用意图分类模型针对每个第一预测回复信息进行意图预测以生成候选意图集,并基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据,然后基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型。使用该训练好的意图识别模型确定用户的意图时,无需等待用户说话完毕,而是可以在用户尚未完成回答时,基于采集的待处理数据的语音转写的中间转写结果进行语义补全并对用户的意图进行预测,换言之,本技术实施例能够在预测到用户的明确意图时提前进行后续流程的处理。相比于等待用户说话完毕再进行意图确认的情
况,本技术实施例可以将确定意图的时间提前,降低整体响应时长,更快地回应用户,提升人机交互效率,提升通话体验。
[0183]
请参阅图4至图6,图4和图6为本技术实施例提供的意图识别方法的流程示意图,图5为本技术实施例提供的意图识别方法的应用场景示意图。该方法可以包括以下步骤210至步骤220。
[0184]
步骤210,获取待处理数据,所述待处理数据包括目标问题信息与所述目标问题信息对应的实时回复信息,所述目标问题信息为外呼机器人播报的问题信息,所述实时回复信息包括对象针对所述目标问题信息未回复完毕的不完整回复信息。
[0185]
例如,待处理数据包括:目标问题信息为“您晚上有时间吗?”;目标问题信息对应的实时回复信息为“我没”。实时回复信息为asr中间转写结果。
[0186]
可选的,所述获取待处理数据,包括:
[0187]
获取所述外呼机器人播报问题信息的问题语音片段,并对所述问题语音片段进行语音识别,得到所述目标问题信息;
[0188]
实时获取所述对象针对所述问题语音片段进行回复的回复语音片段,并对所述回复语音片段进行语音识别,以获取所述目标问题信息对应的实时回复信息。
[0189]
步骤220,基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,其中,所述训练好的意图识别模型是根据图1所述的意图识别模型的训练方法进行训练得到的。
[0190]
可选的,步骤220可以通过步骤221至步骤226实现(图中未示出),具体为:
[0191]
步骤221,获取所述目标问题信息对应的预设意图集,并采用所述训练好的意图识别模型中的意图分类模型对所述预设意图集的每个预设意图信息的文本进行编码,得到第二意图文本编码。
[0192]
例如,预设意图集为“没时间;没钱;没听懂;没听清”。
[0193]
如图5所示,并采用训练好的意图识别模型中的意图分类模型对预设意图集的每个预设意图信息的文本进行编码,得到第二意图文本编码,该第二意图文本编码对应的文本信息包括“没时间;没钱;没听懂;没听清”。
[0194]
步骤222,采用所述训练好的意图识别模型中的生成模型对所述待处理数据进行自注意力编码,以生成所述待处理数据对应的目标模型编码向量。
[0195]
如图5所示,生成的目标模型编码向量对应的文本信息为“[cls]您晚上有时间吗[sep]我没有空时间听明清懂楚白理s”。
[0196]
步骤223,基于所述第二意图文本编码与所述目标模型编码向量计算注意力权重,得到目标意图注意力编码。
[0197]
如图5所示,将第二意图文本编码与目标模型编码向量输入标签式注意力(label-wise attention)层计算注意力权重,以提取出目标模型编码向量中与各个意图相关的注意力编码向量,得到目标意图注意力编码。
[0198]
步骤224,对所述目标意图注意力编码进行线性变换处理与归一化处理,得到所述预设意图集的每个预设意图信息对应的目标意图概率。
[0199]
如图5所示,基于多标签分类(multi-tabel classification)层对目标意图注意力编码进行线性变换处理与归一化处理,得到预设意图集的每个预设意图信息对应的目标
意图概率,比如“没时间;没钱;没听懂;没听清”分别对应的目标意图概率为“0.91;0.12;0.81;0.78”。
[0200]
步骤225,将所述目标意图概率大于概率阈值对应的预设意图信息确定为预测结果中的输出意图信息。
[0201]
例如,概率阈值为0.5,比如预测结果中的输出意图信息包括“没时间;没听懂;没听清”。
[0202]
步骤226,若所述预测结果包含多个输出意图信息,则返回执行所述获取待处理数据的步骤,直到所述预测结果中仅包含一个输出意图信息时,将所述预测结果中仅包含的一个输出意图信息确定为所述待处理数据对应的目标意图信息。
[0203]
例如,在预测意图后,若预测结果为多个输出意图信息或没有输出意图信息,则表示用户意图不明确,需要继续等待后续asr中间转写结果,例如上述示例中的预测结果为“没时间;没听懂;没听清”,代表用户实际意图有多种可能,需要继续等待后续用户回复;而当预测结果只有一个输出意图信息时,表示用户意图明确,可直接进行后续流程的处理,以基于目标意图信息进行后续的对话状态跟踪、对话策略、自然语言生成和语音合成等后续流程。
[0204]
可选的,若所述预测结果包含多个输出意图信息,在返回执行所述获取待处理数据的步骤之前,还包括:
[0205]
判断所述待处理数据中的实时回复信息是否为所述对象针对所述目标问题信息已回复完毕的完整回复信息;
[0206]
若所述待处理数据中的实时回复信息为所述对象针对所述目标问题信息已回复完毕的完整回复信息,则将所述多个输出意图信息中目标意图概率最大的输出意图信息确定为所述待处理数据对应的目标意图信息;或者
[0207]
若所述待处理数据中的实时回复信息为所述对象针对所述目标问题信息未回复完毕的不完整回复信息,则返回执行所述获取待处理数据的步骤,直到所述预测结果中仅包含一个输出意图信息时,将所述预测结果中仅包含的一个输出意图信息确定为所述待处理数据对应的目标意图信息。
[0208]
例如,为更好的理解本技术实施例的意图识别方法,请参阅图6中的s61至s69:
[0209]
s61,在外呼机器人发出目标问题后,检测到用户说话开始;
[0210]
s62,asr模块获取语音流进行实时转写;
[0211]
s63,获取asr中间转写结果;
[0212]
s64,进行流式意图识别,比如基于训练好的意图识别模型对asr中间转写结果进行流式意图识别,得到流式意图识别结果(如上述步骤225中的预测结果);
[0213]
s65,判断流式意图识别结果中的意图是否明确;若是,则执行s69;若否,则返回执行s63;
[0214]
s66,判断用户是否说话完毕;若是,则执行s67;若否,则返回执行s62;
[0215]
s67,获取asr最终转写结果;
[0216]
s68,进行常规意图识别,比如基于常规意图识别方法对asr最终转写结果进行常规意图识别;
[0217]
s69,后续流程,比如进行后续的对话状态跟踪、对话策略、自然语言生成和语音合
成等后续流程。
[0218]
上述所有的技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0219]
本技术实施例中,意图识别模型包括生成模型与意图分类模型,首先通过获取第一原始数据,第一原始数据包括第一问题信息与第一问题信息对应的第一回复信息;将第一原始数据输入生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;将第一问题信息与生成结果中的每个第一预测回复信息输入意图分类模型进行意图预测,以生成候选意图集;基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据;基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型,其中,在对意图识别模型进行训练时,第一训练目标为意图识别模型输出的第一预测意图信息符合第一意图标签;然后获取待处理数据,待处理数据包括目标问题信息与目标问题信息对应的实时回复信息,目标问题信息为外呼机器人播报的问题信息,实时回复信息包括对象针对目标问题信息未回复完毕的不完整回复信息,并基于训练好的意图识别模型对待处理数据进行意图识别,得到待处理数据对应的目标意图信息。本技术实施例可以利用生成模型对第一原始数据对应的不完整回复信息进行语义补全生成包含有多个第一预测回复信息的生成结果,然后采用意图分类模型针对每个第一预测回复信息进行意图预测以生成候选意图集,并基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据,然后基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型。使用该训练好的意图识别模型确定用户的意图时,无需等待用户说话完毕,而是可以在用户尚未完成回答时,基于采集的待处理数据的语音转写的中间转写结果进行语义补全并对用户的意图进行预测,换言之,本技术实施例能够在预测到用户的明确意图时提前进行后续流程的处理。相比于等待用户说话完毕再进行意图确认的情况,本技术实施例可以将确定意图的时间提前,降低整体响应时长,更快地回应用户,提升人机交互效率,提升通话体验。
[0220]
为便于更好的实施本技术实施例的意图识别模型的训练方法,本技术实施例还提供一种意图识别模型的训练装置。请参阅图7,图7为本技术实施例提供的意图识别模型的训练装置的结构示意图。该意图识别模型包括生成模型与意图分类模型,该意图识别模型的训练装置300可以包括:
[0221]
第一获取单元310,用于获取第一原始数据,所述第一原始数据包括第一问题信息与所述第一问题信息对应的第一回复信息;
[0222]
第一处理单元320,用于将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;
[0223]
第二处理单元330,用于将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集;
[0224]
确定单元340,用于基于所述第一原始数据、所述候选意图集与第一意图标签,确定第一训练数据;
[0225]
训练单元350,用于基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的意图识别模型,其中,在对所述意图识别模型进行训练时,第一训练目标为所述意图识别模型输出的第一预测意图信息符合所述第一意图标签。
[0226]
可选的,所述第一处理单元320,用于:
[0227]
根据所述第一原始数据生成第一模型输入信息,所述第一模型输入信息包括所述第一问题信息、所述第一回复信息对应的第一截断回复信息和第一掩码信息;
[0228]
对所述第一模型输入信息进行自注意力编码,得到所述第一模型输入信息对应的第一模型编码向量;
[0229]
将所述第一截断回复信息的最后n个字符与所述第一掩码信息的所有字符作为第一目标提取位置,从所述第一模型编码向量中提取所述第一目标提取位置对应的编码向量,得到第二模型编码向量,n为正整数;
[0230]
对所述第二模型编码向量进行解码,得到第一解码向量;
[0231]
对所述第一解码向量进行第一处理,得到第一字符概率矩阵,所述第一字符概率矩阵表征所述第一目标提取位置中每个位置对应不同字符的概率;
[0232]
对所述第一解码向量进行第二处理,得到第一转移概率矩阵,所述第一转移概率矩阵表征所述第一目标提取位置中每个位置到其他位置的跳转概率;
[0233]
基于所述第一字符概率矩阵和所述第一转移概率矩阵,计算不同的第一候选文本对应的第一文本概率,将所述第一文本概率按照从大到小进行排序,并将排在前m个的第一文本概率对应的第一候选文本作为所述生成结果中的多个第一预测回复信息,m为正整数。
[0234]
可选的,所述第一处理单元320在根据所述第一原始数据生成第一模型输入信息时,用于:
[0235]
截断所述第一回复信息,得到所述第一回复信息对应的第一截断回复信息;
[0236]
拼接所述第一问题信息和所述第一截断回复信息,得到第一拼接信息;
[0237]
基于第一字符长度对所述第一拼接信息进行掩码处理,得到带第一掩码信息的第一拼接信息;
[0238]
基于第二字符长度对所述带第一掩码信息的第一拼接信息进行前向截断操作或后向补齐操作,得到所述第一模型输入信息,所述第一模型输入信息的字符总长度等于所述第二字符长度。
[0239]
可选的,所述意图识别模型的训练装置300还包括第一预训练单元,用于:
[0240]
获取第二原始数据,所述第二原始数据包括第二问题信息与所述第二问题信息对应的第二回复信息;
[0241]
利用所述第二原始数据对初始生成模型进行预训练,得到所述生成模型,其中,在对所述初始生成模型进行预训练时,第二训练目标为所述初始生成模型输出的第二预测回复信息符合所述第二回复信息。
[0242]
可选的,所述第一预训练单元在利用所述第二原始数据对初始生成模型进行预训练,得到所述生成模型时,用于:
[0243]
根据所述第二原始数据生成第二模型输入信息,所述第二模型输入信息包括所述第二问题信息、所述第二回复信息对应的第二截断回复信息和第二掩码信息;
[0244]
对所述第二模型输入信息进行自注意力编码,得到所述第二模型输入信息对应的第三模型编码向量;
[0245]
将所述第二截断回复信息的最后n个字符与所述第二掩码信息的所有字符作为第二目标提取位置,从所述第三模型编码向量中提取所述第二目标提取位置对应的编码向量,得到第四模型编码向量,n为正整数;
[0246]
对所述第四模型编码向量进行解码,得到第二解码向量;
[0247]
对所述第二解码向量进行第一处理,得到第二字符概率矩阵,所述第二字符概率矩阵表征所述第二目标提取位置中每个位置对应不同字符的概率;
[0248]
对所述第二解码向量进行第二处理,得到第二转移概率矩阵,所述第二转移概率矩阵表征所述第二目标提取位置中每个位置到其他位置的跳转概率;
[0249]
基于所述第二字符概率矩阵和所述第二转移概率矩阵,计算不同的第二候选文本对应的第二文本概率,将所述第二文本概率按照从大到小进行排序,并将排在前m个的第二文本概率对应的第二候选文本作为所述第二预测回复信息,m为正整数;
[0250]
根据所述第二预测回复信息与所述第二回复信息,对基于所述第二训练目标构建的损失函数对所述初始生成模型进行预训练,以得到所述生成模型。
[0251]
可选的,所述第一预训练单元在根据所述第二原始数据生成第二模型输入信息时,用于:
[0252]
截断所述第二回复信息,得到所述第二回复信息对应的第二截断回复信息;
[0253]
拼接所述第二问题信息和所述第二截断回复信息,得到第二拼接信息;
[0254]
基于第一字符长度对所述第二拼接信息进行掩码处理,得到带第二掩码信息的第二拼接信息;
[0255]
基于第二字符长度对所述带第二掩码信息的第二拼接信息进行前向截断操作或后向补齐操作,得到所述第二模型输入信息,所述第二模型输入信息的字符总长度等于所述第二字符长度。
[0256]
可选的,所述第二处理单元330,用于:
[0257]
遍历所述生成结果中的每个所述第一预测回复信息,每次将所述第一问题信息与所述生成结果中的一个所述第一预测回复信息输入所述意图分类模型进行意图预测,以得到每个所述第一预测回复信息对应的候选意图信息,并根据每个所述第一预测回复信息对应的候选意图信息生成所述候选意图集。
[0258]
可选的,所述意图识别模型的训练装置300还包括第二预训练单元,用于:
[0259]
获取第二训练数据,所述训练数据包括第三原始数据与第二意图标签,所述第三原始数据包括第三问题信息与所述第三问题信息对应的第三回复信息;
[0260]
利用所述第二训练数据对初始意图分类模型进行预训练,得到所述意图分类模型,其中,在对所述初始意图分类模型进行预训练时,第三训练目标为所述初始意图分类模型输出的第二预测意图信息符合所述第二意图标签。
[0261]
可选的,所述训练单元350,用于:
[0262]
采用所述意图分类模型对所述第一训练数据中的所述候选意图集的每个候选意图信息的文本进行编码,得到第一意图文本编码;
[0263]
根据所述第一训练数据中的所述第一原始数据生成第一模型输入信息,并采用所述生成模型对所述第一模型输入信息进行自注意力编码,得到所述第一模型输入信息对应的第一模型编码向量;
[0264]
基于所述第一意图文本编码与所述第一模型编码向量计算注意力权重,得到第一意图注意力编码;
[0265]
对所述第一意图注意力编码进行线性变换处理与归一化处理,得到所述候选意图
集的每个候选意图信息对应的第一意图概率;
[0266]
根据所述第一意图概率确定所述第一预测意图信息;
[0267]
根据所述第一预测概率信息与所述第一意图标签,对基于所述第一训练目标构建的损失函数对所述意图识别模型进行训练,以得到所述训练好的意图识别模型。
[0268]
本技术实施例还提供一种意图识别装置。请参阅图8,图8为本技术实施例提供的意图识别装置的结构示意图。该意图识别装置400可以包括:
[0269]
第二获取单元410,用于获取待处理数据,所述待处理数据包括目标问题信息与所述目标问题信息对应的实时回复信息,所述目标问题信息为外呼机器人播报的问题信息,所述实时回复信息包括对象针对所述目标问题信息未回复完毕的不完整回复信息;
[0270]
识别单元420,用于基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,其中,所述训练好的意图识别模型是根据图1所述的意图识别模型的训练方法进行训练得到的。
[0271]
可选的,所述识别单元420,用于:
[0272]
获取所述目标问题信息对应的预设意图集,并采用所述训练好的意图识别模型中的意图分类模型对所述预设意图集的每个预设意图信息的文本进行编码,得到第二意图文本编码;
[0273]
采用所述训练好的意图识别模型中的生成模型对所述待处理数据进行自注意力编码,以生成所述待处理数据对应的目标模型编码向量;
[0274]
基于所述第二意图文本编码与所述目标模型编码向量计算注意力权重,得到目标意图注意力编码;
[0275]
对所述目标意图注意力编码进行线性变换处理与归一化处理,得到所述预设意图集的每个预设意图信息对应的目标意图概率;
[0276]
将所述目标意图概率大于概率阈值对应的预设意图信息确定为预测结果中的输出意图信息;
[0277]
若所述预测结果包含多个输出意图信息,则返回执行所述获取待处理数据的步骤,直到所述预测结果中仅包含一个输出意图信息时,将所述预测结果中仅包含的一个输出意图信息确定为所述待处理数据对应的目标意图信息。
[0278]
可选的,若所述预测结果包含多个输出意图信息,所述识别单元420在返回执行所述获取待处理数据的步骤之前,还用于:
[0279]
判断所述待处理数据中的实时回复信息是否为所述对象针对所述目标问题信息已回复完毕的完整回复信息;
[0280]
若所述待处理数据中的实时回复信息为所述对象针对所述目标问题信息已回复完毕的完整回复信息,则将所述多个输出意图信息中目标意图概率最大的输出意图信息确定为所述待处理数据对应的目标意图信息;或者
[0281]
若所述待处理数据中的实时回复信息为所述对象针对所述目标问题信息未回复完毕的不完整回复信息,则返回执行所述获取待处理数据的步骤,直到所述预测结果中仅包含一个输出意图信息时,将所述预测结果中仅包含的一个输出意图信息确定为所述待处理数据对应的目标意图信息。
[0282]
可选的,所述第二获取单元410,用于:
[0283]
获取所述外呼机器人播报问题信息的问题语音片段,并对所述问题语音片段进行语音识别,得到所述目标问题信息;
[0284]
实时获取所述对象针对所述问题语音片段进行回复的回复语音片段,并对所述回复语音片段进行语音识别,以获取所述目标问题信息对应的实时回复信息。
[0285]
上述意图识别模型的训练装置或意图识别装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各个单元可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个单元对应的操作。
[0286]
意图识别模型的训练装置300或者意图识别装置400,可以集成在具备储存器并安装有处理器而具有运算能力的终端或服务器中,或者上述装置可以为终端或服务器。
[0287]
可选的,本技术还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0288]
图9为本技术实施例提供的计算机设备的结构示意图,该计算机设备可以是终端或者服务器。如图9所示,该计算机设备500可以包括:通信接口501,存储器502,处理器503和通信总线504。通信接口501,存储器502,处理器503通过通信总线504实现相互间的通信。通信接口501用于计算机设备500与外部设备进行数据通信。存储器502可用于存储软件程序以及模块,处理器503通过运行存储在存储器502的软件程序以及模块,例如前述方法实施例中的相应操作的软件程序。
[0289]
可选的,该处理器503可以调用存储在存储器502的软件程序以及模块执行如下操作:获取第一原始数据,第一原始数据包括第一问题信息与第一问题信息对应的第一回复信息;将第一原始数据输入生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;将第一问题信息与生成结果中的每个第一预测回复信息输入意图分类模型进行意图预测,以生成候选意图集;基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据;基于第一训练数据对意图识别模型进行训练,得到训练好的意图识别模型,其中,在对意图识别模型进行训练时,第一训练目标为意图识别模型输出的第一预测意图信息符合第一意图标签。
[0290]
可选的,该处理器503可以调用存储在存储器502的软件程序以及模块执行如下操作:获取待处理数据,待处理数据包括目标问题信息与目标问题信息对应的实时回复信息,目标问题信息为外呼机器人播报的问题信息,实时回复信息包括对象针对目标问题信息未回复完毕的不完整回复信息;基于训练好的意图识别模型对待处理数据进行意图识别,得到待处理数据对应的目标意图信息,其中,训练好的意图识别模型是根据任一实施例的意图识别模型的训练方法进行训练得到的。
[0291]
本技术还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于计算机设备,并且该计算机程序使得计算机设备执行本技术实施例中的意图识别模型的训练方法或者意图识别方法中的相应流程,为了简洁,在此不再赘述。
[0292]
本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本技术实施例中的意图识别模型的训练方法或者意图识别方法中的相应流程,为了简洁,在此不再赘述。
[0293]
本技术还提供了一种计算机程序,该计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本技术中的意图识别模型的训练方法或者意图识别方法中的相应流程,为了简洁,在此不再赘述。
[0294]
应理解,本技术的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0295]
可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0296]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0297]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0298]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0299]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种意图识别模型的训练方法,其特征在于,所述意图识别模型包括生成模型与意图分类模型,所述方法包括:获取第一原始数据,所述第一原始数据包括第一问题信息与所述第一问题信息对应的第一回复信息;将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集;基于所述第一原始数据、所述候选意图集与第一意图标签,确定第一训练数据;基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的意图识别模型,其中,在对所述意图识别模型进行训练时,第一训练目标为所述意图识别模型输出的第一预测意图信息符合所述第一意图标签。2.如权利要求1所述的意图识别模型的训练方法,其特征在于,所述将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果,包括:根据所述第一原始数据生成第一模型输入信息,所述第一模型输入信息包括所述第一问题信息、所述第一回复信息对应的第一截断回复信息和第一掩码信息;对所述第一模型输入信息进行自注意力编码,得到所述第一模型输入信息对应的第一模型编码向量;将所述第一截断回复信息的最后n个字符与所述第一掩码信息的所有字符作为第一目标提取位置,从所述第一模型编码向量中提取所述第一目标提取位置对应的编码向量,得到第二模型编码向量,n为正整数;对所述第二模型编码向量进行解码,得到第一解码向量;对所述第一解码向量进行第一处理,得到第一字符概率矩阵,所述第一字符概率矩阵表征所述第一目标提取位置中每个位置对应不同字符的概率;对所述第一解码向量进行第二处理,得到第一转移概率矩阵,所述第一转移概率矩阵表征所述第一目标提取位置中每个位置到其他位置的跳转概率;基于所述第一字符概率矩阵和所述第一转移概率矩阵,计算不同的第一候选文本对应的第一文本概率,将所述第一文本概率按照从大到小进行排序,并将排在前m个的第一文本概率对应的第一候选文本作为所述生成结果中的多个第一预测回复信息,m为正整数。3.如权利要求1所述的意图识别模型的训练方法,其特征在于,所述基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的意图识别模型,包括:采用所述意图分类模型对所述第一训练数据中的所述候选意图集的每个候选意图信息的文本进行编码,得到第一意图文本编码;根据所述第一训练数据中的所述第一原始数据生成第一模型输入信息,并采用所述生成模型对所述第一模型输入信息进行自注意力编码,得到所述第一模型输入信息对应的第一模型编码向量;基于所述第一意图文本编码与所述第一模型编码向量计算注意力权重,得到第一意图注意力编码;
对所述第一意图注意力编码进行线性变换处理与归一化处理,得到所述候选意图集的每个候选意图信息对应的第一意图概率;根据所述第一意图概率确定所述第一预测意图信息;根据所述第一预测概率信息与所述第一意图标签,对基于所述第一训练目标构建的损失函数对所述意图识别模型进行训练,以得到所述训练好的意图识别模型。4.一种意图识别方法,其特征在于,所述方法包括:获取待处理数据,所述待处理数据包括目标问题信息与所述目标问题信息对应的实时回复信息,所述目标问题信息为外呼机器人播报的问题信息,所述实时回复信息包括对象针对所述目标问题信息未回复完毕的不完整回复信息;基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,其中,所述训练好的意图识别模型是根据权利要求1-3中任一项所述的意图识别模型的训练方法进行训练得到的。5.如权利要求4所述的意图识别方法,其特征在于,所述基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,包括:获取所述目标问题信息对应的预设意图集,并采用所述训练好的意图识别模型中的意图分类模型对所述预设意图集的每个预设意图信息的文本进行编码,得到第二意图文本编码;采用所述训练好的意图识别模型中的生成模型对所述待处理数据进行自注意力编码,以生成所述待处理数据对应的目标模型编码向量;基于所述第二意图文本编码与所述目标模型编码向量计算注意力权重,得到目标意图注意力编码;对所述目标意图注意力编码进行线性变换处理与归一化处理,得到所述预设意图集的每个预设意图信息对应的目标意图概率;将所述目标意图概率大于概率阈值对应的预设意图信息确定为预测结果中的输出意图信息;若所述预测结果包含多个输出意图信息,则返回执行所述获取待处理数据的步骤,直到所述预测结果中仅包含一个输出意图信息时,将所述预测结果中仅包含的一个输出意图信息确定为所述待处理数据对应的目标意图信息。6.一种意图识别模型的训练装置,其特征在于,所述意图识别模型包括生成模型与意图分类模型,所述装置包括:第一获取单元,用于获取第一原始数据,所述第一原始数据包括第一问题信息与所述第一问题信息对应的第一回复信息;第一处理单元,用于将所述第一原始数据输入所述生成模型进行回复信息预测,以生成包含有多个第一预测回复信息的生成结果;第二处理单元,用于将所述第一问题信息与所述生成结果中的每个所述第一预测回复信息输入所述意图分类模型进行意图预测,以生成候选意图集;确定单元,用于基于所述第一原始数据、所述候选意图集与第一意图标签,确定第一训练数据;训练单元,用于基于所述第一训练数据对所述意图识别模型进行训练,得到训练好的
意图识别模型,其中,在对所述意图识别模型进行训练时,第一训练目标为所述意图识别模型输出的第一预测意图信息符合所述第一意图标签。7.一种意图识别装置,其特征在于,所述装置包括:第二获取单元,用于获取待处理数据,所述待处理数据包括目标问题信息与所述目标问题信息对应的实时回复信息,所述目标问题信息为外呼机器人播报的问题信息,所述实时回复信息包括对象针对所述目标问题信息未回复完毕的不完整回复信息;识别单元,用于基于训练好的意图识别模型对所述待处理数据进行意图识别,得到所述待处理数据对应的目标意图信息,其中,所述训练好的意图识别模型是根据权利要求1-3中任一项所述的意图识别模型的训练方法进行训练得到的。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-3任一项所述的意图识别模型的训练方法、或者权利要求4-5任一项所述的意图识别方法。9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1-3任一项所述的意图识别模型的训练方法、或者权利要求4-5任一项所述的意图识别方法。10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-3任一项所述的意图识别模型的训练方法、或者权利要求4-5任一项所述的意图识别方法。

技术总结
本申请公开一种意图识别模型的训练方法、意图识别方法、装置及介质,该方法包括:获取包括第一问题信息与第一回复信息的第一原始数据;将第一原始数据输入意图识别模型中的生成模型,生成包含有多个第一预测回复信息的生成结果;将第一问题信息与生成结果中的每个第一预测回复信息输入意图识别模型中的意图分类模型,生成候选意图集;基于第一原始数据、候选意图集与第一意图标签,确定第一训练数据;基于第一训练数据训练意图识别模型,得到训练好的意图识别模型,使用训练好的意图识别模型确定用户意图时,无需等待用户说话完毕,而是可以基于语音转写的中间转写结果进行语义补全并预测用户意图,在预测到用户的明确意图时提前进行后续流程。前进行后续流程。前进行后续流程。


技术研发人员:田垠 冯旻伟 尹竞成 阮良
受保护的技术使用者:杭州网易智企科技有限公司
技术研发日:2022.12.14
技术公布日:2023/7/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐