chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

了解用話題建模分析在線產(chǎn)品評論的重要性

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-10-19 08:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現(xiàn)在電商行業(yè)勢頭正好,對在線零售商來說,他們不受庫存或空間的限制,而實(shí)體店則必須在有限的空間中存儲(chǔ)產(chǎn)品。

但是,在線購物也有它的局限之處,最大的難題之一就是檢驗(yàn)產(chǎn)品的真?zhèn)?。它的質(zhì)量是否如宣傳所說的那么好?消費(fèi)者留言的評價(jià)是真實(shí)的嗎還是虛假宣傳?這是消費(fèi)者決定購買的重要因素。

所以,我們決定用NLP技術(shù)在這一主題中進(jìn)行探索,本文將幫助你了解用主題建模分析在線產(chǎn)品評論的重要性。

商品評論的重要性

前幾天,我從某網(wǎng)站買了一部智能手機(jī),價(jià)格符合我的預(yù)期,并且評分為4.5分(滿分為5)。

但是,拿到手之后我才發(fā)現(xiàn),電池續(xù)航遠(yuǎn)不及平均水平。在購買時(shí)我只看了評分,卻沒關(guān)注評論,所以我知道肯定不只我一個(gè)人不滿意!

所以網(wǎng)購看評論應(yīng)該是必不可少的參考,可以,如果評論有成百上千條,根本看不過來怎么辦?這就需要用到自然語言處理技術(shù)了。

明確問題

我們應(yīng)該如何用NLP分析大量商品評論呢?首先讓我們明確這一問題。

從賣家角度,他們可以從評論中估計(jì)顧客對商品的反應(yīng)。想從大量評論中找到關(guān)鍵信息,這樣的智能系統(tǒng)需要做到兩點(diǎn):

能讓顧客從中迅速提取出關(guān)鍵主題

賣家也能通過這些主題獲得用戶反饋

為了解決這一任務(wù),我們將在亞馬遜的汽車評論數(shù)據(jù)上使用主題建模(LDA),數(shù)據(jù)集可以在這個(gè)地址中下載:snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviewsAutomotive5.json.gz。

為什么用主題建模

和這項(xiàng)技術(shù)的名稱一樣,主題建模是自動(dòng)確定文本目標(biāo)中主題的過程,同時(shí)從文本語料中展示隱藏語義。主題模型有多重用途,包括:

文件聚合

組織大型文本數(shù)據(jù)

從未被組織的文本中進(jìn)行信息檢索

特征選擇

一個(gè)好的主題模型,如果在與股票市場相關(guān)的文本上訓(xùn)練時(shí),應(yīng)該會(huì)生成類似“出價(jià)”、“買賣”、“分紅”、“交易”等主題。下圖展示了一個(gè)典型的主題模型工作的流程:

在我們的案例中,文本數(shù)據(jù)來自“汽車”類目下的商品評論。這里,我們的目標(biāo)是從評論中提取一些重要的有代表性的單詞。這些關(guān)鍵詞可以幫助我們了解某位顧客的態(tài)度。

Python實(shí)現(xiàn)

在這一部分,我們會(huì)用到Jupyter Notebook(或你在Python下使用的任意IDE)。這里我們會(huì)用到“隱含狄利克雷分布(LDA)”的概念,如果對這一概念不了解的讀者,可以參考這一博文:www.cnblogs.com/huangshiyu13/p/6148217.html

首先我們要下載所需的庫:

import nltk

from nltk importFreqDist

nltk.download('stopwords') # run this one time

import pandas as pd

pd.set_option("display.max_colwidth", 200)

import numpy as np

import re

import spacy

import gensim

from gensim import corpora

# libraries for visualization

import pyLDAvis

import pyLDAvis.gensim

import matplotlib.pyplot as plt

import seaborn as sns

%matplotlib inline

要導(dǎo)入數(shù)據(jù),首先要將數(shù)據(jù)提取到你的工作類別中,然后使用pandas中的read_json( )函數(shù)在pandas的數(shù)據(jù)框架中讀取。

df = pd.read_json('Automotive_5.json', lines=True)

df.head()

如你所見,數(shù)據(jù)包含以下類目:

評論者的ID

產(chǎn)品ID

評論者的用戶名

該評論的有用性

評論文本

產(chǎn)品評分

評論總結(jié)

評論執(zhí)行時(shí)間

評論原始時(shí)間(raw)

在這篇文章中,我們只使用“評論文本”這一類。

數(shù)據(jù)處理

在開始文本挖掘前,數(shù)據(jù)處理和清洗是很重要的一步。在這一步中,我們會(huì)刪除標(biāo)點(diǎn)、停止詞等,讓評論的形式盡可能統(tǒng)一。處理好之后,就可以檢查數(shù)據(jù)中最常出現(xiàn)的詞語了。所以,讓我們在這里定義一個(gè)函數(shù),可以通過條形圖展示數(shù)據(jù)中最常見的n個(gè)詞語。

# function to plot most frequent terms

def freq_words(x, terms = 30):

all_words = ' '.join([text for text in x])

all_words = all_words.split()

fdist = FreqDist(all_words)

words_df = pd.DataFrame({'word':list(fdist.keys()), 'count':list(fdist.values())})

# selecting top 20 most frequent words

d = words_df.nlargest(columns="count", n = terms)

plt.figure(figsize=(20,5))

ax = sns.barplot(data=d, x= "word", y = "count")

ax.set(ylabel = 'Count')

plt.show()

函數(shù)定義如下。

freq_words(df['reviewText'])

如圖,最常見的詞語是“the”、“and”、“to”等等,這些詞對我們并沒有什么幫助,所以也要?jiǎng)h除這些詞語。在這之前,讓我們先刪除標(biāo)點(diǎn)和數(shù)字。

# remove unwanted characters, numbers and symbols

df['reviewText'] = df['reviewText'].str.replace("[^a-zA-Z#]", " ")

接著刪除停止詞和少于兩個(gè)字母的單詞:

from nltk.corpus import stopwords

stop_words = stopwords.words('english')

# function to remove stopwords

def remove_stopwords(rev):

rev_new = " ".join([i for i in rev if i notin stop_words])

return rev_new

# remove short words (length < 3)

df['reviewText'] = df['reviewText'].apply(lambda x: ' '.join([w for w in x.split() if len(w)>2]))

# remove stopwords from the text

reviews = [remove_stopwords(r.split()) for r in df['reviewText']]

# make entire text lowercase

reviews = [r.lower() for r in reviews]

再對常出現(xiàn)的詞進(jìn)行可視化:

freq_words(reviews, 35)

我們可以看出有了變化,像“電池”、“價(jià)格”、“產(chǎn)品”、“汽油”等與汽車較相關(guān)的詞語出現(xiàn)了。但是,仍然有一些中性詞存在,例如“the”、“this”、“much”、“they”等等。

為了進(jìn)一步去除文本中的噪音,我們可以用spaCy庫中的詞形還原處理。它可以將詞語還原到原始形式,減少單詞的重復(fù)。

!python -m spacy download en # one time run

nlp = spacy.load('en', disable=['parser', 'ner'])

def lemmatization(texts, tags=['NOUN', 'ADJ']): # filter noun and adjective

output = []

for sent in texts:

doc = nlp(" ".join(sent))

output.append([token.lemma_ for token in doc if token.pos_ in tags])

return output

我們對評語進(jìn)行符號(hào)化,然后對其進(jìn)行詞形還原。

tokenized_reviews = pd.Series(reviews).apply(lambda x: x.split())

print(tokenized_reviews[1])

['these', 'long', 'cables', 'work', 'fine', 'truck', 'quality', 'seems', 'little', 'shabby',

'side', 'for', 'money', 'expecting', 'dollar', 'snap', 'jumper', 'cables', 'seem', 'like',

'would', 'see', 'chinese', 'knock', 'shop', 'like', 'harbor', 'freight', 'bucks']

reviews_2 = lemmatization(tokenized_reviews)

print(reviews_2[1]) # print lemmatized review

['long', 'cable', 'fine', 'truck', 'quality', 'little', 'shabby', 'side', 'money', 'dollar',

'jumper', 'cable', 'chinese', 'shop', 'harbor', 'freight', 'buck']

可以看到,這一過程并不僅僅還原了詞形,而且只留下了名詞和形容詞。之后,我們將這次詞語在變換成正常形式。

reviews_3 = []

for i in range(len(reviews_2)):

reviews_3.append(' '.join(reviews_2[i]))

df['reviews'] = reviews_3

freq_words(df['reviews'], 35)

這樣可以看出常見詞都是和汽車相關(guān)的,我們可以繼續(xù)搭建主題模型了。

搭建一個(gè)LDA模型

首先,我們要對語料創(chuàng)建術(shù)語詞典,其中每個(gè)唯一的詞語都被看做一個(gè)index

dictionary = corpora.Dictionary(reviews_2)

之后,我們要用創(chuàng)建好的詞典將評論轉(zhuǎn)化成文件術(shù)語矩陣。

doc_term_matrix = [dictionary.doc2bow(rev) for rev in reviews_2]

# Creating the object for LDA model using gensim library

LDA = gensim.models.ldamodel.LdaModel

# Build LDA model

lda_model = LDA(corpus=doc_term_matrix,

id2word=dictionary,

num_topics=7,

random_state=100,

chunksize=1000,

passes=50)

上述代碼的執(zhí)行可能需要一段時(shí)間。注意,我在這一模型中,用num_topics參數(shù)將主題的數(shù)量定為7,你可以修改這一數(shù)字。

接著就可以生成LDA模型學(xué)習(xí)到的主題。

lda_model.print_topics()

[(0, '0.030*"car" + 0.026*"oil" + 0.020*"filter" + 0.018*"engine" + 0.016*"device" + 0.013*"code"

+ 0.012*"vehicle" + 0.011*"app" + 0.011*"change" + 0.008*"bosch"'),

(1, '0.017*"easy" + 0.014*"install" + 0.014*"door" + 0.013*"tape" + 0.013*"jeep" + 0.011*"front" +

0.011*"mat" + 0.010*"side" + 0.010*"headlight" + 0.008*"fit"'),

(2, '0.054*"blade" + 0.045*"wiper" + 0.019*"windshield" + 0.014*"rain" + 0.012*"snow" +

0.012*"good" + 0.011*"year" + 0.011*"old" + 0.011*"car" + 0.009*"time"'),

(3, '0.044*"car" + 0.024*"towel" + 0.020*"product" + 0.018*"clean" + 0.017*"good" + 0.016*"wax" +

0.014*"water" + 0.013*"use" + 0.011*"time" + 0.011*"wash"'),

(4, '0.051*"light" + 0.039*"battery" + 0.021*"bulb" + 0.019*"power" + 0.018*"car" + 0.014*"bright"

+ 0.013*"unit" + 0.011*"charger" + 0.010*"phone" + 0.010*"charge"'),

(5, '0.022*"tire" + 0.015*"hose" + 0.013*"use" + 0.012*"good" + 0.010*"easy" + 0.010*"pressure" +

0.009*"small" + 0.009*"trailer" + 0.008*"nice" + 0.008*"water"'),

(6, '0.048*"product" + 0.038*"good" + 0.027*"price" + 0.020*"great" + 0.020*"leather" +

0.019*"quality" + 0.010*"work" + 0.010*"review" + 0.009*"amazon" + 0.009*"worth"')]

Topic 3中含有“towel”、“clean”、“wax”、“water”等詞語,表明這一話題和汽車清潔有關(guān)。Topic 6含有“price”、“quality”和“worth”等詞語,說明和產(chǎn)品的價(jià)格有關(guān)。

主題可視化

為了在二維空間中對我們的主題進(jìn)行可視化,我們用的是pyLDAvis庫。

# Visualize the topics

pyLDAvis.enable_notebook()

vis = pyLDAvis.gensim.prepare(lda_model, doc_term_matrix, dictionary)

vis

其他分析網(wǎng)站評論的方法

除了主題建模,還有很多其他的NLP方法可以用來分析理解網(wǎng)絡(luò)評論:

文本總結(jié):對評語進(jìn)行關(guān)鍵點(diǎn)總結(jié)。

實(shí)體識(shí)別(entity recognition):從評論中提取出實(shí)體,分析哪種產(chǎn)品更受歡迎。

確定流行趨勢:根據(jù)評論的時(shí)間,可以掌握某一商品的受歡迎趨勢。

語義分析:對零售商來說,理解評論的語義情感對改善產(chǎn)品和服務(wù)是非常有幫助的。

下一步工作

信息檢索讓我們省去了瀏覽大量評論的時(shí)間,也讓我們知道了顧客對產(chǎn)品說了些什么。但是,它并沒有展示出評論是積極的、中立的、還是消極的。這就是信息檢索之后要做的工作。我們不僅要提取出話題,還要分析其中的情感。在接下來的文章中我們會(huì)具體講解,請大家關(guān)注。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1229

    瀏覽量

    25896
  • 電商
    +關(guān)注

    關(guān)注

    1

    文章

    470

    瀏覽量

    29687

原文標(biāo)題:NLP實(shí)戰(zhàn):用主題建模分析網(wǎng)購評論(附Python代碼)

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    代碼規(guī)范的重要性是什么

    論代碼規(guī)范的重要性
    發(fā)表于 05-19 13:07

    傳感器波形分析在汽車故障診斷中的重要性

    傳感器波形分析在汽車故障診斷中的重要性
    發(fā)表于 05-12 06:27

    UPS的重要性

    中心機(jī)房的UPS太重要了,前不久就出現(xiàn)過停電壞了一個(gè)磁盤陳列硬盤的事故,一個(gè)2T的硬盤壞了,還好有一個(gè)備用的硬盤使用,否則磁盤陳列里的資料就岌岌可危了。服務(wù)器多了,UPS的重要性尤其重要,學(xué)校周邊
    發(fā)表于 11-16 09:09

    arm匯編的重要性是什么?

    arm匯編的重要性是什么?
    發(fā)表于 11-30 08:03

    基于CD-RBM深度學(xué)習(xí)的產(chǎn)品評論情感分析

    針對目前大部分情感分析技術(shù)需要人工標(biāo)注建立情感詞典提取情感特征的問題,提出一種基于對比散度一受限玻爾茲曼機(jī)( CD-RBM)深度學(xué)習(xí)的產(chǎn)品評論情感分析方法。該方法在對產(chǎn)品評論時(shí)進(jìn)行數(shù)據(jù)
    發(fā)表于 12-20 11:24 ?2次下載
    基于CD-RBM深度學(xué)習(xí)的<b class='flag-5'>產(chǎn)品評論</b>情感<b class='flag-5'>分析</b>

    在線品評論可信的評價(jià)方法詳細(xì)資料說明

    針對現(xiàn)有商品評論存在數(shù)量大、質(zhì)量參差不齊、 可信度差,導(dǎo)致用戶難以快速獲取有效信息并制定高效的決策,而現(xiàn)有評論可信評估主要考慮評論來源和投票形式的支持度等問題,提出了一種從
    發(fā)表于 03-27 14:49 ?11次下載
    <b class='flag-5'>在線</b>商<b class='flag-5'>品評論</b>可信<b class='flag-5'>性</b>的評價(jià)方法詳細(xì)資料說明

    在線品評論的可信程度如何使用大數(shù)據(jù)技術(shù)分析

    針對現(xiàn)有商品評論存在數(shù)量大、質(zhì)量參差不齊、可信度差,導(dǎo)致用戶難以快速獲取有效信息并制定高效的決策,而現(xiàn)有評論可信評估主要考慮評論來源和投票形式的支持度等問題,提出了一種從
    發(fā)表于 11-14 17:59 ?5次下載
    <b class='flag-5'>在線</b>商<b class='flag-5'>品評論</b>的可信程度如何使用大數(shù)據(jù)技術(shù)<b class='flag-5'>分析</b>

    預(yù)測產(chǎn)品在線評論有用程度的模型

    由于無法預(yù)知產(chǎn)品在線評論的文本內(nèi)容是否對瀏覽者有用,大量的無用評論增加了潛在消費(fèi)者的信息搜索成本,甚至降低了潛在消費(fèi)者購買產(chǎn)品的可能
    發(fā)表于 05-08 15:26 ?4次下載

    基于規(guī)則的商品評論搭配抽取方法

    分析品評論中評價(jià)對象和評價(jià)短語的詞性和句法關(guān)系,提出一種使用規(guī)則模板進(jìn)行評價(jià)搭配抽取的方法。通過詞性、依存句法分析及語義依存分析結(jié)果,設(shè)計(jì)核心搭配抽取規(guī)則。引入COO算法及改進(jìn)的AT
    發(fā)表于 06-11 10:50 ?128次下載

    增強(qiáng)現(xiàn)實(shí)抬頭顯示中陽光負(fù)載建模重要性

    增強(qiáng)現(xiàn)實(shí)抬頭顯示中陽光負(fù)載建模重要性
    發(fā)表于 11-01 08:26 ?0次下載
    增強(qiáng)現(xiàn)實(shí)抬頭顯示中陽光負(fù)載<b class='flag-5'>建模</b>的<b class='flag-5'>重要性</b>

    Python如何進(jìn)行特征重要性分析

    特征重要性分析用于了解每個(gè)特征(變量或輸入)對于做出預(yù)測的有用或價(jià)值。目標(biāo)是確定對模型輸出影響最大的最重要的特征,它是機(jī)器學(xué)習(xí)中經(jīng)常使用的
    發(fā)表于 10-13 12:32 ?646次閱讀
    Python如何進(jìn)行特征<b class='flag-5'>重要性</b><b class='flag-5'>分析</b>

    Python中進(jìn)行特征重要性分析的9個(gè)常用方法

    重要性分析可以識(shí)別并關(guān)注最具信息量的特征,從而帶來以下幾個(gè)優(yōu)勢: 改進(jìn)的模型性能 減少過度擬合 更快的訓(xùn)練和推理 增強(qiáng)的可解釋 下面我們深入了解在Python中的一些特性
    的頭像 發(fā)表于 10-16 11:09 ?1099次閱讀
    Python中進(jìn)行特征<b class='flag-5'>重要性</b><b class='flag-5'>分析</b>的9個(gè)常用方法

    產(chǎn)品評論獲取API接口

    ? 在當(dāng)今電商和數(shù)據(jù)分析領(lǐng)域,產(chǎn)品評論是寶貴的用戶反饋來源。手動(dòng)收集評論耗時(shí)且易出錯(cuò),而通過API接口自動(dòng)化獲取評論,能顯著提升效率。本文將逐步介紹如何利用API接口高效獲取
    的頭像 發(fā)表于 07-25 14:26 ?234次閱讀
    <b class='flag-5'>產(chǎn)品評論</b>獲取API接口

    電商 API 接口:多平臺(tái)商品評論分析的利器

    ? 在當(dāng)今競爭激烈的電商環(huán)境中,商品評論是消費(fèi)者決策的關(guān)鍵參考。然而,手動(dòng)收集和分析多個(gè)平臺(tái)(如淘寶、京東、拼多多等)的評論數(shù)據(jù)耗時(shí)耗力,且容易出錯(cuò)。電商 API 接口的出現(xiàn),為解決這一問題提供了
    的頭像 發(fā)表于 08-11 14:53 ?540次閱讀
    電商 API 接口:多平臺(tái)商<b class='flag-5'>品評論</b><b class='flag-5'>分析</b>的利器

    快手電商 API 實(shí)現(xiàn)快手小店商品評論情感分析

    ? 在電商運(yùn)營中,商品評論是用戶反饋的核心來源,它能直接影響購買決策和產(chǎn)品優(yōu)化。通過情感分析,商家可以自動(dòng)識(shí)別評論中的正面、負(fù)面或中性情緒,從而快速響應(yīng)問題、提升服務(wù)質(zhì)量??焓蛛娚唐脚_(tái)
    的頭像 發(fā)表于 08-26 15:08 ?190次閱讀
    <b class='flag-5'>用</b>快手電商 API 實(shí)現(xiàn)快手小店商<b class='flag-5'>品評論</b>情感<b class='flag-5'>分析</b>