使用 Streamlit 创建简单的情感分析 WebApp

17 Mar 2025 | 5 分钟阅读

什么是情感分析

情感分析,也称为意见挖掘,是一种处理自然语言处理(NLP)的方法,用于区分文本中的情感基调。这是一种非常流行的方法,用于确定和分类关于某个项目、服务或想法的意见。情感分析包括使用数据挖掘、机器学习(ML)、人工智能和计算语言学来挖掘消息中的情感和抽象信息,例如,它是在表达积极、消极还是中性情感。

所需模块

要实现情感分析 Web 应用,我们需要以下三个模块。

  • Streamlit
  • TextBlob
  • Streamlit_Extras

Streamlit

Streamlit 是一个免费开源的框架,可以快速构建和分享令人惊叹的人工智能和数据科学 Web 应用。它是一个基于 Python 的库,专门为机器学习工程师设计。数据科学家或机器学习工程师不是 Web 开发人员,他们也不想花几周时间学习如何使用这些框架来构建 Web 应用。相反,他们需要一个易于学习和使用的工具,只要它能够显示数据并收集建模所需的参数。Streamlit 允许您用几行代码就能创建一个令人惊叹的应用。

TextBlob

TextBlob 是一个用于处理文本数据的 Python(2 和 3)库。它提供了一个简单的 API 接口,用于深入进行常见的自然语言处理(NLP)任务,例如词性标注、名词短语提取、情感分析、分类、翻译等。

我们可以使用以下命令将上述模块安装到我们的系统中

让我们一步一步地实现情感分析 Web 应用

首先,由于我们正在创建一个基本的情感分析应用程序,因此我们不会通过 Twitter 或 Facebook 等网站使用任何其他第三方 API 来获取数据。这会使它变得复杂。我们将仅将文本作为用户输入,分析其情感并显示结果。

第 1 步:首先,让我们导入所有必需的模块。

考虑到我们将在 Web 应用中使用动画或特殊属性,我们稍后将从 Streamlit_Extras 模块导入它们。

第 2 步:现在我们将为 Web 应用设置一个合适的标题,并创建一个文本区域,用户可以在其中输入文本以分析情感。


Create a Simple Sentiment Analysis WebApp using Streamlit

第 3 步:然后,我们将创建一个按钮,并为其添加文本,以便在用户输入文本后,他们可以单击该按钮来获取结果或输出。

现在从结果中我们可以看到它以最简单的方式以 JSON 格式给出结果。现在我们将通过添加一些额外功能来让这个 Web 应用稍微好一点,并使输出看起来更具说服力和简洁。

我们将现在使用 Streamlit_Extras 模块来添加一些额外功能

首先,我们将分割极性和主观性并将它们存储在一个新变量中。然后使用极性值,我们将添加一些下雨的表情符号,如果极性大于等于 0,则会下雨笑脸表情符号以显示积极情感,如果极性为负,则会下雨哭泣或紧张的表情符号,表明情感是消极的。

此外,我们将使用 streamlit 的警告和成功方法来打印结果,而不是像上次那样使用简单的 write。

代码

输出

Create a Simple Sentiment Analysis WebApp using Streamlit

让我们来实现模型的整体实现

输出

Create a Simple Sentiment Analysis WebApp using Streamlit