1 前言
textBlob
是一個简单易用的 NLP库,基于 NLTK
和 pattern
库,
提供了文本处理和情感分析等功能。
安装
textblob==0.18.0
nltk==3.8.1
测试环境:Python3.10.9
使用前,先运行下面代码先下载些文件
import nltk
nltk.download('averaged_perceptron_tagger')
nltk.download('punkt')
nltk.download('brown')
nltk.download('wordnet')
2 词性标注
定义:标记文本中的每个词的词性(名词、动词、形容词)
用途:
- 分析句子的语法结构
- 进行更高级的文本分析,如句法分析
- 识别和提取特定词的信息
from textblob import TextBlob
text = "Natural Language Processing is fascinating. 测试"
blob = TextBlob(text)
# 词性标注
print("词性标注:")
for word, pos in blob.tags:
print(f"{word} - {pos}")
3 情感分析
原创:有勇气的牛排
https://www.couragesteak.com/article/455
3.1 极性分析
定义
极性分析可以被看做一个任务,对于给定的一段带有观点的评论性文本,标记出它是整体正面或整体负面评价。
通俗讲,就是判断一段文字是正面,还是负面;赞同,还是反对。
极性分析有什么意义?
极性分析具有很大的商业价值与公共服务价值。
比如对互联网网站、论坛、微博、抖音、快手的舆情检测,产品评价检测等。
3.2 案例代码
from textblob import TextBlob
# 自然语言处理很有趣
text = "Natural Language Processing is fascinating. "
blob = TextBlob(text)
# 情感分析
sentiment = blob.sentiment
print(f"情感:极性 {sentiment.polarity}, 主观性 {sentiment.subjectivity}")
4 拼写检查和更正
from textblob import TextBlob
text = "this is a gaod ideo"
blob = TextBlob(text)
# 拼写检查
corrected_blob = blob.correct()
print(f"原文:{text}")
print(f"更正:{corrected_blob}")
5 词和句子
from textblob import TextBlob
text = "this is a good idea"
blob = TextBlob(text)
# 词操作
words = blob.words
print("词:", words)
# 复数化和单数化
plural = words.pluralize()
print("复数:", plural)
6 词义和词根
定义:获取词的词义、同义词、词根等
用途:
- 理解词的语义和语法形式
- 在信息检索和知识图谱中使用
- 改进文本处理和分析任务
from textblob import Word
word = Word("dragon")
# 词义
synsets = word.synsets
print("词义:", synsets)
# 词根
lemma = word.lemmatize()
print(f"词根:{lemma}")