商品评价的语义分析

        电商平台上有大量的商品评价,如何利用这些商品评价为数据用户(主要是:电商平台,商家)做改进是这次的研究主题。不幸的是,数据不多,以至于最后还要自己亲自操刀,亲自爬取……让人高兴的是,这次的爬虫经历,让自己的能力进步了一些,欣喜若狂!废话不多说,这就开始叙述自己经历的这个项目。一开始解除这个项目,考虑的是数据用户到底关心什么样的问题。”屏幕”或者”外形”或者”价格”……,总之这样的点可以列出很多个。这样在第一步,商品属性的构建上就有两条路可以走。一种是事先定义好可能的商品属性,一种是不事先定义好商品属性,用户关心什么就查询什么。我们两条路都走了,不幸的是第二条路没有走通。为什么没有走通呢,主要是商品的同一属性的说法很多,如果简单的用数据用户的关注点(用户以词的方式提出)查询评价会漏了很多相似度说法的句子。我们想进行关键词(数据用户的关注点)拓展,重点是没有拓展成功,我们使用的方法是找与这个词向量最接近的前n个词(事后发现失败的主要原因是因为我们的语料太小,如果有大语料还是可以拓展的,建议使用skip-gram训练词向量)。确定了商品的属性集合后,我们很容易就可以找到含有这些属性的句子。紧接着就是对这些句子进行情感分类。这一步也有两条路可以走,一条是深度学习的方法,标语料;一种是非深度学习方法,利用情感词词典。不幸的是,我们又选择了第二条路,使用情感词词典。这里的情感词词典包括:正向情感词典和负向情感词词典还有否定词词典。在利用情感词词典进行情感判断的过程中,发现商品评价的情感分类还是比较好分的,原因是大家比较直白,较少有含蓄的表述自己观点的评价。但有几类句子比较难以进行情感不判断,1类是比较句,2类是需要深度理解语义的句子,3类是关键词本身带有负向情感词且既可以搭配正向情感词又可以搭配负向情感词的,4、句子很长,包含很多评论的点,不知道情感词修饰的是哪个点。5、表述的句子有问题。

        1类:我就觉得华为的手机比小米的好。

        2类:居然有64G内存!

        3类:恶心人的黑屏啊VS黑屏的厉害VS黑屏啊!

        4类:小米真垃圾,屏幕有划痕……,除了价格

        5类:手机不能吃,做的太坚硬。

        即使这一步有些分错了,我们还是勇敢的往下做了……(人艰勿拆)

        直接把每个关注点的正向(或者负向)评论交给数据用户还是不可以的,我们需要更细粒度的刻画(比如:“手机屏幕大”,“手机触摸屏灵敏”,“手机屏幕做工好”等)。由于之前在用户关注点上粗粒度的类别已经有很多,此处细粒度的划分会很多(每一类的综合会很多),所以我们没有采用深度学习的方法。我们考虑无法提前确定每个关注点上进一步划分的细粒度个数,所以我们采用密度聚类。在密度聚类中,将句子向量化(不用深度学习方法)有两种方式:一种是SVM(空间向量模型),还是一种是词向量的相加。不幸的是两种方法的效果都不好!

        感觉造成这种情况的原因有以下几种,一种是上游任务的错误繁衍!一种是实际网络评价语义实在是太丰富了,比如:“手机不行”、“手机垃圾”、“手机真渣”,“手机不给力”,“手机坑人”……。尤其是那些语句中含有的词出现的频率不高,分类效果更差。

        商品评价的再利用看上去很简单,但实际应用很难,如果只是为了做几个demo那用深度学习方法来训练一批语料,效果应该会让人满意。

       ps:这个项目最大的难点是评价中包含的内容很丰富(可能出现好几个我们关注的实体),单从词的角度很难判断某一个实体的修饰词,能不要说进一步的特定对象的情感分析。

原文地址:https://www.cnblogs.com/cxf-zzj/p/9741782.html