现在电商行业势头正好,对在线零售商来说,他们不受库存或空间的限制,而实体店则必须在有限的空间中存储产品。
但是,在线购物也有它的局限之处,最大的难题之一就是检验产品的真伪。它的质量是否如宣传所说的那么好?消费者留言的评价是真实的吗还是虚假宣传?这是消费者决定购买的重要因素。
所以,我们决定用NLP技术在这一主题中进行探索,本文将帮助你了解用主题建模分析在线产品评论的重要性。
商品评论的重要性
前几天,我从某网站买了一部智能手机,价格符合我的预期,并且评分为4.5分(满分为5)。
但是,拿到手之后我才发现,电池续航远不及平均水平。在购买时我只看了评分,却没关注评论,所以我知道肯定不只我一个人不满意!
所以网购看评论应该是必不可少的参考,可以,如果评论有成百上千条,根本看不过来怎么办?这就需要用到自然语言处理技术了。
明确问题
我们应该如何用NLP分析大量商品评论呢?首先让我们明确这一问题。
从卖家角度,他们可以从评论中估计顾客对商品的反应。想从大量评论中找到关键信息,这样的智能系统需要做到两点:能让顾客从中迅速提取出关键主题
卖家也能通过这些主题获得用户反馈
为什么用主题建模
和这项技术的名称一样,主题建模是自动确定文本目标中主题的过程,同时从文本语料中展示隐藏语义。主题模型有多重用途,包括:文件聚合
组织大型文本数据
从未被组织的文本中进行信息检索
特征选择
一个好的主题模型,如果在与股票市场相关的文本上训练时,应该会生成类似“出价”、“买卖”、“分红”、“交易”等主题。下图展示了一个典型的主题模型工作的流程:
在我们的案例中,文本数据来自“汽车”类目下的商品评论。这里,我们的目标是从评论中提取一些重要的有代表性的单词。这些关键词可以帮助我们了解某位顾客的态度。
Python实现
在这一部分,我们会用到Jupyter Notebook(或你在Python下使用的任意IDE)。这里我们会用到“隐含狄利克雷分布(LDA)”的概念,如果对这一概念不了解的读者,可以参考这一博文:http://www.cnblogs.com/huangshiyu13/p/6148217.html
首先我们要下载所需的库:
import nltk
from nltk import FreqDist
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
要导入数据,首先要将数据提取到你的工作类别中,然后使用pandas中的read_json( )函数在panda