【6-1】使用hanlp进行实体抽取以及句法分析(问题待解决)

news2024/11/29 4:40:06

1.使用hanlp抽取法人名称、企业名称等信息

# -*- coding: utf-8 -*-  
from pyhanlp import *
  
text1="1998年11月11日,马化腾和同学张志东在广东省深圳市正式注册成立“深圳市腾讯计算机系统有限公司”,之后许晨晔、陈一丹、曾李青相继加入。当时公司的业务是拓展无线网络寻呼系统,为寻呼台建立网上寻呼系统,这种针对企业或单位的软件开发工程是所有中小型网络服务公司的最佳选择。"  
  
CRFnewSegment = HanLP.newSegment("crf")  
term_list = CRFnewSegment.seg(text1)  
print(term_list)  
  
rmlist= []  
complist=[]  
  
for term in term_list:  
    if(term.nature=="nr"):
        rmlist.append(term.word)  
    if(term.nature=='nt'):
        complist.append(term.word)  
print(rmlist) 
print(complist) 

问题:使用term.nature.name=="nr",保错AttributeError: 'com.hankcs.hanlp.corpus.tag.Nature' object has no attribute 'name',使用使用term.nature=="nr",最终结果为空

问题解决:暂无

2.使用hanlp提取关键词信息

from pyhanlp import *  
document = "程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。"  
print(HanLP.extractKeyword(document, 2))  

问题:

正确结果应为:

 

但执行结果为:

问题解决:暂无

3.基于hanlp的句法分析案例

from pyhanlp import *  
# 依存句法分析  
sentence = HanLP.parseDependency("1998年11月11日,马化腾和同学张志东在广东省深圳市正式注册成立“深圳市腾讯计算机系统有限公司”。")  
  
print(sentence)  
  
for word in sentence.iterator():  # 通过dir()可以查看sentence的方法  
    print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA))  
print()  
  
# 也可以直接拿到数组,任意顺序或逆序遍历  
word_array = sentence.getWordArray()  
for word in word_array:  
    print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA))  
print()  
  
# 还可以直接遍历子树,从某棵子树的某个节点一路遍历到虚根  
CoNLLWord = JClass("com.hankcs.hanlp.corpus.dependency.CoNll.CoNLLWord")  
head = word_array[12]  
while head.HEAD:  
    head = head.HEAD  
    if (head == CoNLLWord.ROOT):  
        print(head.LEMMA)  
    else:  
        print("%s --(%s)--> " % (head.LEMMA, head.DEPREL))  

4.基于模板完成事件抽取 

(1)依赖包:pyhanlp

(2)组件如何安装、使用

1. 触发词:安装、配置、使用

2. 抽取类型:时间抽取

(3)匹配模板

1. .*?安装配置:(.*?)[]

2. .*?使用:(.*?)[]

(4)核心代码

#核心代码:  
if word == '安装' or word == '配置':  
pattern = re.compile('.*?安装配置:(.*?)[。]') # 查找数字  
for sentence in data:  
# print(sentence.decode('utf-8'))  
res = re.findall(pattern,sentence.decode('utf-8'))  
if len(res):  
result.append(res)  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1455838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

缩小ppt文件大小的办法

之前用别人模版做了个PPT,100多M,文件存在卡顿问题 解决办法: 1.找到ppt中哪个文件过大,针对解决 2.寻找视频/音频文件,减少体积 3.字体文件是不是过多的问题。 一、文件寻找的内容步骤: 步骤: 1.把p…

MySQL数据库基础(九):SQL约束

文章目录 SQL约束 一、主键约束 二、非空约束 三、唯一约束 四、默认值约束 五、外键约束(了解) 六、总结 SQL约束 一、主键约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有…

【Pygame手册03/20】用于绘制形状的 pygame 模块

目录 一、说明二、画图函数2.1 接口draw下的函数2.2 pygame.draw.rect()2.3 pygame.draw.polygon()2.4 pygame.draw.circle()2.5 pygame.draw.ellipse()2.6 pygame.draw.arc()2.7 pygame.draw.line ()2.8 pygame.draw.lines()2.9 pygame.draw.aaline()2.10 pygame.draw.aaline…

java之VO,BO,PO,DO,DTO

概念 VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这…

为React开发人员释放ChatGPT的开发力量

本文将深入研究ChatGPT可以授权React开发人员的无数用例,并提供有价值的见解。将ChatGPT集成到React开发中,为寻求增强工作流程的开发人员开启了一个可能性的世界,从代码辅助和项目规划到创造性的头脑风暴和UI/UX设计协作。 React是一个用于构…

管理类联考-复试-管理类知识-汇总

文章目录 总论管理的四大职能管理的效率与成果管理的职能管理者的技能不同层级需要的管理技能 古典管理理论与我国当代企业形态泰罗科学管理理论法约尔14条管理原则霍桑实验我国经济管理体制制度现代企业的特质我国经济发展与社会矛盾管理的基本原理 管理道德与社会责任企业的社…

ESP32工程中CMake使用及加入第三方SDK库文件

1、ESP32工程结构 本文中使用的是乐鑫官方推出的ESP-IDF v5.1对ESP32S3设备开发,并非是Arduino、Micro-python等第三方工具开发。在ESP-IDF框架中,乐鑫官方已经将CMake 和 Ninja 编译构建工具集成到了ESP-IDF中。 ESP-IDF 即乐鑫物联网开发框架&#xff…

跨境电商无货源如何实现自动化对接1688货源商品上架?1688商品采集API来帮你

阿里巴巴集团旗下的B2B电子商务网站,提供海量优质商品,为采购商和供应商提供交流、合作、采购等服务,是很多没有货源优势的电商卖家首选的货源途径,也是国内最大、货源种类最齐全的货源网站。 不少做跨境电商无货源的朋友都想要直…

WordPress管理员修改自己用户名的插件Username

有一些站长在刚开搭建WordPress网站时,对于管理员的用户名是随意输入,后来想要修改时发现不懂得如何下手。其实,修改WordPress管理员用户名最快速的方法就是进入数据库直接修改,详见『通过phpMyAdmin直接修改WordPress用户名的图文…

【qt创建线程两种方式】

QT使用线程的两种方式 1.案例进度条 案例解析: 如图由组件一个进度条和三个按钮组成,当点击开始的时候进度条由0%到100%,点击暂停,进度条保持之前进度,再次点击暂停变为继续,点击停止按钮进度条停止。 案…

如何实现Android平台GB28181设备接入模块按需打开摄像头并回传数据

技术背景 实际上,我在年前的blog,已经写过Android平台GB28181后台service模式启动摄像头按需回传数据了,此次版本,是上个demo的迭代版,目的是平台侧如果不发起回传请求的话,摄像头不打开。 后台service模…

系统调用之文件IO

学习完使用标准io库函数,进一步深入linux的内核实现系统的调用,本节主要学习文件io的相关函数。 标准IO与文件IO的区别 标准io是库函数,是系统调用的封装。 文件io是系统调用,是linux内核中的函数。 标准io有缓存,文件…

云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库

背景 基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。 Note: 由于是测试环境,以下创建了一个 local-storage 的 StorageClass ,并使用本地…

STM32 TIM输入捕获测频率占空比库函数

目录 一、输入捕获初始化函数 TIM_ICInit TIM_PWMIConfig TIM_ICStructInit 二、主从触发模式对应函数 TIM_SelectInputTrigger TIM_SelectOutputTrigger TIM_SelectSlaveMode 三、配置分频器函数 TIM_SetIC1Prescaler TIM_SetIC2Prescaler TIM_SetIC3Prescaler T…

OpenAI视频生成模型Sora背后的技术及其深远的影响

前言 Sora的视频生成技术在保真度、长度、稳定性、一致性、分辨率和文字理解等方面都达到了当前最优水平。其核心技术包括使用视觉块编码将不同格式的视频统一编码成Transformer可训练的嵌入向量,以及类似于扩散过程的UNet方法进行降维和升维的加噪与去噪操作。通过…

IO 流分类

一、File File 类(磁盘操作)可以用于表示文件和目录的信息,但是它不表示文件的内容。递归地列出一个目录下所有文件: public static void listAllFiles(File dir) {if (dir null || !dir.exists()) {return;}if (dir.isFile())…

Java集合篇之深入解析LinkedList

写在开头 作为ArrayList的同门师兄弟,LinkedList的师门地位逊色不少,除了在做算法题的时候我们会用到它之外,在实际的开发工作中我们极少使用它,就连它的创造者都说:“I wrote it,and I never use it”&am…

MySQL之json数据操作

1 MySQL之JSON数据 总所周知,mysql5.7以上提供了一种新的字段格式json,大概是mysql想把非关系型和关系型数据库一口通吃,所以推出了这种非常好用的格式,这样,我们的很多基于mongoDB的业务都可以用mysql去实现了。当然…

Java 基于微信小程序的汽车4S店客户管理系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

C++类和对象-多态->案例1计算器类、案例2制作饮品、案例3电脑组装需求分析和电脑组装具体实现

#include<iostream> using namespace std; #include<string> //分别利用普通写法和多态技术实现计算器 //普通写法 class Calculator { public: int getResult(string oper) { if (oper "") { return m_Num1 m_Num2; …