跳到正文

第6章笔记:句法分析

课程笔记

从CFG、CKY和PCFG走到依存、转移系统、歧义与树库评价。

关联:章节 第6章 句法分析

第6章笔记:句法分析

本章任务

从CFG、CKY和PCFG走到依存、转移系统、歧义与树库评价。 先用一条能人工判断的短文本、标签序列、语法树或检索集合建立基准,再让代码输出完整中间证据,最后在真实语料、困难语言切片和生产约束下验收。

七节连接

  • 上下文无关文法与推导:CFG用非终结符规则生成层次结构,能表达递归嵌套;文法覆盖与歧义由规则集合决定。 核心关系:G=(N,Sigma,R,S),parse derives sentence from start symbol。 算例:S→NP VP、NP→N、VP→V NP可推导“N V N”。 边界:规则能生成句子就当语义正确;词法类别与终结符混用。
  • CKY句法分析:CKY对Chomsky范式文法在跨度图中组合子区间,时间O(n³|R|);需词法和一元规则处理。 核心关系:chart[i,j,A]=max/sum over splits and rules A→BC。 算例:长度3句子需考虑跨度1、2、3,并在长度2/3枚举切分。 边界:区间端点开闭不一致;空格子被默认为可达。
  • 概率CFG与树概率:PCFG为同一左部规则分配条件概率,树概率为所用规则概率乘积;独立假设忽略词汇上下文。 核心关系:P(tree)=product_r P(rule_r|lhs_r)。 算例:三条规则概率.5,.4,.2,树概率.04。 边界:规则行概率和不为1;用训练树最高频解释测试歧义。
  • 依存句法与弧结构:依存树直接连接词与中心词,需单根、连通、无环;项目性约束是否采用依语言/算法而定。 核心关系:tree with n tokens has n directed head arcs including root convention。 算例:4个词每个非根词恰有一个head,共3条词间依存弧。 边界:一个词有两个head;把标点去掉后索引未重映射。
  • 转移式依存分析:shift-reduce类解析器用栈、缓冲区和弧集合执行动作,动作合法性与oracle决定训练序列。 核心关系:state=(stack,buffer,arcs),action updates one state。 算例:初态栈ROOT、缓冲3词,连续SHIFT三次会把3词移入栈但尚无弧。 边界:模型预测非法动作仍执行;动态oracle与静态金动作混用不说明。
  • 句法歧义与重排序:附件、协调和省略产生多树;打分模型应比较全局候选并保存k-best/边缘概率用于不确定性。 核心关系:margin=score(best)-score(second)。 算例:最佳树分8.2、次佳8.0,margin=.2,歧义较高。 边界:只输出1-best不记录接近候选;用测试集挑重排特征。
  • 句法评价与树库域差异:成分用括号F1,依存用UAS/LAS;标点、tokenization、标签映射和域必须一致。 核心关系:LAS=correct head and relation/evaluated tokens。 算例:100词中90个head正确、80个head+relation正确,UAS90%、LAS80%。 边界:训练测试不同分词却硬对齐;忽略树库标注风格差异。

实验要求

运行本章两道Python语言算法实验的四组测试,并新增空文本、Unicode边界、未知词、非法标签、句法歧义、否定、长上下文、低资源语言、域外、证据冲突或提示注入中的至少一种。保存原文hash/offset、Tokenizer、数据与模型版本、随机种子、中间格表/结构/概率、输出、证据和首个偏差。

错题闭环

按字符/token/offset、规范化、概率分母、动态规划状态、标签约束、句法结构、语义作用域、训练测试泄漏、检索召回、引用蕴含、校准、隐私和工具授权分类。更换一个词频、上下文、标签、阈值、候选数、语言或证据版本重做阶段卷;能先预测变化方向,再复算并解释失效,才算掌握。