基于Python的豆瓣电影数据采集与可视化分析

摘要

在数字化时代背景下,随着互联网技术的迅速发展,大量的数据在网络上被产生和共享,其中包括对文化产品如电影的公众评价。这些评价数据不仅蕴含着丰富的信息,反映了公众的情感态度和偏好,也为文化产品的制作、推广以及评估提供了宝贵的数据资源。基于此,本研究致力于利用Python语言和其强大的库资源,开发了一套系统性的方法,对豆瓣电影的评论数据进行自动化采集、处理、分析以及可视化展示,旨在深入探索和分析公众对电影的评价与感受。

研究首先采用Selenium工具实现对豆瓣电影评论的自动化采集,通过模拟真实用户的浏览行为,高效获取数据。随后,利用Pandas进行数据的清洗和预处理,确保数据质量。在文本分析阶段,结合Jieba分词和NLPIR等自然语言处理工具,对评论文本进行了精确的分词、词性标注,并通过TF-IDF等算法提取关键词,揭示评论中的热点内容和情感倾向。此外,本研究还应用了情感分析技术,评估了评论的情绪色彩,区分了正面、中性和负面评论,为电影的情感评价提供了量化的指标。在数据可视化方面,研究利用Matplotlib和Seaborn等工具,将复杂的分析结果以直观的图表和图形形式展现,使得分析发现更易于理解和传达。

通过上述研究,本文不仅展示了Python及其相关库在处理和分析大规模文本数据方面的强大能力,也为电影制作人、分析师和文化研究者提供了直观的洞察,帮助他们更好地理解市场和观众反馈。展望未来,本研究的方法和流程有望应用于更广泛的领域,如书籍、音乐等其他文化产品的评价分析,进一步推广数据科学在人文社会科学研究中的应用,为理解现代文化消费模式和公众情感倾向提供新的视角和方法。此外,研究还将探索更多维度的数据分析和采用更先进的机器学习模型,以提高分析的准确性和深度,为文化产业的发展提供更为精准的数据支持。

关键词:自动化数据采集、情感分析、数据可视化

ABSTRACT

In the context of the digital age, with the rapid development of Internet technology, a large amount of data is generated and shared on the Internet, including the public evaluation of cultural products such as movies. These evaluation data not only contain rich information and reflect the emotional attitudes and preferences of the public, but also provide valuable data resources for the production, promotion and evaluation of cultural products. Based on this, this study is committed to using the Python language and its powerful library resources to develop a systematic method to automatically collect, process, analyze and visualize the review data of Douban movies, aiming to deeply explore and analyze the public's evaluation and feelings about movies.

Firstly, the Selenium tool was used to realize the automatic collection of Douban movie reviews, and the data was efficiently obtained by simulating the browsing behavior of real users. Subsequently, Pandas is used for data cleaning and preprocessing to ensure data quality. In the text analysis stage, combined with natural language processing tools such as Jieba word segmentation and NLPIR, the comment text was accurately tokenized and tagged by part of speech, and keywords were extracted through algorithms such as TF-IDF to reveal the hot content and emotional tendency in the comment. In addition, this study also applied sentiment analysis techniques to evaluate the emotional color of reviews, distinguish positive, neutral and negative reviews, and provide quantitative indicators for the emotional evaluation of films. In terms of data visualization, the study uses tools such as Matplotlib and Seaborn to present complex analysis results in intuitive charts and graphs, making the analysis findings easier to understand and communicate.

Through the above research, this paper not only demonstrates the powerful capabilities of Python and its related libraries in processing and analyzing large-scale text data, but also provides intuitive insights for filmmakers, analysts, and cultural researchers to better understand the market and audience feedback. Looking forward to the future, the methods and processes of this study are expected to be applied to a wider range of fields, such as the evaluation and analysis of books, music and other cultural products, to further promote the application of data science in humanities and social science research, and to provide new perspectives and methods for understanding modern cultural consumption patterns and public emotional tendencies. In addition, the research will also explore more dimensions of data analysis and adopt more advanced machine learning models to improve the accuracy and depth of analysis, and provide more accurate data support for the development of the cultural industry.

目录

1 引言

1.1 挖掘背景及意义

1.2 研究目的

2 技术概述

2.1Selenium

2.2Pandas

2.3Matplotlib和Seaborn

3 使用Selenium和Pandas进行豆瓣电影评论爬取和分析

3.1 Selenium WebDriver的使用

3.2爬取流程详解

3.2.1定位和获取页面元素

3.2.2数据保存至CSV文件

3.3总结

4 数据集来源和内容

4.1字段说明

5 数据分析

5.1 数据预处理

5.1.1 去除原因

5.2 文本分词

5.2.1 分词工具

5.2.2 词性标注

5.2.3 过滤停用词

5.3 评论热点识别

5.3.1文本关键词提取算法

5.3.2结果及印象分析

6 电影评论综合评价

6.1 基于 LDA 模型的主题词典构建

6.1.1 LDA 主题提取算法

5.1.2 流程设计

5.1.3 主题建模及词典构建

6.2 基于属性的细粒度情感分析

6.2.1 流程设计

6.2.2 中文情感分析工具

6.3 综合评价模型

6.3.1 流程设计

6.3.2 模型构建

7 实验与结果分析

8 结论与展望

9 参考文献

附录

1 引言

    1. 挖掘背景及意义 

在当今这个信息化时代,互联网技术的飞速发展已经深刻地改变了我们的生活和工作方式。特别是数据,作为互联网时代最宝贵的资源之一,其重要性不言而喻。随着数据量的日益增加,如何有效地收集、处理和分析这些数据,以提取有价值的信息,已经成为了一个重要的研究领域。在这一背景下,网络爬虫技术应运而生,成为获取网络数据的重要手段。

网络爬虫,简而言之,是一种自动化地浏览万维网并收集信息的工具。它模仿人类浏览网页的行为,通过自动化脚本访问和分析网页,从而高效地收集网上的数据。这种技术在众多领域内都有应用,如搜索引擎的索引构建、市场分析、社会科学研究等。其重要性体现在它能够处理大规模数据收集任务,节省大量的时间和人力成本,同时也提高了数据收集的效率和准确性。

随着Python语言的普及,其简洁、高效的特性使得它成为编写网络爬虫的首选语言之一。Python不仅提供了丰富的库来支持网络爬虫的开发,如Requests、BeautifulSoup、Scrapy等,还拥有强大的数据处理和分析库,如Pandas、NumPy、以及用于数据可视化的Matplotlib和Seaborn等。这些库的综合应用,使得从网页数据采集到数据处理、分析直至可视化展示的整个过程得以顺畅实施。

基于此背景,本研究旨在使用Python开发网络爬虫,以豆瓣电影评论为数据源,进行数据采集和分析。豆瓣作为一个集电影、书籍、音乐等文化产品评价于一体的社区,其庞大的用户基础和丰富的评论数据,为分析公众对文化产品的态度和偏好提供了珍贵的数据资源。通过对豆瓣电影评论的采集和分析,本研究不仅旨在探索公众对某电影的情感倾向和关键词使用频率,还试图通过数据可视化手段,揭示评论数据背后的更多信息和趋势,为电影制作、营销以及文化研究提供参考和洞察。

    1. 研究目的

本研究旨在深入探索和理解公众对电影的评价和感受,通过具体的数据分析和可视化手段,揭示观众评论中蕴含的情感倾向、关键词频率以及其他潜在的评价维度。在数字时代背景下,互联网上的电影评论成为了研究公众文化偏好和社会趋势的宝贵资源,而豆瓣电影作为一个集合了广泛观影体验和丰富评论的平台,为本研究提供了理想的数据源。通过采集豆瓣上的电影评论数据,并运用现代数据分析技术,本研究目的不仅限于单纯的数据收集,更重要的是通过数据的深入分析和可视化处理,探索以下几个关键研究目的:

情感分析: 通过自然语言处理技术,分析评论中的情感色彩,区分正面、中性和负面评论,从而全面理解公众对电影的情感态度。这不仅有助于评估电影的受欢迎程度,还可以深入了解观众的情感需求和满足度。

关键词提取与频率分析: 识别并分析评论中出现频率高的关键词,以揭示观众关注的焦点和电影的热点话题。这有助于从观众的角度理解电影的主要吸引点和可能的争议点,为电影制作和市场营销提供数据支持。

评论特征分析: 除了文本内容的分析,本研究还旨在探索评论的其他特征,如评论的时间分布、用户活跃度等,以了解评论活动的动态变化和观众参与的模式。

数据可视化: 利用Matplotlib和Seaborn等数据可视化工具,将分析结果以图表和图形的形式直观展示,使得研究发现更易于理解和传达。通过数据可视化,本研究旨在提供直观的洞察,帮助电影制作者、分析师和文化研究者更好地理解电影市场和观众反馈。

通过这些研究目的的实现,本研究期望为电影产业的各方利益相关者(包括电影制作人、分析师、营销人员以及学术研究者)提供有价值的洞察和建议,同时为理解现代文化消费模式和公众情感倾向提供新的视角和方法。此外,本研究也旨在展示Python及其相关库在处理和分析大规模文本数据方面的强大能力,进一步推广数据科学在人文社会科学研究中的应用。

2 技术概述

2.1Selenium

Selenium是一个开源的自动化测试工具,它主要用于Web应用程序的自动化测试。Selenium提供了一套用于Web页面操作的API,支持多种浏览器,包括Chrome、Firefox、Edge等,使其成为自动化测试领域的首选工具。在本研究中,Selenium的作用不仅限于测试,它的自动化浏览器控制功能被用于模拟用户对Web页面的操作,从而实现对豆瓣电影评论数据的自动化采集。

通过Selenium,我们可以编写脚本来自动打开浏览器、访问指定URL、模拟点击和滚动等用户操作,并从网页中提取所需的数据。Selenium的能力在于它提供了一种非常接近真实用户浏览行为的方式来获取数据,这对于需要与JavaScript交互以动态加载内容的网页尤为重要。

2.2Pandas

Pandas是一个强大的Python数据分析库,提供了高效的DataFrame结构来处理和分析结构化数据。它支持多种数据操作,包括数据清洗、筛选、分组、聚合以及合并等,极大地简化了数据处理的复杂度。

在本研究中,Pandas用于处理和分析从豆瓣电影评论中采集到的数据。通过Pandas,我们可以轻松地清洗数据,比如去除缺失值、重复项,或是基于某些条件过滤数据。Pandas的分析功能也被用于探索评论数据的特征,比如计算评论的情感分布、关键词的频率等。

2.3Matplotlib和Seaborn

Matplotlib是Python中最为广泛使用的绘图库之一,它提供了丰富的绘图接口,能够生成高质量的图形和图表。Seaborn是基于Matplotlib的高级绘图库,提供了更多的绘图模式和美化功能,使得数据可视化更加简洁美观。

在本研究中,Matplotlib和Seaborn被用于将数据分析的结果以图形的形式展现出来。通过可视化,复杂的数据集合和分析结果能够被直观地呈现,使得研究发现更容易被理解和分享。例如,我们可以使用这些库来绘制情感分布的饼图、评论关键词的条形图、以及评论数量随时间变化的趋势图,从而直观地展示分析结果和洞察。

综上所述,Selenium、Pandas以及Matplotlib和Seaborn这三个工具在本研究中扮演着至关重要的角色。Selenium作为数据采集的工具,使我们能够高效地收集网络上的评论数据;Pandas作为数据处理和分析的工具,提供了强大的数据处理能力;而Matplotlib和Seaborn则使得数据分析的结果以更加直观和美观的形式被展示,增强了研究的表达力和影响力。

3 使用Selenium和Pandas进行豆瓣电影评论爬取和分析

图1:爬取评论过程图

3.1 Selenium WebDriver的使用

Selenium WebDriver作为一个自动化测试工具,其核心功能不仅限于测试,更广泛地应用于网页的自动化操作,如自动登录、数据爬取等。在本研究中,WebDriver充当了自动化浏览器的角色,模拟用户行为,访问目标网页,并执行数据采集任务。通过预先编写的脚本,WebDriver能够自动打开浏览器,导航至豆瓣电影评论页面,从而开始数据的爬取过程。

3.2爬取流程详解

3.2.1定位和获取页面元素

在成功访问豆瓣电影评论页面后,下一步是定位并获取页面中的评论数据。这一过程涉及到对网页结构的分析,确定存放评论数据的HTML元素。通过精确地定位这些元素,我们可以提取出评论文本等信息。这一步不仅需要对HTML和网页结构有一定的了解,还需要灵活运用Selenium提供的定位方法,如通过元素的id、类名、XPath等属性来实现。

3.2.2数据保存至CSV文件

获取到评论数据后,下一步是将数据保存至CSV文件中,以便进行后续的处理和分析。这里,Pandas库发挥了重要作用。通过简单的代码,我们能够将采集到的数据组织成结构化的格式,并导出为CSV文件。这不仅为数据的存储提供了方便,也为后续的数据分析奠定了基础。

3.3总结

通过Selenium和Pandas的结合使用,我们实现了对豆瓣电影评论数据的自动化采集与分析。从设置Selenium驱动开始,到页面元素的定位获取,再到数据的结构化保存,整个过程高效、自动化,极大地提升了数据采集的效率。这不仅为本研究提供了丰富的数据基础,也展示了现代数据科学技术在数据采集与分析领域的强大能力。

4 数据集来源和内容

本研究选定的数据集来源于豆瓣电影的“唐人街探案”系列电影评论区。通过Selenium自动化工具,我们爬取了这一系列电影的用户评论,并整理成了结构化数据集供后续分析使用。数据采集的时间跨度覆盖了电影上映后的几个月内,以期捕捉到较为全面的观众反馈。

4.1字段说明

为了确保数据的可用性和分析的深入性,我们精心选择了以下几个字段来构建数据集:

短评:这是评论正文的字段,记录了用户对电影的看法、感受和评价。短评是分析评论情感倾向、主题及关键词频率等重要的文本数据来源。

时间:记录了评论发布的具体时间,精确到天。这一字段有助于我们分析评论的时间分布,探究观众反馈的时间动态,以及与电影上映时间的关系等。

用户名:这一字段记录了发表评论的用户名称。虽然不涉及个人隐私信息,但通过用户名可以分析用户的活跃度、评论习惯等。

有用数:记录了其他用户对这条评论标记为“有用”的次数。这一字段可以作为评论受欢迎程度和影响力的一个间接指标,有助于我们识别高质量或具有代表性的评论。

通过对这些字段的分析,我们可以从多个维度深入理解观众对电影的评价和反馈,揭示电影评论背后的情感倾向、文化特征和社会意义。此外,这一数据集的构建也为未来的文化研究、社会学研究提供了方法上的参考和数据上的基础。

5 数据分析

5.1 数据预处理 

5.1.1 去除原因

在原始评论文本中,我们经常会遇到内容完全一致的评论,这可能是由发布者简单地复制粘贴而来。在这种情况下,我们假定最早发布的评论具有较高的参考价值,因为它可能是其他评论的原始来源或者最真实的反映。

另一方面,即使是内容相似的评论也不容忽视。特别是在描述某一景点或酒店时,评论者往往会使用类似的关键词和表达方式。因此,虽然这些评论的内容不完全一致,但它们之间可能存在着相似性。这种相似性反映了对同一事物或主题的共同体验或观点,因此我们也需要保留这些内容相似但不完全一致的评论。

通过保留内容相似的评论,我们可以获得更加全面和多样化的信息,从而更好地了解用户对于特定景点或酒店的感受和评价。同时,这也为后续的数据分析和挖掘提供了更多的数据样本,从而提高了分析的可信度和准确性。因此,在处理评论文本时,我们不仅要关注内容完全一致的评论,还要注意保留内容相似但不完全一致的评论,以确保我们获取到尽可能多的有用信息。

5.2 文本分词

5.2.1 分词工具

(1)Jieba 分词

Jieba 分词是一款中文开源分词包,具有高性能、高准确率、可扩展性等特点,包含精确模式、全模式、搜索引擎等分词模式。其分词原理是使用基于 Trie 树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG);采用了动态规划查找最大概率路径,找出基于词频的最大切分组合。并且,对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法。此外,还支持自定义词典及停用词词典,提供词性标注的功能。

(2)NLPIR 分词系统

NLPIR是由中国科学院计算技术研究所开发的基于多层隐马尔可夫模型的中文词法分析系统。该系统不仅提供了分词功能,还包括词频统计、词性标注、命名实体识别、新词识别等一系列功能。通过NLPIR系统,用户可以对中文文本进行全面的语言分析和处理,从而实现对文本信息的深度挖掘和理解。NLPIR系统的研发标志着中文自然语言处理技术在词法分析领域的重要进步,为各种应用场景提供了强大的支持和基础。

(3)pyltp

语言技术平台(LTP)是由哈尔滨工业大学社会计算与信息检索研究中心研发和推广的一款语言处理工具,而pyltp则是LTP的Python封装。它们为用户提供了丰富的功能,包括但不限于中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等。通过这些功能,用户可以对中文文本进行深度的语言分析和处理,实现对文本信息的更全面、更精准的理解。LTP和pyltp的开发和推广,不仅为学术研究提供了强大的工具支持,也为工业界的自然语言处理应用提供了可靠的基础和解决方案。这一技术的推广应用,推动了中文自然语言处理领域的发展,为各种应用场景提供了重要的支持和帮助。

在本章节中,我们选择了Jieba分词工具来进行评论文本的分词处理。Jieba分词工具之所以被选用,是因为它具有灵活的词库扩展功能,允许用户在原有词库的基础上添加未登录词词典,从而更好地适应特定领域或者特殊需求。除此之外,我们还可以根据实际的分词结果不断地修正和优化分词词库,以提高分词的准确性和适用性。这种基于Jieba分词工具的文本处理方法,能够有效地帮助我们实现对评论文本的精准分析和理解,为后续的文本挖掘和信息提取提供可靠的基础和支持。通过不断地调整和优化分词词库,我们可以更好地适应不同类型的评论文本,并实现更精确的分词结果,从而为后续的数据处理和分析工作奠定坚实的基础。

5.2.2 词性标注

(1)标注原因

由于与景点相关的印象词语具有一定的特殊性,词性通常为名词、动名词和形容词等,为保证后续印象词识别的准确性,本文基于词性标 注的结果进一步筛选关键词。

(2)词性标记含义

本章节采用 jieba 对分词的词性进行标注,部分常见词性标记如下:

表 2:Jieba 常见词性标记释义

词性

符号

释义

形容词

a

取形容词 adjective 的第 1 个字母

名形词

an

具有名词功能的形容词

副形词

ad

直接作状语的形容词

副词

d

取副词 adverb 的第 2 个字母

代词

r

代词 pronoun 的第 2 个字母

介词

p

介词 prepositional 的第 1 个字母

名词

n

取名词 noun 的第 1 个字母

动词

v

取 verb 的第一个字母

副动词

vd

直接作状语的动词

名动词

vn

指具有名词功能的动词

5.2.3 过滤停用词

鉴于评论文本中经常出现大量无效的标点符号和停用词,这些无效元素对于文本处理和分析造成了困扰。为了解决这个问题,我们决定制定自定义停用词表,并结合分词结果,不断优化和完善停用词列表。通过持续的调整和改进,我们希望能够提高文本处理的效率和准确性,使得我们能够更好地理解和分析评论文本中的信息,从而更好地应对相关任务和挑战。这一举措将有助于优化我们的文本处理流程,提高我们对评论数据的理解和利用能力,为后续的分析和决策提供更为可靠和有效的支持。

5.3 评论热点识别

5.3.1文本关键词提取算法 

识别评论热点的主要任务是提取评论文本中关键词,并输出关键词所占重要性权重。本文采用了两种方法进行关键词提取,对比两种提取结果,分析关键词提取方法的适用性,基于关键词提取结果,对杭州景区进行印象分析。

基于词频的关键词提取

词频(term frequency,简称 TF)是指词或短语在给定文档中出现的频率,通常认为词频越高,其在文档中的重要度越高,成为关键词的可能性就越大。

本章节对文本预处理后的分词结果,进行词频统计,分别保留词频最高的 前 10 个关键词,作为目的地热门词。

基于 TF-IDF 的关键词提取

词频-逆文档频率(TF-IDF)[5]结合词频和逆文档频率来衡量候选关键词的重要度, TF-IDF 的主要思想为:如果某个词在一篇文档中出现的频率越高,即 TF 越高;并且在语料 库中其他文档中很少出现,即文档频率(DF)越低,逆文档频率(IDF)越高,则认为该词具有较好的区分能力。本章节采用 jieba.analyse 库中 extract_tags()方法,对评论文本预处理后的结果,重要性权重排名前 10 位的关键词作为热门词。

5.3.2结果及印象分析 

通过分析两种关键词提取方法的结果,我们发现在基于词频的提取方法中,识别出了较多的无用词,比如“看”、“取票”等,这些词汇并不具有很强的信息量,对于电影评论的特征描述并不具备代表性。而在TF-IDF方法中,提取效果则较好,可以更准确地捕捉到文本中的关键信息,减少了无用词的干扰。

通过对图2的分析,我们可以发现,电影评论的关键词主要集中在一些特定的词语上,比如期待、想看、双瞳等。这些关键词的出现频率或者权重较高,说明这些在评论中被提及的频率较高,可能是电影的亮点或者用户观看的重要组成部分。综上所述,通过对不同关键词提取方法的比较分析,以及对提取结果的进一步分析,我们可以更好地了解电影的特点和优势,为用户提供更为准确和全面的信息,提升他们的观看体验。

图2:基于TF-IDF的评论TOP10关键词

6 电影评论综合评价 

由于针对电影的评论主题性较强,主要论点通常通过名词的形式进行表达,并且涉及评价对象的多个方面,图 3展示了电影评论语料中名词性短语的词云图。可见,对电影进行评价时,首先,需要识别观点句中包含的实体属性,再通过基于属性的情感分析,分别计算电影在服务、观看体验、设施、性价比四个方面的情感综合得分,以用户对各评价维度的关注度作为权重,计算各电影的总得分,以实现对电影的综合评价。

图 3:电影评论词云图

6.1 基于 LDA 模型的主题词典构建 

6.1.1 LDA 主题提取算法 

LDA(Latent dirichlet allocation)【3】是有 Blei 于 2003 年提出的三层贝叶斯主题模型,通过无监督的学习方法发现文本中隐含的主题信息,目的是要以无指导学习的方法从文本中发现隐含的语义维度。它是一种无监督的文档主题生成模型,认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程,这些主题被集合中的所有文档所共享,每个文档有一个特定的主题比例。对应结构如下图所示:M 表示评价数,N 表示不同的主题数,文档词频 Wt,n 是一个已知的统计量,它依赖于 对这个话题的指派 Zt,n以及话题所对应的词频bk;同时,话题指派 Zt,n依赖于话题分布,依赖于 Dirichlet 分布参数a,话题的词频则依赖于参数h,大矩形表示从狄利克雷分布中为每个文档 d 中反复抽取主体分布qd,小矩形表示从主体分布中迭代产生文档 d 的词{w1, w1,w1.„,wn}。

图 4:LDA 主题提取流程图

当给定一个评论集合D,包含M 条评价和N 个不同的主题词,每条评论d 包含一个词序列{w1,w2,w3„,wN},在评论集合D 对应的LDA 模型中,假设主题数目固定为k,则一个文档d 的产生可以表示为以下两个步骤:

5.1.2 流程设计

基于LDA主题提取的原理,本模块采用词性标注技术,旨在找出评论中用户意见所对应的名词短语。这一过程首先利用词性标注技术,将评论中的词语按照其在句子中的词性进行标注,然后通过筛选,提取出具有名词属性的词语。这些名词短语往往代表着评论中用户所关注的主要事物或概念,例如景区的各种设施、景点名称、服务质量等。

随后,通过对这些名词短语进行聚类操作,将具有相似意义或者相关性的名词短语归为同一类别。这一步骤旨在将评论中所提及的各种具体概念或事物进行整合和归纳,从而更好地理解用户在评论中所表达的意见和观点。

最后,结合聚类结果和领域相关文献,构建景区和酒店主题词典。在这一步骤中,我们利用聚类结果对景区的相关主题进行了归纳和整理,并结合领域相关文献,进一步完善和修正主题词典。这样构建的主题词典不仅能够反映用户在评论中关注的核心主题和关键词,还能够更好地满足后续分析和挖掘的需求。

具体的流程设计如下图5所示,其中展示了词性标注、名词短语提取、聚类和主题词典构建等关键步骤。通过这一流程的设计和实施,我们能够更有效地从评论文本中提取出有价值的信息和见解,为后续的分析和决策提供可靠的支持。

图 5:基于LDA 模型的主题词典构建流程

5.1.3 主题建模及词典构建

基于词频的关键词提取会提取出较多无实际意义或不具备代表性的词语,而使用逆文档频率可以弥补词频排序带来的缺点,使更多合理的词排在前面,有助于挖掘景区或酒店的隐含属性。因此,本模块使用pyltp 对评论文本进行分词和词性标注,使用TF-IDF 的算法对去停用词并保留名词性短语的评论进行文本向量化处理。利用LDA 主题模型对主题词进行聚类可视化,根据可视化结果,不断调整聚类主题。

本模块使用pyLDAvis 对评论进行可视化的主题聚类,左侧的圆圈代表了不同的主题,圆圈之间的距离是每个主题之间的相似度。在选定某一个主题后,右侧面板会相应地显示出该主题下相关性最高的30 个词汇,通过总结这些词汇表达的意义,归纳出该主题的意思。参考五维度的评价标准,利用实验通过以K=5 为基准,依次升高K 值的方法选择各主题下的属性词。

对于电影评论文本,多次调整K 值后发现,当主题数K=5 时各主题交叉较少,分布均匀,效果最好。如图6所示,选中主题2,该主题内部包含的主题词有“王宝强”、“剧情”、“推理”、“喜剧”、“剧本”、“悬疑”、“不错”等主题词,归纳该主题主要与电影内容相关。

图6:电影评论pyLDAvis主题可视化(Topic2)

6.2 基于属性的细粒度情感分析

由于依据评论中可能出现针对多主题的观点,本模块通过利用Python编程对接自定义分词库,对句子进行分词处理,并通过将词性标注为标点符号(主要包括逗号、问号、句号、分号)的元素替换为换行符,解决一条评论句中出现多主题的问题。利用扩充后的主题词典,通过属性词匹配的方式,找出包含主题词的评论分句,统计各评价维度对应的评论分句数量。假定一条分句中,仅包含评论者对评论实体某一主题的评价,将分句情感得分的结果转换为对评价主体属性的得分。

6.2.1 流程设计

图 7:基于评论分句的情感分析流程

6.2.2 中文情感分析工具

(1) SnowNLP

SnowNLP 是一个python 写的类库,可以方便地处理中文文本内容,是受到了TextBlob的启发而写的,针对中文文本进行情感分析,和TextBlob 不同的是,SnowNLP 没有用NLTK,所有的算法都是由创作者自己实现。SnowNLP 支持的中文自然语言操作包括中文分词、词性标注、情感分析、文本分类等。

6.3 综合评价模型

6.3.1 流程设计

图 7:基于情感得分的综合评价流程

6.3.2 模型构建

本模块以分句的积极情感倾向性得分作为最终得分的计算依据,由于倾向性得分输出结果范围在0~1 之间,使用如下公式将评分规范化到1~5 之间。

7 实验与结果分析

数据预处理与文本分析:项目采用了Jieba和NLPIR等中文分词工具进行文本预处理,包括分词、词性标注和去除停用词等步骤。这些步骤确保了分析的准确性和有效性,为后续的文本分析打下了基础。

关键词提取与印象分析:通过应用基于词频(TF)和TF-IDF模型的关键词提取方法,项目成功识别了与旅游景点相关的关键词和热点话题。例如,词频方法和TF-IDF方法的对比结果显示,TF-IDF方法能更有效地提取出有代表性的关键词,如“期待”、“想看”等,揭示了用户对电影的喜欢和印象。

主题建模与情感分析:利用LDA(Latent Dirichlet Allocation)模型进行了主题建模,揭示了用户评论中的隐含主题,如剧情、内容等。结合情感分析技术,进一步对游客的情绪倾向进行了判断,评估了评论的正面、负面或中立倾向,为景点评价提供了细致的情感维度。

综合评价模型:通过构建基于属性的细粒度情感分析模型,项目能够对景区在服务、位置、设施等多个维度进行综合评价。采用自定义分词库和情感分析工具(如SnowNLP),对评论文本进行了深入分析,计算出各维度的情感得分,并最终形成了电影的综合评价。

可视化展示与决策支持:通过词云图、情感分布图和主题分布图等可视化手段,项目直观展示了分析结果,使得旅游企业和目的地管理者能够清晰地理解游客的评价和偏好。这些可视化结果不仅提升了结果的易理解性,也为电影出品方提供了有力的决策支持工具。

总的来说,本项目通过先进的文本挖掘和自然语言处理技术,对在线旅游评论数据进行了深入的分析和处理,揭示了电影的关键特征和游客的情绪倾向,为提升电影质量和用户满意度提供了科学依据和实用建议。

8 结论与展望

本研究通过使用Python编程语言及其相关库,如Selenium、Pandas、Matplotlib和Seaborn等,成功地实现了对豆瓣电影评论数据的自动化采集、处理、分析以及可视化展示。研究通过深入分析豆瓣电影评论,揭示了公众对电影的情感倾向、关键词使用频率以及评论中的热点话题。通过应用自然语言处理技术,如分词、词性标注、情感分析等,本研究不仅提炼出评论文本中的关键信息,还评估了评论的情感色彩,从而为电影制作和营销提供了有价值的参考。此外,本研究的数据可视化部分有效地将复杂的数据分析结果以图形化的方式呈现,增强了信息的传达效率和易理解性,使得电影制作人、分析师和文化研究者能够快速而准确地理解电影市场和观众反馈。

展望未来,随着数据采集技术的不断进步和分析工具的日益完善,本研究的方法和流程有望应用于更广泛的领域,如书籍评价、音乐评论等文化产品的评价分析。此外,进一步的研究可以考虑融入更多维度的数据,如观众的地理位置、年龄分布等,以实现更细致和全面的分析。同时,采用更先进的机器学习模型,如深度学习算法,对评论数据进行分析,有望提高情感分析和关键词提取的准确性和深度,为电影及其他文化产品的制作和推广提供更为精准的数据支持。最终,本研究旨在通过科技手段深化对文化产品公众评价的理解,促进文化产业的发展,丰富公众的文化生活。

9 参考文献

  1. Crompton .John L. Motivations for Pleasure Vacation[J]. Annals of Tourism Research,

1979,6(4):408-424.

  1. David M. Blei, AndrewY. Ng, Michael I. Jordan, LatentDirichlet Allocation, Journal of Machine Learning Research 3, p993-1022,2003
  2. 兰晓芳,刘卓,许志豪等.基于TF-IDF和TextRank结合的中文文本关键词提取方法——以体育新闻为例[J].软件工程,2023,26(08):6-10.DOI:10.19644/j.cnki.issn2096-1472.2023.008.002.
  3. 王纪才,徐启南,袁霄翔.基于Python爬虫的电影数据可视化分析[J].周口师范学院学报,2023,40(05):60-65.DOI:10.13450/j.cnki.jzknu.2023.05.010.
  4. 程夏敏.对“豆瓣电影”网站数据和内容的分析——以2021年国产电影为例[J].中国电影市场,2022,(07):23-30.
  5. 赵阳.基于影评文本分析的电影推荐研究[D].燕山大学,2022.DOI:10.27440/d.cnki.gysdu.2022.000459.
  6. 张荑阳,毛红霞.基于python的豆瓣电影数据采集与分析可视化[J].电子制作,2021,(16):47-49.DOI:10.16589/j.cnki.cn11-3571/tn.2021.16.017.
  7. 魏丽.基于LDA主题模型的电商评论数据分析[J].信阳农林学院学报,2023,33(03):112-116.DOI:10.16593/j.cnki.41-1433/s.2023.03.023.
  8. 王世航,汤艳君.基于情感分类和主题挖掘的网络舆情文本分析[J].网络安全技术与应用,2023,(07):47-49.
  9. 江锐鹏,钟广玲.中文分词神器Jieba分词库的应用[J].电脑编程技巧与维护,2023,(09):87-89+110.DOI:10.16184/j.cnki.comprg.2023.09.030.

附录

1 各项分析图

2 情感分布图

基于Python豆瓣电影数据采集可视化分析,主要包括两个主要步骤:数据采集和数据可视化分析数据采集部分首先需要用Python编写爬虫程序,通过豆瓣电影的API接口获取电影相关信息,如电影名称、上映时间、评分等。可以使用Python的第三方库,比如Requests库发起网络请求,获取数据的JSON格式。通过解析JSON数据,将所需信息提取出来,并存储到本地的数据库或文件中。 数据可视化分析部分需要用到Python的数据分析库,如Pandas、Matplotlib和Seaborn等。首先,使用Pandas库加载数据并进行清洗和处理,比如去除重复值、缺失值等。然后,利用Matplotlib和Seaborn库绘制各种图表,如柱状图、折线图、饼图等,以便分析电影数据的分布和趋势情况。可以通过电影评分和上映时间的变化等图表,展示电影的受欢迎程度和发展趋势。 此外,还可以利用Python的文本分析功能,对电影的评论进行情感分析,通过词云图来展示用户对电影的情感态度。通过词云图,可以直观地了解用户最常用的正面和负面评价词汇。 综上所述,基于Python豆瓣电影数据采集可视化分析,可以帮助我们更好地了解电影的相关信息和市场趋势。通过数据采集可视化分析,我们可以获取电影的基本信息并展示出来,同时也能通过图表和词云等方式来展示电影的受欢迎程度和用户评价情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值