使用 Python 进行 Flipkart 评论情感分析


Flipkart 是印度最大的在线市场之一,购物者可以在那里购买从电子产品到服装的所有商品。由于消费者数量不断增加以及他们提供的反馈,任何商业服务都必须检查评论的语气以改进其服务。情感分析是一种自然语言处理方法,用于检测文本是否表达积极、消极或中立的态度。在本技术博客中,我们将使用 Python 对产品评论进行情感分析来探讨这种方法。

安装和语法

要对 Flipkart 评论进行情感分析,我们需要安装一些 Python 库。

pip install beautifulsoup4
pip install textblob
pip install requests

应用程序的样板代码如下所示:

import requests
from bs4 import BeautifulSoup

url = "https://www.flipkart.com/<product_name>/product-reviews/<product_id>?page=<page_number>"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

算法

使用 TextBlob 库对 Flipkart 评论进行情感分析的算法如下:

  • 使用网络爬取技术提取 Flipkart 评论。

  • 通过去除不需要的字符、数字标点符号来预处理评论。

  • 使用TextBlob库对预处理后的评论进行情感分析。

  • 通过对每个评论的情感评分进行平均,确定评论的整体情感。

示例

import requests
from bs4 import BeautifulSoup
from textblob import TextBlob

url = "https://www.flipkart.com/beston-37-keys-piano-keyboard-toy-microphone-usb-power-cable-sound-recording-function-analog-portable/product-reviews/itmfgdhqpccb9hqb?pid=MKDFGDJXZYND3PSZ&lid=LSTMKDFGDJXZYND3PSZKIDQV7&marketplace=FLIPKART&page=5"
response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')
reviews = soup.find_all('div', {'class': 't-ZTKy'})

for review in reviews[:5]:
   text = review.text
   text = ' '.join(text.split())
   text = ''.join(e for e in text if e.isalnum() or e.isspace())
   sentiment_score = TextBlob(text).sentiment.polarity
   print(text)
   print(sentiment_score)
   if sentiment_score > 0.2:
      print("Analysis: Positive")
   elif sentiment_score < 0.2:
      print("Analysis: Negative")
   else:
      print("Analysis: Neutral")
   print("="*20)

输出

Third class or lower class product I dont want to abuse but product and seller deserve it Product stopped working after 1 month useShameful for flipkart to keep such type cheap products Quality of flipkart is really degrade and selling products like street vendors Third class qualityREAD MORE
0.18333333333333335
Analysis: Negative
====================
Ok ok productREAD MORE
0.5
Analysis: Positive
====================
Nice but price highREAD MORE
0.55
Analysis: Positive
====================
My piano was problemREAD MORE
0.5
Analysis: Positive
====================
Vary bad prodectREAD MORE
-0.09999999999999992
Analysis: Negative
====================

与以下评论相比,该脚本的预测准确率为 90%。

解释

  • 这段 Python 代码演示了对 Flipkart(一个流行的在线市场)上列出的产品的评论进行情感分析。该程序从产品页面获取评论并分析每个评论的情感。

  • 第一步是导入必要的模块 - requests、BeautifulSoupTextBlob。requests 模块用于获取网页的HTML内容,BeautifulSoup 用于解析 HTML 内容,TextBlob 用于情感分析。

  • 接下来,产品页面的 URL 被分配给变量 url。requests.get()函数用于获取网页的 HTML 内容。response 变量存储响应对象。

  • 然后,BeautifulSoup 函数用于解析响应对象的 HTML 内容。html.parser 被用作解析器。

  • soup.find_all()函数用于查找页面上的所有评论。评论由类属性设置为t-ZTKy 的 div 标签识别。reviews 变量存储所有评论元素。

  • 接下来的步骤是循环遍历前五个评论。在循环遍历前五个评论时,使用review.text方法检索每个评论的文本,并通过消除空格和数字字符来清理提取的文本,以便进行精确的预测。

  • TextBlob函数用于从清理后的文本创建 TextBlob 对象。TextBlob 对象的 sentiment.polarity 属性返回评论的情感评分,该评分介于-11之间。

  • 然后打印情感评分以及对情感的分析。如果情感评分大于0.2,则将评论分类为正面。如果情感评分小于0.2,则将评论分类为负面

应用

通过迭代每个审计页面并将结果保存在CSV文件或数据集中,可以扩展此方法以对大量调查进行意见分析。企业可以使用它来衡量客户满意度并改进其产品。

对 Flipkart 评论进行情感分析可以帮助 Flipkart:

  • 了解客户对其产品和服务的情感。

  • 确定改进领域并采取必要的措施来提高客户满意度。

  • 在分析竞争对手的产品后,将你的产品与他们的产品进行比较。

  • 预测其产品和服务的市场走向。

结论

在本技术博客中,我们探讨了如何使用 Python 对 Flipkart 评论进行情感分析。我们使用网络爬取技术提取评论并使用 TextBlob 库进行情感分析。对 Flipkart 评论进行情感分析可以帮助 Flipkart 改进其服务并提高客户满意度。

更新于:2023年8月22日

460 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告