查看原文
其他

texthero包 | 支持dataframe的文本分析包

大邓 大邓和他的Python 2022-07-09

视频课程|Python网络爬虫与文本分析~~

Texthero是一个可轻松处理文本数据集的python包。Texthero与pandas高度兼容,非常简单易学。给定一个以表格形式存储的文本数据集,仅需几行就能完成文本到向量的映射,帮助您快速处理文本。

Texthero包含用于以下目的的工具:

•预处理文本数据:它提供了即用型解决方案,但对于自定义解决方案也很灵活。•自然语言处理:关键短语和关键字提取,以及命名实体识别。•文本表示形式:TF-IDF,词频和自定义单词嵌入(WIP)•向量空间分析:聚类(K均值,Meanshift,DBSCAN和Hierarchical),主题建模(wip)和解释。•文本可视化:向量空间可视化,将本地化放置在地图上(WIP)。

Texthero是免费的,开源的并且有据可查的(这就是我们最喜欢的东西!)。

安装

文末有本文代码文件夹获取方式,解压后请务必放置于电脑桌面

在命令行切换到代码文件夹,然后依次执行下面的命令

#首先切换到代码文件夹cd desktop/texthero学习pip3 install gensim==3.8.1pip3 install texthero==1.0.9   pip3 install en_core_web_sm-3.0.0-py3-none-any.whl

快速入门

import pandas as pdimport texthero as heroimport warningswarnings.filterwarnings('ignore')
df = pd.read_csv("bbcsport.csv")df.head()

清洗数据

texthero.clean(s: pd.Series, pipeline=None)

该函数操作的数据对象s是pd.Series类型的数据; pipeline管道参数可接受的函数有:

•fillna 剔除空值•lowercase 字母小写化•remove_digits 去除数字•remove_punctuatione 去除标点符号•remove_stopwords 去除停用词•remove_whitespace 去除空格等。

df['clean_text'] = hero.clean(df['text'])df.head()

定制管道pipeline

from texthero import preprocessing
custom_pipeline = [preprocessing.fillna, preprocessing.remove_stopwords, preprocessing.lowercase, preprocessing.remove_whitespace]

df['clean_text'] = hero.clean(df['text'], custom_pipeline)df.head()

特征工程

一旦清洗好数据后,就可以将每个文档(每行的文本)映射为一个向量

df['tfidf_clean_text'] = hero.tfidf(df['clean_text'])df.head()

PCA降维

要想在二维空间可视化多维数据,需要将df['tfidf_clean_text']进行pca主成分分析,达到降低维度的目的。

df['pca_tfidf_clean_text'] = hero.pca(df['tfidf_clean_text'], n_components=2)df.head()

一步到位

上面的所有步骤(清洗文本、特征工程、pca降维),其实可以用一个代码块搞定。

df['pca'] = ( df['text'] .pipe(hero.clean) .pipe(hero.tfidf) .pipe(hero.pca, n_components=2))
df.head()

可视化

texthero.visualization对接pd.Series类型的数据,提供了可视化接口。

hero.scatterplot(df, col='pca', color='topic', title='PCA BBC Sport News')

总结

上面的代码帮助我们发现有5个主题区域,而这一切,只用了短短的几行texthero代码。

import texthero as heroimport pandas as pd
df = pd.read_csv("bbcsport.csv")
df['pca'] = ( df['text'] .pipe(hero.clean) .pipe(hero.tfidf) .pipe(hero.pca))
hero.scatterplot(df, col='pca', color='topic', title="PCA BBC Sport news")

精选文章

系列视频|Python网络爬虫与文本数据分析
B站视频 | Python自动化办公
bsite库 | 采集B站视频信息、评论数据
爬虫实战 | 采集&可视化知乎问题的回答
pdf2docx库 | 转文件格式,支持抽取文件中的表格数据
rpy2库 | 在jupyter中调用R语言代码
tidytext | 耳目一新的R-style文本分析库
reticulate包 | 在Rmarkdown中调用Python代码
plydata库 | 数据操作管道操作符>>
plotnine: Python版的ggplot2作图库
七夕礼物 | 全网最火的钉子绕线图制作教程
读完本文你就了解什么是文本分析
文本分析在经管领域中的应用概述  
综述:文本分析在市场营销研究中的应用
plotnine: Python版的ggplot2作图库
小案例: Pandas的apply方法  
stylecloud:简洁易用的词云库 
用Python绘制近20年地方财政收入变迁史视频  
Wow~70G上市公司定期报告数据集
漂亮~pandas可以无缝衔接Bokeh  
YelpDaset: 酒店管理类数据集10+G  

    分享”和“在看”是更好的支持



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存