热门标签 | 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会改变词型。

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



推荐阅读
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 1.Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • Thisworkcameoutofthediscussioninhttps://github.com/typesafehub/config/issues/272 ... [详细]
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社区 版权所有