大家好,我是谛听机器人创始人彭军辉。感谢各位听众,感谢钛媒体能给我这次机会和众多自然语言处理行业的大佬们同台演讲。

我虽然做自然语言处理十多年了,但还算不上专家,只能算资深从业者。我大学专业是历史教育,我们有汉语语言学课程。大学毕业后我看到大家用五笔字型输入汉字非常麻烦,就想做一款纯拼音的输入法。我当时不懂编程,就从语言学入手。在许多输入法论坛和语言学论坛混了一段时间以后,我发现我要做的输入法编码其实就是一套拼音文字方案。后来输入法没做成,却做出来了一套汉语智能拼音文字方案。我把我的方案放在了汉语拼音化论坛,并用我的拼音文字写了几篇文章,最后我的方案成了汉语拼音化论坛主推的几套方案之一。

有一次看到小i机器人,我发现用我的技术完全可以做个问答机器人。大约2008年前后,我做成了第一款问答机器人——机器人柳柳web版。当时的程序是拿ASP写的。后来这款机器人曾在开心网上线过,现在后台的链接还在。2011年我得到第一次投资,开发出恋爱机器人柳柳安卓版。当时想做成虚拟情人。但由于其实我除了关注技术,对管理、对产品、对推广、对经营我都不懂,导致后来公司现金流断裂失败了。

2016年重新拿到投资成立了现在的公司,开发了谛听机器人开放平台,我们的目标是建立一个机器人的平行世界,让人人拥有自己的个性化机器人。

SIRI并没有真正理解人类语言

以我有限的经验,我发现最早的人机交互方式是键盘加命令式的,Linux和Dos就是这种方式,后来出现了鼠标加菜单的交互方式,再后来出现了触摸屏加菜单的交互方式。我发现交互方式的革新和产业革新之间有一定关联性。键盘加命令的方式让计算机进入了办公室,带来了IT产业的蓬勃发展;鼠标加菜单的交互方式让计算机进入了家庭,促进了互联网产业的大发展,触摸屏加菜单的交互方式是移动互联网发展的必要条件。

2011年SIRI上线以后,人们惊呼新的人机交互方式诞生了。人们认为SIRI能够理解人类,不再是人类学习怎么用IT系统了。很多媒体将SIRI比作第六次产业革命,认为人工智能时代带到来了。SIRI确实是新的交互方式,带来了完全不同的交互体验。它进一步解放了人,让人们使用IT系统的难度再次降低了。一些残疾人、老人和孩子也可以借助SIRI来使用IT系统。

然而5年过去了,我们发现并没有发生多大改变。那么SIRI的主要问题在哪里?我认为,归根结底SIRI并没有真正理解人类语言,所以还没法和人类进行自然流畅地交流。我们期望不再是人类理解机器的规则,而是机器理解人类的规则。也就是说机器要能听懂人话。

为什么机器人不懂人话?

我们先看一段对话,对话的背景是有个小朋友想吃披萨,于是独自打了辆出租车。

司机:你要去哪里?

小朋友:我要去吃披萨。

司机:去哪里吃?

小朋友:披萨店。

司机:披萨店在哪里?

小朋友:在城里。

司机:我是问您怎么去?

小朋友:您不是司机么?

分析上面的对话,我们发现之所以出现交流上的障碍,主要是因为对话的一方,也就是那个小朋友并没有理解司机的意图。司机只想知道乘客想去的目的地是哪里。

其实任何对话的过程,都是透过语言表达,理解对方意图的过程。人机自然语言交互的过程也是这样的过程。当我们产生了某个想法,然后用语言表达出来,只有对方理解了我们的意图,才是真正理解了我们。但语言不是意图本身,有时候语言能充分表达意图,有时候不能,有时候可能语言和意图是背离的。

我们看一段正话反说的例子:

甲:你们公司那几个销售怎么样?

乙:好极了。

甲:怎么好?

乙:来了几个月一个单子都没谈下来。

我们再看一个错误理解意图的例子:

一富翁正在遛狗,一个杀手从草丛里蹿出来,啪啪两枪把狗打死了。富翁大怒:你杀我的狗干什么?

杀手冷笑一声:有人花500万,让我取了你的狗命。富翁看了一眼杀手,激动地握住他手说:你的语文老师是谁?我要给她发个红包!

第二天,杀手再次从草丛中窜出来,抢走了富翁的iPhone6s,富豪说:你抢我苹果干嘛?

杀手说,因为有人出钱一千万 要让我取你的首级(手机)。富翁激动地握住他手说:你的语文老师是谁?我要再发个大红包!

到了晚上下起了雨,富豪觉得系此乃天意,逃命为上策,拿把大伞想悄悄溜出门,谁知刚到后门口,杀手又冒出来啦!

“嘿嘿嘿!我就知道你要走后门,早等着你啦!”说时迟,那时快!杀手左手夺过伞,右手把傍晚抢的手机直接塞进富豪怀里!

“我主人真神机妙算,就知道你会拿伞出来,他今天都不想跟我说话,直接给张纸条,叫我来拿伞!”说完抛下纸条扬长而去。

富豪捡起一看,愤笔的狂草:“不要手机,要他的命(伞)!”富豪直接就跪下了“恩师啊,您在哪?!

我们看一段说假话的例子:

曹操 《三国演义》中官渡之战,许攸投奔曹操,引出一段经典对话,常被引以证明曹操的奸诈。

许攸: 明公现在的粮草还剩多少呢?

曹操: 一年。

许攸: 恐怕未必吧。

曹操: 半年。

许攸因看了求救文书, 不悅, 拂袖而起说: 我诚心投奔明公, 公竟然如此见外, 实在叫人大失所望。

曹操: 子远(许)请息怒, 待我告知实情吧, 军中粮草只能支撐三个月。

许攸不怒反笑: 世人都说曹孟德是奸雄, 今日一见, 果然如此。

曹操: 兵不厌诈嘛!其实只有一个月。

许攸斥: 不要再瞒我!你已经无粮草了。然后拿出从信使身上的搜出告急文书。曹操只好保持沉默。

用一个图来表达语言交互的过程:

20161206 02 robot02

在表达者的一侧意图通过语言表达,在倾听者的一侧,透过语言理解意图。对用户意图的理解,就是语言处理的过程。在这个过程中,有两个处理方向,一个是基于统计学的,一个是基于语言学的。我们是后者。

总结来说,人话的背后是意图,处理语言实际是对意图的处理。目标对了,效果才能好。

深度语义理解技术和关键字模糊查询

很多人认为我们做的就是关键字模糊查询,和搜索引擎的技术没有什么区别。我告诉他们我们深度语言理解技术和关键字模糊查询有本质区别。区别主要有以下几点:

1.我们分语义场景处理,关键字模糊查询不分语义场景

语言离不开语义场景。把语言从语义场景里孤立出来,语义就会变得不明确。语义处理第一步确定语义场景。比如当用户说“刘德华”,其实你无法理解用户的意图。当我们知道用户说“刘德华”是在音乐播放场景,我们就明白了用户是想听刘德华的歌。

下图是正例和反例。这里没有看轻小冰的意思,我还是很崇拜他们的。

20161206 02 robot03

有人说,你这不就是上下文处理么?这个叫上下文处理也没什么错。但我觉得叫上下文处理是程序员思维。我们叫场景处理是从语言角度出发的。场景处理必须是稳定的,要能一直保持在一定场景里,用户想跳出再跳出,用户不想跳出就不能跳出。另一方面要灵活,用户不想跳出就不能跳出。否则就谈不上场景处理。

结论:如果不能让对话按照用户意图保持在一定场景,不能按照用户意图任意跳出和转换,不能算真正的语义场景处理,不是语义处理,是关键字模糊查询。

2.理解语义的细微差别是语言处理第一要务

不能理解语义之间的细微差别,不能算语义处理。我们认为语义=词+句式。句式是句子成分的不同组合方式。相同词的不同组合方式大多数时候语义不同。我们认为句子里每个词都有意义,哪怕是句末语气助词。

“你家的地得扫了。”——“你扫了。”

“你能干嘛?”——“你干嘛的?”——“你干嘛啊!”——“你在干嘛?”

以上两组句子,关键字模糊查询技术分不清,我们语义处理可以。因为关键字模糊查询不处理“的地得”这样的虚词,有些连“你我他”都忽略了。

结论:不能处理语义的细微差别是关键字模糊查询,能处理是语义处理。

3.对一个问题的不同表达方式的理解也是区别语义处理和非语义处理的重要标志

这一句理解起来稍微有点难。似乎关键字模糊查询在这方面更擅长一点,但关键字模糊查询是用几个关键字来代表语义,很不稳定,很容易把关键字相同的但语义不同的句子当成同样的语义处理。

我们看一组例子:

“商鞅变法是用什么东西树立威信的?”

“商鞅变法是借助什么东西树立威信的?”

“商鞅变法是借用什么东西树立威信的?”

“商鞅变法是用什么物品树立威信的?”

“商鞅在变法中是用什么来树立威信的?”

“商鞅在变法中树立威信的时候用了什么东西?”

“商鞅在变法中树立威信的时候使用了什么道具?”

以上几个句子的意思完全是一样的,它们的答案统一是“一根木杆”。

所以在知识库里存其中任何一条,换别的问法也应该能得到正确的答案。

有人说关键字模糊查询也都能做到把以上句子当成一个意思处理。我说也许能。但关键是他们处理不了以上句子和“商鞅变法是怎样树立威信”这句话之间的差别。

结论:如果不是在差异处理的基础上做的语义相同处理,不是真正的语义处理而是关键字模糊查询。

4.能够容错纠错是语义处理的重要功能,会让交互更自然

我们的表达有时候会出错,有时候是错误是出在语音识别的环节。语义处理是处理意图的,应该能根据场景进行纠错。

就像下图,在运动控制场景下,用户说“天津”“后腿”其实是表达错了。应该按照用户意图,按照“前进”“后退”处理。

20161206 02 robot04

结论:关键字模糊查询是对字词的处理,是对信号的处理,不是对语义的处理,容错性要差一些。

5.只有机器自己说话不前后矛盾,才是真正做好了语义处理

当机器真正理解了语义,它应当理解语言之间的矛盾和冲突,理解语言之间的各种关系。它能产生自己的意图,并根据语法规则组织语言。这样它才能准确表达,准备理解用户的表达。但这个非常难。

20161206 02 robot05

结论:语义理解应该能根据语义建立一个有机的知识库,知识库里的知识广泛链接并相互统一。而用关键字模糊查询技术做不到这一点。

以上就是我说的语义处理的四大原则:

第一:差异原则。区分语义的细微差异。

第二:同一原则。就是把语义相同的句子归并处理。

第三:模糊原则。要能容错。

第四:一致原则。就是说话要前后一致,不矛盾。

以上四大原则,我们前两个原则都做得不错。第三个原则目前还不太好。第四个难度太大,目前还没动手。

我们谛听机器人是一家技术公司,虽然成立9个月了,但是能拿出来的产品不多,目前用户也不多。虽然刚刚跟用户收到了一些使用费,但这不是我们的追求。我们期望让每个企业,每个个人用户都使用我们的机器人。让机器人替代个人和企业在虚拟的世界工作。

有朋友提出了平行人的概念,就是在虚拟世界里,有一个虚拟的你,“他”替代你在虚拟世界里完成本该由你完成的工作。比如客服、咨询、教育,很多在互联网上完成的工作都可以在虚拟世界完成。那个虚拟世界就是别人说的平行世界吧!我们目前就在建立这个平行世界。