【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Text2Image:一种新的 NLP 思路

  • 2019-11-19
  • 本文字数:2121 字

    阅读完需:约 7 分钟

Text2Image:一种新的NLP思路

与计算机视觉相比,自然语言处理(NLP)一直被认为是一个难以攻克的难题。本文寻找到了一种新的 NLP 处理方式,探索将 NLP 与计算机视觉处理结合,将文本绘制成图片。虽然目前的准确率还有待优化提高,但看起来很有应用前景。

问题点

长期以来,自然语言处理(NLP)一直被认为是一个难以攻克的难题,至少与计算机视觉相比是这样。NLP 模型需要更长的运行时间,通常更难实现,并且需要更多的计算资源。另一方面,图像识别模型的实现变得更加简单,对 GPU 的负担也更小。这让我想到,我们可以把一个文本语料库转换成一个图像吗?我们能把文本解释成图像吗?事实证明,答案是肯定的,并带来了令人惊讶的结果!我们用这种方法来区分假新闻和真新闻。


在本文中,我们将详细探讨这种方法、结果、结论和接下来的改进。

简介

思路来源

将文本转换为图像的想法最初是受到 Gleb Esman 关于欺诈检测的一篇文章的启发。在这种方法中,他们将各种数据点,如鼠标移动的速度、方向、加速度等转换成彩色图像。然后在这些图像上运行一个图像识别模型,进而可以产生高度准确的结果。

数据

所有实验使用的数据是George Mclntire的假新闻数据集的子集,包含大约 1000 篇假新闻和真实新闻的文章。

Text2Image 的基本原理

让我们首先在一个较高的层次上讨论 Text2Image。其基本思想是将文本转换成我们可以绘制的热图。热图标识着每个单词的 TF-IDF 值。词频-逆文档频率(TF-IDF)是一种统计方法,用于确定一个单词相对于文档中其他单词的重要性。在基本的预处理和计算 TF-IDF 值之后,我们使用一些平滑的高斯滤波将它们绘制成对数尺度的热图。一旦热图绘制完成,我们使用 fast.ai 实现了一个 CNN,并尝试区分真实和虚假的热图。我们最终获得了大约 71%的稳定准确率,这对于这种新方法来说是一个很好的开始。这里有一个关于我们的方法的小流程图:


Text2Image 详述

预处理

数据采用小写形式,删除所有特殊字符,并将文本和标题连接起来。文件中 85%以上的文字也被删除。此外,要明确避免使用停用词(stopwords)。使用的是一份标准的停顿词列表,大部分是没有信息的重复词。特别是要对假新闻的断句进行修改,这是未来值得探索的一个领域,特别是可以为假新闻带来独特的写作风格。

计算 TF-IDF

为了对关键字进行评分和提取,Text2Image 使用了 tf-idf 的 scikit-learn 实现。对于假新闻语料库和真实新闻语料库,IDF 分别计算。与整个语料库的单个 IDF 分数相比,计算单独的 IDF 分数会导致准确性大幅提高。然后迭代计算每个文档的 tf-idf 分数。在这里,标题和文本不是分开评分的,而是一起评分的。



计算 Term 频率



计算 IDF


把它们相乘,就得到 tf-idf。我们对每个文档分别进行迭代。

处理 TF-IDF 值

对于每个文档,将提取具有最高 TF-IDF 值的 121 个单词。这些单词然后用于创建一个 11x11 数组。在这里,选择的单词数量就像一个超参数。对于更短、更简单的文本,可以使用更少的单词,而使用更多的单词来表示更长的、更复杂的文本。根据经验,11x11 是这个数据集的理想大小。将 TF-IDF 值按大小降序排列,而不是按其在文本中的位置映射。TF-IDF 值以这种方式映射,因为它看起来更能代表文本,并且为模型提供了更丰富的特性来进行训练。因为一个单词可以在一篇文章中出现多次,所以要考虑第一次出现的单词。


不按原样绘制 TF-IDF 值,而是按对数刻度绘制所有值。这样做是为了减少顶部和底部值之间的巨大差异。



在绘制时,由于这种差异,大多数热图不会显示任何颜色的变化。因此,它们被绘制在一个对数刻度上,以便更好地找出差异。



图 1(左)显示了按原样绘制的 TF-IDF 值。图 2(右)显示了在对数刻度上绘制的相同值


缺点之一是在训练模型时大量的过度拟合。这可以归因于缺乏任何数据扩充,目前,似乎没有数据扩充的方法可以用于这个用例。因此,在整个数据集上使用高斯滤波来平滑这些图。虽然它确实降低了一点点准确性,但在过度拟合方面有显著的下降,尤其是在训练的初始阶段。

最终的热图

最终的热图尺寸为 11x11,用 seaborn 绘制。因为 x 轴和 y 轴以及颜色条在训练时都没有传达任何信息,所以我们删除了它们。使用的热图类型是“等离子体”,因为它显示了理想的颜色变化。尝试不同的颜色组合可能是未来探索的一个领域。下面是最终情节的一个例子。



热图最终形态

训练我们的模型

该模型使用 fast.ai 在 resnet34 上进行训练。识别出假新闻 489 篇,真新闻 511 篇。在不增加数据的情况下,在训练集和测试集之间采用标准的 80:20 分割。所有使用的代码都可以在这里找到。

结果

总结

经过 9 轮迭代后,模型的准确率达到了 70%以上。尽管对这个数据集来说还远远不够先进,但这种新方法似乎很有前景。以下是在训练过程中所做的一些观察结果


  • 这个模型超差了很多。增加数据对过拟合没有任何影响,这与我们的预期相反。进一步的训练或改变学习率没有任何效果。

  • 增加绘图大小有助于准确性提升直到大小为 11x11,之后增加绘图大小会导致准确性下降。

  • 在图上使用一定数量的高斯滤波有助于提高精度。

下一步计划

目前,我们正在致力于词性标记和手套词嵌入的可视化。我们也在考虑修改停止词,修改绘图的大小和颜色模式。我们将保持持续改进!


原文链接:


https://towardsdatascience.com/text2image-a-new-way-to-nlp-cbf63376aa0d


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-11-19 08:002113
用户头像
张之栋 前InfoQ编辑

发布了 91 篇内容, 共 46.4 次阅读, 收获喜欢 159 次。

关注

评论

发布
暂无评论
发现更多内容

萨尔瓦多「比特币总统」连任,Web3 的又一「胜地」?

TechubNews

听GPT 讲Rust Tokio源代码(4)

fliter

听GPT 讲Rust Tokio源代码(8)

fliter

Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程

小万哥

Java 程序人生 编程语言 软件工程 后端开发

TiDB 7.5.0 LTS 高性能数据批处理方案

TiDB 社区干货传送门

新版本/特性解读

文心一言 VS 讯飞星火 VS chatgpt (197)-- 算法导论14.3 5题

福大大架构师每日一题

福大大架构师每日一题

考研失败如何快速找到编程工作?

王磊

Java 考研

年青DBA应该学习的数据库之TiDB

TiDB 社区干货传送门

数据库架构设计 数据库前沿趋势

初识TiDB的增量数据同步工具TiCDC

TiDB 社区干货传送门

迁移 实践案例 7.x 实践

海外云手机——平台引流的重要媒介

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

听GPT 讲Rust Tokio源代码(6)

fliter

听GPT 讲Rust Tokio源代码(7)

fliter

Optimism为 CQT提供价值 20 万美元的生态系统资助,以表彰其支持

股市老人

TiFlash亿级多表关联优化实践,从无法跑出结果优化到2.59秒

TiDB 社区干货传送门

性能调优 实践案例 OLAP 场景实践

TIKV 分布式事务--乐观事务 2PC 概览

TiDB 社区干货传送门

TiDB 底层架构 TiKV 源码解读

听GPT 讲Deno源代码(1)

fliter

【奖项公布】首届全球 TiDB 文档挑战赛圆满收官!来看看前五名花落谁家!

TiDB 社区干货传送门

了解海外云手机的多种功能

Ogcloud

云手机 海外云手机

京东零售技术小哥带你揭秘:亿级流量高并发春晚互动前端技术

京东零售技术

前端 春晚

华为音乐用AI送上新年佳曲,花式祝福迎龙年新春

最新动态

华为智慧屏游戏中心合家欢会员免费领!春节团聚畅玩《小小炸弹人》等合家欢游戏

最新动态

听GPT 讲Deno源代码(3)

fliter

跨越财务困境,聚道云软件连接器如何助力企业轻松实现数字化转型?

聚道云软件连接器

案例分享

新年新岁,好运 long long

阿里云视频云

云计算 视频云

使用 TiKV 读改写 TiDB 数据

TiDB 社区干货传送门

TiDB 源码解读 TiKV 底层架构

汽车零部件MES系统实施方案

万界星空科技

汽车 mes 万界星空科技 汽车零部件

【Netty技术专题】「原理分析系列」Netty强大特性之Native transports扩展开发实战

洛神灬殇

Java Netty nio epoll 2024年第三十五篇文章

听GPT 讲Deno源代码(2)

fliter

TiDB 与MySQL优化器在特定语句下执行效果对比(一)

TiDB 社区干货传送门

性能调优 实践案例 版本测评

TiDB 与MySQL优化器在特定语句下执行效果对比(二)

TiDB 社区干货传送门

性能调优 实践案例 版本测评 新版本/特性发布 6.x 实践

根深叶茂,众行致远 | OpenHarmony项目群技术指导委员会迎新春,展未来

科技热闻

Text2Image:一种新的NLP思路_AI&大模型_Abhijith Chandran_InfoQ精选文章