HanLP的依存分析

2023-12-27 03:48
文章标签 分析 依存 hanlp

本文主要是介绍HanLP的依存分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

# 前言

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

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

 

  • 在线演示:https://hanlp.hankcs.com/
  • HanLP Doc:https://hanlp.hankcs.com/docs/index.html
  • HanLP 教学资源:https://www.hanlp.com/dynamic.html#
  • HanLP GitHub:https://github.com/hankcs/HanLP

 

# 安装

  • Native

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

conda create -n hanlp python=3.7

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

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

pip install hanlp_restful

 

# HanLP的使用(以native为例

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

hanlp.pretrained.ALL
langcorporamodeltokposnerdepconsrlsdplemfeaamr
finecoarsectbpku863udpkumsraontonotesSemEval16DMPASPSD
mulUD2.7
OntoNotes5
small98.62----93.23--74.4279.1076.8570.63-91.1993.6785.3487.7184.51-
base99.67----96.51--80.7687.6480.5877.22-94.3896.1086.6494.3791.60-
zhopensmall97.25-96.66-----95.0084.5787.6273.4084.57------
base97.50-97.07-----96.0487.1189.8477.7887.11------
closesmall96.7095.9396.8797.5695.05-96.2295.7476.7984.4488.1375.8174.28------
base97.5296.4496.9997.5995.29-96.4895.7277.7785.2988.5776.5273.76------

  2. 使用HanLP 

import hanlp
HanLP = 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()

 

# 工具学习系列

  • 哈工大LTP的依存分析
  • 百度DDParser的依存分析
  • Spacy的依存分析

 词性标注集pos/tag依存句法分析标注集dep语义依存分析标注集sdp
LTP863词性标注集BH-DEPBH-SDP
SpaCy基于Google Universal POS Tag set扩展采用了 ClearNLP 的依存分析标签-
DDParser百度构建的标注集DuCTB-
HanLPCTB、PKU、863、UDSD、UDSemEval16、DM、PAS、PSD
stanford corenlpPenn Chinese Treebank Tag Set(CTB)没找到说明采用的标注集 [链接]-
jieba和 ictclas 兼容的标记法不支持不支持

 

这篇关于HanLP的依存分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541805

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置