一种多轮对话意图识别方法技术

技术编号:22295635 阅读:58 留言:0更新日期:2019-10-15 04:46
本发明专利技术公开了一种多轮对话意图识别方法,包括如下步骤:1)根据应用场景确定要识别的对话意图,并获取大量对话数据,人工找出对话数据中的对话块以及其对应的意图,进行语料标注;2)根据人工整理好的停用词表去除对话数据中的停用词;3)构建用于意图识别的句向量模型、BiLSTM‑CRF模型及StarSpace模型;4)由句向量模型、BiLSTM‑CRF模型和StarSpace模型实时获取对话数据,进行意图识别,输出最佳意图。本发明专利技术的有益效果是:意图识别高效,准确率高,泛化能力强,人工标注语料成本低。

An Intention Recognition Method for Multi-Round Dialogue

【技术实现步骤摘要】
一种多轮对话意图识别方法
本专利技术涉及自然语言处理
,具体涉及一种多轮对话意图识别方法。
技术介绍
如今人类进入了人工智能时代,众多企业都在开发自己的客服机器人。这不仅方便用户24小时咨询问题,也减轻了企业雇佣客服人员的成本,然而目前多数客服机器人并没有非常智能,不能满足用户的实际需求,例如,目前,客服机器人对话意图识别方式类型主要有三种:第一种采用规则模板的方法。即通过收集大量用户语料,人工整理出用户咨询问题模板,然后机器人根据模板匹配结果回答用户问题。这种方式准确率较高,适合小规模的客服机器人。第二种采用传统机器学习的方法。即将意图识别问题看成分类问题,通过支持向量机、随机森林等分类方法,在基于用户标注语料训练下得到分类模型,然后机器人根据模型预测用户意图,进而回答用户问题。这种方式节省了大量人工整理用户问题模板时间,而且机器人泛化能力较强。第三种采用深度学习的方法。即采用当下最热门的深度学习模型,如长短期记忆网络、双向长短期记忆网络等方法,在基于巨大量的用户标注语料下得到深度学习模型,然后机器人根据模型预测用户意图,进而回答用户问题。这种方式考虑到了用户对话信息的上下文联系,而且机器人泛化能力强,适合于大规模的客服机器人。比较三种方法,方案一的缺点是,需要大量人工去整理用户语料,形成用户问题模板,然后对客服机器人进行配置。对于那些没有整理配置的问题,机器人无法进行回答,泛化能力很差。方案二,虽然也需要人工标注语料,但是标注难度比方案一小很多,并且可以采用模型辅助进行语料标注。客服机器人的泛化能力也有所提升。方案三,需要投入大量的人工去标注语料,其语料标注规模是前两种方案的几十倍甚至百倍,但正因如此方案三从中很好地学习了用户对话与意图间的转化关系,极大地提高了意图识别的准确率和机器人的泛化能力。
技术实现思路
为了解决现有客服机器人意图识别的不足之处,本专利技术提供了一种多轮对话意图识别方法,该方法基于人工标注用户对话语料,通过采用双向长短期记忆网络-条件随机场(BiLSTM-CRF)模型联系对话上下文,采用StarSpace模型进行意图分类,根据意图分类模型计算得到的意图置信度进行排序过滤,输出最佳意图。本专利技术的技术方案如下:一种多轮对话意图识别方法,其特征在于,包括如下步骤:1)根据应用场景确定要识别的对话意图,并获取大量对话数据,人工找出对话数据中的对话块以及其对应的意图,进行语料标注;2)根据人工整理好的停用词表去除对话数据中的停用词;3)构建用于意图识别的句向量模型、BiLSTM-CRF模型及StarSpace模型;4)由句向量模型、BiLSTM-CRF模型和StarSpace模型实时获取对话数据,进行意图识别,输出最佳意图。所述的一种多轮对话意图识别方法,其特征在于,所述步骤2)具体为:2.1)将对话数据使用分词工具进行分词;2.2)将分词结果中的每个词与停用词表中的词进行判断,若分词结果中的词在停用词表中存在,则去除该词,否则保留;2.3)将2.2)得到的结果拼接为句子。所述的一种多轮对话意图识别方法,其特征在于,所述步骤3)中句向量模型构建步骤具体为:3.1)获取去除停用词后的人工标注语料,将语料中的每句话按字符拆分为List,最终得到整个语料的List列表;3.2)设置sentence2vec算法的预设参数,句子嵌入向量空间的维度n和语料总共使用的次数epoch;3.3)将3.1)中得到的语料List列表作为sentence2vec的输入,进行句向量模型训练;3.4)将3.3)训练得到的句向量模型存储到磁盘上。所述的一种多轮对话意图识别方法,其特征在于,所述步骤3)中BiLSTM-CRF模型构建步骤具体为:3.5)获取去除停用词后的人工标注语料,首先使用句向量模型将对话转化为句向量,然后根据对话块标注块标签,其中,B表示块开始位置,I表示块中位置,E表示块结束位置,O表示其他位置;3.6)设置BiLSTM-CRF模型预设参数,模型隐藏层大小hidden_size、随机失活率dropout、语料总共使用的次数epoch、每批次大小batch_size;3.7)将3.5)进行块标注后的语料作为BiLSTM-CRF模型的输入,进行BiLSTM-CRF模型训练;3.8)将3.7)训练得到的BiLSTM-CRF模型存储到磁盘上。所述的一种多轮对话意图识别方法,其特征在于,所述步骤3)中StarSpace模型构建步骤具体为:3.9)获取去除停用词后的人工标注语料,只取有意图的对话块,将对话块中的句子拼接起来,与其对应的意图形成key-value对,存储在List中。3.10)设置StarSpace模型预设参数,对话嵌入粒度、模型隐藏层大小hidden_size、语料总共使用的次数epoch、每批次大小batch_size。3.11)将3.9)得到的存有key-value对的List作为StarSpace模型的输入,进行StarSpace模型训练;3.12)将3.11)训练得到的StarSpace模型存储到磁盘上。所述的一种多轮对话意图识别方法,其特征在于,所述步骤4)具体为:4.1)从对话数据中获取一句对话;4.2)根据停用词表去除对话中的停用词;4.3)将对话输入句向量模型中,得到对话的句向量;4.4)将对话及其句向量存储到对话列表中;4.5)使用BiLSTM-CRF模型对对话列表进行对话分块;4.6)根据4.5)得到的对话分块结果,若结果末端为一个对话块,则进入4.7),否则跳转到4.1);4.7)将4.6)得到的对话块中的句子拼接起来,使用StarSpace模型进行意图分类;4.8)根据意图分类结果,若意图分类结果置信度大于预设置置信度阈值C,则输出意图,否则该意图分类结果被过滤;4.9)输出最佳意图,若存在未处理的对话数据,则跳转到4.1),否则算法结束。本专利技术的有益效果是:1)本专利技术采用了深度学习的方法,克服了
技术介绍
方案一泛化能力差的问题。将联系用户对话上下文看作序列标注问题,采用序列标注方法进行对话分块,很好的解决了方案二没有考虑上下文联系的问题。2)由于本专利技术将意图识别抽象为了序列标注问题和分类问题,采用两个深度学习模型分别负责语义联系和意图分类,与方案三采用一个深度学习模型同时负责这两个功能相比,本专利技术所需的语料远低于方案三所需的语料,在保证准确率和泛化能力的前提下,采用本专利技术的方法大大降低了人工标注语料的成本,克服了方案三语料标注成本高的问题。3)本专利技术意图识别高效,准确率高,泛化能力强,人工标注语料成本低。附图说明图1表示本专利技术方案的模型构建流程图;图2表示本专利技术方案的意图识别流程图。具体实施方法下面结合说明书附图,并结合实施例来说明本专利技术的算法实施方法。一种多轮对话意图识别方法,包括如下步骤:步骤1:根据应用场景确定要识别的对话意图,并获取大量对话数据,人工找出对话数据中的对话块以及其对应的意图,进行语料标注;人们通常会用连续几句话来表达同一个意图,我们称之为对话块。在语料标注之前,首先根据客服机器人应用场景确定机器人想要识别的意图名称。然后,取一通完整的对话数据,人工找出对话中的对话块以及其对应的意图,进行标注,最后,我们将标注好的对话数据存储到磁盘上。本本文档来自技高网
...

【技术保护点】
1.一种多轮对话意图识别方法,其特征在于,包括如下步骤:1)根据应用场景确定要识别的对话意图,并获取大量对话数据,人工找出对话数据中的对话块以及其对应的意图,进行语料标注;2)根据人工整理好的停用词表去除对话数据中的停用词;3)构建用于意图识别的句向量模型、BiLSTM‑CRF模型及StarSpace模型;4)由句向量模型、BiLSTM‑CRF模型和StarSpace模型实时获取对话数据,进行意图识别,输出最佳意图。

【技术特征摘要】
1.一种多轮对话意图识别方法,其特征在于,包括如下步骤:1)根据应用场景确定要识别的对话意图,并获取大量对话数据,人工找出对话数据中的对话块以及其对应的意图,进行语料标注;2)根据人工整理好的停用词表去除对话数据中的停用词;3)构建用于意图识别的句向量模型、BiLSTM-CRF模型及StarSpace模型;4)由句向量模型、BiLSTM-CRF模型和StarSpace模型实时获取对话数据,进行意图识别,输出最佳意图。2.根据权利要求1所述的一种多轮对话意图识别方法,其特征在于,所述步骤2)具体为:2.1)将对话数据使用分词工具进行分词;2.2)将分词结果中的每个词与停用词表中的词进行判断,若分词结果中的词在停用词表中存在,则去除该词,否则保留;2.3)将2.2)得到的结果拼接为句子。3.根据权利要求1所述的一种多轮对话意图识别方法,其特征在于,所述步骤3)中句向量模型构建步骤具体为:3.1)获取去除停用词后的人工标注语料,将语料中的每句话按字符拆分为List,最终得到整个语料的List列表;3.2)设置sentence2vec算法的预设参数,句子嵌入向量空间的维度n和语料总共使用的次数epoch;3.3)将3.1)中得到的语料List列表作为sentence2vec的输入,进行句向量模型训练;3.4)将3.3)训练得到的句向量模型存储到磁盘上。4.根据权利要求1所述的一种多轮对话意图识别方法,其特征在于,所述步骤3)中BiLSTM-CRF模型构建步骤具体为:3.5)获取去除停用词后的人工标注语料,首先使用句向量模型将对话转化为句向量,然后根据对话块标注块标签,其中,B表示块开始位置,I表示块中位置,E表示块结束位置,O表示其他位置;3.6)设置BiLSTM-CRF模型预设参数,模型隐藏层大小hidden_size、随机失...

【专利技术属性】
技术研发人员:曹斌叶铱雷范菁
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1