自然语言理解-句法分析算法(1)..
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
过程
The Shift-reduce Table and the parsing process
status 0 1 2 3 4 5 6 7 r4 s1 s1 s1 r2 s1 r1 r3 r2 r1 r3 m s1 s2 r4 r4 s7 s7 s7 r2 s7 r1 r3 acc r2 r1 r3 r4 5 6 6 6 3 3 3 3 q n s7 $ NP 4 MP 3
期望分析结果
Top-down
自顶向下的方法又称为基于预测的方法。 这种方法是先产生对后面将要出现的成分的预期,然 后再通过逐步吃进待分析的字符串来验证预期。 如果预期得到了证明,就说明待分析的字符串可以被 分析为所预期的句法结构。 如果某一个环节上预期出了差错,那就要用另外的预 期来替换(即回溯)。 如果所有环节上所有可能的预期都被吃进的待分析字 符串所“反驳”,那就说明待分析的字符串不可能是 一个合法的句子,分析失败。
n$ $ $
$ 0 NP 4
$ 0 acc
$
$
$ 0 NP 4
$ 0 acc
$
$
算法分析
类似深度优先搜索
如果改变备份栈顺序,可以实现其它搜索策 略。(agenda)
自底向上 复杂度为指数
思考:有没有办法变成多项式?(GLR)
CYK
组成部分
一张二维表,存储中间结果
从小的成分,逐渐计算到大的成分
3 NP MP. NP NP .NP NP NP .n NP .MP NP MP .m q
4 S’ NP. NP NP. NP NP .NP NP NP .n NP .MP NP MP .m q
2 MP m q.
前提条件
文法符合chomsky范式
文法只有两种形式: A B C 其中,A,B,C都为非终结符 A a 其中,a为终结符
算法数据结构
一个二维矩阵:{ M(i , j) }
句法分析算法
上海交通大学 陈玉泉
内容提要
概述 带回溯的LR 分析法 CYK Earley Chart Parsing
概述
程序设计语言分析算法
递归下降ቤተ መጻሕፍቲ ባይዱLL LR
特点
高效 排歧策略简单
First集 Follow集 算符优先级
自然语言文法的特点
歧义
歧义最大数量: 真歧义和伪歧义
咬死猎人的狗(v n 的 n) 建设公路的需要 (v n 的 n) 他和我的爸爸(r 和 r 的 n) 他和他的爸爸(r 和 r 的 n)
算法应该……
容纳歧义
允许二义文法 任何可能结果都应计算到 在多项式时间内得到结果 具备排序机制,启发式搜索策略
一
Top-down
NP NP m q 张 NP NP MP NP (s) MP m q NP n 票
(4) (1)
NP n 火车
NP NP NP
一
Bottom-up
自底向上的方法也叫基于归约的方法。 这种方法是先逐步吃进待分析字符串,把它们 从局部到整体层层归约为可能的成分。 如果整个待分析字符串被归约为开始符号S, 那么分析成功。 如果在某个局部证明不可能有任何从这里把整 个待分析字符串归约为句子的方案,那么就需 要回溯。 如果经过回溯始终无法将待分析字符串归约为 S,那么分析失败。
Bottom-up
m
一
q 张
n
火车
n 票
Bottom-up
MP
m
一
q 张
n
火车
n 票
Bottom-up
MP
NP q 张
m
一
n
火车
n 票
Bottom-up
MP
NP q 张
NP n 票
m
一
n
火车
Bottom-up
NP MP NP q 张 NP n 票
m
一
n
火车
Bottom-up
NP NP MP NP q 张 NP n 票
m
一
n
火车
带回溯的LR
组成部分
Shift-Reduce-Goto 表 分析栈 输入队列 引入备份状态,解决移进规约冲突
LR 分析表的构造
0 S’ .NP NP .NP NP NP .n NP .MP NP MP .m q
1 MP m. q
高效
一些算法
自顶向下 自底向上 带回溯的LR 分析法 CYK Earley Chart Parsing
使用的例子
输入:
一/m 张/q 火车/n 票/n
NP NP NP NP MP NP NP n MP m q (1) (2) (3) (4)
文法:
Top-down
NP MP NP NP MP NP (2)
Top-down
NP NP m q 张 NP NP MP NP (s) MP m q (4)
一
Top-down
NP NP m q 张 NP NP MP NP (s) MP m q NP
(4) (1)
NP
NP NP NP
(1) NP NP NP (2) NP MP NP
(3) NP n
(4) MP m q
Stack
Input Queue
Backup Status
$ 0 acc m 14 MP NP 3qNP n NP n 27 7 6 5 NP n 76
m$ q n $ n q$ n n$ n$
( $ 0 NP 4 ) ( n $ )
过程(cont.)
$0 $0m1 $0m1q2 mqnn$ qnn$ nn$
$ 0 MP 3
$ 0 MP 3 n 7 $ 0 MP 3 NP 5
nn$
n$ n$
$ 0 MP 3 NP 5 n 7 $ 0 MP 3 NP 5 NP 6 $ 0 MP 3 NP 5
$ $ $
$ 0 NP 4 $ 0 NP 4 n 7 $ 0 NP 4 NP 6
6 NP NP NP. NP NP. NP NP .NP NP NP .n NP .MP NP MP .m q
7 NP n.
5 NP MP NP. NP NP. NP NP .NP NP NP .n NP .MP NP MP .m q