《自然语言理解-从规则到深度学习》阅读笔记

原文链接:https://yq.aliyun.com/articles/158691
作者:李永彬
发布时间:2017-08-04 10:53:48

本文主要结合NUI平台中自然语言理解的具体实现,详细的、系统的介绍意图分类和属性抽取两个核心算法。

自然语言理解的难点

  • 语言的多样性
    • 我要听大王叫我来巡山
    • 给我播大王叫我来巡山
    • 我想听歌大王叫我来巡山
    • 放首大王叫我来巡山
    • 给唱一首大王叫我来巡山
    • 放音乐大王叫我来巡山
    • 放首歌大王叫我来巡山
    • 给大爷来首大王叫我来巡山
  • 语言的歧义性
    • 我要去拉萨
      • 火车票?
      • 飞机票?
      • 音乐?
      • 还是查找景点?
  • 语言的鲁棒性
    • 错字:大王叫我来新山
    • 多字:大王叫让我来巡山
    • 少字:大王叫我巡山
    • 别称:熊大熊二(指熊出没)
    • 不连贯:我要看那个恩花千骨
    • 噪音:全家只有大王叫我去巡山咯
  • 语言的知识依赖
    • 大鸭梨:除了表示水果,还可以表示餐厅名
    • 七天:除了表示时间,还可以表示酒店名
    • 总参:除了表示总参谋部,还可以表示餐厅名
    • 天气预报:还是一首歌名
    • 晚安:这也是一首歌名
  • 语言的上下文
    • 对话上下文
    • 设备上下文
    • 应用上下文
    • 用户画像
    • ...

意图分类的实现方法
- 基于规则(rule-based)
- CFG
- JSGF
- ……
- 传统机器学习方法
- SVM
- ME
- ……
- 深度学习方法
- CNN
- RNN/LSTM
- ……

基于规则的方法(以基于CFG的方法的为例)

参考文献:Ward & Issar, CMU Phoenix System, 1996


从北京去杭州的飞机票

基于传统统计的方法(基于SVM的方法)

基于深度学习的方法,两种典型网络结构:

  • CNN(卷积神经网络)
  • RNN(循环神经网络)

几种衍生变型:

  • CNN (Yoon Kim, Neural Networks for Sentence Classification, EMNLP, 2014)
  • LSTM (Suman Ravuri and Andreas Stolcke, Recurrent Neural Network and LSTM Models for Lexical Utterance Classification, InterSpecch, 2015)
  • RCNN (Siwei Lai, Liheng Xu, Kang Liu, Jun Zhao, Recurrent Convolutional Neural Networks for Text Classification, AAAI, 2015)
  • C-LSTM (Chunting Zhou, Chonglin Sun, Zhiyuan Liu, Francis C.M. Lau, A C-LSTM Neural Network for Text Classification, arXiv, 2015)

单纯的CNN分类效果无法超越复杂特征工程的SVM分类器,尤其是在像音乐、视频等大量依赖世界知识的领域中。

深度学习在取得巨大成功后,慢慢开始显露出瓶颈,比如如何表示知识、存储知识,如何推理等。其中一个探索方向就是试图把联结主义和符号主义进行融合。纯粹的基于联结主义的神经网络的输入是distributed representation,把基于符号主义的symbolic representation融合到网络中,可以大大提高效果。

属性抽取的实现方法

  • 基于规则(rule-based)
    • Lexicon-based
    • CFG
    • JSGF
    • ……
  • 传统机器学习方法
    • HMM
    • CRF
    • ……
  • 深度学习方法
    • RNN/LSTM
    • ……

基于规则的方法

  • JSGF(JSpeech Grammar Format)

JSGF is a BNF-style, platform-independent, and vendor-independent textual representation of grammars for use in speech recognition.

示例

展开图

“帮我打开空调”匹配路径

基于传统统计的方法(基于CRF的方法)

基于深度学习的方法(Grégoire Mesnil, et. al, Using Recurrent Neural Networks for Slot Filling in Spoken Language Understanding, TASLP, 2015)

  • RNN
  • LSTM
  • Bi-LSTM
  • Bi-LSTM-Viterbi
  • Bi-LSTM-CRF

还有一些联合模型:

  • Xiaodong Zhang, HoufengWang, A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding, IJCAI, 2016
  • Bing Liu, Ian Lane, Joint Online Spoken Language Understanding and Language Modeling with Recurrent Neural Networks, arxiv, 2016

在实际的系统中,基于规则的方法和基于深度学习的方法并存。基于规则的方法主要用来快速解决问题,比如一些需要快速干预的BUG;基于深度学习的方法是系统的核心。

猜你喜欢

转载自www.cnblogs.com/CheeseZH/p/12022963.html
今日推荐