八月 25, 2006

名字叫”Hitchhiker’s Guide To The Galaxy”,简称H2G2,因为里面有两个H两个G.

为什么说是IBM,Yahoo,Google高层都看的书呢?你看这几个产品,就知道了:

IBM DeepBlue,就是著名的”深蓝”超级计算机.利用它巨大的存储量和特别快的搜索速度,战胜了人类国际象棋大师.DeepBlue的前身叫DeepThought,”深思”.我第一次知道深思,还以为是取搜索深度的意思.后来看了H2G2,才发现,DeepThought是里面的一个超级计算机的名字.是宇宙中第二大的超级计算机.(原文是”the second greatest super computer in the Universe of Space and Time”).

Yahoo的翻译工具”宝贝鱼”,也是来自这本H2G2,英文是Babel Fish.书里说这种小黄鱼可以放进耳朵里,就能听懂来自任何星球的生物的话了.当然目前雅虎的宝贝鱼的本事,的确能把地球上的话翻译成外星语言.这里如果再深挖,其实Babel是来自圣经旧约里的”巴别塔”故事:传说很早的时候人类只有一种语言,大家有一天忽然想造一座高塔(叫Babel tower)通到天堂.上帝于是让大家说不同的语言,大家就不能合作了,这座塔就没有建成.

最后说google,我从来不相信google说自己公司的名字是大数googol的拼写错误.看过H2G2就知道了,Googleplex StarThinker,是另外一个超级计算机,虽然Deep Thought把它叫做计算器(Deep thought call it as a pocket calculation stuff).Google的总部叫什么?就是Googleplex.这里还有一个证据:google整天在造什么?超级集群计算机,就是用便宜的PC来搭超级计算机群.Google把自己放在计算器的位置,还是很尊敬老大IBM的.

只是不知道,那个超级计算机思考了亿万年得出的终极问题的答案:42,会出现在哪个公司的产品上呢? :)

 

八月 19, 2006

看爱搞搞写的“搞搞钱的学问(九):创业者的基本素质”,里面列的炒家素质,

  1. 市场分析师,把握社会及行业大趋势;
  2. 钱财管理方法;
  3. 条理清晰的思维方法;
  4. 控制自己的情绪。

 如果直接安到创业者身上,我觉得欠妥,需要改改。我改成:

2。钱财管理方法;
资源管理方法,不仅是钱,还有时间,人力,人际关系等资源
3。条理清晰的思维方法;
有效的思维方法和推理/验证方法
4。控制自己的情绪。
控制资源的使用,情绪是一个方面,资源的使用范围要更广.

第一条我是完全同意,不改了。对市场和社会的大方向的把握,一定要准确。

第二条,炒股票,你的军队是钱,但是做企业,你的军队东西就多了,时间,人力,社会关系等都是资源,要合理的利用。用对了资源,可以事半功倍。该用钱的地方,不用人力,该用关系的地方,不用钱。

第三条,条理清晰的思维是不够的,要能有效的思维,用最直接的方法推理得到需要的结论,然后去验证。思考也是有成本的。特别是思考得出了错误的结论,成本是最大的。自己想不清楚,就和别人讨论。不过要记住,别人的思考,很可能完全的是没用,适当的时候要坚持自己的建议。

最后一条,控制情绪对炒家重要,因为炒股票是一个精神高度紧张的事情,情绪波动大(眼看着几十万一秒钟灰飞烟灭,谁都会情绪波动的)。但是对做企业,没有这么快速的变化过程,经常有时间来仔细思考决定,这里,情绪的波动就不那么显著了。反而是决定对资源的使用更加重要。

我这里举个例子,比如说现在的马周之争,如果真的是跟表面上一样的意气之争,就属于对名声和人际关系这两种资源的不正确使用;如果是双方配合默契的炒作-象迅雷和华军演的那出,那就是对资源的合理使用了。

 

同学,你有过这样的经历么?一觉醒来,从镜子里看见另外一个人?

我今天来看我年久失修的blog,就这感觉.谁干的呢?

 

八月 12, 2006

看看你喜欢哪个:

是 

sin(α+β)=sinαcosβ+cosαsinβ
sin(α-β)=sinαcosβ-cosαsinβ
cos(α+β)=cosαcosβ-sinαsinβ
cos(α-β)=cosαcosβ+sinαsinβ

还是 复数?

玻尔的氢原子模型,还是

量子矩阵?

直线,还是

tree3.jpg

Image is from: http://www.elements-of-design.net

八月 5, 2006

这里是最近几天的一些比较杂乱的思考,我自己也没想清楚,不过好象是彼此有联系的,先写(log)下来.如果有人看不懂,我只有说:对不起观众了.

编译器其实是我的本行,机器翻译是我的兴趣.要说机器翻译能用编译器的方法来实现,我第一个不同意.

首先,编译器处理的是严格的文法,有限的规则.机器翻译处理的是大量没有严格定义的内容,需要有方法来提取大量的规则,而规则彼此之间一定会有冲突,这些冲突的解决,延伸出更多彼此冲突的规则.

其次,编译是没有语义的,所有的语义都是通过语法规则来体现的.机器不懂语义,只知道根据规则来进行结构的变换,编译里面,语法先于语义.机器翻译所面对的自然语言,语义是很重要的因素.语法只是表达语义的形式,很多时候根据上下文,可以抛开语法,不合语法的句子甚至一串词就可以表达意义.语法是第二位的.

如果说今天的话题要有一个主题,那看来就是语义,计算机和语义.

这里举一个例子:在”数学之美 系列 12 - 余弦定理和新闻的分类“里提到,对新闻的分类算法,首先是文章对齐:是把词的TF/IDF计算出来,然后按照词的编号(一般是字典序)排成向量.然后把对齐的向量计算余弦投影.在对齐的过程中,其实已经把语义信息丢失了(这里语法信息也丢失了,后面详述).那么,这样两篇一句话新闻:

贼偷KESO 和

KESO偷贼

就是完全一样的两篇新闻,因为它们的向量是一样的.不过,这可是完全不同语义的两句话.

那么,语义的理解是谁做的呢?是读者.对前面一句话,大家的反应会是:老调重弹.对后面一句,估计很多人会有兴趣,毕竟一个知名blogger去偷一个贼,肯定是和”疯狂的石头”一样,很好玩的事情.

同样的,如果你看过”数学之美 系列十三 信息指纹及其应用“,请跟我一起想:既然文字在计算机里也是二进制表示,和那个指纹一样都是数字,那么,很长的文字也可以看做一个比指纹更长的数字.都是数字,那为什么把长数字(文字)映射到短数字(指纹),居然不会有很多重复?这就好象把一个500人大礼堂里所有的人赶到20人的小房间,居然没有很多人坐在别人身上一样不可思议.

我能想出来的答案是:因为那个大礼堂,本来就很空.我们不是把所有可能的长数字(文字)都来进行映射,毕竟,不是所有的长数字的组合,都是有语义的.有语义的,只是很少的一部分组合而已,就象500人的大礼堂,里面其实只有二十几个人.

语义,饶了一大圈,我们又回到语义了.

计算机只能了解规则,为了让计算机”懂得”语义,我们做编译的人的办法是制定规则(语法),让规则的变化来达到传递语义的目的.C语言里面:

a = b + c;

被转换成汇编:

mov eax [0xadd0fb]

add eax [0xadd0fc]

mov [0xadd0fa] eax

是通过规则来转换的,而并非编译器懂得a=b+c的意思是”让a存储b和c的和”.

在机器翻译里,我们定义自然语言的语法:

1.”偷”是动词,做谓语

2.keso和贼都是名词(抱歉把keso和贼相提并论),可以做主语和宾语

3.在谓语前面的就是主语,后面的是宾语.

这样对语言的处理,保持了语法,比词向量的方法多了更多的信息,可是语义,依然没有被提取出来.

如果源语言和目标语言有相似的结构,或者目标语言足够复杂,可以描述任何一种源语言的结构要描述的语义,那么翻译还是可以用编译的方法(规则映射)做到的,如果两者语言结构差别太大,看来问题就复杂了.

 

八月 4, 2006

一直想讲一个故事,一个关于夏天的故事。本故事是真事,不是我编的。

三月份的时候回了趟国,当时的上海,已经很热了,热到什么程度呢?有天我在一个商厦里面逛,饿了去吃碗面,自己吃着无聊,对面两个人的对话吸引了我。

A:你说我们做个网站好不好?

B:好啊,现在WEB二点零那么热,肯定好。一定能吸引到投资。

A:那我们要订个计划,都要做什么。

B:好,一定要有论坛。

A:还要有博客,让大家来写。要有贴图。

B:还要有QQ那样的,不过,现在好象免费的即时通讯软件都没有好的,论坛和博客倒是都有免费的。

A:不要紧,我认识叉叉叉叉大学的叉叉教授,让他帮我们开发,有两个月够了。

我实在忍不住了,问:“你们知道GAIM吗?”

这俩弟兄倒也不介意我偷听,马上问:“什么是GAIM?”

然后我们聊了聊,我问A认识的教授手下有几个人,然后告诉他,估计俩月不够。

两人问我能不能把email留下,我很没礼貌的拒绝了。

现在,不知道他们的投资拿到了没有。如果拿到了,我是否要后悔一下呢?

故事讲完了。今天思考的问题是:

英语和汉语的句式的区别。

比如说,It is required that you create a boot disk.

就是一个典型的英文句式,如何能转换成让人舒服的读懂的中文句式:你需要做一张启动盘。

看来,用规则是最简单的办法,不过,要多少规则,才能覆盖所有的英文句式->汉语句式呢?

 

八月 3, 2006

本来想在”三说”之后就结束的,结果看到laobai的留言,只好继续挤点东西出来 :)

关于统计机器翻译的思考“是篇比较好的介绍,对机器翻译的东西介绍的算是比较新的.里面对算法的说明,可以起到指路的作用.要具体了解,只有去看论文了.

从产品的角度,也有人分析对比了雅虎/google,甚至还提到了百度词典.在这里:”雅虎的机器翻译-晨钟暮鼓“.不过,我并不同意他的说法,首先是作者对google语言工具过于推崇,对雅虎宝贝鱼却颇多微词,其实两者都是一个公司出来的东西.我虽然不能保证自己能客观公正,但是看到以喜好来判断的文章,也不能完全接受.

另外晨钟暮鼓对百度词典很不喜欢,这里我觉得是冤枉百度了,词典本身就不是和翻译一个级别的东西,里面没有多义词解析和句子结构的变换.不过,词典倒是很符合百度一向宣传的实用原则.想想看,在多义词和句型变换都没有有效解决方法的今天,提供一个可以使用的词典,的确是实用的.这里上升到浮躁模仿,就牵强了.如果这也可以被扣上”浮躁模仿”的帽子,那我是否也可以说,中国的IT博客们,看到keso喜欢google不喜欢百度,也跟着”浮躁模仿”,骂百度挺google呢? :)

算了,我不是百度雇来的写手,没必要替它出头.

回到我对技术的思考,看来机器翻译有两个问题要解决:多义词的解析(选中合适的意思),和句型的变换(不要给我一段”汉语”,让我逐词的翻译回英文才读的懂).

 

在大家和google搜索的帮助下,终于弄清楚了这么几点:

1.雅虎的翻译是使用SYSTRAN的服务,目前谷歌语言工具同样是使用SYSTRAN服务,所以,两家出一样的错误,把booting翻译成”孕惠”,就不奇怪了.我原来以为两家买的是同一个词库,原来连规则库都是一家的.

2.谷歌的那个宣传了很久,得分很高的,基于统计的机器翻译工具并没有公开让我使用.我看到的结果是SYSTRAN的翻译结果,是基于规则而非统计的.

3.雅虎和谷歌显然都对SYSTRAN提供的缺省服务进行了改进,很大的可能是增加了规则(这里是我的推测,因为SYSTRAN是基于规则的,而非统计,所以应该不是训练,而是增加了规则).导致了两家对不同的东西翻译结果各有特色,当然这里包括好的特色和比较搞的特色.

4.拥有世界比较大的语料库和计算资源的google,所做的基于统计的机器翻译得分依然很低,蛮力计算几乎也帮不了太大的忙.

所以,比较雅虎宝贝鱼和谷歌语言工具的讨论,就跟讨论一个蛋是大头好吃还是小头好吃一样了.

这个基于统计的翻译工具,和基于统计的有限词典语音识别还是不太一样.后者比较象做选项不多的选择题,用HMM把前端进来的phone串算一算,看和哪个选项最接近,就是它了.可是这个翻译,选项实在是太多了,而且有的两个选项差之毫哩,谬以千里,难怪会看到翻译出完全意思相反的句子了.

有的时候看着翻译出来的错误结果,我都能听见那个匹配器在说:”不就是少了一个’不’字嘛,匹配的还是很不错地…

 

八月 1, 2006

昨天比较了雅虎和谷歌的翻译.今天就看到关于雅虎宝贝鱼的软文.中间对雅虎翻译的英翻中推崇倍致:”此外,它还可以用来汉化用户指定的网页,把一个纯英文的网页翻译成中文只需不到1秒。”

不过,马上就有人想忽悠了:”笔者试着用G oog le和雅虎分别翻译了“八荣八耻”中“以热爱祖国为荣,以危害祖国为耻”的这句话”

拜托,英翻中说的好好的,您跳到中翻英那边去干嘛?雅虎英翻中,比谷歌的好么?

所以,一句话:小心别被马老板给忽悠了,自己看仔细.

今天用雅虎信箱,才知道有了雅虎翻译.于是去试试,看看怎么样.

从url看,是专门为中文做的: http://fanyi.cn.yahoo.com/ 不过还是可以选其他语言互译.

我试着输入 china ,被翻译成”瓷”,而China,被翻译成”中国”.这点来说,词库比谷歌的要丰富一点点.细节很重要.输入google,没有翻译成”谷歌”,依然是google,我比较喜欢这点,至少在有争议的地方,没有使用大家普遍还没有接受的翻译.

接下来就比较好玩了,两家都有网页翻译功能,于是,我让两家都翻译红帽Linux的安装文档:

http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/install-guide/s1-steps-install-cdrom.html

这里是他们的一些结果:

原文:1.4. Can You Install Using the CD-ROM?

人工:1.4.你能使用光盘安装吗?

雅虎:1.4 。您可以安装使用CD-ROM 吗?// 倒,硬件安装?不过,挺客气的,用”您”

谷歌:140. 你可以用安装光盘吗? // 更接近原意
原文:There are several methods that can be used to install Red Hat Linux.

人工:红帽linux可以用几种不同的方法安装

雅虎:有可能使用安装Red Hat Linux 的几个方法。

谷歌:有几种方法可以用来安装红帽Linux. //短句的表现都不错

原文:Installing from a CD-ROM requires that you have purchased a Red Hat Linux 9 product, or you have a Red Hat Linux CD-ROM, and you have a CD-ROM drive. Most new computers will allow booting from the CD-ROM. If your system will support booting from the CD-ROM, it is an easy way to begin a local CD-ROM installation.
人工:要从光盘安装,你必须购买了红帽linux9,或者你有红帽linux光盘,你还必须有一个光盘驱动器.大多数新计算机允许从光盘启动.如果你的系统支持从光盘启动,从本地光盘安装会比较容易.

雅虎:安装从CD-ROM 要求, 您购买了Red Hat Linux 9 产品, 或您有Red Hat Linux CD-ROM, 并且您有一个光盘驱动器。多数新计算机将允许孕穗从CD-ROM 。如果您的系统将支持孕穗从CD-ROM, 这是一个容易的方式开始地方CD-ROM 设施。

谷歌:从安装光盘要求你买了刘涌Linux9产品,或者你红帽Linux光盘,你的光盘驱动. 多数新计算机会允许从孕穗CD-ROM. 如果你系统支持的孕穗CD-ROM,这是一个简单的方法,开始了本地CD-ROM安装.

评论:长句一来,两家的模式匹配就都出了问题,从英到中的翻译,句式的变化我并不抱太大的希望,机器翻译的语料库太少.不过单看多义词的识别,两家都没有做好.比如说,后来的driver disk都被翻译成了”司机磁盘”或者”驾驶员磁盘”.多义词比较容易闹笑话.

那个啥,好象有个东西,叫做”Mutual Information“的?就是说一个有好多意思的词儿放在一堆词儿里才知道是什么意思?

最后两个发现:

1.好象两家用的词库都是从一个地方来的?booting都翻译成”孕穗”

2.谷歌的翻译里,”刘涌”是哪位大虾呢?

更新:

guest发现,谷歌把dd命令翻译成”肠道疾病”.人民的眼睛,是雪亮雪亮地…

匿名用户指出: Babel Fish 的翻译服务其实早就存在: http://babelfish.altavista.com/。现在,AltaVista, an Overture Company,显然是雅虎的一部分了。其实,真正的翻译技术是由SYSTRAN提供的。它同时power了Google的翻译。见http://en.wikipedia.org/wiki/SYSTRAN

谢谢.那就不奇怪了,两家连错的都差不多.

附:

雅虎的翻译url:

http://fanyi.cn.yahoo.com/translate_url?doit=done&tt=url&intl=1&fr=bf-res&trurl=http%3A%2F%2Fwww.redhat.com%2Fdocs%2Fmanuals%2Flinux%2FRHL-9-Manual%2Finstall-guide%2Fs1-steps-install-cdrom.html&lp=en_zh 

谷歌的翻译url:

http://translate.google.com/translate?u=http%3A%2F%2Fwww.redhat.com%2Fdocs%2Fmanuals%2Flinux%2FRHL-9-Manual%2Finstall-guide%2Fs1-steps-install-cdrom.html&langpair=en%7Czh-CN&hl=en&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools