1.取出第一行内容放入content[]
contents = []
contents = df.ix[:,10] #第11列資料
2.按類型提取資料
good = df.loc[df["評價類型"]=="好評"]
good_contents = good.ix[:,10]
good_contents.index=list(range(good_contents.shape[0])) #重建立立索引
3. 提取關鍵詞
def textrank(contents,topK):
cons = []
for i in range(len(contents)):
content = contents[i]
keywords = jieba.analyse.textrank(content, topK=topK, allowPOS=('n','nz','v','vd','vn','l','a','d')) # TextRank關鍵詞提取,詞性篩選
word_split = " ".join(keywords)
#print(word_split)
cons.append(word_split) #.encode("utf-8")
result = pd.DataFrame(cons)
return result
4.将所提取的關鍵詞輸出為檔案
result.to_csv("keywords.csv", encoding = 'utf-8',index=False)
5.存在的問題
que::textrank算法會先将輸入的内容進行分詞,在第一級将每條評論的文本提取出來後,第二級提取所有關鍵詞的關鍵詞時,詞與詞之間已經用空格分開了。這樣是否合理?
--》或者直接根據詞頻,輸出頻率最大的關鍵字
que:做第二級的時候,将第一集的關鍵詞直接用空格拼起來?這樣合理嗎?
--》待解決
--》形容詞、副詞别輸出了
good = df.loc[df["評價類型"]=="好評"]
good_contents = good.ix[:,10]
good_contents.index=list(range(good_contents.shape[0]))
轉載于:https://www.cnblogs.com/yuyu-blog/p/11569984.html