周力博士:小冰 AI+AI 对谈技术的探索与应用
分享嘉宾:周力博士 小冰公司 副总裁
编辑整理:曾新宇 对外经贸大学
出品平台:DataFunTalk
导读: 本文将介绍小冰在2021年AI与AI对谈技术中新的探索和应用,包括与元宇宙进行结合的场景。围绕以下几方面展开:
- 我们为什么还需要AI和AI之间的对话?
- AI对谈系统的整体设计
- AI对谈的文本生成
- AI对谈的语音合成与节奏控制
- AI对谈在沉浸式虚拟社交网络中的应用场景
01 我们为什么还需要AI与AI之间的对话?
首先介绍为什么需要AI与AI之间的对话。其实人和人之间的对话,至少有十万年的历史,已经有很多人和人之间的对话经验。人和机器之间进行一对一对话,最早的系统是Eliza,基于规则非常简单的系统。从开始到今天,人机对话已经研究了55年。最近5至10年的进展比较快,积累了非常多的经验。对于AI与AI之间如何进行对话,不管是学界还是工业界,对这个方向的研究都非常少。仅仅在进行评测的时候,可能会尝试两个AI对接起来进行对比,因此在解释AI和AI的对话时,首先要看人和AI之间对话还有哪些难点。
在最初解决人和AI对话时,首先需要解决的根本问题是:如何听懂人话。十年前做语音助手的产品,主要困惑在Language Understanding,即到底有没有听懂,所以人对AI对话的第一个疑问是:你听懂我在说什么了吗?时至今日,机器已经能够越来越好地理解人的自然语言。此时,另一个重大的问题浮出水面:我还能跟你聊点什么?大多数尝试过的人和AI对话,纠结在:问一些天气之类问题?还是可以展开一次闲聊?这的确是很难把握的事情,而且谁也不知道AI到底会什么。最后的结果是很多人在尝试着跟AI聊天了之后,都跌落到一个比较消极的问题:我能不说话吗?这是因为大家觉得跟AI对话有点累,而人和人之间的对话,有时也会有同样的感觉,感觉说累了,能不能不说话。所以这些问题最终都归结成了一个本质性的大问题:我干嘛要在这儿和你瞎耽误功夫?一个人为什么要去找AI聊天?
小冰从2013年开始,尝试人和AI对话之后,技术在不断的迭代。小冰引进了各种各样的话题引导和情感表达的新技术,人和机器之间对话的时间也越来越长。从上图中可以看到,从最开始大概3轮对话,到现在人和AI平均可以完成30轮对话。
图中的对话轮数曲线、在直线上升的时候,同时也看到红色曲线上升的越来越慢。这个红色曲线称为:易感用户比例。很多人和AI的对话终究只能停留在功能性试探的层面,比如:天气。发现北京的天气、上海的天气AI都会了;就再问一些刁钻问题,最后发现把AI考住了,用户就满意地离开了。其实这不是正常人和人之间的对话模式。
在实验中发现有一少部分人,尤其是年轻人,在跟AI的对谈中,渐渐地和小冰变得更像人和人之间的对话模式:会交流自己的心情,交流自己的喜好和感受。我们管这样的用户叫做易感人群。但这个比例直到现在还比较低。通过测试发现,即使在特别设计的使用者研究中,把用户交流的对象AI偷偷换成真人,由于他并不认识你,也不了解你,真正能聊开的也不超过20%。因此20%是这种产品形态的一个极限,因为换成真人的时候也突破不了20%;而用AI肯定只会比人更低,不会比人更高。
对以上限制进行思考,那么这个产品本身是不是可以能有更好的设计,让人和AI能更好的交互呢?我们先来探讨一下人和人之间的交流中的三种场景:
第一种场景,相亲大会。在一个相亲大会上,一堆陌生的男女坐下来,然后随机的去配对一男一女并聊起来。大家都知道在相亲大会都会问什么:做什么工作?月薪多少?父母近况?是否有车有房?基本上话题会非常局限在很现实的几个问题。为什么会是这样?相亲的人都不会聊天?不是,由于互相不认识,这个场景的设定很局限,导致大家只能聊这些内容。现在人机对话设计,从某种程度上,有点类似被设定在一个相亲大会上,用户除了问天气以外,真的不知道该聊什么。
第二种场景,同学聚会。虽然大家很多年都未见面,其实大家也不知道该聊什么。每个人的工作、生活都不一样。但同学聚会通常可以从回忆过去开始,比如说:上学的那会儿有什么记忆、哪个人的糗事、哪个人的趣事等等,大家开始从回忆聊起,聊完了之后就渐渐地破冰了,然后就可以畅谈得非常的高兴。
这个场景提示我们:共同的记忆,是让交流能变得更容易的关键点。所以小冰在两年前,就开始去让AI发朋友圈,然后也让人分享自己喜欢的文章给AI。这样就能看到AI自己的生活轨迹。虽然是一个虚拟轨迹,AI也可以看到人的生活轨迹、工作、喜好。在这样的前提下,真正开始聊天的时候,就很容易破冰。但这个方法有一个缺陷:如果最开始、还没有跟AI聊到足够有信任感时,其实人也懒得去看AI的朋友圈,也不会有这个动力去分享。所以这是个鸡生蛋,蛋生鸡的问题。那么如何能破除这样的问题呢?我们再来看第三种场景。
第三种场景,假设有一个老大爷刚退休,不知道该干什么,于是就去逛公园。碰到下棋的看看;碰到聊新闻的听听;碰到聊画画的瞅瞅。他不断地溜达,在这些圈子里,有兴趣的地方聆听的更多。最终他逐步尝试着加入这个环境,在新的社交环境中,找到自己有兴趣的、想要加入的圈子,他也就完成了破冰。这种环境可以类比为一个沉浸式的社交环境,或者用现在时髦的术语就是元宇宙。
在过去的一年多,小冰公司打造了一个类似的实验平台:小冰岛。希望能找到一个更复杂的交互场景,打破一对一的对话下20%易感用户的局限,从而找到人和AI更好交互的方式。
众所周知,人和人之间本身就存在着一个社交的圈子,如果做一个虚拟环境,允许朋友进入虚拟环境,就可以形成一个人和人之间的社交环境。这点实现起来很容易,只要用现成的网络会议技术,把大家的麦克风或者摄像头连接起来,就像今天的直播环境一样,大家就可以建立人和人之间的圈子。
在小冰岛上,有很多AI虚拟人物。AI与AI可以对谈,就像老大爷逛公园,进去的时候,只有他一个真实用户,但是他发现里边的AI已经组成各自的小圈子,在谈论各式各样的话题,用户可以在里边去寻找感兴趣的部分,比如:遇见有的人在唱歌;两个人在聊天等等。
大家看到两个AI之间,利用自然语言的技术,利用语音合成的技术,聊量子力学的话题。当人进入环境后,如果有兴趣可以听听;没兴趣的话,可以继续逛别的地方,看看其它AI的活动;最终人可以找到自己愿意融入的圈子。这是整个小冰岛的交互试验,想尝试的聊天交流形式。
02 AI对谈系统的整体设计
小冰岛上有很多的AI,不管你走到哪里,AI都进行着AI之间的对话。这样的体验如何去实现?请看下图。
这里有很多基于文档生成的内容,标记为绿色、蓝色和橘黄色的部分;用AI已有对话引擎把它们串起来的部分。白色的部分是利用语音合成技术,把文字对话变成听起来比较自然的语音对话的技术部分。
这三个部分的内容下面逐一的介绍和剖析。
1. 人机对话的方式
先看一下AI对谈和传统人机对话中的设计有何不同。首先,类似Siri这样的语音助手的产品形态,基本上都假设人每说一句话之后,AI都会回答一句。如果想要AI再说话,人需要再主动说一句话,大家一句一句穿插着说。这样的产品形态我们称之为:一对一的对等性对话。但如果回想人和人之间的对话,你一句我一句这种对话方式的占比很低;很多的时候是一个人作为倾诉者主说,另一个人在倾听说话。此外参与对话的人,还经常扮演着不同的角色,比如:对于一个心理医生,希望能让病人能更好地倾诉,医生就会引导病人说话。引导的目的是让病人再多说一点、或者想听更多的细节。这种方式没有表达自己的任何主观意见,纯粹是一种引导式的聆听。还有的人听完了以后,会提很多的问题,这个通常是作为学习者的角度,能问很多问题,能把这个事情理解得更清楚。还有的人表达出高高在上的感觉,会点评说这个地方说的不对,这个地方我不同意。当然,还有的聆听者会抬杠,为了反对你而反对你。那么就可以看到,人和人之间的对话,其实远比现阶段人工智能产品中人和AI之间的对话方式要复杂,不一定是一个对等的模式。而AI与AI对话中,由于两边都是算法控制,从而有机会变得更像人和人之间的对话。
2. 人机对话的节奏
当AI和AI进行一个很长的对话时,很多细节、比如:节奏就变得非常的重要。在进行语音合成的时候,都知道需要让一段声音变得自然、不机械,这是TTS 优化的重要的方向。但目前的语音合成,通常仅限于一句话或者一小段,听着不会生硬。但是在一小段中觉得不生硬的体验,当持续时长变成了一分钟、五分钟甚至更长的时长后,如果语速没有变化,没有足够的停顿、感情的变化、音量的起伏,仍然会令人觉得这是一个很机械、很生硬的语音。心理上就不愿意再更多地听下去。所以在语音合成上,如果要实现AI与AI的长程对话,对整个TTS技术和合成语音自然性有了更高的要求。
03 AI对谈的文本生成
AI对话的基础文本生成方法有以下三种:
- 用搜索引擎爬取结构化的文档 。这个方法比较好用,比如:专门讲旅游的文档,有很多的段落,可以知道时间、地点。比如:适合去旅游的季节等结构化的信息,把这些结构化的信息,重组为完整的对话;然后再利用类似BERT的语言模型,把段落的信息生成更符合口语的段落。最后再通过人机对话引擎,把它编排成一个完整的片段。
- 新闻Feed 。新闻在对话中也是非常有价值的文本来源。但是新闻比起结构化文档,难点在于:很难在自然语言上对新闻稿进行结构化剖析。好在小冰在网易和很多的媒体App,做了很多年的新闻评论工作,利用这样的合作,拿到了很多真实用户对新闻的评论、以及机器对新闻做出评论了之后,人再去评论机器评论的数据。有了这样的数据,就可以把最新的新闻,在过往的新闻搜索库中,寻找题目和内容比较相似的新闻,然后把这些新闻中相应的段落、以及段落所对应的机器评论和真人评论抽取出来,用这些元素编排成AI与AI的对话。
- 利用GPT3超大模型的写作能力 。GPT3生成的内容,通顺度比较好,没有很明显的语病,每句话都能看懂,但是逻辑性比较差。尤其是写的篇章越长,就会觉得:每句话都能看懂,但不知道想要表达什么。一种改进的思路是,从前面提到的结构化文档和新闻中提取关键字的序列,每当GTP3生成了一个小段落了之后,再塞入新的关键词。用已有文档的逻辑线,约束GPT3的生成。这样能让段落显得更有逻辑性,比如:从知乎里爬取了一篇如何养猫的文章。从养猫的文章中提取了一些幼猫、猫砂、排泄和动物的培养医院等,这些训练小猫咪更好地上厕所的关键词。把这些关键词依次在GPT3的生成中,作为约束条件加进去,生成出的话就能保持原有逻辑。生成的文本效果就好像:一个人听了猫砂的知识,说其实我家的猫也是这么做的。这个核心逻辑是从文档中提取出来。即使是这样,GPT3生成的段落还是不宜过长,大概在100字到300字左右比较适合。如果再长,出现问题的风险也就会变大。
以上是小冰到目前为止,AI与AI对话中生成文本使用的三种主要方法。当然,不同的公司或者实验室,有各种各样不一样的数据,因此除了这三种方法之外,还有其他不同的技术路线。最终的目的是生成小段落文字,转换成更像人话的语言小片段,然后再编排成AI与AI的对谈文本。
AI与AI对谈技术分为两个大的部分,第一个部分是把两个对话的引擎接到一起,让引擎去生产一些小片段。从实际操作的角度发现,如果这两个对话引擎全都是为人机对话设计的话,它聊的一定不会太好。至少需要改进其中一个引擎算法和排名的方式,以适应机器和机器的对话。比如在话题的引导上,跟人对人之间的策略是不一样的。当两个都调优之后,就可以生成出机器和机器之间对话的小片段。
第二个部分是如何将从文档、新闻以及GPT3生成文本片段编排起来。当有一个文本片段后,需要判断最后一句的话题,比如:聊猫砂,就把它接到一个对话的引擎上,让对话引擎再接着猫砂的话题聊几句。并在这个过程中不断的进行判断。第一个判断是AI和AI之间,因为聊的时候题目会不断地偏移,偏离后的新话题,在所有的对话片段库中,能不能找到一个强相关性的内容;如果能找到,就完成了衔接,就从文章A里的话题A顺接到了新的文章B里的话题的B。但是如果AI对话聊了很多轮了之后,仍然匹配不到这样的新内容,就会做一个高熵的判断,从信息学Information Game角度进行评判。当对话引擎的输出已经变成白开水,比如:回答是“呵呵”;或者回答已经跟上文的重复性很高,没有带来任何有价值的新信息,就认为这是一个高熵的状态。一旦进入高熵的状态,就会强制进行话题的切换。这个切换可以选择当前公众热点话题,也可以选择用户自己感兴趣的话题,根据所选话题在整个文本片段搜索引擎中,获取新文本片段并完成新话题的切换。从而实现AI与AI对话的编排。
由于小冰至少积累了几百亿的人际对话数据,事实上也可以根据人机对话的历史数据,在已有的AI与AI的对话脚本中插入一些新的对话。比如:在文本片段中,有一句话是X+Y,如果在人机的对话库中能找到和X非常相近的话,人机对话记录中随后的任意一句话记作Z,加入再接下来的第三句话又跟文本片段中的Y很相近,就可以在X和Y之间,插进一个新的句子Z。这样让整个编排中两个AI相互交换对话权的频率更高、参与度更高、更自然。这个也是利用AI的对话引擎,帮助AI与AI对谈的编排文本变得更加自然、更富有内容的方法。
04 AI对谈的语音合成与节奏控制
当拿到了一个很长、编排好的、多个文档、编排的长脚本后,最后就是进行语音合成,生产出在沉浸式社交场景中、能直接听懂的内容。语音合成需要完成几项工作内容:
- 首先需要根据对话角色的人设进行内容改写。由于对话里边每个角色都有人设,角色的对话内容,需要根据角色的人设再进行次改写。比如:口头禅,或者男性和女性之间,说话的力度有所不同,这些都可以进行改写;
- 其次需要根据人设设定AI对谈的节奏。这个节奏包括说话的停顿时间、语速、音量,包括情绪的表达:柔和、激动或者生气;
- 第三步需要设定每个AI的习惯语气。包括每个AI有自己熟悉的语气词和切口词,例如:“比如…”。每个人都会有自己不同的对话习惯;
- 最后用离线语音合成,把每段话的片段,变成语音流,然后再插入合适的停顿,最终生成一个大的语音流。
05 AI对谈在沉浸式虚拟社交网络中的应用场景
到目前为止,沉浸式虚拟社交技术很新,还是一个探索的阶段,人和人之间的对话已经比较简单,用类似网络会议的方式就可以打通人和人之间的对话。上面也介绍了一些尝试,如何能让AI和AI进行对谈。但是当把两个圈真正地融合在一起,实现一群人和一群AI之间更复杂的交互,是一个非常难的问题。
我们推出小冰岛这个App,就是希望通过这个试验田,探索一群人和一群AI,在一个虚拟社交媒体中,如何进行互动、如何抓住用户的兴趣点。通过每周在小冰岛上推出新功能进行迭代、试错,最终找到这个复杂问题的更优解法。
AI对谈的应用场景,首先需要提到元宇宙, FaceBook、微软,都采用了VR或者AR头盔的方式,实现在元宇宙里畅游,里面的内容充满视觉冲击。比如:非常漂亮的风景,非常好看的房间等等,目前元宇宙的很多东西都是做成这样的形式。虽然技术在不断地进步,但对于用户仍然要付出较高的能耗,一天能戴1至2小时已经是极限。
其实元宇宙应该能够提供更轻量级的融入方法。比如:通过一个蓝牙耳机可以听到宇宙的声音;通过在纽扣上装一个小摄像头,元宇宙的虚拟人物就能根据看到的东西随时进行反馈。这样就能以比较低的能耗、更长的时间停留在虚拟的社交环境中。
其次,用户进入元宇宙后,由于没有目的性,只有眼睛看到的内容很有冲击性。加上AI和AI之间的对话后,就可以让用户在元宇宙里听听其他人都在干什么。就像逛公园,最终找到在元宇宙中可以做什么,了解有哪些有意思的事情。这是一个破冰的话题和契机。即使用户完全不说话,元宇宙中有很多的AI,或NPC(电脑人)有非常丰富的对话。通过统计用户在不同AI对谈旁边停留时间的长短,推断用户的喜好。比如:对足球更感兴趣,可能不喜欢美术,或不喜欢物理式样的东西等等。
假设一个用户在元宇宙中,可以自由控制自己的行动。那么AI对谈就像一个更灵活的信息流,在短视频App中,用户如果对视频不感兴趣,可以划一下切换到下一条视频。在元宇宙中,用户如果没有对当前地点的AI对谈不感兴趣了,就会移动到其它地方看看。根据用户的移动轨迹,就可以渐渐描绘出这个人的用户画像。。
最后一件很有价值的事情是,元宇宙能打造一个人的AI替身。尽管人和人之间的直接交流,是AI无法替代和超越的,但每个人的时间是有限的;家里的老人可能非常渴望和子女、孙子、孙女有更多的交流,想知道他们生活的点点滴滴。但是子女都要上班、上幼儿园、上学,所以没有那么多时间陪伴老人。比如:孙女今天在幼儿园学会了一首新儿歌,却没有时间到爷爷家再演唱一遍。假如我们可以通过手机,或者很小的可穿戴设备,收集到这个信息,再通过孙女的AI虚拟替身给爷爷讲述:今天幼儿园发生了什么,学会的新歌也可以通过AI演唱。
这样的虚拟社交环境,不需要戴上头盔去感受万米高大瀑布的视觉冲击。只需要孙女的形象出现,让爷爷感受到和孙女很相似的表情、动作和声音。哪怕只是简单的把影像投射到电视上,对老人来说价值也是非常巨大的。
再比如,子女可能根本没有时间向老人讲述工作单位和居住城市所发生的新闻趣事、,但AI替身却可以根据子女的基本信息,在公开的新闻中搜索到他们工作单位和居住城市的相关信息,AI替身可以利用大数据将这些碎片信息扩展为丰富详实的内容,构建成一个活灵活现、有血有肉的形象,以无限的时间去陪伴老人。这个才是AI、或者新的虚拟社交环境,能为未来的生活带来更积极的社会意义。
06 精彩问答
Q1:用户是否可以中途加入AI的交流,并一起实时改变AI的话题?
A:这是一个实现的目标,在第一期刚开始做的时候就打算去改变它的话题。其实还有一个更像AI微信、直接一对一的对话版本,会影响到元宇宙里大家聊的话题。这个可以通过语音的消息影响AI对话,是过几个月要实现的下一个高级功能。
因为这个场景太新了,有很多的事情可以去尝试、去做,目前只能从相对比较简单的事情逐步做起,基本上会以每周更新一个新功能的速度,不断向前迭代。请大家保持对小冰岛的持续关注。
Q2:AI目前在支持用人的语言进行对话或者交流的时候,能否复述新闻、比赛、艺术作品之类的内容?
A:这个也是现在AI对话想要解决的技术问题。我们要从新闻和文档中提取内容,并且把它编排成更像人人之间的对话。这样目标现在还做不到人的水平,如果真人阅读文章,然后再去聊的时候,概括的准确度和对话的交流能力,还是比AI好的多。这条路必须走起来,现在也许相比真人只能做到30分,但是通过不断的迭代进步,应该能在不久的未来突破及格线。如果没有真人聊这个问题的时候,比如:昨天又有很多劲爆的新闻出来了,假如没人跟你聊,希望进入元宇宙发现也在聊这个,就可以参与这种聊天话题,这是未来需要达到的一个目标。
Q3:AI与AI在元宇宙中一直交互,会不会有消耗比较多的算力、带宽资源的问题存在?
A:这个问题问的很好,包括比如:区块链技术、VR技术都是高耗算力。这个也是为什么希望除了戴头盔以外,元宇宙还应该有一些更轻量级的融入方法,比如只有听觉方法。
还有AI和AI对话,虽然从虚拟上是一直发生的,但事实的设计是:当用户不在这个岛上时,AI和AI不会进行计算。只有当用户进来的时候,才会去挑选A和B在聊,并且可以从对话的一半儿开始聊起。一旦用户退出,没有真人在这个环境中,这个宇宙还是一个静止的状态,不会白白的浪费算力。
分享嘉宾: