【NLP】第13章 用Transformers分析假新闻

   大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流

个人主页-Sonhhxg_柒的博客_CSDN博客 

欢迎各位→点赞 + 收藏⭐️ + 留言​

系列专栏 - 机器学习【ML】 自然语言处理【NLP】  深度学习【DL】

 foreword

✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。

如果你对这个系列感兴趣的话,可以关注订阅哟

我们生来就认为地球是平的。作为婴儿,我们在平坦的表面上爬行。作为幼儿园的孩子,我们在平坦的操场上玩耍。在小学,我们坐在平坦的教室里。然后,我们的父母和老师告诉我们,地球是圆的,地球另一边的人是颠倒的。我们花了很长时间才明白为什么它们没有从地球上掉下来。即使在今天,当我们看到美丽的日落时,我们仍然看到的是“日落”,而不是地球自转远离太阳!

弄清楚什么是假新闻,什么不是假新闻需要时间和精力。像孩子一样,我们必须努力解决我们认为是假新闻的事情。

本章将讨论一些引起紧张的话题。我们将检查有关气候变化、枪支管制和唐纳德特朗普推文等主题的事实。我们将分析推文、Facebook 帖子和其他信息来源。

我们的目标当然不是​​评判任何人或任何事。假新闻涉及观点和事实。新闻往往取决于当地文化对事实的看法。我们将提供想法和工具来帮助其他人收集有关某个主题的更多信息,并在我们每天收到的信息丛林中找到自己的方式。

我们将关注道德方法,而不是变形金刚的表现。出于这个原因,我们不会使用 GPT-3 引擎。我们并没有取代人类的判断。相反,我们正在为人类提供手动做出自己判断的工具。GPT-3 引擎在许多任务中都达到了人类水平的性能。但是,我们应该将道德和伦理决策留给人类。

因此,首先,我们将首先定义导致我们对假新闻做出情感和理性反应的路径。

然后,我们将定义一些方法来使用转换器和启发式方法来识别假新闻。

我们将使用我们在前几章中建立的资源来理解和解释假新闻。我们不会评判。我们将提供解释新闻的变压器模型。有些人可能更喜欢创建一个通用的绝对转换器模型来检测和断言一条消息是假新闻。

我选择用变形金刚来教育用户,而不是给他们讲课。这种方法是我的意见,不是事实!

本章涵盖以下主题:

  • 认知失调
  • 对假新闻的情绪反应
  • 假新闻的行为表征
  • 对假新闻的理性处理
  • 假新闻解决路线图
  • 将情绪分析转换器任务应用于社交媒体
  • 使用 NER 和 SRL 分析枪支控制观念
  • 使用变压器提取的信息寻找可靠的网站
  • 使用变压器产生用于教育目的的结果
  • 如何以客观但批判的眼光阅读前总统特朗普的推文

我们的第一步将是探索对假新闻的情感和理性反应。

对假新闻的情绪反应

人类行为对我们的社会、文化和经济决策产生巨大影响。我们的情绪对我们的经济的影响不亚于理性思维。行为的经济驱动着我们的决策过程。我们购买我们身体需要的消费品并满足我们的情感需求。我们甚至可能会在当下的热潮中购买智能手机,尽管它超出了我们的预算。

我们对假新闻的情感和理性反应取决于我们是缓慢思考还是对传入信息快速反应。Daniel Kahneman在他的研究和著作《思考,快与慢》(2013 年)中描述了这一过程。

他和弗农·L·史密斯因行为经济学研究获得诺贝尔经济学。行为驱动我们以前认为是理性的决定。不幸的是,我们的许多决定都是基于情绪,而不是理性。

让我们将这些概念转化为应用于假新闻的行为流程图。

认知失调引发情绪反应

认知失调将假新闻推上推特、脸书和其他社交媒体的顶级行列媒体平台。如果每个人都同意一条推文的内容,什么都不会发生。如果有人在推特上说“气候变化很重要”,没有人会做出反应。

当我们脑海中相互矛盾的想法之间的紧张关系加剧时,我们就会进入认知失调状态。结果,我们变得紧张、烦躁,它就像烤面包机的短路一样使我们疲惫不堪。

我们有很多例子要考虑。当我们在户外时,是否需要佩戴带有 COVID-19 的口罩?封锁是好事还是坏事?冠状病毒疫苗有效吗?还是冠状病毒疫苗危险?认知失调就像一个音乐家在演奏一首简单的歌曲时不断犯错。它让我们发疯!

假新闻综合症成倍增加认知失调!一位专家会断言疫苗是安全的,而另一位专家会断言我们需要小心。一位专家说在外面戴口罩没用,另一位在新闻频道上断言我们必须戴口罩!双方都指责对方造谣!

一方面,假新闻的很大一部分似乎是另一方的真相。

现在是 2022 年,在 2020 年总统选举或即将举行的选举组织之后,美国共和党和民主党仍然无法就全国选举规则达成一致。

我们可以通过打开一份报纸然后阅读另一份对立报纸的另一种观点来继续寻找许多其他主题!然而,本章的一些常识性前提可以从这些例子中得出:

  • 寻找能够自动检测假新闻的 Transformer 模型毫无意义。在社交媒体和多元文化表达的世界里,每个群体都有一种了解真相的感觉,而另一个群体则在表达假新闻。
  • 试图将我们的观点表达为从一种文化到另一种文化的真理是没有意义的。在全球化的世界中,每个国家、每个大陆以及社交媒体中的每个地方的文化都各不相同。
  • 假新闻绝对是一个神话。
  • 我们需要找到对假新闻的更好定义。

我的观点(当然不是事实!)是假新闻是一种认知失调的状态,它只能是通过认知推理来解决。因此,解决假新闻的问题就像试图解决两方之间或我们自己头脑中的冲突一样。

在本章和生活中,我的建议是通过使用变压器模型解构冲突和想法来分析每个冲突张力。我们不是在“打击假新闻”、“寻找内心的平静”,或者假装使用变形金刚来寻找“反对假新闻的绝对真理”。

我们使用转换器来更深入地理解一系列单词(一条消息),从而对某个主题形成更深刻、更广泛的观点

一旦完成,让变压器模型的幸运用户获得更好的愿景和意见。

为此,我将这一章设计为我们可以为自己和他人使用的课堂练习。变形金刚是加深我们对语言序列的理解、形成更广泛的观点和发展我们的认知能力的好方法。

让我们先看看当有人发布一条有冲突的推文时会发生什么。

分析有冲突的推文

以下推文是在 Twitter 上发布的一条消息(我转述了它)。此处显示的推文章节是原始数据集格式,而不是 Twitter 界面显示。如果一位主要政治人物或著名演员发推文,你可以肯定很多人会不同意该内容:

Climate change is bogus. It's a plot by the liberals to take the economy down.

它会引发情绪反应。推文会在四面八方堆积起来。它会像病毒一样流行起来!

让我们在转换器工具上运行推文,以了解这条推文如何在某人的脑海中引发认知失调风暴。

打开Fake_News.ipynb,我们将在本节中使用的笔记本。

我们将从艾伦人工智能研究所的资源开始。我们将运行我们在第 12 章检测客户情绪以进行预测”中用于情感分析的 RoBERTa 转换器模型。

我们将首先安装allennlp-models

!pip install allennlp==1.0.0 allennlp-models==1.0.0

AllenNLP 不断更新随着他们的进步版本。版本 2.4.0 在写作,但对本章提供的示例没有任何附加价值。更新的随机算法或模型可以从一个到另一个产生不同的输出

然后我们使用 Bash 运行下一个单元格以详细分析 Tweet 的输出(关于模型和输出的信息):

!echo '{"sentence":"Climate change is bogus. It's a plot by the liberals to take the economy down."}' | \
allennlp predict https://storage.googleapis.com/allennlp-public-models/sst-roberta-large-2020.06.08.tar.gz -

输出显示推文是否定的。正值为0,负值接近1

"probs": [0.0008486526785418391, 0.999151349067688]

由于变压器是随机算法,因此输出可能会因运行而异。

我们将现在转到AllenNLP — Allen Institute for AI以获取分析的可视化表示。

输出可能会从一次运行更改为另一次。变压器模型不断训练和更新。本章的目标是专注于 Transformer 模型的推理。

我们选择情绪分析(AllenNLP - Demo)并选择运行分析的RoBERTa 大型模型。

我们得到相同的阴性结果。但是,我们可以进一步调查,看看哪些词影响了 RoBERTa 的决定。

转到模型解释

解释模型将提供有关如何获得结果的见解。我们可以选择一个或查看三个选项:

  • 简单梯度可视化:这种方法提供两种可视化。第一个计算梯度与输入相关的类的分数。第二个是从类和输入推断的显着性(主要特征)图。
  • 集成梯度可视化:此模型不需要更改神经网络。
  • 这动机是设计对用于生成梯度的梯度的调用将神经网络的预测归因于其输入。
  • 平滑梯度可视化:这种方法使用输出计算梯度预测和输入。目的是识别特征输入。但是,添加了噪声以改进解释。

在本节中,转到模型解释,然后单击简单梯度可视化解释预测以获得以下表示:

【NLP】第13章 用Transformers分析假新闻_第1张图片图 13.1:可视化前 3 个最重要的词

isbogus+plot主要影响负面预测。

在这一点上,您可能想知道为什么我们要通过这样一个简单的例子来解释认知失调。解释来自以下推文。

一位坚定的共和党人写了第一条推文。让我们打电话给会员Jaybird65。令他惊讶的是,一位共和党同胞在推特上发布了以下推文:

I am a Republican and think that climate change consciousness is a great thing!

这条推文来自我们将调用的成员Hunt78。让我们运行这句话Fake_News.ipynb

!echo '{"sentence":"I am a Republican and think that climate change consciousness is a great thing!"}' | \
allennlp predict https://storage.googleapis.com/allennlp-public-models/sst-roberta-large-2020.06.08.tar.gz -

输出是肯定的,当然:

"probs": [0.9994876384735107, 0.0005123814917169511]

一场认知失调风暴正在Jaybird65他的脑海中形成。他喜欢Hunt78但不同意。他的脑子风暴愈演愈烈!Jaybird65如果您阅读随后出现在和之间的推文Hunt78,您会发现一些令人惊讶的事实,这些事实伤害了Jaybird65的感情:

Jaybird65并且Hunt78显然彼此认识。

  • 如果你去他们各自的推特账号,你会发现他们都是猎人。
  • 你可以看到他们都是坚定的共和党人。

Jaybird65最初的推文来自他对《纽约时报》一篇文章的反应,该文章称气候变化正在摧毁地球。

Jaybird65颇为不解。他看得出来,Hunt78就是像他这样的共和党人。他也是一个猎人。那么怎么能Hunt78相信气候变化呢?

这个 Twitter 线程继续发布大量愤怒的推文。

然而,我们可以看到,假新闻讨论的根源在于对新闻的情绪反应。应对气候变化的合理方法是:

  • 不管是什么原因,气候都在变化。
  • 我们不需要降低经济来改变人类。
  • 我们需要继续建造电动汽车,在大城市增加步行空间,以及更好的农业习惯。我们只需要以最有可能产生收入的新方式开展业务。

但是人类的情感很强烈!

让我们代表从新闻到情感和理性反应的过程。

假新闻的行为表征

假新闻始于情绪反应、积累和经常导致人身攻击。

图 13.2表示当认知失调阻塞我们的思维过程时,对假新闻的三阶段情绪反应路径:

阶段 1:传入新闻

两个人或一群人对他们通过各自媒体获得的新闻做出反应:Facebook、Twitter、其他社交媒体、电视、广播、网站。每个信息来源都包含有偏见的意见。

第二阶段:共识

两个人或一组人可以同意或不同意。如果他们不同意,我们将进入第三阶段,在此期间冲突可能会爆发。

如果他们同意,共识就会阻止热度的增加,并且新闻被接受为real新闻。但是,即使各方都认为他们收到的消息不是假的,但这并不意味着它不是假的。以下是一些可以解释标记为not fake news假新闻的新闻:

  • 12世纪初,欧洲大多数人都认为地球是宇宙的中心,太阳系围绕地球旋转。
  • 1900 年,大多数人认为永远不会有飞机飞越海洋。
  • 2020 年 1 月,大多数欧洲人认为 COVID-19 是一种仅影响中国而非全球大流行的病毒。

底线是,两方甚至整个社会之间的共识并不意味着传入的消息是真的还是假的。如果两方意见不一致,这将导致冲突:

【NLP】第13章 用Transformers分析假新闻_第2张图片图 13.2:从新闻到假新闻冲突路径的表示

面对现实吧。在社交媒体上,成员通常会与其他有相同想法的人聚在一起,无论如何都很少改变主意。这种表示表明,一个人通常会坚持他们在推文中表达的观点,一旦有人质疑他们的信息,冲突就会升级!

第三阶段:冲突

一条假新闻冲突可以分为四个阶段:

  • 3.1:冲突始于分歧。各方将在 Facebook 或其他平台上发布推文或发布消息。几次交流后,冲突可能会逐渐消失,因为双方都对该话题不感兴趣。
  • 3.2:如果我们回到 和 之间的气候变化讨论Jaybird65Hunt78我们知道事情会变得很糟糕。谈话正在升温!
  • 3.3:在某一时刻,不可避免地,一方的论点将成为假新闻。Jaybird65会生气并在许多推文中表现出来,并说人类造成的气候变化是假新闻。Hunt78会生气并说否认人类对气候变化的贡献是假新闻。
  • 3.4:这些讨论往往以人身攻击告终。戈德温定律经常进入对话,即使我们不知道它是如何出现的。戈德温定律指出,一方会在谈话中的某一时刻找到最糟糕的参考来描述另一方。有时会出现“你们自由主义者就像希特勒一样试图通过气候变化迫使我们的经济下滑”。这种类型的消息可以在 Twitter、Facebook 和其他平台上看到。它甚至出现在关于气候变化的总统演讲中的实时聊天中。

有没有理性这些讨论的方法可以抚慰双方,让他们平静下来,至少达成一个中间立场共识,继续前进?

让我们尝试使用转换器和启发式方法构建一个合理的方法。

对假新闻的理性处理

变形金刚是最强大的 NLP 工具。本节将首先定义一个方法,可以将因假新闻而发生冲突的两方从情感层面提升到理性层面。

然后我们将使用转换器工具和启发式方法。在 COVID-19 大流行期间,我们将针对枪支管制和前总统特朗普的推文运行变压器样本。我们还将描述启发式可以用经典函数来实现。

您可以实现这些转换器 NLP 任务或您选择的其他任务。无论如何,路线图和方法可以帮助老师、父母、朋友、同事和任何寻求真相的人。因此,您的工作将永远是值得的!

让我们从包括变形金刚在内的假新闻的合理方法的路线图开始。

定义假新闻解决路线图

图 13.3定义了一个路线图进行合理的假新闻分析过程。该流程包含 Transformer NLP 任务和传统功能:

【NLP】第13章 用Transformers分析假新闻_第3张图片

图 13.3:从情绪反应到假新闻再到理性陈述

我们看到,一旦情绪反应开始,理性过程几乎总是会开始。理性的过程必须尽快启动,以避免产生可能打断讨论的情绪反应。

第 3 阶段现在包含四个工具:

  • 3.1:情感分析分析排名靠前的“情绪”正面或负面词。我们将使用AllenNLP资源来运行 RoBERTa 大型变压器我们的Fake_News.ipynb笔记本。我们将使用 AllenNLP 的可视化工具来可视化关键字和解释。我们在第 12 章检测客户情绪以做出预测”中介绍了情绪分析。
  • 3.2命名实体识别NER ) 从社交媒体消息中提取实体,用于阶段 3.4。我们在第 11 章中描述了 NER ,让您的数据说话:故事、问题和答案。我们将使用 Hugging Face 的 BERT 变换器模型任务。此外,我们将使用 AllenNLP.org 的可视化工具来可视化实体和解释。
  • 3.3语义角色标签SRL ) 为阶段 3.4标记来自社交媒体消息的动词。我们在第 10 章使用基于 BERT 的 Transformers 的语义角色标签”中描述了 SRL 。我们将使用 AllenNLP 的 BERT 模型Fake_News.ipynb。我们将使用 AllenNLP.org 的可视化工具来可视化标记任务的输出。
  • 3.4:将描述对可靠网站的引用,以展示经典编码如何提供帮助。

让我们从枪支管制开始。

枪支管制辩论

第二修正案美国宪法规定了以下权利:

A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.

几十年来,美国在这个问题上一直存在分歧:

  • 一方面,许多人认为持有枪支是他们的权利,他们不想忍受枪支管制。他们争辩说,声称拥有武器会造成暴力是假新闻。
  • 另一方面,许多人认为携带枪支是危险的,如果没有枪支管制,美国将仍然是一个暴力国家。他们争辩说,声称携带武器并不危险是假新闻。

我们需要帮助每一方。让我们从情绪分析开始。

情绪分析

如果您在演讲期间阅读推文、Facebook 消息、YouTube 聊天或任何其他社交媒体,您将看到各方正在打一场激烈的战斗。你不需要电视节目。你可以只吃爆米花,因为 Tweet 之战将各方撕裂!

让我们从一方获取一条推文,从另一方获取一条 Facebook 消息。我改了成员的名字并解释文本(考虑到消息中的侮辱,这不是一个坏主意)。让我们从亲枪推文开始:

专业枪支分析

这条推文是一个人的诚实意见:

Afirst78: I have had rifles and guns for years and never had a problem. I raised my kids right so they have guns too and never hurt anything except rabbits.

让我们跑这在Fake_News.ipynb

!echo '{"sentence": "I have had rifles and guns for years and never had a problem. I raised my kids right so they have guns too and never hurt anything except rabbits."}' | \
allennlp predict https://storage.googleapis.com/allennlp-public-models/sst-roberta-large-2020.06.08.tar.gz -

预测是正面的:

prediction:  {"logits": [1.9383275508880615, -1.6191326379776], "probs": [0.9722791910171509, 0.02772079035639763]

我们现在将在 AllenNLP 上可视化结果。简单梯度可视化提供了一个解释:

【NLP】第13章 用Transformers分析假新闻_第4张图片

图 13.4:句子的简单梯度可视化

 解释表明,通过Afirst78亮点rifles++对推文进行and情感分析rabbits

每次运行或随着时间的推移,结果可能会有所不同。这是因为变压器模型是不断训练和更新的。但是,本章的重点是过程,而不是具体的结果。

我们会挑选在每个步骤中提出想法和功能。Fake_News_FUNCTION_1是本节的第一个函数:

Fake_News_FUNCTION_1rifles++可以提​​取并注明以供进一步分析andrabbits在这个例子中,我们可以看到“步枪”并不“危险”。

我们现在将分析NYS99他的观点,即枪支必须受到控制。

枪支管制分析

NYS99: "I have heard gunshots all my life in my neighborhood, have lost many friends, and am afraid to go out at night."

我们先运行分析Fake_News.ipynb

!echo '{"sentence": "I have heard gunshots all my life in my neighborhood, have lost many friends, and am afraid to go out at night."}' | \
allennlp predict https://storage.googleapis.com/allennlp-public-models/sst-roberta-large-2020.06.08.tar.gz -

结果自然是否定的:

prediction:  {"logits": [-1.3564586639404297, 0.5901418924331665], "probs": [0.12492450326681137, 0.8750754594802856]

让我们在线使用 AllenNLP 查找关键字。我们运行示例,可以看到平滑渐变可视化突出显示以下内容:

【NLP】第13章 用Transformers分析假新闻_第5张图片

图 13.5:句子的平滑梯度可视化

该关键字afraid突出了本节的功能 2。我们现在知道“害怕”与“枪”有关。

我们可以看到该模型在解释这些认知失调时存在问题。我们人类的批判性思维仍然是必要的!

Fake_News_FUNCTION_2:afraidguns(主题)可以提取并注明以供进一步分析。

如果我们现在将我们的两个函数并排放置,我们可以清楚地理解为什么两方互相争斗:

  • Fake_News_FUNCTION_1rifles + and + rabbits

    Afirst78可能住在美国中西部的一个州。其中许多州人口少,非常安静,犯罪率低。Afirst78可能从来没有到过大城市,享受在乡下安静生活的乐趣。

  • Fake_News_FUNCTION_2afraid+主题guns

    NYS99可能住在大城市或美国主要城市的更大区域。犯罪率通常很高,暴力是一种日常现象。NYS99可能从来没有去过中西部的州,看到过Afirst78生活。

这两个诚实而有力的观点证明了为什么我们需要实施本章中描述的解决方案。

更好的信息是减少假新闻斗争的关键

我们将遵循我们的流程并将命名实体识别应用于我们的句子。

命名实体识别 (NER)

本章表明,通过使用多种变压器方法,用户将受益于更广泛的通过不同的角度感知信息。一个 HTML 页面可以总结本章的转换器方法,甚至可以包含生产模式下的其他转换器任务。

我们现在必须将我们的流程应用于 Tweet 和 Facebook 消息,尽管我们在消息中看不到任何实体。但是,程序并不知道这一点。我们将只运行第一条消息来说明该过程的这一步。

我们将首先安装 Hugging Face 变压器:

!pip install -q transformers
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification,AutoModel

现在,我们可以运行第一条消息:

nlp_token_class = pipeline('ner')
nlp_token_class('I have had rifles and guns for years and never had a problem. I raised my kids right so they have guns too and never hurt anything except rabbits.')

由于没有实体,因此输出不会产生任何结果。然而,这并不意味着它应该被取出的管道。另一个句子可能包含提供该地区文化线索的人的位置名称。

在继续之前,让我们检查一下我们正在使用的模型:

nlp_token_class.model.config

输出显示该模型使用 9 个标签和 1,024 个特征用于注意力层:

BertConfig {
  "_num_labels": 9,
  "architectures": [
    "BertForTokenClassification"
  ],
  "attention_probs_dropout_prob": 0.1,
  "directionality": "bidi",
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 1024,
  "id2label": {
    "0": "O",
    "1": "B-MISC",
    "2": "I-MISC",
    "3": "B-PER",
    "4": "I-PER",
    "5": "B-ORG",
    "6": "I-ORG",
    "7": "B-LOC",
    "8": "I-LOC"
  },

我们正在使用BERT 24 层变压器模型。如果您想探索架构,请运行nlp_token_class.model.

我们现在将对消息运行 SRL。

语义角色标签 (SRL)

我们将继续Fake_News.ipynb按照笔记本中的顺序逐个单元运行。我们将检查两个观点。

让我们从支持枪支的角度开始。

Pro-guns SRL

我们将首先在中运行以下单元格Fake_News.ipynb

!echo '{"sentence": "I have had rifles and guns for years and never had a problem. I raised my kids right so they have guns too and never hurt anything except rabbits."}' | \
allennlp predict https://storage.googleapis.com/allennlp-public-models/bert-base-srl-2020.03.24.tar.gz -

输出非常详细,如果您希望详细调查或解析标签,可能会很有用,如以下摘录所示:

prediction:  {"verbs": [{"verb": "had", "description": "[ARG0: I] have [V: had] [ARG1: rifles and guns] [ARGM-TMP: for years] and never had a problem ...

现在让我们在语义角色标签部分深入了解 AllenNLP 的视觉细节。我们首先为此消息运行 SRL 任务。第一个动词 ,had表明这Afirst78是一个有经验的枪支拥有者

【NLP】第13章 用Transformers分析假新闻_第6张图片

图 13.6:动词“had”的 SRL

had总结Afirst78经验的论据:I++ 。rifles and gunsfor years

第二had用于添加信息的框架Ineverhad+a problem

raiseddisplayAfirst78亲子经历的论据:

图 13.7:SRL 动词和动词“raised”的参数

这些论点解释了许多支持枪支的立场:my kids…have guns too and never hurt anything

结果可能每次运行或模型更新时都会有所不同,但过程保持不变。

我们可以通过一些解析将我们在这里找到的内容添加到我们的函数集合中:

  • Fake_News_FUNCTION_3I + rifles and guns + for years
  • Fake_News_FUNCTION_4my kids+have gunsnever hurt anything

现在让我们探索枪支管制信息。

枪支管制 SRL

我们将首先在 中运行 Facebook 消息Fake_News.ipynb。我们将继续按照在笔记本中创建的顺序逐个运行笔记本单元:

!echo '{"sentence": "I have heard gunshots all my life in my neighborhood, have lost many friends, and am afraid to go out at night."}' | \
allennlp predict https://storage.googleapis.com/allennlp-public-models/bert-base-srl-2020.03.24.tar.gz -

结果详细标记了序列中的关键动词,如以下摘录所示:

prediction:  {"verbs": [{"verb": "heard", "description": "[ARG0: I] have [V: heard] [ARG1: gunshots all my life in my neighborhood]"

我们继续应用我们的流程,转到 AllenNLP,然后转到语义角色标签部分。我们输入句子并运行转换器模型。动词heard显示了这条信息的严峻现实:

【NLP】第13章 用Transformers分析假新闻_第7张图片

图 13.8:动词“听到”的 SRL 表示

我们可以快速解析第五个函数的单词:

  • Fake_News_FUNCTION_5heard + gunshots + all my life

动词lost显示了与之相关的重要论点:

【NLP】第13章 用Transformers分析假新闻_第8张图片

图 13.9:动词“lost”的 SRL 表示

我们有第六个功能所需的东西:

  • Fake_News_FUNCTION_6lost + many + friends

很好一旦不同的转换器模型阐明了消息的各个方面,就向用户建议参考站点。

参考网站

我们跑了NLP 任务上的转换器并描述了传统的启发式需要开发硬编码来解析数据并生成六个函数。

请记住,每次运行的结果可能会有所不同。这六个函数是在不同时间生成的,提供的结果与上一节略有不同。但是,主要思想保持不变。现在让我们关注这六个功能。

  • 专业枪:Fake_News_FUNCTION_1neverproblem+guns
  • 枪支管制:Fake_News_FUNCTION_2heardafraid+guns
  • 专业枪:Fake_News_FUNCTION_3Irifles and guns+for years
  • 专业枪:Fake_News_FUNCTION_4my kidshave guns+never hurt anything
  • 枪支管制:Fake_News_FUNCTION_5heardgunshots+all my life
  • 枪支管制:Fake_News_FUNCTION_6lostmany+friends

让我们重新组织一下列出并区分两种观点并得出一些结论来决定我们的行动。

专业枪支和枪支管制

支持枪支的论点是诚实的,但是他们表明缺乏关于美国主要城市正在发生的事情的信息:

  • 专业枪:Fake_News_FUNCTION_1neverproblem+guns
  • 专业枪:Fake_News_FUNCTION_3Irifles and guns+for years
  • 专业枪:Fake_News_FUNCTION_4my kidshave guns+never hurt anything

枪支管制的论点是老实说,但他们表明缺乏关于中西部安静区域有多大的信息:

  • 枪支管制:Fake_News_FUNCTION_2heardafraid+guns
  • 枪支管制:Fake_News_FUNCTION_5heardgunshots+all my life
  • 枪支管制:Fake_News_FUNCTION_6lostmany+friends

可以开发每个功能来通知对方。

例如,让我们FUNCTION1用伪代码来表达它:

Def FUNCTION1:
call FUNCTIONs 2+5+6 Keywords and simplify
Google search=afraid guns lost many friends gunshots

该过程的目标是:

  • 首先,运行 Transformer 模型来解构和解释消息。使用 NLP 转换器就像一个数学计算器。它可以产生良好的结果,但需要一个自由思考的人类思维来解释它们!
  • 然后,要求训练有素的 NLP 人类用户积极主动搜索阅读信息。

Transformer 模型帮助用户更深入地理解消息;他们不为他们考虑!我们正在努力帮助用户,而不是说教或洗脑!

解析将需要处理函数的结果。但是,如果我们有数百条社交媒体消息,我们可以自动让我们的程序完成整个工作。

链接将随着谷歌修改其搜索而改变。然而,第一个出现的链接很有趣,可以向支持枪支的拥护者展示:

【NLP】第13章 用Transformers分析假新闻_第9张图片图 13.10:枪支和暴力

假设我们正在使用以下伪代码搜索枪支管制倡导者:

Def FUNCTION2:
call FUNCTIONs 1+3+4 Keywords and simplify
Google search=never problem guns for years kids never hurt anything

谷歌搜索没有明显的积极结果有利于支持枪支的拥护者。最多有趣的是中性和教育:

【NLP】第13章 用Transformers分析假新闻_第10张图片图 13.11:喷枪安全

您可以在亚马逊的书店、杂志和其他教育材料上运行自动搜索。

最重要的是,对于持相反意见的人来说,在不打架的情况下相互交谈是必不可少的。相互理解是培养双方同理心的最佳方式。

人们可能会倾向于信任社交媒体公司。我建议永远不要让第三方充当您思维过程的代理。使用转换器模型来解构消息,但要保持主动!

对此达成共识主题可能是就以下安全准则达成一致拥有枪支。例如,您可以选择在家中不携带枪支或将枪支安全地锁起来,这样孩子们就无法接触到它们。

让我们继续讨论 COVID-19 和前总统特朗普的推文。

COVID-19 和前总统特朗普的推文

无论您的政治观点如何,唐纳德特朗普和关于唐纳德特朗普的言论太多,以至于需要一本书本身来分析所有信息!这是技术,不是政治书,所以我们将科学地分析推文。

我们在本章的枪支管制部分描述了一种针对假新闻的教育方法。我们不需要再经历整个过程。

我们在枪支控制部分的Fake_News.ipynb笔记本中使用 BERT 模型实现并运行了 AllenNLP 的 SRL 任务。

在本节中,我们将重点介绍假新闻的逻辑。我们将在 SRL 上运行 BERT 模型,并在 AllenNLP 的网站上可视化结果。

现在,让我们浏览一些关于 COVID-19 的总统推文。

语义角色标签 (SRL)

SRL 对我们所有人来说都是一个极好的教育工具。我们往往只是被动地阅读推文,听别人说什么说说他们。使用 SRL 分解消息是培养社交媒体分析技能以区分虚假信息和准确信息的好方法。

我建议在课堂上将 SRL 变压器用于教育目的。年轻学生可以输入推文并分析每个动词及其论点。它可以帮助年轻一代成为社交媒体上的活跃读者。

我们将首先分析一条相对未分割的推文,然后分析一条有冲突的推文:

让我们分析一下 7 月 4 日在撰写本书时发现的最新推文。我取出了被称为“美国黑人”的人的名字,并转述了前总统的一些文字:

X is a great American, is hospitalized with coronavirus, and has requested prayer. Would you join me in praying for him today, as well as all those who are suffering from COVID-19?

让我们去 AllenNLP 的Semantic Role Labeling部分,运行句子,看看结果。动词hospitalized表明该成员正在接近事实:

【NLP】第13章 用Transformers分析假新闻_第11张图片

图 13.12:动词“hospitalized”的 SRL 参数

讯息很简单:X++ 。hospitalizedwith coronavirus

动词requested表明该信息正在变得政治化:

【NLP】第13章 用Transformers分析假新闻_第12张图片

图 13.13:动词“requested”的 SRL 参数

我们不知道该人是否要求前总统祈祷或决定他将成为请求的中心。

一个很好的练习是显示一个 HTML 页面并询问用户他们的想法。例如,用户可以要求查看 SRL 任务的结果并回答以下两个问题:

Was former President Trump asked to pray, or did he deviate a request made to others for political reasons?

Is the fact that former President Trump states that he was indirectly asked to pray for X fake news or not?

您可以考虑并自己决定!

让我们看一下被 Twitter 禁止的内容。我把名字拿出来解释一下,然后调低调。尽管如此,当我们在 AllenNLP 上运行它并可视化结果时,我们会得到一些令人惊讶的 SRL 输出。

这是经过淡化和释义的推文:

These thugs are dishonoring the memory of X.

When the looting starts, actions must be taken.

虽然我压制了原始推文的主要部分,但我们可以看到 SRL 任务显示了推文中的不良关联:

【NLP】第13章 用Transformers分析假新闻_第13张图片

图 13.14:动词“dishonoring”的 SRL 参数

对此的一种教育方法是解释我们不应该将论点thugsmemory和联系起来looting。他们根本不适合在一起。

一个重要的练习是询问用户为什么 SRL 参数不适合在一起。

我推荐许多这样的练习,以便变压器模型用户培养 SRL 技能,对呈现给他们的任何主题都有批判性的看法。

批判性思维是阻止假新闻大流行传播的最佳方式!

我们已经通过变形器、启发式方法和指导性网站对假新闻采取了合理的方法。然而,最终,假新闻辩论中的很多热度归结为情绪化和非理性反应。

在舆论的世界里,你永远不会找到一个完全客观的变压器模型来检测假新闻因为对立的双方从一开始就不会就真相达成一致!一侧将同意变压器模型的输出。另一个人会说这个模型是有偏见的,是由他们意见的敌人建立的!

最好的方法是倾听他人的意见并保持冷静!

在我们走之前

本章更多地关注将变压器应用于问题,而不是寻找不存在的灵丹妙药变压器模型。

解决 NLP 问题有两个主要选择:寻找新的变压器模型或创建可靠、耐用的方法来实现变压器模型。

我们现在将结束本章并继续解释变压器模型。

概括

假新闻始于我们作为人类的情感历史深处。当事件发生时,情绪会接管以帮助我们对情况做出快速反应。当我们受到威胁时,我们天生就会做出强烈反应。

假新闻会引起强烈反应。我们担心这个消息可能会暂时或永久地损害我们的生活。我们中的许多人相信气候变化可能会从地球上消灭人类的生命。其他人认为,如果我们对气候变化反应过于强烈,我们可能会破坏我们的经济并破坏社会。我们中的一些人认为枪支很危险。其他人提醒我们,美国宪法第二修正案赋予我们在美国拥有枪支的权利。

我们经历了关于 COVID-19、前总统特朗普和气候变化的其他激烈冲突。在每一种情况下,我们都看到情绪反应是最快形成冲突的反应。

然后,我们设计了一个路线图,将假新闻的情感感知提升到理性水平。我们使用了一些 Transformer NLP 任务来证明可以在推文、Facebook 消息和其他媒体中找到关键信息。

我们利用一些人认为是真实新闻而另一些人认为是假新闻的新闻来为老师、父母、朋友、同事或只是人们说话的理由。我们添加了经典的软件功能来帮助我们。

至此,您拥有了一个包含 Transformer 模型、NLP 任务和示例数据集的工具包。

您可以使用人工智能造福人类。您可以自行决定采用这些变压器工具和想法来实施它们,以使世界变得更美好。

了解 Transformer 的一个好方法是可视化它们的内部过程。我们将在下一章“解释黑盒变压器模型”中分析变压器如何逐渐构建序列的NLP

你可能感兴趣的:(深度学习(DL),自然语言处理(NLP),自然语言处理,人工智能)