使用 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、BeautifulSoup和TextBlob。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 属性返回评论的情感评分,该评分介于-1和1之间。
然后打印情感评分以及对情感的分析。如果情感评分大于0.2,则将评论分类为正面。如果情感评分小于0.2,则将评论分类为负面。
应用
通过迭代每个审计页面并将结果保存在CSV文件或数据集中,可以扩展此方法以对大量调查进行意见分析。企业可以使用它来衡量客户满意度并改进其产品。
对 Flipkart 评论进行情感分析可以帮助 Flipkart:
了解客户对其产品和服务的情感。
确定改进领域并采取必要的措施来提高客户满意度。
在分析竞争对手的产品后,将你的产品与他们的产品进行比较。
预测其产品和服务的市场走向。
结论
在本技术博客中,我们探讨了如何使用 Python 对 Flipkart 评论进行情感分析。我们使用网络爬取技术提取评论并使用 TextBlob 库进行情感分析。对 Flipkart 评论进行情感分析可以帮助 Flipkart 改进其服务并提高客户满意度。