CN113672711B - 一种服务型机器人意图识别装置及其训练、识别方法 - Google Patents
一种服务型机器人意图识别装置及其训练、识别方法 Download PDFInfo
- Publication number
- CN113672711B CN113672711B CN202110907685.8A CN202110907685A CN113672711B CN 113672711 B CN113672711 B CN 113672711B CN 202110907685 A CN202110907685 A CN 202110907685A CN 113672711 B CN113672711 B CN 113672711B
- Authority
- CN
- China
- Prior art keywords
- word
- matrix
- dialogue
- sentence
- intention
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012549 training Methods 0.000 title claims abstract description 19
- 238000002372 labelling Methods 0.000 claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 52
- 239000013598 vector Substances 0.000 claims description 25
- 101710202779 Group 3 late-embryogenesis abundant protein, mitochondrial Proteins 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 230000001174 ascending effect Effects 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000013139 quantization Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种服务型机器人意图识别装置及其训练、识别方法,包括如下步骤:1)根据应用场景确定要识别的对话意图,并获取大量对话数据及对应的意图,人工找出对话数据中对应的意图,进行语料标注;2)采用期望交叉熵量化算法获取停用词表,并去除对话中的停用词;3)构建用于意图识别的装置,并通过1)、2)处理后的训练集数据对装置进行训练;4)由训练好的装置实时获取1)、2)处理后的对话数据,进行意图识别,输出最佳意图。本发明的意图识别效率高、准确率高、泛化能力强、人工标注语料成本低。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其是涉及一种服务型机器人意图识别装置及其训练、识别方法。
背景技术
在人工智能大放异彩的今天,客服机器人已经在许多领域中拥有不错的表现。它们一方面可以不受时间约束,在任何时间回答用户的问题,另一方面也减轻了企业雇佣客服人员的成本。而意图识别是客服机器人中关键的一环,但是目前的多数客服机器人并没有达到“智能”,不能满足用户的实际需求,比如在多轮对话中,无法结合对话历史来获取用户真正意图。目前客服机器人对话意图识别方式主要有三种:
第一种基于词典以及模板的规则方法。即通过收集大量用户语料获取到尽可能多的意图,由人工来整理出用户咨询问题的模板,然后机器人根据模板匹配结果回答用户问题。这种方法准确率较高,适合小规模的客服机器人。
第二种采用传统机器学习的方法。即将意图识别问题作为文本分类问题,通过支持向量机、随机森林等分类方法,对已经标注的语料进行训练得到分类模型,然后机器人根据模型预测用户意图,进而回答用户问题。这种方法节省了大量人工费整理用户问题模板时间,且机器人的泛化能力较强。
第三种采用深度学习的方法。即采用当下最热门的深度学习模型,如长短期记忆网络、双向长短期记忆网络等方法,在基于巨大量的用户标注语料下得到深度学习模型,然后机器人根据模型预测用户意图,进而回答用户问题。这种方式考虑到了用户对话信息上下文之间的联系,且拥有较强的泛化能力,适合于大规模的客服机器人。
比较三种方法,方案一的缺点是,需要大量的人工去整理用户语料,形成用户问题模板,然后对客服机器人进行配置。对于那些没有整理配置的问题,机器人无法进行回答,泛化能力很差。方案二,虽然也需要人工标注语料,但是标注难度比方案一小很多,并且可以采用模型辅助进行语料标注,此方案相较于方案一的泛化能力有较大提升。方案三,需要投入大量的人工去标注语料,其语料标注规模是前两种方案的几十倍甚至百倍,但正因如此方案三从中很好地学习了用户对话与意图间的转化关系,极大地提高了意图识别的准确率和机器人的泛化能力。
发明内容
为解决现有技术的不足,本发明基于人工标注用户对话语料,通过句级联合嵌入模块与话务级LSTM模块将关键词、标签、上下文内容纳入意图识别的考虑范围,通过意图分类和置信度评估模块,对句级联合嵌入模块与话务级LSTM模块的输出进行处理,实现提高机器人泛化能力、考虑上下文联系,减少工人标注语料,并获取最佳意图的目的,本发明采用如下的技术方案:
一种服务型机器人意图识别装置,包括:句级联合嵌入模块、话务级LSTM模块、意图分类和置信度评估模块,所述句级联合嵌入模块,包括嵌入层和对话级联合嵌入层;
所述嵌入层,获取标注语料D中的每句话uj和所有意图I,得到对应的字嵌入矩阵ej和意图标签矩阵eI;
所述对话级联合嵌入层,包括Bi-LSTM模型和LEAM模型,二者相互独立,设置Bi-LSTM模型的隐藏层大小hidden size和超参数uα,设置LEAM模型的窗口大小r,Bi-LSTM模型获取字嵌入矩阵ej,输出第一句向量序列sj1;LEAM模型获取字嵌入矩阵ej和图标签矩阵eI,输出第二句向量序列sj2,最后将ej1和sj2拼接,得到句向量序列sj;采用LEAM模型是将标签信息纳入意图识别的考虑范围,采用Bi-LSTM将上下文信息纳入意图识别的考虑范围,采用Attention机制是将关键字词纳入意图识别的考虑范围;
所述话务级LSTM模块,设置Conversation-level LSTM模型的隐藏层大小hiddensize,获取句向量序列sj,输出隐藏层状态变量gj,每一个输入的sj均会产生gj;
所述意图分类和置信度评估模块,设置意图分类和置信度评估模块的预选参数,包括全连接层层数、激活函数类型、随机失活率,获取隐藏层状态变量gj,输出pi’和c′i’,其中c′i’表示是否为业务相关,pj为最终的意图分类结果。
进一步地,所述嵌入层获取的uj,是标注语料D中的每句话uj以单字或者词语的方式拆分,并按对话顺序组成序列uj={wj1,wj2,wj3,…,wjt},其中uj∈D={u1,u2,u3,…,un},t是单字或词语的个数,n是一通对话块的句数;所述嵌入层获取的所有意图I,是标注语料D中包含的所有意图I={o,l1,l2,l3,…,lk-1},o为与意图无关的语义标签,li’表示与意图有关的标签,k表示意图标签的数量,(与意图无关语料的意图标签均设为其他意图,此步骤仅需要所有意图标签序列,不需要每句话对应的标签序列),首先设置嵌入层的参数,包括嵌入向量空间的维度、语料总共使用的次数epoch、每批次大小batch size,得到对应的字嵌入矩阵ej={ej1,ej2,ej3,…,ejt}和意图标签矩阵eI={eo,el,1,el,2,el,3,…,el,k-1}。
进一步地,所述Bi-LSTM模型获取字嵌入矩阵ej,输出第一句向量序列sj1的过程如下:
zj,i=tanh(W1hj,i+b1)
其中表示前向隐藏层状态变量,/>表示前向细胞状态变量,/>从前往后读取eji,即从e1i→eni读取,t是单字或词语的个数,/>和/>分别表示前一时刻的前向隐藏层变量和细胞状态变量,/>表示后向隐藏层状态变量,/>表示后向细胞状态变量,/>从后往前读取eji,即从eni→eji,t是单字或词语的个数,/>和/>分别表示前一时刻的后向隐藏层变量和细胞状态变量,/>表示矩阵对应的元素相加,比如/>的结果为[4,6],hj,i表示当前隐藏层状态变量,再通过Attention机制,即zj,i、αj,i得到sj1,W1和b1为模型自己决定的参数,exp()表示期望函数,uα是超参数。
进一步地,所述LEAM模型获取字嵌入矩阵ej和图标签矩阵eI,输出第二句向量序列sj2的过程如下:
mj,i=maxPooling(pj,i)
其中Gj表示ej和eI构成的矩阵,d为嵌入向量空间的维度,ReLU()表示激活函数,r为操作半径,表示对矩阵Gj以第i列为中心,选取第i-r列到第i+r列,其余设置为0,W2和b2为模型需要学习的参数,maxPooling(pj,i)表示对矩阵pj,i选取其中最大的值,exp()表示期望函数。
进一步地,所述获取句向量序列sj={s1,s2,s3,…,sn},输出隐藏层状态变量gj的过程如下:
其中gj为隐藏层状态变量,表示从前往后读取sj,gj-1为前一状态的隐藏层状态变量,此处的细胞状态变量cj和前一状态的细胞状态变量cj-1均为中间变量,不纳入后续的计算。
进一步地,所述获取隐藏层状态变量gj,输出pi’和c′i’的过程如下:
W4=GmatrixW3
Pmatrix=W4I
其中由gj构成的矩阵,n表示句子的个数,W3表示为模型需要学习的参数,Pmatrix为一维矩阵,其个数为意图I的个数,对其Pmatrix进行归一化后,每个分量的最大值即为c′i’,而c′i’对应的I[i′]中的元素即为pi’。
一种服务型机器人意图识别的训练方法,包括如下步骤:
S1,获取标注语料D作为装置的输入;
S2,根据装置输出的pi’,构建意图分类的损失函数其中Li’为当前对话的标准标签,k表示意图标签的数量;
S3,根据装置输出的c′i’,构建置信度评估的损失函数其中/>o为与意图无关的标签;
S4,构建意图分类和置信度评估模块的总损失函数Ltotal=Ltask+λLconfidence,λ是调节Ltask和Lconfidence之间权重的超参数;
S5,结合损失函数,对装置进行联合训练。
进一步地,所述标注语料D的生成,包括如下步骤:
S11,根据实际应用场景确定对话意图,并获取与之对应的大量的对话数据,人工找出对话数据中的对话块,为对话块标注对应的对话意图;人们通常会用连续几句话来表达同一个意图,我们称之为对话块,在语料标注之前,首先根据客服机器人应用场景确定机器人想要识别的意图名称,然后,取一通完整的对话数据,人工找出对话中的对话块以及对应的意图,进行标注,最后我们将标注好的对话数据存储到磁盘上,本发明采用端到端的模型,因此需要通过大量人工标注语料来训练优化模型参数;
S12,采用期望交叉熵算法对对话数据进行处理得到停用词表,根据产生的停用词表去除对话数据中的停用词,由于人们在对话中会使用大量的虚词、语气词等停用词,而这些词频繁出现,不仅影响意图识别的准确率,而且造成了极大的空间浪费,因此需要去除对话数据中的停用词,包括如下步骤:
S121,将对话数据使用分词工具进行分词;
S122,基于词在句子中出现的频率,与包含该词的句子频率的联合熵,分别计算词在各个句子内发生的概率,以及所包含该词语的句子在文本中出现的概率,再次计算两者的联合熵,其数值越小,越可能为停用词,根据联合熵的升序排序选取停用词,得到停用词表,根据联合熵的升序排列选取前10个单词作为停用词,所述联合熵:
其中fj(ωi)表示第i个单词ωi在第j个句子中出现的频率,n表示句子的个数,fl(s|ωi)表示包含第i个单词ωi的句子s在文本l中出现的频率,m表示文本数;
S123,若S121中的词出现在S122得到的停用词表中,则去除该词,否则保留;
S124,将S123得到的结果拼接为句子,由句子构成标注语料D。
进一步地,所述人工找出对话数据中的对话块,为对话块标注对应的对话意图,在所述S12删除停用词后进行标注,可以减少查找和标注的工作量,提高工作效率。
一种服务型机器人意图识别方法,通过训练好的装置,从对话数据中获取一句话,得到输出结果pi’和c′i’,若c′i’大于等于近似于1的第一阈值,则输出pi’对应的意图分类li’,若c′i’小于等于近似于0的第二阈值,则输出与意图无关的语义标签o。根据实时对话数据,高效准确地进行意图识别,为客服机器人提供意图识别能力,由训练好的识别装置为意图识别提供了基础能力,本方法实时获取对话数据,进行意图识别,输出最佳意图。
本发明的优势和有益效果在于:
本发明采用端到端的深度学习方法,克服了背景技术方案一泛化能力差的问题。同时将关键词、标签、上下文内容纳入意图识别考虑的范围,很好的解决了方案二没有考虑上下文联系的问题。而且所需的语料远低于方案三所需的语料,在保证准确率和泛化能力的前提下,采用本发明的方法大大降低了人工标注语料的成本,克服了方案三语料标注成本高的问题。本发明为端到端的方案,将各个网络连接在一起进行联合训练。相较于不同模型之间的线性组合,本发明仅需一次,人工调优成本较低;且能够避免多个最佳模型组合的输出不一定最佳的问题。本发明意图识别效率高、准确率高、泛化能力强,人工标注语料成本低。
附图说明
图1表示本发明的装置框架构建流程图。
图2表示本发明的内部结构图。
图3表示本发明的意图识别方法流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1、2所示,一种服务型机器人的意图识别方法,包括如下步骤:
1)根据实际应用场景确定对话意图,并获取与之对应的大量的对话数据,人工找出对话数据中的对话块以及其对应的意图,进行语料标注;人们通常会用连续几句话来表达同一个意图,我们称之为对话块。在语料标注之前,首先根据客服机器人应用场景确定机器人想要识别的意图名称,然后,取一通完整的对话数据,人工找出对话中的对话块以及对应的意图,进行标注,最后我们将标注好的对话数据存储到磁盘上。本发明采用端到端的模型,因此需要通过大量人工标注语料来训练优化模型参数。
2)采用期望交叉熵算法对对话数据进行处理得到停用词表,根据产生的停用词表去除对话数据中的停用词;由于人们在对话中会使用大量的虚词、语气词等停用词,而这些词频繁出现,不仅影响意图识别的准确率,而且造成了极大的空间浪费,因此需要去除对话数据中的停用词。
2.1)将对话数据使用分词工具(如:jieba分词)进行分词;
2.2)基于词在句子中出现的频率,与包含该词的句子频率的联合熵,分别计算词在各个句子内发生的概率,以及所包含该词语的句子在文本中出现的概率,再次计算它们的熵,根据熵的升序排序选取停用词,得到停用词表;其具体过程为:
其中fj(ωi)表示第i个单词ωi在第j个句子中出现的频率,n表示句子的个数,fl(s|ωi)表示包含第i个单词ωi的句子s在文本l中出现的频率,m表示文本数,W(ωi)表示单词ωi在句子出现的频率与包含该词的句子频率的联合熵,其数值越小,越可能为停用词,最后根据W(ωi)的升序排列选取前10个单词作为停用词;
2.3)若步骤2.1)中的词出现在2.2)得到的停用词表中,则去除该词,否则保留;
2.4)将2.3)得到的结果拼接为句子。
3)构建并训练用于意图识别的模型(由句级联合嵌入模块、话务级LSTM模块、意图分类和置信度评估模块组成);该部分采用LEAM模型是将标签信息纳入意图识别的考虑范围,采用Bi-LSTM将上下文信息纳入意图识别的考虑范围,采用Attention机制是将关键字词纳入意图识别的考虑范围。
所述步骤3)中句级联合嵌入模块构建步骤具体为:
3.1)获取去除停用词后的人工标注语料,将语料中的每句话以字或词为单位拆分为List,最终得到整个语料的List列表。将语料D中的每句话uj以单字或者词语的方式拆分,并按照对话顺序组成序列uj={wj1,wj2,wj3,…,wjt},其中uj∈D={u1,u2,u3,…,un},t是单字或词语的个数,n是一通对话的句数;
3.2)获取对话语料中包含的所有意图I={o,l1,l2,l3,…,lk-1},o为与意图无关的语义标签,li’表示与意图有关的标签,k表示意图标签的数量,(与意图无关语料的意图标签均设为其他意图,此步骤仅需要所有意图标签序列,不需要每句话对应的标签序列);
3.3)设置句级联合嵌入模块的内部结构。首先设置句向量模块的第一层——embedding(嵌入)层的参数,包括嵌入向量空间的维度、语料总共使用的次数epoch、每批次大小batch size,此时将3.1)中得到的每一个uj和3.2)的I作为embedding层的输入,得到对应的字嵌入矩阵ej={ej1,ej2,ej3,…,ejt}和意图标签矩阵eI={eo,el,1,el,2,el,3,…,el,k-1};
3.4)设置句级联合嵌入模块的内部结构。然后设置句向量模块的第二层对话级联合嵌入层的参数,包括Bi-LSTM模型的隐藏层大小hidden size和超参数uα、LEAM模型的窗口大小r。第二层由两个模型构成(Bi-LSTM模型和LEAM模型),二者相互独立,Bi-LSTM模型的输入为3.3)得到的ej,输出为第一句向量序列ej1;LEAM模型的输入为3.3)得到的ej和eI,输出为第二句向量序列sj2。
其中sj1的计算过程如下:
zj,i=tanh(W1hj,i+b1)
其中表示前向隐藏层状态变量,/>表示前向细胞状态变量,/>从前往后读取eji(即从e1i→eni读取,t是单字或词语的个数),/>和/>分别表示前一时刻的前向隐藏层变量和细胞状态变量,/>表示后向隐藏层状态变量,/>表示后向细胞状态变量,/>从后往前读取eji(即从eni→eji,t是单字或词语的个数),/>和/>分别表示前一时刻的后向隐藏层变量和细胞状态变量,/>表示矩阵对应的元素相加,比如的结果为[4,6],hj,i表示当前隐藏层状态变量,W1和b1为模型自己决定的参数,exp()表示期望函数,uα是超参数。
sj2的计算过程如下:
mj,i=maxPooling(pj,i)
其中Gj表示ej和eI构成的矩阵,d为嵌入向量空间的维度,ReLU()表示激活函数,r为操作半径,表示对矩阵Gj以第i列为中心,选取第i-r列到第i+r列,其余设置为0,W2和b2为模型需要学习的参数,maxPooling(pj,i)表示对矩阵pj,i选取其中最大的值,exp()表示期望函数。
最后将Bi-LSTM输出得到的sj1和LEAM输出得到的sj2拼接,得到wi的句向量序列sj,假设得到的sj1=[1,2,3],sj2=[4,5,6,7],则拼接后的sj=[1,2,3,4,5,6,7];
所述步骤3)中话务级LSTM模块构建步骤具体为:
3.5)设置Conversation-level LSTM模型的隐藏层大小hidden size。
3.6)模型的输入为3.4)中得到的句向量序列sj={s1,s2,s3,…,sn},输出隐藏层状态变量gj,每一个输入的sj均会产生gj;其计算方法为:
其中gj为隐藏层状态变量,表示从前往后读取sj,gj-1为前一状态的隐藏层状态变量,此处的细胞状态变量cj和前一状态的细胞状态变量cj-1均为中间变量,不纳入后续的计算。
所述步骤3)中意图分类和置信度评估模块构建步骤具体为:
3.7)设置意图分类和置信度评估模块的预选参数,包括全连接层层数、激活函数类型、随机失活率;
3.8)模块的输入为3.6)中得到的隐藏层状态变量gj,输出为pi’和c′i’。其中c′i’表示是否为业务相关,pj为最终的分类结果,以一层为例,其主要过程为:
W4=GmatrixW3
Pmatrix=W4I
其中由gj构成的矩阵,n表示句子的个数,W3表示为模型需要学习的参数,Pmatrix为一维矩阵,其个数为意图I的个数,对其Pmatrix进行归一化后,每个分量的最大值即为c′i’,而c′i’对应的I[i′]中的元素即为pi’。
所述步骤3)中意图识别模型训练步骤具体为:
3.9)将3.1)和3.2)得到的D和I作为整个模型的输入;
3.10)设置意图分类的损失函数其中Li’为当前对话的标准标签,pi’由3.8)产生;
3.11)设置置信度评估的损失函数其中/>o为与意图无关的标签,c′i’曲3.8)产生;
3.12)设置该意图分类和置信度评估模块的总损失函数Ltotal=Ltask+λLconfidence,λ是用来调节Ltask和Lconfidence之间权重的超参数;
3.13)将模型进行联合训练。
4)由3)中的模型获取对话数据,进行意图识别,输出最佳意图,如图3所示。该部分的目的是根据实时对话数据,高效准确地进行意图识别,为客服机器人提供意图识别能力。由步骤3)构建得到的模型为意图识别提供了基础能力。算法实时获取对话数据,进行意图识别,输出最佳意图,步骤具体如下:
4.1)从对话数据中获取一句话;
4.2)根据2.2)中的停用词表去除对话中的停用词;
4.3)将对话输入到模型中;
4.4)得到输出结果pi’和c′i’,若c′i’近似于1,则li输出pi’对应的意图分类;若c′i’近似于0,则li输出的意图为3.2)中的o。
本实施例中,由于模型训练需要大量的人工标注语料,我们以标注一则对话为例。假设现有一则对话,如表1所示。
表1
角色 | 内容 |
坐席 | 31552号话务员为您服务 |
客户 | 我想查询一下话费 |
坐席 | 请问您想查询哪个月的话费 |
客户 | 上个月的 |
坐席 | 您上个月话费总共58元 |
客户 | 我想办理宽带 |
坐席 | 好的,为您推荐融合宽带 |
客户 | 好的,谢谢 |
在标注之前,我们需要预先确定意图名称,以意图识别场景为例,有“查询话费”“办理宽带”“修改密码”“其他意图”四个意图,结果如表2所示。
表2
角色 | 内容 | 意图 |
坐席 | 31552号话务员为您服务 | 其他意图 |
客户 | 我想查询一下话费 | 查询话费 |
坐席 | 请问您想查询哪个月的话费 | 查询话费 |
客户 | 上个月的 | 查询话费 |
坐席 | 您上个月话费总共58元 | 其他意图 |
客户 | 我想办理宽带 | 办理宽带 |
坐席 | 好的,为您推荐融合宽带 | 其他意图 |
客户 | 好的,谢谢 | 其他意图 |
在构建模型之前需要去除标注语料中的停用词,如“请问您想查询哪个月的话费”去除停用词后为“查询哪月话费”。同样,根据期望交叉熵量化算法得到的停用词表,去除句子中的停用词,结果如表3所示。
表3
角色 | 内容 | 意图 |
坐席 | 话务员服务 | 其他意图 |
客户 | 查询话费 | 查询话费 |
坐席 | 查询哪月话费 | 查询话费 |
客户 | 上月 | 查询话费 |
坐席 | 上月话费总共58元 | 其他意图 |
客户 | 办理宽带 | 办理宽带 |
坐席 | 推荐融合宽带 | 其他意图 |
客户 | 其他意图 |
然后将语料转换为模型符合的模型训练格式,将表3内容每行按单字拆分,转换完成后的部分结果如下所示[[“话”,“务”,“员”,“服”,“务”],[“查”,“询”,“话”,“费”]]。同时将意图标签转换成如下形式[“其他意图”,“查询话费”,“办理宽带”,“修改密码”],设置好每一层对应的参数,然后进行训练。此时输入“我上个月的话费花了多少啊?”,得到的输出结果应该为{“name”:“查询话费”,“confidence”:0.97621}。此时confidence趋于1则认为意图分类结果是准确的。
同样的,对话数据中的剩余对话都按照上述流程进行意图识别。若对话数据被全部处理完,则算法结束。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (10)
1.一种服务型机器人意图识别装置,包括:句级联合嵌入模块、话务级LSTM模块、意图分类和置信度评估模块,其特征在于所述句级联合嵌入模块,包括嵌入层和对话级联合嵌入层;
所述嵌入层,获取标注语料D中的每句话uj和所有意图I,得到对应的字嵌入矩阵ej和意图标签矩阵eI;
所述对话级联合嵌入层,包括Bi-LSTM模型和LEAM模型,Bi-LSTM模型获取字嵌入矩阵ej,输出第一句向量序列sj1;LEAM模型获取字嵌入矩阵ej和图标签矩阵eI,输出第二句向量序列sj2,最后将sj1和sj2拼接,得到句向量序列sj;
所述话务级LSTM模块,获取句向量序列sj,输出隐藏层状态变量gj,每一个输入的sj均会产生gj;
所述意图分类和置信度评估模块,获取隐藏层状态变量gj,输出pi’和c′i’,其中c′i’表示是否为业务相关,pj为最终的意图分类结果。
2.根据权利要求1所述的一种服务型机器人意图识别装置,其特征在于所述嵌入层获取的uj,是标注语料D中的每句话uj以单字或者词语的方式拆分,并按对话顺序组成序列uj={wj1,wj2,wj3,···,wjt},其中uj∈D={u1,u2,u3,···,un},t是单字或词语的个数,n是对话块的句数;所述嵌入层获取的所有意图I,是标注语料D中包含的所有意图I={o,l1,l2,l3,···,lk-1},o为与意图无关的语义标签,li’表示与意图有关的标签,k表示意图标签的数量,得到对应的字嵌入矩阵ej={ej1,ej2,ej3,···,ejt}和意图标签矩阵eI={eo,el,1,el,2,el,3,···,el,k-1}。
3.根据权利要求2所述的一种服务型机器人意图识别装置,其特征在于所述Bi-LSTM模型获取字嵌入矩阵ej,输出第一句向量序列sj1的过程如下:
zj,itanh(W1hj,ib1)
其中表示前向隐藏层状态变量,/>表示前向细胞状态变量,/>从前往后读取eji,即从e1i→eni读取,t是单字或词语的个数,/>和/>分别表示前一时刻的前向隐藏层变量和细胞状态变量,/>表示后向隐藏层状态变量,/>表示后向细胞状态变量,从后往前读取eji,即从eni→eji,t是单字或词语的个数,/>和/>分别表示前一时刻的后向隐藏层变量和细胞状态变量,/>表示矩阵对应的元素相加,hj,i表示当前隐藏层状态变量,W1和b1为模型自己决定的参数,exp()表示期望函数,uα是超参数。
4.根据权利要求2所述的一种服务型机器人意图识别装置,其特征在于所述LEAM模型获取字嵌入矩阵ej和图标签矩阵eI,输出第二句向量序列sj2的过程如下:
mj,i=maxPooling(pj,i)
其中Gj表示ej和eI构成的矩阵,d为嵌入向量空间的维度,ReLU()表示激活函数,r为操作半径,表示对矩阵Gj以第i列为中心,选取第i-r列到第i+r列,其余设置为0,W2和b2为模型需要学习的参数,maxPooling(pj,i)表示对矩阵pj,i选取其中最大的值,exp()表示期望函数。
5.根据权利要求1所述的一种服务型机器人意图识别装置,其特征在于所述获取句向量序列sj={s1,s2,s3,···,sn},输出隐藏层状态变量gj的过程如下:
其中gj为隐藏层状态变量,表示从前往后读取sj,gj-1为前一状态的隐藏层状态变量,此处的细胞状态变量cj和前一状态的细胞状态变量cj-1均为中间变量,不纳入后续的计算。
6.根据权利要求1所述的一种服务型机器人意图识别装置,其特征在于所述获取隐藏层状态变量gj,输出pi’和c′i’的过程如下:
W4=GmatrixW3
Pmatrix=W4I
其中由gj构成的矩阵,n表示句子的个数,W3表示为模型需要学习的参数,Pmatrix为一维矩阵,其个数为意图I的个数,对其Pmatrix进行归一化后,每个分量的最大值即为c′i’,而c′i’对应的I[i′]中的元素即为pi’。
7.一种根据权利要求1所述服务型机器人意图识别装置的训练方法,其特征在于包括如下步骤:
S1,获取标注语料D作为装置的输入;
S2,根据装置输出的pi’,构建意图分类的损失函数其中Li’为当前对话的标准标签,k表示意图标签的数量;
S3,根据装置输出的c′i’,构建置信度评估的损失函数其中/>o为与意图无关的标签;
S4,构建总损失函数Ltotal=Ltask+λLconfidence,λ是调节Ltask和Lconfidence之间权重的超参数;
S5,结合损失函数,对装置进行联合训练。
8.根据权利要求7所述一种服务型机器人意图识别训练方法,其特征在于所述标注语料D的生成,包括如下步骤:
S11,根据实际应用场景确定对话意图,并获取与之对应的对话数据,找出对话数据中的对话块,为对话块标注对应的对话意图;
S12,采用期望交叉熵算法对对话数据进行处理得到停用词表,根据产生的停用词表去除对话数据中的停用词,包括如下步骤:
S121,将对话数据使用分词工具进行分词;
S122,基于词在句子中出现的频率,与包含该词的句子频率的联合熵,分别计算词在各个句子内发生的概率,以及所包含该词的句子在文本中出现的概率,再次计算两者的联合熵,根据联合熵的升序排序选取停用词,得到停用词表,所述联合熵:
其中fj(ωi)表示第i个单词ωi在第j个句子中出现的频率,n表示句子的个数,fl(s|ωi)表示包含第i个单词ωi的句子s在文本l中出现的频率,m表示文本数;
S123,若S121中的词出现在S122得到的停用词表中,则去除该词,否则保留;
S124,将S123得到的结果拼接为句子,由句子构成标注语料D。
9.根据权利要求8所述一种服务型机器人意图识别训练方法,其特征在于人工找出对话数据中的对话块,为对话块标注对应的对话意图,在所述S12删除停用词后进行标注。
10.一种根据权利要求7所述服务型机器人意图识别训练方法的意图识别方法,其特征在于通过训练好的装置,从对话数据中获取一句话,得到输出结果pi’和c′i’,若c′i’大于等于近似于1的第一阈值,则输出pi’对应的意图分类li’,若c′i’小于等于近似于0的第二阈值,则输出与意图无关的语义标签o。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110907685.8A CN113672711B (zh) | 2021-08-09 | 2021-08-09 | 一种服务型机器人意图识别装置及其训练、识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110907685.8A CN113672711B (zh) | 2021-08-09 | 2021-08-09 | 一种服务型机器人意图识别装置及其训练、识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672711A CN113672711A (zh) | 2021-11-19 |
CN113672711B true CN113672711B (zh) | 2024-01-19 |
Family
ID=78541947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110907685.8A Active CN113672711B (zh) | 2021-08-09 | 2021-08-09 | 一种服务型机器人意图识别装置及其训练、识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672711B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363690A (zh) * | 2018-02-08 | 2018-08-03 | 北京十三科技有限公司 | 基于神经网络的对话语义意图预测方法及学习训练方法 |
CN110175228A (zh) * | 2019-05-27 | 2019-08-27 | 苏州课得乐教育科技有限公司 | 基于基础模块和机器学习的循环嵌入对话训练方法及系统 |
CN110990628A (zh) * | 2019-12-06 | 2020-04-10 | 浙江大学 | 一种利用多粒度卷积网络自注意语境网络机制解决视频问答的方法 |
CN112148832A (zh) * | 2019-06-26 | 2020-12-29 | 天津大学 | 一种基于标签感知的双重自注意力网络的事件检测方法 |
WO2021010636A1 (ko) * | 2019-07-17 | 2021-01-21 | 에스케이텔레콤 주식회사 | 목표지향 대화시스템에서의 대화상태 추적을 위한 방법 및 장치 |
WO2021051521A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 获取应答信息的方法、装置、计算机设备及存储介质 |
CN112712118A (zh) * | 2020-12-29 | 2021-04-27 | 银江股份有限公司 | 一种面向医疗文本数据的过滤方法及系统 |
CN112749738A (zh) * | 2020-12-30 | 2021-05-04 | 之江实验室 | 一种融合上下文进行超类推理的零样本对象检测方法 |
-
2021
- 2021-08-09 CN CN202110907685.8A patent/CN113672711B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363690A (zh) * | 2018-02-08 | 2018-08-03 | 北京十三科技有限公司 | 基于神经网络的对话语义意图预测方法及学习训练方法 |
CN110175228A (zh) * | 2019-05-27 | 2019-08-27 | 苏州课得乐教育科技有限公司 | 基于基础模块和机器学习的循环嵌入对话训练方法及系统 |
CN112148832A (zh) * | 2019-06-26 | 2020-12-29 | 天津大学 | 一种基于标签感知的双重自注意力网络的事件检测方法 |
WO2021010636A1 (ko) * | 2019-07-17 | 2021-01-21 | 에스케이텔레콤 주식회사 | 목표지향 대화시스템에서의 대화상태 추적을 위한 방법 및 장치 |
WO2021051521A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 获取应答信息的方法、装置、计算机设备及存储介质 |
CN110990628A (zh) * | 2019-12-06 | 2020-04-10 | 浙江大学 | 一种利用多粒度卷积网络自注意语境网络机制解决视频问答的方法 |
CN112712118A (zh) * | 2020-12-29 | 2021-04-27 | 银江股份有限公司 | 一种面向医疗文本数据的过滤方法及系统 |
CN112749738A (zh) * | 2020-12-30 | 2021-05-04 | 之江实验室 | 一种融合上下文进行超类推理的零样本对象检测方法 |
Non-Patent Citations (2)
Title |
---|
王恒升 ; 刘通 ; 任晋 ; .基于领域知识的增强约束词向量.中文信息学报.2019,(第04期),全文. * |
钱岳 ; 丁效 ; 刘挺 ; 陈毅恒 ; .聊天机器人中用户出行消费意图识别方法.中国科学:信息科学.2017,(第08期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113672711A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000791B (zh) | 一种电机故障知识抽取系统及方法 | |
CN109885672B (zh) | 一种面向在线教育的问答式智能检索系统及方法 | |
CN109670035B (zh) | 一种文本摘要生成方法 | |
CN112328742B (zh) | 基于人工智能的培训方法、装置、计算机设备及存储介质 | |
CN108780464A (zh) | 用于处理输入查询的方法和系统 | |
CN110321564B (zh) | 一种多轮对话意图识别方法 | |
CN104462600A (zh) | 实现来电原因自动分类的方法及装置 | |
WO2022121161A1 (zh) | 多轮对话文本生成方法、装置、设备及存储介质 | |
CN111930914A (zh) | 问题生成方法和装置、电子设备以及计算机可读存储介质 | |
CN115470338B (zh) | 一种基于多路召回的多场景智能问答方法和系统 | |
CN111261162A (zh) | 语音识别方法、语音识别装置及存储介质 | |
CN109325780A (zh) | 一种面向电子政务领域的智能客服系统的交互方法 | |
CN112307168A (zh) | 基于人工智能的问诊会话处理方法、装置和计算机设备 | |
CN111429157A (zh) | 投诉工单的评价处理方法、装置、设备及存储介质 | |
CN113590778A (zh) | 智能客服意图理解方法、装置、设备及存储介质 | |
CN117171314A (zh) | 基于大模型的多模态政务问答方法 | |
Karpov et al. | Golos: Russian dataset for speech research | |
Aattouri et al. | Modeling of an artificial intelligence based enterprise callbot with natural language processing and machine learning algorithms | |
CN113672711B (zh) | 一种服务型机器人意图识别装置及其训练、识别方法 | |
GUO et al. | Design and implementation of intelligent medical customer service robot based on deep learning | |
CN113051388B (zh) | 一种智能问答方法、装置、电子设备及存储介质 | |
CN112445899A (zh) | 一种基于神经网络的知识库问答中的属性匹配方法 | |
CN111401069A (zh) | 会话文本的意图识别方法、意图识别装置及终端 | |
CN113688636A (zh) | 扩展问的推荐方法、装置、计算机设备和存储介质 | |
CN114490974A (zh) | 信息自动回复方法、装置、系统、电子设备及可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |