APP下载

一种双向长短时记忆循环神经网络的问句语义关系识别方法

2018-03-08欧阳红方红旺胡海英刘玉玺

关键词:短时记忆池化语义

姜 华,欧阳红,方红旺,胡海英,刘玉玺

(国网信通产业集团北京中电普华信息技术有限公司,北京 100085)

0 引言

图1 用户自然语言问句转化为结构化的查询语句Fig.1 Example of converting question to formal query

客户服务对于企业而言至关重要,其主要方式是问答交互模式,缺点在于维护成本高、 效率低、 知识无法共享、 用户体验差. 人工智能的发展带动了以自然语言理解、 机器学习等关键技术为核心的自动问答技术的突破和进展,并在某些垂直领域得到广泛应用. 目前,自动客服系统主流方法之一是基于知识库的问答系统. 其基本任务是面对结构化的知识库,深度理解用户问题的语义,将用户自然语言形式的问句转化为结构化的查询语句(SQL、 SPARQL),如图1所示.

利用结构化的查询语句在已构建的知识库上直接检索得到答案, 这其中的关键技术是识别问句中所蕴含的语义关系,即在本例子中所蕴含的知识库语义关系是“最大需要份额”,这里假设一段文本片段中只蕴含一种语义关系.

然而,这一任务并不容易,其难点在于用户提问方式和表达方式多种多样,很难用简单手段分析出问句中所蕴含的关系表达形式. 例如,在表达“最大需要份额”这一语义关系时,用户可以有“最大需求”“最大用量”“最大用电量”等多种不同的文本表达形式. 文[1-2]通常把这一任务看作是一个分类问题,将预设定的语义关系看作是给定的类别,其任务就是利用机器学习算法对用户问题进行分类. 在这种方式下,其核心问题之一就是特征表示: 即如何从问题文本中抽取有效特征. 传统方法通常利用自然语言处理工具抽取不同类型的特征,例如词形特征、 词性特征[3]、 句法特征[4]、 语义特征[5]等, 但会带来如下两个问题.

1) 自然语言处理工具通常是一种级联策略,例如: 句法分析依赖于分词、 词性标注的结果. 因此每一级的错误都会对于下一级处理产生负面影响. 如何避免级联操作是一个难点问题.

2) 这种特征抽取方法过分依赖于多级自然语言处理工具,面对一些小语种时(如藏语、 蒙语等),这些自然语言处理工具很不完善,在这种情况下如何进行特征抽取并搭建自动客服系统极具挑战.

为解决上述问题,本研究提出一种基于双向长短时记忆循环神经网络的问题分类方法. 这种方法通过神经网络自动从词学习表示问句语义信息的特征,相对于传统方法[3-4],不需要自然语言处理工具对于文本进行分析,从而避免了多级自然语言处理工具抽取特征带来的错误累积问题,也能解决小语种环境下的自动客服系统构建问题. 另外,本研究给出一种双向循环神经网络框架,在每一层中加入了长短时记忆模块(long short term memory, LSTM),相对于传统循环神经网络,能有效解决传统循环神经网络的“梯度弥散”问题,从而使特征表示学习更加精准. 同时,本文在网络中加入基于主实体位置的分段最大池化操作, 相对于传统最大池化操作能尽可能保留文本有效特征信息,并在一定程度上可以获取问题文本的结构信息. 通过在电力领域问题集上实验表明,该方法在不利用自然语言处理工具进行特征提取的基础上,相对于传统方法,能够有效地提高问句分类的精度.

1 相关工作

在客服系统中,识别用户问题中所蕴含关系语义信息的关键是从用户问题文本中抽取有效特征,构建表征关系语义的特征向量. 传统方法研究重点在于怎样设计和提取具有区分性的语义特征,例如各种有效的词汇、 句法和语义等特征. 文[6]利用Wikipedia的数据对问句文本语义进行扩充,有效提高了问题分类过程中的语义鸿沟问题. 针对问题文本中的语义关系识别任务,文[4]设计了实体本身、 实体类型、 依存树和解析树等特征,然后使用最大熵分类器判断实体间的关系. 文[7]将这些特征按照其句法信息进行划分,文[5]把包括基本词组块在内的各种特征组合起来,特别把 WordNet和Name List等语义信息引入特征,取得了不错的效果. 文[8]又进一步将句子的简化准逻辑形式作为特征,同时引入了多种语言特征. 文[9]通过统一的特征空间表达形式来研究不同特征对语义关系识别性能的影响,但是,其难点在于很难找出适合语义关系抽取的复杂的词汇、 句法或语义特征.

为抽取更有效的语义特征,很多方法试图通过构造核函数来组合出更加复杂且有效的语义特征[10]. 文[11]提出依存树核函数抽取并组合语义特征,同时依次增加词性、 实体类型、 词组块、 WordNet上位词等特征,最后使用SVM分类器进行关系抽取. 其他核函数还包括: 最短依存树核函数[12]、 字符串序列核函数[13]、 卷积树核函数[14]、 最短路径包含树核[15]等.

目前,已有方法利用神经网络进行问题语义关系识别,其目的也是为了解决传统方法在特征提取过程对于自然语言处理工具的依赖以及多级处理造成的错误积累问题. 文[16]提出一种基于递归神经网络(recursive neural network, RNN)的语义关系识别方法. 其目的是利用递归神经网络自动学习组合出文本中的高阶语义特征,但是其仍然需要依赖于句法分析生成的句法树结构. 因此,避免不了引入句法分析错误对其性能的影响. 文[2]利用卷积神经网络(convolutional neural network, CNN)进行文本语义关系抽取,能够自动从词开始学习有效的文本语义特征. 文[17-18]在句法分析的基础上,利用循环神经网络自动抽取文本语义特征,同时加入了LSTM模块来解决“梯度弥散”问题. 在标准测试集上实验表明该方法能够有效提高语义关系识别精度. 但是,该方法仍然依赖于句法分析的结果.

2 任务描述

问句语义关系分类任务就是识别问句中所包含的已经预定义的语义关系. 例如图1所给例子中,“山西省最大用电需求量是多少?”中蕴含的语义关系是用电的“最大需求配额”这一语义关系. 这根据用户自然语言问句构建结构化的查询语句非常重要,其是链接问句中各个关键语义实体的关键步骤. 形式化描述如下:

给定问题S={w1, w2, …, wn},这里S表示问句,wi表示问句中的第i个字. 假设在知识库中定义了K类语义关系,任务构建一个模型,该模型能够将给定问句S正确分类到所对应的语义关系类别上去. 用p(k|S, θ)来表示问题被分到第k个类别的概率,这里θ 表示模型参数.

3 基于双向长短时记忆循环神经网络的问句语义关系分类

图2 双向长短时记忆循环网络Fig.2 Bi-directionallong short term memory network

针对文本语义表示问题,提出一种双向长短时记忆循环神经网络,如图2所示.

问句中的每个词被表示成为词向量,并作为网络的输入. 随后,问句的语义特征通过双向长短时记忆循环神经网络,被自动抽取出来,问句被表示成向量. 最后,问句的语义向量被输入到一个softmax分类器,输出是一个向量,这个向量的每一维对应问题分类预定义的类别,而向量中的每一维的值表示当前问句被分到某个类别的置信度,即 p(k|S, θ) .

3.1 双向长短时记忆循环神经网络框架

3.1.1 双向循环神经网络

面对问句语义特征自动学习,本方法是基于循环神经网络[19]. 同时,为解决传统循环神经网路中的语义单向传递问题,给出一种双向循环神经网络模型, 如图2所示. 对于问句中第i个词wi,定义其左边出现的上下文的语义表示为cL(wi). 同样的,其右边出现的上下文的语义表示为cR(wi). 则将每个词左边上下文的语义表示、 右边上下文的语义、 当前目标词的词向量拼接起来组合成为当前词的语义表示Xi,则有:

Xi=[cL(wi),e(wi),cR(wi)]

(1)

[·]操作表示把目标向量首尾拼接在一起. 基于此操作,对于问句中出现的每个词,可以很好捕捉当前词的语义信息以及其上下文的有效信息,相对于标准循环神经网络,所提模型能够有效解决当前词之后的语义捕捉问题. 在模型学习过程中,可以通过一遍正向扫描得到每个词左边上下文语义表示cL,通过一遍逆向扫描得到每个词右边上下文语义表示cR. 算法的时间复杂度是O(N),N是句子的长度.

3.1.2 加入长短时记忆模块

尽管双向循环网络能够更加有效解决上下文语义的捕捉问题,但是在模型训练时,仍然存在“梯度弥散”或“梯度消失”问题. 特别是问句中语义单元之间的长距离依赖问题仍然难以得到有效解决. 针对此问题,通过在循环神经网络中引入长短时记忆操作进行解决.

3.1.3 基于主实体位置的分段最大池化

(2)

传统方法多利用最大池化操作从本层输出中抽取有效特征. 即从每一维度选取特征值最大的,则有:

(3)

最大池化操作的最大问题是特征抽取过于稀疏,只是按位抽取特征最大值,次有用的特征就会被忽略掉. 如果简单地使用Top-K池化操作,则可以抽取更多有效特征,但是带来的问题是会引入噪声. 同时最大池化,由于只是单一的选取最大值,使得问句内部很多结构化的信息也容易被忽略.

为避免上面两种问题,提出基于实体位置的分段最大池化操作. 采用分段最大池化,相对于传统最大池化,能够抽取更多有效特征,同时也尽量减少噪声的引入. 由于段的划分是根据问句中主实体的自然位置,则又可以有效获取问句的结构信息.

具体地,我们认为问句中的主实体自然地把问句分为前后两部分,每一部分都可能包含表征语义关系的有效特征,如图3所示. 这两个问句都是在问山东省95598的收费标准,其中语义关系为“收费标准”. 问句的主实体是“95588”,其将问句划为左(L)右(R)两部分. 对于第一句,显然在右半部分“标准收费”是表征“收费标准”这一语义关系的核心特征. 但是对于第二句,核心特征为左半部分的“资费标准”. 但问题是,我们不能确定表征语义关系的有效特征位于哪一部分内. 因此,对每一段分别进行池化操作,然后将每段结果拼接起来作为其学习到的有效特征表示,如图4所示,则有

(4)

(5)

图3 基于主实体位置的分段最大池化示例Fig.3 An example of segmentation-based max-pooling

图4 基于主实体位置的分段最大池化Fig.4 Segmentation-based max-pooling

3.1.4 特征输出以及分类

在文中所给网络的最后一层是输出层,同传统神经网络类似:

y(4)=W(4)y(3)+b(4)

(6)

最后,利用softmax模型进行分类,则有:

(7)

3.2 模型训练

本网络模型中,模型参数θ包括:θ={WI,WE,WO,UI,UE,UO,bI,bE,bO,W(2),W(4),b(2),b(4)}. 训练过程使对数似然函数最大化,即有:

(8)

其中: s是训练集合,classS是每个训练样本的人工标记类别信息. 使用随机梯度下降算法SGD[20]进行网络模型参数的训练. 在训练过程中,同之前方法类似,在模型迭代的每一步,随时挑选样本来更新目标函数的梯度以及参数值:

(9)

其中: α是学习率或者步长.

4 实验部分

4.1 数据集

以电力领域问题分类数据来验证所提方法的性能. 其任务是在对给定的用户问句中,判别给定的两个实体之间的语义关系. 数据来源于电力领域的客服系统,共25 568个问题,均为真实场景下的用户问题,问题中的实体已经事先识别出,语义关系类别数为17. 为获得每个问题中给定实体间的语义关系标注,聘请两个标注人员对每个问题进行标注,当标注结果不一致时,由第三个标注人员进行判别. 前两个人员标注的Kappa值为0.67. 表1给出详细例子,对测试集中问题及其语义关系进行说明.

表1 电力领域问题集样例Tab.1 Examples of questions

4.2 实验设置

4.3 基准系统

为说明本文方法的有效性,选取如下方法作为基准系统与本方法进行比较(见表2). 在实验中,所有方法的参数设置与原文相同.

表2 基准系统Tab.2 Baselines

4.4 与已有方法相比较

图5 与已有基准系统比较结果Fig.5 Comparison with baselines

图5给出了在电力领域问题分类数据集上的实验结果. 从实验结果可以看出,本方法能够有效提升问题语义关系识别的精度.

1) 本方法不需要人工设计特征,也不需要利用自然语言处理工具进行特征提取,直接从词学习表征语义关系的特征,与TM方法相比较,性能能够提升4.5%.

2) 绝大多数基于神经网络的方法(CNN、 RNN-LSTM以及本方法)较传统方法(TM)性能均有提升. 这说明,传统级联式的利用自然语言处理工具抽取特征,确实会因错误传播造成性能损失. 而基于神经网络方法直接从词学习特征表示,极大避免了特征抽取过程中的错误传播,因此能得到较好的结果.

3) 本方法相对于其他神经网络方法(MVRNN、 CNN、 RNN-LSTM),性能均有提高,最少性能提升2.1%. 这说明,本方法的网络结构能够很好捕捉问题文本的语义信息,这要归功于在神经网络中加入了双向操作、 记忆模块(LSTM)以及最大池化操作进行特征的抽取. 细节的比较在后面章节中给出.

4.5 双向循环网络以及长短时记忆的有效性

相对于传统神经网络方法,本方法解决了问题语义捕捉以及梯度弥散问题,特别建立双向循环神经网络结构以及加入长短时记忆模块. 在本实验中,特别对双向循环神经网络结构以及长短时记忆模块的有效性进行验证. 设定五个基准系统L-RNN、 R-RNN、 Bi-RNN、 L-LSTM以及R-LSTM. L-RNN与R-RNN用标准循环神经网络进行问题语义特征表示,他们的区别在于L-RNN是从左向右递归,R-RNN从右向左进行递归,Bi-RNN相对于本方法去掉了LSTM模块. L-LSTM和R-LSTM是在L-RNN和R-RNN基础上分别加入LSTM模块,相对于本方法,L-LSTM和R-LSTM没有双向结构. 实验结果如图6所示.

从结果中可以看出双向循环网络相对于标准循环网络能够有效地提高识别精度,这说明从两个方向学习问句的语义信息能够有效地避免“梯度弥散”问题. 同时,可以看到加入记忆模块(LSTM)比不加该模块的效果要好,这说明加入记忆模块能有效获取文本的语义信息. 同时考虑这两部分,能取得最好的结果,这也验证了本方法的有效性.

4.6 基于主实体位置的分段最大池化的有效性

为说明所提的基于实体位置分段池化操作的有效性,设计了如下比较方法: Max、 TopK. Max是在本研究所使用的基于长短时记忆循环神经网络模型基础上加入最大池化操作来进行有效特征抽取,TopK是在本研究所使用基于长短时记忆的循环神经网络模型的基础上加入TopK池化操作. 在实验中,分别取K=2和K=3. 本方法采用基于主实体位置的分段最大池化操作. 图7给出了实验结果.

图6 双向循环网络以及长短时记忆的有效性Fig.6 The effectiveness of the Bi-LSTM

图7 基于主实体位置的分段最大池化的有效性Fig.7 Effectiveness of the segment-based max-pooling

从结果可以看出,基于主实体位置的分段最大池化操作性能要明显优于传统池化操作. 这说明本方法能够从问句文本中抽取有效特征. 其原因是通过基于主实体位置的分段最大池化能够一定程度上动态地获取问句的结构信息,同时相对于传统最大池化能够尽可能保留有效信息.

5 结语

自动客服系统中用户问题文本语义分析的核心任务是识别问句文本中所蕴含的语义关系. 针对这一任务,本研究给出一种基于双向长短时记忆循环神经网络的问题语义学习方法. 这一方法相对于传统问题分析方法在特征提取过程中,能有效避免对自然语言处理工具的过分依赖,能自动从词中直接学出问句的语义表示. 其中通过双向循环神经网络以及长短时记忆模块可改善循环神经网络对文本语义学习所带来的“梯度弥散”问题. 通过在电力领域客服系统的实际数据上测试比较,证明了本方法的有效性.

[1] ENDRICKX I, KIM S N, KOZAREVA Z,etal. Semeval-2010 task 8: multi-way classification of semantic relations between pairs of nominal[C]// Proceedings of the 5th International Workshop on Semantic Evaluation. [S.l.]: SemEval, 2010: 33-38.

[2] ZENG D, LIU K, LAI S,etal. Relation classification via convolutional deep neural network[C]//Proceedings of COLING. Dublin: [s.n.], 2014: 23-29.

[3] SUCHANEK F M, IFRIM G, WEIKUM G. Combining linguistic and statistical analysis to extract relations from web documents[C]//Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2006: 712-717.

[4] KAMBHATLA N. Combining lexical, syntactic, and semantic features with maximum entropy models for extracting relations[C]//Proceedings of the ACL 2004 on Interactive Poster and Demonstration Sessions. Stroudsburg: Association for Computational Linguistics, 2004.

[5] ZHOU G D, SU J, ZHANG J,etal. Exploring various knowledge in relation extraction[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics. Stroudsburg: Association for Computing Machinery, 2005: 427-434.

[6] CAI L, ZHOU G, LIU K,etal. Learning to classify questions in CQA by leveraging wkipedia semantic knowledge[C]// Proceedings of CIKM. New York: ACM,2011: 1321-1330.

[7] ZHAO S, GRISHMAN R. Extracting relations with integrated information using kernel methods[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2005: 419-426.

[8] WANG T, LI Y, BONTCHEVA K,etal. Automatic extraction of hierarchical relations from text[C]//Proceedings of the 3rd European Conference on the Semantic Web: Research and Applications. Berlin: [s.n.], 2006: 215-229.

[9] JIANG J, ZHAI C. A systematic exploration of the feature space for relation extraction[C]//Proceedings of Human Language Technologies 2007 and the North American Chapter of the Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2007: 113-120.

[10] ZELENKO D, AONE C, RICHARDELLA A. Kernel methods for relation extraction[J]. The Journal of Machine Learning Research, 2003(3): 1083-1106.

[11] CULOTTA A,SORENSEN J. Dependency tree kernels for relation extraction[C]//Proceedings of the 42nd Annual Meeting on Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2004.

[12] BUNESCU R C, MOONEY R J. A shortest path dependency kernel for relation extraction[C]//Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing. Stroudsburg: Association for Computational Linguistics, 2005: 724-731.

[13] HUBEL D H, WIESEL T N. Receptive fields, binocular interaction and functional architecture in the cat’s visual cortex[J]. The Journal of Physiology, 1962, 160(1): 106-154.

[14] ZHANG M, ZHANG J, SU J,etal. A composite kernel to extract relations between entities with both flat and structured features[C]//Proceedings of the 21st International Conference on Computational Linguistics and the 44th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2006: 825-832.

[15] ZHOU G, ZHANG M, JI D,etal. Tree kernel-based relation extraction with context-sensitive structured parse tree information[C]//Proceedings of the Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Stroudsburg: Association for Computational Linguistics, 2007: 728-736.

[16] SOCHER R, HUVAL B, MANNING C D,etal. Semantic compositionality through recursive matrix-vector spaces[C]//Proceedings of the Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Stroudsburg: Association for Computational Linguistics,2012: 1201-1211.

[17] XU Y, MOU L, LI G,etal. Classifying relations via long short term memory networks along shortest dependency paths[C]// Proceedings of EMNLP. Lisbon: [s.n.], 2005: 1785-1794.

[18] 胡新辰. 基于LSTM的语义关系分类研究[D]. 哈尔滨: 哈尔滨工业大学,2015.

[19] Elman J L. Finding structure in time[J]. Cognitive Science, 1990, 14(2): 179-211.

[20] Bottou L. Stochastic gradient learning in neural networks[C]//Proceedings of Neuro-Nmes. Nimes: EC2, 1991.

猜你喜欢

短时记忆池化语义
基于Sobel算子的池化算法设计
基于非稳态调和分析和长短时记忆神经网络的河口潮位短期预报混合模型
基于长短时记忆神经网络的动力电池剩余容量预测方法
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
语言与语义
基于卷积神经网络和池化算法的表情识别研究
“上”与“下”语义的不对称性及其认知阐释
短时记忆理论的影响
认知范畴模糊与语义模糊