自然语言理解-从规则到深度学习

2017 年 8 月 22 日 机器学习研究会

摘要:自然语言理解是人工智能的核心难题之一,也是目前智能语音交互和人机对话的核心难题。之前写过一篇文章自然语言理解,介绍了当时NLU的系统方案,感兴趣的可以再翻一番,里面介绍过的一些内容不再赘述。本文详细讨论了自然语言理解的难点,并进一步针对自然语言理解的两个核心问题,详细介绍了规则方法和深度学习的应用。


引言

自然语言理解是人工智能的核心难题之一,也是目前智能语音交互和人机对话的核心难题。维基百科有如下描述[1]:


Natural language understanding (NLU) is a subtopic of natural language processing in artificial intelligence thatdeals with machine reading comprehension. NLU is considered an AI-hard problem.


对于AI-hard的解释如下:


In the field of artificial intelligence, the most difficult problems are informally known as AI-complete or AI-hard,implying that the difficulty of these computational problems is equivalent to that of solving the central artificial intelligence problem—making computers as intelligent as people, or strong AI.


简言之,什么时候自然语言能被机器很好的理解了,strong AI也就实现了~~


之前写过一篇文章自然语言理解,介绍了当时NLU的系统实现方案,感兴趣的可以再翻一番,里面介绍过的一些内容不再赘述。那篇文章写于2015年底,过去一年多,技术进展非常快,我们的算法也进行了大量升级,核心模块全部升级到深度学习方案。本文主要结合NUI平台中自然语言理解的具体实现,详细的、系统的介绍意图分类和属性抽取两个核心算法。如下图所示,第一个框中是意图分类,第二个框中是属性抽取。



对于整个NUI平台的介绍可以参考孙健/千诀写的从“连接”到“交互”—阿里巴巴智能对话交互实践及思考。

自然语言理解的难点

为什么自然语言理解很难?本质原因是语言本身的复杂性。自然语言尤其是智能语音交互中的自然语言,有如下的5个难点:


1. 语言的多样性


一方面,自然语言不完全是有规律的,有一定规律,也有很多例外;另一方面,自然语言是可以组合的,字到词,词到短语,短语到从句、句子,句子到篇章,这种组合性使得语言可以表达复杂的意思。以上两方面共同导致了语言的多样性,即同一个意思可以有多种不同的表达方式,比如:


  • 我要听大王叫我来巡山

  • 给我播大王叫我来巡山

  • 我想听歌大王叫我来巡山

  • 放首大王叫我来巡山

  • 给唱一首大王叫我来巡山

  • 放音乐大王叫我来巡山

  • 放首歌大王叫我来巡山

  • 给大爷来首大王叫我来巡山

2. 语言的歧义性


在缺少语境约束的情况下,语言有很大的歧义性,比如:



  • 我要去拉萨

  • 火车票?

  • 飞机票?

  • 音乐?

  • 还是查找景点?



3. 语言的鲁棒性


语言在输入的过程中,尤其是通过语音识别转录过来的文本,会存在多字、少字、错字、噪音等等问题,比如:


  • 错字 

  • 大王叫我来新山

  • 多字 

  • 大王叫让我来巡山

  • 少字 

  • 大王叫我巡山

  • 别称 

  • 熊大熊二(指熊出没)

  • 不连贯 

  • 我要看那个恩花千骨

  • 噪音 

  • 全家只有大王叫我去巡山咯


4. 语言的知识依赖


语言是对世界的符号化描述,语言天然连接着世界知识,比如:


  • 大鸭梨 

  • 除了表示水果,还可以表示餐厅名

  • 七天 

  • 除了表示时间,还可以表示酒店名

  • 总参 

  • 除了表示总参谋部,还可以表示餐厅名

  • 天气预报 

  • 还是一首歌名

  • 晚安

  • 这也是一首歌名


5. 语言的上下文


上下文的概念包括很多内容,比如:


  • 对话上下文

  • 设备上下文

  • 应用上下文

  • 用户画像

  • ...


U:买张火车票
A:请问你要去哪里?
U:宁夏  


这里的宁夏是指地理上的宁夏自治区


U:来首歌听

A:请问你想听什么歌?
U:宁夏  


这里的宁夏是指歌曲宁夏

意图分类的实现方法

意图分类是一种文本分类。主要的方法有:


  • 基于规则(rule-based)

  • CFG

  • JSGF

  • ……


  • 传统机器学习方法

  • SVM

  • ME

  • ……


  • 深度学习方法

  • CNN

  • RNN/LSTM

  • ……


3.1 基于规则的方法


这里重点介绍基于CFG的方法[2],该方法最早出现于CMU Phoenix System中,以下是一个飞机票领域的示例:



按照上面的文法,对于“从北京去杭州的飞机票”,可以展成如下的树:



3.2 基于传统统计的方法


我们在第一版的系统中,采用的基于SVM的方法,在特征工程上做了很多工作。第二版中切换到深度学习模型后,效果有很大提升,此处略过,直接介绍深度学习方法。


3.3 基于深度学习的方法


深度学习有两种典型的网络结构:

  • CNN(卷积神经网络)

  • RNN(循环神经网络)


基于这两种基本的网络结构,又可以衍生出多种变形。我们实验了以下几种典型的网络结构:


  • CNN [3]

  • LSTM [4]

  • RCNN [5]

  • C-LSTM [6]


从实验结果来看,简单的CNN的效果最好,其网络结构如下:



单纯的CNN分类效果无法超越复杂特征工程的SVM分类器,尤其是在像音乐、视频等大量依赖世界知识的领域中。比如怎么把如下的世界知识融入到网络中去:



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



转自:云栖社区

登录查看更多
7

相关内容

自然语言处理(N LP , Natural Language Processing)是使用自然语言同计算机进行通讯的技术, 因为处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解(NLU ,Natural Language Understanding), 也称为计算语言学(Computational Ling uistics)。一方面它是语言信息处理的一个分支 , 另一方面它是人工智能(AI , Artificial Intelligence)的核心课题之一 。
专知会员服务
199+阅读 · 2020年3月6日
机器翻译深度学习最新综述
专知会员服务
98+阅读 · 2020年2月20日
2019->2020必看的十篇「深度学习领域综述」论文
专知会员服务
270+阅读 · 2020年1月1日
深度学习自然语言处理综述,266篇参考文献
专知会员服务
229+阅读 · 2019年10月12日
基于RASA的task-orient对话系统解析(一)
AINLP
16+阅读 · 2019年8月27日
什么是自然语言理解(NLU)?及2019最新进展
产品100干货速递
17+阅读 · 2019年7月18日
一文看懂自然语言理解(NLU)
AINLP
26+阅读 · 2019年4月27日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
15+阅读 · 2019年2月22日
刘升平 | 基于知识图谱的人机对话系统
开放知识图谱
11+阅读 · 2018年10月24日
【深度学习】深度学习与神经科学相遇
产业智能官
9+阅读 · 2017年12月17日
赛尔译文 | 对话系统综述:新进展新前沿
哈工大SCIR
9+阅读 · 2017年11月17日
最全面的百度NLP自然语言处理技术解析
InfoQ
7+阅读 · 2017年11月12日
深度学习在 NLP 上的七大应用
AI前线
3+阅读 · 2017年10月11日
Arxiv
26+阅读 · 2019年3月5日
Arxiv
6+阅读 · 2018年11月29日
Arxiv
7+阅读 · 2018年11月6日
Arxiv
7+阅读 · 2018年6月8日
Arxiv
4+阅读 · 2018年3月23日
VIP会员
相关资讯
基于RASA的task-orient对话系统解析(一)
AINLP
16+阅读 · 2019年8月27日
什么是自然语言理解(NLU)?及2019最新进展
产品100干货速递
17+阅读 · 2019年7月18日
一文看懂自然语言理解(NLU)
AINLP
26+阅读 · 2019年4月27日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
15+阅读 · 2019年2月22日
刘升平 | 基于知识图谱的人机对话系统
开放知识图谱
11+阅读 · 2018年10月24日
【深度学习】深度学习与神经科学相遇
产业智能官
9+阅读 · 2017年12月17日
赛尔译文 | 对话系统综述:新进展新前沿
哈工大SCIR
9+阅读 · 2017年11月17日
最全面的百度NLP自然语言处理技术解析
InfoQ
7+阅读 · 2017年11月12日
深度学习在 NLP 上的七大应用
AI前线
3+阅读 · 2017年10月11日
相关论文
Top
微信扫码咨询专知VIP会员