自動外鏈工具 在線排版工具 搜索引擎提交入口 wordpress主題推薦 批量打開網址工具 【老域名購買】 思享SEO導航 【網站合作】

cygwin下用Python+jieba給文本分詞并提取高頻詞

1677

今晚小折騰了一下在cygwin下用Python和jieba分詞(結巴分詞)組件給文本分詞并提取高頻詞,過程記錄如下:
目的

分析某行業中,用戶最關心的一些需求,再根據這一需求去調整站內TDK,以及一些頻道、內容的規劃
過程

1、下載安裝cygwin:http://www.cygwin.com/
2、cygwin安裝時別忘記安裝curl,wget,iconv,lynx,dos2unix,Python等常用工具,特別是Python,這次主要就是用它了。
3、去下載jieba中文分詞組件:
首選:https://github.com/fxsjy/jieba/archive/master.zip
備用:https://pypi.python.org/pypi/jieba/
4、安裝jieba中文分詞組件:
全自動安裝: easy_install jieba 或者 pip install jieba / pip3 install jieba
半自動安裝:先下載 https://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分半:

140萬詞庫結果

140萬詞庫結果2

 

來源:本文由思享SEO博客原創撰寫,歡迎分享本文,轉載請保留出處和鏈接!
seo培訓評論廣告

搶沙發

昵稱*

郵箱*

網址

七乐彩选号技巧