不久前学了一门课叫做电影与哲学,这门慕课将哲学和科幻电影结合起来,对我的世界观产生了很大冲击。在思考人类是如何学习知识的同时,觉得人类的交流也是有规律性的,因此有了做这个汉英翻译模型的念头。下面是我的模型的框架与实现细节。实现思想将在我的博客上发布。
注意:test.cpp
是我用来测试用的,删掉即可。
语言的单元是 word,汉语和英语都是如此,利用 Word 对象来表示词的对应关系(corresponding relationship)。
词的集合就是词库,利用 thesaurus 作为不同类型的词的容器。
词库实现了单词添加,单词查找,单词删除等等操作。
词库包括基本词与合成词。合成词一般都是基本词的变形或者组合。例如 filename 是 file 和 name 的组合。
句子,有了词库,我们开始构造句子。理解一个句子对于机器来说是一个很复杂的事情。聊天需要考虑以下因素。
-
背景
不同的背景下,相同的词有不同的含义,所以机器首先要判断当前聊天的环境,找到所有和环境相关的词,这样可以筛选掉很多无关的单词。聊天环境有很多,我找了一些特定地点,比如
厨房环境:烹饪、厨具、味觉有关。
篮球场:和篮球知识的词语有关。
-
句子结构
这个东西需要积累,不论是人还是机器。例如
be know as :被认为是。
-
聊天习惯
机器应该具有模仿能力,和别人聊天的时候,将词语使用的频率记录下来,这样就可以根据频率来提高翻译准确率。
一个成功的模型应该按照人们的意愿进行进化。汉英模型也是,模型应该应该拥有相应的学习能力,也就是学习机制。
人类可以进行学习,是因为人类可以感受到外界的刺激做出相应的反应,做出反应的同时也进行了判断。所以模型也要模拟这个过程。婴儿和小孩是没有判断能力的,他们所接收到的刺激,都是由抚养者解释给他们听,前提是他们得表现出疑惑和好奇的行为。人类表现疑惑和好奇的行为有很多。例如表情、动作或者是声音。
但是由于我们的模型现在只做到了逻辑关系和输出输入,所以模型和外界唯一有接触的就是我的输入的刺激。机器需要对我的刺激做出反应。以后将持续优化模型,给模型添加
-
麦克风
模型可以捕捉外界声音的刺激并做相应的判断
-
摄像头
模型可以捕捉外界的光线,看到世界的样子,最简单的是识别颜色
-
轮子
模型可以通过语言指令实现前后左右行走,有了摄像机和麦克风的辅助,至少不会像盲人一样
-
温度探测器
这个可以实现我们一部分的触觉,在温度合理的区域内活动,一旦温度过高,则做出相应的反应
-
化学探测器
这个可以代替我们的味觉和嗅觉,味道和气味本质上都是化学物质的性质,只要我们实现了化学物质的性质的鉴别,就能实现味觉和嗅觉。
-
无线感应
这是人类没有的器官,但是对于电子设备来说却很好实现
任何知识都是从经验而来。但是学习能力、对空间的感知能力、时间的判断能力却是与生俱来的。
对于本模型来说,模型也需要和输入者进行相应的交流与判断,以及和交流者进行确认。例如某些句子应该一开始就写入数据库的,例如
-
你知道苹果吗
你知道。。。吗:这就是一个判断语句,这时候模型会判断我们在问他,并需要苹果的相应翻译并作出回复。有两种回复,如果是知道,会回复苹果的意思和解释,并询问是否正确。
如果不知道,则将其记录在好奇库,并询问输入者是否知道其中意思,如果知道则要求你解释。
-
交流句子
你每输入一条语句,机器就会翻译你的语句,并判断是否知道里面的每一层意思,如果有哪些单词不知道,它也会将其记录在好奇库,并问你相应的意思,然后更新自己的数据库。
本模型最简单的方式应该是将数据存储在关系型数据库中,然后程序作为其模型的大脑,但是考虑到模型还是雏形,所以为了方便我直接将其存储在文本中。