知识补充
1.hinge loss
原文:https://www.cnblogs.com/veagau/articles/11876915.html
2.树结构
原文参考:https://blog.youkuaiyun.com/qq_43428310/article/details/107290398
短语依存树和句法依存树是一个“上升”的关系。
2.1 短语依存树
我理解的短语依存树更多地是依靠:“句法规则”,比如名词+名词==名词短语这种语法规则,解析形成的树状结构。
更多的依赖的是POS词性标注吧。主要还是根据POS标注和语法定义的规则解析得到树状结构。
Conll03数据集中,包含了词性一列。
NLTK的定义的词性有:
https://blog.youkuaiyun.com/qq_35203425/article/details/81591568
NN 名词 year,home, costs, time, education
NNS 名词复数 undergraduates scotches
NNP 专有名词 Alison,Africa,April,Washington
NNPS 专有名词复数 Americans Americas Amharas Amityvilles
PRP 人称代词 hers herself him himself hisself
PRP$ 所有格 her his mine my our ours
VB 动词 ask assemble assess
VBD 动词过去式 dipped pleaded swiped
VBG 动词现在分词 telegraphing stirring focusing
VBN 动词过去分词 multihulled dilapidated aerosolized
IN 介词连词 on, of,at, with,by,into, under
JJ 形容词 new,good, high, special, big, local
MD 情态动词 can cannot could couldn’t
NLTK词性
标注词表:
名词:NN,NNS,NNP,NNPS
代词:PRP,PRP$
形容词:JJ,JJR,JJS
数词:CD
动词:VB,VBD,VBG,VBN,VBP,VBZ
副词:RB,RBR,RBS
-
CC Coordinating conjunction 连接词
-
CD Cardinal number 基数词
-
DT Determiner
限定词(如this,that,these,those,such,不定限定词:no,some,any,each,every,enough,either,neither,all,both,half,several,many,much,(a)
few,(a) little,other,another.
-
EX Existential there 存在句
-
FW Foreign word 外来词
-
IN Preposition or subordinating conjunction 介词或从属连词
-
JJ Adjective 形容词或序数词
-
JJR Adjective, comparative 形容词比较级
-
JJS Adjective, superlative 形容词最高级
-
LS List item marker 列表标示
-
MD Modal 情态助动词
-
NN Noun, singular or mass 常用名词 单数形式
-
NNS Noun, plural 常用名词 复数形式
-
NNP Proper noun, singular 专有名词,单数形式
-
NNPS Proper noun, plural 专有名词,复数形式
-
PDT Predeterminer 前位限定词
-
POS Possessive ending 所有格结束词
-
PRP Personal pronoun 人称代词
-
PRP$ Possessive pronoun 所有格代名词
-
RB Adverb 副词
-
RBR Adverb, comparative 副词比较级
-
RBS Adverb, superlative 副词最高级
-
RP Particle 小品词
-
SYM Symbol 符号
-
TO to 作为介词或不定式格式
-
UH Interjection 感叹词
-
VB Verb, base form 动词基本形式
-
VBD Verb, past tense 动词过去式
-
VBG Verb, gerund or present participle 动名词和现在分词
-
VBN Verb, past participle 过去分词
-
VBP Verb, non-3rd person singular present 动词非第三人称单数
-
VBZ Verb, 3rd person singular present 动词第三人称单数
-
WDT Wh-determiner 限定词(如关系限定词:whose,which.疑问限定词:what,which,whose.)
-
WP Wh-pronoun 代词(who whose which)
-
WP$ Possessive wh-pronoun 所有格代词
-
WRB Wh-adverb 疑问代词(how where when)
————————————————
版权声明:本文为优快云博主「_我走路带风」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_36652619/article/details/77252497
2.2 句法依存树
我理解的句法依存树主要分析的是句子成分之间的依赖关系,比如“主谓关系”,“定中关系”等等,根据的是词与词之间的依赖关系结构,得到树。(和短语树不同的时,不是语法规则)
A->B,这种关系表示B依赖于A,A是支配词,B是从属词。A支配B
LTP 定义的依存关系有:
关系 简写 英文 例子
主谓关系 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 指整个句子的核心
具体转移的句法分析
转移是一系列动作的集合。
栈:最开始存放一个虚根
缓存区:存放整个句子
集合:存放依赖关系
看这个图大致就明白了。
需要注意的是,不同论文中可能定义的转移方法是不同的,可能最一开始的栈是空的,或者是存放了虚根的,具体要根据论文而定。
动作序列是需要预测的,需要根据栈中的词是否存在依赖关系从而做出下一步动作的预测。可以使用DL或者传统特征工程。
这个例子是链接2中的例子,十分受用。一定要看原文。下边只摘录了部分
电池 电池 N NN _ 3 nsubj _ _
非常 非常 A AD _ 3 advmod _ _
棒 棒 V VA _ 0 ROOT _ _
, , P PU _ 3 punct _ _
机身 机身 N NN _ 7 nsubj _ _
不 不 A AD _ 7 neg _ _
长 长 V VA _ 3 conj _ _
, , P PU _ 7 punct _ _
长 长 V VA _ 11 top _ _
的 的 D DEC _ 9 cpm _ _
是 是 V VC _ 7 conj _ _
待机 待机 N NN _ 11 attr _ _
, , P PU _ 3 punct _ _
但是 但是 A AD _ 18 advmod _ _
屏幕 屏幕 N NN _ 16 nn _ _
分辨率 分辨率 N NN _ 18 nsubj _ _
不 不 A AD _ 18 neg _ _
高 高 V VA _ 3 conj _ _
。 。 P PU _ 3 punct _ _
抽取名词短语及属性
def extactOpinion3(tree):
for word in tree.iterator():
if word.POSTAG == "NN":
# 检测名词词语的依存弧是否是“属性关系”,
# 如果是,则寻找支配词的子节点中的主题词
# 以该主题词作为名词的意见。
if word.DEPREL == "nsubj": # ①属性
if tree.findChildren(word.HEAD, "neg").isEmpty():
print("%s = %s" % (word.LEMMA, word.HEAD.LEMMA))
else:
print("%s = 不%s" % (word.LEMMA, word.HEAD.LEMMA))
elif word.DEPREL == "attr":
top = tree.findChildren(word.HEAD, "top") # ②主题
if not top.isEmpty():
print("%s = %s" % (word.LEMMA, top.get(0).LEMMA))
print("第三版")
extactOpinion3(tree)
第三版
电池 = 棒
机身 = 不长
待机 = 长
分辨率 = 不高