当前位置: 首页 > wzjs >正文

莱州网站建设关键字排名优化网络托管微信代运营推广方案100个

莱州网站建设关键字排名优化网络托管微信代运营,推广方案100个,网站建设借鉴,海尔网站建设策划书语料库研究已经成为科学研究公认的相比较权威的研究范式。在开始使用语料库研究前需要对文本进行清洁处理,除了清除空段、删除字符前后的空格、制表位外,我还要需要对文本进行分词、筛选、去重等操作。普通的语料库工具可能需要来回切换,同时…

语料库研究已经成为科学研究公认的相比较权威的研究范式。在开始使用语料库研究前需要对文本进行清洁处理,除了清除空段、删除字符前后的空格、制表位外,我还要需要对文本进行分词、筛选、去重等操作。普通的语料库工具可能需要来回切换,同时文本的处理速度也会不尽如人意,如果使用Python就可以利用NLTK等自然语料处理工具、以及Python中常用的文本处理模块进行文本处理。

一、清除字符串前后的无效字符

我们可以采用strip()这个方法,它可以清除字符串前后的空格、制表位、换行符等。如下例:

text = "  Corpus Analysis in Academic Research  \r\n"
print(text.strip())

操作示例

还可以使用strip()把字符串前后的无效字符删除,如下面的这个例子。

text = " aaa 语料库分析在科学研究中的应用 ppp"
print(text.strip("a|p| "))

采用以上方法,可以把多余的字母a或p或空格删除掉。注意使用正则表达式时,需要用引号括起来。

删除多余的字符

二、清除数字但不清除带有数字的单词

在Python中我们可以使用isdigit()清除所有数字,用isalpha()清除所有字母。但是需要注意的是,如果想保留带有数字的单词,如5-year-old这个词,就需要使用not word.isdigit(), 因为isdigit()可以用于判断字符是否由数字构成。

所以要清除句子中的数字,可以先使用nltk.word_tokenize()分词,然后用集合推导式,清除数字,同时去重。

import nltk
text = 'This handbook contains 3 volumes. The 5-year-survival rate was elevated. The rate is amazing.'
tokenized_text = nltk.word_tokenize(text)
print({word.lower() for word in tokenized_text if not word.isdigit()})

去数字+去重

三、清除数据中的标点并把单词改为小写字母

我们可以从string中导入puctuation这个模块,然后在集合推导式用用它去标点。可以用word.lower()的方法把单词的大写都改为小写。

import nltk
from string import punctuation
text = 'This handbook contains 3 volumes. The 5-year-survival rate was elevated. The rate is amazing.'
tokenized_text = nltk.word_tokenize(text)
print({word.lower() for word in tokenized_text if not word.isdigit() and word not in punctuation})

四、如何提升清理速度

以上代码使用的是nltk中的分词工具,在数据比较多时会相对慢一些,如果在要求不是特别严格的情况下,可以使用re正则模块进行分词,这样可以大大提升分词的速度。

使用re的好处是直接定义词的构成,不需要再导入额外的模块清除标点了。re.findall()可以利用正则表达式,找到符合要求的词并提取出来。

import re
text = 'This handbook contains 3 volumes. The 5-year-survival rate was elevated. The rate is amazing.'
words = re.findall(r'[A-z-0-9]+', text) #定义一个词由数字、字母和-组成。
print({word.lower() for word in words if not word.isdigit()})

而且最后生成的效果和之前的一样。

对比nltk和re的分词结果

五、用SpaCy来实现快速清洗

除了使用NLTK、Re来实现文本清洗外,还可以使用SpaCy这个自然语言文本处理库,它自带预训练的管道,目前支持 60 多种语言的标记化和训练。由于它具有最先进的速度和神经网络模型,因此可用于标记、解析、命名实体识别、文本分类等。它的模型从sm(small),至md(medium),再到lg(large),准确性逐步提升,但是其个头也在不断增大。

使用SpaCy,我们不需要导入nltk, string等库,可以直接利用它的管道,一步到位。使用前需要先

通过:pip install spacy进行安装,下载相关模型,如en_core_web_sm,如果下载比较慢,可以直接去github上下载。需要注意的是,这里SpaCy直接把单词进行了还原,这是之前的方法所无法实现的,而且代码非常简洁,短短,几行代码就实现了变分词、变小写、词形还原、去标点、去停用词等功能,唯一的缺点时配置时有一点儿小麻烦,下面是一个样例代码供参考:

import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("Apple is looking at buying U.K. startup.")
print({x.lemma_.lower() for x in doc if not x.is_stop and not x.is_punct})

使用SpaCy进行文本清洗

六、学后总结

1. Python在处理文本数据时,不仅精确而且速度还更快,减少了在多个软件的切换,可以满足个性化文本清理的要求。需要注意的是要添加多个工具之前的相互验证,减少因为疏忽而产生的问题。

2. 至于使用re还是word_tokenize需要根据你的数据结果要求,科学研究建议还是使用word_tokenize,因为这样更加严谨一些。

http://www.dtcms.com/wzjs/55600.html

相关文章:

  • 南阳做网站电话夸克搜索入口
  • 关于开展网站建设工作的通知搜索引擎竞价推广的优势
  • 做代理能赚到钱吗短视频seo关键词
  • unas做网站服务器贵港seo关键词整站优化
  • 宁波高端网站设计公司网站后端开发
  • 网站架设seo免费推广
  • 网站后台系统刷评论网站推广
  • 个人网站效果图镇江网页设计
  • 广州网站设计建设百度地图导航网页版
  • 网站外链发布快速排名服务平台
  • 北京协会网站建设聊城今日头条最新
  • 让做网站策划没经验怎么办外贸企业网站推广
  • 做分销网站多少钱yoast seo
  • jsp网站空间武汉网站排名推广
  • 做公司网站需要什么程序百度收录情况查询
  • 做免费网站连云港百度推广总代理
  • 可以悬赏做任务的叫什么网站佛山关键词排名工具
  • 男女做那个视频网站免费自拍企业推广方式
  • 做网站设计哪家好app推广的常用方法
  • 雷州手机网站建设公司百度seo外包
  • 怎么选择合肥网站建设排名查询
  • cms203片自动优化app
  • 电商网站开发岗位职责网络营销工具有哪些?
  • 做彩票网站会被判死刑神马移动排名优化
  • 如何建议一个网站百度seo通科
  • 孝感网站开发找优搏苏州网站制作公司
  • 把网站做进微信公众号网络营销的宏观环境
  • 专业手表网站网络舆情监测专业
  • 公司做英文网站网站制作建设
  • 新品发布会流程策划方案四川seo整站优化吧