python中怎么利用jieba模塊提取關(guān)鍵詞

python中怎么利用jieba模塊提取關(guān)鍵詞,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

站在用戶的角度思考問題,與客戶深入溝通,找到伊犁網(wǎng)站設(shè)計與伊犁網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋伊犁地區(qū)。

   1.讀取一個用戶的全部數(shù)據(jù)時,注意區(qū)分read(), readline()和readlines()的區(qū)別,read()讀取文件全部內(nèi)容并存在一個字符串變量中,readline()每次只讀取文件里面的一行,readlines()返回一個行的列表。

   2.注意將一個列表以字符串表達(dá)的寫法:','.join(list).例如:list = [1,2,3],則可輸出1,2,3

代碼如下:

python中怎么利用jieba模塊提取關(guān)鍵詞

文本分析--關(guān)鍵詞獲取(jieba分詞器,TF-IDF模型)

關(guān)鍵詞獲取可以通過兩種方式來獲?。?nbsp;
      1、在使用jieba分詞對文本進(jìn)行處理之后,可以通過統(tǒng)計詞頻來獲取關(guān)鍵詞:jieba.analyse.extract_tags(news, topK=10),獲取詞頻在前10的作為關(guān)鍵詞。 
      2、使用TF-IDF權(quán)重來進(jìn)行關(guān)鍵詞獲取,首先需要對文本構(gòu)建詞頻矩陣,其次才能使用向量求TF-IDF值。

# -*-coding:utf-8-*-

import uniout  # 編碼格式,解決中文輸出亂碼問題
import jieba.analyse
from sklearn import feature_extraction
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer

"""
      TF-IDF權(quán)重:
          1、CountVectorizer 構(gòu)建詞頻矩陣
          2、TfidfTransformer 構(gòu)建tfidf權(quán)值計算
          3、文本的關(guān)鍵字
          4、對應(yīng)的tfidf矩陣
"""

# 讀取文件
def read_news():
   news = open('news.txt').read()
   return news


# jieba分詞器通過詞頻獲取關(guān)鍵詞
def jieba_keywords(news):
   keywords = jieba.analyse.extract_tags(news, topK=10)
   print keywords

def tfidf_keywords():
   # 00、讀取文件,一行就是一個文檔,將所有文檔輸出到一個list中
   corpus = []
   for line in open('news.txt', 'r').readlines():
       corpus.append(line)

   # 01、構(gòu)建詞頻矩陣,將文本中的詞語轉(zhuǎn)換成詞頻矩陣
   vectorizer = CountVectorizer()
   # a[i][j]:表示j詞在第i個文本中的詞頻
   X = vectorizer.fit_transform(corpus)
   print X  # 詞頻矩陣

   # 02、構(gòu)建TFIDF權(quán)值
   transformer = TfidfTransformer()
   # 計算tfidf值
   tfidf = transformer.fit_transform(X)

   # 03、獲取詞袋模型中的關(guān)鍵詞
   word = vectorizer.get_feature_names()

   # tfidf矩陣
   weight = tfidf.toarray()

   # 打印特征文本
   print len(word)
   for j in range(len(word)):
       print word[j]

   # 打印權(quán)重
   for i in range(len(weight)):
       for j in range(len(word)):
           print weight[i][j]
           # print '\n'


if __name__ == '__main__':
   news = read_news()
   jieba_keywords(news)
   tfidf_keywords()
   

看完上述內(nèi)容,你們掌握python中怎么利用jieba模塊提取關(guān)鍵詞的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

本文標(biāo)題:python中怎么利用jieba模塊提取關(guān)鍵詞
標(biāo)題URL:http://muchs.cn/article34/piesse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站營銷、用戶體驗網(wǎng)站建設(shè)、App設(shè)計、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站