【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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:002122
用户头像
张之栋 前InfoQ编辑

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

关注

评论

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

基于afx透明视频的视觉增强前端方案

百度Geek说

开发效率 企业号 4 月 PK 榜 前端动效 透明视频 视觉增强

使用 Apifox 设置 OAuth 2.0 并快速获取访问令牌

Apifox

程序员 后端 oauth2.0 OAuth 2.0 API 安全

鸿蒙HarmonyOS实战-ArkUI组件(Stack)

蜀道山

鸿蒙 HarmonyOS stack 鸿蒙开发 鸿蒙系统

大报文之道:优化策略与实践

京东科技开发者

天翼云入选“2023年度数据要素价值创新标杆示范案例”!

天翼云开发者社区

云计算 大数据

2024年腾讯微信朋友圈广告代理商怎么申请 全媒体广告渠道对接合作

微点全媒体微信推广渠道

Python编程与算法面试-编程面试的重点

测试人

软件测试

NL2SQL进阶系列(4):ConvAI、DIN-SQL等16个业界开源应用实践详解[Text2SQL]

汀丶人工智能

大模型 text2sql NL2SQL

MaxCompute 近实时增全量处理一体化新架构和使用场景介绍

阿里云大数据AI技术

大数据 阿里云

掌握 HTTP:网络通信的核心技术详解

Liam

程序员 前端 Web 后端 HTTP

鸿蒙HarmonyOS实战-ArkUI组件(Flex)

蜀道山

鸿蒙 HarmonyOS Flex 鸿蒙开发 鸿蒙系统

干货分享 | MatrixOne 如何基于K8S+S3构建HTAP数据库

MatrixOrigin

数据库 分布式 云原生

IPQ4019 PK IPQ9574——Processor chip performance and application comparison

wifi6-yiyi

WiFi 7 WiFi 5

从零开始学习大模型

百度开发者中心

人工智能 大模型 LLM

OpenAI前商业化负责人Zack Kass中国行系列活动圆满落幕!

科技热闻

支持国密加密卡的堡垒机是什么牌子?电话多少?

行云管家

数据安全 堡垒机 国密 国密加密卡

一本书精通推荐算法,轻松搞定入门、面试、进阶

博文视点Broadview

一文读懂BTC生态新贵Giants Planet,将L2与现实世界整合

大瞿科技

PrismNET棱镜协议丨没有信仰,谈何成功?

PrismNET

区块链 dapp Web3.0 PrismNET棱镜协议 PrismNET

AI数字人永生、数字分身、人均一个数字人会成为未来标配吗?

青否数字人

数字人

Hugging Face推出全新代码大模型:支持80+编程语言,集成VSCode

百度开发者中心

人工智能 深度学习 大模型

NineData正式将SQL开发正式升级为数据库DevOps

NineData

DevOps 数据库设计 数据管理 SQL开发 NineData

秒开率破90%!交易后台渲染性能优化 | 得物技术

得物技术

性能优化 前端 企业号 4 月 PK 榜 后台管理

MacOS Mojave10.14.6系统安装包 MacOSv10.14正式版安装

影影绰绰一往直前

DDD落地指南-架构师眼中的餐厅

京东科技开发者

教你解决CCE集群中容器出网

华为云开发者联盟

容器 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

数字先锋| 加“数”蝶变,打造政务服务“心温度”!

天翼云开发者社区

人工智能 云计算 大数据 数字化

智能商品计划系统如何提升鞋服零售品牌的竞争力

第七在线

第47期 | GPTSecurity周报

云起无垠

使用 TypeScript 从零搭建自己的 Web 框架:领域特定语言(DSL) 与 Prisma 模型

RoyLin

typescript

Python编程与算法面试-编程面试的重点

测吧(北京)科技有限公司

测试

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