使用 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 改進其服務並提高客戶滿意度。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP