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上列出的产品的评论进行情感分析的过程,Flipkart是一个流行的在线市场。该程序从产品页面获取评论并分析每条评论的情感。
-
第一步是导入必要的模块 – requests, BeautifulSoup , 和 TextBlob 。使用requests模块获取网页的 HTML 内容,使用BeautifulSoup解析HTML内容,使用TextBlob进行情感分析。
-
接下来,将产品页面的URL赋值给变量url。 使用requests.get() 函数获取网页的HTML内容。响应变量存储响应对象。
-
然后,使用BeautifulSoup函数解析响应对象的HTML内容。使用html.parser作为解析器。
-
使用 soup.find_all() 函数查找页面上的所有评论。评论由div标签和class属性设置为 t-ZTK y进行标识。评论变量存储所有的评论元素。
-
下一个步骤是循环遍历前五条评论。使用 review.text 方法,获取每个评论的文本。在循环遍历前五条评论时,清理提取的文本,消除空白和数字字符,以进行准确的预测。
-
使用 TextBlob 函数从清理后的文本创建TextBlob对象。TextBlob对象的sentiment.polarity属性返回评论的情感评分,该评分在 -1 和 1 之间的值。
-
然后,将情感评分与情感分析一起打印出来。如果情感评分大于 0.2 ,将该评论分类为 积极的 。如果情感评分小于 0.2 ,则将该评论分类为 消极的 。
应用
通过迭代每个审核页面并将结果保存在 CSV 文件或数据集合中,可以扩展此方法以对大量调查进行意见分析。企业可以使用这种方法来衡量客户满意度并改进自己的产品。
在Flipkart上对评论进行情感分析可以帮助Flipkart进行以下方面的工作:
- 了解他们的客户对产品和服务的情感。
-
确定改进的领域,并采取必要的行动来提高客户满意度。
-
在分析之后,将你的产品与竞争对手的产品进行比较。
-
预测市场对他们的商品和服务的发展方向。
结论
在这篇技术博客中,我们探讨了如何使用Python对Flipkart的评论进行情感分析。我们使用了网络爬取技术提取了评论,并使用了TextBlob库进行情感分析。Flipkart的评论情感分析可以帮助他们改进服务并提高客户满意度