NLP工具——Stanza依存关系含义详解

NLP工具——Stanza依存关系含义详解

1. 概要

stanza工具是一个基于python的NLP工具,这篇博客主要介绍依存关系中各种关系的含义,如果要了解这个工具的话可以参考其他文章,比如我朋友的这一篇:
https://blog.csdn.net/GodDavide/article/details/105539730

但是我发现他博客中对句法结构关系的介绍是coreNLP的,而非stanza的,所以写这篇博客纠正一下。原网站还挺难找的,并不是在stanza的官网上介绍的,而是引用了另一个工具的帮助文档。

想迅速查找某个依存关系含义的同学可以直接看本文的第三部分,或点击目录快速跳转。

1
我把这个帮助文档的相关链接也贴出来,中文不好的同学可以直接去看原文档:
https://universaldependencies.org/u/dep/index.html

2. 详细介绍

所有的依存关系可以分为狭义依存和广义依存关系,其中,广义依存关系又可以分为核心论元(Core arguments),非核心依存(Non-core dependents)以及名义依存(Nominal dependents)。

下图中,上半部分是狭义依存关系,下半部分是不包含在狭义概念中的依存关系。

2
上半表中,纵列为依存的目录分类,依次为名词性(Nominals)、从句(Clauses)、修饰词(Modifier words),以及虚词(Function Words)。下面将对上半表的内容进行详细介绍。

2.1 核心论元

2.1.1 nsubj: nominal subject(名词主语)

名词主语(nsubj)是一个名词,它是句法结构主语,是从句的原型节点(这里的描述均为机翻+人工纠正)。被动语态下的特殊名词主语,被记作 nsubj:pass。直接看文档中给出的例子:
nsubj

2.1.2 obj: object(宾语)

动词的宾语是动词中仅次于主语的第二大核心论元。
obj

2.1.3 iobj: indirect object(间接宾语)

动词的间接宾语是任何作为动词核心论元的名词短语,但不是其主语或(直接)宾语。
iobj
但是,如果只有一个宾语存在,则不论语义分析的结果如何,都会被标记为obj,而非iobj。
iobj1

2.1.4 csubj: clausal subject(从句主语)

从句主语是一个从句的从句句法主语,即主语本身就是一个从句。
csubj

2.1.5 ccomp: clausal complement(从句补足语)

动词或形容词的从句补语是一个从属从句,它是一个核心论元。

ccomp

2.1.6 xcomp: open clausal complement(开放从句补足语)

动词或形容词的开放从句补足语(xcomp)是没有主语的谓语或从句补足语。
xcomp
关于ccomp和xcomp的区别,可以看下图,主要在于是否可以将主句和从句完全切分开,前句的boss不一定执行了digging,而后句的we必然是digging的执行者。
xccomp

2.2 非核心依存

2.2.1 obl: oblique nominal(间接名词)

obl是作为名词(名词、代词、名词短语)非核心的论元附属结构。
obl
obl2
当指向被动语态的agent时,记作obl:agent:
obla

2.2.2 vocative: vocative(呼格词)

称呼关系用于标记语篇中的对话参与者。
voc

2.2.3 expl: expletive(感叹词)

不知道怎么翻译合适。看例子:
expl·
expl

2.2.4 dislocated: dislocated elements(错位元素)

错位关系用于不符合句子通常核心语法关系的前置或后置元素。
disloc

2.2.5 advcl: adverbial clause modifier(状语从句修饰语)

状语从句修饰语是修饰动词或其他谓语(形容词等)的从句,作为修饰语而不是核心补语。
advcl

2.2.6 advmod: adverbial modifier(状语修饰语)

一个词的状语修饰语是修饰谓语或修饰词的非从句状语或状语短语。
advmod

2.2.7 discourse: discourse element(语素)

这用于感叹词和其他话语粒子和元素(除了表达方式外,与句子结构没有明确联系)。
discourse

2.2.8 aux: auxiliary(辅助词)

从句的辅助词是一个虚词,与表示时态、语气、语态或证据性等类别的动词谓词有关。
aux

2.2.9 cop: copula(连接词)

连接词是一个虚词与非言语谓词之间的关系,包括身份谓词的表达(例如,“Kim是总统”之类的句子)。
cop

2.2.10 mark: marker(标记词)

标记词是将一个从句标记为从属于另一个从句的词。
marker

2.3 名义依存

2.3.1 nmod: nominal modifier(名词修饰语)

nmod关系用于另一个名词或名词短语的名词性从属词,在功能上对应于属性或属格补语。
nmod

2.3.2 appos: appositional modifier(同位语修饰语)

名词的同位语修饰语是紧跟在第一个名词之后的名词,用来定义、修饰、命名或描述该名词。
appos

2.3.3 nummod: numeric modifier(数字修饰语)

名词的数字修饰语是用数量修饰名词含义的任何数字短语。
num
但是如果不是确定的数字,则会被标记为det:
det

2.3.4 acl: clausal modifier of noun (名词的从句修饰语)

acl表示一个名词的从句修饰语。
acl
acl2

2.3.5 amod: adjectival modifier(形容词修饰语)

名词(或代词)的形容词修饰语是用来修饰名词(或代词)的任何形容词组。
amod

2.3.6 det: determiner(限定词)

关系限定词(det)在名词与其限定词之间起作用。
det1

2.3.7 clf: classifier(分类词)

英语中不会出现这类词。
cls

2.3.8 case: case marking(格位标记)

case

2.4 广义依存关系

2.4.1 conj: conjunct(连词)

连词可以用来连接并列的名词,或并列的动词:
conj
conj3
conj2

2.4.2 cc: coordinating conjunction(协调连词)

cc是连接词和前面的协调连接词之间的关系。
例子见2.4.1中第2个例子,也就是and。

2.4.3 fixed: fixed multiword expression(固定多字表达式)

固定关系是多词表达式(MWE)的三种关系之一(其他两种是扁平和复合关系)。
fix

2.4.4 flat: flat multiword expression(扁平多字表达式)

是多词表达式的一种。
用于名称:
flat
flat2
flat3
用于复杂数字和日期:
flat4
flat5
用于外来词汇:
flat6

2.4.5 compound: compound(复合表达式)

compound

2.4.6 list: list(列表关系)

列表关系用于可比较项目的链。
list1

list2list3

2.4.7 parataxis: parataxis(无连词并列)

意合关系(源自希腊语的“并排放置”)是一个词(通常是句子的主要谓语)与其他元素之间的关系,如句子插入语或“:”或“;”后的从句,并排放置,与主词没有任何明确的协调、从属或论证关系。

这个有些复杂没太搞明白,建议看原文档的介绍

para

2.4.8 orphan: orphan(孤立词)

孤立关系用于头部省略的情况。如下例子中,Peter和bronze之间的won省略了。
orph

2.4.9 goeswith: goes with(配合词)

这种关系将单词的两个或多个部分链接在未经过良好编辑的文本中。

这个像是把分开了的子词纠正回一个完整的词。
goes

2.4.10 reparandum: overridden disfluency(重复非流畅)

over

2.4.11 other(其他)

root(根节点):
root
punctuation(标点):
punct
unspecified dependency(非确定依存):
dep

3. 速查表

所有依存关系按照英文字母排序如下:

简写全称中文含义(部分机翻)
aclclausal modifier of noun (adnominal clause)名词的从句修饰语
acl:relclrelative clause modifier关系从句修饰语
advcladverbial clause modifier状语从句修饰语
advmodadverbial modifier状语修饰语
advmod:emphemphasizing word, intensifier强调词、加强词
advmod:lmodlocative adverbial modifier位置状语修饰语
amodadjectival modifier形容词修饰语
apposappositional modifier同位语修饰语
auxauxiliary辅助词
aux:passpassive auxiliary被动助词
casecase marking格位标记
cccoordinating conjunction协调连词
cc:preconjpreconjunct前连词
ccompclausal complement从句补足语
clfclassifier分类词
compoundcompound复合表达式
compound:lvclight verb construction轻动词结构
compound:prtphrasal verb particle短语动词助词
compound:redupreduplicated compounds重叠复合词
compound:svcserial verb compounds连动复合词
conjconjunct连词
copcopula系动词
csubjclausal subject从句主语
csubj:passclausal passive subject从句被动主语
depunspecified dependency非确定依存
detdeterminer限定词
det:numgovpronominal quantifier governing the case of the noun支配名词格的代词量词
det:nummodpronominal quantifier agreeing in case with the noun与名词一致的代词量词
det:posspossessive determiner物主限定词
discoursediscourse element语素
dislocateddislocated elements错位元素
explexpletive感叹词
expl:impersimpersonal expletive非人称感叹词
expl:passreflexive pronoun used in reflexive passive反身被动语态中的反身代词
expl:pvreflexive clitic with an inherently reflexive verb带有固有反身动词的反身代词
fixedfixed multiword expression固定多字表达式
flatflat multiword expression扁平多字表达式
flat:foreignforeign words外来词扁平多字表达式
flat:namenames名称扁平多字表达式
goeswithgoes with配合词
iobjindirect object间接宾语
listlist列表关系
markmarker标记
nmodnominal modifier名词修饰语
nmod:posspossessive nominal modifier所有格名词修饰语
nmod:tmodtemporal modifier时间修饰
nsubjnominal subject名词主语
nsubj:passpassive nominal subject被动名词主语
nummodnumeric modifier数字修饰符
nummod:govnumeric modifier governing the case of the noun控制名词大小写的数字修饰语
objobject宾语
obloblique nominal间接名词
obl:agentagent modifier间接名词,被动语态的发出者
obl:argoblique argument间接名词论元
obl:lmodlocative modifier间接名词,位置修饰语
obl:tmodtemporal modifier间接名词,时间修饰语
orphanorphan孤立词
parataxisparataxis无连词并列
punctpunctuation标点
reparandumoverridden disfluency重复非流畅
rootroot根节点
vocativevocative呼格词
xcompopen clausal complement开放从句补足语

整理不易,如果对你有所帮助,记得点赞支持。如果有不准确的地方,还请在评论区指出纠正。

  • 32
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
《Huggingface自然语言处理详解——基于BERT中文模型的任务实战》源码是一份用于展示如何使用Huggingface库进行自然语言处理任务的示例代码。该代码基于BERT中文模型,旨在帮助读者理解如何使用该模型进行文本分类、情感分析等任务。 该源码由以下几个部分组成: 1. 导入必要的库:代码开始部分导入了需要使用的Huggingface库,包括`transformers`和`tokenizers`。这些库提供了BERT模型以及相关的处理函数和工具。 2. 数据预处理:接下来,源码介绍了如何进行数据预处理。这包括读取数据集、分词、编码等步骤。具体来说,使用`BertTokenizer`类对文本进行分词,并使用`BertTokenizer.from_pretrained`加载预训练的BERT中文模型。 3. 构建模型:源码构建了一个简单的BERT分类模型,使用`BertForSequenceClassification`类来实现。这个模型有一个BERT编码器和一个用于分类的线性层。 4. 训练模型:通过`Trainer`类,源码进行了模型的训练。在训练过程中,使用了一个训练集和一个验证集,并定义了相应的训练参数,如学习率、批大小等。训练过程中,模型参数逐渐更新,直到达到设定的最大训练轮数。 5. 模型评估:训练完成后,源码进行模型评估。通过计算准确率、查全率、查准率等指标,评估模型在验证集上的性能。 总的来说,《Huggingface自然语言处理详解——基于BERT中文模型的任务实战》源码提供了一个完整的BERT模型应用示例,通过该源码,读者能够了解如何使用Huggingface库中的BERT模型进行中文文本分类任务,并学会了如何进行数据预处理、构建模型、训练和评估模型等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值