澳门十大游戏网址大全,金沙平台投注

全网整合营销服务商

营销网站建设+SEO快速排名优化+PC+移动

免费咨询热线:

当前位置:主页 > 西安SEO > 西安SEO文章 > > cygwin下用Python jieba给文本分词并提取高频词

cygwin下用Python jieba给文本分词并提取高频词

  • 时间:2020-01-12 13:29
  • 点击:次

今晚小折腾了一下在cygwin下用Python和jieba分词(结巴分词)组件给文本分词并提取高频词,过程记录如下:
目的

分析某行业中,用户最关心的一些需求,再根据这一需求去调整站内TDK,以及一些频道、内容的规划
过程

1、下载安装cygwin:http://www.cygwin.com/
2、cygwin安装时别忘记安装curl,wget,iconv,lynx,dos2unix,Python等常用工具,特别是Python,这次主要就是用它了。
3、去下载jieba中文分词组件:
首选:http://github.com/fxsjy/jieba/archive/master.zip
备用:http://pypi.python.org/pypi/jieba/
4、安装jieba中文分词组件:
全自动安装: easy_install jieba 或者 pip install jieba / pip3 install jieba
半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install
手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
通过 import jieba 来引用
5、复制以下代码,另存为“jiebacmd.py”
6、新建一个文件夹,将你需要分词的文本和jiebacmd.py拷进去,记住文本需要另存为utf-8编码,然后在cygwin里用cd命令把工作目录切换进新建的文件夹,再输入以下命令:cat abc.txt|python jiebacmd.py|sort|uniq -c|sort -nr|head -100

  1. #encoding=utf-8
  2. #usage example (find top 100 words in abc.txt):
  3. #用途:找出abc.txt文件中出现频率最高的前100个词
  4. #复制以下命令到cygwin里运行,abc.txt是你文本的文件名,head -100可以自己改成想要提取的前多少个词
  5. #cat abc.txt | python jiebacmd.py | sort | uniq -c | sort -nr -k1 | head -100
  6. #以上都是注释,不影响程序运行
  7. from __future__ import unicode_literals
  8. import sys
  9. sys.path.append("../")
  10. reload(sys)
  11. sys.setdefaultencoding( "utf-8" )
  12. import jieba
  13. default_encoding='utf-8'
  14. if len(sys.argv)>1:
  15.     default_encoding = sys.argv[1]
  16. while True:
  17.     line = sys.stdin.readline()
  18.     if line=="":
  19.         break
  20.     line = line.strip()
  21.     for word in jieba.cut(line):
  22.         print(word)

结果

效果如下图,完成16万个关键词的分词、去重、按关键词的出现次数排序、取出现次数最多的前10个词,只花了18秒。

再来试个140万的词库,用时不到2分半:

 

来源:本文由 点通网络原创撰写,欢迎分享本文,转载请保留出处和链接! 分享:

澳门十大游戏网址大全,金沙平台投注相关的文章




您的项目需求

澳门十大游戏网址大全,金沙平台投注*请认真填写需求信息,我们会在24小时内与您取得联系。