Twitch.tv上的机器人测验

如您所知,Twitch.tv上有一些机器人。我不是在谈论欺骗观众或聊天的“不良”机器人,而是在允许流媒体在流媒体或聊天时添加一些功能的机器人。其中最著名的是:Moobot,Nightbot和MirRobot。将讨论后者。Mirrobot由我们的同胞编写,理应包含最流行的机器人数量。需求很大的功能之一是在聊天中进行测验。 

MirRobot测验的实质是:机器人以一定的频率在聊天中向观众提问。如果在一定时间内没有人能够正确回答,则漫游器会给出提示,指示答案中字母的数量并显示一些字母(根据“绞架”或“奇迹之地”的原理)。
测验游戏示例:

某人正确回答后,首先,他做得很好,其次,机器人记住是该查看器正确回答了。在特殊小组的聊天中,还提供了对测验问题给出最正确答案的那些观众列表。对于每个频道,此列表都不同。

这个主意


有一次,我尝试着如何在Internet上找到对任意问题的答案,所以我想起了Twitch上的测验,并决定尝试制作一个可以自己参与测验的机器人。对于我来说,发现如果同一位玩家在完全不同的频道中位于测验的顶部会发生什么也变得很有趣。这会引起观众或开发商的怀疑吗?会有什么反应?或者,也许有人已经在我之前制造了一个机器人,并且再也没有真正的人了?

该机器人的第一个工作版本是在五月的假期过夜编写的。该机器人可以连接到Twitch上所需的频道,分析聊天,识别聊天中何时出现测验问题并在Internet上寻找答案。

不幸的是,我们无法立即找到可以用俄语回答任意问题的常规服务。Google和Yandex不适合这些目的,因为它们没有给出现成的答案,但是至少需要对Internet上的页面链接进行最少的分析。对于一个人来说,这样的分析不是问题,但是如何使其成为汽车是一项单独的任务。理想情况下,我正在寻找与Wolfram Alpha类似的东西,但支持俄语。顺便说一句,如果有人想起这样的开放服务,请在评论中写。

实作


对于Twitch上的测验,事实证明足以在致力于填字游戏,scanword和其他类似游戏的众多网站之一上寻找答案。原则上,我尝试了多个类似的网站,然后选择了其中显示最简单格式的搜索结果页面的网站。展望未来,我要说的是,事实证明MirRobot的主要基础就是这样的“来自填字游戏的问题”。事实证明,该算法可用于一般教育问题的效率很高(70%),并且在开始时就已编写了该bot功能,因此我们不再需要返回它。

经过一系列改进,该漫游器能够: 
  • 在多个聊天频道中同时成功进行测验。
  • 独立寻找开启MirRobot的新频道,并且观众数量最少。
  • 维护正确的问题答案数据库,以便不依赖网络搜索的有效性,并且能够回答有关计算机游戏的特定问题。
  • 记录频道中最高测验参与者的人数,并考虑他们在最高测验中的位置以决定答案;
  • 如果断开Internet连接,请重新连接。
  • 检查您期望的答案和测验中提示的对应关系。
  • 完全自主地工作:托管在PaaS云中,将必要的分析发送到Web以监视和维护DBaaS中的数据库。
  • 模拟带有个人提及的聊天(此功能在以后实现)。
  • 模拟一个人的反应速度和方式。

由于各种原因而无法执行或未实施的操作:
  • 未实现检测机器人是否被禁止在通道上的聊天中。
  • 我无法修复两个烦人的错误。在检测到它们的情况下,僵尸程序只是重新启动。


使用的技术:
  • Python 3(大约一千行代码)。
  • IRC(Twitch聊天实际上是IRC聊天)。
  • Web界面的女服务生/烧瓶。
  • MongoDB(mlab.com)。
  • PaaS IBM Bluemix。

结果,实现了机器人的完全独立性。全球挑战已经实现。该机器人在最近2个月内自主工作。

机器人与人类



对于机器人来说,不脱颖而出的能力是最重要的。教机器人回答问题很容易。根据其技术能力,该机器人在大多数情况下都可以在第一秒内回答测验问题,但这立即引起了人们的怀疑:这个人不是输入答案,他甚至没有时间在这段时间内阅读整个问题。另一个特征是一个人对不同问题的反应不那么快:对简单问题的反应很快,对复杂问题的反应不是很快。因此,如果您只是在回答上稍稍延迟一些时间,结果是现场的参与者会“点击”简单的问题,而机器人将熟练地回答所有复杂的问题。这样的“学者”会为完全不同的专业问题提供正确的答案,将立即引起您的注意。我没有开始对问题的“复杂性”进行评估。

在其中一位主持人的屏幕快照中,他们对正在Google上寻找测验答案的人感到愤慨:

因此,为了不让普通观看者脱颖而出,我们必须大大降低漫游器正确响应的可能性: 
  • 引入规则以在不超过30-40%的情况下给出答案。
  • 在尝试回答之前增加延迟(随机值)。
  • 在某些情况下,尽管有人只是给出了正确的答案,但仍给出了正确的答案,从而产生了一个人正在写聊天记录的幻觉。

这种“优化”的结果(将“优化”称为效率降低是很奇怪的)是,在一个非常流行的频道中,有几千名现场观众和1-2分钟的测验问题,该机器人在测验中平均赢得了5-7次每小时。对于直播观众活跃度较低的频道,漫游器获胜的可能性只是寻求响应的基本可能性(20-30%)。

同时,对机器人效率的这种轻描淡写也带来了一些“明显的良心”。事实证明,该机器人几乎没有回答,主要是在听众中没人知道正确答案的情况下。可以说,该机器人与“谷歌人”竞争,也就是说,与那些不立即知道答案,试图在Internet上找到答案或只能猜测一些提示的人竞争。
当然,以这种效率,机器人无法在短距离内与测验的实时参与者竞争,这很容易在机器人面前给出正确的答案。通过在顶部变化的背景下查看机器人的未来统计数据,可以清楚地看到,在有限的时间段内,活跃的实时播放器比机器人更能给出正确的答案。有时,在非常活跃的渠道上,僵尸程序可能无法在一个半小时到两个小时的时间内给出正确答案。事实证明这种情况是可以接受的:机器人没有给出许多正确答案,没有在聊天中惹恼任何人,也没有引起怀疑,但由于与人不同,它没有休息,没有睡觉,没有睡觉,所以一直稳步进入最高测验。累了,并稳定地参加了每一个小溪。

在某个时候,我将漫游器的聊天引擎“拧紧”到了漫游器上,以便它可以响应私人消息并尝试完全模仿一个人。根据Internet上的文章判断,该引擎在Turing测试中表现得很好。当然,Twitch具有自己的聊天特性:例如,您需要仅过滤表情符号中的消息。但是通常可以维持这种错觉,有时对话看起来很有趣。有时,该漫游器会诱骗对话者并以10岁女孩的身份出现,这有点尴尬,但总的来说,沟通问题得到了解决。

您注意到机器人了吗?


该机器人同时出现在近50个频道的顶部,这一事实没有人注意到。在我看来,这里的受众群体非常分散,而且在使用MirRobot的大约2000个频道中,测验仅包含了数百个。如果我们谈论的是有问答游戏的频道,并且至少有几十个人在聊天,那么总共有约160个这样的频道,其中大多数是不规则的稀有流或观看人数少于50的频道(特别排除在外) ),或只在其中进行简短测验的频道。从字面上看,有几个活动频道带有“大”顶部,无法输入,关于它们的测验已经关闭了很长时间,但是旧的顶部仍然存在。
下图显示该漫游器稳步进入各种渠道的顶部:

另一方面,该聊天机器人在聊天活动很少的频道上被发现。这包括观众很少的频道,以及观众被少数“现场”观众所困扰的频道。在几个渠道上,该漫游器都被禁止了。据我了解,背叛他的是:
  • 他没有在私人消息和普通聊天中回复对他的任意呼叫。我使用聊天机器人引擎实现的时间比项目开始的时间晚得多。
  • 在24小时不间断的频道上-全天候出现并在聊天中定期回答。

那别人呢


许多人只是在Google上寻找答案。他们不喜欢聊天中的这些人,甚至不愿意与他们战斗。

因此,在某个时候,该机器人的作者才开始用看起来相似的英文字母替换问题的某些字母,这确实使搜索变得复杂。 Google和具有问题数据库的站点不知道如何处理此类胡言乱语。 Yandex可以应付这样的要求,这给Google带来了至少一些机会。对于机器人来说,更新解析算法并不重要。

就像盾牌和剑之间永恒的对抗。您只能在短时间内获得优势。

令人惊讶的是,事实证明还有其他机器人或自动脚本可用于进行测验!至少有一次,我在一次聊天中看到一个来自完全新鲜帐户的人在问题出现后1秒钟内按字面回答了测验。

有些人无法无条件地被识别为机器人或脚本。不过,从几个因素来看,关于几个昵称,我90%确信使用了某种自动化。这是一个可疑参与者在一个频道中记录了6个小时的所有邮件的日志示例:

该日志可以注意到什么:
  • 所有帖子都非常简短且无关。这是尝试对测验给出答案。除了尝试在几个小时内在聊天中回答外,该参与者没有任何帮助。也就是说,一个人不再写任何内容。
  • 所有消息均大写,没有错字。
  • , . (, ) .
  • 3–5 , 1–1,5 . , - , .

给定的日志对于活人来说是非常不典型的。对于该参与者而言,不仅在一个晚上观察到了这种行为,而且连续7天都观察到了这一事实,这一切使情况更加恶化。另外,这项研究是最近才进行的-九月初,可能只是为了进行测验。

我什至试图与他们就这个话题进行个人交谈,但是并没有进行清楚的对话。这些人是使用机器人,某种程度的部分自动化帮助,还是只是整晚坐在小河上玩测验-不可能确定100%的可能性。这个问题仍然悬而未决。

有好处吗?


有可能得到一些东西,但是没有,没有好处。首先,实验的实质是不获得任何奖励。其次,奖品是不值得的。

例如,在其中一个频道上,每周都会举办一次竞赛,在竞赛中,最优秀的受访者将获得《坦克世界》的金奖。事实证明,该机器人稳步攀升至榜首,并可以获奖。后来,结果很简单,就是搜索搜索引擎中使用的昵称,该昵称指向相应社区中的帖子。

一些统计


  • 工作时间:4个月
  • 给出了正确的答案:〜8000(平均每天60-70)
  • 收集在我们自己的问题和答案数据库中:〜8.3万(测验中的问题总数为11万)
  • 位于顶部〜50个频道(从160个测验开始)
  • 至少在3个频道中被禁止



结论与结论


有趣吗?-是的 启示是有人还自动化了问答游戏。

这有帮助吗?-是的,但仅限于技术的发展和新事物的创造。

PS。到目前为止,该漫游器继续在自动模式下工作。我们假设该实验尚未达到最终阶段。因此,如果您正在参加智力测验,紧张的回旋,请确保您没有遇到聪明的脚本。

Source: https://habr.com/ru/post/zh-CN397521/


All Articles