掌桥专利:专业的专利平台
掌桥专利
首页

虚假评论检测模型训练方法、检测方法及电子设备

文献发布时间:2023-06-19 11:16:08


虚假评论检测模型训练方法、检测方法及电子设备

技术领域

本发明涉及服务计算机技术领域,具体涉及一种虚假评论检测模型训练方法、检测方法及电子设备。

背景技术

随着电子商务的快速发展,线上购物已经成为人们生活中不可或缺的一种购物方式。用户在购买商品时,会通过获得其他用户对于这件商品的评价,并据此来决定自己是否购买,因此产品评论和商家销售额存在很大的利益关系,进而诱发部分商家通过构造虚假评论来促进商品的销售。而虚假评论具有迷惑性大、难以识别的特点,因此严重影响了消费者的购物体验。

现有技术中,虚假评论检测研究分为基于多个方面,如文本或用户行为等。对于基于文本进行研究的方法可以分为基于语义特征和基于语法特征的研究。基于语义的研究主要是对评论文本在语义层面进行特征抽取,主要包含相似观点以及情感分析等方面;基于语法的研究是从评论文本中的词性特征角度进行分类;以及基于用户行为特征的主要挖掘以评论产品、评论文本以及用户为中心的特征。

现有技术中仍存在一些不足,传统模型方法的识别只是依靠特征工程将评论文本的特征进行组合,以寻求最优的句子的中间表达,然后根据中间表达来训练分类模型。对于虚假评论,难以区分是文本特征上还是行为特征上异常,或者两者都异常。只考虑文本特诊或者行为特征可能会导致学习偏差,却没有考虑到商品本身的特征。因此,提高虚假评论检测方法的准确性是一个有待解决的问题。

发明内容

鉴于此,本发明实施例提供了一种虚假评论检测模型训练方法、检测方法及电子设备,以提高虚假评论检测方法的准确性。

本发明的技术方案如下:

获取酒店评论数据集;所述酒店评论数据集中的每条酒店评论数据包括酒店属性信息、评论文本、评论时间、用户评分、及用户属性信息;其中,所述酒店属性信息包括酒店标识、酒店设施信息、及酒店地址信息;

统计每条酒店评论数据中酒店信息在所述酒店评论数据集中出现的次数,得到相应的酒店被评论数量,并统计每条酒店评论数据中用户信息在所述酒店评论数据集中出现的次数,得到相应的用户发出评论数量;对每条酒店评论数据中的酒店信息进行特征提取,得到酒店属性特征向量;

利用预先构建的卷积神经网络对每条酒店评论数据中的评论文本进行特征提取,得到评论文本特征向量;

根据每条酒店评论数据对应的用户信息、酒店被评论数量、酒店等级、评论时间、用户发出评论数量、及用户评分构建相应的用户行为信息,并利用DeepFM模型对用户行为信息进行特征提取,得到用户行为特征向量;

基于注意力机制对所述用户行为特征向量、所述酒店属性特征向量和所述评论文本特征向量进行特征信息融合的学习,得到所述用户行为特征向量的关联向量、所述酒店属性特征向量的关联向量和所述评论文本特征向量的关联向量,并将每条酒店评论数据对应的所述用户行为特征向量的关联向量、所述酒店属性特征向量的关联向量和所述评论文本特征向量的关联向量进行融合,生成相应的评论特征融合向量;

根据每条酒店评论数据对应的评论特征融合向量得到相应的训练样本,形成训练样本集,利用训练样本集中的训练样本对分类器进行训练,得到评论检测模型。

在一些实施例中,对每条酒店评论数据中的酒店信息进行特征提取,得到酒店属性特征向量,包括:

基于Unigram方法分别对所述每条酒店评论数据中的酒店信息中的无词序关系的酒店设施信息进行特征提取,得到酒店设施信息的特征向量;

将所述每条酒店评论数据中的酒店信息中的酒店地址信息输入至文本卷积神经网络,得到酒店地址特征向量;

对所述酒店设施信息的特征向量和所述酒店地址特征向量进行拼接得到酒店属性特征向量。

在一些实施例中,利用预先构建的卷积神经网络对每条酒店评论数据中的评论文本信息进行特征提取,得到评论文本特征向量,包括:

将每条酒店评论数据中评论文本中的各个词向量通过向量矩阵的形式表达评论文本矩阵;

将所述评论文本矩阵输入至文本卷积神经网络,得到评论文本特征信息向量。

在一些实施例中,统计每条酒店评论数据中酒店信息在所述酒店评论数据集中出现的次数,得到相应的酒店被评论数量,并统计每条酒店评论数据中用户信息在所述酒店评论数据集中出现的次数,得到相应的用户发出评论数量,包括:

按酒店评论数据中评论时间所属时间段将所述酒店评论数据集中的酒店评论数据划分为多组;

统计每条酒店评论数据中酒店信息在每组酒店评论数据中出现的次数,得到相应各评论时间所属时间段的酒店被评论数量;根据所有评论时间所属时间段对应的酒店被评论数量,得到酒店被评论数量特征向量;

统计每条酒店评论数据中用户信息在每组的酒店评论数据中出现的次数,得到相应各评论时间所属时间段的用户发出评论数量;根据所有评论时间所属时间段对应的用户发出评论数量,得到用户发出评论特征向量。

在一些实施例中,根据每条酒店评论数据对应的用户信息、酒店被评论数量、用户等级、评论时间、用户发出评论数量、及用户评分构建相应的用户行为信息,并利用DeepFM模型对用户行为信息进行特征提取,得到用户行为特征向量,包括:

根据每条酒店评论数据中酒店信息在所述酒店评论数据集的各酒店评论数据中的用户评分,得到用户评分表示向量;

根据每条酒店评论数据中酒店信息在所述酒店评论数据集的各酒店评论数据中的用户信息,得到用户信息表示向量;

根据每条酒店评论数据对应的所述酒店被评论数量表示向量、用户发出评论表示向量、用户评分表示向量、用户信息表示向量以及用户等级表示向量进行拼接,得到用户行为信息。

在一些实施例中,将每条酒店评论数据对应的所述用户行为特征向量的关联向量、所述酒店属性特征向量的关联向量和所述评论文本特征向量的关联向量进行融合,生成评论特征融合向量,包括:

将每条酒店评论数据对应的所述用户行为特征向量的关联向量、所述酒店特征向量的关联向量、所述评论文本特征向量的关联向量、所述用户行为特征向量、所述酒店属性特征向量、及所述评论文本特征向量进行融合,生成评论特征融合向量。

在一些实施例中,所述分类器为XGBoost模型。

根据本发明实施例的另一方面,提供了一种虚假评论的检测方法,包括:

利用如上述任意一项实施例中所述的虚假评论检测模型训练方法检测评论文本,所述评论文本是否为虚假评论的检测结果。

根据本发明实施例的另一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项实施例中所述方法的步骤。

根据本发明实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任意一项实施例中所述方法的步骤。

本发明实施例的一种虚假评论检测模型训练方法、检测方法及电子设备,通过使用卷积神经网络进一步提取文本特征表示,使用深度因子分解机进一步提取用户行为特征表示,最终使用集成学习模型作为分类模型,从而构建了基于集成学习的虚假评论检测算法。通过文本特征、用户行为特征以及酒店属性特征结合的方式使得可以更准确的表示虚假评论信息;通过使用虚假评论检测的分类器,提升虚假评论检测的效果。

本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。

本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:

图1是本发明一实施例的虚假评论检测模型训练方法的流程示意图;

图2是本发明一具体实施例的虚假评论检测模型训练方法的流程示意图;

图3是本发明一实施例的虚假评论检测模型检测方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。图1是本发明一实施例的虚假评论检测模型训练方法的流程示意图,如图1所示,该实施例的虚假评论检测模型训练方法可包括以下步骤S110至步骤S170。

下面将对步骤S110至步骤S170的具体实施方式进行详细说明。

步骤S110:获取酒店评论数据集;所述酒店评论数据集中的每条酒店评论数据包括酒店属性信息、评论文本、评论时间、用户评分、及用户属性信息;其中,所述酒店属性信息包括酒店标识、酒店设施信息、及酒店地址信息。

在步骤S110中,可以使用爬虫技术爬取旅游网站数据,并制定标注体系对采集的原始数据进行标注。所采集的数据中文本数据类型不仅可以包含评论文本内容,还可以包含用户的点评等级、酒店所在地区以及酒店基础设施、真实评论中的酒店标识,用户信息,用户评论内容,评论时间,用户对酒店的打分等信息,通过采集的网站上的酒店评论相关的酒店属性信息表、用户属性信息表和用户评论信息表,建立酒店属性信息、用户行为信息、用户评论信息的三个数据集。

步骤S120:统计每条酒店评论数据中酒店信息在所述酒店评论数据集中出现的次数,得到相应的酒店被评论数量,并统计每条酒店评论数据中用户信息在所述酒店评论数据集中出现的次数,得到相应的用户发出评论数量。

其中,可以基于酒店评论数据集的原始特征挖掘新的用户行为信息,通过对酒店标识,用户信息,用户评论内容,评论时间,用户对酒店的打分等信息的统计,而对新特征进行挖掘,例如,新特征可以为用户名称、评论酒店的名称、与当前评论关联的评级分数、用户所有评分的均值、所有用户对酒店评分的均值、用户评分与酒店评分的绝对分数偏差、用户所有评分的平均偏差、用户所有评分的标准差、同一酒店下评论相同的用户数量、同一用户在不同酒店评论相同的酒店数量、用户在同一酒店所有评论数量、用户在同一酒店重复评论数量、用户单日发布的评论数量均值、用户当天评论的时间、用户评论的日期、用户评论的月份、用户评论年份、用户评论下的点赞数、用户评论下的回复数、统计评论文本的长度、统计该评论与自身其他评论内容的最大相似度、用户粉丝数量、用户关注数量、用户评论过的城市数量等。

在一些实施例中,按酒店评论数据中评论时间所属时间段将所述酒店评论数据集中的酒店评论数据划分为多组;统计每条酒店评论数据中酒店信息在每组酒店评论数据中出现的次数,得到相应各评论时间所属时间段的酒店被评论数量;根据所有评论时间所属时间段对应的酒店被评论数量,得到酒店被评论数量特征向量;统计每条酒店评论数据中用户信息在每组的酒店评论数据中出现的次数,得到相应各评论时间所属时间段的用户发出评论数量;根据所有评论时间所属时间段对应的用户发出评论数量,得到用户发出评论特征向量。

其中,构造的用户行为特征可根据数值分为离散值特征和连续值特征。连续值特征指的是数值连续变化的特征。例如,特征“酒店价格”的值为625、特征“用户粉丝数”的值为20,这些就是连续值特征。连续值特征的数值会在一定的实数范围内变化,有着物理意义和大小关系。离散值特征是指利用1和0来表征是否属于某一个类别的含义,其数值是离散的。例如,特征“用户等级”、“酒店等级”这类有多个不同离散数值的特征都成为离散值特征。

将整个连续特征值所在的范围分割为一组连续分桶,然后再根据值落在的分桶将原来的数值特征转换成分桶的ID。例如,将年份进行四分桶,则可表示为独热编码的形式:小于1960年的可表示为[1,0,0,0];大于1960年且小于1980年的可表示为[0,1,0,0];大于1980年且小于2000年的可表示为[0,0,1,0];大于2000年的可表示为[0,0,0,1]。将一个完全有效的模型输入进行分桶的意义在于,分桶之后,假设桶的数量为n,则模型可以学习n个单独的权重,而非一个。与仅学习一个权重相比,n个权重能够创建一个学习能力更强的模型。因为虚假评论时间有短期爆发性的特点,所以可以通过分桶的方式,模型能学到更复杂的非线性关系。因此,分桶的方式使得模型学习更具有灵活性。而对离散特征值的处理方式可以通过使用独热编码方式,使用独热编码(one-hot encoding)是将离散值特征进行连续化的常用方法。其编码方式很简单,以“酒店等级”为例,“酒店等级”从高到低的特征取值可以为豪华型,舒适型,高档型,经济型,其他,然后通过创建值为1或者0的五个特征,将“豪华型”编码为[1,0,0,0,0],向量长度为离散值的数量,类似地分别对舒适形、高档型、经济型、其他这四个类别进行独热编码。从而,将之前的一个特征被转化为了五个特征,可以有效避免没有物理意义的数值的大小对模型的训练过程产生不良的影响,并且,其他离散型特征值同样可以以相同方式得到。

并且,还可以利用Word2vec模型进行训练得到酒店标识或者用户名称等类型的特征,主要是构造输入Word2vec模型的训练序列。例如,对于“酒店标识”这个特征,在本研究中构造训练序列的过程为:首先把酒店标识替换为数字ID,然后根据用户评论酒店时间的顺序构造训练序列,即把酒店对应ID当做单词,而根据评论时序构造出来的序列相当于一个文本语料,由此得到每个ID的嵌入向量。对用户信息数据、用户行为数据及酒店信息数据进行预处理后,可以得到两种特征向量表示方式,分别是独热编码和嵌入编码。

步骤S130:对每条酒店评论数据的酒店信息进行特征提取,得到酒店属性特征向量。

其中,由于酒店信息中包含了多种信息,并且其想要传递出的信息不同,因此,针对不同的信息可以使用不同的方式进行处理,从而可以得到文本中携带的隐藏信息以及获取更准确的信息。同时,酒店信息中的酒店地址信息中包含着一些方位信息,并且虚假评论中酒店信息中的酒店位置会出现在较为偏僻的位置与评论中的酒店位置存在差异,因此可以将酒店地址用于作为对虚假评论的判断条件,进而,可以对酒店地址信息进行提取。例如,酒店信息中包含的酒店地址信息通过卷积神经网络更能获取其中所携带的酒店方位信息;而酒店信息中包含的基础设施信息无需考虑词序关系,且单词量较少,所以可以选择无需考虑词序关系的词袋模型等方式。因此,可以通过卷积神经网络得到的酒店地址文本表示;还可以选择使用Unigram的方法提取酒店基础设施特征。

在一些实施例中,基于Unigram方法分别对所述每条酒店评论数据中的酒店信息中的无词序关系的酒店设施信息进行特征提取,得到酒店设施信息的特征向量;将所述每条酒店评论数据中的酒店信息中的酒店地址信息输入至文本卷积神经网络,得到酒店地址特征向量;对所述酒店设施信息的特征向量和所述酒店地址特征向量进行拼接得到酒店属性特征向量。

具体地,通过使用Unigram方法提取酒店基础设施、所属地区等特征;可以基于用户评论顺序构造酒店标识训练序列,并且可以使用Word2vec工具的Skip-gram模型训练得到酒店标识的向量表示;使用卷积神经网络提取酒店地址的特征向量表示。最终将以上文本类型特征以及酒店属性表中的数值类型特征进行拼接得到酒店特征表示。

示例性地,由获取的酒店信息的语料库中可以包括“空调24小时热水吹风机”,或“空调24小时热水吹风机自动提款机”等特征。对语料库中的上述特征进行合并可以得到,“空调,24小时热水,吹风机,自动提款机”可以根据在所在评论中的词频对其进行向量表示。例如,V1=[1 1 1 0],V1中表示的酒店设施可以看出V1对应的评论中未涉及自动提款机;V2=[1 1 1 1],则V2中表示的酒店设施可以看出V2对应的评论中涉及到“空调,24小时热水,吹风机,自动提款机”各个酒店设施。进而,将通过卷积神经网络得到的酒店地址文本表示、Unigram方法提取到的酒店所在地区和基础设施的文本特征向量以及用特征嵌入法获取的酒店标识向量表示拼接到一起作为酒店文本信息的向量表示。

步骤S140:利用预先构建的卷积神经网络对每条酒店评论数据中的评论文本信息进行特征提取,得到评论文本特征向量。

在步骤S140中,由于需要捕捉评论文本中上下文的关联信息,并且,评论文本信息中包含丰富的语义信息,例如,表达习惯、情感信息和语义信息等。传统的方法没有利用到评论中的具体语义信息,仅仅是根据提取的规则特征来进行识别。因此,可以对其使用文本卷积神经网络模型对需要的信息进行获取,或者还可以通过使用采集的大量的评论文本信息对卷积神经网络进行训练获取文本卷积神经网络模型等其他方式。而在使用深度学习框架的过程中,需要在向量空间对特征进行表达。对于文本数据这种非结构化数据,模型是无法直接处理的。因此,在输入文本数据前,需要进行特征向量化表示,这些向量是语言或者语义特征的数学表达形式。在进入卷积神经网络之前,需要对评论文本进行编码,使用一个连续实值向量表征一个单词,这个向量被称为词向量。

在一些实施例中,将每条酒店评论数据中评论文本中的各个词向量通过向量矩阵的形式表达评论文本矩阵;将所述评论文本矩阵输入至文本卷积神经网络,得到评论文本特征信息向量。

其中,对评论文本进行预训练之前需要对其进行分词、或者去停用词等操作以减少不存在实际意义的词语对训练的影响,该过程可以使用scikit-learning、gensim或者jieba等方式对评论文本进行操作。例如,对于文本内容可以采用jieba开源库进行分词,然后去停用词。预训练可以通过Word2Vec工具进行词向量预训练或者基于现有语料库预训练词向量。例如,可以直接通过使用采集到的数据集,经过数据预处理,去停用词后,使用Word2vec工具的Skip-gram模型预训练获得词表大小为12512的中文预训练词向量,每个词向量维度为128;或者可以使用现有的新闻语料库训练的公开预训练词向量,每个词向量维度为300。通过结合获得预训练词向量的两种方法,既可以利用其他语料库得到更多的先验知识,又可以解决具体任务中出现未登录词的问题。并且,可以将得到的词向量作为卷积神经网络的输入进行学习。一条评论文本经过分词后得到多个单词,多个单词的词向量可以通过向量矩阵的形式进行表达,记为W

示例性地,将处理后的评论文本信息输入至文本卷积神经网络,首先需要输入的是句子的向量表示矩阵W

具体地,首先构建一个双通道输入层,为一个n×k的矩阵,其中一个通道用预训练好的词嵌入表达,且在训练过程中不再发生变化;另一个通道也由同样的方式初始化,但是会作为参数,随着网络的训练过程发生改变。然后在卷积层通过调整卷积核大小获取不同范围内词的关系,获得纵向的差异信息,即在一个句子中不同范围的词出现会带来什么信息,同时使用多个相同大小的卷积核从同一个窗口学习相互之间互补的特征。

步骤S150:根据每条酒店评论数据对应的用户信息、酒店被评论数量、酒店等级、评论时间、用户发出评论数量、及用户评分构建相应的用户行为信息,并利用DeepFM模型对用户行为信息进行特征提取,得到用户行为特征向量。

其中,在对用户行为特征进行提取的时候,需要结合数据的特点进行选择。需要先对获得的单一行为特征的重要性进行分析,而后进一步对特征进行筛选。而单一特征所提供的信息量较少,往往不能满足任务的需求,且无法实现对评论文本更为精确的判断。因此,将多个单一特征进行特征的交叉以构建组合特征信息,组合特征信息内可以包含多于两个单一特征信息。

示例性地,单一行为特征可以使用随机森林算法分析其特征重要性以及进行特征筛选,而单一特征所能提供的信息量不够充分,所以可以将两个或多个单一特征进行特征交叉所得到的组合特征包含的信息往往多于单独考虑两个特征的信息。但是实际任务的数据中往往有着复杂的非线性关系,而传统的线性模型对非线性关系数据的学习能力有限,因此,通过特征交叉组合的方式可以增加模型的非线性学习能力,从而提升模型的性能。所以,特征交叉可以使用深度学习模型DeepFM自动提取交叉特征。通过使用深度学习模型DeepFM模型自动学习二阶以及更高阶的交叉特征,以去除人工对用户行为信息进行交叉融合后提取特征的主观性。通过使用深度学习模型分别提取低阶和高阶的交叉特征,这两部分共享一个嵌入层。FM部分是一个因子分解机,通过引入特征隐向量做内积的方式对两个特征的交互关系进行建模。Deep部分是一个前馈深度神经网络,为若干层全连接层。总的来说对原始数据进行预处理之后使其变为稀疏特征,然后通过嵌入层映射为一个低维稠密向量,在作为FM和DNN的输入。

具体地,利用深度神经网络进行特征学习的,将文本语句长度设置为100,Batch-size设置为64,epoch设置为20。全连接层可以使用Dropout和L2正则化方法来防止过拟合,Dropout的系数设置为0.5,正则化系数设置为0.01,激活函数可以使用ReLU激活函数。深度神经网络中的DNN部分,均可以使用三层隐藏层,每层的神经元个数为128。可以使通过TextCNN模型和DeepFM模型学习到的特征向量表达式输出的均为128维的特征向量。

在使用DeepFM进行用户行为特征提取的时候,由于用户行为信息中包含的数据类型不同,所以需要对模型的输入部分进行处理。DeepFM模型是分类机和深度神经网络两部分,分别负责提取低阶和高阶的交叉特征,这两部分共享一个嵌入层。FM部分是一个因子分解机,通过引入特征隐向量做内积的方式对两个特征的交互关系进行建模。Deep部分是一个前馈深度神经网络,为若干层全连接层。总的来说对原始数据进行预处理之后使其变为稀疏特征,然后通过嵌入层映射为一个低维稠密向量,在作为FM和DNN的输入。在使用DeepFM模型进行行为特征提取的时候只需要处理模型的输入部分。

在一些实施例中,根据每条酒店评论数据中酒店信息在所述酒店评论数据集的各酒店评论数据中的用户评分,得到用户评分表示向量;根据每条酒店评论数据中酒店信息在所述酒店评论数据集的各酒店评论数据中的用户信息,得到用户信息表示向量;根据每条酒店评论数据对应的所述酒店被评论数量表示向量、用户发出评论表示向量、用户评分表示向量、用户信息表示向量以及用户等级表示向量进行拼接,得到用户行为信息。

其中,用户行为信息中的各个不同的可根据数值分为离散值特征和连续值特征。连续值特征指的是数值连续变化的特征。而用户行为信息中的酒店被评论数量、用户发出评论数量等信息均为连续值特征。例如,特征“酒店价格”的值为625、特征“用户粉丝数”的值为20,这些就是连续值特征。连续值特征的数值会在一定的实数范围内变化,有着物理意义和大小关系。离散值特征是指利用1和0来表征是否属于某一个类别的含义,其数值是离散的。例如,特征“酒店等级”这类有多个不同离散数值的特征都成为离散值特征。对用户信息数据、用户行为数据及酒店信息数据进行预处理后,可以得到两种特征向量表示方式,分别是独热编码和嵌入编码。其中,使用独热编码处理的特征,是用于将拼接所有经过独热编码的特征后可以直接作为DeepFM模型的嵌入层的输入,则输出的低维稠密向量作为FM部分和Deep部分的共享输入。而对于进行嵌入编码处理的特征,对同一种特征下的所有值的嵌入编码维护一个相同的嵌入向量(embedding vector)v,则对于某个嵌入编码a来说,其最终的稠密向量表示为a×v,再与其他的独热编码对应的稠密向量表示一起参与到FM部分的交叉以及Deep部分的输入。

步骤S160:基于注意力机制分别对所述用户行为特征向量、所述酒店属性特征向量和所述评论文本特征向量进行特征信息的学习,得到所述用户行为特征向量的关联向量、所述酒店属性特征向量的关联向量和所述评论文本特征向量的关联向量,并将每条酒店评论数据对应的所述用户行为特征向量的关联向量、所述酒店属性特征向量的关联向量和所述评论文本特征向量的关联向量进行融合,生成相应的评论特征融合向量。

其中,用卷积神经网络提取文本特征和酒店地址特征表示,用Unigram提取酒店基础设施特征,用深度因子分解机提取用户的行为特征以及“酒店标识”、“用户名称”等这类特征的嵌入向量表示方法。图2是本发明一具体实施例的虚假评论检测模型训练方法的流程示意图。如图2所示,将提取到的特征归为三类,分别是评论文本特征、用户行为特征和酒店属性特征。提取到所有特征之后,将特征进行融合,简单的特征拼接固然不会损失特征的信息量,但是会忽略了特征之间的联系。由于无法确定虚假评论是在语言上可疑,还是在行为上可疑,所以需要对评论文本特征和行为特征进行权重的学习。而评论文本中可能会提到酒店的一些相关信息,所以可以对酒店属性信息和评论文本做个相似度匹配。因此可以通过使用注意力机制的特征融合方式,动态学习三类特征的权重。

示例性地,可以将所有的特征向量合并为矩阵形式进行注意力机制学习,则输入特征向量矩阵记为X,query向量矩阵记为Q,key向量矩阵记为K、value向量矩阵记为V,则计算过程如下所示:

Q=X×W

K=X×W

V=X×W

其中,X表示为输入特征向量矩阵,Q表示为query向量矩阵,K表示为key向量矩阵,V表示为value向量矩阵;

将query向量矩阵和key向量矩阵进行相似度计算得到权重并进行归一化,引入参数作为一个结果处理的尺度标度:

其中,f(Q,K)表示为通过输入值映射后得到的query向量矩阵和key向量矩阵计算得到的权重;Q

将计算所得权重和相应的value进行加权求和得到最终结果:

其中,Attention(Q,K,V)表示为用户行为特征信息内的关联向量、酒店特征信息内的关联向量和评论文本特征信息内的关联向量;Q

Attention(Q,K,V)表示经过注意力机制处理后的特征向量,与未处理前的特征拼接则得到最终的特征融合向量表示,作为分类模型的输入。

步骤S170:根据每条酒店评论数据对应的评论特征融合向量得到相应的训练样本,形成训练样本集,利用训练样本集中的训练样本对分类器进行训练,得到评论检测模型。

其中,可以将得到的训练样本集按照8:2的比例随机将其划分为训练集和测试集。通过训练样本集对模型进行训练,将分类器训练为评论检测模型,例如,将每条评论按照分布情况获取相应的分布值,设置设定阈值,将评论对应得分布值与设定的分布阈值进行比较,得到评论对应的分布,进而获取评论对应的检测结果。所述分类器可以为XGBoost(Extreme Gradient Boosting,提升树模型)模型。或者分类器还可以选择Adaboost(Adaptive Boosting,自适应提升)模型或者GBDT(Gradient Boosting Decision Tree,梯度提升决策树)模型等模型进行分类。例如,通过使用XGBoost模型来完成虚假评论检测。可以选择深度为6,叶子结点数为31的树来进行虚假评论检测。

在一些实施例中,将每条酒店评论数据对应的所述用户行为特征向量的关联向量、所述酒店特征向量的关联向量、所述评论文本特征向量的关联向量、所述用户行为特征向量、所述酒店属性特征向量、及所述评论文本特征向量进行拼接,生成评论特征融合向量。

其中,将评论文本特征、用户行为特征以及酒店特征进行多信息融合。使用注意力机制自动学习特征权重,例如,假设评论文本特征向量为v

v=[v

其中,v

通过对酒店属性信息、用户属性信息和用户行为信息进行融合,并将融合后的评价信息输入至分类器中,对分类器进行训练得到评论检测模型,以此提高评论检测模型的准确性。

图3为本发明一实施例中的虚假评论检测方法的流程示意图。如图3所示,根据本发明实施例的另一方面,提供了一种虚假评论的检测方法,包括:利用如上述任意一项实施例中所述的虚假评论检测模型训练方法检测评论文本,所述评论文本是否为虚假评论的检测结果。

示例性地,获取原始数据。使用爬虫技术爬取旅游网站数据,并制定标注体系对原始数据进行标注。构造行为特征。基于数据集的原始特征,挖掘构造新的行为特征。将已有行为特征按照离散型特征和连续性特征进行处理,最终得到独热编码类型的特征作为DeepFM模型的输入,以自动学习交叉特征。构造文本特征。首先进行文本向量表征,可以通过不同的方式对文本向量进行表征,例如,:可以使用爬取的评论文本内容基于Word2vec工具的Skip-gram模型完成词向量预训练;或者还可以使用开源的中文预训练词向量。获取文本向量表征之后,可以使用基于词向量的文本表示矩阵作为卷积神经网络的输入,提取更具语义信息的评论文本特征。使用Unigram方法提取酒店基础设施、所属地区等特征;基于用户评论顺序构造酒店标识训练序列,使用Word2vec工具的Skip-gram模型训练得到酒店标识的向量表示;使用卷积神经网络提取酒店地址的特征向量表示。最终将以上文本类型特征以及酒店属性表中的数值类型特征进行拼接得到酒店特征表示。将评论文本特征、用户行为特征以及酒店特征进行多信息融合,使用注意力机制自动学习特征权重。虚假评论检测分类模块,通过XGBoost模型来完成虚假评论检测分类模块。

根据本发明实施例的另一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项实施例中所述方法的步骤。

根据本发明实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任意一项实施例中所述方法的步骤。

综上所述,本发明实施例的虚假评论检测模型训练方法、检测方法及电子设备。通过更深入地提取出评论文本信息,从而获取更丰富的句子语义信息;实现一个基于DeepFM深度神经网络框架,自动提取学习行为特征的交叉特征,从而获取每一类行为特征之间的联系;通过提取酒店属性特征、酒店标识的嵌入向量以增加对评论的检测方向;实现基于注意力机制的特征融合模块,通过文本特征、用户行为特征以及酒店属性特征结合的方式使得可以更准确的表示虚假评论信息;将获取的融合向量输入至分类器以区分虚假评论,从而提升虚假评论检测的效果。

本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 虚假评论检测模型训练方法、检测方法及电子设备
  • 一种基于半监督学习模型的虚假评论检测方法及系统
技术分类

06120112859571