信息化的本质分享 http://blog.sciencenet.cn/u/Babituo

博文

理解晓辉的“第二路径”

已有 4304 次阅读 2011-10-29 12:47 |个人分类:基因软件开放实验室|系统分类:论文交流| 邹晓辉, 第二路径

是我对自然语言理解兴趣,让我在10多年前就认识了晓辉。记得那是在十多年前在声学所的NHC网站上,我看到了带有“学术广告性”的留言,说他有个伟大的发明能建立“文化基因工程”。我惊为奇人,留言者竟和我身处同一城市,我却一无所知。于是,物以类聚,我很快结识了晓辉,在晓辉的指引下,我误打误撞进入了北师大系统科学之窗的圈子里,一下认识了一大堆的老师。我的视点从一个埋头coding的技术总监的峡谷中,一下子就提高到了系统科学和哲学的高广的天空上。直到现在,晓辉一直是我的良师益友。
 
最近非常高兴地看到晓辉的思想有了传播的机会。我也看到晓辉最近对自己的思想也进行了改进和提升。其中最突出的一个表述是:晓辉发现了自然语言处理的第二路径,而传统的语言处理是第一路径。晓辉说,第二路径比第一路径具有的一些创见,会引发软件工程的一场革命,我将信将疑。在一番探究之下,初步认为晓辉的新路径只是一种字符编码的方式,只是“形对形”的变化,说可以取得计算机“理解”自然语言的重大突破,可能是幻觉——我正刚读完彭罗斯的《皇帝新脑》。
 
为了纠正望文生意的误解和满足探究事实的好奇心,我决定再深入“虎穴”,捉捉晓辉的“真虎”,希望即便是“虚拟的虎”,也是“真虎”。看过晓辉的最近几篇论文,网上真正参与讨论的人并不多,我相信是因为晓辉的论文中使用的“术语”太多,其他人又不太熟悉,看不到可理解的东西,又不敢乱说,或许有名家出于善意的附和,并不意味着他们真的看懂了晓辉的文字。——因为我确实没有看懂其中大部分的内容。因为我以学生自居,不怕出错,所以,我敢妄言,有和晓辉多年的情谊在,也不怕误会。
 
晓辉在论文《间接计算模型和间接形式化方法》中举了中文语言信息处理的一个例子,有两幅晓辉其实很早就画出来的2张图,虽然图形表述没有规范,比较有个性。我自己以前也常常画这样的图给程序员指导编程,其实只有我自己很清楚要表达的内容,程序员总是似懂非懂,虽说一图胜千言,其实是对规范的图形表达而言的,所以,图,也有“术图”,对应“术语”。我读晓辉的这2张图,也许就象当年我手下的程序员读我的图一样。我相信,读懂了(和晓辉理解一致了)这两张图的话,就搞懂了什么叫“第二路径”。图如下:
这张图表达了晓辉对汉字字词、词组的进行编码的一种设计方案。类似汉字输入法对汉字进行的编码,我们输入什么字符,计算机就会知道我们输入的哪几个汉字。不过,这个编码体系,不一定是用过来指导我们进行汉字输入的,晓辉说,甚至是可以帮助电脑来读懂我们的汉语文字的。
 
该图的核心是GSCM(序位矩阵)。简单地说,可以看成是书架上的一排书,比如m本马列著作。实际上看作是一本有m页,每页是n行的一本书更准确。在“序位矩阵”的左边就是“序位矩阵”的每一页记录的信息,是按字数多少来分页的,具有相同字数的汉字或词组,同处同1页,图中左边只画了3页,按照中央序位矩阵的描述,应该会有m页,表示字数达到m个字的词组的列表。
 
每一页都是一个编码表,被晓辉称为“双列表”的,就是这种类型的表格,表格的左列是一个十进制数按顺序的编码;右列则记录一些同长度的汉字字符串,我不知道在晓辉的设计中,是靠什么来标记这些汉字字符的,我只能想到的应该是标准的汉字区位码。这样的记录表在我最开始编写交互式作图软件的时候就用过,为了保证图形记录格式的一致性,对图形中要显示的字符串的元语中,只记录一个整数索引值,指向一个公共的字符串表中的索引号,不同的是,晓辉是按字符串长度来分类字符串表的,这给字符串索引会带来一些好处。因为每个表中的字符串是定长的,在存储器中可以根据索引可以直接定位字符串。这只是编程中的雕虫小技。稍微成熟一点的程序员都会知道,用一个哈稀表来记录字符串会得到更好的双向搜索的性能。
 
当然,只要我们愿意,我们可以把全体汉字可能组成的词组和单个的汉字,按这种方式进行再次的编码(除了汉字本身的区位码标识外)。实际上,我们得到的仅仅是一个区位码和十进制矩阵编码的一个映射表。当然,我们也可以假设,右列的汉字不是区位码,而是直接的图形点阵码或汉字矢量码。这样,就可以直接用十进制的矩阵码来寻址要显示的汉字字符的图形信息。
 
晓辉的序位矩阵编码表的基本信息实质上就是这个样子的,剩下2个求和式:
1. A = (∑nixi)
2. ∑amnXn = bm
也是晓辉的个性化表达。也是需要经过“仔细思考和猜测并得到晓辉认定”这样的繁杂过程才能得到和晓辉一致理解的表达,是误解风险很高的表达。我遇到这样的表达时,也会对自己的“善解人意”能力的信心大打折扣。
 
先来看:A = (∑nixi),我猜测如下
晓辉可能是想说:对于任何一个多字组成的字组(词)A。我们同时启用了2个编码nixi同时记录其中的每个字,这两个编码分别来自最开始的单字双列表的十进制编码id和汉字字符编码x。因为是多个字组成一个词,所以,就需要用多个“双码”(nixi)串起来表示一个词。至于得到这个A用来干什么,我猜可能是对一段“文”进行分词编码用吧——把一段文字中出现的多字连接的词用一个双码字符串来表示。即图6中所谓的[“文”的数据字化],其中包含词组的这类编码。并把这个字词组的双码串填到与之长度一致的“双列表”的字符码这一边(右边)。左边赋予一个十进制序列,就得到一个复合字的双码——左边是新十进制序号编码,右边是单字的双码串。可以想像,多字的双列表中,如果统一取单字的双码串来复合,可以重新构造这个“序位矩阵”。这个矩阵中的所有词组的编码,使用的是单字双列表中的“双码”(nixi)串,就不再需要填标准汉字区位码的串了。
 
这样的好处,是把词组的编码,用组成该词的每个字的“序位矩阵码”连接来记录了。把一个高层的序位矩阵码用多个低层序位码的集合来进行表达。如果想得再复杂一点,高层词组(长度更长),不仅可以使用单字的序位矩阵码,还可以使用比它短的任何一层的词组序位码。方案会很多,可以很复杂,估计晓辉没有想这么复杂。因为,那样做,就存在了序位码递进表达的应用,就可以把多个长度不同的双列表,叫做“递进双列表了”,我原以为晓辉会这样设计,可被晓辉否认了。即便晓辉否认了多层之间的连续递进(递归)表达,但至少也用了一层的递进——所有长度大于1的词组的双列表的字符编码,都用的是最基本的单字的双列表中的单字双码。也就是说:每个词组的字符码都只是单字双列表中的一个分布,然后对这个分布再编一个十进制的序位码而已。
 
再看 ∑amnXn = bm,这个式子需要猜测的成分就更大了,我严重怀疑我再猜测下去的必要性了。因为再猜测下去,恐怕误解的成分会摧毁我已经做的较大的努力了。
如果我上述的努力,能够获得部分概念得到晓辉认可,我严重请求晓辉使用我使用过并得到晓辉认同的概念重新表达一下剩下的内容。
 
 
在我目前能理解的程度看来,这个编码体系并没有显现什么独特的巧妙和使用价值,或许我不能理解的剩下的内容可能才是晓辉真正思想的体现。在得到晓辉的反馈之后,我再努力,我甚至怀疑我在表达晓辉这两个图的思想上所做的文字表达的努力,已经超过了晓辉自己,我希望晓辉也能再努力一点。
 
 


https://wap.sciencenet.cn/blog-33982-502313.html

上一篇:基因软件架构适合云软件开发平台的构建
下一篇:实例讨论晓辉的“第二路径”
收藏 IP: 183.33.136.*| 热度|

4 杨华磊 洪昆辉 邹晓辉 理论思维

该博文允许注册用户评论 请点击登录 评论 (109 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-29 20:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部