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

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

微信图片_20220109130049.png


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

     

微信图片_20220109130051.png

   

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

 

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

 

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

 

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

 

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

 

QQ图片20220109130523.png


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


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


        微信图片_20220109130055.png


Texthero可以轻松实现以下功能。 


文本数据预处理


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


       微信图片_20220109130059.png


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

 微信图片_20220109130101.png


Wow!填充缺失值、大小写转换、移除标点符号、移除空白字符等应有尽有,这些预处理对普通的文本数据已经足够了。 


而此前,没有Texthero的话,你只能自定义文本清洗函数,包括去停用词、去特殊符号、词干化、词型还原等,非常复杂。


      微信图片_20220109130103.png


自然语言处理


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


      微信图片_20220109130104.png      


文本表示


TF-IDF,词频,预训练和自定义词嵌入。       


微信图片_20220109130106.png      


向量空间分析


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


      微信图片_20220109130108.png      


文本可视化


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


    微信图片_20220109130109.png


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


有网友怀疑融合了这么多的功能,速度一定有所下降。 而真相是:Texthero 相当快。 


Texthero 使用了许多其他库,因此它的速度在很大程度上受到依赖库的影响。 


但是对于文本预处理: 基本上就是 Pandas (在内存中使用 NumPy)和 Regex,速度非常快。


对于tokenize,默认的 Texthero 函数是一个简单但功能强大的 Regex 命令,这比大多数 NLTK 和 SpaCy 的tokenize快,因为它不使用任何花哨的模型,缺点是没有 SpaCy 那样精确。


       微信图片_20220109130111.gif      


对于文本表示: TF-IDF 和 Count底层使用 sklearn 进行计算,因此它和 sklearn 一样快。


嵌入是预先计算加载的,因此没有训练过程。词性标注和 NER 是用 SpaCy 实现的。众所周知,SpaCy 是同类自然语言处理中最快的,它也是工业界使用最多的。 


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


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


微信图片_20220109130113.png


网友们用过之后也是纷纷点赞。 一周前放出来,我就能早点下班了!


      微信图片_20220109130115.png        


简直是上帝的杰作!     


 微信图片_20220109130116.png      


来,快到我碗里来,我要应用到我现在的项目中。

     微信图片_20220109130118.png


太酷了!还可以将自己的TensorFlow/PyTorch模块融合进去。

      微信图片_20220109130120.png


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


 参考链接:https://github.com/jbesomi/textherohttps://texthero.org/

相关文章
|
算法 数据处理 C语言
这么好用的二进制转十进制教程,你不会还不知道吧?
这么好用的二进制转十进制教程,你不会还不知道吧?
|
JSON 小程序 数据格式
微信小程序的tabbar怎么配置
微信小程序的tabbar怎么配置
1036 2
|
机器学习/深度学习 数据采集 算法
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
966 36
|
存储 自然语言处理 算法
“无”中生有:基于知识增强的RAG优化实践
本文作者基于自身在RAG技术领域长达半年的实践经验,分享了从初识RAG的潜力到面对实际应用挑战的心路历程,以及如何通过一系列优化措施逐步解决这些挑战的过程。
1384 20
“无”中生有:基于知识增强的RAG优化实践
|
开发框架 .NET C#
C# 一分钟浅谈:第一个 C# 控制台应用程序
【9月更文挑战第1天】C# 是一种现代化的、面向对象的编程语言,广泛应用于桌面应用、Web 应用和游戏开发等领域。本文详细介绍如何创建第一个 C# 控制台应用程序,包括使用 Visual Studio 和 .NET SDK 的步骤,并解析常见问题及其解决方法,如控制台窗口立即关闭、编译错误和运行时错误等。通过实践,你将掌握 C# 控制台应用的基础知识,为进一步学习打下坚实基础。
642 49
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
459 2
|
存储 传感器 监控
理解并利用物联网(IoT)数据的技术探索
【8月更文挑战第11天】物联网数据是数字化转型的重要资源。通过深入理解物联网数据的特性和价值,并采取有效的收集、处理和分析策略,我们可以更好地利用这些数据为企业决策提供支持、优化运营效率、创造新的商业模式并推动数字化转型的深入发展。
|
JavaScript 编译器 数据安全/隐私保护
TypeScript :关键字
本文介绍了 TypeScript 中的一些核心类型和工具类型,包括 `interface` 和 `type` 的基本使用和区别,以及一些高级类型如 `keyof`、`Record`、`Pick`、`Partial`、`Readonly` 和 `Omit` 的使用方法。文章还详细解释了 `namespace` 的作用和使用场景,帮助开发者更好地组织和管理代码,避免命名冲突,并提高代码的可维护性和可读性。
284 1
|
人工智能 大数据 数据中心
算力服务器的崛起:技术革新与市场展望
在数字化浪潮中,算力服务器正经历革命性变化。技术突破如液冷系统提升性能与能效,如宁畅B8000的液冷设计,降低PUE并增强单节点算力。AI服务器市场预计2025年全球达317.9亿美元,中国年复合增长率超19%。国产化趋势明显,如中国电信采用国产芯片服务器。融合架构与绿色节能成为未来关键,适应多变业务需求和环保要求。
367 1
|
机器学习/深度学习 人工智能 算法
计算机视觉:目标检测算法综述
【7月更文挑战第13天】目标检测作为计算机视觉领域的重要研究方向,近年来在深度学习技术的推动下取得了显著进展。然而,面对复杂多变的实际应用场景,仍需不断研究和探索更加高效、鲁棒的目标检测算法。随着技术的不断发展和应用场景的不断拓展,相信目标检测算法将在更多领域发挥重要作用。