基于预训练语言模型的文本情感分析

基于预训练语言模型的文本情感分析

摘要:基于预训练语言模型的文本情感分析是一种利用机器学习和自然语言处理技术来识别和理解文本中蕴含的情感信息的方法。通过对大规模数据进行预训练,这种模型能够学习到丰富的语义知识,并能够准确地判断出文本所表达的情感倾向。 在实际应用中,基于预训练语言模型的文本情感分析可以广泛应用于社交媒体监测、舆情分析、产品评论等领域。例如,在社交媒体监测方面,我们可以利用该技术来追踪用户对某个事件或话题的态度和观点;在舆情分析方面,我们可以通过对新闻报道、论坛帖子等大量文本进行情感分析,从而了解公众对特定议题或事件的看法;在产品评论方面,我们可以根据用户留下的评价来判断他们对产品性能、服务质量等方面是否满意。 此外,基于预训练语言模型的文本情感分析还具有很高的灵活性和可扩展性。它不仅可以适应不同领域和行业中特定类型文字表达方式上存在差异化问题,并且还能够随着时间推移不断更新自身知识库以适应新兴概念和变化趋势。 总之,基于预训练语言模型的文本情感分析为我们提供了一种有效地理解并挖掘海量文本数据中蕴含信息与洞察力。它将进一步推动人工智能技术在自然语言处理领域取得更加深入与广泛地应用。

本文设计了基于预训练语言模型的文本情感分析系统,本系统的核心功能是通过爬取海量情感数据的原始数据,并通过大数据技术将原始数据存储、计算,并将分析的结果以分类预训练模型列表形式展示。

本论文的主要研究工作及取得的成果如下:

  1. 使用Flask等软件开发技术,设计并成功开发出了一套基于预训练语言模型的情感数据分析系统,本系统的情感数据数据源于情感网站上爬取的情感数据。
  2. 使用基于Python语言的网络爬虫,爬取了网站上的情感数据。对爬取到的原始数据进行数据清洗后存储到计算机上,然后使用预训练模型对数据计算,最后将结果保存至MySQL中存储分析。

关键词:情感数据;Flask; Python;预训练模型

Text sentiment analysis based on pre-trained language model

Abstract: Text sentiment analysis based on pre-trained language model is a method that uses machine learning and natural language processing technology to identify and understand the emotional information contained in text. By pre-training large-scale data, the model can learn rich semantic knowledge and accurately judge the emotional tendencies expressed by the text. In practical applications, text sentiment analysis based on pre-trained language model can be widely used in social media monitoring, public opinion analysis, product reviews and other fields. For example, in social media monitoring, we can use the technology to track users' attitudes and opinions on an event or topic; In terms of public opinion analysis, we can understand the public's opinion on a specific issue or event by analyzing the sentiment of a large number of texts such as news reports and forum posts. In terms of product reviews, we can judge whether users are satisfied with product performance, service quality and other aspects according to the reviews left by users. In addition, text sentiment analysis based on pre-trained language model has high flexibility and scalability. It can not only adapt to the differences in the expression of specific types of text in different fields and industries, but also update its knowledge base over time to adapt to emerging concepts and changing trends. In conclusion, text sentiment analysis based on pre-trained language model provides us with an effective way to understand and mine the information and insight contained in massive text data. It will further promote artificial intelligence technology in the field of natural language processing to achieve more in-depth and extensive application.

This paper designs a text sentiment analysis system based on pre-trained language model. The core function of this system is to extract the original data of massive emotion data, store and calculate the original data through big data technology, and display the analysis results in the form of a list of classified pre-trained models.

The main research work and achievements of this paper are as follows:

1. Designed and successfully developed a set of emotion data analysis system based on pre-trained language model by using Flask and other software development technologies. The emotion data of this system is derived from the emotion data crawled from the emotion website.

2. The web crawler based on Python language was used to climb the emotional data on the website. The original crawled data is cleaned and stored on the computer, and then the pre-trained model is used to calculate the data. Finally, the results are saved to MySQL for storage and analysis.

Key words: emotional data; Flask; Python; Pretraining model

1 绪论

1.1研究背景与现状

基于预训练语言模型的文本情感分析是一种利用机器学习和自然语言处理技术来识别和理解文本中蕴含的情感信息的方法。通过对大规模数据进行预训练,这种模型能够学习到丰富的语义知识,并能够准确地判断出文本所表达的情感倾向。 在实际应用中,基于预训练语言模型的文本情感分析可以广泛应用于社交媒体监测、舆情分析、产品评论等领域。例如,在社交媒体监测方面,我们可以利用该技术来追踪用户对某个事件或话题的态度和观点;在舆情分析方面,我们可以通过对新闻报道、论坛帖子等大量文本进行情感分析,从而了解公众对特定议题或事件的看法;在产品评论方面,我们可以根据用户留下的评价来判断他们对产品性能、服务质量等方面是否满意。 此外,基于预训练语言模型的文本情感分析还具有很高的灵活性和可扩展性。它不仅可以适应不同领域和行业中特定类型文字表达方式上存在差异化问题,并且还能够随着时间推移不断更新自身知识库以适应新兴概念和变化趋势。 总之,基于预训练语言模型的文本情感分析为我们提供了一种有效地理解并挖掘海量文本数据中蕴含信息与洞察力。它将进一步推动人工智能技术在自然语言处理领域取得更加深入与广泛地应用。

目前情感分析网站数据一般有以下特点: 

一, 数据量增长迅猛:互联网的迅速发展,数据量正在以指数级增长,互联网公司每年都会产生大量的数据。以前没有并行存储计算的时候,这些数据要么丢弃掉,要么进行归档封存。

二,数据的多样性:我们传统意义上的数据可能会存储在数据库中的关系型数据,如用户信息,订单信息等。但目前数据格式上多种多样,特别是应用日志,很多都是以Json格式来进行存储。Json 格式数据中也会有List等等结构。所以数据结构的复杂程度也越来越高。

三,数据来源丰富:以前我们分析的数据基本都是存储在关系型数据库中。如Oracle或者Mysql.现在关系型数据库中的数据已经成为数据来源的一种方式。 更多的数据来源于应用日志,打点数据。网站访问行为等数据。

基于以上三点,传统的关系型数据库已经没有办法来进行处理了。所以就迫切需要一种能够存储海量数据的分布式web系统。Flask便成为首选的技术解决方案。

总而言之,从上述问题可以看出目前互联网情感数据平台信息缺乏整合,用户在冗杂的情感数据中难以筛选出有效的信息。本论文拟初步研究开发出一套完整的基于预训练模型的情感信息分析系统,本系统主要用于对情感数据和相关信息进行采集,通过大数据平台对数据进行存储和计算,将指标分析和预训练模型结果以分类预训练模型形式给用户查询。这样,用户在使用本平台时只需一次注册操作,即可浏览各平台发布的情感数据,并且可以根据用户的条件进行筛选,给用户带来一定的便利。

1.2论文主要研究工作

为了实时了解情感变化情况光靠人工收集并采用普通的方式进行分析十分浪费人力物力,并且效率和体验都不好,因此开发一套基于Python的情感数据分析系统显得尤为重要。本论文所设计的基于预训练模型的情感数据分析系统的最核心功能是对海量情感数据的列表展示,并将大数据计算分析的结果以科技大屏分类预训练模型形式展出,使得用户能够非常直观的获取到情感分类。

本系统首先需要提供给客户管理和使用的数据。本文使用基于Python语言的网络爬虫技术爬取用户使用率较高的情感网站上实时的情感数据作为数据来源,以此作为指标分析和预训练模型的关键数据支撑。然后使用深度学习算法,生态圈中分布式运算模型深度学习算法框架对海量的情感数据数据进行数据清洗,数据融合,计算,分析等流程,数据通过处理后持久化到MySQL数据库中存储。在计算出分析结果数据后,使用Django等软件开发技术等框架完成基于指标分析和预训练模型平台系统的后台的开发。

本文开发一套Web系统将市面上的情感数据通过大数据技术进行存储、计算与智能化分析,将会给用户提供巨大的好处。在提供情感数据列表展示以及筛选功能的同时,还为用户提供个人信息管理,注册修改等功能,这样做便使得该系统成为功能相对完整,业务逻辑清晰。

2 技术总述

2.1 基于Scrapy的网络爬虫技术

Scrapy是目前较为成熟的爬虫技术框架,一般采用Python语言开发程序,Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

在本设计中,由于需要使用到情感网站的原始数据,因此需要开发相应的网络爬虫程序完成对原始数据的采集,图2-1为爬取情感网站的情感数据的原理流程图。

图2-1情感网站爬虫原理流程图

2.2 Python语言介绍

基于Flask电影票房数据分析系统的研究与实现在前台管理网页效果中主要采用的是Python语言开发,现在越来越多的软件公司都使用Python语言来开发web端的应用。因为就目前的市场上网页制作模块来说,Python语言包含的内容是相对而言比较丰富全面的,而且Python语言已经成为现在市场上最为常见的开发技术。我们都知道Python语言是一种开发技术,它的开发是跨平台的,Python语言可以在Windows操作系统上运行也可以在Linux系统上运行。

Python是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Python语言具有功能强大和简单易用两个特征。Python语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Python具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点。Python可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序等

2.3  Mysql数据库介绍 

MySQL 是一款安全、跨平台、高效的,并与 PHP、Python 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。
    MySQL 的象征符号是一只名为 Sakila 的海豚,代表着 MySQL 数据库的速度、能力、精确和优秀本质。

图2-1 MySQL图标

本系统采用的数据库是MySQL数据库,其目的是用来存储利用爬虫爬取到的大量电影票房数据数据集和数据处理之后的分析结果。

2.4 分词技术

jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可,2/3都可以,功能强悍,十分推荐。

中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词模块jieba,它是python比较好用的分词模块。待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8。支持三种分词模式:

1.精确模式,试图将句子最精确地切开,适合文本分析;

2.全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

3.搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

2.5  B/S架构 

B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个“瘦子”,而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与用户交互的平台,而C/S则需要开发专用的应用程序。

当前MIS系统结构目前存在两种较为流行的结构:C/S和B/S两种。

    C/S结构的系统:C/S结构就是客户机服务器结构,它可以法派任务到Client端和Server端来进行,充分利用两端硬件环境的优势,来降低系统的通讯的花费。客户端主要作用是处理人机交互,执行客户端应用程序,收集数据以及向服务器发送任务请求。服务器基本作用是执行后台程序,它主要对客户机的请求申请进行反馈,除此之外,它的作用还包括:数据服务预约储系统的共享管理、通讯管理、文件管理等等。

    B/S结构的系统:这种网络结构简化了客户端,并把系统功能实现的中心集中到服务器上,在这种模式中,只需要一个浏览器就可以了。这种结构将很多的工作交于WEB服务器,只通过浏览器请求WEB服务,随后根据请求返回信息。

通常在网站网内部使用,采用C/S。而使用不仅限于内网的情况下使用B/S。考虑到本管理系统的一系列需求,所以,该系统开发使用B/S结构开发。

2.6本章小结

本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括情感信息采集的爬虫技术,数据持久化存储技术,以及基于Flask框架的情感预训练模型后台技术,同时本文还使用了较为流行的Echarts前端可视化技术。通过预研上述技术点并加以应用从而开发出基于预训练模型的情感分析系统

3 情感指标展示及预训练模型系统的实现

3.1系统功能

通过前面的功能分析可以将基于Python情感数据分析平台的研究与实现的功能主要包括用户登录情感数据管理数据分析等内容。后台管理是针对已登录的用户看到满意的情感数据分析而设计的。

3.2可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。

3.2.1 经济可行性

开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.2.2 技术可行性

技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是深度学习算法开发框架,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。

3.2.3 运行可行性

当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。

3.2.4 时间可行性

从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。

3.3 系统实现流程

(1)明确目的

在设计情感数据指标分析和预训练模型平台初期需要了解如何获取情感数据原始数据是非常基础也是关键的一步。要了解指标分析和预训练模型平台期望达到什么样的运营效果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层设计科学合理。

(2)数据采集

只有建立在客观真实的数据基础上,大数据计算分析的结果才有效。在采集

数据时,需要考虑多种维度,比如不同用户群体的情感数据等等,还可以通过行业调研、用户访谈、用户信息填写及问卷收集等方式获得。

(3)数据清洗

就对于各大情感网站或者APP平台采集到的数据而言,可能存在非目标数据、无效数据及虛假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,便于后续的处理。

(4)特征工程

特征工程能够将原始数据转化为特征,是--些转化与结构化的工作。在这个

步骤中,需要剔除数据中的异常值并将数据标准化。

(5)数据计算

在这一步我们将得到的数据存储到指标分析和预训练模型平台,通过开发深度学习算法,程序对原始数据进行计算,将不同维度的结果存储到Mysql中。

(6)数据展示

分析结果可以通过大数据后台展示到前端界面,对于普通用户而言,只需.

要登录到该后台系统,就可以获取到情感数据分析后的计算结果,从而了解行业的情感情况,对于查询情感的用户而言可以极大地提高效率。

3.4系统平台架构

在任何信息系统当中有价值的数据都是必不可少的重要部分,如何通过手上

的资源获取得到有价值的数据便是开发系统。首先需要考虑的问题根据系统的功

能设计数据获取和处理的流程以及其实现方法都已经基本上确定获取和处理流

程。

图3-1 情感分析设计流程

3.5 情感数据爬虫设计

这个项目我们的主要目的是爬取情感网站情感数据信息,包括情感

位、企业名称和企业描述和规模等具体详情信息,下面描述本文爬虫工程主要设

计步骤。

(1)创建项目

打开一个终端输入:scrapy startproiect python_ zgc _data,Scrapy框架将会在指定目录下生成整个工程框架。系统生成的目录如下图3-2所示:

图3-2爬虫框架目录结构

(2)修改setting文件

如图3-1所示为修改后的setting文件主要内容,本设计主要修改三项内容,

第一个是不遵循机器人协议,第二个是下载间隙,由于下面的程序要下载多个页

面,所以需要给一个间隙(不给也可以,只是很容易被侦测到),第三个是请求

头,添加一个User-Agent。

表3-1 爬虫setting文件主要配置

BOT_NAME = 'python_city_data'

SPIDER_MODULES = ['python_city_data.spiders']
NEWSPIDER_MODULE = 'python_qinggan_data.spiders'
# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'python_city_data (+http://www.yourdomain.com)'
#换伪造请求头
USER_AGENT = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
# Obey robots.txt rules
ROBOTSTXT_OBEY = False

(3)确认要提取的数据,item 项

item定义你要提取的内容(定义数据结构),比如我提取的内容为情感数据详情,于是需要在items类中新建对应的实体类,并需要设置相应的字段取出对应的数据。Field 方法实际上的做法是创建一个字典,给字典添加一个建,暂时不赋值,等待提取数据后再赋值。

(4)开发爬虫程序,访问下载网页,使用Xpath语法提取内容

3.6 预训练模型程序设计

本文在设计情感分类预训练模型模型中选用的是Pandas软件中的神经网络工具包,在确定好神经网络结构以后,将数据输入到模型训练后就可以对情感分类进行预训练模型。如图5-7所示是本文针对情感分类预训练模型模型设计的卷积函数神经网络流程。本文在前文分析了特征的提取过程,并经多次调整参数和改变原始训练样本实验后,本文最终确定了输入层,隐含层,输出层个数分别为5,3,1根据不同情感词典所提供的情感词的情感极性,来实现不同粒度下的情感极性 划分,主要过程是文本输入—>(预处理后)分词 —> 训练情感词典(将情感词典中的不同类型和程度的词语放入模型中进行训练)—> 根据判断规则输出。如图3-3所示

图3-3 深度学习算法过程

本文中如需分析目前情感网站上情况,首先需要定义一个任务中的核心逻辑,需要在代码中对每条情感数据里程字段过滤,下面为分析任务的主要逻辑代码。

表3-2 主要模型类

# 读入数据

df=pd.read_csv('data/sample.csv')

# 创建数据集的所有特征

def data_cleaning(text_list):

    stopwords_rem=False

    stopwords_en=stopwords.words('english')

    lemmatizer=WordNetLemmatizer()

    tokenizer=TweetTokenizer()

    reconstructed_list=[]

    for each_text in text_list:

        lemmatized_tokens=[]

        tokens=tokenizer.tokenize(each_text.lower())

        pos_tags=pos_tag(tokens)

        for each_token, tag in pos_tags:

            if tag.startswith('NN'):

                pos='n'

            elif tag.startswith('VB'):

                pos='v'

            else:

                pos='a'

            lemmatized_token=lemmatizer.lemmatize(each_token, pos)

            if stopwords_rem: # False

                if lemmatized_token not in stopwords_en:

                    lemmatized_tokens.append(lemmatized_token)

            else:

                lemmatized_tokens.append(lemmatized_token)

        reconstructed_list.append(' '.join(lemmatized_tokens))

    return reconstructed_list

# 将数据分解为训练集和测试集

X=df['text']

y=df['label']

X_train, X_test, y_train, y_test=train_test_split(X, y)

# 拟合并转换数据

X_train=data_cleaning(X_train)

X_test=data_cleaning(X_test)

tokenizer=Tokenizer()

tokenizer.fit_on_texts(X_train)

vocab_size=len(tokenizer.word_index)+1

print(f'Vocab Size: {vocab_size}')

X_train=pad_sequences(tokenizer.texts_to_sequences(X_train), maxlen=40)

X_test=pad_sequences(tokenizer.texts_to_sequences(X_test), maxlen=40)

y_train=to_categorical(y_train)

y_test=to_categorical(y_test)

# 创建带有嵌入层的LSTM模型并拟合训练数据

model=Sequential()

model.add(layers.Embedding(input_dim=vocab_size,\

                           output_dim=100,\

                           input_length=40))

model.add(layers.Bidirectional(layers.LSTM(128)))

model.add(layers.Dense(2,activation='softmax'))

model.compile(optimizer='adam',\

              loss='categorical_crossentropy',\

              metrics=['accuracy'])

model.fit(X_train,\

          y_train,\

          batch_size=256,\

          epochs=20,\

          validation_data=(X_test,y_test))

朴素贝叶斯模型使用了相当容易理解的特征。它支持大规模情感分析工作,因为训练所需的计算速度很快。

然而,它确实有一些明显的缺点。作为一种概率分类器,它高度依赖先验知识,因此训练数据必须完整且具有代表性。

缺乏良好的训练数据会导致对看不见的数据或词汇量不足的文本的推理能力差。如果数据中存在偏差或不平衡,它也会受到影响。

表3-4 朴素贝叶斯模型算法

# 读入数据

df=pd.read_csv('data/sample.csv')

# 创建并运行数据处理管道

def data_cleaning(text_list):

    stopwords_rem=False

    stopwords_en=stopwords.words('english')

    lemmatizer=WordNetLemmatizer()

    tokenizer=TweetTokenizer()

    reconstructed_list=[]

    for each_text in text_list:

        lemmatized_tokens=[]

        tokens=tokenizer.tokenize(each_text.lower())

        pos_tags=pos_tag(tokens)

        for each_token, tag in pos_tags:

            if tag.startswith('NN'):

                pos='n'

            elif tag.startswith('VB'):

                pos='v'

            else:

                pos='a'

            lemmatized_token=lemmatizer.lemmatize(each_token, pos)

            if stopwords_rem: # False

                if lemmatized_token not in stopwords_en:

                    lemmatized_tokens.append(lemmatized_token)

            else:

                lemmatized_tokens.append(lemmatized_token)

        reconstructed_list.append(' '.join(lemmatized_tokens))

    return reconstructed_list

  

estimators=[('cleaner', FunctionTransformer(data_cleaning)),

            ('vectorizer', TfidfVectorizer(max_features=100000, ngram_range=(1, 2)))]

preprocessing_pipeline=Pipeline(estimators)

# 将数据分解为训练集和测试集

X=df['text']

y=df['label']

X_train, X_test, y_train, y_test=train_test_split(X, y)

# 对管道进行拟合和变换

X_train_transformed=preprocessing_pipeline.fit_transform(X_train)

# 创建朴素贝叶斯模型并拟合训练数据

nb=MultinomialNB()

nb.fit(X_train_transformed, y_train)

X_test_transformed=preprocessing_pipeline.transform(X_test)

# 评价模型

print(f'Test Score: {nb.score(X_test_transformed, y_test)}')

print(f'Test Score: {nb.score(X_train_transformed, y_train)}')

为了验证神经网络的预训练模型效果的好坏,本文另外建立了基于卷积神经网络的情感分类预训练模型模型,并对预训练模型结果进行了对比。卷积神经网络(Convolutional Neural Networks,深度学习)是深度学习应用于分类识别和回归任务的经典模型。如图3-4所示,是本文设计的基于深度学习网络的情感分类预训练模型模型,该模型由两层卷积层,两层池化层和三层全连接层和一个输出层组成,其中卷积层的卷积核大小2×2,卷积核数为64个;全连接层共分为三层,第一层为1024个神经元,第二层为512个神经元,输出层为一个神经元,是关节角度的预训练模型值。本文采用Adam优化器对网络进行优化,并设置学习速率为

3-4 分类预训练模型模型网络结构图

损失函数为均方误差函数:

,其中y为情感的真实数值,output为卷积神经网络学习后的预训练模型值,图5-10是上述卷积神经网络在训练100000次迭代内的损失图,由图可以看出在前60000次迭代的网络损失变化幅度较大,在100000次迭代后网络的损失接近在5°以内。

 

3-5 卷积神经网络迭代损失图

4 后台系统实现

基于Python情感数据分析平台的基本业务功能是采用Django框架实现的, 在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。

4.1 开发环境与配置

4.1.1 开发环境

本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于Python情感数据分析平台使用Pycharm集成开发工具。而系统运行配置时,选择应用本地来部署Web服务器来保障平台的正常运行。本系统的主要开发环境以及开发工具如表4-1所示。

表4-1 系统开发环境和工具

项目

系统环境及版本

硬件环境

Windows 64 位操作系统

Python

Python2.6

数据库

MySql

开发工具

Pycharm

项目架构

Flask

4.1.2 框架配置介绍 

本系统使用集成开发工具Pycharm进行开发,由于 IDEA 中本地配置详细资料有很多,不做详细赘述, 本文主要介绍 Flask框架的配置。首先需要在项目中中引入各框架以及数据库连接等所需要工具包。

4.2 数据库的设计

数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。

根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、情感数据等数据库表。

用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:

图4-2 用户实体属性图

根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对情感数据的管理,使情感数据与用户实体存在对应关系。

4.3 系统功能模块实现

4.3.1登录认证

用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。具体流程如时序图如4-2所示。

图4-2登录认证流程图

情感数据指标分析和预训练模型系统的用户登录界面如下图所4-3所示:

图4-3用户登录注册界面

登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户己成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。情感数据指标分析和预训练模型系统的首页界面如下图所4-4所示:

图4-4 情感指标分析系统首页界面

4.3.2情感数据管理功能

情感数据管理功能是对情感数据进行查询,删除等操作的功能集合,情感数据管理功能使用到了情感数据表t_tianqi,情感数据表t_tianqi的主要数据字段,结构,类型及描述如下表4-2所示。

表4-2 情感数据表字段

字段名称

数据类型

是否允许为空

描述

id

int

不允许

自增主键,唯一ID

people

String

允许

所属人群

company

String

允许

中性

company_size

String

允许

积极

discuss

String

允许

消极

experience

String

允许

计算准确率

industry

String

允许

召回率

F1

String

允许

F1值

salary

String

允许

范围

情感数据指标分析和预训练模型系统的情感数据管理功能界面如下图所4-5所示:

图4-5情感指标预训练模型界面

情感数据管理

功能流程功能图如图3-6所示:

图4-6 情感数据管理功能流程图 

 通过“情感数据管理”按钮,进入情感数据管理界面,通过此界面,用户可以对情感数据进行删除管理操作。数据分类预训练模型模块就是对我们采集和计算的分析结果的展示。数据分析模块的数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式进行展示,从而形象直观地表达数据蕴含的信息和规律。

情感数据指标分析和预训练模型分类预训练模型开发的难点并不在于图表类型的多样化,而在于如何能在简单的一页之内让用户读懂情感数据之间的层次与关联,卷积神经网络在情感分类预训练模型模型有有更高的选择性,同时模型也有更高的鲁棒性,相对于需要大量样本、大量调参的其他神经网络,使用深度学习网络训练迭代次数较少、误差率更低,在基情感文本分类中具有一定的优势。

4.4 本章小结

本章主要分析了基于Python的情感数据分析系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Flask框架的情感数据指标分析和预训练模型系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。

5 总结与展望

5.1 系统开发遇到的问题 

由于基于Python情感数据分析平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括爬虫技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。

5.2 总结与展望 

情感分析系统是在对相关管理范畴进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计等,是一个具有实际应用意义的管理系统。根据本毕业设计要求,经过四个多月的设计与开发,情感数据系统基本开发完毕。其功能基本符合用户的需求。
    为保证有足够的技术能力去开发本系统,首先本人对开发过程中所用到的工

具和技术进行了认真地学习和研究,详细地钻研了基于Python的网络爬虫技术

以及Echarts, CSS, HTML等前端开发技术,同时还研究深度学习算法等。

从情感数据指标分析和预训练模型平台需求分析开始,到整体框架的设计以及各个详细功能的设计具体实现,最后基于预训练模型的情感数据分析系统的基础架构和详细功能已经大致开发完毕,并将其部署在本地服务器当中运行,用户可以登录使用该系统进行情感数据的筛选,同时查询情感数据的分析结果。


参考文献

[1]季杰,陈强仁,朱东.基于互联网大数据的情感智能分析平台的设计和实现[J].内江科技,2020,41(05):47-48.

[2]朱慧雯,田骏,张涛,蒋卫祥.基于互联网大数据的情感数据智能分析平台的设计与实现[J].软件,2020,41(03):99-101.

[3]于涛.大尹格庄金矿井下通风环境感知与指标分析和预训练模型平台研究开发[J].有色金属(矿山部分),2021,73(05):142-146.

[4]汪杰,王春华,李晓华,余克莉莎.煤炭行业指标分析和预训练模型云平台设计研究[J].煤炭工程,2021,53(09):187-192.

[5]周怡燕.基于Python的数据分析平台构建研究[J].自动化与仪器仪表,2021(05):123-127.

[6]邱灵峰,黄荣.大数据审计平台体系建设构想[J].中国管理信息化,2021,24(17):97-98.

邓宇杰,郑和震,陈英健.长江大保护时空大数据云平台建设需求分析[J].水利规划与设计,2021(09):12-15.

[7]孙也.生产制造企业指标分析和预训练模型平台技术[J].电子技术与软件工程,2021(16):178-179.

张晓伟.基于云平台的大数据信息安全保护策略分析[J].信息记录材料,2021,22(08):185-187.

[8]李军,王涛.基于指标分析和预训练模型技术的网络运维平台应用与开发[J].电脑编程技巧与维护,2021(07):112-114.

[9]Chi Dianwei,Tang Chunhua,Yin Chen. Design and Implementation of Hotel Big Data Analysis Platform Based on 深度学习算法 and Spark[J]. Journal of Physics: Conference Series,2021,2010(1):

[10]Costa Rogério Luís de C.,Moreira José,Pintor Paulo,dos Santos Veronica,Lifschitz Sérgio. A Survey on Data-driven Performance Tuning for Big Data Analytics Platforms[J]. Big Data Research,2021,25(prepublish):

谢  辞

时光飞逝,四年的本科生生涯即将结束。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。经历了许多的事情,自己也在不知不觉中成长了很多,心中充盈最多的仍是感激。

首先感谢我的导师,她严谨的治学态度深深地影响每位同学。我要感谢我的父母,他们总是默默的付出,在生活上给与我最大的帮助,在学习上也给我很多建议。

最后,由衷的感谢各位评审老师在百忙之中抽出时间来参与我的论文评审和答辨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值