瑞士小哥开源文本英雄Texthero:一行代码完成数据预处理,网友:早用早下班!

2020 年 7 月 6 日 新智元



  新智元报道  

来源:GitHub

编辑: 白峰

【新智元导读】自然语言处理任务的数据通常是杂乱无章的,而文本预处理要消耗大量的时间和精力。近日,GitHub上开源了一个NLP工具箱Texthero,不仅功能完善一个pipeline完成所有操作,速度还超快堪比SpaCy,一起来尝鲜吧!


NLPer最头疼的可能就是数据预处理了,拿到的多源数据通常长下面这样,乱成一团。

       

    

「我只想远离我的数据集,休息一下。」

 

如果你已经处理过文本数据并应用过一些机器学习算法,那么你肯定了解「NLP 管道」是多么复杂。

 

你通常需要写一堆正则表达式来清理数据,使用 NLTK、 SpaCy 或 Textblob 预处理文本,使用 Gensim (word2vec)或 sklearn (tf-idf、 counting 等)将文本向量化。

 

即使对于 Python 专家来说,如果考虑不周全,不理解哪些任务是必需的,也很容易迷失在不同的包文档中。

 

而现在有一个全新的自然语言处理工具箱,你只需要打开一个新的笔记本,就能像Pandas一样开始文本数据分析了,先睹为快!

 


文本英雄:一个pipeline完成所有NLP操作

Texthero 是一个开源的NLP工具包,旨在 Pandas 之上使用单一工具简化所有 NLP 开发人员的任务。 它由预处理、向量化、可视化和 NLP 四个模块组成,可以快速地理解、分析和准备文本数据,以完成更复杂的机器学习任务。
 
       

Texthero可以轻松实现以下功能。
 
文本数据预处理

和Pandas无缝衔接,既可以直接使用,又可以自定义解决方案十分灵活。
        

导入完数据直接clean ,不要太简单,所有脏活累活,Texthero都帮你完成了!我们来看看它在后台做了哪些工作。
       

Wow!填充缺失值、大小写转换、移除标点符号、移除空白字符等应有尽有,这些预处理对普通的文本数据已经足够了。
 
而此前, 没有Texthero的话,你只能自定义文本清洗函数,包括去停用词、去特殊符号、词干化、词型还原等,非常复杂。
       

自然语言处理

关键短语和关键字提取,命名实体识别等等。
               
文本表示

TF-IDF,词频,预训练和自定义词嵌入。
 
              
向量空间分析

聚类(K均值,Meanshift,DBSAN和Hierarchical),主题建模(LDA和LSI)和解释。

               
文本可视化

一行代码即可完成关键字可视化,向量空间可视化等。
      

不仅功能强大速度还超快!

有网友怀疑融合了这么多的功能,速度一定有所下降。
 
而真相是:Texthero 相当快。
 
Texthero 使用了许多其他库,因此它的速度在很大程度上受到依赖库的影响。
 
但是对于文本预处理: 基本上就是 Pandas (在内存中使用 NumPy)和 Regex,速度非常快。 对于tokenize,默认的 Texthero 函数是一个简单但功能强大的 Regex 命令,这比大多数 NLTK 和 SpaCy 的tokenize快,因为它不使用任何花哨的模型,缺点是没有 SpaCy 那样精确。
                
对于文本表示: TF-IDF 和 Count底层使用 sklearn 进行计算,因此它和 sklearn 一样快。 嵌入是预先计算加载的,因此没有训练过程。词性标注和 NER 是用 SpaCy 实现的。众所周知,SpaCy 是同类自然语言处理中最快的,它也是工业界使用最多的。
 

网友:恨不生同时,早用早下班!

作者Jonathan Besomi是一个瑞士的NLP工程师。Texthero开源之后,他也在Reddit耐心回答了网友提问。


网友们用过之后也是纷纷点赞。
 
一周前放出来,我就能早点下班了!
                 
简直是上帝的杰作!  
               
来,快到我碗里来,我要应用到我现在的项目中。
       
太酷了!还可以将自己的TensorFlow/PyTorch模块融合进去。

       

当然这不是一个详尽的文档,作者稍后会写一个详细的博客文章,如果你也感兴趣并想加入Texthero,赶紧联系作者提交你的代码吧,或者直接撸一个Texthero中文版出来估计也能赚一波star!
 
参考链接:

https://github.com/jbesomi/texthero
https://texthero.org/


登录查看更多
2

相关内容

数据预处理(data preprocessing)是指在主要的处理以前对数据进行的一些处理。如对大部分地球物理面积性观测数据在进行转换或增强处理之前,首先将不规则分布的测网经过插值转换为规则网的处理,以利于计算机的运算。另外,对于一些剖面测量数据,如地震资料预处理有垂直叠加、重排、加道头、编辑、重新取样、多路编辑等。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
167+阅读 · 2020年3月27日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
手把手教你用R语言制作网络爬虫机器人(一)
R语言中文社区
4+阅读 · 2019年1月26日
最流行的6大开源自然语言处理库对比
大数据技术
8+阅读 · 2018年8月14日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
教你用Python进行自然语言处理(附代码)
数据派THU
6+阅读 · 2018年3月28日
无需一行代码就能搞定机器学习的开源神器
人工智能头条
6+阅读 · 2017年11月7日
python文本相似度计算
北京思腾合力科技有限公司
24+阅读 · 2017年11月6日
Local Relation Networks for Image Recognition
Arxiv
4+阅读 · 2019年4月25日
Arxiv
8+阅读 · 2019年3月28日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
7+阅读 · 2018年6月1日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
167+阅读 · 2020年3月27日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
手把手教你用R语言制作网络爬虫机器人(一)
R语言中文社区
4+阅读 · 2019年1月26日
最流行的6大开源自然语言处理库对比
大数据技术
8+阅读 · 2018年8月14日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
教你用Python进行自然语言处理(附代码)
数据派THU
6+阅读 · 2018年3月28日
无需一行代码就能搞定机器学习的开源神器
人工智能头条
6+阅读 · 2017年11月7日
python文本相似度计算
北京思腾合力科技有限公司
24+阅读 · 2017年11月6日
Top
微信扫码咨询专知VIP会员