NPL:语义分析之依存文法分析

依存文法是由法国语言学家L.Tesniere在其著作《结构句法基础》(1959年)中提出,对语言学的发展产生了深远的影响,特别是在计算语言学界备受推崇。

依存语法通过分析语言单位内成分之间的依存关系揭示其句法结构,主张句子中核心动词是支配其它成分的中心成分,而它本身却不受其它任何成分的支配,所有受支配成分都以某种依存关系从属于支配者。

在20世纪70年代,Robinson提出依存语法中关于依存关系的四条公理,在处理中文信息的研究中,中国学者提出了依存关系的第五条公理,如下:

1、一个句子中只有一个成分是独立的;

2、其它成分直接依存于某一成分;

3、任何一个成分都不能依存与两个或两个以上的成分;

4、如果A成分直接依存于B成分,而C成分在句中位于A和B之间,那么C或者直接依存于B,或者直接依存于A和B之间的某一成分;

5、中心成分左右两面的其它成分相互不发生关系。

下面是常用关系列表

关系类型 Tag Description Example
主谓关系 SBV subject-verb 我送她一束花 (我 <-- 送)
动宾关系 VOB 直接宾语,verb-object 我送她一束花 (送 --> 花)
间宾关系 IOB 间接宾语,indirect-object 我送她一束花 (送 --> 她)
前置宾语 FOB 前置宾语,fronting-object 他什么书都读 (书 <-- 读)
兼语 DBL double 他请我吃饭 (请 --> 我)
定中关系 ATT attribute 红苹果 (红 <-- 苹果)
状中结构 ADV adverbial 非常美丽 (非常 <-- 美丽)
动补结构 CMP complement 做完了作业 (做 --> 完)
并列关系 COO coordinate 大山和大海 (大山 --> 大海)
介宾关系 POB preposition-object 在贸易区内 (在 --> 内)
左附加关系 LAD left adjunct 大山和大海 (和 <-- 大海)
右附加关系 RAD right adjunct 孩子们 (孩子 --> 们)
独立结构 IS independent structure 两个单句在结构上彼此独立
核心关系 HED head 指整个句子的核心
时间: 2024-07-31 14:31:27

NPL:语义分析之依存文法分析的相关文章

自然语言分析工具Hanlp依存文法分析python使用总结(附带依存关系英文简写的中文解释)

最近在做一个应用依存文法分析来提取文本中各种关系的词语的任务.例如:text='新中国在马克思的思想和恩格斯的理论阔步向前': ps:这里马克思和恩格斯原来我是用的毛zd和邓xp,但是系统说这两个名字违规了........我很爱国的好不好!!!!!! 我需要提取这个text中的并列的两个关系,从文中分析可知,"马克思的思想"和"恩格斯的理论"是两个并列关系的短语,所以想要将其提取出来: 首先大致了解一下依存文法分析的前提条件,将句子分词并进行词性标注,这一步非常关键

词法与文法分析程序

1.词法与文法分析程序功能:   主要语句:begin<语句串>end 输入单词串,以“#”结束,如果是文法正确的句子,则输出成功信息,打印“成功”,否则输出“错误”. 2.符号与种别码对照表: 单词符号 种别码 单词符号 种别码 begin 1 : 17 if 2 := 18 then 3 < 20 while 4 <= 21 do 5 <> 22 end 6 > 23 l(l|d)* 10 >= 24 dd* 11 = 25 + 13 ; 26 - 14

LL(1)文法分析表的构造和分析过程示例

在考完编译原理之后才弄懂,悲哀啊.不过懂了就好,知识吗,不能局限于考试. 文法: E→TE' E'→+TE'|ε T→FT ' T'→*FT'|ε F→id| (E) 一.首先判断是不是 LL(1)文法 -------------------------------------------------------------------------------------------------------- 文法G的任意两个具有相同左部的产生式 A --> α|β 满足下列条件: 1.如果α和

编译原理LL1文法分析树(绘图过程)算法实现

import hjzgg.analysistable.AnalysisTable; import hjzgg.first.First; import hjzgg.follow.Follow; import hjzgg.treenode.TreeNode; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Grap

编译原理LL1文法分析表算法实现

import hjzgg.first.First; import hjzgg.follow.Follow; import hjzgg.tablenode.TableNode; import hjzgg.treenode.TreeNode; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.Stack; im

文法分析与递归下降分析

C语言程序--〉main函数,调用数据库|函数声明|函数定义 Main函数--〉函数定义变量|调用函数 函数声明--〉函数名.参数.函数类型 定义变量--〉函数类型 函数类型--〉void| CHAR| INT| FLOAT 定义--〉定义变量|调用函数 参数--〉参数类型.参数名 参数类型--〉void| CHAR| INT| FLOAT 易c语言文法 <程序> -〉 <外部声明> | <函数定义> <外部声明> -〉<头文件> | <变

文法分析相关笔记

描述语言语法结构的形式规则称为文法.文法是一个四元组,具体组成如图所示. 文法一共四类,若文法G=(Vn,Vt,P,S)的每个产生式α→β,均有α∈(Vn∪Vt)*,则称G为0型文法.在0型文法上加以扩展,则得到以下文法: 1型文法:G的任何产生式α→β(S→ε除外)均满足左部中文法符号的个数小于右部文法的符号的个数,又称为上下文有关文法,意味着对非终结符的替换考虑必须考虑上下文(eg:有生产式如:αAB→Βcb,假设该生产式符合1型文法的生产式,则非终结符A只有在左边为α右边为B的情况才能转化

201406114215+林志杰+文法分析

语法分析是编译原理的核心部分.语法分析的作用是识别由词法分析给出的单词符号序列是否是给定文法的正确句子. 1) 不存在终结符号a使得α和β都能够推导出以a开头的串. 2) α和β中最多只有一个可以推导出空串. 3) 如果βÞ*ε,那么α不能推导出任何以FOLLOW(A)中某个终结符号开头的串.类似地,如果αÞ*ε,那么β不能推导出任何以FOLLOW(A)中某个终结符号开头的串. 英语不好,太多太多需要翻译,也难看懂,希望老师多给点细心讲解,辛苦了

CSUFT 编译原理实验二LL(1)文法分析

1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <stack> 5 #include <queue> 6 #include <map> 7 #include <algorithm> 8 #include <vector> 9 10 using namespace std; 11 12 char A[20];/*分