故事工程学:人工智能和交互式叙事
引言交互式叙事(InteractiveStorytelling)意指在叙事过程中,故事线的展开并不是固定的,而会根据观众对叙事系统的输入而发生变化,如此在传达故事作者的主旨的同时,让观众产生亲身参与到故事之中的感觉。电子游戏作为一种以交互性机制和多媒体作为媒介的艺术形式,很自然地成为交互式叙事的平台。
交互式叙事在游戏中的运用在现今的大部分游戏中,从文字冒险中的故事分支到RPG中NPC面对玩家不同的行为产生的不同反应,我们多少都能看到一定程度的交互式叙事。交互式叙事的目的也多种多样——有的游戏希望借此提升玩家的代入感而获得更好的娱乐体验(例如许多出产自大公司的RPG),有的游戏则是希望向玩家呈现一个线性叙事难以完整表达的庞大而立体的故事,而不得不要求玩家去通过不同的与故事进行交互的方式来探索故事的不同角度。后者的例子包括很多世界观复杂侧重于剧情的游戏,比较典型的例子有Chunsoft出品的428:被封锁的涩谷,其中作者希望玩家去了解的是发生在整个涩谷、牵涉到众多人物的一个庞大的故事,同时又希望带给玩家从一个特定人物的视角看到的这整个故事的某个局部的体验,因此交互式叙事就成为顺理成章的设计策略。
勇者斗恶龙6中游戏开始后的一个对话选项,对游戏进程并没有实际影响著名文字冒险游戏428:被封锁的涩谷,多条故事线及故事线相互间的影响是它的一个重要特色也有的游戏采用交互式叙事,是希望玩家通过他的亲身参与来更加亲密地进入到作者希望传达的体验,例如著名的独立游戏StanleyParable及其精神续作TheBeginner’sGuide。在这两个游戏中,作者直接与玩家对话,玩家在反抗或者认同作者的选择之中感受到故事的张力和身临其境的情绪体验,从而深入地走进作者的精神世界。
著名交互式叙事游戏StanleyParable,以游戏作者直接与玩家对话著称人工智能:一些可用于交互式叙事的新兴技术虽然交互式叙事在电子游戏中如此普遍地出现,但现今不成熟的技术却制约着它以更加高级的方式出现——对玩家每个动作的反应,几乎都必须人为地一一列举清楚。这就导致玩家在叙事上与游戏的交互方式通常都非常的有限,对游戏中的故事要素的影响也非常有限。另一方面,即使我们拥有足够成熟的技术来毫不费力地处理成千上万的玩家动作输入,也仍然存在一个设计上的问题:过多的玩家自由度与故事主旨表达之间的矛盾。一个故事想要说什么,很大程度是由在这个故事中作者引导观众去观看的那个特定的角度所呈现出来的。如果玩家拥有过于强大的视角选择权,作者又怎么引导玩家去走进这个故事呢。如果一个故事讲述的是英雄救世,玩家却沉迷于跟街上的路人扯淡,这显然也不是作者想要的。因此,就还存在平衡玩家自由度和传达故事主旨的问题。
对于一个电子游戏而言,解决这两个问题,从某种意义上说需要的是同一种技术——人工智能。对于提高玩家自由度的问题,我们需要的是一个能够高效产生叙事内容来应对玩家输入的人工智能系统;对于平衡玩家自由度和传达故事主旨的问题,我们需要的是一个能够根据玩家的行为,智能地调整故事中其他元素(例如NPC)的行动来将故事发展重新引导回重点的“实时导演”。现今的人工智能技术虽然还远远没有发展到能够完美解决这两个问题的程度,但至少有一些前沿的研究向我们展示了一些看起来有前途的新方法。下面我就为大家介绍几种这些新方法,希望能够对各位独立游戏开发者带来启发。
极限脱出:善人死亡的故事流程分支首先,我们来讨论有关高效产生叙事内容来应对玩家交互输入的问题。在现今大部分的游戏中,叙事内容往往都是人为提前安排好的(Predefined)——作者提前定义好玩家可能作出的动作(例如文字冒险游戏中的文字选择支),然后将每个动作发生后的叙事内容(例如文字冒险游戏中的故事分支)定义好。这种产生叙事内容的方式就像是给一个三维立方体的每个可能被观察的角度都拍一张二维照片,然后给定观察的角度输出对应的那张照片,以此来创造观察者观察的是一个三维物体的错觉。这种方法显然是非常低效的,并且因此只能支持很有限的观察角度(玩家动作)。一种真正可行的方法,很显然是保存三维立方体的数据本身,而不是它每个角度的投影。这个三维立方体的数据本身能够比它各个角度的投影精练得多地定义它在各个角度如何呈现它自身。然而在讲故事这个上下文中,什么才是对应于“三维立方体本身的数据”的内容呢?
如何定义一个故事?维基百科上的解释是这样的:
“Anarrativeorstoryisanyreportofconnectedevents,realorimaginary,presentedinasequenceofwrittenorspokenwords,and/orstillormovingimages.”
译文:一个叙事或故事是指对一组真实的或想象的关联着的事件的报告,它的表达形式可以是口头或书写的文字序列,或者静态/动态的图片序列。
由此我们看出,一个文字或图片的序列仅仅是故事的表达形式,它的核心在于一组关联着的事件。
而这组关联着的事件在故事中以何种顺序出现,各自以何种形式出现,很多时候可以说并不是故事本质性的属性,它们是可以根据玩家的动作而变化从而产生观众参与性(audienceagency)的。
一个故事本质性的属性,仅仅是那组关联着的事件以及它们如何关联。事件间关联的方式可能会对事件出现的顺序和方式有所限制(例如坏人必须先作恶,英雄才能去救世),但大多时候这些限制不会严格到让故事只能以一种序列出现(例如坏人是先杀人还是先放火,其实并不会对故事发展有很大影响)。除了事件的顺序之外,许多事件也可以以很多不同的形式出现而并不会影响故事的发展。例如,如果一个事件只是为了给坏人的邪恶做铺垫,那么在其中坏人掳走的是路人A还是路人B其实无关紧要。
因此我们发现,要定义一个故事,只需要定义这个故事中发生的事件和这些事件相互关联的方式。
在有了这个相当于“三维立方体本身”的故事定义之后,我们就可以根据玩家的行动去动态地生成从他的那个特定角度看到的故事发展序列。例如,恶人先杀人还是先放火可以由玩家先去杀人的现场还是先去放火的现场决定;恶人是掳走路人A还是掳走路人B可以由这两个路人对玩家的好感度决定(谁好感度高就掳走谁,以此来刺激玩家的情感投入)。
那么在实际的游戏开发中,我们如何这样来定义故事呢?为了叙事系统的灵活性,事件的粒度(GrainSize)必须足够小;为了系统能够实时计算叙事内容,事件对于整个故事发展的影响必须定义清楚;事件最好还能具有一定重用性以降低人力需求(Reusability)。事件之间要尽可能解藕(Decouple)以实现模块化的自由组合;事件与它的呈现方式之间要解藕以方便呈现方式的丰富度和日后的扩展;事件呈现方式与其描述最好也能够解藕,这样我们甚至能请不同风格的作家来模块化地写故事(想象未来的某个文字冒险游戏甚至可以在选项中配置叙事风格)。如此听起来,这种写故事的方式是不是简直像是在编程?没错,这的确是类似于编程的活动,因为此时我们的故事已经不是一段扁平的文字序列,而是一个立体、有机的系统。我们这种意义上的写故事也不再是一个纯粹的文学创作活动,而变得充满了工程学。
ABL语言为了能够进行这种工程学式的写故事,其实已经有很多类似于编程语言的“故事编写语言”被开发出来,这里我来介绍其中的一种:ABL(ABehaviorLanguage,读作“able”)[1]。这个语言的语法类似于JAVA,它也有用JAVA编写的编译器,能够被编译成可以在游戏中指挥三维模型动作和游戏变量变化等的控制程序。ABL中的基本单位被称作Behaviour,一个Behaviour代表一个叙事目标,其内容则是一个不可分割的动作序列,代表要完成这个叙事目标需要执行的步骤。实现目标需要的执行的步骤可抽象可具体,可以具体到一个玩家能看到的游戏中的事件,也可以是另一个子目标。如果一个Behavior下的所有步骤都成功执行,系统就认为这个Behaviour所代表的叙事目标已经达成。在Behaviour的生命中我们也可以定义一个步骤成功或失败情况下的操作。通过定义不同层次的Behaviour,我们就能够实现不同层次的事件极其呈现方式的定义。ABL这个语言被应用在了一个试验性交互式叙事游戏Façade[2]中,有兴趣的读者可以访问链接:http://interactivestory.net/。
ABL代码片段:
sequentialbehaviorAnswerTheDoor(){WMEw;with(success_test{w=(KnockWME)})wait;actsigh();subgoalOpenDoor();subgoalGreetGuest();mental_act{deleteWME(w);}}上面所介绍的这种方法,最终还是得由人来描写具体的文字描述(或CG等其它类型的描述)。其实即使在这个方面也仍然有提高效率的余地。当我们的叙事基本模块粒度变得足够小以后,我们就可以实现“模块化的写作”,这意味着我们可以用很多人来分工进行写作。如果模块之间接口定义得足够好,每个人甚至都不需要了解其他人写的那部分故事。甚至我们还可以考虑群众外包式的写作(Crowdsourcing)。事实上也已经有人在尝试这样的创作模式。
另一种可能性则是借助现在热门的深度学习(DeepLearning)。考虑一个架构类似于谷歌自动翻译机(或者谷歌最新的Sequence2Sequence技术)原理的神经网络,构建这样一个训练数据集:它的输入是使用类似于ABL这样的语言定义的一组事件,输出则是一种特定文学风格的对这组事件的文字描述。如果神经网络的模型合适并且训练数据集足够庞大,这个神经网络也许就能学会使用这种叙事风格来将ABL脚本渲染成文字。
在有了定义故事本质的事件和事件间的关联之后,剩下的问题就是如何结合玩家的实时动作输入来生成叙事内容:给定玩家对系统的输入,我们需要选择下一个发生的事件,并确定这个事件的呈现方式;而做选择的原则则是尽可能同时最大化玩家的参与感和故事的精彩程度——我们发现,这实际上是个人工智能领域经典的规划问题(PlanningProblem)。
故事的精彩程度取决于很多要素,其中很重要的一个要素是玩家看到的事件于故事主题的相关性。因此只要我们明确定义了每个事件对于故事发展的作用,就能够通过现有的技术计算出对故事发展贡献最大的事件。前面所介绍的内容,很大程度上已经解决了这个问题。
而玩家的参与感则又跟游戏系统中某些局部的要素对他/她的反馈相关,其中非常重要的是NPC对玩家的反应。在传统的游戏中,虽然NPC与玩家之间能够有互动,但在这些互动中NPC做出反应的依据往往只有玩家在当前互动中的那几个动作——NPC对玩家远远没有一个完整的认知。例如在某个剧情事件中,NPC可能会问玩家是选择战斗方式解决还是和平解决,根据玩家的那一个选择,NPC对此再作出反应。这种处理方式很可能造成NPC的态度上的不一致,也常常暴露出NPC对玩家的无知——玩家可能在这个事件之前刚刚进行过疯狂的杀戮,然而就因为在这个选项中选择了和平解决,就受到NPC“爱好和平”的称赞。更加成熟一些的做法是使用某些数值来判定玩家的行为类型,例如在UnderTale中,游戏会存储玩家杀死的怪物数量来判定玩家的暴力程度。但这种方法毕竟无法处理更加复杂的玩家信息。
在理想的情况下,我们希望能建立一个代表玩家的数学模型,随着游戏的进行更新这个模型让它越来贴近玩家在游戏中表现出的方方面面的个性。由这个模型来决定NPC的态度,而不是让玩家简单地通过几个文字选项就让NPC相信他/她是怎样的人。关于如何进行这种建模,我们可以借助许多现有的机器学习方法。例如,加拿大阿尔伯塔大学的一个小组就开发了一个叫做PaSSAGE(Player-SpecificStoriesviaAutomaticallyGeneratedEvents,http://webdocs.cs.ualberta.ca/~bulitko/research/is/)的系统,在其中整合了玩家建模和基于玩家建模的决策系统。在他们为PaSSAGE开发的示例游戏中,他们通过机器学习判定玩家的游玩风格(战斗型、角色扮演型、策略型),然后再根据判定得到的玩家游玩风格来动态生成叙事内容。
结语近几十年,人工智能技术出现了很多突破,然而笔者却很少看到最新的技术被应用到游戏开发中。这些技术带给了游戏开发者非常多的可能性,希望这篇文章能够引起大家去探索那些新技术的兴趣。
参考文献[1]MateasM,SternA.ABehaviorLanguage:Jointactionandbehavioralidioms[M]//Life-LikeCharacters.SpringerBerlinHeidelberg,2004:135-161.[2]Façade:AnExperimentinBuildingaFully-RealizedInteractiveDrama,MichaelMateasandAndrewStern,2003[3]HernandezSP,BulitkoV,SpetchM.KeepingthePlayeronanEmotionalTrajectoryinInteractiveStorytelling[C]//EleventhArtificialIntelligenceandInteractiveDigitalEntertainmentConference.2015.[4]RiedlMO,BulitkoV.Interactivenarrative:Anintelligentsystemsapproach[J].AiMagazine,2012,34(1):67.人工智能正在重塑人力资源的7种方式
[[357616]]
根据国际工程与技术研究期刊(PDF)的研究,人工智能(AI)融入人力资源(HR)实践将使组织变得更好,因为这些应用程序可以分析、预测和诊断,以帮助人力资源团队做出更好的决策。
报告作者PrasannaMatsa和KusumaGullamajji在其2019年8月的报告中发现,人工智能可以嵌入到招聘、培训、入职、绩效分析和保留等功能中。然而,他们补充说,由于成本问题,大多数组织在将人工智能与人力资源实践整合方面仍然落后。“人工智能的实施应该被视为一个乐观的机会,因为人工智能改善了生活。如果能被清楚地理解和恰当地利用,人工智能将创造一个更美好的未来。”
HR报告对AI整合的信心然而,其他报告认为人工智能与人力资源整合是可行的。根据Oracle/FutureWorkplace的一份报告,大多数人力资源从业者欢迎将人工智能集成到他们的人力资源流程中。事实上,在2019年甲骨文和未来工作场所的研究中,64%的受访者表示,在征求建议时,他们会更信任机器人,而不是经理。
此外,研究人员还发现:
目前有50%的员工在工作中使用某种形式的人工智能,而2018年这一比例仅为32%。大多数员工(65%)对拥有机器人同事感到乐观、兴奋和感激,近四分之一的人表示,他们在工作中与人工智能有着友爱和满意的关系。印度(60%)和中国(56%)的工人对人工智能最感兴趣,其次是阿联酋(44%)、新加坡(41%)、巴西(32%)、澳大利亚/新西兰(26%)、日本(25%)、美国(22%)、英国(20%)和法国(8%)。男性比女性对工作中的人工智能持更积极的态度,32%的男性比23%的女性持乐观态度。Futureworkplace研究主管丹•施瓦贝尔在一份新闻稿中表示:“在过去两年里,我们发现,随着员工在工作场所采用人工智能,他们变得更加乐观,人力资源部门正在引领这一趋势。”“2019年的研究表明,人工智能不仅重新定义了员工和经理之间的关系,也重新定义了经理在人工智能驱动的工作场所中的角色。”
对于许多组织来说,“支持人工智能还是不支持人工智能”可能仍然是一个问题,但有些组织已经加入了这一潮流。我们已经找到了一些公司投资人工智能和人力资源工作流程认知计算的例子。
求职者用智能电子表格填写简历人力资源就是在个人层面上将公司与现有和未来的员工联系起来。Pega首席人力资源官阿德里安娜•博克尔•赫尔德(AdrianaBokelHerde)表示,要想大规模实现这一目标,人力资源部门需要利用可扩展的人工智能技术。
例如,公司通常要求新求职者在新员工旅程的多个步骤中重新输入相同的信息。这种重复而乏味的工作可能会给他们留下不好的印象。为了缓解一些单调,企业正在使用人工智能帮助求职者将简历中的信息转换到智能数字表格中,从而更高效地完成申请。博克尔·赫尔德说:“这些信息也可以通过背景调查和新的雇佣表格自动发送出去。”例如,人工智能可以从应聘者的简历中识别出相关信息,存储起来,并自动输入到未来的表格中,这样他们就不会被迫不断地重复。”
博克尔•赫尔德表示,由于企业将应聘者的工作经历作为招聘工作的优先考虑因素,许多企业已经在人工智能方面进行了投资,以帮助它们分析应聘者之前的工作经历和兴趣,并将其与最适合自己的职位匹配起来。“许多人,”她说,“甚至在候选人与招聘人员通过电话交谈之前,就已经在利用人工智能对他们进行评估。”
理解员工推荐博克尔•赫尔德表示,人工智能还帮助人力资源团队更好地理解员工的推荐,方法是研究员工推荐的候选人类型,并了解谁推荐了最成功的人选。她说:“人工智能还可以分析以前推荐的业绩数据,并识别出哪些与成功员工相似的候选人被推荐了。”
人工智能为人力资源部门提供了一个机会,通过自动化重复的、低价值的任务来提高候选人和员工的经验,并腾出时间来专注于人力资源团队需要和想要完成的更具战略性和创造性的工作。伯克尔•赫尔德补充说,这些步骤可以被智能地自动化,而不是花时间监督新员工入职过程中的每一个步骤,这样团队就可以把更多时间投入到更重要的任务上,比如指导和收集反馈。“通过在候选人和员工生命周期中收集的所有数据,我们可以获得很多深刻的见解,”BokelHerde说。“公司需要利用这些数据来提高员工敬业度和留住员工。”
数据支持的资源和见解Achievers的首席产品官迈克尔•科恩(MichaelCohen)表示,人工智能为人力资源专业人士提供了数据支持的资源和直接从员工那里收集来的见解。这就允许人力资源专业人士采取行动,提供员工想要和要求的员工体验,从而提高员工参与度,降低人员流动率。科恩说:“世界对新冠肺炎的应对改变了我们的工作方式,它增加了对技术的需求,以连接一个组织各级的工作人员。”“领导层倾听员工的意见并采取行动,这也是至关重要的。人工智能是我们连接整个员工群体并了解他们需要什么的一种方式。”
人工智能支持的聊天机器人让互动对话继续进行根据科恩的说法,员工敬业度也是一门科学,而这门科学的一部分就是在日常基础上测量和分析员工的情绪。人工智能支持的聊天机器人能够让员工和人力资源专业人员整年都能进行互动对话。
科恩说:“聊天机器人可以提供一种自然的、类人的、随时开机的交流工具,让用户进行个性化的对话。”然后分析并利用这些对话来解决员工的具体担忧、愿望和需求。但这还没有结束。谈话后的行动和第一时间寻求反馈一样重要。”
人工智能支持的聊天机器人让人力资源从业者能够理解员工的情绪,从而解决采取行动的潜在障碍,并向员工证明他们的声音很重要,这将提高员工的参与度,减少人员流失。
促进学习和发展项目ONSemiconductor全球学习与发展主管伊丽莎白•格林(ElizabethGreene)表示,未来几年,学习与开发部门使用人工智能的前景将大幅增加。这些部门将被期望创建灵活和适应性强的学习项目,能够满足员工的个人需求。与此同时,他们将以更深入的方式使用数据和分析,向业务展示影响力。
她表示:“学习和发展不仅要教会人们人工智能技能和数字技能,还要让员工为新角色做好准备,这些新角色无疑将需要更多的人力技能:分析、战略、批判性思维、文化意识和情商。”“为了适应这些变化,研发部门正在转向支持个人学习的敏捷学习模式,而不是为整个组织提供基础广泛的解决方案。”
Greene分享了她的公司通过采用人工智能来建立员工体验的数据第一心态的几种方式:
根据工作角色、现有技能、发展计划和未来目标个性化学习过程,并主动解决存在的技能差距。根据员工的技能和通过社会学习渠道在组织内列出的项目,分配拓展任务和跨职能项目。基于与个别员工需求的相关性进行内容匹配和推荐。通过聊天机器人对常见问题进行实时回复,所有员工都可以输入问题并快速收到自动回复。为需要额外支持的领导提供聊天机器人的指导。利用事务性劳动力数据Kronos产品营销高级总监杰森•萨巴(JaysonSaba)表示,人力资源团队可以利用人工智能来利用事务性劳动力数据来预测员工的潜力、疲劳程度、离职风险甚至整体敬业度,最终实现更富有成效的对话,以改善员工体验、留住员工和绩效。
他说:“现在可以利用人工智能构建更智能、个性化的日程安排,并利用人工智能根据预先确定的业务规则实时审查休息和换班请求。”这赋予了员工,特别是那些必须在场的一线/小时职位的员工,更多地控制他们的工作/生活平衡。Saba补充道:“使用人工智能处理这些重要但重复的行政请求,也减轻了经理们的负担,让他们有更多的时间待在地板上,与客户一起工作,以及培训团队。”
推动劳动力分析根据ForresterTechTide:云人力资本管理2019年第四季度的调查结果,组织机构正在转向劳动力分析和计划。在这些劳动力分析应用程序中,人工智能和机器学习变得更加明显。
萨巴说:“人力资源中的人工智能赋予管理者解决问题的能力,并能促使他们做出更明智的决定,从而影响员工和组织的成功。”“例如,使用实时分析,可以让管理者了解缺勤、开放式轮班和计划外的时间表变化对关键绩效指标的影响,让他们做出更明智的决定,在问题出现之前就避免它们。”
结论甲骨文(Oracle)人力资本管理云业务部门高级副总裁艾米丽•何(EmilyHe)表示,机器学习和人工智能方面的最新进展正迅速成为主流。她在一份有关甲骨文未来职场研究的新闻稿中表示:这导致世界各地的人们与科技及其团队互动的方式发生了巨大变化。
她说:“在工作中,人类和机器之间的关系正在被重新定义,没有一种放之四海而皆准的方法可以成功地应对这种变化。”“相反,组织需要与他们的人力资源组织合作,在工作中实施个性化的人工智能方法,以满足他们在世界各地的团队不断变化的期望。”