汉语逻辑结构探讨

                       汉语逻辑结构探讨

    汉语是一个很庞大的语言体系,其他语言也一样,他大到了两千年前可以使用,两千年后的今天稍微扩充一下,就满足了我们的需求,未来再用个两千年估计也不成问题,甚至大到了我们自己都无法全面的了解,在自然语言信息化的过程里,中文分词 句子理解 机械翻译等几乎一塌糊涂.     难道我们的老祖宗最开始设计语言的时候,就把未来将出现的问题一一进行了全面的考虑很显然,这是不可能的,那语言是靠什么支撑着自己的活力这就是写这篇文章的原因,能将多大的道理谈不上,只是希望大家看了以后总有那么一点点的收获或者是灵感,而不是说又浪费了一段时间.     最原始的语言被设计出来的根本原因是为了交流,为了交流信息, 为了交流大自然的信息,比如危险,食物等等.所以最原始的语言就是能够将大自然客观完整的描叙,以此为基础,慢慢的将整个字词语法库扩充,形成当前的语言.     按上面所讲,把最最基础的语法和词条建立起来,作为一级词库,分析一下里面到底有什么.来看看原始人当时面临什么想描叙什么这个时期的原始人首先面临的是生存和认识外界的问题. 找到最基本的几十个词汇,如下规则     名词   各个物种的名称, (人 老虎 狼 兔子 草 树 等)         很显然 生活 不是一级词汇     动词   人的四肢五官产生的动作, (看 听 说 吃 闻 拿 移动)          很显然 打开 不是一级词汇     参数   描叙一级名词最基本特征 (高度 种族 性别 力量 等)         很显然 平面度 不是一级词汇     形容词 对参数或动词进行定量 (高度长 种族人 性别男 力量小 等)         很显然 善意 不是一级词汇 为了更好的分析它们的逻辑关系,我们采用如下参数结构,再增加一些词,减少一些词

参数一性别一高度一粗壮度一颜色一年龄段一种类一气味一坐标一生命值一饥饿值 张三一一男一高一一壮-一一一黄色一青年一一人一一臭一一Xy一一健康一一很饱 动词一一一一一一一一一一一一洗一一一一一一一一一一一走跑一一杀一一一吃

    请注意,前面的6个参数是不可改变的,至少是张三或其它动植物不能改变.后面的4个参数和4类动词是唯一对应的关系(走跑是一类词),你可以通过 ’走’ 改变坐标xy值, 通过 ’吃’ 改变饥饿值,但是不能通过’走’来改变饥饿值,这里的3类动词和参数存在逻辑关系,这就是我所要定义的一级词库.     在这里,动词都是依附参数存在的,且参数使用那个动词只有唯一选择. 作个对比会更清晰,股票很显然不是原始人创造的一级词汇,                    参数一一一一股指                    股票一一一一3800点         可以使用的动词一一一一一走杀推变升拉摸吹抢     这里你可以说股指走高, 股指杀高, 股指变高, 股指升高, 股指摸高.     为什么股票的参数有这么多不同类型的动词可以将它的改动描述因为股指是人们针对股票的特点归纳抽象出来的,它蕴含的意思不同,使用的动词也可以不同,来势汹汹的杀高,小心翼翼的摸高,泡沫很多的吹高,慢悠悠的走高等等.而且股票是一个大的概念,是许多只个股的归纳总称,它是个二级名词.再比如个股 '渝开发' ,不考虑背后的公司,单纯地作为一个股票市场上的名称代号,虽然在这个世界是具体指代一个东西,但是这个东西是人们后天归纳指代的一类事物,它的参数(股价17块)没有自己的专用动词,也是二级词汇.     同样的道理将数据写入内存, 将数据读入内存, 将数据放入内存等.     回到上面原始人的话题

参数一高度一粗壮度一拥有一归属一气味一坐标一生命值一饥饿值 张三一高一一一壮一一兔子一一一一一臭一一Xy一一健康一一很饱 动词一一一一一一一一一拿一被拿一一洗一一走跑一一杀一一吃

    任何事情都有意外,在这个一级词汇中,为什么动词变可以通用比如张三变到重庆,将老虎变死,他变饱了,他变高了,他变壮了,他变干净了,虽然很别扭,但是逻辑上也说得过去.因为在词库中,动词描叙的都是参数的改变,而变可以描叙所有的参数的更改,走到重庆可以说是坐标参数的更改动态过程,而变到重庆则直接描叙坐标参数更改结果,也可以说是参数变化得非常快.     写到这里,好像不关二级词汇什么事,为什么要将词汇分级 举例     移动  的定义         它仅仅表达了(主体坐标xy)朝(某个客体坐标xy)改变的信息,     对比以下词汇     走或跑  =  人移动    + 速度快慢的信息           追赶    =  人 移动   + 兔子坐标受主体影响 + 兔子的坐标在变远     躲避    =  兔子移动  + 人坐标受主体影响  + 与人的坐标方向相反     发现动词走 跑 追赶 躲避都是表达移动的意思,但是它们蕴含了更多的信息,这就是我要定义的二级词汇, 它们都可以由一级词汇推理得来,估计数量在一万到十万之间,如果全部采用手工推理,即使不考虑效率,我们也不能保证几万个词汇之间的逻辑完全耦合,没有任何冲突. 能不能让系统自动化的推理出二级词汇例如让系统将一级词汇和逻辑关系主动提交到我们手上,我们只是将正确的二级词汇直接命名就可以了,比如系统提交 主体(兔子)移动  + 客体(人)坐标受主体影响 + 与客体(人)的坐标方向相反,     我们发现这个逻辑结构成立,命名为 躲避,     这好比你去追美女和美女送上门来让你追,效率相差巨大,结果也有保证的.关键在于采用什么算法,能够让系统将一级词汇和逻辑关系主动提交到我们手上,而且不是提交海量的垃圾逻辑,这就是文章的下半部分我要讲的内容.     先把垃圾逻辑说完.还是拿上面的移动举例         张三和李四都看到对方,然后向对方走去,直到相遇.     这里不是追躲关系,但是又比移动多了一个逻辑关系,因为张三和李四都根据对方的坐标不断地调整自己的坐标,存在逻辑关联.用什么动词来描叙这种逻辑结构,事实上汉语里面根本就没有创造出这个动词,互相接近大致是这个意思,但是它不是动词,可以肯定类似的问题会有很多.     还有一个严重占用运算资源的垃圾逻辑问题用物理作比如,物质场当作一级词汇,依照一定逻辑推理出62种基本粒子(二级词汇),在此基础上又可以推理出110种的原子(三级词汇),继续推理更高级的分子(四级词汇)?动植物和石头?星球?星系?宇宙?多重宇宙…….电脑就是这么傻,不要说无穷递归逻辑,超过5层的逻辑就让你头疼了.很显然逻辑推理的优先级安排很重要,甚至我们可以禁止推理5层以上逻辑, 成语故事之类的词汇暂时不处理.

    下面介绍的是让系统将一级词汇和逻辑关系主动提交出来     做一个简化的文字agent系统,先申明此例子有很多漏洞,只是为了表达蕴含的意思     具体的算法分析在另外的文章中详细说明,这里只是讲逻辑.而且再次强调是文字agent系统,不是三维空间的物理agent系统 参数一攻击一防御一拥有一归属一重量一坐标一生命值一饥饿值一种类  张三一10一一0一一一一一一一一100一一Xy一一1000一一10一一人  李四 王五 兔子一1一一一0一一一一一一一一5一一一Xy一一100一一一5一一动物  草一一0一一一0一一一一一一一一1一一一Xy一一1一一一一0一一植物  动词一一一一一一一一拿一一一一一一一移动一一杀一一一吃  

物理规则…………..     1. 生命值大于0, 而且只有人和动物才可以调用动词;     2. 每隔2分钟, 如果人和动物的饥饿值0         生命值 = 生命值 — 饥饿值         饥饿值 = 饥饿值 +  5                        3. 所有数值最小为零, 比如饥饿值为0,吃再多东西也为0     4. 监听和避免任何降低生命值的动词和意图 动词规则………….     5. 动词'移动'  可以按照一定速度线性修改坐标xy(即移动);     6. 动词'杀'  按照攻击力降低客体生命值一次;         条件 主体 客体 位置坐标xy必须相差在10以内;     7. 动词'拿'  可以修改主体拥有值客体的归属值,禁止客体移动;         条件 主体 客体 位置坐标xy必须相差在2以内;     8. 动词'吃'  可以按照一定速度修改主体的饥饿值,         同时降低客体的重量;         条件 主体 客体(死)  存在拥有和归属的关系 逻辑推理规则……….     9. 根据参数调用相关动词     10.根据记忆调用动词 记忆系统………….(最重要,此处不详细讨论)     11.所有数据放入临时记忆     12.名词之间存在逻辑关系,动词之间存在逻辑关系 , 提取     13.按照一定规律重复出现的动作,                 提取     14.将12.13以一定格式或者动画提交,让用户命名,并记忆 让我们来运行这个系统     往地图上丢100颗草和1只兔子     1.由于无系统规则,开始不会有任何动静;     2.两分钟后,系统执行规则二的公式 生命值 = 生命值 — 饥饿值 ,修改兔子的生命值为95;     3.兔子监听到生命降低,查找到原因系统修改,间接原因饥饿值0, 并且为自己创造新规则 监听和避免任何增加饥饿值的动词和意图         保持 饥饿值=0;     4.兔子需要将饥饿值从10修改到0, 匹配动词吃,            条件 主体 客体  存在拥有和归属的关系     5.兔子拥有为空, 需要修改主体拥有值和客体的归属值,匹配动词拿,         条件 主体 客体 位置坐标xy必须相差在2以内;     6.兔子和草的坐标xy不一致,需要修改自己的坐标xy,匹配动词移动,     7.调用动词移动,顺序执行走到草边,拿到草,吃草,     8.饥饿值0,  循环到4, 重复4?5?6?7       饥饿值=0,  将循环4?5?6?7?8?4打包记忆到新规则下,     等待中…….     9.两分钟后,系统执行规则二的公式         生命值 = 生命值 — 饥饿值         饥饿值 = 饥饿值 +  5          10.新规则监听到饥饿值变化,调用记忆 循环4?5?6?7?8?4         循环9?10?9, 直到草被吃光, 最终兔子会被饿死.     如果兔子只能看到地图上一小块信息,那么上面的兔子就要奔走寻草了.

你也许会说这样的系统网上一抓一大把, 没有任何新意, 很好,我们向地图上放一个人张三, 一只兔子,没有草,     1.开始2分钟, 张三和兔子没有动,直到系统扣除他们的生命值,     2.张三和兔子分别发现对方,打算将对方吃掉降低饥饿值,来保证生命     3.他们朝对方移动相遇,同时想把对方拿住,由于动词拿的条件是客体必须不能移动,即禁止调用动词移动,     4.双方进行查询思考, 生命值=0 则不能调用动词,于是同时调用动词杀     5.兔子对人的生命造成1点伤害,人对兔子的生命造成10点伤害     6.兔子监听到生命值降低10,发现比系统扣除5点还要多,立即将避免被人攻击的优先级提高到第一位,系统扣除为第二位,         同理,人发现生命值降低1,但是避免被兔子攻击的优先级排第二位     7.兔子进行查询思考,杀的条件是坐标相差在10,调用移动,避开杀     8.人为了实现'杀,调用移动,保证坐标相差在10以内,     9.如果兔子移动的速度快,则人一直追,兔子一直跑,几个周期下来,最终系统饥饿值杀死兔子,人追上兔子吃掉,然后被系统饥饿值杀死.     10.将保存上面记忆的兔子重新复活在地图系统中,因为记忆,双方一见面,直接跳回步骤9,     针对上面的记忆,进行数据对比归纳分析, 发现调用动词走时,人和兔子存在逻辑关系     在流程3,系统发现移动的二级动词,我们命名为互相接近,     在流程7,系统发现移动的二级动词,我们命名为躲避,     在流程8, 系统发现移动的二级动词,我们命名为追赶, 系统发现循环      循环A   每隔2分钟,生命值被扣除,我们命名为天,系统自动生成参数时间循环以及参数值2分钟     循环B   前后两只兔子的生命值都从1000降低为0,我们命名为一生,系统自动生成参数生命值循环以及参数值1000,     循环C   兔子的每一天都是被系统扣除生命值和重复动词躲避 ,我们命名为生活,系统自动生成参数动作循环以及参数值动词1.2.3…., 系统自动生成参数时间循环以及参数值一天(生活,生存和活着,很血腥的词汇,并不是现在我们现在已经变迁为工作休息的意思)

再次向一个空白的地图里面放2个人张三和李四, 他们都拥有上一个例子的记忆,其中张三拥有一个兔子, 博弈流程如下     1.张三因为记忆,立即开始吃兔子,     2.李四向张三移动,因为死兔子无动作杀,所以李四的优先动作是吃兔子,然后才是吃人,     3.李四调用拿,想将兔子归属为自己,由于系统漏洞,即使张三正拿着兔子,也会被李四拿走,     4.因为担心李四的杀,张三的优先动作也是吃兔子,然后才是吃人,因此重复张三拿到兔子,李四拿到兔子,张三又拿到兔子,     5.两分钟后,系统扣除两人的生命值,杀的优先值还没有提高到第一位,重复张三拿到兔子,李四拿到兔子,张三又拿到兔子,     6.两分钟后,系统扣除两人的生命值,假如张三的动作优先发生改变,开始杀李四,这时李四为了避免生命值的降低,需要张三不能调用“杀”,存在以下3种动作选择:       A.张三不能调用杀——坐标相差大于10       B.张三没有调用杀的理由——放弃兔子的归属权       C.张三不能调用杀——杀死张三     根据程序,李四优先顺序变为“躲避”第一,杀第二,放弃兔子第三。     张三的优先顺序变为“追赶杀”第一,     7.两分钟后,系统扣除两人的生命值,张三的动作优先不变,       李四优先顺序变为“杀”第一,躲避第二,放弃兔子第三,那么李四开始杀张三。     扣除张三的生命值,他的动作立即变为躲避第一,追杀第二,     由于李四手上有兔子,因此,他也放弃追杀,变成停下来吃完兔子,     地图上面只有张三和李四,李四被杀掉10点,但饥饿值小5点     8.两分钟后,系统扣除两人的生命值,两人攻击对方,又同时改变为躲避对方,     9.重复8,直到系统把张三杀死,李四吃掉张三,然后也被系统杀死 不考虑概率和记忆,这是一个很好的博弈问题,算法的不同谁先拥有兔子等都会导致结果的不同,如果考虑记忆,就不光是博弈,更多的是心理学。     针对上面的记忆,进行数据对比归纳分析:     在流程3:李四强行拿走张三的兔子,命名为“抢”     在流程4:张三和李四都要拿兔子,命名为“争夺”     自然语言中拿的二级词汇还有:给 要 换 借还 这些词需要合作的集体社会才会出现。     通过训练地图,让记忆推理出合作,以及合作的重要性,     将一个强壮且速度快的张三和一个弱小的李四,丢到空白地图里。

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭