一种用户评论观点提取和观点标签生成的方法与流程

文档序号:15079524发布日期:2018-08-03 12:18阅读:2839来源:国知局
本发明涉及一种用户评论观点提取和观点标签生成的方法。具体来说,涉及一种当给定某商品的用户评论后,从评论中抽取出用户评论观点,然后对用户评论观点进行聚合生成用户评论观点标签的方法。
背景技术
:用户评论是用户对商品的评价,是用户和商品提供商之间的交流方式,体现了用户对商品的喜好和需求。这里的商品是广义商品概念,除了有形的产品外,还可以是无形的软件和服务。商品的评论标签不仅可以节省用户看评论的时间,也可以更快地让商品提供商得到用户的反馈,因此自动抽取商品的用户评论中用户的观点以及自动生成商品的评论标签有重要的实用价值。目前普遍使用的用户评论的观点提取和聚类的方法主要是基于规则的提取和K-means、LDA等传统方法。在基于规则的观点提取方法中,用户的评论中观点陈述句具有固定的句式结构,通过句法分析工具以及规则可以简单有效地抽取到用户评论中的观点。但是这种抽取观点的方法只对部分观点有效,因为依赖人工总结出来的规则不能涵盖所有用户评论中的表述方式。同时,这种方法仅对陈述句有效,中文会有很多种表达方式,因而这种方法无法直接适用。对于文本常用的聚类方法主要是以LDA为代表的主题模型和以K-means为代表的传统聚类方法。这些传统方法的好处在于模型简单,当样本较多时能够在较短的时间内收敛。但这些方法都是初值敏感的,即聚类的尺度无法控制,同一个类别下的共性可能不是语义上的相似性。同时,对于不同类别不同极性的商品评论观点用同一个标签并不适用。因此,无论是观点抽取,还是对观点进行聚合都有可以提升的空间,在观点抽取部分可提升召回率,在观点聚合部分可提升准确率,从而生成更加合理准确的商品评论标签。技术实现要素:本发明的目的是针对现有技术的不足,提供一种用户评论观点提取和观点标签生成的方法。本发明的目的是通过以下技术方案来实现的:一种用户评论观点提取和观点标签生成的方法,该方法包括以下步骤:(1)用户评论观点提取,即提取出某一个具体商品的某一条具体评论中的用户观点。具体包括以下子步骤:(1.1)构建初始的用户评论观点的种子词性规则库{rules}。(1.2)基于评论观点的种子词性规则库{rules}对用户评论进行处理,迭代地进行评论观点的词性规则的自动发现,得到全量的用户评论观点的词性规则库{rulestotal}。(1.3)基于所有的观点的词性规则集{rulestotal},在词性标注后的用户评论中进行词性严格匹配,得到所有的用户评论观点{opinionstotal}。(2)对提取到的用户评论观点进行聚合生成用户评论观点标签,即指综合多个用户对该商品的评价,生成若干个概括性的观点标签。具体包括以下子步骤:(2.1)对所有的用户评论观点{opinionstotal}中的属性词进行词的层次化聚类,基于商品的类目树结构的自顶向下地生成商品的属性词词库。(2.2)判断用户评论的观点极性。(2.3)对每一款商品的评论观点的情感词进行词的层次化聚类生成评论观点标签。进一步地,所述步骤1.2具体包括以下子步骤:(1.2.1)利用初始的观点的词性规则集{rules}对词性标注后的全量用户评论进行词性严格匹配,得到用户评论的观点库{opinions}。所述词性严格匹配是指评论语句的带词性标注后的句式结构和观点的词性规则集中的规则完全相同时才提取出相应的观点。(1.2.2)利用用户评论观点库{opinions}在词性标注后的全量用户评论中进行词的宽松匹配,提取词性规则后得到新的用户评论观点的词性规则库{rulesnew}。所述词的宽松匹配是指在限制长度内,只需按顺序依次出现了观点库{opinions}中某个观点中的各个词,则认为匹配成功。(1.2.3)重复步骤1.2.1和步骤1.2.2,直至无法发现新的观点的词性规则,得到所有的观点的词性规则集{rulestotal}。进一步地,所述步骤2.1和2.3中词的层次化聚类方法,具体包括以下步骤:(a)对于每个词,先采用word2vec方法对全量用户评论训练得到的一个词向量。(b)给定n个待聚类的词{w1,w2,w3,…,wn}构成n棵二叉树的集合F={t1,t2,t3,…,tn},即二叉树森林,其中每棵二叉树只有1个根节点,即待聚类的词wi本身,节点的词向量即为该词的词向量。(c)两两计算所有二叉树的根节点的词向量之间的余弦相似度,找出相似度最高且大于所设定的阈值t0的二棵二叉树,以它们为左右子树构造一棵新的二叉树,并置新的二叉树的根节点的词向量为两棵原二叉树中所有叶节点的词向量的质心,即将它们的词向量的各维取平均。将新的二叉树加入到F,并去除两棵原二叉树。(d)重复c,直到找不出二棵根节点的词向量之间的余弦相似度大于t0的二叉树为止。(e)对于这n个待聚类的词{w1,w2,w3,…,wn},如被划分在同一棵二叉树中,则被聚为同一类。进一步地,所述步骤2.1中基于商品的类目树结构的自顶向下地生成商品的属性词词库,具体包括以下子步骤:(2.1.1)处理商品类目树的根节点,即对所有商品的所有用户评论观点{opinionstotal}的属性词进行词的层次化聚类。由于出现次数较少的属性词不具有代表性,因此在聚类之前要删除词频较少的属性词。将同一类目下词频最高的属性词作为该类目的属性词标签。(2.1.2)处理第二层中的各个节点属性词词库。将属于该类目节点下所有的商品的所有用户评论观点的属性词,在剔除掉其祖先节点的属性词词库中的属性词之后,对剩余的属性词进行词的层次化聚类。聚类前同样要按前述方法删除词频较少的属性词。聚类后按前述同样方法,即选择同一类目下词频最高的属性词作为该类目的属性词标签。(2.1.3)按照步骤2.1.2中的方法,按层次自顶向下依次对类目树中所有非叶子节点进行词的层次化聚类。进一步地,所述步骤2.3具体包括以下步骤:(2.3.1)对于该商品的每一个用户观点,其属性词应包含于其某个祖先节点的属性词词库中,将其替换为对应属性词类别的属性词标签。(2.3.2)对每一个相同属性词标签下的同极性的所有情感词进行词的层次化聚类,选取词频最高的情感词作为情感词标签。(2.3.3)综合该商品的所有评论观点的属性词标签,及其各个属性词标签下的同极性的情感词标签,汇聚得到该商品的评论观点标签。本发明的有益效果是:(1)通过自动发现评论观点词性规则的方法,提升了抽取用户观点的召回率;(2)通过基于类目树结构的自顶向下地生成商品的属性词词库,按照观点极性汇聚生成每款商品的用户评论观点标签,使得到的评论标签更准确;(3)本发明的建模过程是无监督的,具有很好的适用性。附图说明图1为本发明方法中用户评论观点提取和观点标签生成的方法流程图;图2为本发明方法中自动发现用户评论观点词性规则的流程图;图3本发明方法中自动发现观点词性规则的一个示例图;图4为本发明中观点标签生成的方法流程图;图5为本发明中中层次化聚类方法的示意图;图6为本发明中华为应用市场上App功能分类的示意图。具体实施方式下面结合附图和具体实施方式对本发明作进一步详细描述,本发明的目的和效果将变得更加明显。图1给出了本发明的方法流程图,本发明对用户评论进行观点提取和观点标签生成分为二个步骤,即首先对用户评论进行观点提取,然后对提取到的观点进行聚合生成观点标签。本发明对用户评论进行观点提取指的是提取某一个具体商品的某一条具体评论中的观点。对用户评论进行观点标签生成是指综合多个用户对该商品的评价,生成若干个概括性的观点标签。如图1所示,在步骤101中,对用户评论进行观点提取的具体步骤如下:(1.1)构建初始的用户评论观点的种子词性规则库。用户评论中的观点陈述句通常具有固定的句式结构,带词性标注后的句式结构可作为提取用户评论的观点的词性规则,简称观点的词性规则。本发明首先采用LTP工具对用户评论进行词性标注,然后总结出常见的观点的词性规则集,记为{rules},如表1中第三列所示。表1中的第一列和第二列分别是观点例句和该观点例句对应的观点的句式结构。表1:常见的观点的词性规则集观点例句观点的句式结构观点的词性规则集外观漂亮名词短语+形容词短语n+a漂亮的外观形容词短语+助词+名词短语a+u+n运行慢动词短语+形容词短语v+a运行不流畅动词短语+副词短语+形容词短语v+d+a流畅的运行形容词短语+助词+动词短语a+u+v有关LTP工具的详情,可参见https://www.ltp-cloud.com/。用户评论的观点可表述为“属性词+[副词]+情感词”这样的方式,在本发明中,属性词为名词短语或动词短语,副词只保留否定副词且可以为空,情感词为形容词。例如,对观点例句“外观漂亮”而言,“外观”是属性词,“漂亮”就是情感词,从而形成观点“外观+漂亮”。又例如,对观点例句“运行不流畅”,“运行”是属性词,“不”是否定副词,“流畅”是情感词,得到观点“运行+不+流畅”。由于用户评论中观点的表述方式因人而异,表1中人工总结出来的观点的词性规则集{rules}并不能涵盖所有用户评论中观点的表述方式。在本发明中,我们将{rules}作为观点的种子词性规则集。(1.2)基于观点的种子词性规则集对用户评论进行处理,迭代地进行观点的词性规则的自动发现,具体步骤如图2所示。为了能够发现更多的观点的词性规则,在这一步骤中,我们对所有商品的所有用户评论,即全量用户评论,进行统一处理。如图2所示,在步骤201中,利用初始的观点的词性规则集{rules}对词性标注后的全量用户评论进行词性严格匹配,得到用户评论的观点库{opinions}。这里的词性严格匹配是指评论语句的带词性标注后的句式结构和观点的词性规则集中的规则完全相同时才提取出相应的观点。如图2所示,在步骤202中,利用用户评论观点库{opinions}在词性标注后的全量用户评论中进行词的宽松匹配,提取宽松匹配得到的新观点的词性规则后得到{rulesnew}。这里的词的宽松匹配是指在限制长度内,如可取5个词,只需按顺序依次出现了观点库{opinions}中某个观点中的各个词,则认为匹配成功。重复步骤201和步骤202,直至无法发现新的观点的词性规则,将提取到的所有新的用户评论观点的词性规则集{rulesnew}与{rules}合并得到所有的观点的词性规则集{rulestotal}。下面结合图3给出的示例来进一步说明上述的观点的词性规则集的自动发现的过程。如图3所示,当给定一条观点的词性规则“n+a”,首先在全量用户评论中进行词性的严格匹配。例如,从一条用户评论“App的外观漂亮”提取到观点“外观+漂亮”。然后,基于提取到的观点“外观+漂亮”对全量用户评论进行词的宽松匹配,匹配到一条新的用户评论观点“外观+很+漂亮”。接着,从这条新的用户评论观点“外观+很+漂亮”提取到新的观点词性规则“n+d+a”。如此不断迭代,直至发现不了新的词性规则为止。(1.3)基于所有的观点的词性规则集{rulestotal},在词性标注后的用户评论中进行词性的严格匹配,得到所有的用户评论观点{opinionstotal}。如图1所示,在步骤102中,对由步骤101提取到的用户评论观点进行聚合生成用户评论观点标签,具体步骤如图4所示:用户在对商品进行评论时,通常是针对商品的某些具体的属性表达感受。由于商品的属性往往有不同的表达方式,如“价格”,“钱”,“价钱”,“价位”,“价”等都可表示商品的价格。传统的观点聚合方法以观点为粒度进行汇聚,这样会导致一些描述商品同一个属性的不同的表达方式归到不同类中去,使得聚类效果不佳。本发明首先将这些属性词都汇聚为相应的属性词标签。然后再对同一个属性词标签下的情感词进行分析。本发明在对用户评论观点的属性词和情感词进行聚类时都采用了一种词的层次化的聚类方法。下面对词的层次化聚类的过程进行具体阐述:(1.a)对于每个词,先采用word2vec方法对全量用户评论训练得到的一个词向量。有关word2vec方法,参见:MikolovT,ChenK,CorradoG,etal.Efficientestimationofwordrepresentationsinvectorspace.arXivpreprintarXiv:1301.3781,2013(1.b)给定n个待聚类的词{w1,w2,w3,…,wn}构成n棵二叉树的集合F={t1,t2,t3,…,tn},即二叉树森林,其中每棵二叉树只有1个根节点,即待聚类的词wi本身,节点的词向量即为该词的词向量。(1.c)两两计算所有二叉树的根节点的词向量之间的余弦相似度,找出相似度最高且大于所设定的阈值t0的二棵二叉树,以它们为左右子树构造一棵新的二叉树,并置新的二叉树的根节点的词向量为两棵原二叉树中所有叶节点的词向量的质心,即将它们的词向量的各维取平均。将新的二叉树加入到F,并去除两棵原二叉树。(1.d)重复(1.c),直到找不出二棵根节点的词向量之间的余弦相似度大于t0的二叉树为止。(1.e)对于这n个待聚类的词{w1,w2,w3,…,wn},如被划分在同一棵二叉树中,则被聚为同一类。由上述过程可知,聚类所得到的类的数目,由所设定的阈值t0来调节。当t0越大,则二叉树森林中的二叉树数目越多,即聚类所得的类数越多。当t0逐渐减小,则更多的二叉树被合并,对应于聚类所得的类数越少。在极端的情况下,当t0为-1时,所有的词被聚为一类。以图5为例,给定6个词{w1,w2,w3,..,w6},初次遍历找到w1和w2的词向量的余弦相似度最高且大于设定的阈值t0,则以w1和w2为左右子树合并为以w12为根节点的二叉树,并置w12的词向量为w1和w2的词向量的质心。同样地,第二次遍历,找到w4和w5的词向量的余弦相似度最高且大于设定的阈值t0,以w4和w5为左右子树合并为以w45为根节点的二叉树。第三次遍历,找到w12和w3的词向量的余弦相似度最高且大于设定的阈值t0,按照前述方法合并为以w123为根节点的二叉树,并置w123的词向量为所有叶子节点{w1,w2,w3}的词向量的质心。第四次遍历,找到w23和w45的词向量的余弦相似度最大但小于t0,则过程终止。经过上述过程,其中w1、w2和W3属于同一棵二叉树,被聚到了同一类,w4和w5属于同一棵二叉树被聚到另一类,而w6则单独构成一类。如图4所示,在步骤301中,对所有的用户评论观点{opinionstotal}中的属性词进行词的层次化聚类,构建出商品的属性词词库。在构建商品的属性词词库时,本发明采用了一种基于商品的类目树结构的自顶向下的生成策略。商品的类目树是指通过层级分类定义商品的基本类目归属。图6给出了在华为应用市场中的App类目树的一部分,以下以图6为例进行具体阐述:(2.a)首先处理如图6所示的App类目树的根节点,即对所有App的所有用户评论观点,即{opinionstotal},的属性词进行词的层次化聚类。由于出现次数较少的属性词不具有代表性,因此在聚类之前要删除词频较少的属性词。在具体操作时,可根据具体情况进行筛选,一般可取对{opinionstotal}中的属性词按词频进行排序后最高的前10%的属性词。以上操作完成后,生成了对所有App都适用的属性词词库,将同一类目下词频最高的属性词作为该类目的属性词标签。表2展示基于图6的App类目树得到的对所有App都适用的属性词词库示例。其中第一列为属性词标签,第二列为属于这个属性词标签的属性词。表2:所有App都适用的属性词词库示例属性词标签属性词软件软件,应用功能功能价格价格,钱,价钱,价位,价手机手机,机子,机器,华为,小米,魅族界面界面,页面,画面,画质亲友朋友,同事,同学,妈妈(2.b)按如图6所示的App类目树结构,处理第二层中的各个节点属性词词库。以出行导航为例,将属于该类目节点下所有的App的所有用户评论观点的属性词,在剔除掉其祖先节点的属性词词库中的属性词之后,对剩余的属性词进行词的层次化聚类。聚类前同样要按前述方法删除词频较少的属性词。聚类后按前述同样方法,即选择同一类目下词频最高的属性词作为该类目的属性词标签。表3展示基于图6的App类目树得到的对第二层各个节点的属性词词库。其中第一列为App的功能类别,第二列为属性词标签,第三列为属于这个属性词标签的部分属性词。表3:第二层App功能类别下的部分属性词词库(2.c)按(2.b)所述方法,按层次自顶向下依次对类目树中所有非叶子节点进行词的层次化聚类。在类目树中,叶子节点为具体的某个商品。如图4所示,在步骤302中,判断用户评论的观点极性。用户评论的观点极性是指该用户观点是正面的,即Positive;还是负面的,即Negative。观点极性是通过情感词表达出来的,本发明采用台湾大学简体中文情感极性词典作为情感词极性的判断依据,对不在辞典中的情感词利用SO-PMI的方法判断极性。判断极性后,如果用户观点中含有否定副词,将其观点极性取反。有关台湾大学简体中文情感极性词典,参见:数据堂.台湾大学NTUSD-简体中文情感极性词典[EB/OL].[2013-10-11].http://www.datatang.com/data/11837.有关SO-PMI方法,参见:TurneyPD.Thumbsuporthumbsdown?semanticorientationappliedtounsupervisedclassificationofreviews[C].Proceedingsofthe40thAnnualMeetingoftheAssociationforComputationalLinguistics,(2002),Philadelphia,Pennsylvania,417-424如图4所示,在步骤303中,对每一款商品的评论观点的情感词进行词的层次化聚类生成评论观点标签。具体步骤如下:(3.a)对于该商品的每一个用户观点,其属性词应包含于其某个祖先节点的属性词词库中,将其替换为对应属性词类别的属性词标签。通过这种方式,每一个用户观点被统一表达为“属性词标签+情感词”的方式。如果用户观点的含否定副词,则在聚类时用“否定副词+情感词”的形式。如观点“画面+不+漂亮”,其中的属性词“画面”按表2替换为属性词标签“界面”,在聚类时的情感词则采用“否定副词+情感词”的形式,即“不漂亮”。(3.b)对每一个相同属性词标签下的同极性的所有情感词进行词的层次化聚类,选取词频最高的情感词作为情感词标签。(3.c)综合该商品的所有评论观点的属性词标签,及其各个属性词标签下的同极性的情感词标签,汇聚得到该商品的评论观点标签。表4给出了本发明提出的方法,对华为应用市场中的部分App的用户评论进行观点抽取并汇聚后得到用户评论观点标签的结果示例,其中第一列为App名称,第二列展示了部分Positive标签,第三列展示部分Negative标签。表4:华为应用市场App用户评论观点标签示例以上仅为本发明具体实施方式,不能以此来限定本发明的范围,本
技术领域
内的一般技术人员根据本创作所作的均等变化,以及本领域内技术人员熟知的改变,都应仍属本发明涵盖的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1