Blog

内容与格式分离

“内容与格式分离”是新一代网页的基本要求之一。网页设计者坚持这一项要求,可以大大的减少网页维护的麻烦。目前多数自动化的网络出版工具都已经支持了这一要求,如Movable Type,在后台的发布页面编辑文章时,不需要作者来编辑HTML代码(尽管Movable Type支持这样做),在发布的时候自然会有程序来王文章里面加HTML标签。其实不止是网络出版,任何在发布前需要程序进行处理的出版方式都只这一要求的支持者。从SGML生成HTML,从.tex文件生成.pdf文件,都是如此。

过去我一直觉得这种方法很完美,但今天当我需要使用存放在页面里的内容时,我觉得这样做还不够。

起因是我觉得每次上海词上查单词太慢了,就想用Perl写一个简单的命令行工具,从命令行参数获得要查的词,然后直接打印初单词的意思及例句。海词的输出并不隐晦,是标准的HTML页面。当把页面拉下来后,我要做的只是从页面里提取出我要的东西了。难度并不高,写几条正则表达式把HTML标签给去掉就OK了。但问题是工作挺繁琐,长时间没有Perl编程的经验,我目前只完成了大约50%:我可以输出单词的意思和第一条英、中例句,当例句多于一条时的处理,我还没有写。

弄到这个情况,很明显我的工作是脱除格式,获得内容。最理想的做法是什么也不做,因此自然而然的就想,如果海词会直接提供一种良好格式的数据该多好啊。当然这是不可能的,但如果有可以自由传播的英汉词典的数据该多好啊。于是我一下子就想起了Tim Berners-Lee喊过的”Raw Data Now“。

正规来说,虽然”内容与格式分离”式的出版已经是一个相当大的进步了,但如果能直接输出内容会不会更进一步呢?在目前的网络环境下,我们可以有Google一样的工具来维护一个全球的网页库。如果我们有了单纯的内容,我们会不会就能有工具来自动为我们维护一个全人类的知识库呢?自然语言的语义处理与分析是计算机的课题之一,目的在于让计算机理解人类的语言。如果我们认为的跳过这一步,直接把计算机能够理解的语言(内容数据)交给计算机来处理是不是可行呢?剥开自然语言的外壳,剩下的内容逻辑交给计算机来处理,能不能让计算机来自动进行逻辑运算,为我们完成如定理证明一类的工作呢?

这里不禁想到了Tim Berners-Lee所宣传的RDF。

但可惜的是,基于目前的现实环境,让人们把自己的数据贡献出来,似乎可能行不大。剥离了格式,内容则变得愈加宝贵,奇货可居。人们就愈加不会贡献出内容了。

没有评论

Leave a Reply