1、基于 Bi-LSTM-CRF 网络的语义槽识别 徐梓翔 车万翔 刘挺 哈尔滨工业大学计算机科学与技术学院 摘 要: 自然语言理解任务的主要目标是运用自然语言处理的相关方法, 对用户发出的语句进行解析, 转化成结构化的语义表示。本文重点研究了基于语义槽抽取的自然语言理解方法。在基于语义槽抽取的自然语言理解任务中, 任务的输入是用户的指令型语句, 输出为指令的语义槽实体标注序列, 如出发日期、出发地点等, 故可将语义槽抽取任务看作类似于命名实体识别任务, 以序列标注任务的方法解决。本文研究提出了基于 Bi-LSTM-CRF 模型的语义槽抽取方法, 在英文语料 ATIS 上进行了实验。实验结果表明,
2、 基于 Bi-LSTM-CRF 网络的方法相比于传统机器学习的基准方法, 结果得到了大幅度的提升。对于模型识别的结果, 研究中采用 F1 值进行评价。关键词: 语义槽抽取; 自然语言理解; Bi-LSTM-CRF 网络; 作者简介:徐梓翔 (1993-) , 男, 硕士研究生, 主要研究方向:自然语言处理;作者简介:车万翔 (1980-) , 男, 博士, 副教授, 博士生导师, 主要研究方向:自然语言处理;作者简介:刘挺 (1972-) , 男, 博士, 教授, 博士生导师, 主要研究方向:自然语言处理、信息检索、社会计算等。收稿日期:2017-06-13Slot filling based
3、 on Bi-LSTM-CRFXU Zixiang CHE Wanxiang LIU Ting School of Computer Science and Technology, Harbin Institute of Technology; Abstract: The main purpose of natural language understanding is to transform natural language to structural representation.One of the methods of natural language understanding i
4、s slot filling. In the slot filling task, the input is natural language and the output is slots which is pre-defined based on the specified intent, such as from location, to location in flight intent. So the paper treats slot filling task as sequence labeling task, then makes experiments with Bi-LST
5、M-CRF model on slot filling task. The result shows that Bi-LSTM-CRF model has the significant improvement comparing with traditional statistical methods like CRF. Concretely, F1 is used to evaluate the model results.Keyword: slot filling; natural language understanding; Bi-LSTM-CRF; Received: 2017-0
6、6-130 引言随着人工智能浪潮的兴起, 智能聊天机器人成为人们研究的热门, 人们希望机器像人一样思考, 与人类对话, 并成为人类的帮手。完成这些的首要工作是语义理解。通过语义理解, 可以使聊天机器人清晰理解人们的意图, 并成为人类的助手, 帮助人们做一系列事情, 如订机票、查询天气等等。任务的主要目标是:运用自然语言处理的相关方法, 对用户发出的命令型语句进行识别和解析, 转化成结构化的语义表示, 并执行相应命令。图 1 就是对用户发出的命令型语句进行解析和执行的方法流程。用户发出的指令型语句主要可提炼表述为如下特点:1) 属于某一个具体的指令领域, 例如出行类、音乐类。2) 具有指令型特点
7、, 即有具体的指令行为或者目的。例子如下:(1) 出行-交通-机票类:帮助查询一下明天从北京去上海的机票。(2) 娱乐-音乐类:播放周杰伦的歌曲。(3) 生活类:明天早上 8 点叫醒我。本文的目标是从这些指令型的语句中, 解析出语义结构, 从而能够正确执行指令。主要的思路如下:步骤 1 定义指令的领域, 为每个领域定义语义槽。即如表 1 所示, 可以定义如下领域。图 1 命令解析和执行方法流程 Fig.1 Pipeline of command understanding and action 下载原图表 1 领域定义 Tab.1 Intent definition 下载原表 对于机票领域,
8、可以定义如表 2 所示的语义槽。表 2 机票领域的语义槽定义 Tab.2 Slot definition of flight intent 下载原表 步骤 2 将一句话分配到具体的领域中。该步骤中, 可以使用分类等方法。步骤 3 运用机器学习的方法, 抽取出该句指令的语义槽。具体事例如表 3 所示, 对于句子帮我查询一下明天从北京到上海的南方航空的机票, 语义槽的抽取结果为:slots:“from_date”:“明天”, “from_city”:“北京”, “to_city”:“上海”, “airline”:“南方航空”。表 3 机票领域语义槽抽取结果 Tab.3 Slot filling r
9、esult of flight intent 下载原表 步骤 4 根据已有的语义槽, 执行相应的指令。本文主要的研究任务是步骤 3 中抽取语义槽的工作。1 基于语义槽抽取的语义理解在基于语义槽抽取的语义理解研究中, 最主要的任务是识别用户指令中的槽信息。例如, 对于用户输入的自然语言指令:帮我查询一下明天从北京到上海的机票。所对应的语义槽信息为:from_date:明天, from_city:北京, to_city:上海。如前文所述, 可以将其视为序列标注任务。这里, 选用序列标注任务中经典的BIO 标记法, 对于该例, 则可以将原句子分词后进行标注, 标注如表 4 所示。表 4 语义槽标注方
10、法 Tab.4 Annotation of slots 下载原表 所以, 识别槽的任务便可以传化成序列标注的任务。形式化地讲, 在语义槽标注任务中, 任务的输入是经过分词后的句子 L, 输出是每个词的槽类型 S。在统计学模型中, 该任务通常被建模为:给定词序列 L, 任务的目标是寻找一种槽标注 S, 使得后验概率 P (S|L) 最大。使用贝叶斯公式, 就可以得到:目标函数即被转换为, 给定 L 和 S 时, 最大化联合概率 P (L|S) P (S) =P (L, S) 。2 基于 Bi-LSTM-CRF 网络的语义槽抽取方法长短期记忆神经网络 (Long Short Term Memory
11、, LSTM) 是一种循环神经网络 (Recurrent Neural Networks, RNN) 的特殊类型, 可以学习长期依赖信息。比起传统的循环神经网络, 主要有两个改动的部分。其一, 是引入了 cell 细胞;其二, 是加入了 gate 的机制。LSTM 中, 一个单元的简图即如图 2 所示。在 t 时刻, 每个门的形式化表示是:图 2 LSTM 单元模型结构 Fig.2 LSTM cell 下载原图Input Gate 是输入门, 输入的参数是当前位置的输入信息和上一个隐层神经元传过来的信息, 其作用就是用来决定输入信息, 留下需要的, 削减没用的。Forget Gate 是遗忘门
12、, 这是用来决定上一层的隐层神经元传过来的信息需要保留多少, 需要删除多少。Output Gate 是输出门, 用来决定最后生成的输出信息哪些重要, 哪些不重要。从上面的描述可以看到, 对于之前传统的 RNN, 因为这个模型共享一套参数, 因此不能决定哪个位置的信息更重要, 哪个位置的信息不重要, 所以在学习的时候比较困难, 而 LSTM 引入了这种机制之后就能够更容易保留研究所需要的重要信息。而且能够在一定程度上消减了梯度消失的问题。本文最终采用的模型结构示意如图 3 所示。图 3 Bi-LSTM-CRF 模型结构 Fig.3 Bi-direction LSTM-CRF structure
13、下载原图在 LSTM 模型的基础上, 本文采用了双向 LSTM 和 CRF 层结构, 如图 3 所示。对其可得阐释解析如下。1) 使用双向 LSTM。在序列标注任务中, 通常需要同时考虑历史和未来的上下文信息。然而, LSTM 的隐层单元只记录了历史信息, 对于未来信息一无所知, 双向 LSTM 模型可用来解决该问题。Bi-LSTM 的基本思想是, 使用两个 LSTM 模型, 一个模型的输入是序列从左往右的顺序, 另一个模型的输入是序列从右往左的顺序。最后, 将两个 LSTM 模型的隐层单元输出进行拼接, 作为整体网络隐层的输出。2) 引入 CRF 层。根据已有研究, 可以将神经网络结构作为特
14、征抽取器, CRF 作为外层解码结构, 来利用 CRF 对序列建模的能力。模型的目标函数与 CRF 相同, 只不过模型的特征 hm (st-1, st, l0) 是通过 RNN 网络结构学习得到。为此, 可以把特征分为标签间的转移特征 hp (st-1, st) 和标签特征 hq (st, l0) , 通过RNN 网络学习这两类特征。于是 CRF 的目标函数可改写成:在传统 CRF 中, 特征 hm (st-1, st, l0) 通常是 0-1 的离散值, 所以需要学习的目标是权重 m。而在神经网络结构中 hq (st, l0) 可以是连续的值, 通过反向传播进行更新。3 评价指标与实验结果3
15、.1 实验语料准备本文使用 ATIS 语料作为实验的数据集。该数据集存储的都是英文机票语料。这个数据集包括了 128 种不同的标签, ATIS-2 和 ATIS-3 的 4 978 句选作训练语料, 随机抽取其中 80%共 3 983 句作为训练集, 剩下 20%共 995 句作为开发集;同时, 使用 ATIS-3 Nov93 和 Dec94 数据集的 893 句作为测试集。3.2 评价指标本实验采用准确率 P (Precision) 、召回率 R (Recall) 以及 F1 值对模型的性能进行评价。3 个评价指标的定义如下:3.3 实验结果与分析本文使用 CRF 模型作为实验的 basel
16、ine。利用 F1 值对 CRF、Bi-LSTM 和 Bi-LSTM-CRF 模型进行比较, 结果如表 5 所示。表 5 F1 值结果 Tab.5 F1 value results 下载原表 由 F1 值可以看出, 使用 Bi-LSTM 模型相比使用 CRF 的 baseline, 在开发集和测试集上, 结果都有显著提高;Bi-LSTM-CRF 的模型相比 Bi-LSTM 在开发集和测试集上结果都有一定提高, 在这几种方法中取得了最好的效果。最终展现即如图 4 所示。通过实验结果可以看出, Bi-LSTM 使用 CRF 相比使用 Viterbi Loss, 学习的收敛速度更快。图 4 中的 l
17、oss 进行了归一化处理。图 4 Bi-LSTM 和 Bi-LSTM-CRF 收敛效果比较 Fig.4 Convergence comparison between Bi-LSTM and Bi-LSTM-CRF 下载原图4 结束语自然语言理解任务的主要目标是运用自然语言处理的相关方法, 对用户发出的命令型语句进行解析和执行, 转化成结构化的语义表示, 并执行相应命令。本文重点研究了基于语义槽抽取的自然语言理解方法。在基于语义槽抽取的自然语言理解任务中, 任务的输入是用户的指令型语句, 输出为指令的语义槽实体标注序列, 如出发日期、出发地点等, 故可将语义槽抽取任务看作类似于命名实体识别任务,
18、 以序列标注任务的方法解决。本文探讨研发了基于 Bi-LSTM-CRF 模型的语义槽抽取方法, 并在英文语料 ATIS 上进行了实验。实验结果表明, 基于 Bi-LSTM-CRF 网络的方法相比于 CRF 的基准方法, 结果得到了大幅度的提升。参考文献1QUIRK C, MOONEY R, GALLEY M.Language to code:Learning semantic parsers for if-this-then-that recipesC/Proceedings of the 53rdAnnual Meeting of the Association for Computatio
19、nal Linguistics (ACL-15) .Beijing, China:ACL, 2015:878-888. 2LI Dong, LAPATA M.Language to logical form with neural attentionJ.ar Xiv preprint ar Xiv:1601.01280, 2016. 3WONG Y W, MOONEY R J.Learning for semantic parsing with statistical machine translationC/Proceedings of the main conference on Huma
20、n Language Technology Conference of the North American Chapter of the Association of Computational Linguistics.New York:ACM, 2006:439-446. 4WONGY W, MOONEY R J.Learning synchronous grammars for semantic parsing with lambda calculusC/Proceedings of the 45th Annual Meeting of the Association for Compu
21、tational Linguistics.Prague, Czech Republic:ACL, 2007, 45 (1) :960-967. 5MILLER S, STALLARD D, BOBROW R, et al.A fully statistical approach to natural language interfacesC/Proceedings of the 34th annual meeting on Association for Computational Linguistics.Santa Cruz, California:ACM, 1996:55-61. 6ZEL
22、LE J M, MOONEY R J.Learning to parse database queries using inductive logic programmingC/Proceedings of the thirteenth national conference on artificial intelligence.Portalnd, OR:AAAI, 1996:1050-1055. 7ARTZI Y, ZETTLEMOYER L.Bootstrapping semantic parsers from conversationsC/Proceedings of the confe
23、rence on empirical methods in natural language processing.Edinburgh, United Kingdom:ACM, 2011:421-432. 8ZETTLEMOYER L S, COLLINS M.Learning to map sentences to logical form:Structured classification with probabilistic categorial grammarsJ.ar Xiv preprint ar Xiv:1207.1420, 2012. 9ZETTLEMOYER L S, COL
24、LINS M.Online learning of relaxed CCG grammars for parsing to logical formC/Proceedings of the 2007Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning.Prague, Czech Republic:DBLP, 2007:678-687. 10ZETTLEMOYER L S, COLLINS M.Learning context-dependent mappings from sentences to logical formC/Proceedings of the Joint Conference of the 47thAnnual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP:Volume 2-Volume 2.Suntec, Singapore:ACM, 2009:976-984.