当前位置:   article > 正文

Stanford CoreNLP 纯Python版本的深度学习NLP工具包 stanza 使用笔记_stanfordnlp输出head

stanfordnlp输出head

StanfordCoreNLP 是基于java版的,python封装也只是请求java接口,不是很方便。

这个效果可以使用官网测试地址:http://corenlp.run/

stanza是纯Python版的coreNLP,更方便

1、安装

pip install stanza

2、下载模型 stanza_resources

文章末尾有中英文的模型资源百度网盘链接地址及目录结构

链接: https://pan.baidu.com/s/1doWw-WaJr6e9wC_Pfvj5Gw  密码:x46s

  1. import stanza
  2. stanza.download('en') # download English model
  3. stanza.download('zh') # download chinese model

注意:在jupyter中下载如果有问题,可在终端中,python交互界面中下载,也可复制链接后使用下载工具下载,然后按照目录结构解压即可

目录结构:

 

3、使用

  1. import stanza
  2. # 可写配置文件,或单独传入
  3. # lang 指定语言,
  4. config = {
  5. 'dir':'./stanza_resources/', # 如未使用 stanza.download() 下载模型;必须指定模型文件路径
  6. # 'processors': 'tokenize,mwt,pos,ner', # Comma-separated list of processors to use
  7. 'lang': 'zh' #'en', # Language code for the language to build the Pipeline in
  8. # 'tokenize_model_path': './fr_gsd_models/fr_gsd_tokenizer.pt', # Processor-specific arguments are set with keys "{processor_name}_{argument_name}"
  9. # 'mwt_model_path': './fr_gsd_models/fr_gsd_mwt_expander.pt',
  10. # 'pos_model_path': './fr_gsd_models/fr_gsd_tagger.pt',
  11. # 'pos_pretrain_path': './fr_gsd_models/fr_gsd.pretrain.pt',
  12. # 'tokenize_pretokenized': True # Use pretokenized text as input and disable tokenization
  13. }
  14. nlp = stanza.Pipeline(**config)
  15. #输出:
  16. 2020-04-15 16:58:35 INFO: Loading these models for language: en (English):
  17. =========================
  18. | Processor | Package |
  19. -------------------------
  20. | tokenize | ewt |
  21. | pos | ewt |
  22. | lemma | ewt |
  23. | depparse | ewt |
  24. | ner | ontonotes |
  25. =========================
  26. 2020-04-15 16:58:35 INFO: Use device: gpu
  27. 2020-04-15 16:58:35 INFO: Loading: tokenize
  28. 2020-04-15 16:58:40 INFO: Loading: pos
  29. 2020-04-15 16:58:41 INFO: Loading: lemma
  30. 2020-04-15 16:58:41 INFO: Loading: depparse
  31. 2020-04-15 16:58:42 INFO: Loading: ner
  32. 2020-04-15 16:58:42 INFO: Done loading processors!
  33. doc = nlp('快速的棕色狐狸跳过了懒惰的狗')
  34. doc.sentences
  35. # 输出:
  36. [[
  37. {
  38. "id": "1",
  39. "text": "快速",
  40. "lemma": "快速",
  41. "upos": "ADJ",
  42. "xpos": "JJ",
  43. "head": 4,
  44. "deprel": "amod",
  45. "misc": "start_char=0|end_char=2"
  46. },
  47. {
  48. "id": "2",
  49. "text": "的",
  50. "lemma": "的",
  51. "upos": "PART",
  52. "xpos": "DEC",
  53. "head": 1,
  54. "deprel": "mark:relcl",
  55. "misc": "start_char=2|end_char=3"
  56. },
  57. {
  58. "id": "3",
  59. "text": "棕色",
  60. "lemma": "棕色",
  61. "upos": "NOUN",
  62. "xpos": "NN",
  63. "head": 4,
  64. "deprel": "nmod",
  65. "misc": "start_char=3|end_char=5"
  66. },
  67. {
  68. "id": "4",
  69. "text": "狐狸",
  70. "lemma": "狐狸",
  71. "upos": "NOUN",
  72. "xpos": "NN",
  73. "head": 5,
  74. "deprel": "nsubj",
  75. "misc": "start_char=5|end_char=7"
  76. },
  77. {
  78. "id": "5",
  79. "text": "跳过",
  80. "lemma": "跳过",
  81. "upos": "VERB",
  82. "xpos": "VV",
  83. "head": 0,
  84. "deprel": "root",
  85. "misc": "start_char=7|end_char=9"
  86. },
  87. {
  88. "id": "6",
  89. "text": "了",
  90. "lemma": "了",
  91. "upos": "PART",
  92. "xpos": "AS",
  93. "feats": "Aspect=Perf",
  94. "head": 5,
  95. "deprel": "case:aspect",
  96. "misc": "start_char=9|end_char=10"
  97. },
  98. {
  99. "id": "7",
  100. "text": "懒惰",
  101. "lemma": "懒惰",
  102. "upos": "ADJ",
  103. "xpos": "JJ",
  104. "head": 9,
  105. "deprel": "amod",
  106. "misc": "start_char=10|end_char=12"
  107. },
  108. {
  109. "id": "8",
  110. "text": "的",
  111. "lemma": "的",
  112. "upos": "PART",
  113. "xpos": "DEC",
  114. "head": 7,
  115. "deprel": "mark:relcl",
  116. "misc": "start_char=12|end_char=13"
  117. },
  118. {
  119. "id": "9",
  120. "text": "狗",
  121. "lemma": "狗",
  122. "upos": "NOUN",
  123. "xpos": "NN",
  124. "head": 5,
  125. "deprel": "obj",
  126. "misc": "start_char=13|end_char=14"
  127. }
  128. ]]
  129. doc.sentences[0].print_dependencies()
  130. 输出:
  131. ('快速', '4', 'amod')
  132. ('的', '1', 'mark:relcl')
  133. ('棕色', '4', 'nmod')
  134. ('狐狸', '5', 'nsubj')
  135. ('跳过', '0', 'root')
  136. ('了', '5', 'case:aspect')
  137. ('懒惰', '9', 'amod')
  138. ('的', '7', 'mark:relcl')
  139. ('狗', '5', 'obj')
  140. doc.sentences[0].print_tokens()
  141. 输出:
  142. <Token id=1;words=[<Word id=1;text=快速;lemma=快速;upos=ADJ;xpos=JJ;head=4;deprel=amod>]>
  143. <Token id=2;words=[<Word id=2;text=的;lemma=的;upos=PART;xpos=DEC;head=1;deprel=mark:relcl>]>
  144. <Token id=3;words=[<Word id=3;text=棕色;lemma=棕色;upos=NOUN;xpos=NN;head=4;deprel=nmod>]>
  145. <Token id=4;words=[<Word id=4;text=狐狸;lemma=狐狸;upos=NOUN;xpos=NN;head=5;deprel=nsubj>]>
  146. <Token id=5;words=[<Word id=5;text=跳过;lemma=跳过;upos=VERB;xpos=VV;head=0;deprel=root>]>
  147. <Token id=6;words=[<Word id=6;text=了;lemma=了;upos=PART;xpos=AS;feats=Aspect=Perf;head=5;deprel=case:aspect>]>
  148. <Token id=7;words=[<Word id=7;text=懒惰;lemma=懒惰;upos=ADJ;xpos=JJ;head=9;deprel=amod>]>
  149. <Token id=8;words=[<Word id=8;text=的;lemma=的;upos=PART;xpos=DEC;head=7;deprel=mark:relcl>]>
  150. <Token id=9;words=[<Word id=9;text=狗;lemma=狗;upos=NOUN;xpos=NN;head=5;deprel=obj>]>
  151. doc.sentences[0].print_words()
  152. 输出:
  153. <Word id=1;text=快速;lemma=快速;upos=ADJ;xpos=JJ;head=4;deprel=amod>
  154. <Word id=2;text=的;lemma=的;upos=PART;xpos=DEC;head=1;deprel=mark:relcl>
  155. <Word id=3;text=棕色;lemma=棕色;upos=NOUN;xpos=NN;head=4;deprel=nmod>
  156. <Word id=4;text=狐狸;lemma=狐狸;upos=NOUN;xpos=NN;head=5;deprel=nsubj>
  157. <Word id=5;text=跳过;lemma=跳过;upos=VERB;xpos=VV;head=0;deprel=root>
  158. <Word id=6;text=了;lemma=了;upos=PART;xpos=AS;feats=Aspect=Perf;head=5;deprel=case:aspect>
  159. <Word id=7;text=懒惰;lemma=懒惰;upos=ADJ;xpos=JJ;head=9;deprel=amod>
  160. <Word id=8;text=的;lemma=的;upos=PART;xpos=DEC;head=7;deprel=mark:relcl>
  161. <Word id=9;text=狗;lemma=狗;upos=NOUN;xpos=NN;head=5;deprel=obj>
  162. doc = nlp('新冠病毒在美国情况恶劣。')
  163. doc.ents,doc.entities
  164. 输出:
  165. [{
  166. "text": "美国",
  167. "type": "GPE",
  168. "start_char": 5,
  169. "end_char": 7
  170. }]

以下为标注解释:来源网络,侵权删

词性和实体标注解释

https://www.cnblogs.com/gaofighting/p/9768023.html

句法关系标注解释:

来源:https://blog.csdn.net/l919898756/article/details/81670228

  1. ROOT:要处理文本的语句
  2. IP:简单从句
  3. NP:名词短语
  4. VP:动词短语
  5. PU:断句符,通常是句号、问号、感叹号等标点符号
  6. LCP:方位词短语
  7. PP:介词短语
  8. CP:由‘的’构成的表示修饰性关系的短语
  9. DNP:由‘的’构成的表示所属关系的短语
  10. ADVP:副词短语
  11. ADJP:形容词短语
  12. DP:限定词短语
  13. QP:量词短语
  14. NN:常用名词
  15. NR:固有名词
  16. NT:时间名词
  17. PN:代词
  18. VV:动词
  19. VC:是
  20. CC:表示连词
  21. VE:有
  22. VA:表语形容词
  23. AS:内容标记(如:了)
  24. VRD:动补复合词
  25. CD: 表示基数词
  26. DT: determiner 表示限定词
  27. EX: existential there 存在句
  28. FW: foreign word 外来词
  29. IN: preposition or conjunction, subordinating 介词或从属连词
  30. JJ: adjective or numeral, ordinal 形容词或序数词
  31. JJR: adjective, comparative 形容词比较级
  32. JJS: adjective, superlative 形容词最高级
  33. LS: list item marker 列表标识
  34. MD: modal auxiliary 情态助动词
  35. PDT: pre-determiner 前位限定词
  36. POS: genitive marker 所有格标记
  37. PRP: pronoun, personal 人称代词
  38. RB: adverb 副词
  39. RBR: adverb, comparative 副词比较级
  40. RBS: adverb, superlative 副词最高级
  41. RP: particle 小品词
  42. SYM: symbol 符号
  43. TO:toas preposition or infinitive marker 作为介词或不定式标记
  44. WDT: WH-determiner WH限定词
  45. WP: WH-pronoun WH代词
  46. WP$: WH-pronoun, possessive WH所有格代词
  47. WRB:Wh-adverb WH副词
  48. 关系表示
  49. abbrev: abbreviation modifier,缩写
  50. acomp: adjectival complement,形容词的补充;
  51. advcl : adverbial clause modifier,状语从句修饰词
  52. advmod: adverbial modifier状语
  53. agent: agent,代理,一般有by的时候会出现这个
  54. amod: adjectival modifier形容词
  55. appos: appositional modifier,同位词
  56. attr: attributive,属性
  57. aux: auxiliary,非主要动词和助词,如BE,HAVE SHOULD/COULD等到
  58. auxpass: passive auxiliary 被动词
  59. cc: coordination,并列关系,一般取第一个词
  60. ccomp: clausal complement从句补充
  61. complm: complementizer,引导从句的词好重聚中的主要动词
  62. conj : conjunct,连接两个并列的词。
  63. cop: copula。系动词(如be,seem,appear等),(命题主词与谓词间的)连系
  64. csubj : clausal subject,从主关系
  65. csubjpass: clausal passive subject 主从被动关系
  66. dep: dependent依赖关系
  67. det: determiner决定词,如冠词等
  68. dobj : direct object直接宾语
  69. expl: expletive,主要是抓取there
  70. infmod: infinitival modifier,动词不定式
  71. iobj : indirect object,非直接宾语,也就是所以的间接宾语;
  72. mark: marker,主要出现在有“that” or “whether”“because”, “when”,
  73. mwe: multi-word expression,多个词的表示
  74. neg: negation modifier否定词
  75. nn: noun compound modifier名词组合形式
  76. npadvmod: noun phrase as adverbial modifier名词作状语
  77. nsubj : nominal subject,名词主语
  78. nsubjpass: passive nominal subject,被动的名词主语
  79. num: numeric modifier,数值修饰
  80. number: element of compound number,组合数字
  81. parataxis: parataxis: parataxis,并列关系
  82. partmod: participial modifier动词形式的修饰
  83. pcomp: prepositional complement,介词补充
  84. pobj : object of a preposition,介词的宾语
  85. poss: possession modifier,所有形式,所有格,所属
  86. possessive: possessive modifier,这个表示所有者和那个’S的关系
  87. preconj : preconjunct,常常是出现在 “either”, “both”, “neither”的情况下
  88. predet: predeterminer,前缀决定,常常是表示所有
  89. prep: prepositional modifier
  90. prepc: prepositional clausal modifier
  91. prt: phrasal verb particle,动词短语
  92. punct: punctuation,这个很少见,但是保留下来了,结果当中不会出现这个
  93. purpcl : purpose clause modifier,目的从句
  94. quantmod: quantifier phrase modifier,数量短语
  95. rcmod: relative clause modifier相关关系
  96. ref : referent,指示物,指代
  97. rel : relative
  98. root: root,最重要的词,从它开始,根节点
  99. tmod: temporal modifier
  100. xcomp: open clausal complement
  101. xsubj : controlling subject 掌控者
  102. 中心语为谓词
  103. subj — 主语
  104. nsubj — 名词性主语(nominal subject) (同步,建设)
  105. top — 主题(topic) (是,建筑)
  106. npsubj — 被动型主语(nominal passive subject),专指由“被”引导的被动句中的主语,一般是谓词语义上的受事 (称作,镍)
  107. csubj — 从句主语(clausal subject),中文不存在
  108. xsubj — x主语,一般是一个主语下面含多个从句 (完善,有些)
  109. 中心语为谓词或介词
  110. obj — 宾语
  111. dobj — 直接宾语 (颁布,文件)
  112. iobj — 间接宾语(indirect object),基本不存在
  113. range — 间接宾语为数量词,又称为与格 (成交,元)
  114. pobj — 介词宾语 (根据,要求)
  115. lobj — 时间介词 (来,近年)
  116. 中心语为谓词
  117. comp — 补语
  118. ccomp — 从句补语,一般由两个动词构成,中心语引导后一个动词所在的从句(IP) (出现,纳入)
  119. xcomp — x从句补语(xclausal complement),不存在
  120. acomp — 形容词补语(adjectival complement)
  121. tcomp — 时间补语(temporal complement) (遇到,以前)
  122. lccomp — 位置补语(localizer complement) (占,以上)
  123. — 结果补语(resultative complement)
  124. 中心语为名词
  125. mod — 修饰语(modifier)
  126. pass — 被动修饰(passive)
  127. tmod — 时间修饰(temporal modifier)
  128. rcmod — 关系从句修饰(relative clause modifier) (问题,遇到)
  129. numod — 数量修饰(numeric modifier) (规定,若干)
  130. ornmod — 序数修饰(numeric modifier)
  131. clf — 类别修饰(classifier modifier) (文件,件)
  132. nmod — 复合名词修饰(noun compound modifier) (浦东,上海)
  133. amod — 形容词修饰(adjetive modifier) (情况,新)
  134. advmod — 副词修饰(adverbial modifier) (做到,基本)
  135. vmod — 动词修饰(verb modifier,participle modifier)
  136. prnmod — 插入词修饰(parenthetical modifier)
  137. neg — 不定修饰(negative modifier) (遇到,不)
  138. det — 限定词修饰(determiner modifier) (活动,这些)
  139. possm — 所属标记(possessive marker),NP
  140. poss — 所属修饰(possessive modifier),NP
  141. dvpm — DVP标记(dvp marker),DVP (简单,的)
  142. dvpmod — DVP修饰(dvp modifier),DVP (采取,简单)
  143. assm — 关联标记(associative marker),DNP (开发,的)
  144. assmod — 关联修饰(associative modifier),NP|QP (教训,特区)
  145. prep — 介词修饰(prepositional modifier) NP|VP|IP(采取,对)
  146. clmod — 从句修饰(clause modifier) (因为,开始)
  147. plmod — 介词性地点修饰(prepositional localizer modifier) (在,上)
  148. asp — 时态标词(aspect marker) (做到,了)
  149. partmod– 分词修饰(participial modifier) 不存在
  150. etc — 等关系(etc) (办法,等)
  151. 中心语为实词
  152. conj — 联合(conjunct)
  153. cop — 系动(copula) 双指助动词????
  154. cc — 连接(coordination),指中心词与连词 (开发,与)
  155. 其它
  156. attr — 属性关系 (是,工程)
  157. cordmod– 并列联合动词(coordinated verb compound) (颁布,实行)
  158. mmod — 情态动词(modal verb) (得到,能)
  159. ba — 把字关系
  160. tclaus — 时间从句 (以后,积累)
  161. — semantic dependent
  162. cpm — 补语化成分(complementizer),一般指“的”引导的CP (振兴,的)

参考网址:

stanf官网:https://stanfordnlp.github.io/CoreNLP/index.html#human-languages-supported

stanza官网:https://stanfordnlp.github.io/stanza/index.html

网络资源:http://www.52nlp.cn/tag/corenlp

 

资源下载:包含中英文模型:

链接: https://pan.baidu.com/s/1doWw-WaJr6e9wC_Pfvj5Gw  密码:x46s

链接目录:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/567275
推荐阅读
相关标签
  

闽ICP备14008679号