博客
关于我
HanLP的依存分析
阅读量:356 次
发布时间:2019-03-04

本文共 2769 字,大约阅读时间需要 9 分钟。

# 前言

    HanLP2.1支持包括简繁中英日俄法德在内的104种语言上的10种联合任务:分词(粗分、细分2个标准,强制、合并、校正3种)、词性标注(PKU、863、CTB、UD四套词性规范)、命名实体识别(PKU、MSRA、OntoNotes三套规范)、依存句法分析(SD、UD规范)、成分句法分析语义依存分析(SemEval16、DM、PAS、PSD四套规范)、语义角色标注词干提取词法语法特征提取抽象意义表示(AMR)。

    HanLP提供RESTfulnative两种API,分别面向轻量级和海量级两种场景

 

  • 在线演示:
  • HanLP Doc:
  • HanLP 教学资源:
  • HanLP GitHub:

 

# 安装

  • Native

  1. 创建虚拟环境(非必要操作

conda create -n hanlp python=3.7

  2. 安装HanLP(当在线安装失败时,可选择离线安装 []

pip install hanlp-2.1.0a36.tar.gz
  • RESTful

pip install hanlp_restful

 

# HanLP的使用(以native为例

  1. 查询HanLP中所有的预训练模型

hanlp.pretrained.ALL
lang corpora model tok pos ner dep con srl sdp lem fea amr
fine coarse ctb pku 863 ud pku msra ontonotes SemEval16 DM PAS PSD
mul UD2.7
OntoNotes5
small 98.62 - - - - 93.23 - - 74.42 79.10 76.85 70.63 - 91.19 93.67 85.34 87.71 84.51 -
base 99.67 - - - - 96.51 - - 80.76 87.64 80.58 77.22 - 94.38 96.10 86.64 94.37 91.60 -
zh open small 97.25 - 96.66 - - - - - 95.00 84.57 87.62 73.40 84.57 - - - - - -
base 97.50 - 97.07 - - - - - 96.04 87.11 89.84 77.78 87.11 - - - - - -
close small 96.70 95.93 96.87 97.56 95.05 - 96.22 95.74 76.79 84.44 88.13 75.81 74.28 - - - - - -
base 97.52 96.44 96.99 97.59 95.29 - 96.48 95.72 77.77 85.29 88.57 76.52 73.76 - - - - - -

  2. 使用HanLP 

import hanlpHanLP = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH)HanLP(['清华大学研究核能的教授有哪些'])
{	'tok/fine': [['清华大学', '研究', '核能', '的', '教授', '有', '哪些']], 	'tok/coarse': [['清华大学', '研究', '核能', '的', '教授', '有', '哪些']], 	'pos/ctb': [['NR', 'VV', 'NN', 'DEC', 'NN', 'VE', 'PN']], 	'pos/pku': [['nt', 'v', 'n', 'u', 'n', 'v', 'r']], 	'pos/863': [['ni', 'v', 'n', 'u', 'n', 'v', 'r']], 	'ner/msra': [[('清华大学', 'ORGANIZATION', 0, 1)]], 	'ner/pku': [[('清华大学', 'nt', 0, 1)]], 	'ner/ontonotes': [[('清华大学', 'ORG', 0, 1)]], 	'srl': [[[('研究', 'PRED', 1, 2), ('核能', 'ARG1', 2, 3), ('教授', 'ARG0', 4, 5)], [('清华大学研究核能的教授', 'ARG0', 0, 5), ('有', 'PRED', 5, 6), ('哪些', 'ARG1', 6, 7)]]], 	'dep': [[(5, 'nn'), (5, 'rcmod'), (2, 'dobj'), (2, 'cpm'), (6, 'top'), (0, 'root'), (6, 'dobj')]], 	'sdp': [[[(2, 'Agt')], [(5, 'rAgt')], [(2, 'Cont')], [(2, 'mAux')], [(6, 'Poss')], [(7, 'mVain')], [(0, 'Root'), (6, 'mTone')]]], 'con': [['TOP', [['IP', [['NP', [['NP', [['NR', ['清华大学']]]], ['CP', [['CP', [['IP', [['VP', [['VV', ['研究']], ['NP', [['NN', ['核能']]]]]]]], ['DEC', ['的']]]]]], ['NP', [['NN', ['教授']]]]]], ['VP', [['VE', ['有']], ['NP', [['PN', ['哪些']]]]]]]]]]]}

  3. 可以选择子任务功能

HanLP(['清华大学研究核能的教授有哪些'], tasks='tok')HanLP('清华大学研究核能的教授有哪些', tasks=['pos', 'dep'])HanLP('清华大学研究核能的教授有哪些', tasks=['pos/863', 'dep'])

  4. 可视化输出

HanLP(['清华大学研究核能的教授有哪些']).pretty_print()

 

# 工具学习系列

  词性标注集pos/tag 依存句法分析标注集dep 语义依存分析标注集sdp
LTP
SpaCy 基于扩展 采用了的依存分析标签 -
DDParser -
HanLP 、、、 、DM、PAS、PSD
stanford corenlp Penn Chinese Treebank Tag Set() 没找到说明采用的标注集 [] -
jieba 和 兼容的标记法 不支持 不支持

 

转载地址:http://jflh.baihongyu.com/

你可能感兴趣的文章
Vue3+elementplus实现图片上传下载(最强实践)
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>