沿着张琪玉先生开创的道路奋勇前进
记得当年祝希龄老师给我们上情报检索语言课,用的当然是张琪玉先生的教材。这门课给我印象最深的是:情报检索语言是一种规范的人工语言,应该与自然语言区别开来。这种思想方法在近年来元数据和本体的学习中,一直让我受益匪浅。
最近在看一些本体的东西,想借鉴一下自然语言处理领域长期以来的研究成果,看着看着发现他们走不下去的一个重要原因是忽略了自然语言与人工语言的区别(他们并不是不懂,但却一定要将两者调和,或者说从自然语言中发现可以被形式化的东西),数字图书馆领域一直在搞的本体和元数据,一直想突破基于字词匹配的全文检索而达成基于概念(知识)的检索,一直在开发适用于网络和机器处理的人工语言规则,这条道路我认为是充满希望的康庄大道。
自然语言处理(NLP)的水很深,发展了很多年,规则繁复,成果众多,还跟人工智能有不小的瓜葛,特别是汉语的自然语言处理,其典型应用是机 器翻译。前一阵还跟一位网上偶遇的朋友聊起汉外自动翻译,我认为如果不局限于领域应用,普适的翻译机是开发不出来的。但是据我知道我们有不少科研机构从七 十年代开始就钻牛角尖,浪费了无数科研经费,还在做“无畏”的努力。而领域应用,实际上已经不是单纯的自然语言处理范畴了,例如我们目前积极推进的本体 (包括KOS)、元数据的应用,其目的就在于避开自然语言的弱点,而发明、构建一套人工语言和规则,达成机器对于语义的理解。在这个机器世界里,是不存在 语种差别的,任何语言都被机器理解为符号。这个目标能不能完全实现,能不能建立一套完全形式化的机器语言规则,很好地适用于某些领域,现在还不好说,可能 还有赖于我们当前的努力。
汉语的问题,曾经让汉外翻译系统的研发结结实实地摔跟头的,主要有以下一些(汉语分词问题由于引入了语境、采用穷 尽方法等,目前已经解决得相当不错,就不说了):
1. 汉语同一词类担任多种语法成分且无形态变化;
2. 汉语句子的构造原则与短语的构造原则基本一致;
3. 汉语中的虚词;
4. 汉语的语序;
5. 汉语的书写习惯。
自然语言的机器处理有一个基本假设可能有问 题,这个假设即“语言表达的客观性假设”,即认为语言之所以能够达成交流的目的,是因为关于语言的表达 (包括语义、语法和结构)是客观的,对于客观性的认识能够使我们采用有限的形式 语法组合规则和统计规律,来“变换”、“重构”语言的表达,因此计算机也就能够“理解”“客观的”语言。然而迄今为止的研究似乎证明,语言的客观性是无法 被彻底揭示的。或者我们只能说语言有一定的客观性,但是本质上还是主观的。其客观性表现为人与人之间达成的理解“协议”,这种协议是可以随时变化的。
近 年来由于网络的发展带来语言现象的巨大变化,各种新的“火星语”“符号语”等网络语言层出不穷,老夫子们斥责这些表达不符合汉语习惯,需要规范,但毕竟 语言是活的东西,能够进行交流沟通,就一定会影响目前的语言规范。因此自然语言处理原有的套路(通过穷尽有限的规则来达到机器可处理)越来越不合时宜,应 该从哲学方法论的角度进行大规模的梳理和反省。当然,目前计算机的能力越来越强大,结合网络的发展而形成的巨大的云计算能力,可以支持越来越复杂的穷尽算 法、规则和统计规律,汉语输入法和搜索引擎的发展似乎也印证了这一点,因此如果应用得法,在一段时间内采用传统方法应该也是能够取得一定进展的,但是这种 方法应该看不到最终的解决自然语言机读化问题的希望。
前述5个问题在规范的情报检索系统(IR,或者说数字图书馆系统,或者说应用了本体和元数据 的系统)的开发中只有第一点略有相关,其余都可以绕过。因为概念体系(本体)的架构依赖于自然语言的,基本上只到单词(概念)一级(就是说概念来自于单 词,是对自然语言的规范产生的,是人为指定的概念符号),这一级(字词处理,包括分词和词性标注等)从理论到实践已基本成熟,到更宏观的句法(语法和结构)一级IR基本上与NLP开始分道扬镳了,都是采用“人工”的机器语言(RDF/XML)了,这是自然语言处理与情报检索系统两 个领域在研究对象方面最大的不同。正因为此,在领域应用方面就能够按照比较严格的规范体系来做(至于如何做又是一个大课题,如自顶向下一般是对于新建系统 可行,自底向上进行标注则不可能完全采用人工来做,就需要进行自然语言理解、模式识别或者原有结构的转换映射等方法)。其缺点可能是不够“自然”,即如果 让人直接进行阅读,人性化程度还是要差一点(就如同编程语言由机器语言向高级语言进化,但高级语言也主 要是给机器用的,如果在进行RDF/XML编码转换时能够尽可能应采用软件工具来实现,人性化程度可以高一些)。
上面一大通罗嗦,其实是想说:本体、元数据规则等,其实是(可以看成)一套人工语言规则系统,我们现在应该学习张琪玉先生当初的做法,为网络信息资源的描述和检索,提供一套形式化或半形式化的人工(规范)语言系统(概念体系)和规则,用以规范网络信息资源的管理,建立一套新的知识组织理论(和方法论)体系。或可叫做“元数据方法”或“本体方法”。目前计算语言学研究,就是要从自然语言中发现可被形式化的规则(可以理解为这部分内容只是语言现象的一部分,不可能找到所有的规则,否则就不是“自然”语言了),并对这部分 内容进行“机读化”。从这个角度思考,人工语言应该比对于传统的纯自然语言的形式化处理更为简单,从机器翻译等领域对于语言形式化的研究成果中应该可以找 到大量丰富的养料。
例如以下“计算机语言处理模式”的抽象思考就很有启发:
1、 处理对象(输入)为有限种符号的有限长序列。其中包括如何编码、如何形式化的一整套规则。
2、处理方式(运算)为有限的程序变换。早期采用 简单模式匹配法,后来(至今)采用基于规则的处理方法,近年来流行基于语料库的统计方法。
3、处理结果(输出)为符合新规则的表达 式。
计算语言学研究对象有点像现在的网络世界,在其中寻找规律,或者规范表达(通过语法、 惯用法等),有点像营造一个语义网,只不过网络世界使得人们有了一个工具进行规范(因为有一个前提是:必须机读),而自然语言因为无法规范,才具有无限的 创造力和想象力。上帝的归上帝,凯撒的归凯撒,整个世界才能和谐有序,语言问题的处理才能找到终极方案。
———————————无聊的分 隔符:搞研究是最无聊的——————————
附:以前收集的一个有关机器翻译困境的帖子:
发信人: chris (亦云), 信区: LanguageLogic
标 题: 机器翻译难在哪里
发信站: BBS 曙光站 (Thu Apr 8 14:08:34 1999)
机器翻译难在哪里
做这么多年的机器翻译,感到最大的意外是翻译竟然要调用如 此之深之广之
多层次的知识,而且各个层次的知识彼此如此强烈相关,剪不断,理还乱。
首先,翻译需要彻底的源自然 语言理解以及纯熟的目标自然语言运用,决
不是很多人以为的有一本英汉词典,记住所有英语词法句法规则就可以的。
而深层的自然语言理解则不 得不触及到人类生活的各个层面各个角落,而
且需要浩瀚的背景知识(国外已经有人在谈论语言是知识的海洋)。有的
知识和语种有关,如汉语世 界谈及黄色新闻则会想到“色情”,英语世界
则认为黄色新闻是“那种危言耸听,追求轰动效应的新闻”;有的知识和
语种无关,如:孔子是中国 春秋战国时代的思想家、教育家;乔丹是芝加
哥公牛队的篮球球星;克林顿和莱温斯基有某种关系;邓小平已经去世……
翻 译界常常讨论翻译人员不仅要熟习两种语言,而且要熟知两种文化的差异。
但对计算机来讲,还有大量对人来说不讲自明的知识,如“苹果不能吃人,
只 有人可以吃苹果”;“冬天比夏天冷”;“擀面杖和做饺子有关”这样的
知识。其中绝大部分知识都不是老师教的或书本上讲的,而是我们从小长到
大 所见所闻所感所悟,从具体的到抽象的,从星星点点的到连成体系的。我
们在翻译时不知不觉(偷偷摸摸)调用了这些知识,计算机当然自叹弗如。
请 看:
A. 1979年以前,中国大部分老百姓还没有解决温饱问题。
B. 2500年以前,中国出了一个教育家孔子。
为什 么前者理解为“公元1979年以前”,而后者是“距今2500年以前的那一年”?
常识告诉我们孔老二早已作古。
I can see Peking University tower on the mountain.
为什么翻译成“我在山上能看见北京大学的水塔”而不 是“我能看见山上的
北大水塔”?
去过北大未名湖区的人都知道水塔并不在山上。
妻子晚餐还做了两个丈夫喜欢吃的菜。
为 什么不能理解为“两个丈夫”而是“两个菜”?
在我们这个一夫一妻制的国家里一个妻子不可能有两个丈夫。
演员谢幕时,不要坐着不鼓 掌。
为什么“不要坐着不鼓掌”的主体是观众,不是演员?而“演员谢幕时,不要
站着不鞠躬。”主体是演员?常识告知。
政府 发给她一次性生活补贴。
为什么是“一次性 生活补贴”而不是“一次 性生活 补贴”?常识嘛!性
生活怎么会发给补贴?
等 等,等等。
于是我们也就理解了为什么计算机不能向人那样翻译,它根本不是人类社会生活
的一员嘛!
语音上也能提示 一些消解歧义的信息。当一个老人说“孙子每天教我一点计算机。”
我们知道他不是指战国时代的军事家孙子。因为他读为”sun1 zi4″,而不是”sun1
zi3″。 “1979年以前”读成“一九七九年以前”则很可能是公元1979年;若读
成“一千九百七十九 年以前”则疑为“1979 years ago”。
语言生活在语境里,正如人生活在社会里一样。即使是孤立的一句话,人也是要
给 它造语境,使它有生命。“他今天没有喝酒。”言外之意,他一定经常喝酒。
“在学校一定要听老师的话。”一定是爸爸妈妈送小孩上学时叮嘱的话。英语 也
是一样,“Mr. Smith was a great man.” 言外之意,要么史密斯先生已经去世,
要么他曾经是个伟人,但现在 不是了。
众所周知的信息,我们就不必说了;许多默认的你知我知的知识(公共知识)也不
用显性地字面上表达出来,只有那些新的,不 那么明显的信息,才需要使用语言澄
清。当代世界,语言是用来交流信息的。人们讲究的是语言的时效性,而不是
规范性。在公共汽车里,我们拿 着钱递给售票员说“三个天安门”(”Three tickets
for Tiananmen” rather “Three Tiananmens”)。告诉售票员两个新的信息,(1)
买三张票,(2)目的地是天安门。机器翻译必须把隐性(unsaid)的信息,提升
到 字面上说出来。
因此,我认为,之所以机器翻译如此之难,是因为它涉及到诸多层次知识的调用。
语言是一个多层次交织的系统,这些层 次包括:语法,语义,语境,语音,常识,
专业知识,以及场景和文化背景知识……如果说靠乔姆斯基式的句法知识能够解
决(汉语)40%(这 个数是瞎写的)问题;概念性的知识能够再解决到60%的问题;
剩下的就都是语用知识。因此,机器翻译无法突破, say, 60%,而突破不了60%的
机器翻译是没有什么实用价值的。
出路何在?或许我们应该把大百科全书都输入到计算机里?或许知识的获 取要靠
机器和人,机器和机器,机器和环境相互交流来获得?或许计算机的世界和人类
的世界根本就是两个世界,别指望机器能理解人类社会?
关于中国历史朝代本体的rdf描述
书社会的Caveman在做一项很实用的研究,问了一个很好的问题(一般而言,回答不上来的问题都是好问题)。我在这里做一些讨论,希望抛砖引玉,批评指正。
在这里把问题归纳为:如何用RDF(及其家族)描述中国朝代的公元纪年。他的朝代与公元纪年对照表在这里:http://tinyurl.com/timeReignChinese。
直感转换方法有很多种,可以用RDF,也可以用SKOS和OWL,甚至其它,包括直接用XML自定义也可以。
编码原则应该是:能复用就复用,看看前人的成果。
而如何编码,哪种方式合用,关键还要看需求。
网络上已经有一些供人使用的转换工具了,但如果要通用性,应该基于RDF进行编码,并开发一个工具,甚至变成语义网络的一种服务,就能够直接为机器理解、获取和使用,能够被其它应用任意调用,就能体现语义技术最大的优越性了。
想到目前国内有些分类法主题词表分别都有了网络版,但那是给人看的,无法通过服务器直接获取术语和术语关系,进行匹配和关系运算,这实际上发挥不了多大的作用。只有用RDF(SKOS或OWL)编码之后,提供一定的语义Web服务(例如用关联数据方式发布),才能真正发挥词表的作用。
这里的核心需求可以整理为:
1、某个朝代有哪些年号,这些年号的起讫日期(即这个对照表:http://tinyurl.com/timeReignChinese)。
2、某个公元年号落在哪个朝代的哪个年号。
3、模糊年号(如不同朝代相同年号)和模糊日期(如起讫年精确到年还是月还是日)的处理。
4a、是否需要提供网络服务接口,实现双向转换;
4b、还是提供代码,嵌入任何应用;
4c、还是仅仅用RDF来描述这个对照表。
5、进一步的,不同朝代的国家情况(地理疆域、并行的国号等)。
就这个对照表的转换而言,可以认为只需满足1、2和4c即可。
简单的解决方案可以这样:
定义朝代(dynasty)类和年号(reign)子类,都属于event类,复用event本体(http://motools.sourceforge.net/event/event.html)和timeline本体(http://motools.sourceforge.net/timeline/timeline.html)中的元素,建立“朝代-年号”和“年号-公元纪年(date interval类型)”的rdf描述即可。
将来可以扩展(复用)event的其它属性,例如皇帝,都城,等等。
本体究竟应用得如何?
经常被问到一个问题:“本体”近年来一直是个十分热门的领域,但是有没有具体应用的成功案例?
这个问题的由来可能有两个方面:
1、大量的本体文章都停留于研究探讨层面,虽然有“本体工程”一词,但是似乎未见真正的“工程”成果,例如像中图法、汉表之类看得到摸得着的成果;
2、缺乏“一剑封喉”或者“刀刀见血”的杀手级应用。
应 该说本体领域确实存在上述现象,但这并不是说本体作为时髦一时的词汇已经失去了价值,相反它已经作为一种基本的系统建模和资源组织的思想方法,在当今的计 算机应用、特别是基于互联网和语义的应用方面,几乎是遍地开花、无所不在,可能也正是这个原因,大家并不刻意地去强调和渲染“本体”的作用。
但 就上面第一个问题而言,由于当前的本体基本上都是给计算机操作的,因此以机器可识别的方式编码,是本体的一大特征。多种本体编码语言中,基于万维网应用的 OWL目前处于主流地位,Google专门有一个“本体搜索引擎”Swoogle(http://swoogle.umbc.edu/),能够搜索超过一 万个大大小小的本体OWL/RDFS文档(RDF/RDFS可以认为是OWL的宿主语言)。本体作为一种互联网时代的知识组织规范,其标准化程度可能再也 不会像传统分类法或者叙词表那样,具有“国家标准”的地位,但是它们却是在大量的应用系统背后,起到“行业标准”或“领域规范”的作用。
由于本体有多种含义,有广 义、狭义的区分,也有内外之别。广义地来说,作为信息组织的概念模型和基本方式,传统的分类法、叙词表等各种方法都可以转换成本体形式,都可以称之为本 体(这一点可能有争议)。而且大量的领域本体或者企业内部本体是不对外的,是否应用了本体,我们通常可以从用户界面和系统功能方面考察,例如应用了分类主题导航或者分面浏览功 能的很多系统,都可以认为是应用了本体。
本体在最需要严格的知识组织、跨学科综合性海量信息资源管理的领域已经得到很多应用,例如生命科学 (生物多样性,基因工程,医疗卫生疾病防控等)、地球科学(大气监控、环境变化等)、教育资源(特别是英国)。记得最早接触和学习的本体,是联合国粮农组织FAO的项目,他们是这 个领域的先驱,一直做得很好,而且很开放。对于我们这个领域来说,除了大量的知识组织方法可以转化成本体,继续在互联网时代发挥作用之外,FRBR其实也是一种 本体,正在成为下一代编目数据的模型基础,得到广泛的应用,另外我的另两篇博文也谈到与图书情报领域相关的两个本体应用项目:一个可资借鉴的本体应用项目:STERNA, 叙词与本体,及其在Elsevier的应用。
一个可资借鉴的本体应用项目:STERNA
几个月前,曾蕾老师介绍了一个项目:STERNA。仔细看了下,这的确是目前可以参考的、实用的、同时又是最先进的、本体应用于数字图书馆的项目。
STERNA是Semantic Web-Based Thematic European Reference Network Application的简称。该项目有一个官方的介绍性ppt,像贵国的学者或官员一样,采用“拆字法”把这个名称解释为:
• Semantic(语义): 采用最新的(state-of-the-art)语义万维网技术
• Thematic(主题): 以某一个特定的主题为驱动,目前该项目的主题是“鸟”(BIRDS)
• European (欧洲)
• 多/跨语言的内容/ 功能
• Reference structures(参考结构,实际上是指内容架构/知识结构)
• 参考结构的具体内容包括:词表word lists, 词典glossaries, 分类表taxonomy, 叙词表thesauri 等。
• Network(网络): 独立、自治的机构共同协作,进行内容创建、链接和共享。
• Application(应用): 符合SaaS理念的Web应用(现在应该高耸入“云”了)。
其末尾的RNA又意味这该项目是一个“发端”(origin),对于各类其它的“主题”资源,具有引导和示范作用。
这好像也是一个欧洲数字图书馆(EDL)的项目,得到EDL Foundation的资助。项目执行期限是2008-2010(30个月),目前还在进行中,其“语义原型系统”也要到今年年底才能完成,但目前发布的一些文档已足以吸引同行的眼球了。
我 的感觉,其采用的语义架构最大的好处在于“动态”的知识组织和扩展,这就使其具有了更强的“可持续发展”的能力,不像传统的数字图书馆,建成之日就是封闭 之时,很难有大的内容扩展,或者与其它资源进行融合(mashup),因此可以说其方法论意义远大于资源的意义。当然作为一个知识架构和聚合器,未来人文 与自然结合的、高质量、富语义的鸟类资源,也应该是毫不逊色的亮点。