今天,基本上非常的闲:因为即将展开 内部网页 的升级还没有开始;所以今天上午就闲在 CSDN 看文章;
中文分词
下午,还是木有什么事情做;于是想起之前 公司官网 的 “搜索” 功能!
——这种非 数据库 like 的搜索方式,当初就让自己眼前一亮;
于是就在网上了解了 Lucene.net,盘古分词,中科院的分词,初步了解是:
Lucene.net 源于Java,好评不错;
盘古分词 可能比较依赖词库的分词算法;
中科院分词 冒似是将词汇串联成树,然后分词的算法;
(可能理解不准确,不承担误导责任)
看了这些中文分词算法:特别是 “盘古分词”
——一个程序员写下的分词算法;还有中科院的 树状思想;
句式分词
自己于是想:
我们能不能 利用固定的几种 汉语 结构来分词,而词库 也按照 词性 来划分;
有计划的扫描词库,肯定比扫描全部 几十万的词库 效率高一些:
比方说,汉语中有一种 句式结构: 名词|动词|名词
那么要分词“舒小龙喜欢阿貂”
首先程序全扫描 找到 “舒小龙”——词库中需要有 “舒小龙”且 词性 为 名词;
这时,程序 通过句式,会发现 所有句式后面, 名词后面只能是 动词——那么就只在 动词词库中扫描;
找到动词“喜欢”之后,发现句式 动词 后面只能是“名词”——那么就又会再次去 名词词库中扫描;
——当然,句式 种类很多 名词后面也不一定全是动词;但是至少汉语句式 总共加起来 也不会超过 20种;
用这种方式可以匹配出很多的汉语语句,甚至可以匹配出 汉语想要表达的思想;
比如:“阿貂喜欢我吗?”——这个句式 符合 (名词\代词)|动词|(名词\代词)|“吗” 句式
——我们就可以知道 这时一个疑问句!
假如,这句话是对电脑说的:
那么电脑至少知道 这时一个疑问句,
如果 电脑可以分析出这个 句式 是想 知道 “阿貂”对“我”是否有“喜欢”这个动作!
好了,这个想法就到这里,没有继续多想下去;
——因为我未来很长时间没有时间继续这个 “句式分词”的研究!
人工智能
当自己准备继续将 句式分词 的 代码实现 的时候,感觉压力就来了:
——既有能力压力,也有时间压力;
于是开始转向思考:如何实现人工智能;
百度一下,其实人工智能很早就开始研究——然而现在的所谓人工智能都依然只是在 逻辑思维 的范围内!
我觉得——像电脑象棋 才算是一种人工智能
——但现在实现的这种智能是建立在 算法 基础上的,并不是电脑自己思维的结果,而是逻辑执行的结果!
——这种智能,永远局限于编程人员的算法,编程人员算法越优秀,电脑的智能越高;
算法越垃圾,电脑的就只会 推卒子!只为 送死!
说白了,就是一种学习能力——才算是我认为的真正的智能!
当电脑和人下棋,前一局:电脑 先推当心卒,结果这个卒子死了;
那么,下一局:电脑 就要能够思考:在相同的情况下 不能 推卒子;
象棋的智力思维太高了,我们举个最简单的例子;
我们小时候经常玩的 “小猫钓鱼”——棋盘上有 12个点,每方 4个棋子;
——走完所有的类型方式,我估计不超过 100种;
第一局, 人先: “小猫钓鱼”吃掉一个; 电脑不会下,只走了一步: ....... 最后电脑输了;
电脑就要知道:第二局的时候,当人 “小猫钓鱼”吃掉自己一个时,要考虑使用新的步法——不变不发,就会和第一局一样输;
——这种情况下,电脑甚至会和人 下 完所有的 一百多局的不同步法——直到后来,电脑每一步都能找到经验——这就是一种智能!
回到象棋,象棋要下玩 所有的步法,可能有 千万种——这种学习非常浪费时间;
那么电脑能够对局部子粒进行 经验分析,我想也是可取的;
但是,我们要思考一个问题:
假如,小猫钓鱼时: 有一局,人输了,电脑赢了;
下一局,人的走法和上一局一样,电脑根据经验,肯定也会 用上一盘的走法:
因为人不变,电脑不变,结局肯定也不变——电脑赢;
那么我们 就会想: 有一局,电脑输了;
下一局,人不变,电脑不变就会输;
——因为有前一盘的经验,电脑也知道自己不变就会输;
——但是。为什么 前一种情况 电脑可以不变,后一种情况电脑就非要变??
——因为后一种情况不变会输:但是电脑怎么知道 “输” 是什么东西?
“输”是一种人类的思维!!
——如果我们用程序代码 强行规定:必须让 对方一子不剩!
那么电脑不管知不知道“输赢”这个概念,他都会 努力下赢每一局棋;
等电脑经验累积完毕之后,人类就永远赢不了电脑——这是我们想要的人工智能吗??
——不是!
仔细理解,我想表达的思想是:
“必须让对方一子不剩”——这是一种目的:赢的目的!
“必须让自己一子不剩”——这时一种目的:输的目的!
“尽量让对方比自己多一子胜出”——这时一个目的:让人险胜,自己险输的目的!
用程序代码强行规定:必须 让对方一子不剩——完全可以用程序实现,干嘛还要用人工智能的思想来实现??
人类要赢,是因为 赢了棋可以吃冰淇淋; 这是物质利益;
是因为 赢了棋可以被封为“棋王”; 只是名声利益;
是因为 输了会损害尊严; 这是尊严利益——也算是名声利益;
作为一个人类:30岁的大人 和 5岁的小孩下棋: 300局,小孩全输;
出于名声利益:你看那个大人,都不晓得让着那个小伢!
于是为了维护名声:大人输了!——是大人的原因却是不变的!
——我想表达的意思是:没有原因而要达到一个目的,都不属于人工智能!
只有电脑知道:为什么要赢,为什么要输
——输了自己会得失什么,赢了自己会得失什么;电脑才能知道自己的目的!
一切都在变,但是决定法则的法则却是不变的!
因为输了,会 损失名声=>损失机会=>损失好的未来=>糟糕的人生=>自杀
因为赢了,会 得到名声=>得到机会=>得到好的未来=>美好的人生=>眷恋人世
——换言之,可能是因为 人怕死,所以才要下赢这局棋! 目的只有一个:怕死!
那么,我们在编写人工智能程序时,程序就应该设置一个核心目的:怕死!
如果人生气了,就会格式化硬盘,自己就会完蛋,是最大损害!
这时。电脑再和人下 “小猫钓鱼”时:就会注意:
要赢,因为不然人类会认为自己是个垃圾,于是硬盘就会被格式化,自己要完蛋;
要输,因为总是赢人类,人类可能生气,将硬盘格式化,自己要完蛋;
——我觉得最终原因一致,因此影响程序作出的所有决定,细化到走哪一步棋,才是人工智能的雏形!
——就像我们怕死,最后影响到这一局象棋,细化到我现在是 该出车,还是 该飞炮!
当然,程序怕“死”——是要用程序编码写进去的;
就像,人类怕死——是因为上帝已经在我们的思维中硬编码了;
最后
人类不可能长生不老,非死不可;
但是计算机程序,只要有存储空间就可以永远存活.....
电脑真有智能,就不会傻到让你格式化之前而不去找其他的存储空间;
人类真有只能,却真的无法改变上帝设置的非死不可的限定!
舒小龙
2011-12-22 18:23