当前位置: 首页 > news >正文

第24周:文献阅读

目录

摘要

Abstract

一、现有问题

二、提出方法

三、创新点

模型结构创新

强化学习与GAN结合

属性特征与通顺性优化

四、方法论

生成对抗网络(GAN)

强化学习(RL)

模型组件

五、实验研究

数据集

数据预处理

评价指标

实验结果分析

总结


摘要

本周阅读文献《基于 GAN 的中文虚假评论数据集生成方法》,本文提出了一种基于生成对抗网络(GAN)的中文虚假评论数据生成模型,旨在解决互联网虚假评论研究领域缺乏完全公开的中文数据集的问题。模型结合了生成器、判别器、分类器、重构器及Rollout模块,并通过强化学习方法优化生成器参数,以生成具有相应类标签属性及特征的虚假评论数据。实验结果表明,所提出的模型在BLEU值和NLL指标上均优于其他基线模型,显示出良好的生成效果和数据扩充能力。 

Abstract

This week, we read the literature “GAN-Based Approach for Generating Chinese False Review Dataset”, which proposes a Generative Adversarial Network (GAN)-based model for generating Chinese false review data, aiming to solve the problem of the lack of fully public Chinese datasets in the field of Internet false review research. The model combines Generator, Discriminator, Classifier, Reconstructor and Rollout modules, and optimizes the generator parameters by reinforcement learning method to generate false comment data with corresponding class label attributes and features. The experimental results show that the proposed model outperforms other baseline models in terms of BLEU values and NLL metrics, showing good generation results and data expansion capabilities.

一、现有问题

1、虚假评论数据集缺乏:互联网虚假评论问题严重,但缺乏完全公开的中文虚假评论数据集,这给中文虚假评论研究带来了挑战。

2、现有数据集构建方法的局限性:现有方法如人工分类、人为书写筛选和机器模型生成存在标注准确率低、人力物力消耗大等问题。

二、提出方法

在针对互联网虚假评论问题的研究中,由于缺乏公开的中文虚假评论数据集,本文提出了一种创新的基于生成对抗网络(GAN)和强化学习(RL)的中文虚假评论数据生成模型。该模型通过结合生成器、判别器、分类器、重构器以及Rollout模块,利用强化学习方法将判别器、分类器和重构器的反馈转化为奖励分数,以优化生成器的参数。生成器负责生成具有特定类标签属性的虚假评论数据,判别器则区分生成的虚假评论和真实评论,分类器控制生成句子的类标签,而重构器优化生成文本的通顺性和健壮性。通过预训练和对抗训练的结合,模型在生成高质量虚假评论数据方面表现出色,实验结果表明,该模型在BLEU值上取得了优于其他基线模型的生成效果,为虚假评论检测研究提供了新的数据支持。

三、创新点

模型结构创新

模型包含生成器(G)、判别器(D)、分类器(C)、重构器(R)及Rollout模块,能够生成具有相应类标签属性及特征的虚假评论数据。

强化学习与GAN结合

通过强化学习方法将判别器、分类器和重构器的反馈转化为奖励分数,以优化生成器的参数。

属性特征与通顺性优化

模型不仅关注生成文本的属性特征,还通过重构器优化生成文本的通顺性和健壮性。

四、方法论

生成对抗网络(GAN)

生成器生成虚假评论数据,判别器区分真假句子。

 

强化学习(RL)

将判别器、分类器和重构器的反馈转化为奖励分数,优化生成器参数。

重构器(Reconstructor)是论文中提出的一种模型组件,其目的是优化生成文本的质量,特别是文本的通顺性和健壮性。在基于生成对抗网络(GAN)的中文虚假评论数据生成模型中,重构器扮演着至关重要的角色。重构器如下:

重构器通过语义层面的调整,确保生成的虚假评论数据在语义上更加接近真实世界的文本。它计算真假句子重构的元素级损失之差,并将损失差作为奖励分数传回给生成器,以微调生成器的参数

重构器包含两个子重构器,它们初始化状态相同并行运算,一个子重构器对假句子进行重构,另一个对真句子进行重构,目标是使重构得到的句子接近放入其中的句子。此外,重构器采用经过改造的变分自编码器(VAE)作为子模型,具有更强的文本信息捕捉能力。子重构器如下所示:

子重构器的损失函数由句子重构的交叉熵损失和连接器中变分后验分布拟合标准正态分布的损失组成。通过这些机制,重构器不仅提高了生成文本的质量,还通过奖励分数的形式为生成器提供了反馈,以优化生成器的参数,从而生成更加准确和自然的虚假评论数据。 

模型组件

包括生成器、判别器、分类器、重构器及Rollout模块,各组件协同工作以生成高质量的虚假评论数据。

Rollout策略是为了评估生成器在生成句子过程中的中间状态而设计的。具体来说,它使用蒙特卡洛(MC)搜索来采样剩余的词标记。

 

Rollout过程中,生成器的当前状态是已生成的部分序列,而动作值是生成器将要生成的下一个词标记。为了获得更准确的动作值估计并减少方差,Rollout策略从当前状态开始,运行多次MC搜索,每次得到一批次的输出样本。这些样本用于计算奖励分数Q,包括判别器奖励分数QD、分类器奖励分数QC和重构器奖励分数QR。这些奖励分数反映了生成器在生成过程中各个阶段的表现,并用于指导生成器的参数优化,以生成更高质量的虚假评论数据。 

Rollout策略帮助模型在序列生成过程中做出更好的决策,从而提高最终生成文本的质量

五、实验研究

数据集

使用Li等人的虚假评论数据集,经过预处理后剩余8,896条评论。

数据预处理

该数据集原本数据量为 9 765 条,将其中经过分词后的评论字符数少于 12 、与评价事物毫不相干、标点符号数目在此条评论占比高于该评论总字符数的 75% 、评论中有非中文字符的这些评论进行剔除,剩余 8 896 条评论。

评价指标

使用BLEU值的二元组、三元组及四元组精度作为评价指标。

实验结果分析

1、对比基线模型的评价指标 

本文采用 5 个基线模型进行模型 性能比较,分别是 spamGAN SeqGAN RankGAN 、 K2T、 Base generator. spamGAN SeqGAN Rank-GAN 均采用原模型; K2T 采用原模型的无引导词、 有引导上下文的模式;Base generator 是本文模型的生成器。实验采用BLEU值的二元组、三元组及四元组精度作为主要评价指标。

2、NLL指标

NLL(Negative Log-Likelihood)指标被用来评估基于对抗生成网络(GAN)的模型在文本生成任务中的性能。 

NLL指标用于衡量模型生成的文本序列与真实文本序列之间的差异。具体来说,它计算生成器生成的序列样本的对数似然值的负值。NLL值越低,表示模型生成的文本与真实文本越接近,生成效果越好

实验结果显示,dcrGAN模型的NLL值优于其他基线模型,如SeqGAN、RankGAN和spamGAN。这表明dcrGAN模型在生成文本时能够更准确地捕捉到真实文本的分布特征。

3、重构器训练方式的影响

 重构器的训练频率(即每隔多少次训练一次重构器)对模型的生成效果有显著影响。实验中,作者测试了不同的R-every-epochs值(即重构器训练间隔),包括1、3、5和10。

结果显示,当重构器每隔3次训练时(R-every-epochs为3),dcrGAN模型在二元组BLEU值上达到最大,表明这种训练频率下模型生成的文本质量最高。 

不同的训练方式对模型的困惑度也有影响,如下图所示:

 

结果表明,R-every-epochs为3时,模型的困惑度最小,进一步验证了这种训练方式的有效性。 

4、文本模型句子生成

 

作者通过展示模型生成的虚假评论和真实评论样例,证明了模型生成的文本具有较高的可读性和通顺性。生成的虚假评论能够学习到数据集中虚假评论的结构信息和语义信息;生成的虚假评论显示出模型已学习到虚假评论的特征,例如带有一长串标点符号的评论在数据集中基本都被赋予虚假标签,且大多数虚假评论停留在餐厅表面上,评论不够深入。

实验结果表明,所提出的dcrGAN模型在各元组的BLEU值上优于其他基线模型,显示出良好的生成效果。

总结

1、模型有效性:所提出的dcrGAN模型能够生成通顺健壮的大规模批量的中文虚假评论数据,实验结果表明该模型在BLEU值上取得了较好的生成效果,超过了神经网络基准模型。

2、未来工作:未来的工作将进一步研究模型中各部分之间的交互,优化生成器奖励分数,以提高模型文本生成效果。

相关文章:

第24周:文献阅读

目录 摘要 Abstract 一、现有问题 二、提出方法 三、创新点 模型结构创新 强化学习与GAN结合 属性特征与通顺性优化 四、方法论 生成对抗网络(GAN) 强化学习(RL) 模型组件 五、实验研究 数据集 数据预处理 评价指…...

yolov8 转华为昇腾om脚本

目录 yolov8 转华为昇腾 om脚本 测试ok 推理demo: yolov8 转华为昇腾 om脚本 测试ok import sys import osos.chdir(os.path.dirname(os.path.abspath(__file__)))import torchcurrent_dir = os.path.dirname(os.path.abspath(__file__))paths = [os.path.abspath(__file__)…...

分布式事物XA、BASE、TCC、SAGA、AT

分布式事务——Seata 一、Seata的架构: 1、什么是Seata: 它是一款分布式事务解决方案。官网查看:Seata 2.执行过程 在分布式事务中,会有一个入口方法去调用各个微服务,每一个微服务都有一个分支事务,因…...

域名信息收集(小迪网络安全笔记~

附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 2.1 域名信息收集 引子:上一章介绍了服务器的信息收集。本篇则介绍在面对存在Web资产企业时,其域名信息该如何收…...

力扣-图论-13【算法学习day.63】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...

【设计模式】如何用C++实现观察者模式【发布订阅机制】

【设计模式】如何用C实现观察者模式【发布订阅机制】 一、问题背景 代码质量影响生活质量。最近工作中频繁接触各种设计模式,深刻体会到优秀的设计模式不仅能显著降低后续维护的压力,还能提升开发效率。观察者模式作为一种降低耦合度、提高扩展性的利器…...

【LC】2717. 半有序排列

题目描述: 给你一个下标从 0 开始、长度为 n 的整数排列 nums 。 如果排列的第一个数字等于 1 且最后一个数字等于 n ,则称其为 半有序排列 。你可以执行多次下述操作,直到将 nums 变成一个 半有序排列 : 选择 nums 中相邻的两…...

AI智算-k8s部署大语言模型管理工具Ollama

文章目录 简介k8s部署OllamaOpen WebUI访问Open-WebUI 简介 Github:https://github.com/ollama/ollama 官网:https://ollama.com/ API:https://github.com/ollama/ollama/blob/main/docs/api.md Ollama 是一个基于 Go 语言开发的可以本地运…...

CloudberryDB(二) 演化路线图

CloudberryDB 制定了演化路线图(https://github.com/orgs/cloudberrydb/discussions/369)并在逐步改进,这是 Cloudberry Database 发挥独特价值之处。 计划、正在进行或已完成的一些工作。 支持轻松升级 PostgreSQL 内核版本。 原有 Greenp…...

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二)

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…...

实现canal监控binlog日志再通过消息队列异步处理

一、简单步骤 实现Canal监控Binlog日志,并通过消息队列进行异步处理,步骤如下: 配置Canal:首先,需要配置Canal进行Binlog日志监控。可以通过Canal的官方文档了解如何配置Canal。 连接到Canal:使用Canal客户…...

Linux DNS 协议概述

1. DNS 概述 互联网中,一台计算机与其他计算机通信时,通过 IP 地址唯一的标志自己。此时的 IP 地址就类似于我们日常生活中的电话号码。但是,这种纯数字的标识是比较难记忆的,而且数量也比较庞大。例如,每个 IPv4 地址…...

linux打包qt程序

参考这篇文章:Linux下Qt程序打包_linuxdeployqt下载-CSDN博客 本篇文章的系统环境是 : 虚拟机ubuntu18.04 用下面这个qmake路径 进行编译 在 ~/.bashrc 文件末尾,qmake目录配置到文件末尾 将上图中bin目录下的linuxdeployqt程序拷贝到/usr/bin下一份 &…...

软考中级-软件设计师通过心路经验分享

执念,第四次终于通过了 没买书,下班后每天2小时,四个2个月终于过了 学习经验: 1.下班后学习真的靠毅力,和上学的时候考证不是一个状态,大家要及时调整,否则过程很痛苦 2.失败三次的经验&#xf…...

safe area helper插件

概述 显示不同机型的必能显示的区域 实现步骤 引入safearea,引入其中的safearea的csharp 为cancas加入gameobject gameobject中加入safearea脚本 将UI作为这个gameobject的子物体,就可以完成显示...

李宏毅机器学习-批次 (batch)和动量(momentum)

一.batch(批次) 在计算微分时,不是对所有的数据算出来的Loss值做微分,而是将所有的数据分成一个一个的batch。一个batch是一个B,在更新参数时,拿B的资料计算Loss,计算gradient,再更新…...

C# 网络编程--关于UDP 通信(二)

UDP (User Datagram Protocol) 是一种无连接的传输层协议,主要用于支持数据报文的传输。它的主要特点包括简单、高效、不保证可靠性和顺序。 1.UDP协议基本概念 1.udp基于IP的简单的协议,不可靠的协议 2.优点:简单、 轻量化、 传输速度高、…...

【k8s集群应用】Kubernetes部署安装-二进制部署实例

文章目录 Kubernetes 部署方式常见的K8S安装部署方式Kubeadm与二进制部署的区别 Kubernetes部署安装环境配置Kubernetes集群初始化配置(实验环境)一、操作系统初始化配置二、部署Docker引擎 etcd 集群搭建配置 etcd 集群 Kubernetes Master 组件部署准备…...

js常见代码输出问题之promise,await,变量提升以及闭包(包括例子以及详细解析)

这里写目录标题 异步事件循环宏任务微任务1. 执行顺序2. 分类 Promise代码输出1. promise.then执行时机2. 宏任务微任务的多轮次3. .then .catch会返回新的promise4. 返回任意一个非 promise 的值都会被包裹成 promise 对象5. .then .catch 的值不能是promise本身6. 值透传7. .…...

遗传算法与深度学习实战(27)——进化卷积神经网络

遗传算法与深度学习实战(27)——进化卷积神经网络 0. 前言1. 自定义交叉算子2. 自定义突变操作符3. 进化卷积神经网络小结系列链接 0. 前言 DEAP toolbox 中提供的标准遗传操作符对于自定义的网络架构基因序列来说是不够的。这是因为任何标准的交叉算子…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】&#xff0c;这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...