Monday, 2 December 2013

文本的定义

首先,文本在一般情况下就是文字,或我们所谓的Text,它的功能就是:

  1. 沟通(从以前墨汁版本的书信交流,到现在电子版本的SMS,LINE,Facebook Message等)
  2. 记录(从古代诗歌的留传、记载历史的史书、传教的经文、实验与理论的发表,到现在的电子时代衍生物如电子书籍、Blog的文章分享、论坛留言、电子版的策划书、交易记录、年报、招股书,甚至网上订购的戏票、飞机票,Invoice,Receipt等)

文本的历史与变化这里就不一一叙述了。反正最后演变出来的文本有千千万万种,较常用的就有:

  • 拉丁字母(Latin),也就是我们常用的ABCD...
  • 西里尔字母(Cyrillic),类似ABCD,常出现在俄文,就是那些倒反的L,倒反的N,头上有多几个点的E等等。
  • 阿拉伯字母(Arab),就是回教可兰经里面出现的文字。
  • 汉字,就是象形文字如中文、日文、韩文等。

文本是由人类本身创造出来,本身就会附带一些含义。当在某个地方、某个场所出现文本时(先不管我们是否看得懂那是什么字),那个文本肯定是人为添加上去的,并且肯定是要把某些信息带给阅读的人。比如当你去到一个高压电场,你可能会看到以下的东西:


Signboard 1 Signboard 2 Signboard 3

懂得英文的人,基本上一看就知道那些Signboard要表达的意义:危险!高电压!
不过如果不懂的英文的人呢?他们看得懂吗?
仔细一看,其实除了英文拉丁字之外,
Signboard 1还有一个骷髅的图案。
Signboard 2则有一条家伙被一团电攻击图案。
Signboard 3有一条闪电的图案。

如果你稍微有一点点生活常识,应该都知道那些图案代表着什么吧!
那么,那些图案可不可以说他们是“文本”呢?会不会刚好有哪一个原住民,他们使用的文字也是象形文字,不过还没有进化到我们这种地步,也许他们所谓的“危险”二字就长的很像骷髅的图案呢?

就拿中国古代的象形文字来说吧,举个小小的例子:

日、月、耳、雨的变化史

就说很久很久以前,在文字系统还是未知数的时候,如果你要记录一个事情,比如说昨天是放晴还是下雨,没有文字,你写不了,怎么办?画出来吧!如果昨天放晴,就画个太阳意思意思一下,“昨天”这个词还真不容易画,就省略掉吧,反正跟别人说,你看到我画“太阳”,就代表昨天放晴;你看到我画乌云和雨滴,就代表昨天下雨,就这么简单。(至于早上下雨晚上放晴等等那种烦人的组合,算了吧,古代的人谁计较那么多?)
那么在若干年后,考古学家无意间发现了这个壁画,什么又太阳又乌云的,你多多少少猜得到画这个壁画的人是在记录天气吧。那么问题来了,这些“太阳”、“乌云”能不能归纳为文字的一种呢?他们算不算是一种文本呢?

在回答这个问题之前,我们不妨再看看一个现代的例子吧。
相信会用电脑的人都知道和用过Microsoft Word吧,如果你有留意的话,Microsoft Word其实有很多很好看的Font。有玩过那些Font的人应该知道,其中几种Font,其实不是字,而是图案来的,就比如Webdings这个Font。

左:不同的Font,右:Webdings Font

从上面的图我们可以看到,其实“M”是一座“小山”;“N”是一个“眼睛”;“O”是一个“耳朵”,虽然不知道他们如何定义这些关系,不过如果一张纸上画着“小山”、“耳朵”、“耳朵”、“眼睛”,你会联想到他其实是在写“MOON”这个词吗?当然这又回归到你懂不懂这种文字,就像不会中文的人看中文字一样,其实对他们来说,就和我们看Webdings Font的字一样,看不懂,不过那些字却实际上带有他本身的涵义与信息。那么,“小山”、“耳朵”、“耳朵”、“眼睛”,是不是文字,该不该归类为文本呢?

基于一些图像文本提取(Image Text Extraction)的研究,如果你不定义什么是“文本”,那么图像里的任何东西,任何图案,任何纹路都可以是“文本”,就比如以下的红包封图像,你可以说出图像里那些东西是文本吗?

红包封
首先,左右红包的下方有发行公司的名字“广东省福利彩票发行中心”和网址“http://www.gdic.org.cn”,这些都是文本,没有问题。左边红包的上方“HAPPY NEW YEAR”,还有“年年如意 天天好运”;右边红包的上方“如意吉祥”也都是文本,这也应该没有什么疑问。不过,两个红包中间那个大大的“福”字是不是文本呢?右边的还好一点,左边的分明就是一个吊饰和一条龙,他们也许刚好长得像一个字而已,但他们真的是一个字吗?不管你认为是字或不是字,那么我再问你,右边红包右上角的莲花,他是字吗?右边红包大福字的右下方的小格子,他是字吗?如果你认为不是字的话,那你凭什么认为他们都不是字?你难道不给我发明一个新的文字系统,“A”就长得像那堆莲花?

哇,这么说,不是不管什么东西都可以是一个字了!?

当然,我们要制定一个文本的定义,不然真的什么东西都可以当成是一个字来看待。而文本的定义则会随着自己研究的方向而定夺,并不是适用于每一种研究。
目前我的研究是如何从视频与图像中提取文本(Text Extraction from Video and Image)。而我自己也对文本提出了以下的定义:
  1. 文本是可以被机器创建和再创建。(Text is created and can be re-created by machine)
  2. 我们假设在同一的区域内,文本只能有固定的格式。(Text will always have the same format in the same interest area)
第一个定义,机器多数是指电脑,电脑运用ASCII Code,Unicode等创建出来的字就属于文本。那些字必须有在ASCII Code的List或Unicode的List里面。那些字只是Plain Text,若再加以格式如大小、颜色、字形家族等等,那么他就变成Rich Text,只要那部电脑持续拥有那些格式的定义,那么那些文字就可以无限被创造出来,并且在有这样条件之下,他才被承认为“文本”。

基于第一定义,如果任何手写的字出现在图像里,他不被承认为文本,因为我们机器(电脑)没有如此唯一(Unique)的格式定义,所以那些文字是无法被再创建,也就不符合文本的定义。所以,右边红包封的“福”字,甚至他左上的“如意吉祥”字其实也不被承认是文本。

第二定义是指在同一区域内,我们不可能有不同格式的文本。也就是说,假设有一行字“MOON”,基于他们是同一格式,所以第一个“O”和第二个“O”将会是完全一模一样的字。如果两个“O”是不一样的,那么他们应该是两个文本,而不是一个。这一个定义其实对寻找文本位置的算法没有多大的影响,不过却能更有效的分辨不同涵义的文字。这些在之后的例子里将会一一重现出来。



No comments:

Post a Comment