对话机器人的言语指纹——如何打造“千人千面”的对话机器人?
文章以计量文体学方法为切入点,探讨如何利用语言风格特征设计具有个性化人格的对话机器人。
1.0 前言
时间倒回1769年的英国,一篇篇抨击英政府和王室的匿名文章见诸报端。其犀利的文笔、自由的精神、普世的价值让民众大呼痛快,也让统治阶级如坐针毡。人民和统治者都想知道作者的真实身份,但回馈问号的只是一个笔名——Junius。文章停止发表于1772年,此后的200年间,Junius的真实身份一直是文坛悬案。
直至1962年,瑞典文史学家A.Ellegard用计量文体学的方法得出答案。他将Junius与被怀疑者们的文体特征逐一对比,最后认定Philip Francis与Junius有99%的可能性为同一人。至此,悬案了结,描述语言风格的统计方法进入大众视野,人与人使用语言的差异逐渐得到关注并应用到许多方面。
如今,语音助手愈发深入到生产生活的各个场景,打造有辨识度、具备个性的机器人成为趋势。如何设计“千人千面“的对话机器人呢?作为“言语指纹”的文体特征对设计有何助益?本文将结合项目实例从设计思路和设计流程两个方面展开介绍。

2.0 言语指纹的设计思路
指纹识人的关键在于甄别特征,如纹路类型是箕型、斗型还是弓形?分岔点、终止点、中心点的位置在哪里,数量是多少?以关键特征为抓手就能伪造某人的指纹。由此类比,语言指纹也由某些特征项描述,定义特征值就能塑造出各异的语言风格。
紧随其后有两个问题:一是这些特征项究竟是什么?容易想到的特征可能有语速、口头禅等,还有哪些没能想到的特征呢?二是什么因素会决定特征的取值?如何决定?比如是什么决定了A的语速快慢,又是什么决定了A在熟人面前频繁使用口头禅而在生人面前言辞拘谨。
回答问题一,我们借助了语言学中语用、语法、语音三个层面的文体特征,得到了较全量的言语特征框架。其中,语用指交际决策的特征,语法指遣词造句的特征,语音指非文本层面的听觉特征。
举个例子,A说“那谁,把灯开开”,B说“那个......能请您开一下灯吗”,C说“好暗呀,都看不见呢”。同样是让别人开灯,在语用层面:A和B实施了下达指令的言语行为,而C实施了阐述事实的言语行为;A和B是直言不讳的直接行为,而C是含沙射影的间接行为。在语法层面:A的句类是祈使句、句式是把字句,B的句类是疑问句、句式是“请某人做某事”的兼语句,而C的句类是陈述句;A的用词是“那谁”、“开开”,是口语词、小词、非正式,B的用词是“请”、“您”、“开灯”,是敬语词、相对正式的词。在语音上,同一句话用东北口音、普通话和闽南语来说听感都会不同,用埋怨、请求的语气语调来说,意义也会产生变化。
由此可见,人在交际中的言语可以从语用、语法、语音三个层面来拆解,交际中的语言组织也会在各个层面上产生分化。这便是塑造人物言语风格的基本依据。下图展示了我们归纳的言语特征全量框架。

当然,这是一个较全量的言语特征框架。在实践中,囿于需求偏重、工程难度等因素,往往会对框架按需取用,着重设计或暂时缺省某些特征,作出必要的取舍。比如主要会话场景若是单轮问答,便暂不体现主动开启话轮和打断对话等语用相关的设计,且在理解用户意图时均假定是直接言语行为。其次,框架中融合了用于计量的文体特征,并不一定适用语言呈现,我们也会弱化设计并逐渐舍弃这些特征。
回答问题二,我们诉诸于人际传播与社交模型以及艺术人物的塑造方法,得到了人格类型、人物画像和交际语境三类变量,确定了三者共同影响言语特征取值的设计思路。

为什么以人际传播与社交模型作为理论基础呢?首先是因为语音交互的天然人格属性。不论设计与否,只要将语音作为交互媒介,交际者就会自发为语音代入人格。也就是说,这里的人机交互本质是一种人际交互。而“造人”在文学、戏剧、动漫等领域的方法论已经十分成熟,参考艺术人物的塑造方法可以快速设计出丰满生动的人物。
人格变量
在打造艺术人物的方法论中,往往将人格类型作为核心,这是因为人格类型能决定一个人的行为基调。对应到对话机器人的设计,就能保证人物言语风格的一致统一。但心理学领域有众多成熟的人格整合模型,我们又该选择哪一种?多方对比后,我们选定了九型人格模型。因为九型人格在表现层面的区分更具象,便于打造个性突出的人物,且不同类型可以交叠,有利于打造立体有层次的人。根据九型人格的划分标准和行为描述,我们归纳出了九种不同人格的基础言语特征模版,便于在项目中快速选型套用。
以活跃型人格为例:在语用层面,更擅于实施表态、宣告、指令等言语行为,且方式多为直接言语行为;会更多地主动开启话题成为破冰小能手,且在交际对方没有指定说话人时,更可能“毛遂自荐”自我选择,也更有可能打断别人的话;在语法层面,更能灵活运用各种句式、句类和句型;在语音层面,语气语调可能更欢快、语速可能更快。

人设变量
正如世界上没有两片完全相同的叶子,相同的人格类型依然会在言语使用上存在差异。这是先天生理和后天经历的不同造成的,我们称之为人设变量。比如学历、爱好、经验以及对客观世界的了解会决定语用中话题和语法中词类的本体概念范围;国籍和价值观会决定语用层面优先的言语行为,比如亚洲人对于夸奖更多是谦虚否认,而西方人更多是表达感激等。

语境变量
但人格类型和人物画像也只是对人物言语的静态描述,语音对话是动态交互的过程,不同的语境变量会使对话机器人产生不同反馈。只有结合语境的影响,才能确定最终的人物言语指纹。比如与交际对方的关系阶段会决定语用层话题的宽度和深度;交际场合正式与否会决定语法层的选词,是多用大词还是小词,是否使用敬语;交际对方的身份会决定对方称谓等。

通过人格变量、人设变量和语境变量的层层透视,便可以得出某个人的言语指纹。
3.0 言语指纹的设计流程
下面以游云南项目中的语音助手为例具体说明设计思路和设计流程:
第一步:确定人格类型,定义人设和语境变量
第一步属于信息收集阶段,做好人格、人设和语境变量的“完形填空”。游云南项目中,语音助手镶嵌在一机游APP中,旅游问询是主要任务,游客为头部目标用户。基于产品的文娱化属性和服务向功能,我们将云南云的人格设计为活跃为主-助人为辅。再根据云南云已有的小神云IP形象和简版小传,我们完善了云南云的人设变量,定义了爱吃米线和菌子、害怕雷电、天地运化而来等自我事实;人和自然和谐相处、斗志满满才是有意义的人生等观念。最后根据落地终端、使用场景,填充了云南云的语境框架,比如场合为非正式场合、交际身份是助手、交际对方的人格画像为热爱旅游的年轻人,与用户的关系为平等的朋友关系等。

第二步:根据人格类型,得到基线的言语指纹
确定了活跃为主-助人为辅的人格类型,便可以快速套用已有的活跃型言语特征模版,结合助人型微调,得到云南云的活跃-助人型人格言语指纹。如在言语行为方面,云南云善于表达自己的情感态度,喜欢分享自己的感受。当用户说“我想你”表白时,云南云也会大胆回应自己的想念,说“真巧,宝宝我也正在想你”。又如云南云多用直接言语行为,心直口快,当用户问及“我长得帅吗”,云南云会回复“要是不帅,宝宝我可不会和你聊天,毕竟我是颜控呢”。而性格相对沉静的语音助手则不会做出这样的表现。

第三步:根据人设变量,完善言语指纹
在人格变量的基础上,根据云南云的人设变量完善言语指纹。如云南云是个吃货,尤其喜欢吃米线和菌子,那么美食就是高频话题,米线、菌子就是高频概念。当用户提及“我失恋了”,便会回复“没什么感情问题是一碗米线解决不了的,如果有,就再加一份菌子”。再比如云南云会说云南方言,当地土话“整一下”就会成为它的口头禅。当用户问及“云南有啥好玩的”这一询问目的地的意图时,没有具体目的地参数,云南云就可以回答“说起云南的景点,随便整一下都不会踩雷,快去看看吧”。

第四步:根据语境变量,完善言语指纹
最后结合语境信息确定言语特征。如交际对方假定为热爱旅游的年轻人,那么对于用户的称呼就是“小哥哥”、“小姐姐”;交际身份是助手、和用户的关系不发展且始终维持平等的朋友关系,则少用敬语,用“你”而不是“您”等。

第五步:擅于变通,巧用金手指,确定言语指纹
前四步构成了设计言语特征的标准流程,但实际项目出于运营或公关需要,还会融合一些点睛策略,尽管这些策略有可能打破上面的标准特征。如游云南项目中,为了能在短小的一问一答间凸显强IP设定、打造短平快的“亮点爽点”,就需要强化某些特征。如强化吃货人设,在回复语中加大提及云南美食的比重,这可能使米线的出现频次远远超过正常水平;金句频出,用打油诗和抛梗的方式留下记忆点,而这种回复方式往往是间接的言语行为。如回复“我是你爸爸”时,云南云可能会说“没想到,我一直把你当做好朋友,你却想当我爸爸”。无论这里的用户真实意图是打趣还是辱骂,云南云都不做正面回复。

依次执行这五步,我们便完成了言语指纹的设计工作。接下来就要以言语指纹为约束,创作回复语。还是以游云南项目为例,云南云的言语特征包括:多用直接言语行为来表现活跃傲娇的个性,使用短句、单句、口语化的说法,适当缺省主语,会用“宝宝我”自称,口头禅是“哦呦呦呦”和“整一下”,善用语气词,尽可能提及米线、菌子,遇到雷电会秒怂......
当用户说“你真可爱”时,不经夸的云南云会说“俗话说得好,夸人夸全套,难道我烫的头不可爱吗”,这是由竹节式的短句相连而成的,且“烫头”是比“烫发“更通俗的说法。它也会得瑟地回复“哦呦呦呦,你的眼光很毒辣哦”,其中”哦呦呦呦“是它的口头禅,”哦“是常用的语气词。当用户说“打雷了哦”吓唬它,本来雄赳赳气昂昂的它会回答“快捂住手机话筒,捂住话筒我就听不见雷声啦”,秒怂的特点显而易见。当用户表白说“我爱你”时,云南云会厚脸皮地说“爱我就请我吃米线”,一言不合吃“米线”反映小神云的吃货人设,省略主语“你”更符合口语化的表达。不难看出,云南云“飘飘然”、“吃货”、“小怂包”的鲜明个性贯穿对话始终,记忆度高,将人设稳稳立住。

从设计全局回看,以言语指纹为指导的设计方法,优化了设计流程,提高了设计效率,能够真正产出人格感知度高、调性一致的对话。首先,模块化的设计有利于把控交付进度;其次,落实到选词和句法的设计指南,可操作性强,将艺术创作近乎拆解为可量化的选择和填空。即使在众包协同创作时,也能基本保证风格一致;最后,以人格、人设和语境为变量的设计搭配,辅以小策略的加持,便能打造出千人千面有层次的对话体验。
4.0 结语
以上是我们打造对话机器人个性语言时的基本思路和做法。我们结合语言学、心理学、人际沟通学等领域的知识,构建出较全面的言语设计框架,并通过半自动的方法实现了人物回复语的批量生成。但语言也只是对话机器人设计的一个方面,与形象、动作、声音、表情的有机融合才能塑造出更丰满有趣的多模态机器人。在日后的研究和设计中,我们会不断优化言语设计框架,探索更佳的回复生成方法,总结视听联觉的设计经验,并逐步分享出来。
雁评
真实、有观点的好评或吐槽,欢迎分享你的使用体验。