热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python中文本预处理的一般流程_文本挖掘预处理的流程总结

假设是网页内容,首先须要去掉HtmlTag。lxml和html5lib是比較有名的Python库,beautifulsoup也对他们做了一层封装。只是别

假设是网页内容,首先须要去掉Html Tag。lxml和html5lib是比較有名的Python库,beautifulsoup也对他们做了一层封装。只是别忘了。Python本身也自带了sgmllib这种基本可扩展的解析器。假设是有特别的处理。事实上正則表達式也是不错的选择。

处理编码,由于我主要是处理英文的数据,这一步基本也跳过了。

将文档切割成句子(可选)。

非常多时候我们採用的是词袋模型(bag of words),所以是否切割成句子也无所谓。比較简单的方法就是Python NLTK中的sent_tokenize()函数,用的是punkt算法,论文在这里。

将句子切割成词。首先用正則表達式能够自己完毕;假设要利用已有工具。Python NLTK中的word_tokenize(),这个方式就是前文提到的Penn TreeBank语料库所使用的分词方法。听起来是不是非常高大上。我是不会告诉你事实上它也是正則表達式实现的。想知道详细实现。戳这里。分词事实上主要干了这么几个事:1)将’分开.

don't -> do n't, they'll -> they 'll; 2)将大部分标点当作单独的一个词; 3)将后一位是逗号或者引號的词分开; 4)单独出如今一行的句号分开。中文分词差别比較大,能够採用斯坦福或者ICTCLAS(中科院背景)的方案。

拼写错误纠正。推荐pyenchant。非常喜欢,由于简洁到四句语句就能完毕。

Windows 8中操作系统也直接提供了拼写检查的COM端口,只是就得多花时间研究啦。

POS Tagging(依据实际应用)。还是Nltk。首页就有介绍;斯坦福也提供了这类工具。

这一块属于NLP的范畴,还是Parsing等应用,要了解NLP原理推荐Coursera上一门不错的课程Natural

Language Processing

去掉标点。正則表達式就可以。有的时间非常短的单词也能够一起去掉。len<3的常见的选择

去掉非英文字符的词&#xff08;依据实际应用决定&#xff09;。

转换成小写。

去掉停用词。就是在各种句子中都经常出现的一些词&#xff0c;I、and什么的。

NLTK有一个Stopwords。Matthew

L. Jockers提供了一份比机器学习和自然语言处理中经常使用的停词表更长的停词表。中文停用词戳这里。什么&#xff1f;你问我停用词怎么找到的。我想大概是IDF这种算法吧。

词型转换。

简单来讲&#xff0c;我们希望do、did、done都能统一的返回do。第一种方法叫stem&#xff0c;Porter是比較常见的一种基于规则的算法。网页有snowball工具。也是它的论文。Porter的结果差强人意&#xff0c;单词末尾有e、y的。基本上stem之后都不间了&#xff0c;比如replace->replac。末尾有反复单词的。基本仅仅剩一个了&#xff0c;比如ill->il。

NLTK中也有Stem库。算法应该是相似的。

另外一种方法叫lemmatization&#xff0c;就是基于词典做词型转换&#xff0c;NLTK的Stem库中便有WordNetLemmatizer能够使用。

去掉长度过小的词&#xff08;可选&#xff09;。假设之前做了。这里要再做一次。由于stem会改变词型。

又一次去停用词。理由同上。



推荐阅读
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 装饰者模式(Decorator):一种灵活的对象结构设计模式
    装饰者模式(Decorator)是一种灵活的对象结构设计模式,旨在为单个对象动态地添加功能,而无需修改原有类的结构。通过封装对象并提供额外的行为,装饰者模式比传统的继承方式更加灵活和可扩展。例如,可以在运行时为特定对象添加边框或滚动条等特性,而不会影响其他对象。这种模式特别适用于需要在不同情况下动态组合功能的场景。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 在最近的项目中,我们广泛使用了Qt框架的网络库,过程中遇到了一些挑战和问题。本文旨在记录这些经验和解决方案,以便日后参考。鉴于我们的客户端GUI完全基于Qt开发,我们期望利用其强大的网络功能进行Fiddler网络数据包的捕获与分析,以提升开发效率和应用性能。 ... [详细]
  • 利用 Zend Framework 实现高效邮件发送功能 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • feat: Enhances Jest Testing Capabilities with Snapshot Support ... [详细]
  • 2018 HDU 多校联合第五场 G题:Glad You Game(线段树优化解法)
    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356在《Glad You Game》中,Steve 面临一个复杂的区间操作问题。该题可以通过线段树进行高效优化。具体来说,线段树能够快速处理区间更新和查询操作,从而大大提高了算法的效率。本文详细介绍了线段树的构建和维护方法,并给出了具体的代码实现,帮助读者更好地理解和应用这一数据结构。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
author-avatar
给力的饼干_235
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有