垃圾评论识别方法和装置与流程

文档序号:11177127阅读:540来源:国知局
垃圾评论识别方法和装置与流程

本发明涉及互联网技术,尤其涉及一种垃圾评论识别方法以及垃圾评论识别装置。



背景技术:

在互联网产品评论技术领域中,垃圾评论通常包括:无用评论以及不真实评论,其中的无用评论主要是指不带有感情色彩的随机文本、对非产品信息的评论文本、问句以及广告等,其中的不真实评论主要是指基于推销某一产品而诋毁竞争对手的产品等原因而故意发表的不符合实际情况的评论。相较于无用评论而言,不真实评论往往与真实评论更相像,而且不真实评论的危害性也往往更大。

垃圾评论(尤其是不真实评论)会对产品的公正性产生不良影响,破坏产品真实属性和用户反馈信息。需要一种技术,能够从众多的评论中准确的识别出垃圾评论(尤其是识别出不真实评论),保护用户反馈数据完整性和真实性。



技术实现要素:

本发明的目的是提供一种垃圾评论识别方法及装置。

根据本发明的一个方面,提供一种垃圾评论识别方法,该方法主要包括以下步骤:根据从评论集合中读取出的一条评论中的分词为所述评论构建语言模型,以获得所述评论的概率;根据所述评论的概率与所述评论集合中的另一条评论的概率计算两条评论之间的相似度;在所述相似度满足相似度要求的情况下,将所述两条评论均确定为不真实评论。

优选的,前述的垃圾评论识别方法,其中该方法还包括:获取网络中的评论;在判断出所述获取的评论满足预定条件的情况下,将所述获取的评论 添加在评论集合中。

优选的,前述的垃圾评论识别方法,其中所述在判断出所述获取的评论满足预定条件的情况下,将所述获取的评论添加在评论集合中的步骤包括:在根据分类模型输出的信息确定所述获取的评论不是无用评论的情况下,将所述获取的评论添加在评论集合中;或者,在判断出所述获取的评论的长度超过预定长度阈值的情况下,将所述获取的评论添加在所述评论集合中;或者,在根据分类模型输出的信息确定所述获取的评论不是无用评论,且在判断出所述获取的评论的长度超过预定长度阈值的情况下,将所述获取的评论添加在评论集合中。

优选的,前述的垃圾评论识别方法,其中所述根据分类模型输出的信息确定所述获取的评论不是无用评论的步骤包括:将所述获取的评论进行特征量化处理,以获得所述获取的评论对应的特征量化值;将所述评论对应的特征量化值提供给逻辑回归分类模型;根据所述逻辑回归分类模型输出的概率值判断所述获取的评论是否为无用评论。

优选的,前述的垃圾评论识别方法,其中该获取的评论对应的特征量化值还包括:基于信息增益方式从评论样本中抽取出的特征分词的量化值。

优选的,前述的垃圾评论识别方法,其中所述将所述获取的评论进行特征量化处理,以获得所述获取的评论对应的特征量化值的步骤包括:统计各特征分词在所述获取的评论中出现的次数,其中,所述统计出的各次数被作为所述基于信息增益方式从评论样本中抽取出的特征分词的量化值。

优选的,前述的垃圾评论识别方法,其中所述构建的语言模型包括:基于最大似然估计法以及katz平滑处理的二元语言模型。

优选的,前述的垃圾评论识别方法,其中所述根据所述评论的概率与所述评论集合中的另一条评论的概率计算两条评论之间的相似度的步骤包括:根据所述评论的概率与所述评论集合中的另一条评论的概率利用kl散度计算两条评论之间的相似度。

根据本发明的另一个方面,还提供了一种垃圾评论识别装置,该装置包括:构建模型模块,用于根据从评论集合中读取出的一条评论中的分词为所述评论构建语言模型,以获得所述评论的概率;计算相似度模块,用于根据 所述评论的概率与所述评论集合中的另一条评论的概率计算两条评论之间的相似度;判别不真实模块,用于在所述相似度满足相似度要求的情况下,将所述两条评论均确定为不真实评论。

优选的,前述的垃圾评论识别装置,其中该装置还包括:获取评论模块,用于获取网络中的评论;评论过滤模块,用于在判断出所述获取的评论满足预定条件的情况下,将所述获取的评论添加在评论集合中。

优选的,前述的垃圾评论识别装置,其中所述评论过滤模块包括:第一过滤子模块,用于在根据分类模型输出的信息确定所述获取的评论不是无用评论的情况下,将所述获取的评论添加在评论集合中;或者,第二过滤子模块,用于在判断出所述获取的评论的长度超过预定长度阈值的情况下,将所述获取的评论添加在所述评论集合中;或者,第三过滤子模块,用于在根据分类模型输出的信息确定所述获取的评论不是无用评论,且在判断出所述获取的评论的长度超过预定长度阈值的情况下,将所述获取的评论添加在评论集合中。

优选的,前述的垃圾评论识别装置,其中所述第一过滤子模块和第三过滤子模块包括:量化处理子模块,用于将所述获取的评论进行特征量化处理,以获得所述获取的评论对应的特征量化值;输入子模块,用于将所述评论及其对应的特征量化值提供给逻辑回归分类模型;判别无用子模块,用于根据所述逻辑回归分类模型输出的概率值判断所述获取的评论是否为无用评论。

优选的,前述的垃圾评论识别装置,其中所述获取的评论对应的特征量化值还包括:采用信息增益方式设置的基于从评论样本中抽取出的特征分词的量化值。

优选的,前述的垃圾评论识别装置,其中所述量化处理子模块包括:统计次数子模块,用于统计各特征分词在所述获取的评论中出现的次数,其中,所述统计出的各次数被作为所述基于信息增益方式从评论样本中抽取出的特征分词的量化值。

优选的,前述的垃圾评论识别装置,其中所述构建的语言模型包括:基于最大似然估计法以及katz平滑处理的二元语言模型。

优选的,前述的垃圾评论识别装置,其中所述计算相似度模块具体用于: 根据所述评论的概率与所述评论集合中的另一条评论的概率利用kl散度计算两条评论之间的相似度。

与现有技术相比,本发明具有以下优点:本发明通过针对评论中的分词构建语言模型,可以获得该条评论的概率,通过利用评论集合中的两条评论的概率计算两条评论之间的相似度,可以根据该相似度判断出两条评论是否均为不真实评论,从而为不真实评论提供了一种切实可行的识别方案,保护用户反馈数据完整性和真实性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明实施例一的垃圾评论识别方法流程图;

图2为本发明实施例一的将满足预定条件的评论添加在评论集合中的第一种方式的流程图;

图3为本发明实施例一的将满足预定条件的评论添加在评论集合中的第二种方式的流程图;

图4为本发明实施例一的将满足预定条件的评论添加在评论集合中的第三种方式的流程图;

图5为本发明实施例一的判断一条评论是否为无用评论的流程图;

图6为本发明实施例一的对评论进行特征量化处理过程的一个具体例子的流程图;

图7为本发明实施例一的对评论进行特征量化处理过程的另一个具体例子的流程图;

图8为本发明实施例一的对评论进行特征量化处理过程的再一个具体例子的流程图;

图9为本发明实施例一的对评论进行特征量化处理过程的第四个具体例子的流程图;

图10为本发明实施例二的垃圾评论识别装置的一结构示意图;

图11为本发明实施例二的垃圾评论识别装置的另一结构示意图;

图12为本发明实施例二的评论过滤模块的一结构示意图;

图13为本发明实施例二的评论过滤模块的另一结构示意图;

图14为本发明实施例二的评论过滤模块的再一结构示意图;

图15为本发明实施例二的第一/第三过滤子模块的结构示意图;

图16为本发明实施例二的量化处理子模块的第一结构示意图;

图17为本发明实施例二的量化处理子模块的第二结构示意图;

图18为本发明实施例二的量化处理子模块的第三结构示意图;

图19为本发明实施例二的量化处理子模块的第四结构示意图;

图20为本发明实施例二的量化处理子模块的第五结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然本发明的流程图将各项操作描述成顺序的处理,但是,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

本实施例中的网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或者基于云计算(cloudcomputing)的由大量计算机或者网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述网络设备可以接入网络并与网络中的其他网络设备进行信息交互操作。其中,所述网络设备所能够接入的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。

需要说明的是,所述网络设备以及网络等仅为举例,其他现有的或今后可能出现的网络设备或者网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。

后面描述所讨论的方法(其中一些通过流程图示出)实施例可以通过硬 件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合的形式来实施。当用软件、固件、中间件或者微代码来实施时,用以实施必要任务的程序代码或者代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。

这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的,但是,本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。

应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

应当理解的是,当一个单元被称为“连接”或者“耦合”到另一个单元时,其可以直接连接或者耦合到所述另一个单元,也可以存在中间单元。与此相对的,当一个单元被称为“直接连接”或者“直接耦合”到另一个单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如,“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。

这里所使用的术语仅仅是为了描述具体实施例,而不是意图限制示例性实施例。除非上下文中明确地另有所指,否则,这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定了所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或者添加一个或更多的其他特征、整数、步骤、操作、单元、组件和/或其组合。

还应当提到的是,在一些替换的实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

下面结合附图对本申请的技术方案作进一步详细描述。

实施例一、垃圾评论识别方法。

图1为本实施例的垃圾评论识别方法流程图。如图1所示,本实施例的方法主要包括:步骤s100、步骤s110以及步骤s120。本实施例所记载的方法通常是在网络设备中被执行的,如本实施例所记载的方法可以在网络购物平台一侧的网络设备中执行。

下面对图1中的各步骤分别进行详细描述。

s100、根据从评论集合中读取出的一条评论中的分词为该评论构建语言模型,以获得该评论的概率。

具体的,本实施例的评论集合中包含有多条评论,且评论集合中的评论为需要进行真实评论鉴定的评论。本实施例的评论集合中的评论通常是指对通过网络进行销售的商品或者服务等多种类型的产品的评论。本实施例不限制产品以及评论的具体表现形式。

作为示例,本实施例的评论集合中的评论可以是采用爬取等方式从网络中获取到的评论。本实施例可以对从网络中获取到的评论进行筛选,以筛选出满足预定条件的评论,从而将满足预定条件的评论添加在评论集合中,这样,可以使评论集合中的评论为确实需要进行真实评论鉴定的评论,进而本实施例可以有效控制评论集合中的评论的数量。

本实施例可以根据实际需求来设置预定条件,从而本实施例可以采用多种不同的筛选方式将满足预定条件的评论添加在评论集合中。作为示例,下面简单例举三种实现方式:

方式一、如图2所示,s200、利用预先设置的分类模型对从网络中获取到的一条评论进行是否为无用评论的分类处理,这样,本实施例根据分类模型输出的信息即可判断出从网络中获取到的评论是否为无用评论,如果判断出从网络中获取到的评论是无用评论时,则到s210,如果判断出从网络中获取到的评论不是无用评论时,则到s220。

s210、本实施例不会将该条评论添加在评论集合中。

s220、本实施例应将该条评论添加在评论集合中。

由上述描述可知,本方式中的预定条件可以描述为:分类模型输出的信 息表示不是无用评论。本方式通过利用分类模型进行无用评论的辨识,可以有效避免无用评论被添加到评论集合中的现象。

方式二、如图3所示,s300、计算从网络中获取到的一条评论的长度(如统计评论所包含的字符数等),并到s310。

s310、判断该条评论的长度是否达到/超过预定长度阈值,如果判断出该条评论的长度没有达到/超过预定长度阈值,则到s320,而如果判断出该条评论的长度达到/超过预定长度阈值,则到s330。

s320、本实施例不会将该条评论添加在评论集合中。

s330、本实施例应将该条评论添加在评论集合中。

由上述描述可知,本方式中的预定条件可以描述为:评论的长度达到/超过预定长度阈值。本方式充分考虑到了不真实评论为了引起他人注意而通常会具有较长的长度这一特征,通过设置预定长度阈值对评论进行辨识,可以在一定程度上避免将更倾向于是真实评论的评论添加在评论集合中的现象。

方式三、如图4所示,s400、利用预先设置的分类模型对从网络中获取到的一条评论进行是否为无用评论的分类处理,这样,本实施例根据分类模型输出的信息即可判断出从网络中获取到的评论是否为无用评论,如果判断出从网络中获取到的评论是无用评论时,则到s430,如果判断出从网络中获取到的评论不是无用评论时,则到s410。

s410、计算该条评论的长度(如统计该条评论所包含的字符数等),并到s420。

s420、判断该条评论的长度是否达到/超过预定长度阈值,如果判断出该条评论的长度没有达到/超过预定长度阈值,则到s430,而如果判断出该条评论的长度达到/超过预定长度阈值,则到s440。

s430、本实施例不会将该条评论添加在评论集合中。

s440、本实施例应将该条评论添加在评论集合中。

由上述描述可知,本方式中的预定条件可以描述为:分类模型输出的信息表示不是无用评论,且评论的长度达到/超过预定长度阈值。本方式通过利用分类模型进行无用评论的辨识,并通过设置预定长度阈值对非无用评论进 行辨识,不仅可以有效避免无用评论被添加到评论集合中的现象,而且可以在一定程度上避免将更倾向于是真实评论的评论添加在评论集合中的现象。

在上述方式一和方式三中,都采用了利用分类模型来识别评论是否为无用评论这一分类技术,本实施例中的分类模型可以具体为logistic回归分类模型(即逻辑回归分类模型或者逻辑回归分类器),当然,本实施例也可以采用决策树分类模型(即决策树分类器)等其他形式的分类模型。

作为示例,本实施例在采用逻辑回归分类模型的情况下,判断一条评论是否为无用评论的过程可以具体如图5所示。

在图5中,s500、将获取到的一条评论进行特征量化处理,以获得该条评论对应的特征量化值。

s510、将该评论对应的特征量化值提供给逻辑回归分类模型。

s520、根据逻辑回归分类模型输出的概率值判断该条评论是否为无用评论,如概率值达到/超过预定概率阈值的评论为无用评论,而概率值未达到/未超过预定概率阈值的评论为正常评论。

作为示例,本实施例通过对一条评论进行特征量化处理而获得的该评论对应的特征量化值可以包括:表征评论与相应产品类型的产品特征之间的相似度的量化值(上述相应产品类型为评论对应的产品所属的产品类型)、表征评论中的非产品评价部分与评论之间比例的量化值、表征评论中是否包含有超链接的量化值以及表征评论中的疑问语句与评论之间比例的量化值中的一个或者多个。优选的,本实施例通过对一条评论进行特征量化处理,获得该评论对应的上述四个量化值。

作为示例,针对表征评论与相应产品类型的产品特征之间的相似度的量化值而言,本实施例对评论进行特征量化处理过程的一个具体的例子如图6所示。

图6中,在本次对评论进行特征量化处理之前,如果一条评论并未进行分词处理,则执行s600,对该条评论进行分词处理,以将该条评论划分为一个或多个分词,然后,到s610。而在本次特征量化处理之前,如果一条评论已经进行了分词处理(如评论集合中存储的评论包括预处理后的评论,且该预处理包括分词处理),则可以直接到s610。也就是说,s600为可选步骤。

本实施例可以采用现有的ictclas等分词工具对评论进行分词处理。

s610、在本次特征量化处理之前,如果一条评论并未进行去除停用词处理,则对该条评论的各分词分别进行去除停用词处理,以便于去除该评论中的为停用词的分词;如根据预先设置的停用词表(即停用词集合)所包含的各停用词来去除该评论中的为停用词的分词;本实施例中的停用词可以为语气助词等没有实际含义的词;到s620。

在本次特征量化处理之前,如果一条评论已经进行了去除停用词处理(如评论集合中存储的评论包括预处理后的评论,且该预处理包括分词处理和去除停用词处理),则可以直接到s620,也就是说,s620为可选步骤。

s620、计算去除停用词之后的各分词的tf-idf(termfrequency–inversedocumentfrequency,词频逆向文件频率)值,且一个分词的tf-idf值可以作为该分词的权重值;到s630。

本实施例可以采用下述公式(1)来计算评论中的第i个分词d的tf-idf值,即wi(d):

在上述公式(1)中,tfi(d)表示评论中的第i个分词d在该评论中出现的频率(即次数),n表示评论集合中的评论的数量,ni表示评论集合中包含有第i个分词d的评论的数量。

s630、根据各分词的tf-idf值以及该条评论对应的产品所属的产品类型的产品特征词表中的各产品特征词的权重值进行余弦相似度计算,计算获得的余弦相似度即为表征评论与相应产品类型的产品特征之间的相似度的量化值。本实施例中的产品特征词表是预先设置的,且产品特征词表中所包含的产品特征词可以是从购物网站所提供的对该产品类型的产品的细节描述页面中提取出来的。另外,本实施例中的产品特征词表中的各产品特征词的权重值可以在初始化时全部设置为相同的权重值(如全部设置为1),然后,再在逻辑回归分类模型的学习训练过程不断的调整各产品特征词的权重值,以不断的优化各产品特征词的权重值。

本实施例可以利用下述公式(2)针对第i条评论di和第i条评论di所对应的产品所属的产品类型的产品特征进行余弦相似度的计算:

在上述公式(2)中,sim(di,fj)表示第i条评论di与第i条评论所对应的产品所属的产品类型的产品特征fj(即第j个产品类型所对应的产品特征)之间的余弦相似度,wik表示第i条评论di中的第k个分词的tf-idf值,wjk表示第j个产品类型所对应的产品特征词表中的第k个产品特征词的权重值。

作为示例,针对表征评论中的非产品评价部分与评论之间比例的量化值而言,本实施例对评论进行特征量化处理过程的一个具体的例子如图7所示。

图7中,在本次对评论进行特征量化处理之前,如果一条评论并未进行断句处理,则执行s700,对该条评论进行断句处理,以将该条评论划分为一个或多个语句,然后,到s710。而在本次特征量化处理之前,如果一条评论已经进行了断句处理(如评论集合中存储的评论包括预处理后的评论,且该预处理包括断句处理),则可以直接到s710。也就是说,s700为可选步骤。

本实施例可以根据评论中的空格或者标点符号等特殊符号将评论划分为多个语句。

s710、在本次特征量化处理之前,如果一条评论并未进行过短句合并处理,则对该条评论的各语句分别进行短句合并处理,以便于将多个短句合并为一个语句;如将名称代词和谓语动词合并为一个语句等;到s720。

在本次特征量化处理之前,如果一条评论已经进行了短句合并处理(如评论集合中存储的评论包括预处理后的评论,且该预处理包括断句处理以及短句合并处理等),则可以直接到s720,也就是说,s720为可选步骤。

s720、针对短句合并处理后的各语句,分别根据预先设置的情感词集合判断语句中是否包含有情感词,如果判断出一个语句中包含有情感词,则到s730,否则,到s721。

本实施例中的情感词集合所包含的情感词通常是指用于表达用户对产品所产生的情感的词语,如好、很好、不好、差、很差以及凑合等等。

s721、将该语句作为非评价语句进行计数。非评价语句是指既不是对产品进行评价的语句,也不是对非产品(如淘宝或者客服或者快递等)进行评价的语句。

s730、根据预先设置的非产品信息集合(也可以称为非产品信息列表)判断包含有情感词的语句中是否包含有非产品信息,如果判断出包含有情感词的语句中包含有非产品信息,则到s740,否则,到s731。本实施例中的非产品信息集合所包含的非产品信息可以具体为客服或者快递或者快递公司的名称等。

s731、将该语句作为产品评价语句进行计数。产品评价语句是指对产品进行评价的语句。

s740、将该语句作为非产品评价语句进行计数。非产品评价语句是指对非产品(如淘宝或者客服或者快递等)进行评价的语句,这样的语句如快递太慢或者客服态度不好等。

s750、计算上述通过计数获得的非产品评价语句数量与该条评论的总语句数量(如产品评价语句的计数值、非产品评价语句的计数值以及非评价语句的计数值之和)之间的比例,该计算出的比例即为表征评论中的非产品评价部分与评论之间比例的量化值。

作为示例,针对表征评论中是否包含有超链接的量化值而言,本实施例对评论进行特征量化处理过程的一个具体的例子如图8所示。

图8中,s800、判断评论中是否包含有超链接(如利用正则表达式来判断评论中是否包含有超链接或者判断评论中是否包含有超链接关键字),如果判断出评论中包含有超链接(如判断出评论中存在与正则表达式匹配的内容或者评论中包含有超链接关键字),则到s810,如果判断出评论中没有包含有超级链接(如判断出评论中并不存在与正则表达式匹配的内容或者评论中并没有包含有超链接关键字),则到s820。

s810,为该条评论设置超链接标识(如00)。

s820、为该条评论设置非超链接标识(如01)。

上述为评论所设置的超链接标识或者非超链接标识即为表征评论中是否包含有超链接的量化值。

作为示例,本实施例还可以在判断出评论中包含有超链接的基础上,进一步通过评论中的超链接来获取该超链接所链接的具体内容,并通过对该超链接所链接的具体内容进行关键字提取等操作,以判断该超链接所链接的具体内容是否为产品的评论,如果确定出是对产品的评论,则可以为该条评论设置非超链接标识,如果确定出不是对产品的评论(如链接广告),则可以为该条评论设置超链接标识。

作为再一个示例,针对表征评论中的疑问语句与评论之间比例的量化值而言,本实施例对评论进行特征量化处理过程的一个具体的例子如图9所示。

图9中,在本次对评论进行特征量化处理之前,如果一条评论并未进行断句处理,则执行s900,对该条评论进行断句处理,以将该条评论划分为一个或多个语句,然后,到s910。而在本次特征量化处理之前,如果一条评论已经进行了断句处理(如评论集合中存储的评论包括预处理后的评论,且该预处理包括断句处理),则可以直接到s910。也就是说,s900为可选步骤。

本实施例可以根据评论中的空格或者标点符号等特殊符号将评论划分为多个语句。

s910、在本次特征量化处理之前,如果一条评论并未进行过短句合并处理,则对该条评论的各语句分别进行短句合并处理,以便于将多个短句合并为一个语句;如将名称代词和谓语动词合并为一个语句等;之后,到s920。

在本次特征量化处理之前,如果一条评论已经进行了短句合并处理(如评论集合中存储的评论包括预处理后的评论,且该预处理包括断句处理以及短句合并处理等),则可以直接到s920,也就是说,s920为可选步骤。

s920、针对短句合并处理后的各语句,分别根据预先设置的疑问词集合判断语句中是否包含有疑问词,如果判断出一个语句中包含有疑问词词,则到s930,否则,到s921。

本实施例中的疑问词集合所包含的疑问词可以包括:吗、呢、问号、什么以及怎么样等等。

s921、将该语句作为非疑问语句进行计数。

s930、将该语句作为疑问语句进行计数。到s940。

s940、计算上述通过计数获得的疑问语句数量与该条评论的总语句数量 (如疑问语句的计数值与非疑问语句的计数值之和)之间的比例,该计算出的比例即为表征评论中的疑问语句与评论之间比例的量化值。

作为再一个示例,针对采用信息增益方式设置的基于从评论样本中抽取出的特征分词的量化值而言,本实施例对评论进行特征量化处理过程的一个具体的例子为:统计预先设置的各特征分词在从评论集合中获得到的一条评论中出现的频率(即次数),并将统计出的各特征分词对应的次数作为特征分词的量化值。上述各特征分词是在逻辑回归分类模型的学习训练过程中基于信息增益的方式设置的。

需要特别说明的是,本实施例中的逻辑回归分类模型在学习训练过程中所使用的评论样本通常标记有无用评论标识(如spam)或者正常评论标识(如ham),如可以通过人工来对评论样本进行无用评论标识或者正常评论标识的标记。具有无用评论标识的评论样本可以称为黑样本,而具有正常评论标识的标记的评论样本可以称为白样本,本实施例可以在逻辑回归分类模型的学习训练过程中不断的调整黑样本和白样本的比例,以提高逻辑回归分类模型对无用评论识别的准确性。

另外,本实施例可以结合信息增益的方法来实现逻辑回归分类模型的学习训练,以便于可以从评论样本中抽取出部分分词作为特征分词。在学习训练的过程中设置特征分词的一个具体的例子如下:

首先,获取各评论样本中的所有分词(如所有评论样本中去除停用词之后的所有分词),针对每一个分词x,分别进行下述四种统计操作:

1、统计属于ham且包含有分词x的评论样本数量;2、统计属于spam且包含有分词x的评论样本数量;3、统计属于ham且不包含有分词x的评论样本数量;4、统计属于spam且不包含有分词x的评论样本数量;

然后,本实施例针对每一个分词x,均利用上述统计出的数量来计算该分词的信息增益值,并根据信息增益值的大小,选取前k(k>1)个信息增益值最大的分词作为特征分词,并分别统计这k个特征分词在一条评论样本中出现的词频(即次数),并将统计出的各词频均作为该条评论样本的针对各特征分词的特征量化值,各特征分词的特征量化值与评论样本的表征评论样本与相应产品类型的产品特征之间的相似度的量化值、表征评论样本中的非 产品评价部分与评论之间比例的量化值、表征评论样本中是否包含有超链接的量化值以及表征评论样本中的疑问语句与评论之间比例的量化值一起表示一条评论样本,并提供给逻辑回归分类模型,以使逻辑回归分类模型进行学习训练。

本实施例在从评论集合中读取出一条评论时,可以根据该条评论中的分词(如已经去除了评论中的停用词之后的所有分词)为该条评论构建语言模型,以获得该评论的概率。

本实施例为评论构建的语言模型可以为基于最大似然估计法以及katz平滑处理的二元语言模型,且为了使评论内的各分词的概率和为1,本实施例在每一条评论的开始位置添加了一个标志(如start),并在评论的结束位置添加了一个标志(如end),从而使一条评论可以表示为下述形式:

<start>w1w2...wk<end>。

针对上述形式的评论,本实施例的二元语言模型的一个具体例子可以表示为下公式(3)的形式:

p(s)=p(w1|<start>)p(w2|w1)...p(<end>|wk)公式(3)

在上述公式(3)中,start为评论开始位置标志,end为评论结束位置标志,p(w1|<start>)表示w1和start这一二元词对的概率值,p(w2|w1)表示w2和w1这一二元词对的概率值,p(<end>|wk)表示end和wk这一二元词对的概率值。

上述公式(3)中的p(w1|<start>)、p(w2|w1)以及p(<end>|wk)可以采用下述公式(4)计算获得:

在上述公式(4)中,n表示评论集合中的评论的数量,pml(wi)表示使用最大似然估计方法估计出的评论中的分词wi的概率值,r表示wi和wi-1这一二元词对出现在评论样本中的计数值,dr表示折扣率,且nr表示二元词对在评论样本中出现r次的数量,nr+1表示二元词对在评论样本中出现r+1词的数量,α表示归一化参数,且α(wi-1)可以通过下述公式(5) 来表示:

本实施例可以通过为评论集合中的每一条评论构建语言模型的方式,获得评论集合中的每一条评论的概率值。

s110、根据评论的概率与评论集合中的另一条评论的概率计算两条评论之间的相似度。

具体的,本实施例可以根据评论集合中的所有评论的概率计算出其中任意一条评论与其他各条评论之间的相似度(即其中任意一条评论的概率分布与其他各条评论的概率分布之间的距离),如评论集合中包括4条评论,则针对第一条评论而言,可以根据这4条评论各自的概率计算出第一条评论与第二条评论之间的相似度,第一条评论与第三条评论之间的相似度,第一条评论与第四条评论之间的相似度。

本实施例可以利用kl散度计算出评论集合中任意两条评论之间的相似度(即任意两条评论的概率分布之间的kl距离),如本实施例可以利用下述公式(6)计算出评论集合中任意两条评论之间的相似度:

在上述公式(6)中,kl(p||q)表示评论p和评论q之间的相似度,p(x)表示评论p的概率,q(x)表示评论q的概率,x表示评论集合。

s120、在相似度满足相似度要求的情况下,将两条评论均确定为不真实评论。

具体的,本实施例可以预先设置有相似度阈值,在判断出两条评论之间的相似度没有超过/小于相似度阈值时,可以将这两条评论均确定为不真实评论;而在判断出两条评论之间的相似度超过/不小于相似度阈值时,可以将这两条评论均确定为真实评论。

在针对评论集合中的任意两条评论均进行了相似度是否满足相似度要求的判断之后,本实施例可以从评论集合中挑选出所有不真实评论。

实施例二、垃圾评论识别装置。

图10为本实施例的垃圾评论识别装置示意图。如图10所示,本实施例的装置主要包括:构建模型模块1000、计算相似度模块1010以及判别不真实模块1020。在一个应用场景中,本实施例的装置也可以包括:构建模型模块1000、计算相似度模块1010、判别不真实模块1020、获取评论模块1030以及评论过滤模块1040(如图11所示)。本实施例所记载的垃圾评论识别装置通常设置于网络设备中,优选的,本实施例所记载的装置通常是设置于网络购物平台一侧的网络设备中。

下面结合图10-图20对本实施例的垃圾评论识别装置的结构进行说明。

获取评论模块1030主要用于获取网络中的评论,如获取评论模块1030可以是采用爬取等方式从网络中获取到的评论。

评论过滤模块1040主要用于在判断出获取评论模块1030获取的评论满足预定条件的情况下,将获取的评论添加在评论集合中。也就是说,评论过滤模块1040可以对获取评论模块1030从网络中获取到的评论进行筛选,以筛选出满足预定条件的评论,从而将满足预定条件的评论添加在评论集合中。

作为示例,评论过滤模块1040可以包括:第一过滤子模块1041(如图12所示)、第二过滤子模块1042(如图13所示)或者第三过滤子模块1043(如图14所示)。

上述第一过滤子模块1041主要用于在根据分类模型输出的信息确定获取的评论不是无用评论的情况下,将获取的评论添加在评论集合中;即第一过滤子模块1041利用预先设置的分类模型对获取评论模块1030从网络中获取到的一条评论进行是否为无用评论的分类处理,这样,第一过滤子模块1041根据分类模型输出的信息即可判断出从网络中获取到的评论是否为无用评论,如果第一过滤子模块1041判断出获取评论模块1030从网络中获取到的评论是无用评论时,则第一过滤子模块1041不会将该条评论添加在评论集合中,如果第一过滤子模块1041判断出获取评论模块1030从网络中获取到的评论不是无用评论时,则第一过滤子模块1041应将该条评论添加在评论集合中。

上述第二过滤子模块1042主要用于在判断出获取的评论的长度超过预定长度阈值的情况下,将获取评论模块1030获取的评论添加在所述评论集合 中;即第二过滤子模块1042计算从获取评论模块1030网络中获取到的一条评论的长度(如统计评论所包含的字符数等),第二过滤子模块1042判断该条评论的长度是否达到/超过预定长度阈值,如果判断出该条评论的长度没有达到/超过预定长度阈值,则第二过滤子模块1042不会将该条评论添加在评论集合中,而如果判断出该条评论的长度达到/超过预定长度阈值,则第二过滤子模块1042应将该条评论添加在评论集合中。

上述第三过滤子模块1043主要用于在根据分类模型输出的信息确定获取的评论不是无用评论,且在判断出获取的评论的长度超过预定长度阈值的情况下,将获取的评论添加在评论集合中。具体的,第三过滤子模块1043利用预先设置的分类模型对从网络中获取到的一条评论进行是否为无用评论的分类处理,这样,第三过滤子模块1043根据分类模型输出的信息即可判断出从网络中获取到的评论是否为无用评论,如果第三过滤子模块1043判断出从网络中获取到的评论是无用评论时,则第三过滤子模块1043不会将该条评论添加在评论集合中,如果判断出从网络中获取到的评论不是无用评论时,则第三过滤子模块1043计算该条评论的长度(如统计该条评论所包含的字符数等),并判断该条评论的长度是否达到/超过预定长度阈值,如果判断出该条评论的长度没有达到/超过预定长度阈值,则第三过滤子模块1043不会将该条评论添加在评论集合中到s430,而如果判断出该条评论的长度达到/超过预定长度阈值,则第三过滤子模块1043将该条评论添加在评论集合中。

上述第一过滤子模块1041以及第三过滤子模块1043均可以包括:量化处理子模块1044、输入子模块1045以及判别无用子模块1046(如图15所示)。

其中的量化处理子模块1044主要用于将获取的评论进行特征量化处理,以获得获取的评论对应的特征量化值。其中的输入子模块1045主要用于将评论及其对应的特征量化值提供给逻辑回归分类模型。其中的判别无用子模块1046用于根据逻辑回归分类模型输出的概率值判断获取的评论是否为无用评论,如判别无用子模块1046将概率值达到/超过预定概率阈值的评论判别为无用评论,而将概率值未达到/未超过预定概率阈值的评论判别为正常评论。

作为示例,量化处理子模块1044通过对一条评论进行特征量化处理而获得的该评论对应的特征量化值可以包括:表征评论与相应产品类型的产品特 征之间的相似度的量化值(上述相应产品类型为评论对应的产品所属的产品类型)、表征评论中的非产品评价部分与评论之间比例的量化值、表征评论中是否包含有超链接的量化值以及表征评论中的疑问语句与评论之间比例的量化值中的一个或者多个。优选的,量化处理子模块1044通过对一条评论进行特征量化处理,获得该评论对应的上述四个量化值。

作为示例,本实施例的量化处理子模块1044可以包括:停用词处理子模块10441主要用于对获取的评论的各分词进行去除停用词处理;计算tf-idf值子模块10442主要用于计算去除停用词之后的各分词的tf-idf值,如利用上述公式(1)计算各分词的tf-idf值;计算相似度子模块10443主要用于根据各分词的tf-idf值和预先设定的相应产品类型的各产品特征词的权重值进行余弦相似度计算,如利用上述公式(2)计算余弦相似度,其中,计算相似度子模块10443计算出的余弦相似度被作为表征评论与相应产品类型的产品特征之间的相似度的量化值(如图16所示)。上述停用词处理子模块10441、计算tf-idf值子模块10442以及计算相似度子模块10443具体执行的操作可以参见上述实施例一中针对图6的描述。

作为示例,量化处理子模块1044还可以包括:识别非产品评价子模块10444主要用于根据预先设置的情感词集合以及非产品信息集合将所述获取的评论中包含有情感词以及非产品信息的语句确定为非产品评价语句;第一计算比例子模块10445主要用于计算所述获取的评论中的非产品评价语句数量与所述获取的评论的总语句数量之间的比例,其中,所述计算出的比例被作为所述表征评论中的非产品评价部分与评论之间比例的量化值(如图17所示)。识别非产品评价子模块10444以及第一计算比例子模块10445具体执行的操作可以参见上述实施例一中针对图7的描述。

作为示例,量化处理子模块1044还可以包括:识别超链接子模块10446主要用于在判断出获取的评论中包含有超链接的情况下,为获取的评论设置超链接标识,否则,为获取的评论设置非超链接标识,其中,所述超链接标识和非超链接标识为所述表征评论中是否包含有超链接的量化值(如图18所示)。识别超链接子模块10446具体执行的操作可以参见上述实施例一中针对图8的描述。

作为示例,量化处理子模块1044还可以包括:识别疑问句子模块10447主要用于根据预先设置的疑问词集合将获取的评论中包含有疑问词的语句确定为疑问句;第二计算比例子模块10448主要用于计算获取的评论中的疑问句数量与获取的评论的总语句数量之间的比例,其中,计算出的比例被作为所述表征评论中的疑问语句与评论之间比例的量化值(如图19所示)。识别疑问句子模块10447具体执行的操作可以参见上述实施例一中针对图9的描述。

作为示例,量化处理子模块1044还可以包括:统计次数子模块10449主要用于统计各特征分词在获取的评论中出现的次数,其中,统计出的各次数被作为所述基于信息增益方式从评论样本中抽取出的特征分词的量化值(如图20所示)。具体的,统计次数子模块10449统计预先设置的各特征分词在从评论集合中获得到的一条评论中出现的频率(即次数),并将统计出的各特征分词对应的次数作为特征分词的量化值。上述各特征分词是在逻辑回归分类模型的学习训练过程中基于信息增益的方式设置的。

另外,本实施例的装置还可以包括:学习训练模块(图中未示出),该学习训练模块可以结合信息增益的方法来实现逻辑回归分类模型的学习训练,从而学习训练模块可以从评论样本中抽取出部分分词作为特征分词。学习训练模块在学习训练逻辑回归分类模型的过程中设置特征分词的一个具体的例子如下:

首先,学习训练模块获取各评论样本中的所有分词(如所有评论样本中去除停用词之后的所有分词),针对每一个分词x,学习训练模块分别进行下述四种统计操作:

1、统计属于ham且包含有分词x的评论样本数量;2、统计属于spam且包含有分词x的评论样本数量;3、统计属于ham且不包含有分词x的评论样本数量;4、统计属于spam且不包含有分词x的评论样本数量;

然后,学习训练模块针对每一个分词x,均利用上述统计出的相应的数量来计算该分词的信息增益值,并根据信息增益值的大小,学习训练模块选取前k(k>1)个信息增益值最大的分词作为特征分词,学习训练模块分别统计这k个特征分词在一条评论样本中出现的词频(即次数),学习训练模块 将统计出的各词频均作为该条评论样本的针对各特征分词的特征量化值,各特征分词的特征量化值与评论样本的表征评论样本与相应产品类型的产品特征之间的相似度的量化值、表征评论样本中的非产品评价部分与评论之间比例的量化值、表征评论样本中是否包含有超链接的量化值以及表征评论样本中的疑问语句与评论之间比例的量化值一起表示一条评论样本,学习训练模块将其提供给逻辑回归分类模型,以使逻辑回归分类模型进行学习训练。

构建模型模块1000主要用于根据从评论集合中读取出的一条评论中的分词为该条评论构建语言模型,以获得该条评论的概率。构建模型模块1000构建的语言模型可以为基于最大似然估计法以及katz平滑处理的二元语言模型。即构建模型模块1000在从评论集合中读取出一条评论时,可以根据该条评论中的分词(如已经去除了评论中的停用词之后的所有分词)为该评论构建语言模型,以获得该评论的概率。

构建模型模块1000为评论构建的语言模型可以为基于最大似然估计法以及katz平滑处理的二元语言模型,构建模型模块1000所构建的二元语言模型的一个具体例子如上述公式(3)所示。构建模型模块1000可以通过为评论集合中的每一条评论构建语言模型的方式,获得评论集合中的每一条评论的概率值。

计算相似度模块1010主要用于根据上述评论的概率与评论集合中的另一条评论的概率计算两条评论之间的相似度。

具体的,计算相似度模块1010可以根据评论集合中的所有评论的概率计算出其中任意一条评论与其他各条评论之间的相似度(即其中任意一条评论的概率分布与其他各条评论的概率分布之间的距离),如评论集合中包括4条评论,则针对第一条评论而言,计算相似度模块1010可以根据这4条评论各自的概率计算出第一条评论与第二条评论之间的相似度,第一条评论与第三条评论之间的相似度,第一条评论与第四条评论之间的相似度。

计算相似度模块1010可以利用kl散度计算出评论集合中任意两条评论之间的相似度(即任意两条评论的概率分布之间的kl距离),如计算相似度模块1010可利用公式(6)计算出评论集合中任意两条评论之间的相似度。

判别不真实模块1020主要用于在相似度满足相似度要求的情况下,将这 两条评论均确定为不真实评论。

具体的,判别不真实模块1020可以预先设置有相似度阈值,在判断出两条评论之间的相似度没有超过/小于相似度阈值时,判别不真实模块1020可以将这两条评论均确定为不真实评论;而在判断出两条评论之间的相似度超过/不小于相似度阈值时,判别不真实模块1020可以将这两条评论均确定为真实评论。在针对评论集合中的任意两条评论均进行了相似度是否满足相似度要求的判断之后,判别不真实模块1020可以从评论集合中挑选出所有不真实评论。

需要注意的是,本发明的一部分可以被应用为计算机程序产品,例如计算机程序指令,当其被智能电子设备(如计算机或者服务器等)执行时,通过该智能电子设备的操作可以调用或者提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或者其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的智能电子设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明并不局限于上述示范性实施例的细节,而且在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将本发明的实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或者装置或者模块也可以由一个单元或者装置或者模块通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1