影视评论分析(二)--文本抽取主题

作者: 羽恒 | 来源:发表于2018-05-06 00:38 被阅读57次

影视评论动辄好几万,小小的词云已不能很全面的展示用户的整体想法。那么在工作和学习中我们面对海量文章时,有没有什么神器呢?当然。比如:文本关键词和主题抽取 本文使用python对500条文本做主题抽取,一步步带你体会和学习非监督学习LDA的魅力。

准备工作

开始干活

  • 处理表格数据,使用数据框工具pandas
  import pandas as pd
  # 以csv方式读入文件
  df = pd.read_csv()
  # 查看数据框前几行,确认文件是否正确 
  df.head() 
  # 查看数据相信信息,是否符合预期
  df.info()
  • 中文分词
    因为我们需要提取每条评论的关键词,而中文并不是以空格划分各个词语,所以我们需要进行分词处理,此处我们采用结巴分词工具。
    import jieba 
    

我们此次需要处理的,并不是单一的文本文件,而是多条文本数据,因此我们需要将该工作并行化处理。并借助更为高效的apply函数

def chinese_cutt(content):
    words =" ".join( [word for word in jieba.cut(content,cut_all=False) if len(word)>2] )
    return words
df['cutted'] = df.comment_infos.apply(chinese_cutt)
# 查看结果是否正常
df.cutted.head()

文本中文分词已经完成,接下来我们来开始文本向量化,关于文本向量化可参考文本向量化
文本向量化只是将文本中的关键字转化为一个个的特征值以便计算机识别。

提取特征关键词

from sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer
# 关键词提取和向量转化
tf_vectorizer = CountVectorizer(strip_accents = 'unicode',
                                max_features = 1000,
                                max_df = 0.5,
                                min_df = 10
                                )
tf = tf_vectorizer.fit_transform(df.cutted)

设定主题数量,吓的本汪掐之一算,这可能是个坑。不用担心,就猜一把呗,LDA方法指定主题数是必须的,当然我们可以15个起步,小步迭代,一步步来么。

  lda = LatentDirichletAllocation(n_topics = 15,
                                max_iter =50,
                                learning_method = 'online',
                                learning_offset = 50,
                                random_state = 0)
  lda.fit(tf)

一直在运行,啥时候结束啊,我也很无奈呢,让我们把每个主题的关键词表输出来喵一眼

  def print_top_words(model, feature_names, n_top_words):
      for topic_idx, topic in enumerate(model.components_):
          print("Topic #%d:" % topic_idx)
          print(" ".join([feature_names[i]
                      for i in topic.argsort()[:-n_top_words - 1:-1]]))

输出看一眼,也不咋的啊,为啥?不够直观。借助pyDAvis让文字动起来看看

 import pyLDAvis
 import pyLDAvis.sklearn
 # pyLDAvis.enable_notebook()
 data = pyLDAvis.sklearn.prepare(lda, tf, tf_vectorizer)
 pyLDAvis.show(data)

接下来,你会看到如下一张图,并且还一闪一闪的


影视评论主题抽取

本文问题说明

  • 未做停用词处理
  • 各方法以默认参数为主

相关阅读 请移步

影视评论分析(三)-- 情感分析

初步学习有很多不足之处,希望大家多多指教

相关文章

  • 影视评论分析(二)--文本抽取主题

    影视评论动辄好几万,小小的词云已不能很全面的展示用户的整体想法。那么在工作和学习中我们面对海量文章时,有没有什么神...

  • Python 文本挖掘(一)

    (一)定义 是什么:文本挖掘是从大量文本中,比如微博评论,知乎评论,JD,天猫淘宝大量评论中,文本中,抽取出有价值...

  • Python3 文本挖掘

    文本挖掘是从大量文本中,比如微博评论,知乎评论,JD,天猫淘宝大量评论中的文本中抽取出有价值的知识,并利用这些知识...

  • 观点抽取

    1.文本观点挖掘技术及其应用 2.用户评论标签的抽取 3.

  • 怎样把文档转换成向量

    文本分析 文本分析指从文本中抽取出的特征来量化来表示文本信息,并在此基础上对其进行基于数学模型的处理。它是文本挖掘...

  • 《自己动手写网络爬虫》第二篇笔记

    第二篇:自己动手抽取Web内容 正则表达式 HtmlParser:文本抽取,链接抽取,资源抽取,链接检查,站点检查...

  • 简单的文本情感分析项目总结

    简介 文本情感分析项目主要是针对语言用户提供的评论,通过算法自动来判断此评论十正面还是负面评论。 情感分析是文本处...

  • 《Excel高阶报表系列+评论区文本探索》花随花心著

    序言 | 传道授业 商业智能数据分析师,花随花心。大家好,我是花老师。今天的主题是关于评论区文本探索,本质就是文本...

  • 影视评论分析(一)

    问题描述 某部电影上映后,通过影视评论分析受众观感。以此作为某一标准来决定是否有价值被推荐,通过数据做以下问题分析...

  • 利用Python实现中文文本关键词抽取的三种方法

    文本关键词抽取,是对文本信息进行高度凝练的一种有效手段,通过3-5个词语准确概括文本的主题,帮助读者快速理解文本信...

网友评论

    本文标题:影视评论分析(二)--文本抽取主题

    本文链接:https://www.haomeiwen.com/subject/nbzerftx.html