python库(21):TextBlob库实现文本处理

news2024/11/17 5:25:38

1 TextBlob简介

TextBlob 是一个基于 Python 的文本处理库,能够让基础的自然语言处理任务变得异常简单。

它提供了一个简单直观的 API,让你能够轻松执行词性标注、名词短语提取、情感分析、文本分类和关键词提取等功能。

值得一提的是,TextBlob 实际上是对 NLTK(自然语言工具包)的一种扩展,这让新手和熟练的开发者能够以更高的层面轻松完成复杂的 NLP 任务。

特性

  • 简洁的API:提供了一个用户友好的接口来执行常见的文本处理任务。
  • 语言支持:支持多种语言的处理。
  • 扩展性:可以轻松扩展和定制,与NLTK库紧密集成。
  • 多功能性:支持文本翻译、拼写检查等高级文本处理功能。

地址如下:https://github.com/sloria/TextBlob

2 TextBlob安装

安装TextBlob库:

pip install textblob -i https://pypi.tuna.tsinghua.edu.cn/simple

下载TextBlob所依赖的自然语言处理(NLP)数据。

python -m textblob.download_corpora

TextBlob 支持多种语种的模型,你可以通过安装额外的资源文件来启用它们。

你甚至可以为你的特定需求,创建和添加新的模型。

3 基本功能

3.1 分割句子

TextBlob可以自动将文本分割成句子,这对于需要对文本进行逐句分析的场景非常有用。

from textblob import TextBlob

text = "TextBlob is very easy to use. It makes text processing simple and intuitive."
blob = TextBlob(text)

# 句子分割
for sentence in blob.sentences:
    print(sentence)

结果如下:

注意:这只是一个基本的示例,实际上 TextBlob 的分句器可能不如专门的中文分句库如 "jieba" 或 "SnowNLP" 那样准确,但它可以作为一个起点。

3.2 词性标注

定义:标记文本中的每个词的词性(名词、动词、形容词)

用途:

  1. 分析句子的语法结构
  2. 进行更高级的文本分析,如句法分析
  3. 识别和提取特定词的信息
from textblob import TextBlob

text = "The quick brown fox jumps over the lazy dog."
blob = TextBlob(text)
print(blob.tags)

结果如下:

3.3 名词提取

text = "The quick brown fox jumps over the lazy dog."
blob = TextBlob(text)
print(blob.noun_phrases)

结果如下:

3.4 情感分析

极性分析定义:

极性分析可以被看做一个任务,对于给定的一段带有观点的评论性文本,标记出它是整体正面或整体负面评价。

通俗讲,就是判断一段文字是正面,还是负面;赞同,还是反对。

极性分析意义:

极性分析具有很大的商业价值与公共服务价值。

比如对互联网网站、论坛、微博、抖音、快手的舆情检测,产品评价检测等。

from textblob import TextBlob

# 自然语言处理很有趣
text = "Natural Language Processing is fascinating. "
blob = TextBlob(text)

# 情感分析
sentiment = blob.sentiment
print(f"情感:极性 {sentiment.polarity}, 主观性 {sentiment.subjectivity}")

结果如下:

3.5 拼写检查和更正

from textblob import TextBlob

text = "this is a gaod ideo"
blob = TextBlob(text)

# 拼写检查
corrected_blob = blob.correct()
print(f"原文:{text}")
print(f"更正:{corrected_blob}")

结果如下:

3.6 词和句子

from textblob import TextBlob

text = "this is a good idea"
blob = TextBlob(text)

# 词操作
words = blob.words
print("词:", words)

# 复数化和单数化
plural = words.pluralize()
print("复数:", plural)

结果如下:

3.7 词义和词根

定义:获取词的词义、同义词、词根等

用途:

  • 理解词的语义和语法形式
  • 在信息检索和知识图谱中使用
  • 改进文本处理和分析任务
from textblob import Word

word = Word("dragon")

# 词义
synsets = word.synsets
print("词义:", synsets)

# 词根
lemma = word.lemmatize()
print(f"词根:{lemma}")

结果如下:

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

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

相关文章

Linux git的基本使用 安装 提交

目录 安装git 首次使用git的配置 拉取仓库 步骤1:新建仓库 步骤2:复制仓库地址 步骤3:远端仓库拉取到本地 上传代码 常用指令 安装git sudo apt-get install git # Ubuntu/Debian sudo dnf install git # Fedora sudo yum insta…

BMS中内阻补偿的使用

在BMS(电池管理系统)中,内阻补偿的使用主要涉及以下几个步骤和方法: 1. 内阻测量 实时监测:通过专用电路或算法实时测量电池的内阻。常用的方法包括脉冲测试法和交流阻抗测试法。计算内阻:基于电流和电压…

基于AI+多技术融合在流域生态系统服务评价 制图、水资源水环境水生态分析、土壤侵蚀分析、流域产水分析、流域碳收支评估、气候变化影响等应用

流域生态系统服务在环境保护与资源管理中具有不可替代的重要性。随着全球气候变化和人类活动对自然环境的压力日益增大,流域生态系统的稳定性和健康状况面临严峻挑战。水资源短缺、洪水频发、水质污染、生物多样性减少等问题,正在威胁流域内及其下游区域…

【综合架构】Part 5.2 Ansible

安装设备:管理设备-m01-10.0.0.61 部署与配置 部署 yum install -y ansible 配置 步骤 1:修改配置文件:关闭Host_key_checking。 vim /etc/ansible/ansible.cfg 步骤 2:修改配置文件:开启日志功能。

作为HR如何解决候选人爽约的问题

为了降低候选人的爽约概率,HR可以直接在预约面试时,通过电话或短信等多种方式,与候选人进行沟通,确保对方完全清楚面试的时间、地点和流程。在双方沟通的过程中,HR一定要注意语气亲切,要让候选人感受到企业…

2020年中国海岸带10m土地覆盖图

2020年中国海岸带10m土地覆盖遥感图 数据介绍 土地利用/覆盖分类是研究海岸带动态变化过程、理解滨海社会-生态系统作用机制和支持可持续发展的重要基础。中国海岸带土地覆盖复杂多样,以往多类别地表覆盖和滨海湿地专题数据集难以兼顾陆域和海域信息,而…

软考攻略/超详细/系统集成项目管理工程师/基础知识分享07

第三章 信息技术服务 3.1 内涵与外延 3.1.1 服务的特征(掌握) 服务的特征包括:无形性、不可分离性、可变性和不可储存性等。 3.1.2 IT服务的内涵(掌握) IT服务除了具备服务的基本特征,还具备本质特征、形…

利用C++实现PCL点云可视化:示例程序及解析(持续更新)

【版权声明】本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。 参考书籍:《人工智能点云处理及深度学习算法》 本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python…

HTML <template> 标签的基本技巧

前言 HTML中的<template>标记是 Web 开发中一个功能强大但经常未得到充分利用的元素。它允许你定义可重复使用的内容&#xff0c;这些内容可以克隆并插入 DOM 中而无需最初渲染。 此功能对于创建动态、交互式 Web 应用程序特别有用。 在本文中&#xff0c;我们将探讨有…

二极管、电阻、电容、电感的种类及作用

系列文章目录 文章目录 系列文章目录前言二极管的种类二极管的作用电容的种类电容的作用电阻的作用电感的作用 前言 参考&#xff1a;这个UP的视频&#xff1a;8位和32位单片机最本质区别&#xff0c;2分钟看懂&#xff01; 二极管的种类 1.恒流二极管&#xff1a;可以用在恒…

微积分复习笔记 Calculus Volume 1 - 1.2 Basic Classes of Functions

1.2 Basic Classes of Functions - Calculus Volume 1 | OpenStax

NetApp AFF A 全闪存系列,专为 AI 时代打造的统一数据存储

NetApp AFF A 系列系统可轻松为要求最苛刻的工作负载提供动力支持&#xff0c;从当前运行业务的任务关键型应用程序到未来将释放创新潜能和工作效率的 AI 和 GenAI 工作负载。凭借 GenAI 和其他现代企业业务负载所迫切需要的高级数据管理能力、行业领先的勒索软件防范技术和云集…

antd vue switch组件怎么把值true、false改为uint32类型的1和0

背景 已知switch组件的checked属性默认是传入true 和 false的&#xff0c;但是有这样的业务情景&#xff0c;既需要使用的是开关&#xff0c;又需要传入的是整数&#xff0c;那么我们应该如何修改呢&#xff1f; 解决方案 <a-form-item label"允许失败时保存"&…

视频压缩怎么操作?三个办法教你无损压缩视频

随着假期的结束&#xff0c;很多同学和朋友们开始整理自己在假期期间拍摄的各种视频&#xff0c;准备分享到社交媒体或是保存到自己的移动设备上。 然而&#xff0c;面对高清甚至4K视频的大文件体积&#xff0c;不少人都会遇到存储空间不足的问题。这时候&#xff0c;一个好的…

完全二叉树的表示转换:从邻接链表到邻接矩阵

完全二叉树的表示转换:从邻接链表到邻接矩阵 摘要一、引言二、完全二叉树的特点三、邻接链表到邻接矩阵的转换四、C代码实现五、结果分析六、结论摘要 在数据结构中,树是一种重要的非线性数据结构,用于表示具有层次关系的数据。树的表示方法主要有两种:邻接链表和邻接矩阵…

vscode +STM32 VS CODE EXTENSION

stm32 vs code extersion 1.0.0版本可以直接导入cubeide的工程&#xff0c;之后版本不可以&#xff0c;所以为了省事&#xff0c;使用stm32 vs code extersion 1.0.0插件。 安装完stm32 vs code extersion插件&#xff0c;会默认把相关插件一起安装。但是需要手动安装Ninja&am…

使用实例:xxl-job应用在spring cloud微服务下

1、首先下载&#xff0c;从github上下载&#xff0c;选择zip然后直接解压 https://github.com/xuxueli/xxl-job/releases 2、解压完后用idea启动。 启动这个启动类&#xff0c;然后按照路径访问 http://localhost:8080/xxl-job-admin/ 3、在你的项目里编写一个单独的微服务&a…

国内外大模型汇总(包括科大星火、文心一言、通义千问、智普清言、华为大模型)

国内外大模型汇总 1. 科大讯飞星火认知大模型 主要特点&#xff1a; 多语言能力&#xff1a;以中文为核心&#xff0c;同时支持多语言处理&#xff0c;能够进行跨语种的语言理解和生成。 广泛的任务能力&#xff1a;具备内容生成、语言理解、知识问答、推理、数学计算、代码…

java 使用intern()性能对比

JDK 7及其之后的版本&#xff0c;intern()方法可以直接把堆中的字符串对象的地址放到字符串常量池表共享&#xff0c;从而达到节省内存的目的。 不使用intern()和使用intern()对象个数和内存占用区别 public class StringInternMemoryTest {static final int MAX_COUNT 1000 …

JetBrains AI Assistant 有哪些突出的优点

ai assistant激活成功后&#xff0c;如图 ai assistant渠道&#xff1a;https://web.52shizhan.cn/activity/ai-assistant 在去年五月份的 Google I/O 2023 上&#xff0c;Google 为 Android Studio 推出了 Studio Bot 功能&#xff0c;使用了谷歌编码基础模型 Codey,Codey 是…