APP下载

基于网格LSTM混合算法的地质领域用户意图识别①

2020-11-13贺金龙付立军吕鹏飞黄徐胜

计算机系统应用 2020年10期
关键词:字符意图网格

贺金龙,付立军,姚 郑,吕鹏飞,黄徐胜

1(中国科学院大学,北京 100049)

2(中国科学院 网络信息中心,北京 100049)

3(中国科学院沈阳计算技术研究所,沈阳 110168)

4(中国地质图书馆,北京 100083)

1 引言

近年来,随着人工智能的蓬勃发展,不同行业服务质量逐步提升,其中最为耀眼的问答机器人得到了行业领域的充分应用,例如微软小娜、阿里小蜜、京东JIMI 等.本文研究的主要内容是在地质领域问答服务中的用户意图识别,用户意图是指用户为满足地质知识探索关联发现的需要,通过文本表达出对相关知识的探索意愿.在问答服务过程中,用户会产生大量数据,如何利用这些数据本身的特性去判别用户倾向、增强用户体验、使得问答机器人更加智能是当下研究的重要难点之一[1].

对于知识检索探求、结构化推荐、表示学习推理以及专家建议与决策,准确识别响应用户意图尤为重要[2].在互联网技术的蓬勃发展过程中,关于用户询问理解识别的研究如下:基于Luence、Elasticsearch 的树状分类方法来识别用户搜索内容的归属类别[3]、基于人工构建类别的正则匹配规则与图的方法来抽取和泛化用户意图[4]及考虑到用户意图语料匮乏的跨领域迁移学习方法[5]等.这些基于人工构建匹配规则查询和引入路径优化探索的方法在应用中都存在一定的局限性,前者是通过挖掘用户询问语句是否与预先设定的方式模板相匹配,得到匹配度满足阈值的知识,后者是通过文本的二元、三元、及多元特征作为分类特征,使用集成学习的方式在多个特征分类器中训练得到最佳的意图判断.上述方法都存在限定的泛化能力,没有很好地理解文本的深层语义信息的问题,从而导致识别用户的真实意图方面较弱.

针对以上问题,本文采用地质领域文献数据知识关联特征与文本语义信息相结合的方式将用户意图识别看作文本分类问题,使用了基于网格记忆网络(LSTM+CRF+Lattice)与基于卷积神经网络(CNN)融合的模型,不仅很好的捕捉文本深层语义信息,而且在文本问答过程中能快速识别用户意图.该混合模型首先使用网格记忆网络进行用户文本信息的命名实体识别及关系抽取,然后使用卷积神经网络将用户输入的除实体外其他文本信息进行属性分类,再将分类结果转化为满足知识图谱查询的结构化方式,最终将知识图谱的节点关联性通过结构化语言Cypher 实现属性映射的用户意图识别.

实验结果表明,在地质领域问答的用户意图识别任务中,本文采用的网格LSTM 与CNN 的混合模型较传统的人工规则匹配与机器学习方法,可以有效地识别用户问答过程中的意图.

2 相关工作

本文主要研究在地质领域中的用户检索意图识别.针对地质文献中构建的关联知识,用户以简洁的自然句进行询问,具体的用户询问形式如表1所示.

表1 用户检索问题描述

这里针对用户提出的知识询问,我们的意图识别处理如图1所示,首先根据用户的自然语句进行语义解析,其中包括两部分:一部分对于语句中的命名实体识别,一部分是对于语句信息的属性分类,然后将分类结果映射到相应的用户意图类型中,通过转化的结构化查询得到用户意图结果.

图1 用户意图识别流程图

2.1 命名实体识别

命名实体识别(Named Entity Recognition,NER)是Web 2.0 向3.0 转化的一种深度学习技术工具,是文本挖掘过程中基于句法分析理解的重要手段,在大数据量的人工智能发展中,基于数据的处理能力尤为最要[6].

英文文本词与词之间以空格分隔,方便计算机识别,但是中文以字为单位,句子所有字连起来才能表达一个完整的意思.如英文“China geological library builds big data intelligent platform”,词与词之间有空格进行隔开,而对应的中文“中国地质图书馆建设大数据智能化平台”,句子中的词由多个独立的汉字组成并且字与字之间没有任何分割标记符,同时还可能存在交集歧义、组合歧义、未登录词等特征,所以中文的命名实体识别比英文的实体识别复杂的多.目前,随着技术的不断革新,中文命名实体识别也经历了3 个阶段的研究.第1 阶段基于人工词典的规则匹配方法[7],主要采用专家手工构建检索规则、模板,以字符串相匹配为主要手段,这也导致一定的局限性.第2 阶段基于二元、多元统计的方法,利用人工标注数据作为训练基础学习文本特征,对于机器学习不需要人工设定规则且线上识别可扩展性强.这也是目前应用方式最多的技术,如在满足已知约束的条件集合的概率学习时,选择熵最大的模型[8]、在判断线性可分与否的感知器模型[9]、对于时序随机序列的状态转移概率计算的隐马尔可夫模型[10]、以及用于预测与输入标注序列相对应的模型等.条件随机场(Conditional Random Fields,CRF)解决了句子特征参数选择优化与标记偏置问题,是统计模型中应用最为广泛的一种模型[11].文献[12]提出基于CRF 与地理词典规则结合的识别方法.随着深度学习的兴起,研究者不断注重对于时序数据上下文信息的捕捉,提出循环神经网络(Recurrent Neural Network,RNN),利用当前数据的输出作为到下一个神经元的输入捕捉隐藏层特征信息[13].但当进行长距离特征信息捕捉时会出现梯度消失或者爆炸的问题,基于此问题,提出了通过“门”结构的网络细胞单元进行控制信息流转的输入、更新与删除的长短时记忆网络(Long-Short Term Memory,LSTM).另外,文献[14]提出使用4 种类型特征的LSTM-CRF 模型,分别是拼写特征,内容特征,词语向量和词典特征,其实验表明这些额外的特征可以提高标签的准确率.考虑LSTM 与CRF 在实体识别中存在模型互补的优势,将二者相结合的训练模型不断出现[15,16].

在以上研究的基础上,本文尝试使用序列标注中BIOES 标签与改进的基于网格的双向LSTM 相结合的方式进行地质领域中命名实体识别,包括以下14 种类型,也是我们的创新点应用,如图表2所示.

2.2 文本信息分类

自20世纪80年代初起,文本分类在经历基于词匹配研究、基于知识工程研究后,由于大量数字电子化数据驱使,使得分类向机器自动学习靠拢,使得分类技术成为数据处理的重要分支[17].它是按照预先定义的规则和体系,将文本实现自动归类的过程[18],其结构化形式定义如下:

表2 特定领域数据标签类型

在梳理时首先对文本进行去停用词、无效符号,接着使用分词工具对其进行文本切分,然后使用TextRank等技术进行关键特征提取,最后使用分类器等集成学习方式归类.

在数据挖掘中,可以分为两种:二分类器和多分类器.本文根据地质领域数据特征及问答环节涉及的用户知识将数据划分为9 种类型进行验证,采用了基于字符的深度学习的知识表示进行多分类.如表3所示.

表3 领域数据问答知识分类

3 基于网格LSTM 混合算法的意图识别模型

算法模型主要依据LSTM 模型长期记忆特性与基于字符向量的融合构建.在模型构建方面,本文主要在实体识别和属性分类上引入了自定义地质知识的改进,同时将二者联合进行研究实现.

3.1 基于网格LSTM+CRF 命名实体识别

1)数据标注策略

为了数据标注任务的便利性和统一标准,本文采用中文字符作为token,采用最常用的BIOES 标注规范[19]结合类别进行字符序列标注.

2)网格模型

在实体检测中先使用n-gram 问题词搜索与问题具有公共子字符串的实体[20],后使用神经网络与句法指标进行捕捉问题和实体名称之间的相似匹配.例如,文献[21]使用字符级别的LSTM 来编码问题和实体名称;文献[22]使用字符级别CNN 来编码问题和实体;文献[23]同时使用单词级别和字符级别来编码问题.

使用的LSTM 基本模型结构如图2所示,其中包含遗忘门、输入更新门、输出门3 个门结构.

图2 长短时记忆网络结构图

xt为t时刻输入,ht−1为t−1 时刻的输出,Ct−1为t−1 时刻的细胞输出,Ct为t时刻的细胞输出,ft为输入到Ct−1的值,it为输入门向量、为新的候选值向量,ot为输出向量.

遗忘门负责决定剔除多少信息.主要考虑t时刻的输入、t−1 刻的输出,其中输出值为1 表示“完全保留该部分信息”,输出值为0 表示“删除这部分信息”,计算公式如下:

其中,ft是输出到Ct−1的值,Wf,bf分别为遗忘门的权值与偏置.

输入与更新门决定哪些信息被存储到细胞状态中.主要考虑两部分,首先是针对t−1 刻的输出与t时刻的输入信息中的哪些信息被更新,然后再对其转换作为更新输入,再加入到cell 中,如下:

其中,Wi,bt,WC,bC分别为输入门与更新门的权值与偏置.

经过遗忘门、输入与更新门之后,需要将t−1 刻的细胞状态更新到t时刻的Ct上,主要将Ct−1细胞状态剔除遗忘信息,再加上输入门与更新门的更新信息,其计算公式如下:

输出门决定当前t时刻细胞的输出.首先需要经过Sigmoid 层决定t−1 刻输出与t时刻输入的信息哪些被输出;然后将当前的细胞状态Ct送入tanh 激活函数,将数值范围变为−1 到1 之间;最后将以上两步的输出相乘得到最终的输出,计算公式如下:

其中,Wo,bo为输出门的权值与偏置.

在此基础上,本文提出的基于字符的网格模型与基于词的模型相比能够很好地避免分词错误带来的影响,受启发于LSTM+CRF 模型改进[24],主要原因之一是采用基于字向量的模型,其二是将领域词加入到模型中充分利用显性的词和词序信息(比如“青藏高原”这个词如果拆成字向量就成了“青”、“藏”、“高”、“原”,这4 个词的单独含义明显与其组合的词的含义大相径庭).

首先,定义一个输入句子s,以字为基本单位:

其中,cj为s的第j个字,s表示为:

其中,wi为s的第i个词,设t(i,k)为句子的第i个词的第k个字在句子中的位置,比如“青藏高原,火山机构”这句话中的“山”字,我们就有t(2,2)=7.

如图3所示,是一个基于字序列c1,c2,···,cm的模型,其中每一个字被表示为:

其中,ec为权重矩阵,输入x1,x2,···,xm都 会有一个隐含状态,即和那么隐藏层的总输出可以表示为:

图3 基于字符BIOES 的序列标注图

从基于字符的模型可以看出单个字组成正确的一句话需要考虑所有路径的组合,而路径的个数随字符个数的增长呈指数增长,为解决这个问题,我们引入了构建词典中的词语信息,如图4中黑色圆形阴影部分,这样就可以控制信息的始终导向,进而提升模型效率.

图4 基于LSTM 与领域知识融合图

模型的主干部分采用基于字符的双向LSTM-CRF,与普通LSTM 不一样的地方在于,模型中具有一些句子中潜在词汇的细胞信息,同主干LSTM 的cell 细胞状态信息连接起来就构成了基于词的网格模型,例如“青藏”、“高原”、“青藏高原”这三者之间的考虑.如图5所示.

图5 基于网格模型序列选择策略图

主干部分LSTM 的记忆细胞内部算法如下:

对于词汇的语义信息算法如下:

其中,ew为embedding 矩阵,中b,e表示为词汇的首尾字符索引.

有了词格后,并不是所有的词汇信息都需要传入当前词汇细胞,要利用逻辑门单元cell 来计算当前字符与历史信息的权重,进而选取最有用的词汇.

最终结合主干部分,通过当前字符状态得到中间层的输出,再通过CRF 做标签序列的实体识别:

通过以上方法最终找到概率最大的序列,即得到最终的实体识别输出.

3.2 基于字符编码的CNN 问句属性分类

1)数据集构建

通过网格模型正确提出用户语句中的地质实体之后,还需要理解用户的意图,其具体表现为地质实体具备的知识属性,即需要将用户询问意图与知识图谱属性进行映射,为满足用户的询问需求,标注了围绕地质知识自身特性及关联的结构化特征具备一般性原则的语句描述方式标签,标签一共包括定义型、别名型、海拔型、大小型、种类型、区域范围型、地质构造型、基本组成型、关系型等9 大类别.

2)分类算法

针对用户询问的短文本特征,以及n-gram 语言模型可知,CNN 模型[25]对于自然语言的局部语义特征提取存在优势,因此常被用于表示句子级别的信息和短文本分类.本文使用基于字符的CNN 模型对用户询问的除命名实体识别外的语句进行语义表示并进行属性分类,映射为知识图谱中的属性关系标签,进而实现用户询问意图.结构图如图6.属性分类具体方法如算法1.

图6 基于字符的CNN 分类模型结构图

算法1.基于字符CNN 的语句属性分类算法Q=[q1,q2,···,qn] L=[l1,l2,···,ln]1)用户输入问句q,问句训练集,;2)加载配置初始化CNN 网络;3)将问句训练集构建词汇表,使用char 的表示,进而将词汇表转化为{词:id}的表示;4)将分类目录固定,转化为类别{类别:id}表示;5)将训练集、验证集数据划分Epoch 批次数据;vq 6)将输入的语句转化为句子向量 ;7)采用CNN 网络的不同大小卷积核对问句进行特征提取;vq 8)计算输入语句向量 的卷积结果;9)采用梯度下降方法更新CNN 网络模型参数;10)将所有的卷积特征结果使用最大池化处理后拼接成一个向量;11)经过全连接层,使用Softmax 对最大池化输出做分类计算,得到用户语句对应知识类别 ;lx lx 12)输出用户输入语句q 相近的类别标签.

3.3 用户意图映射检索

当问句信息中的实体识别与属性映射分类完成后将二者相结合,使用集束搜索转化为满足知识图谱查询的结构化语言Cypher 进行问答机器人检索.如“青藏高原与火山机构具有怎样的关系”,通过实体识别模块将“青藏高原”“火山机构”进行识别出,归类为地质实体geoEntity,然后通过问句属性分类,将“具备怎样的关系”归属为relation 类,接着将二者结合转化为Neo4j图形数据库的结构化语句,如:

“Match p=(n1:entity1)-[r:rel]->(n2:entity2)where n1.name=‘{0}’ and n2.name=‘{1}’ return distinct r.rel”.

其中name1、name2 为实体名称,rel 相当于两个实体之间的关系.

4 实验过程与结果评估

4.1 数据集与评价标准

本文进行了实验来研究网格LSTM-CC 优化算法在不同领域的有效性.首先使用SimpleQuestion 数据集与地质领域300 篇文献标注数据进行对基于字符的神经网络汉语NER 进行实验识别.同时我们使用两类数据集进行分类器验证训练,一类是使用THUCNews数据,每类6500 条数据;一类是使用实验室对于地质问答中用户常问问题及问答类型对应通用语句进行标注的数据,每类平均大约400 条,共计6500 条数据,按照固定比例划分训练集、测试集、验证集.

实验中使用精确度、召回率和F1 作为验证评价指标,对于整体多分类结果使用混淆矩阵.

混淆矩阵:

4.2 实验过程

实验过程中,使用CPU 对实体识别与属性分类进行了训练.实体识别部分针对双向神经网络使用字符嵌入大小为100,单词批量大小为60,LSTM 单元为100,剪枝大小为5.0,训练学习速率为0.001,与防止过拟合的dropout 大小为0.5,训练内容包括97 万带BIOES标签标注的文本信息,迭代次数循环64 次,直至损失变化幅度稳定结束.属性分类过程中采用卷积核分别为3、4、5、256 个卷积核,词向量维度为64,序列长度为600,全连接层为128 个神经元,词汇表大小为500,迭代总轮次为10 轮,每批训练大小64,学习率为0.001,及dropout 大小0.5.实验结果采用精确率、召回率、F1 值求算数平均值,作为最后结果.

4.3 结果分析

在实体识别中,使用地质标注数据集与进行验证,使用基于模板匹配和基于网格的LSTM+CRF 的神经网络验证得到结果如表4.

表4 基于网格LSTM+CRF 命名实体识别结果

在用户属性分类中,使用THUCNews 数据集对其10个类别,每类6500 条数据采用基于字符的CNN、RNN模型实验结果如表5、表6所示,通过训练可以发现基于CNN 的模型较基于RNN 模型用时较短,如表7所示.

表6 基于THUCNews 数据集的字符CNN分类模型训练结果

表7 基于THUCNews 数据集的字符CNN 与RNN 模型对比

在THUCNews 的基础上我们可以知基于字符的CNN 模型不仅运行时间为基于字符的RNN 模型的1/13,且在数据集上得到96.3%的精确率,由此我们使用基于字符的CNN 模型在我们针对用户一般询问语句人工标注的地质问答数据得到如表8所示,平均精确率达到96.9%,使得应用效果超过基线模型.

表8 基于地质标注数据集的字符CNN 分类模型结果

5 结论与展望

本文在地质领域用户意图识别中通过构建地质领域的实体字典,来源包括地质百科大辞典、搜狗语料等,在基于字符的网格神经网络上进行专家及用户的询问语句实体识别训练,采用的是地质文献数据,在验证集上验证,采用Adam 随机梯度下降时,准确率达到84.57%、召回率达到87.12%,F1 值更是达到86.18%,超过了基于模板匹配与基于RNN 的现有模型,可有效地识别特定领域的实体及关系.同时在短文本信息分类过程中借鉴卷积网络考虑语义信息的优势,采用基于字符的分类模型达到96.9%的精确率,对于分类结果使用知识图谱分类属性映射得到匹配的知识描述返回用户,整体实现了在基于地质领域的问答过程中意图识别.

在此基础上,将来的工作更多的是将用户热点问题及知识意图推理进行深入探索,通过接下来的实验,将知识图谱中知识的构建环节引入知识阶层路径,实现用户复杂文本信息意图的识别.

猜你喜欢

字符意图网格
原始意图、对抗主义和非解释主义
基于高速公路的驾驶员换道意图识别
陆游诗写意图(国画)
网格架起连心桥 海外侨胞感温馨
正则表达式快速入门
字符代表几
图片轻松变身ASCⅡ艺术画
追逐
视频监视系统中字符叠加技术的应用
燕山秋意图