针对传统基于模板匹配、关键词共现、人工特征集合等方法的问答机器人存在用户意图识别耗时、费力且扩展性不强的问题, 本文结合地质领域文献中结构化知识问答的复杂特点, 使用了基于网格记忆网络(LSTM+CRF+Lattice)与基于卷积神经网络(CNN)融合的优化模型. 该模型将用户询问意图识别看作分类问题, 首先使用网格记忆网络进行文本信息的命名实体识别及关系抽取, 然后使用卷积神经网络将用户输入的其他文本信息进行属性分类, 接着将分类结果转化为满足知识图谱查询的结构化方式, 最终实现地质知识属性映射的用户询问意图识别. 实验证明, 在考虑地质知识特征的处理中, 对于准确率的提升起到了极大帮助.
Aiming at the time-consuming, laborious, and weak expansibility of user intention recognition in question answering robots based on template matching, keyword co-occurrence or artificial feature set, this study proposes a model based on the combination of grid memory network (LSTM+CRF+Lattice) and Convolutional Neural Network (CNN) combined with the characteristics of geological literature question answering. In this hybrid model, users’ query intention recognition is regarded as a classification problem. Firstly, the grid memory network is used to identify the named entity and extract the relationship of the text information, then the CNN is used to classify the attributes of other text information input by users, and then the classification results are transformed into a structured way to meet the query of knowledge graph, and finally realizes the attribute mapping of user intention recognition. Experiments show that it is very helpful to improve the accuracy rate when considering the characteristics of geological knowledge.
近年来, 随着人工智能的蓬勃发展, 不同行业服务质量逐步提升, 其中最为耀眼的问答机器人得到了行业领域的充分应用, 例如微软小娜、阿里小蜜、京东JIMI等. 本文研究的主要内容是在地质领域问答服务中的用户意图识别, 用户意图是指用户为满足地质知识探索关联发现的需要, 通过文本表达出对相关知识的探索意愿. 在问答服务过程中, 用户会产生大量数据, 如何利用这些数据本身的特性去判别用户倾向、增强用户体验、使得问答机器人更加智能是当下研究的重要难点之一[
对于知识检索探求、结构化推荐、表示学习推理以及专家建议与决策, 准确识别响应用户意图尤为重要[
针对以上问题, 本文采用地质领域文献数据知识关联特征与文本语义信息相结合的方式将用户意图识别看作文本分类问题, 使用了基于网格记忆网络(LSTM+CRF+Lattice)与基于卷积神经网络(CNN)融合的模型, 不仅很好的捕捉文本深层语义信息, 而且在文本问答过程中能快速识别用户意图. 该混合模型首先使用网格记忆网络进行用户文本信息的命名实体识别及关系抽取, 然后使用卷积神经网络将用户输入的除实体外其他文本信息进行属性分类, 再将分类结果转化为满足知识图谱查询的结构化方式, 最终将知识图谱的节点关联性通过结构化语言Cypher实现属性映射的用户意图识别.
实验结果表明, 在地质领域问答的用户意图识别任务中, 本文采用的网格LSTM与CNN的混合模型较传统的人工规则匹配与机器学习方法, 可以有效地识别用户问答过程中的意图.
本文主要研究在地质领域中的用户检索意图识别. 针对地质文献中构建的关联知识, 用户以简洁的自然语句进行询问, 具体的用户询问形式如
用户检索问题描述
序号 | 问题描述 |
1 | 青藏高原的简介是什么 |
2 | 青藏高原的别名是什么 |
3 | 青藏高原的区域范围是什么 |
4 | 青藏高原与火山机构存在什么关系 |
5 | 青藏高原与研究的知识推理是什么 |
这里针对用户提出的知识询问, 我们的意图识别处理如
用户意图识别流程图
命名实体识别(Named Entity Recognition, NER)是Web 2.0向3.0转化的一种深度学习技术工具, 是文本挖掘过程中基于句法分析理解的重要手段, 在大数据量的人工智能发展中, 基于数据的处理能力尤为最要[
英文文本词与词之间以空格分隔, 方便计算机识别, 但是中文以字为单位, 句子所有字连起来才能表达一个完整的意思. 如英文“China geological library builds big data intelligent platform”, 词与词之间有空格进行隔开, 而对应的中文“中国地质图书馆建设大数据智能化平台”, 句子中的词由多个独立的汉字组成并且字与字之间没有任何分割标记符, 同时还可能存在交集歧义、组合歧义、未登录词等特征, 所以中文的命名实体识别比英文的实体识别复杂的多. 目前, 随着技术的不断革新, 中文命名实体识别也经历了3个阶段的研究. 第1阶段基于人工词典的规则匹配方法[
在以上研究的基础上, 本文尝试使用序列标注中BIOES标签与改进的基于网格的双向LSTM相结合的方式进行地质领域中命名实体识别, 包括以下14种类型, 也是我们的创新点应用, 如图
自20世纪80年代初起, 文本分类在经历基于词匹配研究、基于知识工程研究后, 由于大量数字电子化数据驱使, 使得分类向机器自动学习靠拢, 使得分类技术成为数据处理的重要分支[
特定领域数据标签类型
序号 | 类型 | 缩写 |
1 | 地质区域 | GARE |
2 | 地质化学 | GEHE |
3 | 地质作用 | GEFF |
4 | 地质实体 | GENT |
5 | 地质位置 | GLOC |
6 | 地质方法 | GMET |
7 | 地质科学 | GSCI |
8 | 生物实体 | BENT |
9 | 生物细菌 | BFUN |
10 | 生物方法 | BMET |
11 | 古生物 | BPAL |
12 | 生物植物学 | BBOT |
13 | 生物昆虫 | BINS |
14 | 实体关系 | RELA |
在梳理时首先对文本进行去停用词、无效符号, 接着使用分词工具对其进行文本切分, 然后使用TextRank等技术进行关键特征提取, 最后使用分类器等集成学习方式归类.
在数据挖掘中, 可以分为两种: 二分类器和多分类器. 本文根据地质领域数据特征及问答环节涉及的用户知识将数据划分为9种类型进行验证, 采用了基于字符的深度学习的知识表示进行多分类. 如
领域数据问答知识分类
序号 | 类型 | 描述 | 英文标识 |
1 | 定义型 | 的定义, 定义是什么, 简介, 简介是什么 | definition |
2 | 属性标签型 | 青藏高原有哪些属性 | label |
3 | 类别型 | 类型, 哪一类, 哪一类别, 属于哪一类 | type |
4 | 关系型 | 图谱关系, 存在什么关系, 可能有什么关系 | relation |
5 | 实体型 | 相关实体, 下一节点, 实体, 下一节点是什么 | entity |
6 | 知识推理型 | 知识推理是什么, 知识推理节点是什么 | reasoning |
7 | 实体-实体型 | 青藏高原与火山机构的关系 | End2End |
8 | 实体-关系型 | 细菌与浸出的知识推理是什么 | End2Rel |
9 | 三元组型 | 青藏高原的实体对, 三元组, 实体组 | triple |
算法模型主要依据LSTM模型长期记忆特性与基于字符向量的融合构建. 在模型构建方面, 本文主要在实体识别和属性分类上引入了自定义地质知识的改进, 同时将二者联合进行研究实现.
1)数据标注策略
为了数据标注任务的便利性和统一标准, 本文采用中文字符作为token, 采用最常用的BIOES标注规范[
2)网格模型
在实体检测中先使用
使用的LSTM基本模型结构如
长短时记忆网络结构图
遗忘门负责决定剔除多少信息. 主要考虑
其中,
输入与更新门决定哪些信息被存储到细胞状态中. 主要考虑两部分, 首先是针对
其中,
经过遗忘门、输入与更新门之后, 需要将
输出门决定当前
其中,
在此基础上, 本文提出的基于字符的网格模型与基于词的模型相比能够很好地避免分词错误带来的影响, 受启发于LSTM+CRF模型改进[
首先, 定义一个输入句子
其中,
其中,
如
其中,
基于字符BIOES的序列标注图
从基于字符的模型可以看出单个字组成正确的一句话需要考虑所有路径的组合, 而路径的个数随字符个数的增长呈指数增长, 为解决这个问题, 我们引入了构建词典中的词语信息, 如
基于LSTM与领域知识融合图
模型的主干部分采用基于字符的双向LSTM-CRF, 与普通LSTM不一样的地方在于, 模型中具有一些句子中潜在词汇的细胞信息, 同主干LSTM的cell细胞状态信息连接起来就构成了基于词的网格模型, 例如“青藏”、“高原”、“青藏高原”这三者之间的考虑. 如
基于网格模型序列选择策略图
主干部分LSTM的记忆细胞内部算法如下:
对于词汇的语义信息算法如下:
其中,
有了词格
最终结合主干部分, 通过当前字符状态得到中间层的输出, 再通过CRF做标签序列的实体识别:
其中,
通过以上方法最终找到概率最大的序列, 即得到最终的实体识别输出.
1)数据集构建
通过网格模型正确提出用户语句中的地质实体之后, 还需要理解用户的意图, 其具体表现为地质实体具备的知识属性, 即需要将用户询问意图与知识图谱属性进行映射, 为满足用户的询问需求, 标注了围绕地质知识自身特性及关联的结构化特征具备一般性原则的语句描述方式标签, 标签一共包括定义型、别名型、海拔型、大小型、种类型、区域范围型、地质构造型、基本组成型、关系型等9大类别.
2)分类算法
针对用户询问的短文本特征, 以及
基于字符的CNN分类模型结构图
算法1. 基于字符CNN的语句属性分类算法
1) 用户输入问句
2) 加载配置初始化CNN网络;
3) 将问句训练集构建词汇表, 使用char的表示, 进而将词汇表转化为{词: id}的表示;
4) 将分类目录固定, 转化为类别{类别: id}表示;
5) 将训练集、验证集数据划分Epoch批次数据;
6) 将输入的语句转化为句子向量
7) 采用CNN网络的不同大小卷积核对问句进行特征提取;
8) 计算输入语句向量
9) 采用梯度下降方法更新CNN网络模型参数;
10) 将所有的卷积特征结果使用最大池化处理后拼接成一个向量;
11) 经过全连接层, 使用Softmax对最大池化输出做分类计算, 得到用户语句对应知识类别
12) 输出用户输入语句
当问句信息中的实体识别与属性映射分类完成后将二者相结合, 使用集束搜索转化为满足知识图谱查询的结构化语言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相当于两个实体之间的关系.
本文进行了实验来研究网格LSTM-CC优化算法在不同领域的有效性. 首先使用SimpleQuestion数据集与地质领域300篇文献标注数据进行对基于字符的神经网络汉语NER进行实验识别. 同时我们使用两类数据集进行分类器验证训练, 一类是使用THUCNews数据, 每类6500条数据; 一类是使用实验室对于地质问答中用户常问问题及问答类型对应通用语句进行标注的数据, 每类平均大约400条, 共计6500条数据, 按照固定比例划分训练集、测试集、验证集.
实验中使用精确度、召回率和
混淆矩阵:
实验过程中, 使用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. 实验结果采用精确率、召回率、
在实体识别中, 使用地质标注数据集与进行验证, 使用基于模板匹配和基于网格的LSTM+CRF的神经网络验证得到结果如
基于网格LSTM+CRF命名实体识别结果
方法 | 精确率 | 召回率 | |
基于模板匹配 | 0.76 | 0.68 | 0.64 |
基于LSTM+CRF | 0.84 | 0.87 | 0.86 |
在用户属性分类中, 使用THUCNews数据集对其10个类别, 每类6500条数据采用基于字符的CNN、RNN模型实验结果如
基于THUCNews数据集的字符RNN分类模型训练结果
类别 | 精确率 | 召回率 | |
体育 | 0.97 | 0.99 | 0.98 |
财经 | 0.96 | 0.98 | 0.97 |
房产 | 0.99 | 0.99 | 0.99 |
家居 | 0.96 | 0.82 | 0.88 |
教育 | 0.91 | 0.94 | 0.92 |
科技 | 0.93 | 0.98 | 0.95 |
时尚 | 0.94 | 0.94 | 0.94 |
时政 | 0.96 | 0.91 | 0.93 |
游戏 | 0.97 | 0.95 | 0.96 |
娱乐 | 0.92 | 0.97 | 0.94 |
基于THUCNews数据集的字符CNN分类模型训练结果
类别 | 精确率 | 召回率 | |
体育 | 1.00 | 0.99 | 0.99 |
财经 | 0.96 | 0.98 | 0.97 |
房产 | 1.00 | 1.00 | 1.00 |
家居 | 0.98 | 0.84 | 0.91 |
教育 | 0.94 | 0.98 | 0.96 |
科技 | 0.93 | 0.98 | 0.95 |
时尚 | 0.93 | 0.98 | 0.96 |
时政 | 0.95 | 0.94 | 0.95 |
游戏 | 0.98 | 0.98 | 0.98 |
娱乐 | 0.98 | 0.97 | 0.98 |
基于THUCNews数据集的字符CNN与RNN模型对比
方法 | 平均精确率 | 运行耗时 |
基于字符CNN | 0.9633 | 11分15秒 |
基于字符RNN | 0.9545 | 2时10分37秒 |
在THUCNews的基础上我们可以知基于字符的CNN模型不仅运行时间为基于字符的RNN模型的1/13, 且在数据集上得到96.3%的精确率, 由此我们使用基于字符的CNN模型在我们针对用户一般询问语句人工标注的地质问答数据得到如
基于地质标注数据集的字符CNN分类模型结果
方法 | 平均精确率 | 运行耗时 |
基于字符CNN | 0.9691 | 3分44秒 |
基于字符RNN | 0.9556 | 2时20分20秒 |
本文在地质领域用户意图识别中通过构建地质领域的实体字典, 来源包括地质百科大辞典、搜狗语料等, 在基于字符的网格神经网络上进行专家及用户的询问语句实体识别训练, 采用的是地质文献数据, 在验证集上验证, 采用Adam随机梯度下降时, 准确率达到84.57%、召回率达到87.12%,
在此基础上, 将来的工作更多的是将用户热点问题及知识意图推理进行深入探索, 通过接下来的实验, 将知识图谱中知识的构建环节引入知识阶层路径, 实现用户复杂文本信息意图的识别.
罗成, 刘奕群, 张敏, 等. 基于用户意图识别的查询推荐研究. 中文信息学报, 2014, 28(1): 64–72.
赵乐, 张兴旺. 面向LDA主题模型的文本分类研究进展与趋势. 计算机系统应用, 2018, 27(8): 10–18.
Song HJ, Park SB. Identifying intention posts in discussion forums using multi-instance learning and multiple sources transfer learning. Soft Computing, 2018, 22(24): 8107–8118.
孙镇, 王惠临. 命名实体识别研究进展综述. 现代图书情报技术, 2010, (6): 42–47.
张硕果, 汪成亮. 结合CRFs的词典分词法. 计算机系统应用, 2010, 19(11): 115–118.
何炎祥, 罗楚威, 胡彬尧. 基于CRF和规则相结合的地理命名实体识别方法. 计算机应用与软件, 2015, 32(1): 179–185, 202.
杨文明, 褚伟杰. 在线医疗问答文本的命名实体识别. 计算机系统应用, 2019, 28(2): 8–14.
胡泽文, 王效岳, 白如江. 国内外文本分类研究计量分析与综述. 图书情报工作, 2011, 55(6): 78–81, 142.
薛春香, 张玉芳. 面向新闻领域的中文文本分类研究综述. 图书情报工作, 2013, 57(14): 134–139.