三 从零开始做聊天机器人 ---- 整句搜索型机器人(二)

如果在人输入不同的句子的时候,回答永远是永恒不变得一句话,对话会显的很死板 。事实上,在日常对话中,对于同一个问题不同的人的回答不同,但是他们的意思却是相同的,我们都能明白 。所以在这里,也可以在回答文中引入同义文 。
在这里,我需要再一次强调我们的机器人制作理念 。在机器人能够自我更改人编写的高度复杂的预定义脚本之前,我们永远能做的只有拟人 。所以我们引入了回答文同义文 。为的是让机器人的回答看上去稍微自然一点儿 。
如图四所示,展示的是一个从Qn(E1,E2,...,En)到An(E1,E2,...,En)的映射 。
【三从零开始做聊天机器人 ---- 整句搜索型机器人(二)】

三  从零开始做聊天机器人 ---- 整句搜索型机器人(二)

文章插图
图四
这个时候,我们发现了一个和数学相关的很有趣东西:对话,其实就是映射;机器人,其实就是模式识别 。当这个识别用的数据库有序的积累到达一定的复杂度得时候,就产生了智能 。
假想,如果我们把所有可能的对话都列出来,人所说的任何一句话用于属于集合Qm,我们永远可以找一个Qm到Am的映射,那么这个机器人就达到了拟人的巅峰,可以通过图灵测试了 。
其实如果数据存储空间足够大,和无穷无尽的人力资源,到这里我们就已经实现了人工智能对话机器人 。但是为什么没有人这么做呢?假想,中文有10000个汉字,如果一句话由10个字组成,那么就有1.e+40种可能,一个汉字为2byte,那么就需要9.5e+33兆的空间来存储,我们没有那么大的存储空间,更不用说我们没有人力做出如此多的集合映射 。
所以我们只有把整句切分为小一些的元素,通过提高计算复杂度来降低对存储空间和人力的需求 。