spacy的安装和使用教程

**引言:**从文本内容中抽取实体已经成为增强许多下游任务表现的一个关键因素。如何安装spacy库,下载spacy预训练语言模型以及使用模型抽取文本中的实体信息是本文的重点关注问题。若想详细了解spacy模型可以浏览github库https://github.com/explosion/spacy-models

文章目录

一、spacy安装

最简单直接的方式是采用以下命令直接在终端实施在线安装spacy包。

c 复制代码
pip install spacy

受python版本以及相关依赖包的缺乏,经常出现无法安装的窘境。为此,我们下载spacy包和相应的依赖包murmurhash、cymem,采用离线安装whl的方式实现安装。三个相关依赖包可通过官网下载:https://pypi.org/。一定要保证三个依赖包与自己的python版本匹配!!

c 复制代码
1.pip install murmurhash-1.0.10-cp37-cp37m-win_amd64.whl
2.pip install cymem-2.0.8-cp37-cp37m-win_amd64.whl
3.pip install spacy

二、spacy预训练模型安装

从https://spacy.io/models库中找到对应语言的预训练模型。

模型分为四类,各类模型描述如下:

将与spacy版本对应的某语言模型的tar.gz或.whl文件下载到本地文件夹中,用pip install 命令安装预训练模型。

三、spacy模型的使用pytorch代码

下面列举两个英文和中文提取实体信息的示例代码

c 复制代码
import spacy

try:
    nlp_en = spacy.load("en_core_web_sm")
    print("✅ English spaCy 模型加载成功!")
except Exception as e:
    print(f"❌ 加载失败:{e}")

try:
    nlp_zh = spacy.load("zh_core_web_sm")
    print("✅ Chinese spaCy 模型加载成功!")
except Exception as e:
    print(f"❌ 加载失败:{e}")

def extract_entities(text, lang="en"):
    """
    抽取文本中的实体
    lang: "en" 英文, "zh" 中文
    """
    nlp = nlp_en if lang == "en" else nlp_zh
    doc = nlp(text)
    return [(ent.text, ent.label_) for ent in doc.ents]


text = 'Apple Inc. was founded by Steve Jobs in Cupertino, California.'

en_text = "Apple Inc. was founded by Steve Jobs in Cupertino, California."
print("英文实体:")
for text, label in extract_entities(en_text, "en"):
    print(f"  {text}: {label}")

# 中文示例
zh_text = "2024年,阿里巴巴集团在杭州举办了云栖大会,创始人马云出席并发言。"
print("\n中文实体:")
for text, label in extract_entities(zh_text, "zh"):
    print(f"  {text}: {label}")

总结: spacy包已经成为抽取实体信息的必要环节。本博文从安装依赖包到下载预训练模型进行描述。如果对您有帮助,不要吝惜的点一个赞呀😁😁😁

参考博文:

1.https://www.cnblogs.com/my16/p/15167257.html

2.https://blog.csdn.net/cicd6pipeline/article/details/151013912

3.https://comate.baidu.com/zh/page/8cnl2692bec

相关推荐
Dmz丶16 分钟前
前端转 AI 100 天 Day 44:前端集成实战——用 React 给 Agent 做个正式界面
python
用户0807759078517 分钟前
从输入到输出:大模型推理全流程复盘(含纠错清单)
深度学习
数据技术说20 分钟前
在 KES AI 数据库上搭一条 NL2SQL 链路:语义、召回、权限各放哪
人工智能·sql·代码规范
jay神25 分钟前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
奶油话梅糖33 分钟前
用 iPhone 扫一间房,AI 帮你在浏览器里 1:1 重建它:Wes Bos 的 scan-to-threejs 工作流
人工智能·ios·iphone
DeepVisionary34 分钟前
阿里云上线旗舰多模态新模型,不公布跑分且限时14天退役
python·自动化
东莞市云毅网络有限公司35 分钟前
FAQ 覆盖度打分:TF-IDF 与向量嵌入双路召回的 Python 实现
python·数据清洗·rag·企业知识库·文档解析
爱笑的k111 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
锋行天下1 小时前
LangGraph HITL 实战:从 interrupt 到 useStream 的最小闭环
人工智能
kyriewen1 小时前
AI 能把页面写出来,为什么改个需求就开始崩?
前端·javascript·人工智能