最早接触语义文档的概念是1999年www8年会上,Tim Berners-Lee的大会主题报告中,提出要推广semantic web的概念。事实上,我们在浏览器中所看到的是一个超媒体文档,所以谈语义web,也就基本上在谈语义文档。
传统的文档是面用读者用户的,计算机在这个过程中只是起到了存储(store)、传递(communicate)和渲染(render)的作用,机器本身不能理解(understand)文档内容。是文档的读者在理解文档的信息。语义web是希望web也能够理解其负载的文档含义,这样就可以帮助用户预处理一些事情,从而更好地为web用户服务。一个简单的例子就是网络文档的查询:你希望查到“高兴”的文学表达。显然只用关键字“高兴”来检索达不到目的。因为有的文学作品通篇整段都没有“高兴”两个字,但是,却表达了无比高兴的情景(目前再高级的搜索引擎也做不到)。再比如,如何在网上查一查这个方程
$ x^n+y^n=z^n$的整数解?
实际上,上一节谈到的文档的内容、形式和结构等,都属于文档物理层面的组成部件,是文档生产者描写文档的手段。这里提出的文档的语义,属于文档消费者理解的逻辑层面的含义,是文档用途的真实体现。
目前解决语义文档需求的可行方案,就是让文档的作者标注文档的语义。那么,什么是文档的语义?实际上,文档的内容、形式、结构等,就是最基本的文档语义。 XML就是热门的描述文档语义的工具。其实,LaTeX老早就已经是一个应用广泛的文档语义描述工具了。当html世界叫着要把内容和形式分离的时候, LaTeX文档已经早早地做到并应用得如此娴熟了。
在我的博士论文的致谢中,有下面一段话:(下面是LaTeX源文件,有语义的噢:-)
谢谢D. E. Knuth的~\TeX~的发明,大师随意一出手的小发明,让人只有敬仰的份。
本文用~\LaTeX~排版,一点也不感觉枯燥,相反乐在其中,真正体会到了数学之美、逻辑之美。
曾经有一个阶段在研究语义文件系统,苦苦思索语义文档的属性,
并坚持认为文档的结构是实现语义文档的重要属性之一。
看看~\TeX~文档,是多么漂亮的结构文档。
所以,如果只把~\TeX~作为排版工具,那太暴殄天物了
\footnote{当你辛苦地为《自动化学报》用~\LaTeX~排清样,你就会体会到这一点。}。
~\TeX~是表达文档逻辑的“程序语言”,它是文档语义的一种良好载体
\footnote{好像目前还没有用得如此普遍的支持如此丰富语义的描述载体了。
象我辈有了~XML~的底子,再回到~\TeX~的阵营,觉得很容易接受~\TeX~的理念。
但是,早在上世纪八十年代就接受了~\TeX~后,再接触九十年代后期抬头的~XML,
就会觉得~XML~是多么的小菜一碟了。}!
下面我来解释上面话中的两个脚注的含义。
首先是第二个脚注的解释:XML的思想很早在SGML中体现了,但是真正落实SGML思想并得到广泛应用的却是XML的功劳,那也是90年代后期的事情了。当时我在第一时间就跟踪了这项技术,并且应用得很acknowledge它的学术价值。到了00年后我学习使用LaTeX,竟然发现其实这两者之间是如此相同,所以不费吹灰之力就学会了LaTeX。于是反过来想,如果我在80年代后期就学会了LaTeX后,再来学习使用90年代后期推广的“新”技术 XML,就不会有对XML的膜拜之情了。
接着是第一个脚注的由来:《自动化学报》的cct论文模版中要求把[8]号参考文献标引在字符的右上角,你猜如何完成?模版要求用 实现。你说我该哭还是笑?这跟在Word中一切视觉效果全部通过硬打来实现没有什么两样。
我们国内计算机学科的三大中文杂志,《计算机学报》、《软件学报》和《计算机研究与发展》到现在也没有LaTeX的模版,天晓得最后发布的.pdf是怎么来的。就算是国内最顶尖的计算机杂志JCST杂志倒是提供了LaTeX模版,但是,且看该模版对节的处理:
\section*{\normalsize\bf1\quad Introduction}!
再看它怎么教你排参考文献:
\section*{\normalsize\bf References}
\vspace*{-2mm}
\quad\ \footnotesize
\small %The references should be listed at the end of the manuscript
%and numbered in the order they are referred to in the text.
\REF{[1]} Author1, Author2, Author3. Title of journal paper. {\it
Journal Name}, Vol-number(Issue-number): first-page--last-page.
不让人笑掉大牙才怪。(你不觉得好笑?那么就表示对我前面那些说教没有真正理解。我很失望:-)JCST网站常把Knuth写来的表扬信挂在网站上,不知道Knuth知道了他们这么使用TeX,会不会写批评信。(出现这种现象,不能都怪编辑。只有作者才对自己文章的语义最为清楚。换位一下,你作者自己都不把文档的语义描述清楚,我小小编辑又该负多大责任来理解并标注你的文档?这也催生了一批研究语义挖掘的研究者:-)我没有去看发布在本站上运筹学会论文的 LaTeX宏包,因为我不会去投稿。但是如果aloft是那个包的始作俑者的话,绝对不会闹出上面笑话。
其实很少有人理解ASCII码(以及后继扩展)的重大作用:其一是国际标准,大家都遵守并不感到被强迫;其二是交换码用途,作为对一种信息描述的中间体!设想一个没有ASCII码的计算机世界,信息安全和保密问题,应该是迎刃而解,或者这个问题根本就不存在了!如果把ASCII码字符和文本这两个对象的粒度同步放大,那么,LaTeX协议就可以是ASCII码,LaTeX源文件就是具有语义文本。可惜LaTeX不是国际标准,目前只是个行业标准。上文提到的例子,“如何在网上查一查这个方程 的整数解?”,在LaTeX+web的世界中,也许就能够做到。所以,Tim选准 semantic web的方向是有远见的。将近10年过去了,semantic web成果几何?只要看看LaTeX已经诞生几年了?!任重而道远啊!
其实,公平地说,Word也是能够做出和LaTeX一样视觉效果的文档,只是其麻烦程度可能不比反过来做好多少。我就曾经拿了三角尺用Word排出许多格式目标文档,然后用激光打印机套打在预制的表格上,把激光打印机当作传统的打字机一样用。但是,如果从语义文档的要求来看,Word就远不如LaTeX 了,除非M$公布其Office格式协议,并且作为编辑工具,Word需要强制用户养成某些正确的使用习惯。但是,Wintel不就是要鼓励用户的坏习惯吗?否则他们就不能赚钱了。在商言商,可以理解。但是,明智的用户不应该照单全收。