查看原文
其他

句法分析(syntactic parsing)在NLP领域的应用是怎样的?

2017-05-10 jiangfeng 机器学习算法与自然语言处理

句法分析(syntactic parsing)在NLP领域的应用是怎样的?

文章整理自郭江师兄问题回答(被收录于知乎编辑推荐)!已取得师兄授权!@jiangfeng  


原问题如下:

opinion extraction system,information retrieval system是如何通过syntactic parsing实现的?


解答如下:


这里面有两个问题:1. 在opinion extraction/IR中如何使用句法分析;

2. 句法分析在多大程度上对这两个任务有帮助(原题)。

由于我自己主要还是做句法分析本身,暂时很少做上层应用,所以简单谈谈我对应用的理解,抛砖引玉。


1  在opinion extraction/IR中如何使用句法分析。



举几个例子吧。
比如在opinion extraction中我们常常要抽取评价对象(aspect):
例:“知乎的内容质量很好”

这里 “很好” 形容的是 “内容质量”。通过依存句法分析,就可以抽取出对应的搭配。如下图:



(顺手插个广告,分析结果来自我们实验室的语言云:在线演示 |  语言云(语言技术平台云 LTP-Cloud)


再说说IR,以百度框计算为例。对于以下两个query:
Query 1: 谢霆锋的儿子是谁?
Query 2: 谢霆锋是谁的儿子?

这两个Query的bag-of-words完全一致,如果不考虑其语法结构,很难直接给用户返回正确的结果。


类似的例子还有很多。在这种情况下,通过句法分析,我们就能够知道用户询问的真正对象是什么。



推而广之,对Query进行更general的需求分析大都离不开描述对象的提取,很多时候句法结构非常关键,更是下一步语义分析的前提。


2 句法分析在多大程度上对这两个任务有帮助(原题)。


原问题很好,可以扩展出很多思考。在炼丹纪到来之前,也许我们可以给一个非常乐观的回答,比如60%。但是现如今,我们需要思虑再三。主要原因在于,RNN/LSTM等强大的时序模型(sequential modeling)能够在一定程度上刻画句子的隐含语法结构。


尽管我们暂时无法提供一个清晰的解释,但是它在很多任务上的确表现出非常promising的性能。


推荐一下车万翔老师前段时间写的一个简单的survey:哈工大车万翔:自然语言处理中的深度学习模型是否依赖于树结构?(google一下就有)


文中的一个性能对比能够说明问题:Tree-LSTM是基于句法结构之上的LSTM,Bi-LSTM则是简单的双向(left<->right)LSTM。


在很多任务上,Bi-LSTM都表现得比Tree-LSTM更好。



但是,这并不说明句法结构是没有用的,详细分析请参考上面提到的survey。


需要提及的是,句法分析目前的性能是防碍其实际应用的一个关键因素,尤其是在open-domain上。

目前在英文WSJ上的parsing性能最高能够做到94%,但是一旦跨领域,性能甚至跌到80%以下,是达不到实际应用标准的。而中文上parsing性能则更低。


致谢:

郭江师兄

推荐阅读文章:

深入浅出理解决策树算法(一)-核心思想

朴素贝叶斯分类实例-单词纠正问题

浅析神经网络中一点优化知识

带你搞懂朴素贝叶斯分类算法


近期文章预告:

《深入浅出讲解隐马尔科夫模型》

《深入浅出讲解支持向量机》

《深入浅出讲解最大熵模型》


全是通俗易懂的硬货!只需置顶~欢迎关注交流~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存