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

来源:互联网 发布:巅峰阁app软件 编辑:程序博客网 时间:2024/05/18 02:59

    如果在人输入不同的句子的时候,回答永远是永恒不变得一句话,对话会显的很死板。事实上,在日常对话中,对于同一个问题不同的人的回答不同,但是他们的意思却是相同的,我们都能明白。所以在这里,也可以在回答文中引入同义文。


    在这里,我需要再一次强调我们的机器人制作理念。在机器人能够自我更改人编写的高度复杂的预定义脚本之前,我们永远能做的只有拟人。所以我们引入了回答文同义文。为的是让机器人的回答看上去稍微自然一点儿。


    如图四所示,展示的是一个从Qn(E1,E2,...,En)到An(E1,E2,...,En)的映射。


                                                             图四


    这个时候,我们发现了一个和数学相关的很有趣东西:对话,其实就是映射;机器人,其实就是模式识别。当这个识别用的数据库有序的积累到达一定的复杂度得时候,就产生了智能。


    假想,如果我们把所有可能的对话都列出来,人所说的任何一句话用于属于集合Qm,我们永远可以找一个Qm到Am的映射,那么这个机器人就达到了拟人的巅峰,可以通过图灵测试了。


    其实如果数据存储空间足够大,和无穷无尽的人力资源,到这里我们就已经实现了人工智能对话机器人。但是为什么没有人这么做呢?假想,中文有10000个汉字,如果一句话由10个字组成,那么就有1.e+40种可能,一个汉字为2byte,那么就需要9.5e+33兆的空间来存储,我们没有那么大的存储空间,更不用说我们没有人力做出如此多的集合映射。


    所以我们只有把整句切分为小一些的元素,通过提高计算复杂度来降低对存储空间和人力的需求。