TextBlob(https://textblob.readthedocs.io/en/dev/index.html)是一个用于处理文本数据的Python库。它提供一个简单的API,可用于深入研究常见的NLP任务,如词性标注、名词短语提取、情感分析、文本翻译、分类等。

官方文档:https://textblob.readthedocs.io/en/dev/

目录

1. 情感分析

2.词性标注

3. 分词和分句

4. 名词短语列表

5. 词形还原及词干提取

(1)单复数

(2)Word 类

(3)WordNet:获取近义词

6. 拼写矫正

(1)直接矫正

(2)Word 拼写检查

7. 单词词频

(1)单词词频

(2)短语频次

8. 翻译及语言检测语言


1. 情感分析

情感指的是隐藏在句子中的观点,极性(polarity)定义句子中的消极性或积极性,主观性(subjectivity)暗示句子的表达的含糊的、还是肯定的。

返回一个元组 Sentiment(polarity, subjectivity).

polarity: [-1.0, 1.0].     -1.0 消极,1.0积极

subjectivity: [0.0, 1.0]      0.0 表示客观,1.0表示主观.

from textblob import TextBlobtext = "Textblob is amazingly simple to use. What great fun!"
blob = TextBlob(text)  # 创建一个textblob对象
from textblob import TextBlobresult = blob.sentiment
# Sentiment(polarity=0.39166666666666666, subjectivity=0.4357142857142857)polarity = blob.sentiment.polarity    # 0.39166666666666666

2.词性标注

wiki = TextBlob("Python is a high-level, general-purpose programming language.")
tag = wiki.tags# [('Python', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('high-level', 'JJ'), ('general-purpose', 'JJ'), ('programming', 'NN'), ('language', 'NN')]

3. 分词和分句

blob = TextBlob("Beautiful is better than ugly. ""Explicit is better than implicit. ""Simple is better than complex.")word = blob.words
sentence = blob.sentences'''
['Beautiful', 'is', 'better', 'than', 'ugly', 'Explicit', 'is', 'better', 'than', 'implicit', 'Simple', 'is', 'better', 'than', 'complex'][Sentence("Beautiful is better than ugly."),
Sentence("Explicit is better than implicit."),
Sentence("Simple is better than complex.")]
'''

4. 名词短语列表

list = wiki.noun_phrases# ['python']

5. 词形还原及词干提取

(1)单复数

singularize() 变单数, pluralize()变复数,用在对名词进行处理,且会考虑特殊名词单复数形式

sentence = TextBlob('Use 4 spaces per indentation level.')
word = sentence.wordsdanshu = word[2].singularize()   # space
fushu = word[-1].pluralize()    # levels

(2)Word 类

lemmatize() 方法  对单词进行词形还原,名词找单数,动词找原型。所以需要一次处理名词,一次处理动词。

from textblob import Wordw1 = Word('apples')
result1 = w1.lemmatize()  # 默认只处理名词 applew2 = Word('went')
result2 = w2.lemmatize("v")  # 对动词原型处理 go

(3)WordNet:获取近义词

# 1.获取近义词
from textblob import Word
from textblob.wordnet import VERB
result1 = Word("hack").synsets
result2 = Word("hack").get_synsets(pos=VERB)   #get_synsets(): 只查找 该词作为 动词 的集合,参数为空时和synsets方法相同'''
result1:[Synset('hack.n.01'), Synset('machine_politician.n.01'), Synset('hack.n.03'),
Synset('hack.n.04'), Synset('cab.n.03'), Synset('hack.n.06'), Synset('hack.n.07'),
Synset('hack.n.08'), Synset('chop.v.05'), Synset('hack.v.02'), Synset('hack.v.03'),
Synset('hack.v.04'), Synset('hack.v.05'), Synset('hack.v.06'), Synset('hack.v.07'), Synset('hack.v.08')]result2:[Synset('chop.v.05'), Synset('hack.v.02'), Synset('hack.v.03'), Synset('hack.v.04'),
Synset('hack.v.05'), Synset('hack.v.06'), Synset('hack.v.07'), Synset('hack.v.08')]
'''2. 获取近义词的定义
defi = result1[1].definition()  # 获取定义#defi结果: a politician who belongs to a small clique that controls a political party for private rather than public ends3. 获取单词本身的定义
defi = Word("octopus").definitions# ['tentacles of octopus prepared as food', 'bottom-living cephalopod having a soft oval body with eight long tentacles']

6. 拼写矫正

(1)直接矫正

b = TextBlob("I havv goood speling!")
b_corr = b.correct()
print(b_corr)  # I have good spelling!

(2)Word 拼写检查

word.spellcheck()方法,返回带有拼写建议的(word,confidence)元组列表

from textblob import Word
w = Word('falibility')
w_ = w.spellcheck()
print(w_)  # [('fallibility', 1.0)]

7. 单词词频

(1)单词词频

monty = TextBlob("We are no longer the Knights who say Ni. ""We are now the Knights who say Ekki ekki ekki PTANG.")#(1)方式1
counts = monty.word_counts['ekki']  # 不区分大小写
print(counts)  # 3 #(2)方式2
counts2 = monty.words.count('ekki')
print(counts2)  # 3#(3)方式3
counts3 = monty.words.count('ekki', case_sensitive=True)   # 设置大小写敏感,默认不区分
print(counts3)  # 2

(2)短语频次

counts4 = wiki.noun_phrases.count('python')   # 短语频次
print(counts4) # 1

8. 翻译及语言检测语言

en_blob = TextBlob('Simple is better than complex.')
lang = en_blob.translate(to='es')  # from_lang默认 en
print(lang)
# TextBlob("Simple es mejor que complejo.")chinese_blob = TextBlob("美丽优于丑陋")
lang = chinese_blob.translate(from_lang="zh-CN", to='en')
print(lang)
# TextBlob("Beautiful is better than ugly")

自然语言处理库——TextBlob相关推荐

  1. python自然语言处理库_Python自然语言处理工具库(含中文处理)

    自然语言处理(Natural Language Processing,简称 NLP),是研究计算机处理人类语言的一门技术.随着深度学习在图像识别.语音识别领域的大放异彩,人们对深度学习在 NLP 的价 ...

  2. python自然语言处理库_Python 自然语言处理(NLP)工具库汇总

    最近正在用nltk 对中文网络商品评论进行褒贬情感分类,计算评论的信息熵(entropy).互信息(point mutual information)和困惑值(perplexity)等(不过这些概念我 ...

  3. NLP判断语言情绪_Python的8大牛叉的自然语言处理库概览

    Python系技术生态中有很多的NLP资源,该如何选择呢?本文将介绍用于分析文本的最佳Python库以及如何使用它们. 0.导引 自然语言处理,或简称为NLP,最好描述为"用于处理语音和文本 ...

  4. 6大最流行、最有用的自然语言处理库对比

    现在自然语言处理(NLP)变得越来越流行,这在深度学习发展的背景下尤其引人注目.NLP 是人工智能的一个分支,旨在从文本中理解和提取重要信息,进而基于文本数据进行训练.NLP 的主要任务包括语音识别和 ...

  5. CS224N 2019 自然语言处理(一)自然语言处理库gensim之Word2vec

    笔记摘抄 1. WordNet显示同义词 from nltk.corpus import wordnet as wn# 同义词 poses = {'n': 'noun', 'v': 'verb', ' ...

  6. 自然语言典型工具TextBlob、Gensim、Polyglot,关键词抽取(jieba、TF-IDF、textrank)和特征提取(CountVectorizer、TfidfVectorizer)

    一.自然语言处理的典型工具 自然语言处理的三项基本技术为单词切分.句法分析.语义理解. 1. TextBlob TextBlob是自然语言处理的python库.它为常见的自然语言处理提供一个简单地AP ...

  7. NLPer,你知道最近很火的自然语言处理库么?

    介绍 "NLP's ImageNet moment has arrived." 想象一下我们有能力构建支持谷歌翻译的自然语言处理(NLP)模型,并且在Python中仅需几行代码来完 ...

  8. 使用NLP库textblob进行情感分析-红楼梦评论

    最近做了一个分析国外读者对红楼梦评价的小项目.这部分是使用textblob库对评论进行情感分析,得到情感值,并且进行分类,生成词云. 生成直方图.条形图的数据分析过程见我的这篇文章 读入的数据是这样的 ...

  9. python transformers_PyTorch-Transformers:最先进的自然语言处理库(附带python代码)

    介绍 "NLP's ImageNet moment has arrived." – Sebastian Ruder 想象一下我们有能力构建支持谷歌翻译的自然语言处理(NLP)模型, ...

最新文章

  1. 计算机金融交叉学科考研,22考研:交叉学科可能成为新选择!它有哪些优势?
  2. Postgresql服务器配置-设置参数
  3. 添加串口和虚拟终端输出帮助调试
  4. OpenGL Texture Coordinates纹理坐标的实例
  5. javascript原型链中 this 的指向
  6. dom4j 解析xml Error on line 9717 of document 不允许有匹配 [xX][mM][lL] 的处理指令目标
  7. 两步解决科来数据包生成器找不到网卡的问题
  8. linux鼠标选中的内容不能复制,解决vim不能使用鼠标右键复制的问题
  9. Ubuntu wine 安装qq,微信
  10. 【练习】多表查询练习
  11. 零代码的科普算法书《未来算法》读后
  12. 百度竞价账户关键词分类
  13. Python3 利用阿里接口,根据银行卡号获取银行名称和logo
  14. fastlane 问题记录
  15. 为什么宇宙年龄138亿年(哈勃常数的倒数),大小竟有930亿光年?
  16. 20:关于x++和++x的用法
  17. 【华为OD机试真题 python】停车场车辆统计
  18. 【A021】Axure制作气泡闪动图
  19. 消消乐要求 c语言程序,C++语言实现开心消消乐
  20. 2021-11-29 轨迹规划五次多项式

热门文章

  1. Android --- ImageView的scaleType属性讲解
  2. Dreamwear如何创建javascript_JavaScript还可以处理日期?你只需要这样做
  3. 弱电工程网络视频监控系统联网方式及接地要求
  4. centos 开发php扩展,【PHP扩展】centos给PHP安装扩展
  5. java打印 a b c,创建一个java程序,按顺序给出3个术语作为输入(a,b,c)打印它们的根...
  6. DL之随机性:理解和探究采用深度学习算法预测时导致多次运行结果不一致的问题
  7. 成功解决OSError: cannot open resource File F:Python36\lib\site-packages\PIL\ImageFont.py, self.font
  8. 成功解决AttributeError: module 'tensorflow.contrib.data' has no attribute 'TextLineDataset'
  9. eclipse创建spring boot项目加载不到application.properties配置文件
  10. Springboot 连接数据库