python库(21):

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 TextBlobtext = "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 TextBlobtext = "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 TextBlobtext = "this is a gaod ideo"
blob = TextBlob(text)# 拼写检查
corrected_blob = blob.correct()
print(f"原文:{text}")
print(f"更正:{corrected_blob}")

结果如下:

3.6 词和句子

from textblob import TextBlobtext = "this is a good idea"
blob = TextBlob(text)# 词操作
words = blob.words
print("词:", words)# 复数化和单数化
plural = words.pluralize()
print("复数:", plural)

结果如下:

3.7 词义和词根

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

用途:

  • 理解词的语义和语法形式
  • 在信息检索和知识图谱中使用
  • 改进文本处理和分析任务
from textblob import Wordword = Word("dragon")# 词义
synsets = word.synsets
print("词义:", synsets)# 词根
lemma = word.lemmatize()
print(f"词根:{lemma}")

结果如下:

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

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

相关文章

[Linux]如何在虚拟机安装Ubuntu?(小白向)

一、我们为什么要在虚拟机中安装Ubuntu? 在虚拟机中安装系统主要是为了让一个系统与我们原本的系统隔离,不管是想运行一些不安全的软件,或者是想运行一些独特的操作系统,我们都可以选择使用虚拟机来安装和隔离这些操作系统。如果你是一位Lin…

跨越语言障碍:2024四款实用在线翻译工具评测!

随着技术的不断进步,各种在线翻译工具层出不穷,帮助我们轻松跨越语言的鸿沟。今天,让我们一起探索几款非常实用的在线翻译工具! 福昕在线翻译 直达链接: https://fanyi.pdf365.cn/ 福昕在线翻译是一款专注于文档翻…

【C++】函数模板特化:深度解析与应用场景

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

dubbo:dubbo+nacos整合springcloud gateway实现网关(三)

文章目录 0. 引言1. 集成gateway网关1.1 实操步骤1.2 dubbo提供者注册到nacos出现两个实例的问题 2. 源码3. 总结 0. 引言 上次我们讲到使用zookeeper作为注册中心搭建dubbo微服务框架,但是我们还缺少一个服务总入口,也就是我们的网关服务。所以今天我们…

DataWhale AI夏令营-《李宏毅深度学习教程》笔记

DataWhale AI夏令营-《李宏毅深度学习教程》笔记 第三章 深度学习基础补充一些基础临界点及其种类逃离临界点方法批量动量自适应学习率学习率调度 之前一直接触的LLM大模型做一些应用,或者传统的自然语言处理,都是直接拿别人的模型用,要不就是…

k8s 部署Ruoyi-Vue-Plus之vue打包镜像

在这里插入图片描述 在这篇文章中,解释如何通过容器化(Docker)来打包和部署前端项目,替代之前手动维护版本的方式 1.nginx配置 在 ruoyi-ui 项目的根目录下创建一个 nginx.conf 文件, 我没有使用monitor-admin和xxljob-admin模块…

语言基础/单向链表的构建和使用(含Linux中SLIST的解析和使用)

文章目录 概述简单的链表描述链表的术语简单实现一个单链表 Linux之SLIST机理分析结构定义单链表初始化单链表插入元素单链表遍历元素单链表删除元素 Linux之SLIST使用实践纯C中typedef重命名带来的问题预留 概述 本文讲述了数据结构中单链表的基本概念,头指针、头…

CPP中lamada表达式作用一览[more cpp-6]

一般语法 CPP中的lambda 表达式的本质就是匿名函数,它可以在代码中定义一个临时的、局部的函数.为什么需要lamada表达式? 因为命名是个大问题 想名字以及避免命名冲突是很劳神费力的事,这就是lamada表达式的优点(lamada优点表现为简洁性)总…

如何在不格式化的情况下解锁 Android 智能手机密码

如果您忘记密码,您的 Android 移动设备将锁定您。发生这种情况时,通常可以通过恢复出厂设置来重新获得对设备的访问权限。可悲的是,这将导致所有数据丢失。下面列出的是解锁锁定的Android 手机而不会丢失任何个人数据的有效方法。 Android 手…

Ps:首选项 - 界面

Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“界面” Interface选项卡可以定制 Photoshop 的界面外观和行为,从而创建一个最适合自己工作习惯和需求的工作环境。这些设置有助于提高工作效率,减轻眼…

单片机外部中断+定时器实现红外遥控NEC协议解码

单片机外部中断定时器实现红外遥控NEC协议解码 概述解码过程参考代码 概述 红外(Infrared,IR)遥控,是一种通过调制红外光实现的无线遥控器,常用于家电设备:电视机、机顶盒等等。NEC协议采用PPM(Pulse Position Modulation&#x…

Vue的计算属性:methods方法、computed计算属性、watch监听属性

1、methods 方法 在创建的 Vue 应用程序实例中,可以通过 methods 选项定义方法。应用程序实例本身会代理 methods 选项中的所有方法,因此可以像访问 data 数据那样来调用方法。 【实例】在 Vue 应用程序中,使用 methods 选项定义获取用户信…

实验16:定时器中断实验

无硬件图&#xff0c;用到D1灯 代码main.c #include<reg52.h>typedef unsigned int u16; typedef unsigned char u8;sbit LED1P2^0;void delay_10us(u16 n) {while(n--); }void delay_ms(u16 ms) {u16 i,j;for(ims;i>0;i--)for(j110;j>0;j--); }void time0_init(v…

2月公开赛Web-ssrfme

考点&#xff1a; redis未授权访问 源码&#xff1a; <?php highlight_file(__file__); function curl($url){ $ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);echo curl_exec($ch);curl_close($ch); }if(isset($_GET[url…

innodb_buffer_pool_size在线缩小操作

一、背景 测试数据库内存32G&#xff0c;只有MySQL数据库&#xff0c;但是innodb_buffer_pool_size设置了24G&#xff0c;导致经常出现lack of memory问题、lack of swap问题。 因为使用了MySQL5.7.36版本&#xff0c;利用innodb_buffer_pool_size参数值可在线调整的新特性&…

编程之路:在Bug的迷宫中寻找出口

编程是一种艺术&#xff0c;也是一种科学。它要求我们既要有创造性的思维&#xff0c;又要有严谨的逻辑。在这条充满挑战的道路上&#xff0c;每个人都会遇到挫折&#xff0c;这些挫折可能来自于一个难以解决的Bug&#xff0c;一个复杂的算法&#xff0c;或者是在实现某个功能时…

云手机解决了TikTok哪些账号运营难题?

随着社交媒体的蓬勃发展&#xff0c;TikTok作为一款风靡全球的短视频应用&#xff0c;成为许多个人和企业进行品牌推广、内容创作的首选平台。然而&#xff0c;随之而来的是TikTok账号运营的一系列难题。本文将深入探讨云手机是如何解决这些难题的。 1、多账号运营的便捷性&…

tomcat实战演练

一.tomcat介绍 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c; Tomcat 具有处理 HTML 页面的功能&#xff0c;它还是一个 Servlet 和 JSP容器。Tomc…

C语言笔试题(指针、数组、整数在内存中的存储、结构体......)

文章目录 1.选择题2.代码题2.1 模拟实现strncat2.2 模拟实现strncpy2.3 编写判断大小端程序2.4 模拟实现atoi2.5 BC38 变种水仙花数2.6 BC98 序列中删除指定数字 今天我们一起来看一些题目 1.选择题 解析如下&#xff1a; 正确选项&#xff1a;B A.参数错误&#xff1b;D.返回…

Prettier+Vscode setting提高前端开发效率

文章目录 前言Prettier第一步&#xff1a;下载依赖&#xff08;团队合作&#xff09;或下载插件&#xff08;独立开发&#xff09;第二步&#xff1a;添加.prettierrc.json文件**以下是我使用的****配置规则** 第三步&#xff1a;添加.prettierignore文件**以下是我常用的****配…