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