Mining opinion features in customer reviews(aaai, 04, Hu and Liu)

本文介绍了一种从用户评论中抽取观点特征的方法,利用关联规则挖掘频繁特征,并通过紧密度和冗余剪枝确保准确度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然断断续续看了一些论文,但感觉有些时间一久就淡忘,所以计划今后做论文笔记,就当备忘吧,这是第一篇,希望能坚持住,就像王者里说的,“稳住,我们能赢”哈哈,欢迎交流学习,如有错误也欢迎指正。

此次看的论文是Bing Liu在04年在aaai上发的一篇关于从用户评论中抽取观点特征(观点对象)的文章,所谓opinion features其实就是用户发表评论的对象,比如一个相机,那么opinion features就是诸如相机的picture quality,price,size,battery quality等这些描述商品某些方面(aspects)的东西,该文章主要讲的就是如何从用户的评论(reviews)中提取出这些opinion features。

  • 关于为什么要提取这些features,其目的是为了对商品分方面进行评估,能让用户快速地对商品进行了解,还是举相机的例子:
    这里写图片描述
    可以看到,我们能够方面的看到用户对相机的图片质量的评价,大多数人的评价还是好的,同样对相机的便携性,即大小的评价也是好的占大多数。

    PS:另外可能会问,直接问商家商品有哪些features不行吗?这里涉及到一些实际的情况,论文举了4点,详细地请看原文吧,因为不是重点所以就不多讲了。

首先上个图,这个图把提取features的过程表达的很清晰了,心里先大概有个框架,之后具体可以回头再看看。
这里写图片描述

总的来说,基本的流程是这样的:

  1. 用爬虫从网上获取商品及评论数据;

  2. frequent features generation(频繁特征的产生,后面有谈到非频繁特征抽取的);但在此之前要先进行part-of-speech tagging(词性标注),之所以要进行这一步,是因为评论数据是复杂的,有些评论有直接说出评论对象,有些是隐含的,如:

    • the pictures are very clear.
    • while light, it will not easily fit in pockets.
      第一句有直接指出是picture,第二句则隐含指size,在本文作者指出隐含的特征出现的频率要比显式指出的情况低的多,因此只找出显式的这种情况,而在这种情况下,这些features基本上都是以名词或名词短语的形式出现的,由此也就说明了做词性标注的原因。

    此阶段前也要进行一些预处理的工作,比如stopwords, stemming, fuzzy matching等。

  3. 接下来是真正地开始抽取频繁特征了;用的方法就是关联规则(association rule mining)去找出频繁项集(这篇文章 详细说了关联规则方面的东西https://www.it.uu.se/edu/course/homepage/infoutv/ht08/vldb94_rj.pdf),对应到文中,项集就是一些共同出现的词或短语的集合。频繁项集就是那些满足最小支持度的集合;关联规则的挖掘则是找出满足最小支持度和最小置信度的规则。

    文中,使用了作者在98年发在KDD上的文章提出的方法CBA(链接https://vvvvw.aaai.org/Papers/KDD/1998/KDD98-012.pdf,该方法是基于Apriori算法的,Apriori和FPgrowth是关联规则经典的算法)。文中设定了最小支持度1%,找出支持度大于1%的项集作为频繁项集,这些项集可能就是我们要找的opinion features。

    More details:
    Apriori算法有两步,首先找出频繁项集,然后挖掘强关联规则,此处我们只要用到第一步就好了。
    我们只需要找出那些包含三个词或三个词以下的频繁项集,因为一个商品的features包含的词很少超过三个的。

    所有这些频繁项集被抽取出来之后,就构成了candidate frequent features(候选频繁特征),之所以候选是后面还有剪枝步骤,这些不全是真正的opinion features。

  4. 接下来就是对上一步的candidate frequent features进行剪枝了,主要分为两个剪枝步骤,第一个是基于紧密度的剪枝,第二个是冗余特征的剪枝。下面分别对两种方法做下说明。

    • 基于紧密度的剪枝:
      原因:在之前用关联规则生成频繁项集的时候,并没有考虑item(在这里是word)的位置,但在自然语言中,那些以一定次序一起出现的词更可能是有意义的短语,这也就是剪枝的原因,就是关联规则产生的频繁项集可能有一些是meaningless的,因此要把那些features(这些features包含的词没有一起出现的,没有一起出现可以简单理解为在原评论句中的位置隔得较远,下面有解释)剪掉。

      这里先给出紧密的feature phrase的定义:
      什么情况下认为特征短语是紧密的也就是是真正的feature呢?要满足两个条件:

      这里写图片描述
      第一个说在包含特征短语f的句子s中,f中任意两个相邻的词在句子s中的间隔不超过3,那么认为f是compact的,就是紧密的。
      第二个说在m个包含f的句子中,如果f是紧密的出现次数为2次或2次以上,那么f就是紧密的特征短语(通过考验成为真正的feature phrase,不是candidate了),如果没有出现两次是紧密的情况就把它剪掉了。

    • 冗余特征剪枝:
      这一步主要是为了将那些单个词的冗余features剪掉,简单理解是这些单个词的features包含在一些feature phrase里了;
      这里给出纯净支持度的定义:

      Definition 2 p-support (pure support):
      p-support of feature ftr is the number of sentences that ftr appears in as a noun or noun phrase, and these sentences must contain no feature phrase that is a superset of ftr.

      这个定义就是说某个特征ftr的纯净支持度等于ftr以名词或名词短语出现的句子数,并且这些句子中不能有ftr的超集,超集就是:manual code是manual的超集,另一个例子是life和battery life。

    5.至此,就得到了所有保留下来的features,这些就是最终的结果,接下来就是针对这些features进行opinion words的抽取了,再接着是根据opinion words反过来对非频繁特征的识别,最后是根据句子中opinion words的orientation来决定句子sentences的orientation,第5步就留着下一篇吧。

有些地方自己还有一些疑惑,如发现有出入的地方,灰常欢迎交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值