自然语言处理基础技术之成分句法分析

声明:转载请注明出处,谢谢:https://www.jianshu.com/p/2bb4367f6e62
另外,更多实时更新的个人学习笔记分享,请关注:


知乎:https://www.zhihu.com/people/yuquanle/columns
公众号:StudyForAI
CSDN地址:http://blog.csdn.net/m0_37306360


首先依旧来查查它的定义:

  • 百度百科定义:句子的组成成分叫句子成分,也叫句法成分。在句子中,词与词之间有一定的组合关系,按照不同的关系,可以把句子分为不同的组成成分。句子成分由词或词组充当。

  • 维基百科定义:The constituency-based parse trees of constituency grammars (= phrase structure grammars) distinguish between terminal and non-terminal nodes. The interior nodes are labeled by non-terminal categories of the grammar, while the leaf nodes are labeled by terminal categories.

  • 句法结构分析是指对输入的单词序列(一般为句子)判断其构成是否合乎给定的语法,分析出合乎语法的句子的句法结构。句法结构一般用树状数据结构表示,通常称之为句法分析树(syntactic parsing tree)或简称分析树(parsing tree),而完成这种分析过程的程序模块称为句法结构分析器(syntactic parser),也简称分析器(parser)。

基本任务:

句法结构分析的基本任务主要有三个:

  • 判断输入的字符串是否属于某种语言
  • 消除输入句子中的词法和结构等方面的歧义
  • 分析输入句子的内部结构,如成分构成、上下文关系等。

如果一个句子有多种结构表示,句法分析器应该分析出该句子最有可能的结构。有时人们也把句法结构分析称为语言或句子识别。

一般构造一个句法分析器需要考虑二部分:语法的形式化表示和词条信息描述问题,分析算法的设计。目前在自然语言处理中广泛使用的是上下文无关文法(CFG)和基于约束的文法(又称合一语法)。

基本方法:

句法结构分析可以分为基于规则的分析方法、基于统计的分析方法以及近年来基于深度学习的方法。

  • 基于规则的分析方法:其基本思路是由人工组织语法规则,建立语法知识库,通过条件约束和检查来实现句法结构歧义的消除。
  • 基于统计的分析方法:统计句法分析中目前最成功当属基于概率上下文无关文法(PCFG或SCFG)。该方法采用的模型主要包括词汇化的概率模型(lexicalized probabilistic model)和非词汇化的概率模型(unlexicalized probabilistic model)两种。
  • 基于深度学习的分析方法:近几年深度学习在nlp基础任务取得了不错的效果,涌现出了大量的论文,等以后看完再写~~

短语结构和依存结构关系:

短语结构树可以被一一对应地转化成依存关系树,反过来则不然,因为一棵依存关系树可能对应多个短语结构树。转化方法可以通过如下实现:

  • 定义中心词抽取规则,产生中心词表;
  • 根据中心词表,为句法树中每个结点选择中心子结点;
  • 同一层内将非中心子结点的中心词依存到中心子结点的中心词上,下一层的中心词依存到上一层的中心词上,从而得到相应的依存结构。

推荐工具:

  • StanfordCoreNLP:斯坦福的,提供依存句法分析功能。
    Github地址:https://github.com/Lynten/stanford-corenlp
    官网:https://stanfordnlp.github.io/CoreNLP/
  • Berkeley Parser:伯克利大学nlp组开源的工具。提供英文的句法分析功能。
    官方地址:http://nlp.cs.berkeley.edu/software.shtml
  • SpaCy:工业级的自然语言处理工具,遗憾的是不支持中文。
    Gihub地址:https://github.com/explosion/spaCy
    官网:https://spacy.io/

你可能感兴趣的:(自然语言处理基础技术之成分句法分析)