首页 > 编程语言 >Python的Spacy

Python的Spacy

时间:2024-04-25 13:35:52浏览次数:26  
标签:nlp 中文 spacy Python text token doc Spacy

spaCy是一个基于Python编写的开源自然语言处理库。

基于自然处理领域的最新研究,spaCy提供了一系列高效且易用的工具,用于文本预处理、文本解析、命名实体识别、词性标注、句法分析和文本分类等任务。

安装

pip install spacy

查看版本

import spacy 
print(spacy.__version__)

安装中文模型

python -m spacy download zh_core_web_sm  

注:

  安装可能会失败,可采用离线安装

  下载 https://github.com/explosion/spacy-models/releases

 pip install zh_core_web_sm-3.7.0.tar.gz

1.分词

test.py

import spacy 
# 中文文本,需要加载中文模型
nlp = spacy.load("zh_core_web_sm")
text = "这是一句话啊."
doc = nlp(text)
for token in doc:
    print(token.text)

python test.py

这是
一句话

.

2.标注词性

import spacy 
# 中文文本,需要加载中文模型
nlp = spacy.load("zh_core_web_sm")
text = "这是一句话啊."
doc = nlp(text)
# 分词
tokens = [token.text for token in doc]
print("分词结果:", tokens)

# 词性标注
pos_tags = [(token.text, token.pos_) for token in doc]
print("词性标注结果:", pos_tags)

python test.py
分词结果: ['这是', '一句话', '啊', '.']
词性标注结果: [('这是', 'VERB'), ('一句话', 'NOUN'), ('啊', 'PART'), ('.', 'PUNCT')]

3.实体识别

import spacy 
# 中文文本,需要加载中文模型
nlp = spacy.load("zh_core_web_sm")
text = "济南是个美丽的城市."
doc = nlp(text)
# 实体识别
entities = [(ent.text, ent.label_) for ent in doc.ents]
print("实体识别结果:", entities)

python test.py
实体识别结果: [('济南', 'GPE')]

说明:

  GPE 地点性实体(Geo-Political Entity)

4.依存关系分析

import spacy 
# 中文文本,需要加载中文模型
nlp = spacy.load("zh_core_web_sm")
text = "济南是个美丽的城市."
doc = nlp(text)
#依存关系分析
dependency_tree = [(token.text, token.dep_, token.head.text) for token in doc]
print("依存关系分析结果:", dependency_tree)

python test.py
依存关系分析结果: [('济南', 'nsubj', '城市'), ('是', 'cop', '城市'), ('个', 'nummod', '城市'), ('美丽', 'amod', '城市'), ('的', 'mark', '美丽'), ('城市', 'ROOT', '城市'), ('.', 'punct', '城市')]

 

标签:nlp,中文,spacy,Python,text,token,doc,Spacy
From: https://www.cnblogs.com/baby123/p/18152062

相关文章

  • python 一个开箱即用的多线程代码
    适合数据采集的多线程代码!#coding=utf-8#coding=gbk#coding=gb2312importrequestsimportthreadingimportqueuedefget_response(source):returnresponsedefdecode(source,response):##保存数据passdefmains():whileTrue:......
  • python读取xls表格中指定列或行范围的数据
    importxlrd#打开Excel文件workbook=xlrd.open_workbook('test01.xls')#获取第一个工作表worksheet=workbook.sheet_by_index(0)#指定的行区域#读取第(row_index_x+1)行中,第(start_cols+1)列至第end_cols列范围的数据start_cols=0#第(start_cols+1)列end_cols......
  • 【学习笔记】Python 使用 matplotlib 画图
    目录安装中文显示折线图、点线图柱状图、堆积柱状图坐标轴断点参考资料本文将介绍如何使用Python的matplotlib库画图,记录一些常用的画图demo代码安装#建议先切换到虚拟环境中pipinstallmatplotlib中文显示新版的matplotlib已经支持字体回退功能,因此可以直接设置......
  • AWS S3 Lambda Python脚本函数执行时报错AttributeError: module ‘PIL‘ has no attr
    背景代码示例如下importPILdefadd_image(self,tag,img,step):summary=Summary()bio=BytesIO()iftype(img)==str:img=PIL.Image.open(img)eliftype(img)==PIL.Image.Image:passelse:img=scipy.misc.......
  • python函数递归
    【递归】递归:是函数嵌套调用的一种特殊形式,也就是在调用一个函数的过程中右直接或是间接的调用到本身,然后一直循环deff1():print('一直是我')f1()f1()#调用本身,会死循环============================上述是直接调用间接调用  ================......
  • Python基础-模块和面向对象-shutil、re、bs4、requests模块
    概要:模块自定义模块(已经讲了)内置模块shutilre正则表达式第三方模块requests模块bs4模块面向对象:面向对象(Object-OrientedProgramming),简称OOP,是一种编程范式,它使用“对象”来设计软件,这些对象包含了数据(属性)和可以操作这些数据的方法。面向对象的核心......
  • Python基础-模块、Python操作excel
    模块和面向对象-day9今日概要模块自定义模块内置模块第三方模块[!Caution]这个地方讲的会比较多,而且有的东西网上搜不到!!!自动化办公相关模块--Excel和Word面向对象1.面向对象中的概念对象,什么是对象?比如说我桌子上好多东西,有铅笔、钢笔、圆珠笔,玻......
  • 交点法公路计算的一些相关方法函数(Python)
    1#弧度归一化2@staticmethod3defnormalize_radian(radian):4returnradian%tau56#获取坐标差7@staticmethod8defget_coord_diff(start_x,start_y,end_x,end_y):9returnend_x-start_x,end_y-st......
  • Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据
    全文下载链接:http://tecdat.cn/?p=17748最近我们被客户要求撰写关于销售量时间序列建模的研究报告,包括一些图形和统计输出。在本文中,在数据科学学习之旅中,我经常处理日常工作中的时间序列数据集,并据此做出预测我将通过以下步骤:探索性数据分析(EDA)问题定义(我们要解决什么)变量......
  • Python基础-模块和包(hashlib、random、json、time、datetime和os模块)
    什么是模块和包?模块:python中的.py文件,将一些功能按照某一种维度进行划分;自定义、内置。、第三方.包:文件夹里面好多个.py文件。在讨论的时候,一般统称为:模块。学习:自定义模块和包+使用内置模块+使用第三方模块+使用1自定义模块和包1.1快速上手-项目文件夹(......