原文链接:链接,要翻墙
在NLP被Deep learning占领之前,它都在一些传统任务上有缓慢但是平稳的发展。例如POS tagging词性标注,syntactic parsing句法分析,entity linking实体链接,semantic parsing语义解析。
深度学习对于这些任务并不一定有更好的性能,但是确实更简单了。例如在过去,为了训练一个parser,需要构造百万级的特征,但是现在只需要word embedding,把剩下的交给神经网络即可。
为什么deep learning已经在图像和语音方面取得了很好的结果,但是NLP上却这么困难。主要在自然语言理解有两个很基础的东西:priors and structures
我们的大脑是怎么从少量信息获得有用信息的,我们的大脑从稀疏的、嘈杂和模棱两可的输入数据中构建有用的模型并且生成有用信息。大脑是如何做到的,答案就是Bayesian inference贝叶斯推断,这种推断依赖于innate priors先天先验,大脑的不断进化发展。
先验是重要的,但是更重要的是自然语言的recursive structure,例如“Jordan 7 day weather forecast”符合“weather forecasting” semantic frame,包括了一个位置参数和时间长度,如果算法可以捕获这种结构,就可以减少歧义。目前state-of-the-art的web search和QA/conversation application,手动构造的模板用于捕获输入中的结构信息,可以在inferencing中减少错误。
The power of aggregation
在一些应用中,并不依赖于NLP去理解单个语句的意义,而是处理大量数据集,然后将他们的结果aggregate去支持应用。
1. Sentiment Analysis,特别是aspect-oriented,深入dl技术之后,我们理解了,有一些时候我们不能捕获情感是因为我们不理解自然语言的特定表达。
2. Summarization,有两类:extractive和abstractive。extractive是将文章中的一些句子挑选出来,abstractive是生成新句子。第一种方法单纯使用统计方法,第二种方法不能产生很好的结果。
3. Knowledge bases,依赖于information extraction(IE)的聚合结果,电商和医疗这两个工业领域,用户可以通过关键字搜索,但是不支持query句子,例如how to fight insomnia
4. Search,semantic matching,因为有一些用户特有的表达方式。
5. Education,帮助用户更好的学习某个语言,例如DeepGrammar
目前QA和chatbots效果比较好,并不是理解自然语言,而是使用了大量的handcrafted templates
In fact, if we treat i) database schema, ii) database statistics, and iii) equivalent ways of mentioning database attributes and values in natural languages, as metadata that can be injected into QA and the conversational AI, then it is possible to create one system for different customer service needs.
如果缺少训练数据是NLP领域的瓶颈,为什么不尝试增加明确的领域知识到机器学习算法中?
网友评论