• pandas处理数据textrank提取关键词


    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]))
  • 相关阅读:
    阿里云ecs服务器wamp内网可以访问,外网ip、域名无法访问
    python- 粘包 struct,socketserver
    python-网络编程
    python-模块-包
    python- 异常
    python-模块 time, os, sys
    python_模块 collections,random
    python_模块 hashlib ,configparser, logging
    python_ 模块 json pickle shelve
    python-面向对象中的特殊方法 ,反射,与单例模式
  • 原文地址:https://www.cnblogs.com/yuyu-blog/p/11569984.html
Copyright © 2020-2023  润新知