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

莱州网站建设关键字排名优化网络托管微信代运营seo系统教程

莱州网站建设关键字排名优化网络托管微信代运营,seo系统教程,网站怎么做来流量,石家庄最新疫情确诊轨迹语料库研究已经成为科学研究公认的相比较权威的研究范式。在开始使用语料库研究前需要对文本进行清洁处理,除了清除空段、删除字符前后的空格、制表位外,我还要需要对文本进行分词、筛选、去重等操作。普通的语料库工具可能需要来回切换,同时…

语料库研究已经成为科学研究公认的相比较权威的研究范式。在开始使用语料库研究前需要对文本进行清洁处理,除了清除空段、删除字符前后的空格、制表位外,我还要需要对文本进行分词、筛选、去重等操作。普通的语料库工具可能需要来回切换,同时文本的处理速度也会不尽如人意,如果使用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/45165.html

相关文章:

  • 网站用后台更换图片长尾关键词什么意思
  • wordpress短信验证天津做优化好的公司
  • 网站模板开发平台怎么做社群营销活动策划方案
  • apache网站拒绝访问郑州网站seo优化公司
  • 外贸php网站源码谷歌优化排名哪家强
  • github建wordpress正规seo关键词排名网络公司
  • 网站的代理页面怎么做的兰州seo外包公司
  • 网站建设思路设计地推平台去哪里找
  • 江苏公司网站建设网络营销渠道策略研究
  • 自己能否建设网站免费下载官方百度
  • 备案主体负责人 网站负责人网络科技公司经营范围
  • 最火爆的国际贸易网站怎么做网页宣传
  • 河池公司做网站长沙seo免费诊断
  • wordpress数据库更改账号密码seo优化专员工作内容
  • 室内设计师上网第一站seo短视频发布页
  • 文化馆互联网站建设方案互联网推广运营是做什么的
  • 唐山做网站的公司百度手机提高关键词排名
  • 摄影网站源码 国外如何做好一个营销方案
  • 常熟做网站推广的优化关键词有哪些方法
  • 线上推广引流是做网站吗it培训机构排行榜
  • 网站建设的搜索语句上海网站seo招聘
  • 删除西部数码网站管理助手百度一下百度主页
  • 帮别人做彩票网站吗网站推广软件
  • 阿里云上可以做网站吗上海培训机构
  • 影视logo免费设计seo网络推广怎么做
  • 精装房软装设计公司山西seo推广
  • 阳泉建设网站的公司2023年国家免费技能培训
  • 网站建设需要哪些东西站长工具排行榜
  • 万网域名注册官网中文域名优化官网咨询
  • 网站注册 优帮云如何自己做一个网页