文本意图识别方法、装置及存储介质与流程

文档序号:29040114发布日期:2022-02-25 20:27阅读:84来源:国知局
文本意图识别方法、装置及存储介质与流程

1.本发明涉及人工智能技术领域,具体涉及一种文本意图识别方法、装置及存储介质。


背景技术:

2.自然语言理解(natural language understand,nlu)的任务主要由意图识别以及槽位填充组成。比如,语音助手执行用户的指令需要机器确定用户话语中表达出来的意图,然后将用户的意图转化为指令,即槽位填充。意图识别与槽位填充的准确性对于合理完成用户的指令,提升对话系统的质量具有非常重要的影响。
3.目前对意图的识别和槽位填充主要是通过句式与关键词来进行识别,而在实际业务场景中,一个句子的句式和关键词可能存在多个意图,比如,“请为我播放七里香”,对应的意图可能有播放音乐七里香和播放视频七里香,这就导致模型根据句式和关键词不能准确的识别出用户的意图,对口语理解和意图识别的精度较低。


技术实现要素:

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.可以看出,在本实施方式中,在该待识别文本中包含垂类词的情况下,添加的实体标签所表征的实体类型可以不是该待识别文本中的第一实体所对应的实体类型,从而提高添加实体标签的灵活性;在该待识别文本中不包含垂类词的情况下,添加的实体标签用于表征该第一实体的实体类型,进而为该待识别文本提供正确的先验知识,使模型学会在实体标签为正确的先验知识的情况下,可根据实体标签正确的识别出文本意图的能力。
30.第二方面,本技术实施例提供一种文本意图识别装置,包括:
31.收发单元,用于获取待识别文本;
32.处理单元,用于对待识别文本添加至少一对第一实体标签,其中,所述至少一对第一实体标签中的每对第一实体标签用于表征一个实体类型,所述每对第一实体标签所表征的实体类型用于指示一个意图;
33.所述处理单元,还用于根据所述待识别文本以及所述至少一对第一实体标签,确定所述待识别文本的意图。
34.在一些可能的实施方式中,所述每对第一实体标签中的一个实体标签用于指示所述第一实体在所述待识别文本中的起始位置,另一个实体标签用于指示所述第一实体在所述待识别文本中的结束位置。
35.在一些可能的实施方式中,在对待识别文本添加至少一对第一实体标签方面,所述处理单元,具体用于:
36.确定所述待识别文本中的第一实体;
37.在所述待识别文本包含垂类词的情况下,对所述第一实体添加所述至少一对第一实体标签,其中,所述每对第一实体标签用于表征的一个实体类型是所述少一个第一实体类型中的一个实体类型或者不是所述少一个第一实体类型中的一个实体类型;
38.在所述待识别文本不包含垂类词的情况下,确定与所述第一实体对应的至少一个第一实体类型,并对所述第一实体添加所述至少一对第一实体标签,其中,所述每对第一实体标签用于表征的一个实体类型是所述少一个第一实体类型中的一个实体类型。
39.在一些可能的实施方式中,在根据所述待识别文本以及所述至少一对第一实体标签,确定所述待识别文本的意图方面,所述处理单元,具体用于:
40.在所述待识别文本中包含垂类词的情况下,根据所述垂类词确定所述第一实体的实体类型,并根据所述第一实体的实体类型确定所述待识别文本的意图;
41.在所述待识别文本中不包含垂类词的情况下,根据所述至少一对第一实体标签,
确定所述第一实体的实体类型,并根据所述第一实体的实体类型确定所述待识别文本的意图。
42.在一些可能的实施方式中,所述识别所述待识别文本的意图是通过网络模型执行的,所述收发单元,还用于获取第一文本序列;
43.所述处理单元,还用于对所述第一文本序列添加至少一对第二实体标签,得到至少一个第一样本,其中,所述至少一对第二实体标签中的每对第二实体标签对应一个第一样本,其中,所述每对第二实体标签用于表征一个实体类型,所述每对第二实体标签所表征的实体类型用于指示一个意图;将所述每个第一样本输入到所述网络模型,预测所述每个第一样本中每个单词的槽位填充结果以及所述每个第一样本的意图;根据预测的所述每个第一样本中每个单词的槽位填充结果以及所述每个第一样本的意图,调整所述网络模型的模型参数,以对所述网络模型进行训练。
44.在一些可能的实施方式中,在对所述第一文本序列添加至少一对第二实体标签,得到至少一个第一样本方面,所述处理单元,具体用于:
45.在所述第一文本序列不包含垂类词的情况下,确定与所述第一文本序列中的第二实体对应的至少一个第二实体类型,并在所述第一文本序列中为所述至少一个第二实体类型中的每个第二实体类型添加一对第二实体标签,得到所述至少一个第一样本,其中,所述至少一个第一样本中的每个第一样本的意图是由所述每个第一样本对应的第二实体类型确定的;
46.在所述第一文本序列包含垂类词的情况下,确定至少一个第三实体类型,并在所述第一文本序列中为所述至少一个第三实体类型中的每个第三实体类型添加一个第二实体标签,得到所述至少一个第一样本,其中,所述每个第三实体类型是与所述第一文本序列中的第二实体对应的至少一个第二实体类型中的一个实体类型或者不是所述至少一个第二实体类型中的一个实体类型,所述至少一个第一样本中的每个第一样本的意图是由所述每个第一样本中的垂类词确定的。
47.第三方面,本技术实施例提供了一种文本意图识别装置。该文本意图识别装置包括处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述文本意图识别装置执行如第一方面中任一项所述的方法。
48.第四方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述各方面中由文本意图识别装置执行的方法。
49.第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码并运行时,使得上述各方面中由文本意图识别装置执行的方法被执行。
附图说明
50.图1本技术实施例提供了一种槽位填充的示意图;
51.图2本技术实施例提供了一种文本意图识别系统架构的示意图;
52.图3本技术实施例提供了一种文本意图识别方法的流程示意图;
53.图4本技术实施例提供了一种网络模型的结构示意图;
54.图5本技术实施例提供了一种训练网络模型的流程示意图;
55.图6本技术实施例提供了一种对话系统的结构示意图;
56.图7本技术实施例提供了一种文本意图识别装置的结构示意图;
57.图8本技术实施例提供了另一种文本意图识别装置的结构示意图。
具体实施方式
58.为了便于理解本技术,首先在此介绍本技术实施例涉及的相关技术知识。
59.口语理解任务主要由意图识别以及槽位填充组成。语音助手执行用户指令需要机器理解用户表达,确定用户话语中表达出来的意图,然后将用户意图转化为用户明确的指令,即槽位填充。意图识别与槽位填充的准确性对于合理完成用户指令,提升对话系统的质量具有非常重要的影响。
60.当前的意图识别槽位填充模型主要通过句式与关键词来进行识别,比如,获取用户输入的文本信息,将文本信息进行字符切分处理,得到该文本信息的第一字符序列,将第一字符序列输入至意图识别模型生成第二字符序列,将第二字符序列合并,形成指令序列确定用户的意图。这种分类方式是对字符进行切分,仅考虑到了每个字符的信息,忽略了文本信息的语义信息,导致意图分类精度较低。
61.而在实际业务场景中,多个意图存在相同句式与关键词,导致模型在这类句式下误分概率较高。如图1所示,多媒体垂域下的意图有播放音乐、播放视频、播放有声,且这些意图的句式都是“播放xxx”,模型无法仅根据句式与关键词区分意图与识别槽位,为了提高意图分类的准确率,这个时候需要结合实体的实体类型进一步实现槽位填充和意图识别。
62.但是,在结合实体类型进行识别的过程中,并不能准确的识别出实体的类型,比如,随着业务的发展,可能会出现一些之前不存在的实体,由于模型不知道实体的类型,导致对文本意图的分类较低。
63.参阅图2,图2为本技术实施例提供的一种文本意图识别系统架构的示意图。该系统架构包括语音转文本模块、实体识别模块、自然语言理解模块以及文本转语音模块,其中,该自然语言处理模块包括基于实体标签的文本意图识别模块以及后处理模块。
64.如图2所示,语音转文本模块接收用户话语,并将用户话语转换为待识别文本;实体识别模块识别该识别文本中的实体,并为该实体添加至少一对实体标签;基于实体标签的文本意图识别模块根据该至少一对实体标签以及该待识别文本,确定该待识别文本中每个单词的槽位填充结果;后处理模块根据每个单词的槽位填充结果确定待识别文本的意图;文本转语音模块将待识别文本的意图转换为语音,并输出该语音以答用户的话语。
65.参阅图3,图3为本技术实施例提供的一种文本意图识别方法的流程示意图。该方法应用于文本意图识别装置。该方法包括以下步骤:
66.301:对待识别文本添加至少一对第一实体标签。
67.示例性的,确定该待识别文本中的第一实体,并为该第一实体添加至少一对第一实体标签,其中,该至少一对第一实体标签中的每对第一实体标签用于表征一个实体类型,且每对第一实体标签表征的实体类型用于指示一个意图。
68.其中,该第一实体可以为该待识别文本中的任意一个实体。本技术中以第一实体
为例进行说明,对其他实体添加实体标签的方式与此类似,不再赘述。
69.应理解,确定该待识别文本中的第一实体可以通过已有的模型实现。比如,可以通过基于循环神经网络(rnn)或卷积神经网络(cnn)的命名实体识别(ner)模型,不再赘述。也可以将该待识别文本与预先构造的实体字典库中的各个实体进行匹配,得到该第一实体。
70.示例性的,每对第一实体标签中的第一个实体标签用于指示该第一实体在该待识别文本中的起始位置,第二个实体标签用于指示该第一实体在该待识别文本中的结束位置。在对文本进行意图识别的过程中,可以识别出每对中的两个实体标签,并确定这两个实体标签之间的实体的类型为该对实体标签所表征的实体类型,并根据该实体类型进行槽位填充,提高槽位填充的准确率。
71.示例性的,每个实体可以对应一种或多种实体类型,比如,实体“七里香”可以对应音乐实体,也可以对应视频实体,还可以对应小说实体,等等。因此,本技术中可以为第一实体添加至少一对第一实体标签,其中,每对第一实体标签用于表征一种实体类型。
72.示例性的,待识别文本为“我想听七里香”,并确定第一实体为“七里香”,在表征音乐实体的情况下,可以为第一实体该添加一对第一实体标签[song name-b]和[song name-e],且该对第一实体标签中的两个实体标签分别位于“七里香”的起始位置和结束位置。因此,添加实体标签后的待识别文本为“我想听[song name-b]七里香[song name-e]”。这样,在待识别文本进行意图识别的过程中,可通过这对第一实体标签的位置,确定出“七里香”是个音乐实体,并且根据这对第一实体标签的表征,确定“七里香”是个音乐实体。因此,可提高槽位填充的准确率,进而提高意图识别的准确率。
[0073]
示例性的,在该第一实体为“七里香”,且表征音乐实体和视频实体的情况下,则可以为该第一实体添加两对第一实体标签,一对第一实体标签用于表征音乐实体,一对第一实体标签用于表征视频实体,且每对第一实体标签中的两个实体标签分别位于该第一实体的起始位置和结束位置。比如,可以通过一对实体标签[song name-b]和[song name-e]表征音乐实体,通过另外一对实体标签[video name-b]和[video name-e]表征视频实体。因此,对该第一实体添加两对第一实体标签后的待识别文本为“我想听[video name-b][song name-b]七里香[song name-e][video name-e]”。这样在识别该待识别文本的意图的过程中,可以得到该第一实体对应两个实体类型,则可以输出两个意图,即播放音乐和播放视频。
[0074]
应理解,在本技术中所涉及的song name表征的实体类型均为音乐实体,video name表征的实体类型均为视频实体,voice name表征的实体类型均为有声实体,novel name表征的实体类型为小说实体,media-name用于表示实体为媒体领域的单词。b、e、i,等等均用于表示单词在文本中的位置信息,比如b用于表示起始位置,e用于表示结束位置,i中间位置。后续涉及到与此处解释类似的词语不再解释说明。
[0075]
进一步,每对第一实体标签所表征的实体类型可以为与该第一实体对应的至少一个第一实体类型中的一个实体类型,也可以不是该至少一个第一实体类型中的一个实体类型。
[0076]
具体的,在该待识别文本中包含有垂类词的情况下,在识别意图的过程,可根据该垂类词确定该待识别文本的意图。因此,每对第一实体标签所表征的实体类型可以是随机选择的实体类型,所以,该实体类型可以为该至少一个第一实体类型中的一个实体类型,也
可以不是该至少一个第一实体类型中的一个实体类型。
[0077]
示例性的,该待识别文本为“请为我播放音乐七里香”,包含有垂类词“音乐”,可确定出第一实体“七里香”的实体类型为音乐实体,则可以从预先构造的实体字典库中随机选取至少一个实体类型,并通过该至少一对第一实体标签来表征该随机选择的至少一个实体类型,比如,可以从该实体字典库中选择一个小说实体,并通过一对第一实体标签[novel name-b]和[novel name-e]表征该小说实体。所以,添加这对实体标签后的待识别文本为“请为我播放音乐[novel name-b]七里香[novel name-e]”。虽然,添加了类型错误的实体标签,但是在意图识别的过程中,会忽略该实体标签所表征的实体类型,根据该垂类词“音乐”确定出该第一实体为音乐实体,确定出该待识别文本的意图为播放音乐(play_music)。
[0078]
可以看出,在待识别文本中包含有垂类词的情况下,可以为第一实体添加表征各种实体类型的第一实体标签,并且不会影响意图识别的准确率,从而提高在待识别文本中添加实体标签的灵活性。
[0079]
示例性的,在该待识别文本不包括垂类词的情况下,应根据第一实体的实体类型确定待识别文本的意图。因此,可确定该第一实体对应的至少一个第一实体类型,比如,可将该待识别文本与预先构造的实体字典库中的各个实体进行匹配,得到该第一实体对应的至少一个第一实体类型;并为该至少一个第一实体类型添加至少一对第一实体标签,其中,每对第一实体标签所表征的实体类型为该至少一个第一实体类型中的一个实体类型。
[0080]
示例性的,待识别文本为“请为我播放七里香”不包含垂类词。所以,不能直接确定出第一实体对应的实体类型,可将该待识别文本在预先构造的实体字典库中进行匹配,假设得到与该第一实体对应的第一实体类型包括音乐实体和视频实体。因此,可以为每个第一实体类型添加一对第一实体标签,比如,为音乐实体添加一对第一实体标签[song name-b]和[song name-e],为视频实体添加一对第一实体标签,[video name-b]和[video name-e]。所以,添加有第一实体标签后的待识别文本为“请为我播放[song name-b][video name-b]七里香[song name-e][video name-e]”。
[0081]
302:根据所述待识别文本以及所述至少一对第一实体标签,确定所述待识别文本的意图。
[0082]
示例性的,在该待识别文本中包含垂类词的情况下,可根据该垂类词确定该第一实体的实体类型,并根据该第一实体的实体类型确定该待识别文本的意图;在该待识别文本中不包含垂类词的情况下,可根据该至少一对第一实体标签,确定该第一实体的实体类型,并根据该第一实体的实体类型确定该待识别文本的意图。
[0083]
具体的,对该待识别文本中的每个单词进行编码,得到每个单词对应的第一词向量;以及对该至少一对第一实体标签中的每个实体标签进行编码,得到每个实体标签对应的第二词向量。
[0084]
进一步地,对每个单词对应的第一词向量以及每个实体标签对应的第二词向量进行融合处理,得到该待识别文本中的每个单词对应的第三词向量,其中,该每个单词对应的第三词向量包括添加实体标签后的待识别文本中每个单词(包括实体标签)的语义特征。比如,可以将每个第一词向量作为一个查询向量(query),将每个单词的第一词向量以及每个实体标签的第二词向量作为键值对(key-value);然后,通过自注意力机制,确定出每个单词对应的第三词向量,该第三词向量是对value进行加权得到的,所以,该第三词向量包括
有该待识别文本中每个单词的语义特征。
[0085]
应理解,在该待识别文本中包含垂类词的情况下,每个单词所对应的目标特征向量对应的语义特征主要是由垂类词所决定的,也就说在融合处理的过程中,每个单词的第一词向量与垂类词的第一词向量之间的相似度比较大,最后加权得到的目标特征向量主要是由垂类词的第一词向量决定的。所以,每个单词所对应的目标特征向量所对应的语义特征主要是垂类词决定的,这样最后的槽位填充结果也是由垂类词所决定,即根据垂类词确定文本意图;在该待识别文本不包含垂类词的情况下,每个单词所对应的目标特征向量所对应的语义特征主要是实体标签所决定的,也就说在融合处理的过程中,每个单词的第一词向量与实体标签的第二词向量之间的相似度较大,最后加权得到的目标特征向量主要是由实体标签的第二词向量决定的。所以,每个单词所对应的目标特征向量所对应的语义特征主要是实体标签决定的,这样最后的槽位填充结果是由实体标签所决定,即实现根据实体标签确定文本意图。
[0086]
进一步地,根据注意力机制,对所有单词的第三词向量进行融合处理,得到每个单词的第四词向量,示例性的,该注意力机制也可以为自注意机制,不再叙述;将每个单词的第四特征向量与每个单词的第三词向量进行叠加,得到每个单词对应的目标特征向量;
[0087]
进一步地,根据每个单词对应的目标特征向量,确定每个单词对应的槽位填充结果;比如,将每个单词对应的目标特征向量先后经过全连接层以及softmax层,可得到每个单词对应的槽位填充结果。比如,可以将softmax层处理后的向量中的最大概率所对应的维度进行映射,将映射结果作为该单词对应的槽位填充结果。
[0088]
最后,根据每个单词对应的槽位填充结果,确定该待识别文本的意图,即将每个单词对应的槽位填充结果进行映射,得到该待识别文本的意图。
[0089]
示例性的,若某个单词经softmax层的归一化后的向量为[0.11,0.21,0.47,0.11,0.10],可确定最大概率为0.47,且该维度对应的槽位填充结果为b-song name,则确定该单词对应的槽位填充结果为b-song name,其中,b用于指示该单词为起始单词,song name用于指示该单词为属于音乐实体的单词。最后,根据该b-song name与字符之间的对应关系进行映射,得到该单词对应的意图,比如,预先设定音乐实体的起始单词对应的字符为数字1,则可以将该单词的槽位填充结果映射为1。因此,在将每个单词的槽位填充结果映射为对应的字符后,可得到该待识别文本对应的意图(字符串)。再如,该意图对应的字符串为011s010,且查表可知该意图为播放音乐,则确定该待识别文本对应的意图为播放音乐。
[0090]
可以看出,在本技术实施例中,在对待识别文本进行识别的过程中,为该待识别中的实体添加实体标签,以指示该实体的实体类型,从而便于根据该实体的实体类型确定出该待识别文本的意图。由于,添加了实体标签,相当于为待识别文本中的实体添加了先验知识,可提高对该待识别文本的识别准确率。
[0091]
在本技术的一个实施方式中,上述确定该待识别文本的意图可以通过网络模型实现。下面结合该网络模型的网络结构说明对该待识别文本进行意图识别的过程。
[0092]
参阅图4,图4为本技术实施例提供的一种网络模型的结构示意图。该网络模型包括编码层、注意力层、槽位填充层、意图分类层;
[0093]
首先,对待识别文本[x1,x2,x3,
……
,]进行实体匹配,为该第一文本中的第一实体添加第一实体标签,其中,图3中示出的[cls]和[sep]分别是在识别过程中插入到第一文
本序列中的起始符号和结束符号,用作识别的开始信号和结束信号,并且在后续的处理过程中,将该起始符号和结束符号作为该第一文本序列中的单词进行处理;如图3所示,匹配出x3为第一实体,并为该第一实体添加一对第一实体标签[la]和[lb];然后,将添加有第一实体标签的待识别文本[cls,x1,x2,la,x3,lb,
……
,]输入到该网络模型;
[0094]
通过该编码层对添加有第一实体标签中的每个单词进行编码,得到每个单词对应的第一词向量;以及对每个实体标签进行编码,得到每个标签对应的第二词向量;然后,通过该编码层对每个单词对应的第一词向量以及每个标签对应的第二词向量之间进行融合,得到每个单词对应的第三词向量,比如,该编码层可以为基于bert模型的编码层,可以通过bert模型中的自注意机制进行融合,得到每个单词对应的第三词向量[[cls],h1,h2,h3,

,[sep]];
[0095]
通过注意力层对所有单词对应的第三词向量进行融合处理,得到每个单词对应的第四词向量,并将每个单词的第四词向量与该单词对应的第三词向量进行叠加,得到每个单词对应的目标词向量,即图中[c
l
,c1,c2,c3,
……
,cn];
[0096]
根据每个单词对应的目标词向量,通过槽位填充层,确定每个单词对应的槽位填充结果[y
l
,y
s1
,y
s2
,y
s3
,
……
,y
sn
];并还可根据起始符号对应的槽位填充结果y
l
,通过该意图分类层,确定该待识别文本的意图进行分类;
[0097]
最后,根据每个单词对应的槽位填充结果[y
l
,y
s1
,y
s2
,y
s3
,
……
,y
sn
]进行意图槽位映射(后处理),得到该待识别文本对应的意图。
[0098]
在本技术的一个实施方式中,该网络模型是通过预先构造的训练样本进行训练得到的。下面结合附图叙述构造该训练样本以及使用该训练样本对该网络模型进行训练的过程。
[0099]
图5为本技术实施例提供的一种训练网络模型的流程示意图。该方法包括以下步骤:
[0100]
501:获取第一文本序列。
[0101]
其中,该第一文本序列是原始的语料。
[0102]
502:对所述第一文本序列添加至少一对第二实体标签,得到至少一个第一样本,其中,所述至少一对第二实体标签中的每对第二实体标签对应一个第一样本,所述每对第二实体标签用于表征一个实体类型,所述每对第二实体标签所表征的实体类型用于指示一个意图。
[0103]
示例性的,在该第一文本序列中不包含垂类词的情况下,确定该第一文本序列中的第二实体对应的至少一个第二实体类型,比如,可以将该第一文本序列与预先构造的实体字典库进行匹配,得到该至少一个第二实体类型。然后,在该第一文本序列中为该至少一个第二实体类型中的每个第二实体类型添加一个第二实体标签,得到至少一个第一样本,其中,每个第二实体标签用于表征该第二实体类型中的一个第二实体类型。最后,根据每个第一样本的第二实体类型,标注该第一样本的意图以及每个单词的槽位填充结果,得到每个第一样本的监督标签,其中,该第一样本的意图与该第二实体类型所指示的意图相同,该槽位填充结果也与该第二实体类型所指示的槽位填充结果相同。
[0104]
举例来说,第一文本序列为“播放你好旧时光”,将该第一文本序列与字典库中的各个实体匹配,匹配出的第二实体类型包括音乐实体、视频实体和有声实体;然后,为每个
第二实体类型添加一对第二实体标签,可得到三个第一样本:“播放[song name-b]你好旧时光[song name-e]”、“播放[video name-b]你好旧时光[video name-e]”、“播放[voice name-b]你好旧时光[voice name-e]”,并且三个第一样本标注的槽位填充结果以及意图如表1所示。
[0105]
应理解,在实体字典库中未匹配出第二实体类型的情况下,则无法根据实体类型确定该第一文本序列的意图,可根据该第一文本序列的句式确定该第一文本序列的意图。此时确定出的意图可以为与该句式对应的通用意图。比如,第一文本序列的句式为“播放xxx”,则确定该第一文本序列的意图为播放一个实体,一般来说,与播放对应的实体是属于媒体领域的实体,所以,可确定该第一文本序列的意图为媒体领域的通用意图。如表1中示出的第四个样本,标注该第一文本序列的意图为通用意图(common_play),并根据该通用意图确定该第一文本序列中各个单词的槽位填充结果为media name。
[0106]
表1:
[0107][0108]
可以看出,由于生活中会存在很多句式相同,但是意图不同的句子。比如,句式为“请为我播放xxx”即可表示播放音乐,也可以表示播放视频。如果不对第一文本序列进行不同意图的替换则可能导致训练样本的意图都是单一的领域,这样对网络模型完成训练后,网络模型接收到“播放xxx”的句式的待识别文本,都会认为这种网络文本的意图是播放音乐,比如,待识别文本为“请为我播放功夫熊猫”,也会识别出意图为播放音乐,从而对文本意图识别错误,网络模型的泛化能力比较低;因此,当无法确定实体类型,根据文本的句式进行意图的识别时,可以使用不同的实体类型对该第一序列文本中的实体类型进行替换,用于模拟口语表达中句式相同,但意图不同的文本。在使用这样的训练样本对网络模型进行训练后,可使该网络模型能够识别出这种句式对应的所有意图,提高网络模型识别句式相同,但意图不同的文本的泛化能力。
[0109]
示例性的,在该第一文本序列包括垂类词的情况下,可以从实体字典库中随机选择至少一个第三实体类型,并在该第一文本序列中为该随机选择的至少一个第三实体类型中的每个第三实体类型添加一个第二实体标签,得到该至少一个第一样本,其中,每个第二实体标签用于表征一个第三实体类型。由于第三实体类型是随机选取的,因此,每个第二实体标签所表征的第三实体类型,可以是与该第二实体对应的至少一个第二实体类型中的一个实体类型,也可以不是该第二实体对应的至少一个第二实体类型中的一个实体类型。最
后,根据该第一样本中的垂类词,标注每个第一样本的意图以及每个第一样本中的各个单词的槽位填充结果,得到每个第一样本的监督标签。
[0110]
示例性的,待识别文本为“播放音乐七里香”,且第二实体为七里香,并且包含有垂类词“音乐”,则可确定该第二实体的实体类型为音乐实体。假设从实体字典库中随机选出的第三实体类型包括音乐实体、视频实体和有声实体。则可以为每种第三实体类型添加一对第二实体标签,得到第一样本:“播放音乐[song name-b]七里香[song name-e]”、“播放音乐[video name-b]七里香[video name-e]”、“播放音乐[voice name-b]七里香[voice name-e]”。然后,根据该第一文本序列中的垂类词,标注每个第一样本的意图以及每个第一样本中的各个单词的槽位填充结果,得到如表2所示的第一样本。
[0111]
表2:
[0112][0113]
可以看出,由于该第一文本中包含有垂类词,第二实体对应的实体类型是由垂类词决定的,所以,添加不是表征该第二实体对应的实体类型的第二实体标签,构造这样的训练样本对网络模型进行训练,可以让网络模型学会在包含垂类词的情况下,优先根据垂类词来确定该实体的类型,而不是使用实体标签来识别该实体的类型,这样在后续匹配出错误的实体标签(出现噪声)的情况下,也能够正确的识别出文本的意图,提高文本意图识别的准确率。
[0114]
503:将所述每个第一样本输入到所述网络模型,预测所述每个第一样本中每个单词的槽位填充结果以及所述每个第一样本的意图。
[0115]
其中,预测每个第一样本的意图上述确定待识别文本的意图的方法类似,不再叙述;预测每个第一样本中每个单词的槽位填充结果与上述确定待识别文本中每个单词的槽位填充结果类似,也不再叙述。
[0116]
504:根据预测的所述每个第一样本中每个单词的槽位填充结果以及所述每个第一样本的意图,调整所述网络模型的模型参数,以对所述网络模型进行训练。
[0117]
示例性的,根据预测的每个第一样本中每个单词的槽位填充结果与标注的该第一样本中每个单词的槽位填充结果,得到第一损失,即计算该第一样本中预测的每个单词的槽位填充结果与标注的槽位填充结果之间的第一差异(比如,欧式距离),得到该第一样本中每个单词对应的第一差异,将该第一样本中所有单词的第一差异的平均值作为该第一损失;根据预测的每个第一样本的意图以及标注的该第一样本的意图,得到第二损失;对该第
一损失和第二损失进行加权处理的,得到目标损失;根据该目标损失以及梯度下降法调整该网络模型的模型参数,直至该网络模型收敛,完成对该网络模型的训练。
[0118]
在本技术的一个实施方式中,还可对所述至少一个第一样本中的每个第一样本中的部分词语进行替换,得到所述每个第一样本对应的至少一个第二样本,然后,将该至少一个第二样本中的每个第二样本作为一个训练样本,对该网络模型进行训练。训练过程与上述使用第一样本的训练过程类似,不再叙述。
[0119]
示例性的,在该第一样本中包含垂类词的情况下,对该第一样本中的目标词语进行替换,得到该至少一个第二样本,其中,该目标词语包括垂类词和/或实体。
[0120]
示例性的,确定与该垂类词的类型对应的至少一个候选垂类词,即属于一个领域的候选垂类词和/或从实体字典库中获取与该实体的类型对应的至少一个候选实体,即属于同一个领域的候选实体;然后,使用该至少一个候选垂类词中的部分或全部候选垂类词替换该第一文样本中的垂类词和/或使用该至少一个候选实体中的部分或全部候选实体替换该第一样本中的实体,得到该至少一个第二样本。
[0121]
示例性的,获取与该垂类词的类型对应的至少一个候选垂类词,即属于一个领域的候选垂类词,比如,垂类词为音乐,对应的候选垂类词有歌曲、乐曲,等等;和/或从实体字典库中获取与该第二实体对应的至少一个候选实体,即属于同一个领域的实体,比如,第二实体为“七里香”,候选实体有“告白气球”、“东风破”,等等;然后,使用该至少一个候选垂类词中的部分或全部候选垂类词替换该第一样本中的垂类词和/或使用该至少一个候选实体中的部分或全部候选实体替换该第二实体,得到该至少一个第二样本。因此,该至少一个第二样本中的每个第二样本的意图与该第一文样本的意图相同。所以,每个第二样本的监督标签与该第一样本的监督标签相同。
[0122]
示例性的,可以从该至少一个候选垂类词中随机选出部分候选垂类词或按照预设采样率从该至少一个候选垂类词中选出部分候选垂类词,通过随机选取或者通过预设采样率选取主要是保证每个候选垂类词被选出的随机性,避免限定同一个领域内的实体的类型,从而可以模拟出日常交流中同一个领域内的垂类词的出现是随机的,从而增加了该领域内的第二样本(训练样本)的丰富性,使用这样的训练样本对网络模型进行训练后,网络模型的泛化能力比较强。
[0123]
同样,可以从该至少一个候选实体中随机选出部分候选实体或按照预设采样率从该至少一个候选实体中选出部分候选实体,通过随机选取或者通过预设采样率选取主要是保证每个候选实体被选出的随机性,避免限定同一个领域内的实体的类型,从而可以模拟出日常交流中同一个领域内的实体的出现是随机的,从而增加了该领域内的第二样本(训练样本)的丰富性,使用这样的训练样本对网络模型进行训练后,网络模型的泛化能力比较高,可正确识别出该领域内的各个实体的意图。
[0124]
举例来说,第一样本为“我想听音乐七里香”,则该第一样本中的垂类词为“音乐”,第二实体为“七里香”。并获取到“音乐”对应的候选垂类词有“歌曲”、“乐曲”,等等;以及“七里香”对应的候选实体有“东风破”、“告白气球”、“菊花台”,等等。然后,从该选垂类词中选出了“歌曲”、以及从候选实体中选出了“东风破”。则可以对该第一文本序列中的垂类词和第二实体进行替换,得到第二文本序列:“我想听歌曲七里香”、“我想听歌曲东风破”以及“我想听音乐东风破”。这些第二样本的意图都是播放音乐。所以,后续网络模型可以正确的
识别出各种意图为播放音乐的待识别文本,泛化能力比较强。
[0125]
示例性的,在该第一样本中不包含垂类词的情况下,可对该第一样本中的第二实体进行替换,得到至少一个第二样本。
[0126]
示例性的,获取与该第二实体的实体类型不同(不属于同一个领域)的至少一个候选实体,比如,从实体字典库中查询与该第二实体的实体类型不同的至少一个候选实体;然后,使用该至少一个候选实体中的部分或全部候选实体对该第一样本中实体进行替换,得到该至少一个第二样本,则该至少一个第二样本中的每个第二样本与该第一文本序列的意图不同。此外,需要根据每个第二样本中的每个候选实体的实体类型,重新标注每个第二样本中的每个单词以及每个第二样本对应的意图,得到每个第二样本的监督标签。
[0127]
示例性的,第一样本为“请为我播放你好旧时光”,该第一样本标注的意图为播放音乐(play_music),以及该实体你好旧时光中的实体标注的槽位填充结果为“b-song name”、“i-song name”、“i-song name”、“i-song name”、“e-song name”,其中,“b-song name”、“i-song name”、“i-song name”、“i-song name”、“e-song name”分别单词“你”、“好”、“旧”、“时”、“光”的槽位填充结果。但是,从实体匹配角度来看,并不能确定实体“你好旧时光”是音乐实体,还是视频实体。这种情况下需要根据文本的句式识别意图,而这种文本的句式为“播放xxx”。所以,为了提高模型对这种句式的泛化能力,可以对该第二实体进行替换,替换为不同领域的实体,比如,可以将“你好旧时光”替换为视频实体“功夫熊猫”,得到第二样本为“请为我播放功夫熊猫”,并对重新标注该第二样本,将该第二样本的意图标注为播放视频(play_video),将该实体“功夫熊猫”中的每个单词的槽位填充结果标注为“b-video name”、“i-video name”、“i-video name”、“i-video name”、“e-video name”,其中,“b-video name”、“i-video name”、“i-video name”、“i-video name”、“e-video name”分别为“功”、“夫”、“熊”、“猫”的槽位填充的标注结果。
[0128]
可以看出,如果只对实体的实体类型进行替换,而不去替换实体的名称,比如,上述只是将“你好旧时光”的实体类型分别替换为视频实体、有声实体,等等。而不去替换“你好旧时光”这个名称,可能导致对网络模型完成训练后,只能识别“你好旧时光”对应的意图,不能识别出其他名称的实体的意图。所以,对实体的名称进行替换,可以增加实体名称的丰富性,提高高网络模型的泛化能力。
[0129]
参阅图6,图6为本技术实施例提供的一种对话系统的结构示意图。对话系统600包括语音识别模块(asr)610,语言理解模块(nlu)620,对话管理模块(dm)630和文本转语音模块(tts)640,其中:
[0130]
语音识别模块610,用于接收语音信息,并将该语音信息转换为待识别文本;
[0131]
语言理解模块620,用于对该待识别文本进行识别,得到该待识文本中每个单词的槽位填充结果,其中,得到待识文本中每个单词的槽位填充结果可以通过上述的任意一种文本意图识别方法实现,不再叙述;
[0132]
对话管理模块(dm)630,用于根据每个单词的槽位填充结果进行后处理,得到该待识别文本的意图,其中,对每个单词的槽位填充结果进行后处理可以通过上述的任意一种文本意图识别方法实现,不再叙述;
[0133]
文本转语音模块640,用于将该待识别文本的意图转化为对应的音频信息,并将该音频信息输出。
[0134]
参阅图7,图7为本技术实施例提供的一种文本意图识别装置的结构示意图。文本意图识别装置700包括收发单元701和处理单元702,其中:
[0135]
收发单元701,用于获取待识别文本;
[0136]
处理单元702,用于对待识别文本添加至少一对第一实体标签,其中,所述至少一对第一实体标签中的每对第一实体标签用于表征一个实体类型,所述每对第一实体标签所表征的实体类型用于指示一个意图;
[0137]
处理单元702,还用于根据所述待识别文本以及所述至少一对第一实体标签,确定所述待识别文本的意图。
[0138]
在一些可能的实施方式中,所述每对第一实体标签中的一个实体标签用于指示所述第一实体在所述待识别文本中的起始位置,另一个实体标签用于指示所述第一实体在所述待识别文本中的结束位置。
[0139]
在一些可能的实施方式中,在对待识别文本添加至少一对第一实体标签方面,处理单元702,具体用于:
[0140]
确定所述待识别文本中的第一实体;
[0141]
在所述待识别文本包含垂类词的情况下,对所述第一实体添加所述至少一对第一实体标签,其中,所述每对第一实体标签用于表征的一个实体类型是所述少一个第一实体类型中的一个实体类型或者不是所述少一个第一实体类型中的一个实体类型;
[0142]
在所述待识别文本不包含垂类词的情况下,确定与所述第一实体对应的至少一个第一实体类型,并对所述第一实体添加所述至少一对第一实体标签,其中,所述每对第一实体标签用于表征的一个实体类型是所述少一个第一实体类型中的一个实体类型。
[0143]
在一些可能的实施方式中,在根据所述待识别文本以及所述至少一对第一实体标签,确定所述待识别文本的意图方面,处理单元702,具体用于:
[0144]
在所述待识别文本中包含垂类词的情况下,根据所述垂类词确定所述第一实体的实体类型,并根据所述第一实体的实体类型确定所述待识别文本的意图;
[0145]
在所述待识别文本中不包含垂类词的情况下,根据所述至少一对第一实体标签,确定所述第一实体的实体类型,并根据所述第一实体的实体类型确定所述待识别文本的意图。
[0146]
在一些可能的实施方式中,所述识别所述待识别文本的意图是通过网络模型执行的,收发单元701,还用于获取第一文本序列;
[0147]
处理单元702,还用于对所述第一文本序列添加至少一对第二实体标签,得到至少一个第一样本,其中,所述至少一对第二实体标签中的每对第二实体标签对应一个第一样本,其中,所述每对第二实体标签用于表征一个实体类型,所述每对第二实体标签所表征的实体类型用于指示一个意图;将所述每个第一样本输入到所述网络模型,预测所述每个第一样本中每个单词的槽位填充结果以及所述每个第一样本的意图;根据预测的所述每个第一样本中每个单词的槽位填充结果以及所述每个第一样本的意图,调整所述网络模型的模型参数,以对所述网络模型进行训练。
[0148]
在一些可能的实施方式中,在对所述第一文本序列添加至少一对第二实体标签,得到至少一个第一样本方面,处理单元702,具体用于:
[0149]
在所述第一文本序列不包含垂类词的情况下,确定与所述第一文本序列中的第二
实体对应的至少一个第二实体类型,并在所述第一文本序列中为所述至少一个第二实体类型中的每个第二实体类型添加一对第二实体标签,得到所述至少一个第一样本,其中,所述至少一个第一样本中的每个第一样本的意图是由所述每个第一样本对应的第二实体类型确定的;
[0150]
在所述第一文本序列包含垂类词的情况下,确定至少一个第三实体类型,并在所述第一文本序列中为所述至少一个第三实体类型中的每个第三实体类型添加一个第二实体标签,得到所述至少一个第一样本,其中,所述每个第三实体类型是与所述第一文本序列中的第二实体对应的至少一个第二实体类型中的一个实体类型或者不是所述至少一个第二实体类型中的一个实体类型,所述至少一个第一样本中的每个第一样本的意图是由所述每个第一样本中的垂类词确定的。
[0151]
参阅图8,图8为本技术实施例提供的一种文本意图识别装置的结构示意图。文本意图识别装置800包括存储器801、处理器802和收发器803。它们之间通过总线804连接。存储器801用于存储相关指令和数据,并可与将存储的数据传输给处理器802。
[0152]
处理器802用于读取存储器801中的相关指令执行以下操作:
[0153]
控制收发器803获取待识别文本;
[0154]
对待识别文本添加至少一对第一实体标签,其中,所述至少一对第一实体标签中的每对第一实体标签用于表征一个实体类型,所述每对第一实体标签所表征的实体类型用于指示一个意图;
[0155]
根据所述待识别文本以及所述至少一对第一实体标签,确定所述待识别文本的意图。
[0156]
具体地,上述处理器802可以为图7所示的实施例的文本意图识别装置700的处理单元702,上述收发器803可为图7所述的实施例的文本意图识别装置700的收发单元701。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1