1 上下文无关文法
不考虑被分析语句的上下文关系。把当前短语独立上下文环境分析。这并不总是合理的,但这是最容易理解和实现的方法。
1.1 句法结构分析
1.1.1 完全句法分析
考虑语句成分的”主谓宾定状补”定义,不同词组合形成句子的基本功能单位,这些基本单位再组合成完整的句子,也就是说。语句并不是词语的随意组合。 其受到句法约束。符合句法的字符串才是合法的语言。同时写作的文本,我们说的语言,也是按照句法约束生成的字符串。
一般来说,实词(表示实际意义的词,例:动词,名词,形容词等)表示短语的语义实体和其关系,这是语句的主干。而虚词(无实际意义的词语,例如叹词,助词,副词等)支撑句法结构。
中文的基本功能单位多可独立短语,并做为基本单元组合成更长的语句。例如: 主谓短语, 动宾短语等。而这些基本单元是语句的语义对象,例如常见的”主谓宾语句”, 主语表示施事主体,谓语表示动作行为。而宾语表示受事对象。
在上下文无关语法中,词语对应的符号成为终极符号。终极符号和非终极符号聚合的上层符号称为非终极符号(词类, xx短语)就是非终极符号,树结构最终都要归结到“句子”这个根符号。 在语法规则中 每个非终极符号可映射到多个终极或非终极符号的有序表,其表示某种概括或聚合。这是句法树结构的”基本成份”。如上图:
终极符号:\( \Sigma = \{老师,被,迟到,的,学生,逗乐,了, 汽车,开车,师傅,修好\} \)
非终极符号:\( N = \{句子,名词短语,动词短语,名词,介词短语,介词,的,动词,了\}\)
规则集合:\(P\), 每个规则 \(A \to \alpha\) A是非终极符号,\(\alpha\)是非终极和终极符号集合。例:
\[ P(句子 \to 名词短语, 动词短语) \\
P(介词短语 \to 介词, 名词短语) \\
\vdots \]
规则总是从”句子”这个非终极符号开始。
下面这个例子来自CTB语料。这是用括号嵌套表示的树形结构。这是一个假设关系句子。
(INC (CP-CND (ADVP (CS 如果)) (CP (IP (NP-SBJ (PN 我)) (VP (VV 要) (VP (VV 做) (NP-PN-OBJ (NR 无极)))) (SP 的话)))) (PU 。))) |
各非终极符号如下:
词类标记:
CS: 从属连词“如果,即使”
PN: 代词
VV: 动词
SP: 句尾小品词
PU: 符号
句法标记:
INC: 非完整语句
CP: 由‘的’构成的表示修饰性关系的短语
ADVP: 副词短语
IP: 简单从句
NP: 名词短语
VP: 动词短语
功能标记:
CND: 条件
SBJ: 主语
OBJ: 直接宾语
句法结构分析并不完美,有些短语并不便于结构分析。但这是一个好的开始。
1.1.2 浅层句法分析
完全句法分析的结果是树形结构成份树, 准确率很低,并且,在网络语言和日常聊天这种非正式文本中(特别是口语对话)。完全句法分析准确率更低,很多口语不合文法,此时放弃深层的文法分析,只分析词组成份(语块)之间的关系,假设句子只有一层的句法成份(完全句法分析是多层树结构, 浅层分析得到只有一层句法成份的树)。在此定义下,也便于使用条件随机场这类算法作为序列标注,标注每个词语和词类隶属的句法成份。例:
(NP-SBJ (PN 我)) (VV 要做) (NP-PN-OBJ (NR 无极)) |
上例中分为三个语块,名词语块,动词语块,谓词关系,标注角色. 这方便使用序列标注算法,标注方法和命名实体识别相同,只是更换标签为语块类型和其开始结束标志。
1.1.3 基于词汇的句法依存分析
在句法结构分析中,按照划语块和其上层关系作为基本成份组合句法。但是这并不利于语义分析, 因有时成份和语义词汇并不连续出现。基于词汇范畴的中心词和依存词和其关系更符合语义。直接以词汇之间的关系(可跨远距离)为分析目的。其分析结果也是树形结构,但不限制基本成份必须为连续符号。
1.2 句法分析评估
1.2.1 ParsEval
Black et al. 1991
评估包含: 精度,召回,F值, 交叉括号。以基本句法成份为统计单位。终结符并不计算到句法分析评估中。原因是输入句法分析器的语料已经标注词类。所以这里只评估非终结符组成的基本句法成份。
以下是英文句法评估过程:
(S (NP-s(PNP(PNP Miss) (PNP Xydis))) (VP(VPAST was) (ADJP(ADJ best))) (S(COMP(WIIADVP(WIIADV when))) (ie-s (PRO she)) (VP ((VPAST did) (NEG not) (V need)) (VP((X to) (V be)) (ADJP(ADV too) (ADJ probing)))))) (?(FIN .)) |
ParEval算法示例:
预处理:
第一步(可选,目的,消除语言差异,在中文场景中,部分语法成份删除可以忽略, 同时在口语中是没有标点符号的,所以为了评价统一,需要删除标点符号成分):
删除 助动词(无词义) 助动词 又称为能愿动词,主要在动词前面起辅助作用, 偶尔能单独作为谓语
删除 not
删除 不定词前面的to
删除 未标记词类的词
删除 所有格结结尾的 ‘s 和 ‘
删除 所有词语外的标点符号
(S(NP-s(PNP(PNP Miss) (PNP Xydis))) (VP(VPAST was) (ADJP(ADJ best))) (S(COMP(WIIADVP(WIIADV when))) (NP-s (PRO she)) (VP((VPAST) (NEG) (V need)) (VP((X) (V be)) (ADJP(ADV too) (ADJ probing)))))) (?(FIN)) |
第二步:
递归删除所有括号中只有单个词语或单个成分的标注(实际上这里清除了所有词类标记)。
删除所有空成分。
(S(NP-s Miss Xydis) (VP was best) (S when she (VP need (V be (ADJP too probing))))) |
第三步:
计算精度,召回,F-score: 参考上图演示,通过gold样本对比计算。具有相同起点终点和相同的非终结标记计算为一个正确成分。
在括号内有括号位置和gold不一样,表示交叉括号。例: Gold为((A,B),C), 但是待评估样本为(A,(B,C))计算为一个交叉括号。
1.2.2 Leaf-Ancestor Metric
Sampson & Barbarczy, 2003, 这是更为直观的评估方法,比较候选句法分析的每个终极符号的所有父成分标记是否和gold相同,以此实现评估,在这个评估方法中没有了交叉括号项目。在评估之前需要做与ParsEval相同的预处理。
(99G) [S [N1 two [N1 tax revision ] bills ] were passed ] (99C) [S [NP two tax revision bills ] were passed ] |
“nG” 是gold-standard分析。nC是候选分析。
two N1 [ S : NP [ S tax [ N1 N1 S : NP S revision N1 ] N1 S : NP S bills N1 ] S : NP ] S were S : S passed S ] : S ] |
在评估时。终极符号和顺序是相同的,只需检测每个终极符号对应的所有父成分是否等同黄金标准。即可估算精度和召回等值。
ParsEval或LA方法,均不计算标点符号,这是考虑到口语和书面印刷的差异(口语没标点符号)。
参考:
- Daniel Jurafsky, James H. Martin : Speech and Language Processing
- Parser Evaluation Dept. of Linguistics, Indiana University
Fall 2015
- A Procedure for Quantitatively Comparing the Syntactic
Coverage of English Grammars - A test of the leaf-ancestor metric for parse accuracy
Leave a Reply