当前位置: 首页 > 科技观察

Text2Image-ANewWayofThinkinginNLP

时间:2023-03-14 20:31:39 科技观察

与计算机视觉相比,自然语言处理(NLP)一直被认为是一个难以破解的问题。本文寻找一种新的NLP处理方法,探索NLP与计算机视觉处理的结合,将文字绘制成图片。虽然目前的准确率还需要优化和提高,但看起来很有希望。问题自然语言处理(NLP)长期以来一直被认为是一个难题,至少与计算机视觉相比是这样。NLP模型需要更长的运行时间,通常更难实施,并且需要更多的计算资源。另一方面,图像识别模型的实现变得更简单,对GPU的负担也更小。这让我开始思考,我们可以将文本语料库转换为图像吗?我们可以将文本解释为图像吗?事实证明,答案是肯定的,结果令人惊讶!我们使用这种方法来区分假新闻和真新闻。在本文中,我们详细探讨了这种方法、结果、结论和后续改进。IntroductionWheretheideafrom将文本转换为图像的想法最初是受到GlebEsman的这篇关于欺诈检测的文章的启发。在这种方法中,他们将鼠标移动的速度、方向、加速度等各种数据点转换成彩色图像。然后在这些图像上运行图像识别模型,这反过来可以产生高度准确的结果。数据用于所有实验的数据是GeorgeMcIntire假新闻数据集的一个子集。它包含大约1000篇假新闻和真实新闻的文章:https://github.com/cabhijith/Fake-News/blob/master/fake_or_real_news.csv.zipText2Image基本原理让我们先从高层次讨论Text2Image。基本思想是将文本转换为我们可以绘制的热图。热图标识每个单词的TF-IDF值。词频-逆文档频率(TF-IDF)是一种统计方法,用于确定一个词相对于文档中其他词的重要性。在基本的预处理和计算TF-IDF值之后,我们使用一些平滑的高斯滤波将它们绘制成对数尺度的热图。绘制热图后,我们使用fast.ai实现了CNN,并尝试区分真热图和假热图。我们最终获得了大约71%的可靠准确率,这是这种新方法的良好开端。这是我们方法的一个小流程图:还是不太清楚?继续阅读。Text2Image以小写形式预处理数据,删除所有特殊字符,并连接文本和标题。文档中超过85%的文本也被删除。此外,明确避免使用单词列表(停用词)。使用了标准的停用词列表,主要是无信息的重复。尤其是对假新闻的句子进行修饰,是未来值得探索的领域,尤其是给假新闻带来独特的文风。计算TF-IDF为了对关键词进行评分和提取,Text2Image使用了tf-idf的scikit-learn实现。IDF是针对假新闻语料和真实新闻语料分别计算的。与整个语料库的单个IDF分数相比,计算单个IDF分数会大大提高准确性。然后迭代计算每个文档的tf-idf分数。在这里,标题和正文不是分开评分的,而是一起评分的。计算词频计算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分割。所有使用的代码都可以在这里找到:https://github.com/cabhijith/Text2Image/blob/master/Code.html结果总结经过9轮迭代,模型的准确率达到了70%以上。尽管对于这个数据集来说远非先进,但这种新方法似乎很有希望。以下是训练期间的一些观察结果:该模型的表现非常出色。增加数据对过度拟合没有影响,这与我们的预期相反。进一步训练或改变学习率没有效果。增加绘图大小有助于提高准确性,直到大小为11x11,之后增加绘图大小会导致准确性降低。在图上使用一定量的高斯滤波有助于提高准确率。后续步骤我们目前正在研究手套词嵌入的词性标注和可视化。我们也在考虑修改停用词,修改绘图的大小和颜色模式。我们会继续改进!