收藏 分享(赏)

句法分析前部分.ppt

上传人:天天快乐 文档编号:772949 上传时间:2018-04-22 格式:PPT 页数:33 大小:757KB
下载 相关 举报
句法分析前部分.ppt_第1页
第1页 / 共33页
句法分析前部分.ppt_第2页
第2页 / 共33页
句法分析前部分.ppt_第3页
第3页 / 共33页
句法分析前部分.ppt_第4页
第4页 / 共33页
句法分析前部分.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、第八章:句法分析,提纲:,概述短语结构分析线图分析法, 句法分析:是指对输入的单词序列(一般为句子)判断其构成是否合乎给定的语法,分析合乎语法的句子的句法结构句法分析的任务: 1)判断输入的字符串是否属于某种语言 2)消除输入句子中词法和结构等方面的歧义 3)分析输入句子的内部结构,如成分构成、上下文关系等类型: 短语结构分析 (Phrase parsing) 完全句法分析 (Full parsing) 局部句法分析 (Partial parsing) 依存句法分析 (Dependency parsing),8.1 概 述,句法形式化(grammar formalism)属于句法理论研究的范畴

2、常见的机遇约束的语法: 功能合一语法(functional unification grammar,FUG) 树连接语法 ( tree-adjoining grammar,TAG) 词汇功能语法(lexical-functional grammar,LFG) 广义的短语结构语法(genneralized phrase structure grammar,GPSG) 中心语驱动的短语结构语法(head-driven phase structure grammar,HPSG),8.1.2 语法形式化,句法分析方法分为:基于规则的分析方法和基于统计的分析方法基于规则的分析方法的基本思路:由人工组织语

3、法规则,建立语法知识库,通过条件约束和检查来实现句法结构的歧义的消除。基于规则的分析方法的主要优点:分析算法可以利用手工编写的语法规则分析输入的句子所有可能的句法结构;对于特定的领域和目的,利用手工编写的有针对性的规则能较好地处理句子中的部分歧义和一些超语法现象。基于规则的分析方法的缺陷:对于一个中等长度的输入句子来说,要利用大覆盖度的语法规则分析出所有可能的句子结构是非常困难的,分析过程的复杂性往往是程序无法实现;即使能够分析出句子所有可能的结构,也难以在巨大的句法分析结果集合中实现有效的消歧义,并选择出最有可能的结果。手工编写的规则一般带有一定的主观性,对于实际应用系统来说,往往难以覆盖大

4、领域的所有复杂语言 手工编写的规则本身是一件大工作量的复杂劳动,而且编写的规则对特定的领域有密切的相关性,不利于句法分析系统向其他领域移植。,8.1.3 基本方法, 句法分析的例子(参见前面第4章)他还提出一系列具体措施的政策要点。他/PN 还/AD 提出/VV 一/CD 系列/M 具体/JJ措施/NN 和/CC 政策/NN 要点/NN 。/PU,8.2 短语结构分析,( IP (NP-SBJ (PN 他 )(VP (ADVP (AD 还 )(VP (VV 提出 )(NP-OBJ(QP (CD 一)(CLP ( M 系列 )(NP (NP(ADJP ( JJ 具体)(NP (NN 措施)( C

5、C 和)( NP ( NN 政策 ) NN 要点 )( PU 。),8.2 短语结构分析,树状表示:,IP,NP,VP,PU,PN,ADVP,VP,。,他,AD,VV,NP,还,提出 QP,NP,CD CLP,NP,CC,NP,一 M ADJP NP 和 NN NN,系列 JJ,NN,政策 要点,具体 措施,8.2 短语结构分析,短语结构分析: 目标:实现高正确率、高鲁棒性(robustness)、 高速度的自动句法分析过程。 困难:自然语言中存在大量的复杂的结构歧义 (structural ambiguity)。,8.2 短语结构分析,结构歧义例如:(1) I saw a boy in th

6、e park. I saw a boy in the park. I saw a boy in the park.(2) I saw a boy in the park with a telescope.(3) I saw a boy swimming on the bridge.(4) 关于鲁迅的文章。(5) 把重要的书籍和手稿带走了。,8.2 短语结构分析,英语中的结构歧义随介词短语组合个数的增加而不断加深的,这个组合个数我们称之为开塔兰数(Catalan number,记作CN)。如果句子中存在这样 n (n为自然数)个介词短语,CN可由下式获得 Samuelsson, 2000:,8.

7、2 短语结构分析, 基本方法和开源的句法分析器: 基于CFG规则的分析方法: 线图分析法 (chart parsing) CYK 算法 Earley (厄尔利)算法 LR 算法 / Tomita 算法 Top-down: Depth-first/ Breadth-first Bottom-up,8.2 短语结构分析, 基于 PCFG 的分析方法PCFG: Probabilistic Context-Free Grammar(有时也写作 Stochastic CFG, SCFG) 其他统计模型 部分开源的句法分析器,8.2 短语结构分析,线图分析法 三种策略 自底向上 (Bottom-up) 从

8、上到下 (Top-down) 从上到下和从下到上结合,8.3 线图分析法,8.3 线图分析法,执行操作: 查看任意相邻几条边上的词性串是否与某条重写规则的右部相同,如果相同,则增加一条新的边跨越原来相应的边,新增加边上的标记为这条重写规则的头(左部)。重复这个过程,直到没有新的边产生。,8.3 线图分析法,点规则:用于表示规则右部被归约(reduce)的程度。 设有规则:NP Det A N NP Det N NP A N句子: The good book,8.3 线图分析法,点规则:用于表示规则右部被归约(reduce)的程度。设有规则:NP Det A N NP Det N NP A N

9、句子: The good book,8.3 线图分析法, 数据结构 线图(Chart):保存分析过程中已经建立的成分(包括终结符和非 终结符)、位置(包括起点和终点)。通常以 nn 的数组表示(n 为句子包含的词数)。 代理表(待处理表)(Agenda):记录刚刚得到的一些重写规则所代 表的成分,这些重写规则的右端符号串与输入词性 串(或短语标志串)中的一 段完全匹配,通常以栈 或线性队列表示。活动边集(ActiveArc):记录那些右端符号串与输入串的某一段相 匹配,但还未完全匹配的重写规则,通常以数组或 列表存储。,8.3 线图分析法,算法描述: 从输入串的起始位置到最后位置,循环执行如下

10、步骤: (1) 如果待处理表(Agenda)为空,则找到下一个位置上的词, 将该词对应的(所有)词类X 附以 (i, j) 作为元素放到待处 理表中,即X (i, j)。其中,i, j 分别是该词的起始位置和 终止位置,j i,j- i 为该词的长度。 (2) 从Agenda 中取出一个元素X(i, j)。 (3) 对于每条规则 A X ,将 AX (i, j) 加入活动边集ActiveArc 中,然后调用 扩展弧子程序。,8.3 线图分析法, 扩展弧子程序:(a) 将 X 插入图表(Chart)的 (i, j) 位置中。(b) 对于活动边集(ActiveArc)中每个位置为(k, i) (i

11、 k 1)的点 规则,如果该规则具有如下形式:A X , 如果A=S, 则 把 S(1, n+1) 加入到 Chart 中,并给出一个完整的分析结 果;否则,则将 A(k, j) 加入到Agenda表中。(c) 对于每个位置为(k, i) 的点规则:AX,则将 AX (k, j ) 加入到活动边集中。,8.3 线图分析法,8.3 线图分析法,8.3 线图分析法,8.3 线图分析法,8.3 线图分析法, 句子分析:,8.3 线图分析法, 句子分析:,8.3 线图分析法,最后分析结果:,8.3 线图分析法,算法的时间复杂度分析 设 n为输入句子的长度,C 为上下文无关文法中的非终结符的数目,S 为

12、点规则的状态数目(大于 CFG 规则的数目),显然 S C。因为 Agenda 表中的元素形式为X(i, j),因此, Agenda 表中最大的元素个数为:Cn2。,8.3 线图分析法,由于ActiveArc 中的元素形式为:A Xi, j,所以ActiveArc 表中最大的元素数目为:Sn2. Chart 表中的边的形式为:Ai, j,因此,Chart 表中最大的元素数目为:Cn2。 我们来考察算法中每一步执行的最大次数:,8.3 线图分析法,算法描述:从输入串的起始位置到最后位置,循环执行如下步骤:,(1)如果待处理表(Agenda)为空,则找到下一个位置上的词,将该词对应的(所有)词类X

13、 附以 (i, j) 作为元素放到待处理表中,即X (i, j)。其中,i, j 分别是该词的起始位置和终止位置,j i,j - i 为该词的长度。最多执行的次数为:C,(2) 从 Agenda 中取出一个元素X(i, j) 加入活动边集ActiveArc 中,最多执行的次数为:1,(3) 对于每条规则 A X ,将 AX (i, j) 加入活动边集ActiveArc 中,然后调用 扩展弧子程序。最多执行的次数为:Sn2,8.3 线图分析法, 扩展弧子程序:(a) 将 X 插入图表(Chart)的 (i, j) 位置最多执行的次数为:1(b) 对于活动边集(ActiveArc)中每个位置为(k

14、, i) (i k 1)的点 规则,如果该规则具有如下形式:A X , 如果A=S, 则 把 S(1, n+1) 加入到 Chart 中,并给出一个完整的分析结果; 否则,则将 A(k, j) 加入到Agenda表中。 最多执行的次数为:Sn2(c) 对于每个位置为(k, i) 的点规则:AX,则将AX (k, j ) 加入到活动边集中。最多执行的次数为:Sn2,8.3 线图分析法,每处理一个单词需要最多执行的最多操作次数为:C1Sn21Sn2Sn22C3Sn2由于算法对于长度为 n 的输入句子要执行 n 次循环,因此,Chart 算法最大执行的操作次数为:n(2C3Sn2)所以,Chart算法的时间复杂度为:,8.3 线图分析法, Chart parsing 算法评价 优点: 算法简单,容易实现,开发周期短。 弱点: 算法效率低,时间复杂度为 Kn3; 需要高质量的规则,分析结果与规则质量 密切相关; 难以区分歧义结构。,8.3 线图分析法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报