APP下载

面向任务型多轮对话的粗粒度意图识别方法

2020-09-03叶铱雷陈江斌

小型微型计算机系统 2020年8期
关键词:语料意图准确率

叶铱雷,曹 斌,范 菁,王 俊,陈江斌

1(浙江工业大学 计算机科学与技术学院,杭州 310023)

2(中国电信股份有限公司浙江分公司,杭州 310040)E-mail:yeyilei@zjut.edu.cn

1 引 言

为了完善用户服务体系,提升用户服务满意度,企业会建立自己的呼叫中心以及相应的电话客服系统,如中国电信10000号等.用户可以随时来电咨询或投诉.然而随着业务范围不断扩大,业务颗粒度不断细分,客服人员所需掌握的业务知识也与日俱增.为了减轻客服人员工作压力,提升客服服务水平,企业开始应用AI技术建立智慧客服系统.通过监听用户与客服对话,实时分析用户来电意图,智慧客服系统可以提示和纠正客服回应动作,如电信客服需要根据用户扣费疑义进行套餐内容及其扣费记录查询等动作.这样不仅有效提高了客服服务质量,并且缩短了来电服务时间.在本文中,我们致力于从用户与客服的任务型多轮对话过程中高效准确地检测出用户意图.

现有方法通常将意图识别看作文本分类问题[1-6]或者序列标注问题[7-11],利用有监督的机器学习方法对事先标注好的意图类别进行训练,并在线上对新的用户表述进行意图识别.然而,由于现有意图识别方法需要对用户的每句表述进行识别,无法很好地解决呼叫中心客服对话复杂场景,会存在如下主要问题:

1)存在无关对话,即用户会在多轮对话中表述很多与业务无关的对话,这些对话会在一通完整对话中占据大部分;

2)用户单个意图可能蕴含在多轮对话内容中,即仅依靠用户的单次表述无法准确识别用户意图.例如,实际电话客服场景中,由于用户对咨询业务的不熟悉或者反映问题的不清晰,用户一般需要多次与客服沟通才能表明一个意图.换句话说,现有的方法意图识别粒度过小,聚焦于单句话的意图识别不符合实际复杂应用场景.

此外,实际呼叫中心运营中,客服系统运维和管理人员只关心部分重要的意图,而现有主流开源智能对话系统所采用方法的训练语料需要对每句话标注意图,进而给呼叫中心运维人员带来额外的标注成本.

为了解决上述问题,本文提出了一种面向任务型多轮对话的粗粒度意图识别方法.我们将意图识别任务拆分为对话序列标注任务和意图分类任务.其中,对话序列标注模型用于过滤无关对话,并且将表述同一意图的连续对话合并,形成对话块.然后我们将对话块采用意图分类模型进行分类,得到意图识别结果.经实验表明,采用BiLSTM-CRF[12-13]完成对话序列标注任务,StarSpace[14]完成意图分类任务,取得了较好表现,对比于一些现有的方法具有更好的准确率.

本文的章节安排如下:第2节介绍了意图识别相关工作,第3节介绍了一些预备知识,帮助读者理解本文,第4节详细介绍了本文方法,第5节展示了实验结果与分析,第6节对本文进行了总结.

2 相关工作

意图识别是指从对话中提取重要信息,分析说话者的说话目的,是对话系统的重要组成部分.在实际应用中,意图识别有助于对话系统为用户提供更精准有效的服务.接下来,我们将在本章中介绍意图识别领域的相关工作.

意图识别中最传统的方法是基于手工规则的方法[15,16].该方法需要人工预先整理规则集.在规则集上,根据输入对话查找匹配项,然后得到意图.这种方法虽然简单,但是想要整理一个全面的规则集是非常困难的,通常需要花费大量人力.并且,对于没有匹配到规则集中规则的对话,无法进行意图识别.

后来,有很多研究者将意图识别看作一个意图分类问题.Reithinger等人[1]提出了使用统计语言模型解决意图识别.Grau等人[2]采用了贝叶斯方法进行意图识别.Serafin等人[3]利用了潜在语义分析解决意图识别.Milajevs 等人[4]研究了一系列的成分分布语义模型用于意图识别.Chen等人[5]研究发现稀疏对数线性模型有利于提高意图识别效果.Sulaiman等人[6]使用了决策树来提高意图识别准确率.

也有很多研究者将意图识别看作一个序列标注问题.Stolcke等人[7]将整个对话看作是一个隐马尔可夫模型,其中每句对话的意图作为模型状态的观察结果.Tavafi等人[8]研究了使用隐马尔可夫支持向量机来解决意图识别.Surendran等人[9]采用了线性内核的支持向量机和隐马尔可夫模型组合的方式进行意图识别.Boyer等人[10]也应用隐马尔可夫模型发现对话中存在着一些对话策略.Zimmermann等人[11]利用对话中词语和韵律的特征,使用条件随机场对意图进行联合分割和分类.

随着深度学习的发展,涌现了很多基于深度学习的意图识别方法.Kalchbrenner等人[17]使用卷积神经网络提取每句对话中的局部特征,再使用循环神经网络(Recurrent Neural Network,RNN)进行意图识别.类似的,Mensio等人[18]使用双向RNN将每句对话嵌入为向量,然后使用RNN进行意图识别.Khanpour等人[19]设计了一个采用预训练词向量和RNN变种的深度学习模型用于意图识别.Liu等人[20]采用结合了注意力机制(Attention)的RNN进行意图识别.Meng等人[21]在长短期记忆网络上增加了记忆模块,能够在意图识别时利用更多上下文信息.

虽然研究者们已经提出了很多意图识别的方法,但这些方法无法解决实际智慧客服系统复杂场景所存在的意图识别粒度过小以及存在无关对话问题.因此,这些方法的实际效果并不理想.

3 预备知识

为了帮助读者更好地理解本文的方法,在本章中,我们介绍了一些预备知识,具体内容如下.

3.1 One-Hot编码

句子是由多个词语组成的离散数据,然而模型无法利用这些离散数据直接进行计算,所以需要将句子转换为模型能够有效利用的形式.One-Hot编码是一种基于词袋模型[22](Bag Of Words)的文本特征提取方法.它的主要思想是将句子中的词语嵌入到包含所有句子词语的向量空间中,向量的每一维代表句子中对应词语是否出现.例如,假设语料库中有两个句子,句子S1由词语序列w1,w2,w3组成,句子S2由词语序列w2,w3,w4组成,则词袋模型为:

BOW={0:w1,1:w2,2:w3,3:w4}

其中,数字代表词语编号.句子编码过程如图1所示.

图1 One-Hot编码示意图

最终我们得到S1、S2的One-Hot编码为:

S1=[1,1,1,0],S2=[0,1,1,1]

3.2 Sentence2Vec

词袋模型有两大弱点:忽视了词语顺序和词语语义.例如,“中国”、“美国”和“苹果”,它们是毫无关系的.但实际上,“中国”和“美国”都是国家,它们之间存在着联系.

Sentence2Vec[23]是一种能够从不定长文本中学习固定长度特征表示的无监督算法.通过学习词语向量表示来包含词语语义,例如,Word2Vec[24],再结合文本中词语顺序,将句子、段落或者文档嵌入到一个低维稠密的向量中.换句话说,用一个向量来表示一段文本.其中,Word2Vec是一种用于训练词语向量表示的算法.Sentence2Vec克服了词袋模型的两大弱点.因此,本文使用该方法将对话嵌入到向量空间中,作为对话序列标注模型的输入.

3.3 BiLSTM-CRF

序列标注问题[25]是一个自然语言处理中常见的问题.对于分词、词性标注、命名实体识别、关键词抽取等问题都可以转化为一个序列标注问题.对于一个一维线性输入序列,给该序列的每个元素打上标签集合中的标签,这就是序列标注问题.例如,有标签集T和两个一维线性序列:

X=[x1,x2,…,xn]

Y=[y1,y2,…,yn],yi∈T

其中,X为输入序列,Y为序列标注结果序列,yi属于T.序列标注就是解决如何由X得到准确的Y的过程.

Huang等人[12]提出了BiLSTM-CRF,用于解决序列标注问题.其主要由双向长短期记忆网络[26](Bidirectional Long Short-Term Memory,BiLSTM)和条件随机场[27](Conditional Random Field,CRF)两部分构成.该方法通过BiLSTM考虑了输入序列的上下元素关系,通过CRF使序列标注结果更加合理.例如,在训练语料中未出现标签组合[T1,T2],则在序列标注结果中这种组合出现概率也会大幅降低.作者通过实验发现BiLSTM-CRF在序列标注任务上具有优异的表现.本文采用该方法完成对话序列标注任务,即将一通对话作为输入,得到序列标注结果,用于分析对话之间的联系.

3.4 StarSpace

StarSpace[13]是由Facebook AI Research提出的一种神经嵌入模型.它可以解决各种各样的问题,例如,文本分类、实体集合排序、基于协同过滤的推荐以及图表嵌入等.本文采用StarSpace完成文本分类任务.该方法直接根据实体集合之间的关系学习采用离散特征表示的实体的嵌入,用于排序或分类任务.通常StarSpace可以将不同类型的实体嵌入到向量空间中,并且在这个向量空间中对它们相互比较.对于它的名字StarSpace,其中的“Star”代表了所有类型,“Space”代表了向量空间.

和其它嵌入模型一样,StarSpace对于每个离散特征,用一个d维特征向量来表示,然后用一系列离散特征来表示实体.例如,一段文本由多个词语组成,用一个d维特征向量代表一个词语,然后用文本包含词语的特征向量来表示文本.StarSpace采用最小化损失函数的方式训练模型,其损失函数如下所示:

(1)

4 粗粒度意图识别

本章将主要介绍本文提出的意图识别方法.其主要分为两部分:意图识别模型构建和意图识别过程.其中,模型构建部分介绍了如何训练意图识别中所使用到的模型以及它们的作用,包括Sentence2Vec模型、BiLSTM-CRF模型和StarSpace模型.意图识别部分介绍了如何利用上述模型构建意图识别算法.在开始详细介绍之前,我们先介绍本文提出的意图识别方法的主要思想.本文方法是一个任务型的意图识别方法,即识别的意图都是事先人为规定的.那么意图识别就可以被简单地看作是一个对话意图分类任务.然而,人们通常会使用一句话或者多句话来表达一个意图.简单地对每一句话进行意图分类无法准确识别用户意图.因此,本文方法在意图分类之前增加了对话序列标注模块.这不仅将描述同一意图的对话联系在一起,形成对话块,同时也过滤了大部分无关对话.换句话说,过滤了那些不属于事先人为规定的意图的对话.因为对话序列标注模块通过语料学习,具备了识别出整个对话中哪些对话块需要进行意图分类的能力.接下来我们将详细介绍本文的方法.

4.1 意图识别模型构建

在本节中,我们将介绍意图识别使用到的模型的构建细节.其主要构建流程如图2所示.可以看到,在每个模型训练之前,都需要对人工标注语料进行数据预处理,包括去除停用词和转换语料格式两步.在人工标注语料中,由于对话具有噪声多的特点,许多词语和符号会对意图识别产生干扰.因此,在转换语料格式之前需要先去除停用词,即去除对意图识别产生干扰的词语和符号.这些停用词是根据具体语料由人工总结得到的,而非自动化生成.不同的模型对输入的训练语料有自己的格式要求,所以我们将针对每个模型生成相应训练格式的语料来进行模型训练.从图2中还可以发现BiLSTM-CRF模型训练语料通过Sentence2Vec模型将句子转换为句向量作为BiLSTM-CRF模型输入.接下来我们将详细介绍模型构建细节.

图2 模型构建流程图

1)句子嵌入表示模型.一通用户与客服的对话由多个句子构成,而句子无法直接用于模型计算,需要将句子嵌入为向量形式.传统的句子嵌入方式有One-Hot编码方法.但是该方法假设词语与词语之间是相互独立的.显然与实际中词语与词语之间相互影响不符.其次,编码后的句子向量维度高,特征离散稀疏,造成计算能力和存储空间浪费.因此,我们采用Sentence2Vec而不是One-Hot编码.Sentence2Vec不仅考虑了词语与词语之间的联系,还将对话嵌入到d维连续向量空间中,其中d为预设向量维度值,为之后的BiLSTM-CRF模型提供句向量输入.本文使用开源Python库gensim来生成Sentence2Vec模型.我们根据经验预先设置嵌入向量维度d以及训练语料总迭代次数epoch,得到一个效果较好的Sentence2Vec模型.

2)对话序列标注模型.在一通对话中,相邻对话之间存在着上下文联系,如果仅考虑单句对话进行意图分类,那么意图识别的效果不尽如人意.所以本文采用BiLSTM-CRF模型来完成对话序列标注任务,将相邻对话联系起来,形成对话块,以达到联系对话上下文的目的.注意到,BiLSTM-CRF模型是一种序列标注模型.在使用模型之前,我们需要定义序列标注标签,用于标注训练语料.本文采用了一种常用的序列标注标签:BIEO标签.其中,B代表对话块开始位置,I代表对话块中间位置,E代表对话块结束位置,O代表无关对话位置.例如,一通对话共有S1到S6句对话,它们的人工标注语料结果如表1所示.

表1 人工标注语料结果

其中,表格第三列为意图,I1和I2代表两个不同的意图.从表1中我们能够看到,S1到S3组成一个对话块,其意图为I1.S5、S6组成一个对话块,其意图为I2.由于人工标注认为S4属于无关对话,即对话意图不属于事先人为规定意图,所以S4的序列标注标签为O,意图为空.于是,表1的前两列构成了一条BiLSTM-CRF模型训练语料.在实际语料中,O标签占据了大部分,而这些标注O标签的对话是我们无需关心和标注意图的.正因如此,我们的方法降低了人工标注语料的成本.并且在在线对话序列标注时,我们将模型标注为O标签的对话过滤,去除了大部分无关对话.特别地,我们采用由Sentence2Vec模型预训练的句向量作为BiLSTM-CRF模型的输入,而不是由BiLSTM-CRF自行将对话嵌入为句向量.因为Sentence2Vec模型采用无监督学习方式从大量未标注文本数据中学习到更好的句向量,这对BiLSTM-CRF模型效果提升有很大帮助.其次,预训练的句向量也提升了BiLSTM-CRF模型的运算效率.最终,我们通过对比设置了不同的训练语料总迭代次数epoch的模型结果,得到一个效果较好的BiLSTM-CRF模型.

3)意图识别模型.在上一节中,BiLSTM-CRF模型完成了对话序列标注,根据序列标注结果我们可以得到若干个对话块.这些对话块不仅联系了上下文,并且每个对话块反映了一个用户意图.于是,本文采用StarSpace模型对它们进行意图分类.可以注意到是,对话块通常包含多句对话,而StarSpace模型的输入为一段文本.因此,我们简单地将对话块中的对话按照对话顺序拼接成一段文本.特别地,StarSpace模型有两种文本嵌入粒度:字符(char)和词语(word).例如,有一段文本“我爱中国”,按字符嵌入,则文本被拆分为“我”、“爱”、“中”、“国”,按词语嵌入,则文本被拆分为“我”、“爱”、“中国”.对于不同文本嵌入粒度的StarSpace模型效果,我们会在第五章中进行讨论.

4.2 意图识别过程

基于上述模型构建基础,本文提出了针对在线多轮对话的意图识别过程.其主要思想是将意图识别任务拆分为对话序列标注任务和意图分类任务.我们使用BiLSTM-CRF模型完成对话序列标注任务,使用StarSpace模型完成意图分类任务.接下来,我们将详细介绍意图识别方法的算法流程.其伪代码如算法1所示.

该算法的主要步骤如下:

1)按顺序遍历输入的对话文本列表Lists,对每句对话s进行数据预处理,去除对话中的停用词.(第3-4行)例如,有一句对话s:w1,w2,w3,w4.其中,w1到w4为构成对话s的词语.在数据预处理时,发现w2在停用词表中存在,则数据预处理后s为:w1,w3,w4.因为我们要去除那些影响意图识别准确率的停用词,如同在准备模型训练语料时需要去除停用词一样.

2)通过Sentence2Vec模型将对话s嵌入为句向量svec,然后存入Listvec中.(第5-6行)其中,Listvec作为BiLSTM-CRF模型输入.

3)接下来,我们使用BiLSTM-CRF模型对Listvec进行序列标注,模型结果为Listtag.(第7行)例如,在遍历Lists的某次循环中,Listvec为:

Listvec=[svec1,svec2,svec3,svec4,svec5,svec6]

经过采用序列标注标签为BIEO标签的BiLSTM-CRF模型序列标注后,得到Listtag为:

Listtag=[B,E,O,B,I,E]

4)在得到对话序列标注结果Listtag后,我们需要找出对话列表中的最后一个对话块,将其中的对话拼接为scat.(第8行)因为其它对话块已经在之前的循环中完成了意图分类,在当前循环中无需处理.例如,对于步骤3得到的Listtag,我们发现最后三句对话形成一个对话块.于是,scat为这三句话按对话顺序进行拼接后得到的文本.

5)最后,使用StarSpace模型对scat进行意图分类,得到意图分类结果result.若意图分类结果置信度大于等于预先设置的意图识别置信度阈值τ,我们就认为该结果是准确的,值得信任的,则记录result,否则继续遍历对话文本列表Lists.(第9-12行)

根据算法1我们完成了对一通对话的意图识别任务.在下一章中,我们将对我们提出的意图识别方法进行详细实验分析.

算法1.多轮对话粗粒度意图识别算法.

输出:对话意图识别结果

1.初始化List:Listvec用于存放对话句向量;

初始化阈值τ:τ为意图识别置信度阈值

2.SV:加载Sentence2Vec模型;

BC:加载BiLSTM-CRF模型;

SS:加载StarSpace模型;

3.FOR EACHs∈ListsDO

在小学阶段,考察的题型较为固定,主要包括听力题、单项填空、翻译题、阅读理解等,但初中阶段不仅增加了完形填空,而且相同题型的考察也变得更加复杂。例如,小学阶段的翻译题一般为填空式,对应中文翻译成相应的单词或短语,而初中阶段则需要在翻译时注意词性以及语法,同时翻译的长度可能为一个句子,可能为一段话。

4.s=preprocess(s);

5.svec=SV.infer_vector(s);

6.Listvec.add(svec);

7.Listtag=BC.predict(Listvec);

8.scat=block_catenate(Listtag,Lists);

9.result=SS.parse(scat);

10. IFresult.confidence≥τ

11. 记录result;

12. END IF

13.END FOR

5 实 验

本章将对本文提出的意图识别方法进行实验与分析,并与现有意图识别方法进行了对比.

5.1 数据集

本文实验中采用的数据集来自电信呼叫中心的电话客服对话文本,总共有243通多轮对话.其中,对话语句总数为8576条,经电信领域专家标注后,共包含意图类别11种,共对应398个经人工序列标注的对话块.

由于Sentence2Vec是一种无监督算法,本文采用了该公司呼叫中心更为庞大的未经过人工标注的电话客服对话文本,总共有70954通多轮对话,4182546条对话语句.通过大量的对话文本语料,我们得到了能更适合进行对话文本嵌入表示的Sentence2Vec模型.

本文采用的停用词表来自哈工大中文停用词表,并添加了由电信领域专家根据对话文本总结的停用词.通过该停用词表,我们可以降低停用词对意图识别的干扰.

5.2 评估方法

在本文实验中,我们不仅采用了准确率和召回率,这两种广泛使用的评价指标来评估实验结果,还采用了Fβ值来评估实验结果.Fβ值是一种综合考虑了准确率和召回率的评价指标.它能让我们表达出对准确率和召回率的不同偏好.例如,我们常用的F1值就是特殊形式的Fβ值,其准确率和召回率同等重要.Fβ值计算公式如下:

(2)

其中,0<β<1时,准确率具有更大影响,β=1时,即为F1值,β>1时,召回率具有更大影响.

5.3 对话序列标注实验与分析

在本节中,我们将通过实验选择出最佳的对话序列标注模型.我们选择了BiLSTM-CRF和隐马尔可夫支持向量机(Hidden Markov Support Vector Machines,SVM-HMM)两种模型进行对比.其中,SVM-HMM是Altun等人[29]提出的一种序列标注模型,其序列标注的表现优于隐马尔可夫模型、条件随机场等模型.因此,本文只选择了SVM-HMM进行对比.值得注意的是,我们采用了BIEO标签作为对话序列标注的标签集合,并对SVM-HMM采用了两种对话向量表示方法.其中,我们设定Sentence2Vec模型总迭代次数epoch为500,输出句向量维度d为100,BiLSTM-CRF模型总迭代次数epoch为150.最后,我们从3个角度分析了实验结果,结果如表2、表3和表4所示.

表2 统计所有标签的对话序列标注结果

表3 统计BIE标签的对话序列标注结果

表4 对话块识别结果

为叙述方便,句向量+BiLSTM-CRF称为方法1,One-Hot编码+SVM-HMM称为方法2,句向量+SVM-HMM称为方法3.

表2统计了所有标签的对话序列标注准确率.该准确率为模型的整体准确率.我们可以看到,方法2准确率最高,但我们还不能得出方法2效果最好的结论.因为3种方法的准确率十分接近,最大差值小于1.6%,且通过分析训练语料发现,4种标签中O标签占了绝大部分,导致整体准确率主要由O标签准确率决定.

在对话序列标注中,我们最关心方法能否准确识别BIE标签.因为BIE标签决定了哪些对话形成了对话块.表3统计了BIE标签的对话序列标注结果,从中可以看到,方法2准确率明显高于其它方法,但它的召回率低.这反映了方法2找出的对话块较少,但对话块的位置较准确.方法1准确率稍低,但其召回率高.这反映了方法1找出的对话块多,但是对话块的位置相比方法2不够准确.而对于对话序列标注方法,我们更加注重方法的召回率.因为我们希望在保证一定准确率的基础上,尽可能找出更多的对话块,防止整个意图识别方法召回率过低.因此,我们采用结合了方法准确率和召回率的F2值作为综合评价指标.我们得到方法1的F2值高于其他方法,所以方法1优于其他方法.

表4统计了对话块识别结果,反映了方法能否准确找到对话块的能力.根据表中数据,我们得到了与表3相同的结论.

综上所述,句向量+BiLSTM-CRF在对话序列标注实验中的表现优于其他方法.

5.4 意图识别实验与分析

本文将意图识别任务拆分为了对话序列标注任务和意图分类任务.在上一节得到句向量+BiLSTM-CRF的对话序列标注方法表现最好.本节实验中,我们在采用该方法完成对话序列标注任务的基础上,通过实验得出最佳意图分类模型以及不同意图识别置信度阈值τ(低于该阈值将不输出意图识别结果)对意图识别结果的影响.这样做有利于找出能够更好结合句向量+BiLSTM-CRF方法的意图分类模型.我们选择了支持向量机[30](Support Vector Machines,SVM)、随机森林[31](Random Forest,RF)和StarSpace共3种模型进行对比.其中,SVM和RF是两种常见的分类模型.需要注意的是,我们对比了采用线性核(linear)和高斯核(rbf)的SVM,以及采用词语嵌入(word)和字符嵌入(char)的StarSpace.为了得到分类效果最佳的SVM和RF模型,我们采用网格搜索法得到模型的超参数.实验结果如图3、图4和图5所示.

图3 不同阈值τ对模型准确率的影响

图4 不同阈值τ对模型召回率的影响

从图3中我们可以看到,随着置信度阈值τ的不断增大,各模型准确率都呈现上升趋势.同时,我们也注意到,每个模型在阈值τ到达某个临界值时出现了截断的情况.这是因为所有模型输出的意图分类结果置信度都小于阈值τ,导致模型没有输出结果.

从图4中我们可以看到,随着置信度阈值τ的不断增大,各模型召回率都呈现下降趋势,最后趋于0.其中,SVM(linear)、SVM(rbf)和RF召回率下降速度快,而StarSpace(char)和StarSpace(word)召回率下降较为平缓.

本文提出的意图识别方法通过监听用户与客服对话,分析用户意图,为客服提供帮助.因此,我们更加注重模型的准确率,以防止客服系统误导客服做出错误的判断.我们采用结合了方法准确率和召回率的F0.5值作为综合评价指标,得到图5所示结果.从中,我们发现所有模型的F0.5值都呈现先上升后下降的趋势.其中,StarSpace(char)在阈值τ为0.76时达到最高,最高F0.5值为38.07%,优于其他方法.

图5 不同阈值τ对模型F0.5值的影响

因此,结合BiLSTM-CRF和StarSpace(char)的方法在意图识别实验中表现优于其他方法.

5.5 方法对比实验与分析

在上一节中,我们得到了采用BiLSTM-CRF,再结合StarSpace(char)的方法在意图识别中有较好的表现.本节中,我们将该方法与采用RNN的现有意图识别方法[20]以及直接采用StarSpace(char)的意图识别方法进行对比.实验结果如表5所示.

表5 不同方法意图识别的效果对比

表5展示了3种方法在最高F0.5值对应的阈值τ下,它们的准确率和召回率.我们可以看到增加对话序列标注方法后,意图识别的准确率和召回率都有较大的提升.其中,准确率的提升是因为对话序列标注方法起到了过滤无关对话的作用,即不会将标注为O标签的对话进行意图识别.这样很大程度上减少了整个意图识别方法的输出意图个数,所以准确率得到了提升.召回率的提升是因为人们通常会用多句话来表达一个意图,而只根据一句话无法准确分析意图.对话序列标注方法起到了联系上下对话的作用,有助于意图识别方法输出更多正确意图.因此,方法的准确率和召回率都得到了提升.而相比于采用RNN的现有意图识别方法,本文方法在准确率上取得了更加优异的表现.

6 总 结

本文提出了一种面向任务型多轮对话的粗粒度意图识别方法.该方法将意图识别任务拆分为对话序列标注任务和意图分类任务.我们采用BiLSTM-CRF完成对话序列标注任务,用于过滤无关对话以及合并表述同一意图的对话,采用StarSpace完成意图分类任务,得到意图分类结果.实验表明,本文方法在准确率上有较大的提升.本文后续将针对如何提高方法召回率以及方法效率展开相关工作.

猜你喜欢

语料意图准确率
原始意图、对抗主义和非解释主义
基于高速公路的驾驶员换道意图识别
陆游诗写意图(国画)
海量标注语料库智能构建系统的设计与实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
浅谈视频语料在对外汉语教学中的运用
可比语料库构建与可比度计算研究综述