CN113672711B - 一种服务型机器人意图识别装置及其训练、识别方法 - Google Patents

一种服务型机器人意图识别装置及其训练、识别方法 Download PDF

Info

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
Application number
CN202110907685.8A
Other languages
English (en)
Other versions
CN113672711A (zh
Inventor
张锦添
宋伟
朱世强
叶铱雷
曹斌
张仪宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Zhejiang Lab
Original Assignee
Zhejiang University of Technology ZJUT
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT, Zhejiang Lab filed Critical Zhejiang University of Technology ZJUT
Priority to CN202110907685.8A priority Critical patent/CN113672711B/zh
Publication of CN113672711A publication Critical patent/CN113672711A/zh
Application granted granted Critical
Publication of CN113672711B publication Critical patent/CN113672711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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个单词作为停用词,所述联合熵:
其中fji)表示第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)基于词在句子中出现的频率,与包含该词的句子频率的联合熵,分别计算词在各个句子内发生的概率,以及所包含该词语的句子在文本中出现的概率,再次计算它们的熵,根据熵的升序排序选取停用词,得到停用词表;其具体过程为:
其中fji)表示第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,基于词在句子中出现的频率,与包含该词的句子频率的联合熵,分别计算词在各个句子内发生的概率,以及所包含该词的句子在文本中出现的概率,再次计算两者的联合熵,根据联合熵的升序排序选取停用词,得到停用词表,所述联合熵:
其中fji)表示第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。
CN202110907685.8A 2021-08-09 2021-08-09 一种服务型机器人意图识别装置及其训练、识别方法 Active CN113672711B (zh)

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)

* Cited by examiner, † Cited by third party
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 之江实验室 一种融合上下文进行超类推理的零样本对象检测方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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