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

十大淘宝运营电商公司网络营销推广优化

十大淘宝运营电商公司,网络营销推广优化,买下云服务器怎么做网站,创建网站的六个步骤最近总结修改了下预处理方法,记录下 首先download需要的依赖 pip install pyenchantpip install nltk pyenchant 是用来检测拼写正确的,如果你的文本里面可能包含非正确拼写的单词,那就忽略它,nltk用来做分词的。 python -m nlt…

最近总结修改了下预处理方法,记录下

 首先download需要的依赖

pip install pyenchant
pip install nltk

 pyenchant 是用来检测拼写正确的,如果你的文本里面可能包含非正确拼写的单词,那就忽略它,nltk用来做分词的。

python -m nltk.downloader punkt
python -m nltk.downloader stopwords
from nltk.corpus import stopwords
import nltk
import enchant
import redef is_spelled_correctly(word, language='en_US'):spell_checker = enchant.Dict(language)return spell_checker.check(word)def preprocess_text(text):text= re.sub(r'\W+', ' ',re.sub(r'[0-9]+', '', text.replace('-', '').replace('_', ' ')))words=nltk.word_tokenize(text)stop_words = set(stopwords.words('english'))words = [item for word in words for item in re.findall(r'[A-Z]+[a-z]*|[a-z]+', word)if is_spelled_correctly(item) and item.lower() not in stop_words]return ' '.join(words).lower()if __name__ == '__main__':print(preprocess_text('ServiceHandlerId caedbe-85432-xssc-dsdabffdddbea An exception of some microservice TargetDownService occurred and was test #@/*-sss '))
#service handler id exception target service occurred test

 这里最后再转小写是因为防止ServiceHandlerId这种连续的单词链接成的字符串被拼写检查剔除,只有保持驼峰情况下,才能用 re.findall(r'[A-Z]+[a-z]*|[a-z]+', word) 成功把他分成单独的单词,所以最后再处理大小写。

改进方案1: 

之后测试的时候发现数据量一大,他就很慢,后面优化了一下,速度大大提升了

from nltk.corpus import stopwords
import nltk
import enchant
import respell_checker = enchant.Dict(language)def memoize(func):cache = {}def wrapper(*args):if args not in cache:cache[args] = func(*args)return cache[args]return wrapper@memoize
def check_spelling(word):return spell_checker.check(word)def preprocess_text(text):text= re.sub(r'\W+', ' ',re.sub(r'[0-9]+', '', text.replace('-', '').replace('_', ' ')))words=nltk.word_tokenize(text)stop_words = set(stopwords.words('english'))words = [item for word in words for item in re.findall(r'[A-Z]+[a-z]*|[a-z]+', word)if check_spelling(item) and item.lower() not in stop_words]return ' '.join(words).lower()if __name__ == '__main__':print(preprocess_text('ServiceHandlerId caedbe-85432-xssc-dsdabffdddbea An exception of some microservice TargetDownService occurred and was test #@/*-sss '))
#service handler id exception target service occurred test

这里面使用了memoization 技术,它是一种将函数调用和结果存储在一个字典中的优化技术。我这里用来缓存单词的拼写检查结果。

这样之后数据量大了之后速度依然不会太慢了。

改进方案2:

使用spellchecker 这个的速度就比enchant 快的多

pip install pyspellchecker
spell = SpellChecker()
def preprocess_text(text):text= re.sub(r'\W+', ' ',re.sub(r'[0-9]+', '', text.replace('-', '').replace('_', ' ')))words=nltk.word_tokenize(text)stop_words = set(stopwords.words('english'))words = [item for word in words for item in spell.known(re.findall(r'[A-Z]+[a-z]*|[a-z]+', word)) if  item.lower() not in stop_words]return ' '.join(words).lower()

区别: 

SpellChecker是一个基于编辑距离的拼写检查库,它可以在内存中加载一个词典,并对给定的单词列表进行快速的拼写检查。enchant是一个基于C语言的拼写检查库,它可以使用不同的后端,如aspell, hunspell, ispell等,来检查单词是否存在于词典中。SpellChecker比enchant更快,尤其是当单词列表很大时。

http://www.khdw.cn/news/32145.html

相关文章:

  • 如果做网站谷歌搜索引擎入口手机版
  • 网站开通告知书关键词优化快速
  • 做竹鼠网站个人博客网站怎么做
  • 福建建设执业资格注册管理中心网站google官网登录入口
  • 网站建设的基本原则图片外链上传网站
  • 网站建设预算和流程介绍百度知道客服电话
  • ppt模板制作免费移动端优化
  • 网站建设好友seo教程搜索引擎优化
  • 个体工商户可以做网站吗郑州技术支持seo
  • 做平台的网站有哪些内容优化大师官网
  • 网站二维码可以做长按识别吗google seo整站优化
  • 效果图制作合同范本菏泽地网站seo
  • 建设银行企业网站进不去灰色行业关键词推广
  • 网站设计开发工程师高端网站设计
  • 医院网站前置审批最快多久出来农产品营销方案
  • 南京网站费用网站建设中国搜索引擎大全
  • 有做阿里网站的吗下载百度安装到桌面
  • .net网站程序海外推广运营
  • wordpress写robots如何做优化排名
  • 学做网站的软件软文编辑
  • 宁波建网站公司哪家好互联网100个创业项目
  • 如何做自己的淘宝网站交易链接
  • 溧水城乡建设局网站网络公关
  • 百度云 做网站手机优化软件下载
  • wordpress分享小图片不优化网站教程
  • 新建网站站点的一个新产品的营销方案
  • 精通网站建设工资多少杭州seo博客有哪些
  • 如何用威客做网站推广 方案百度app客服人工在线咨询
  • 品牌网站建设預定大蝌蚪百度信息流投放方式有哪些
  • 深圳 建网站全网推广代理