Python自然语言处理之spacy模块介绍、安装与常见操作案例
文章目录
- spacy模块介绍
- 安装spacy
- 常见操作案例及代码
- 1. 加载模型并处理文本
- 2. 词性标注
- 3. 命名实体识别
- 4. 依存句法分析
- 5. 可视化(在Jupyter Notebook中)
spacy模块介绍
spacy是一个强大的Python库,用于自然语言处理(NLP)。它提供了丰富的功能,包括分词、词性标注、依存句法分析、命名实体识别等,并且支持多种语言。spacy以其高性能、易用性和可扩展性而受到广泛欢迎。
安装spacy
在Python中安装spacy及其英语模型可以通过pip完成。以下是一个基本的安装命令,包括安装spaCy库和下载英语小模型en_core_web_sm:
pip install spacy
python -m spacy download en_core_web_sm
常见操作案例及代码
1. 加载模型并处理文本
import spacy# 加载预训练的英语模型
nlp = spacy.load("en_core_web_sm")# 处理文本
text = "Apple is looking at buying U.K. startup for $1 billion."
doc = nlp(text)# 打印分词结果
for token in doc:print(token.text)
输出结果(示例):
Apple
is
looking
at
buying
U.K.
startup
for
$
1
billion
.
2. 词性标注
# 打印词性标注结果
for token in doc:print(f"{token.text}: {token.pos_}")
输出结果(示例):
Apple: PROPN
is: VERB
looking: VERB
at: ADP
buying: VERB
U.K.: PROPN
startup: NOUN
for: ADP
$: SYM
1: NUM
billion: NUM
.: PUNCT
3. 命名实体识别
# 打印命名实体识别结果
for ent in doc.ents:print(f"{ent.text}: {ent.label_}")
输出结果(示例):
Apple: ORG
U.K.: GPE
$1 billion: MONEY
4. 依存句法分析
# 打印依存句法分析结果
for token in doc:print(f"{token.text}: {token.dep_} → {token.head.text}")
输出结果(示例,注意依存关系可能因版本和模型而异):
Apple: nsubj → looking
is: ROOT → is
looking: VERB → is
at: prep → looking
buying: pobj → at
U.K.: compound → startup
startup: dobj → buying
for: prep → buying
$: nmod → billion
1: nummod → billion
billion: pobj → for
.: punct → looking
5. 可视化(在Jupyter Notebook中)
由于可视化通常在Jupyter Notebook中更直观,这里假设你正在使用Jupyter Notebook环境。
from spacy import displacy# 依存句法分析可视化
displacy.render(doc, style="dep", jupyter=True)# 命名实体识别可视化
displacy.render(doc, style="ent", jupyter=True)
注意:上述可视化代码在Jupyter Notebook中执行时,会直接在输出单元格中显示图形。在非Jupyter环境中,你需要将结果保存为HTML文件或其他格式进行查看。
spacy的这些功能为自然语言处理提供了强大的工具集,使得文本分析、信息提取等任务变得更加容易和高效。
相关文章:
Python自然语言处理之spacy模块介绍、安装与常见操作案例
文章目录 spacy模块介绍安装spacy常见操作案例及代码1. 加载模型并处理文本2. 词性标注3. 命名实体识别4. 依存句法分析5. 可视化(在Jupyter Notebook中) spacy模块介绍 spacy是一个强大的Python库,用于自然语言处理(NLP…...
DSPy101
DSPy 介绍 DSPy(Declarative Self-improved Language Programs in Python) 是一个用于系统化和增强在流水线内使用语言模型的框架,它通过数据驱动和意图驱动的系统来优化大型语言模型(LLM)的使用。 DSPy 的核心是模块…...
网格交易策略:从原理、应用到实战Python回测
01 引言 随着金融市场的快速发展,量化交易成为投资者追求收益的一种重要手段。在众多的量化交易策略中,网格交易策略(Grid Trading Strategy)因其简单易用、风险控制灵活等优点而备受青睐。网格交易策略的核心思想是“低买高卖”&…...
软考论文《论大数据处理架构及其应用》精选试读
论文真题 模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型…...
fatfs API使用手册
配置 /*---------------------------------------------------------------------------/ / Configurations of FatFs Module /---------------------------------------------------------------------------*/#define FFCONF_DEF 80286 /* Revision ID *//*---------------…...
9.23作业
仿照string类,自己手动实现 My_string 代码如下 MyString.h #ifndef MYSTRING_H #define MYSTRING_H #include <iostream> #include <cstring>using namespace std;class My_string { private:char *ptr; //指向字符数组的指针int size; …...
Unity3D 房间去重叠化算法详解
前言 在Unity3D游戏开发中,经常需要生成和处理多个房间的场景,特别是在地牢生成、房屋布局或迷宫设计等应用中。为了确保生成的房间不会重叠,我们需要一种有效的去重叠化算法。以下将详细介绍该算法的原理和代码实现。 对惹,这里有…...
mybatis 配置文件完成增删改查(五) :单条件 动态sql查询,相当于switch
文章目录 单条件 动态sql查询写测试方法 疑问总结 单条件 动态sql查询 <select id"selectByConditionBySingle" resultMap"brandResultMap">.select *from tb_brandwhere<choose>/*相当于switch*/<when test"status ! null">…...
全球IP归属地查询-IP地址查询-IP城市查询-IP地址归属地-IP地址解析-IP位置查询-IP地址查询API接口
IP地址城市版查询接口 API是指能够根据IP地址查询其所在城市等地理位置信息的API接口。这类接口在网络安全、数据分析、广告投放等多个领域有广泛应用。以下是一些可用的IP地址城市版查询接口API及其简要介绍 1. 快证 IP归属地查询API 特点:支持IPv4 提供高精版、…...
Vue3+FastAPI中Token的刷新机制(含代码示例)
在Vue3和FastAPI的应用中,token刷新机制通常涉及以下几个步骤: 登录过程:用户登录时,后端FastAPI验证用户信息,验证通过后生成一个访问令牌(access token)和一个刷新令牌(refresh t…...
【GAN 图像生成】
理论知识学习: PART 1: 生成对抗网络GAN 深度学习模型,用于生成数据 对抗式训练,生成器v判别器 DCGAN>WGAN>StyleGAN技术不断进化 GAN在艺术创作。数据增强领域应用越来越广泛 应用: GAN在图像合成&#x…...
【自然语言处理】词嵌入模型
词嵌入(Word Embedding) 是一种将词汇表示为实数向量的技术,通常是低维度的连续向量。这些向量被设计为捕捉词汇之间的语义相似性,使得语义相似的词在嵌入空间中的距离也更近。词嵌入可以看作是将离散的语言符号(如单词…...
了解针对基座大语言模型(类似 ChatGPT 的架构,Decoder-only)的重头预训练和微调训练
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 随着自然语言处理(NLP)技术的飞速进步,基于 Transformer 架构的大语言模型在众多任务中取得了显著成就。特别是 Decoder-only 架构,如 GPT 系列模型&…...
cmake如何在编译时区分-std=c++17和-std=gnu++17?检查宏
如何在编译时区分-stdc17和-stdgnu17?检查宏?-腾讯云开发者社区-腾讯云 我正在使用__int128扩展的g。-stdc17的问题是,一些C库不具备对该扩展的全部支持(即std::make_unsigned<>失败)。当使用-stdgnu17时,它工作得很好。 我…...
速通数据结构与算法第七站 排序
系列文章目录 速通数据结构与算法系列 1 速通数据结构与算法第一站 复杂度 http://t.csdnimg.cn/sxEGF 2 速通数据结构与算法第二站 顺序表 http://t.csdnimg.cn/WVyDb 3 速通数据结构与算法第三站 单链表 http://t.csdnimg.cn/cDpcC 4 速通…...
灵当CRM index.php接口SQL注入漏洞复现 [附POC]
文章目录 灵当CRM index.php接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 灵当CRM index.php接口SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技…...
修复: Flux女生脸不再油光满面, 屁股下巴 -- 超实用Comfyui小技巧
ComfyUI上目前最强画图模型公认为Flux. 初次用Flux基础模型画真实的女生时, 和SD比起来, 会觉得画出来细节更多, 更真实. 但是当画多了, 就会觉得画出来的女生总是似曾相识. 仔细观察, 会发现一些共同的特征. 人偏老气, 像30~50的女生. 改了提示词也效果不大. 颧骨凸起, 嘴…...
Actions Speak Louder than Words Meta史诗级的端到端推荐大模型落地
发现好久之前整理的推荐系统被遗忘在了草稿箱,让它出来见见世面。。。后续空了持续更新 文章目录 1.Background2.Related works2.1 典型推荐模型2.1.1 DIN2.1.2 DIEN2.1.3 SIM2.1.4 MMoE2.1.5 其他 2.2. 生成式推荐 3.Method3.1 统一特征空间3.2 重塑召回排序模型3.…...
金智维KRPA之Excel自动化
Excel自动化操作概述 Excel自动化主要用于帮助各种类型的企业用户实现Excel数据处理自动化,Excel自动化是可以从单元格、列、行或范围中读取数据,向其他电子表格或工作簿写入数据等活动。 通过相关命令,还可以对数据进行排序、进行格式…...
哪款宠物空气净化器能有效去除浮毛?希喂、352实测分享
你是否曾经站在家电卖场里,面对琳琅满目的宠物空气净化器产品而感到无所适从?或者在浏览网上商城时,被海量的参数和功能描述搞得头晕眼花?别担心,你不是一个人。在这个科技飞速发展的时代,选择一台既能满足…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
