Python与自然语言处理——句法分析
句法分析
句法分析是机器翻译的核心数据结构,是对语言进行深层次理解的基石。
句法分析简介
- 主要任务
识别句子中所包含的句法成分以及这些成分之间的关系,一般以句法树来表示句法分析的结果。 - 主要难点
- 歧义
- 搜索空间
- 句法分析分类
- 完全句法分析:企图获取整个句子的句法结构
- 部分句法分析:只关注局部的一些成分
- 相关方法
- 基于规则
- 存在着语法规则覆盖有限、系统可迁移差等缺陷
- 基于统计(主流)
- 基于规则
数据集与评测方法
数据集
与别的语言处理所需要的数据集不同,句法分析需要的是一种树形的标注结构,又称为树库,如下图所示:
最常使用的树库为美国宾夕法尼亚大学的英文宾州树库PTB,中文树库则包括CTB、TCT和台湾中研院树库。
评测方法
主要任务是评测句法分析生成的树结构与手工标记的树结构之间的相似性程度。
- 满意度:测试句法分析器是否适合或胜任某个特定的自然语言处理任务
- 效率:运行时间
主流的评测方法是PARSEVAL评测体系,主要考察准确率、召回率、交叉括号数。其中交叉括号表示分析得到的某一个短语的覆盖范围与标准句法分析结果的某个短语的覆盖范围存在交叉又不包含的关系,即构成一个交叉括号。
句法分析的常用方法
基于PCFG的句法分析
- PCFG基于概率的短语结构分析方法,是一种上下文无关文法的扩展
- PCFG处理的问题
- 计算分析树的概率值
- 若一个句子有多个分析树,依据概率进行排序
- 可用来进行句法排歧
- PCFG五元组表示 ( X , V , S , R , P ) \left( {X,V,S,R,P} \right) (X,V,S,R,P)
- X X X是一个有限词汇的集合(词典),其元素称为词汇或终结符
- V V V是一个有限标注的集合,称为非终结符
- S S S包含于 V V V,称为文法的开始符号