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

图灵汇官网

首先,我们来了解一下句子成分的定义:

[b]句子成分定义:[/b]

[list][b]百度百科定义:[/b]句子的组成部分称为句子成分,也称作句法成分。句子中的词语按照不同的关系组合在一起,形成不同的句子成分。这些成分由词语或短语构成。 [/list] [list][b]维基百科定义:[/b]基于短语结构语法(即构成语法)的分析树将节点分为终结符和非终结符。内部节点由语法中的非终结符标记,而叶节点则由终结符标记。 [/list] [list]句法结构分析指的是判断输入的单词序列(通常是句子)是否符合特定的语法规则,并分析出符合语法规则的句子结构。句法结构通常用树状数据结构表示,称为句法分析树或简称分析树。执行这种分析的程序模块被称为句法分析器。 [/list] [b]基本任务:[/b]

句法结构分析的主要任务包括: [list]识别输入字符串是否属于某种语言,消除输入句子中的词法和结构歧义,分析句子的结构,例如成分构成和上下文关系等。 [/list] 如果一个句子有多种结构表示,句法分析器应选择最有可能的结构。有时,句法结构分析也被称为语言或句子识别。

构建句法分析器需要考虑两个方面:语法的形式化表示和词条信息描述,以及分析算法的设计。当前,在自然语言处理领域广泛应用的是上下文无关文法(CFG)和基于约束的文法(又称合一语法)。

[b]主要方法:[/b]

句法结构分析主要有三种方法: [list]基于规则的方法:通过人工制定语法规则,建立语法知识库,利用条件约束和检查来消除句法歧义。 [/list] [list]基于统计的方法:统计句法分析中最成功的是基于概率上下文无关文法(PCFG或SCFG)。这种方法使用的模型主要包括词汇化的概率模型和非词汇化的概率模型。 [/list] [list]基于深度学习的方法:近年来,深度学习在自然语言处理基础任务中取得了显著成效,涌现了许多相关研究论文。 [/list] [b]短语结构和依存结构的关系:[/b]

短语结构树可以转换成依存关系树,但反过来却不行,因为一个依存关系树可能对应多个短语结构树。转换可以通过以下步骤实现: [list]定义中心词提取规则,生成中心词列表;根据中心词列表,为句法树中的每个节点选择中心子节点;在同一层内,将非中心子节点的中心词依存到中心子节点的中心词上,下一层的中心词依存到上一层的中心词上,从而得到相应的依存结构。 [/list] [b]推荐工具:[/b]

[b]Stanford CoreNLP:[/b]斯坦福大学提供的依存句法分析工具。

GitHub地址:https://github.com/Lynten/stanford-corenlp

官网:https://stanfordnlp.github.io/CoreNLP/

[b]Berkeley Parser:[/b]伯克利大学自然语言处理组开源的句法分析工具。

官方地址:http://nlp.cs.berkeley.edu/software.shtml

[b]SpaCy:[/b]工业级自然语言处理工具,但目前不支持中文。

GitHub地址:https://github.com/explosion/spaCy

官网:https://spacy.io/

参考文献: 1. 统计自然语言处理 2. 中文信息处理报告-2016

[b]更多个人笔记请关注:[/b]

[b]公众号:StudyForAI(小白人工智能入门学习)[/b]

[b]知乎专栏:https://www.zhihu.com/people/yuquanle/columns[/b]

本文来源: 图灵汇 文章作者: 机器人网mp