自然语言处理基础(3)--自底向上的句法分析
来源:互联网 发布:网络电影市场 编辑:程序博客网 时间:2024/06/06 16:35
自底向上句法分析一般采用LR分析法,该刚发要求文法不包含移进--归约或者归约--归约冲突,由于自然语言的歧义性,不可避免的存在各种冲突,因此,自底向上分析法并不适合汉语句法分析
1.移进--归约算法
算法的基本数据结构是堆栈。
算法中主要的操作:
(1)移进。从句子左端将一个终结符移到栈顶
(2)归约。根据规则,将栈顶的若干个符号替换成一个符号
(3)接收。句子中所有词语都已移动到栈里,并且栈中只剩下一个符号S,分析成功,结束
(4)拒绝。句子中所有词语都已移动到栈里,栈中并非只有一个符号S,也无法进行任何归约操作,分析失败,结束
2.欧雷分析法
算法基本思想是:把每个句法成分的识别过程划分为若干个状态。一个重要贡献是引入了点规则,所谓点规则,是在规则右部的终结符或者非终结符之间的某个位置上加上一个圆点,表示规则右部被匹配的程度
Earley算法涉及到的操作:
算法的具体过程描述:
3.线图分析法
算法的基本思想是:给定一个句子的词性序列s=w1w2...wn,构成一个线图(一组节点和边的集合),查看任意相邻几条边上的标记串是否与某条产生式规则的右部相同,如果相同,则增加一条新的边跨越原来相应的边,新增加边上的标记为这条产生式规则的头。重复这个过程,直到没有新的边产生
算法描述:
从输入串的起始位置到最后位置,循环执行如下步骤:
(1)如果待处理表为空,则找到下一个位置上的词,将该词对应的词类X附以(i,j)作为元素放到待处理表中,即X(i,j)。其中,i,j分别是该词的起始位置和终止位置
(2)从待处理表中取出一个元素X(i,j)
(3)对于每条规则A-->Xr,将A-->X*r(i,j)加入点规则集合中,然后调用扩展弧子程序
4.CYK分析法
CYK分析法首先需要对文法进行Chomsky范式化处理(如果规定右部分必须是一个终结符,或者是两个非终结符,符合这种限制的产生式叫“乔姆斯基范式”)。CYK分析法的主要数据结构是一个n*n的二维矩阵,每个元素对应与输入句子的某一个词串上所有可能形成的短语的非终结符的集合。如果我们把i和j分别看做是平面坐标系中的横纵坐标,那么,横坐标代表该词串左侧第一个词的位置,纵坐标代表该词串包含的词数。
CYK分析法算法描述如下:
(1)对于i=1,...,n,j=1 //填写第一行,词串长度为1
对于每一条规则A-->ti
将非终结符A加入集合P(i,j)
(2)对于j=2,...,n //填写第二行到n行,词串长度为j
对于i=1,...,n-j+1 //对于所有起点i
对于k=1,...,j-1 //对于一个词串内所有分割点k
对于每一条规则A-->BC
如果B属于P(i,K)且C属于P(i+k,j+k)
(3)如果S属于P(1,n),那么分析成功,否则分析失败
由于任何一个上下文无关文法CFG都可以转换成符合Chomsky范式的文法,因此,CYK算法可以应用于任何一个上下文无关文法
- 自然语言处理基础(3)--自底向上的句法分析
- 自然语言理解-自底向上chart句法分析
- 自然语言处理基础(2)--自顶向下的句法分析
- 统计自然语言处理梳理二:句法分析
- 统计自然语言处理基础学习笔记(7)——句法分析
- 【自然语言处理】句法分析 (syntactic parsing) 在 NLP 领域的应用是怎样的?
- 读《统计自然语言处理》——句法分析
- 自底向上分析Elasticsearch
- NLP汉语自然语言处理原理与实践 6 句法理论与自动分析
- 自然语言处理(一)基础
- 语法分析之自底向上分析
- 自底向上分析网络体系结构
- 统计自然语言处理的基础学习之一
- 统计自然语言处理的基础学习之一
- 文法分析小结:自底向上的分析方法和自顶向下的分析方法有哪些
- 人工智能-语音交互-NLP自然语言(四) 句法分析/词向量
- 使用Stanford CoreNLP的Python封装包处理中文(分词、词性标注、命名实体识别、句法树、依存句法分析)
- 自然语言处理基础学习
- MyLayout和XIB或SB的混合使用方法
- IP地址 网段的划分
- matlab的使用问题(—):每次双击.m文件都会自动打开一个matlab程序
- JavaScript HTML DOM(二)
- 使用gdb调试多线程与多进程
- 自然语言处理基础(3)--自底向上的句法分析
- 以太坊连载(五):以太坊社区、基金会、贡献者介绍
- 【Hadoop】HDFS的运行原理
- 一个使用CDS VIEW 的 DEMO
- 编写一个简单的等腰三角形
- JavaScript异常处理总结
- 每日AC-- 美团 -- 最大差值 | leetcode-求树最小深度 | 网易招聘笔试(升级之路)
- javaWeb开发中项目总结(针对汇百资产管理后台项目)
- Python3学习笔记(一):import from 和 reload的用法