【AICon】AI 大模型超全落地场景&最佳实践 了解详情
写点什么

Text2Image:一种新的 NLP 思路

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

    阅读完需:约 7 分钟

Text2Image:一种新的NLP思路

8 月 16 - 19 日,与零一万物李开复、蔚来李斌、面壁智能李大海,及工商银行、交通银行、华夏银行等 100+ 行业专家相聚 FCon x AICon

与计算机视觉相比,自然语言处理(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


公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

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

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

关注

评论

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

信息安全等级测评师证书有效期是多久?谁能告诉一下?

行云管家

等保

智能低代码平台,驱动企业数字化转型

元年技术洞察

低代码 数字化转型

Python图像处理丨详解图像去雾处理方法

华为云开发者联盟

Python 人工智能 华为云 12 月 PK 榜

上云节省 35%计算资源,420 个运维人天:运满满实时计算实践和思考

Apache Flink

大数据 flink 实时计算

华为云助推武水集团项目成功入选住建部“智慧水务”典型案例!

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

诚迈科技董事长王继平赴国创中心交流车用操作系统合作事宜

科技热闻

大数据程序员培训机构怎么选

小谷哥

时序引擎架构和实例演练

KaiwuDB

软件测试简历书写 | 简历中应该如何描述才能体现出软技能的实力 ?

测试人

软件测试 自动化测试 简历 软技能 测试开发

非正式全面解析 NebulaGraph 中 Session 管理

NebulaGraph

图数据库 会话管理 session管理

百家号奇妙未来季创作大赛落幕!AIGC开启内容创作新征程

科技热闻

多模态交互在数智化营销服中的技术实践

中关村科金

人工智能 算法 全栈 数字化转型 多模态

如何通过Java应用程序将Word转为Excel

在下毛毛雨

Java Excel word 文档 转换

BitSail“拍了拍”你,并给你一份快速入门指南

字节跳动数据平台

开源 数据引擎 12 月 PK 榜

参与Getaverse早期建设,成为节点验证者!!

Geek_Web3

#区块链# did #Web3

PHP 中类自动加载相关文件分析

ModStart

火山引擎DataTester:如何做A/B实验的假设检验

字节跳动数据平台

大数据 AB testing实战 12 月 PK 榜

MASA MAUI Plugin (七)应用通知角标(小红点)Android+iOS

MASA技术团队

blazor MASA MAUI MASA Blazor

MVP、原型、概念验证,傻傻分不清楚?

敏捷开发

开发 MVP 原型

【Java技术专题】「原理专题」深入分析Java中finalize方法的作用和底层原理

洛神灬殇

Java JVM Finalizer 12月月更

浅谈权限系统在多利熊业务应用

百度Geek说

百度 权限系统 12 月 PK 榜 多利熊

2023年内蒙古等保测评公司有哪些?五家还是6家?

行云管家

等保 等保测评 内蒙古

uniapp 在微信小程序中图片宽度显示问题

ModStart

数字化时代,校园生活还可以这样过

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

掌握这5大功能,解锁鲲鹏开发新发现

华为云开发者联盟

开发 华为云 12 月 PK 榜

活动预约报名系统怎么做?快来借鉴「苍山徒步之家」的经验做法

天天预约

微信小程序 SaaS 数据统计 预约工具 活动报名

使用 ClusterResourceSet 为 Cluster API 集群自动安装 CNI 插件

Se7en

前端程序员培训学习有哪些攻略

小谷哥

Triple 协议支持 Java 异常回传的设计与实现

Apache Dubbo

Java 开源 微服务 gRPC dubbo

容器安全的三大挑战

SEAL安全

容器安全 12 月 PK 榜

龙蜥开发者说:众人拾柴火焰高!聊一聊我在社区的所思所想 | 第 14期

OpenAnolis小助手

开发者 开源社区 龙蜥开发者说 LoongArch 架构 红旗软件

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