去年了解了依存句法分析,今年来学语义依存分析(Semantic Dependency Parsing, SDP)。

依存分析是为了让机器理解自然语言,而开创设计的方法。那么如何做呢?

一般是有下面这个顺序:将原始文本自底向上分词->词性标注->命名实体识别->句法分析(比如之前学习的依存句法分析)->语义分析(若要机器进一步理解语言)

语义依存分析:

官方解释:分析句子各个语言单位之间的语义关联,并将语义关联以依存结构呈现。使用语义依存刻画句子语义,好处在于不需要去抽象词汇本身,而是通过词汇所承受的语义框架来描述该词汇,而论元的数目相对词汇来说数量总是少了很多的。语义依存分析目标是跨越句子表层句法结构的束缚,直接获取深层的语义信息。

形象描述:语义依存分析的目的即回答句子的”Who did what to whom when and where”的问题。例如句子“张三昨天告诉李四一个秘密”,语义依存分析可以回答四个问题,即谁告诉了李四一个秘密,张三告诉谁一个秘密,张三什么时候告诉李四一个秘密,张三告诉李四什么。




语义依存分析 java 语义依存分析是什么_自然语言处理


上图中表示语义的形式为依存形式,其优势在于形式简洁,易于理解和运用。语义依存分析建立在依存理论基础上,是对语义的深层分析。可分为两个阶段,①根据依存语法建立依存结构,即找出句子中的所有修饰词与核心词对,②对所有的修饰词与核心词对指定语义关系(后面介绍)。可见,语义依存分析可以同时描述句子的结构和语义信息。

拓展:语义分析可以跨越句子的表层结构直接获取深层语义表达的本质,例如句子:“张三吃了苹果”、“张三把苹果吃了”和“苹果被张三吃了”,虽然它们的表述形式不同,但含义相同,吃和张三、吃和苹果之间的语义关系稳定不变,这在词义消歧、信息检索、机器翻译等诸多领域有重要作用。

语义依存图:

在语义依存分析中,我们通常采用图代替树(依存图代替依存树)

ps:回顾一下,还记得依存语法中关于依存关系的四条公理吗?

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

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

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

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

ps over~

回过头来,我们采用依存图进行语义依存分析时,必要时可突破四条公理的部分(单一父节点,关系弧无交叉),这样的突破使得对连动、兼语、概念转位等汉语中常见的现象的分析更全面深入。

举个例:


语义依存分析 java 语义依存分析是什么_自然语言处理_02


依存树VS依存图:


语义依存分析 java 语义依存分析是什么_Powered by 金山文档_03


比较依存句法分析和语义依存分析:

语义依存分析不受句法结构的影响,将具有直接语义关联的语言单元直接连接依存弧并标记上相应的语义关系。这也是语义依存分析与句法依存分析的重要区别。见下图:蓝色线表示的句法依存分析的依存结构,绿色线就是语义依存分析的依存结构。


语义依存分析 java 语义依存分析是什么_自然语言处理_04


具体分析上图中不同分析方法的区别:

  1. 依存句法更在意没有实际含义的词语,在句子结构中的作用(比如介词的在,助动词用,标点符号等),而语义依存更倾向在具有直接语义关联的实词之间建立直接依存弧,非实词作为辅助标记存在。(小m开头的均为辅助词的存在)
  2. 两者依存弧上标记的语义关系完全不同,语义依存关系是由论元关系引申归纳而来,可以用于回答问题,如我在哪里喝汤,我在用什么喝汤,谁在喝汤,我在喝什么。但是句法依存却没有这个能力。

句法依存的限制:

句法依存按照句法结构功能建立依存关系并为依存结构标注句法关系,更强调介词、助词等对句法结构划分的作用。而语义依存如前所说,注重实词之间语义事实上或逻辑上的关系。而句法的结构往往随着字面词语的变化而不同,相反语义则能够跨越句子表层的变化直达语义的本质。


语义依存分析 java 语义依存分析是什么_语义依存分析 java_05


以上两句语义相同,而表达形式不同,导致句法结构不同

语义依存VS语义角色标注:

语义角色标注是一种流行的语义分析的任务,语义角色标注同样能够转化为依存结构。语义角色标注是给定一个句子,分析该句中特定动词的论元结构,找出和特定动词搭配的论元并分析其语义角色。角色分为施事、受事、与事等核心角色和地点、时间、行为方式等附属角色。语义角色标注是浅层语义分析的一种主要实现方式,是深层语义分析的简化和基础。

从另一个角度比较语义角色标注和语义依存分析,语义角色标注的自动分析需要以句法分析为基础,句法分析的错误会带入到语义角色标注中。而语义依存分析,直接在基本语言处理基础上一步走到比语义角色标注更深层的语义分析阶段,这个过程在一步中完成将极大减少错误的级联。这表明语义依存分析的另一个优势。(结构见下图)


语义依存分析 java 语义依存分析是什么_句法分析_06


附件1:关系表

语义依存关系分为三类,分别是主要语义角色,每一种语义角色对应存在一个嵌套关系和反关系;事件关系,描述两个事件间的关系;语义依附标记,标记说话者语气等依附性信息。


关系类型

Tag

Description

Example

施事关系

Agt

Agent

我送她一束花 (我 <-- 送)

当事关系

Exp

Experiencer

我跑得快 (跑 --> 我)

感事关系

Aft

Affection

我思念家乡 (思念 --> 我)

领事关系

Poss

Possessor

他有一本好读 (他 <-- 有)

受事关系

Pat

Patient

他打了小明 (打 --> 小明)

客事关系

Cont

Content

他听到鞭炮声 (听 --> 鞭炮声)

成事关系

Prod

Product

他写了本小说 (写 --> 小说)

源事关系

Orig

Origin

我军缴获敌人四辆坦克 (缴获 --> 坦克)

涉事关系

Datv

Dative

他告诉我个秘密 ( 告诉 --> 我 )

比较角色

Comp

Comitative

他成绩比我好 (他 --> 我)

属事角色

Belg

Belongings

老赵有俩女儿 (老赵 <-- 有)

类事角色

Clas

Classification

他是中学生 (是 --> 中学生)

依据角色

Accd

According

本庭依法宣判 (依法 <-- 宣判)

缘故角色

Reas

Reason

他在愁女儿婚事 (愁 --> 婚事)

意图角色

Int

Intention

为了金牌他拼命努力 (金牌 <-- 努力)

结局角色

Cons

Consequence

他跑了满头大汗 (跑 --> 满头大汗)

方式角色

Mann

Manner

球慢慢滚进空门 (慢慢 <-- 滚)

工具角色

Tool

Tool

她用砂锅熬粥 (砂锅 <-- 熬粥)

材料角色

Malt

Material

她用小米熬粥 (小米 <-- 熬粥)

时间角色

Time

Time

唐朝有个李白 (唐朝 <-- 有)

空间角色

Loc

Location

这房子朝南 (朝 --> 南)

历程角色

Proc

Process

火车正在过长江大桥 (过 --> 大桥)

趋向角色

Dir

Direction

部队奔向南方 (奔 --> 南)

范围角色

Sco

Scope

产品应该比质量 (比 --> 质量)

数量角色

Quan

Quantity

一年有365天 (有 --> 天)

数量数组

Qp

Quantity-phrase

三本书 (三 --> 本)

频率角色

Freq

Frequency

他每天看书 (每天 <-- 看)

顺序角色

Seq

Sequence

他跑第一 (跑 --> 第一)

描写角色

Desc(Feat)

Description

他长得胖 (长 --> 胖)

宿主角色

Host

Host

住房面积 (住房 <-- 面积)

名字修饰角色

Nmod

Name-modifier

果戈里大街 (果戈里 <-- 大街)

时间修饰角色

Tmod

Time-modifier

星期一上午 (星期一 <-- 上午)

反角色

r + main role


打篮球的小姑娘 (打篮球 <-- 姑娘)

嵌套角色

d + main role


爷爷看见孙子在跑 (看见 --> 跑)

并列关系

eCoo

event Coordination

我喜欢唱歌和跳舞 (唱歌 --> 跳舞)

选择关系

eSelt

event Selection

您是喝茶还是喝咖啡 (茶 --> 咖啡)

等同关系

eEqu

event Equivalent

他们三个人一起走 (他们 --> 三个人)

先行关系

ePrec

event Precedent

首先,先

顺承关系

eSucc

event Successor

随后,然后

递进关系

eProg

event Progression

况且,并且

转折关系

eAdvt

event adversative

却,然而

原因关系

eCau

event Cause

因为,既然

结果关系

eResu

event Result

因此,以致

推论关系

eInf

event Inference

才,则

条件关系

eCond

event Condition

只要,除非

假设关系

eSupp

event Supposition

如果,要是

让步关系

eConc

event Concession

纵使,哪怕

手段关系

eMetd

event Method


目的关系

ePurp

event Purpose

为了,以便

割舍关系

eAban

event Abandonment

与其,也不

选取关系

ePref

event Preference

不如,宁愿

总括关系

eSum

event Summary

总而言之

分叙关系

eRect

event Recount

例如,比方说

连词标记

mConj

Recount Marker

和,或

的字标记

mAux

Auxiliary

的,地,得

介词标记

mPrep

Preposition

把,被

语气标记

mTone

Tone

吗,呢

时间标记

mTime

Time

才,曾经

范围标记

mRang

Range

都,到处

程度标记

mDegr

Degree

很,稍微

频率标记

mFreq

Frequency Marker

再,常常

趋向标记

mDir

Direction Marker

上去,下来

插入语标记

mPars

Parenthesis Marker

总的来说,众所周知

否定标记

mNeg

Negation Marker

不,没,未

情态标记

mMod

Modal Marker

幸亏,会,能

标点标记

mPunc

Punctuation Marker

,。!

重复标记

mPept

Repetition Marker

走啊走 (走 --> 走)

多数标记

mMaj

Majority Marker

们,等

实词虚化标记

mVain

Vain Marker


离合标记

mSepa

Seperation Marker

吃了个饭 (吃 --> 饭) 洗了个澡 (洗 --> 澡)

根节点

Root

Root

全句核心节点


资料参考:

  1. 中文语义依存分析—通往中文语义理解的一条蹊径 | 机器之心 (jiqizhixin.com)