Categories
Technology

关于借腹生子的再次思考

前两天刚提到Kooxoo的比较购物把别人的数据库匿名搬了过来,提供增值服务。今天又读到关于抓虾新功能允许用户在抓虾自己的系统中写博客评论的评论,大致上是说抓虾把别人RSS的内容拿过来,却把评论功能搭在自己系统上,抢了原始作者的流量、广告、注意力。

我翻了一下以前写过的一篇帖子,提到抓虾可能的评论功能,摘抄如下:

如果Blog和RSS的本质是这样的话,对每个blog的回帖按理说只要点击RSS客户端的“Reply All”就能实现,不需要重定向到源网页。现实可能是每个Blog系统处理用户登录和评论的方式都不太一样,API也没有统一规范,实现起来难度很大。我给抓虾贡献一个点子:在“我的频道”里面,在每条文章的底部加一个评论按钮,当用户点击的时候自动把对应的URL加载到一个弹出式iFrame中,让用户自己处理登录和留言(顾虑:对于内容的所有者来说,是不是显得有些霸道??)。

今天抓虾实现的功能应该是进了一步,也是有争议的一步。

我稍微想了一下,这件事可以这么做个类比。开源软件的开发者在网上公布了自己的作品(写博客),供大家免费下载(发布RSS)。有人看到了这个软件,下载了,然后根据自己的要求修改了部分源码(写了评论)。于是问题变成了,外部用户改进的源代码是否应该贡献给原始作者,还是可以任意修改独立使用进而进行商业行为而不需要让作者知道(前者在作者博客网站写评论;后者在抓虾提供的评论系统里写评论)。问题的本质,似乎还是个license的问题。

开源软件的多样性,产生了很多的license,每种license都有自己的特点和适用范围。对于开源软件的消费者来说,对各种license是有不同偏好的,比如商业用户一般不喜欢GPL,因为传染性太强,等等。

现在的博客,内容上还不具备这么多可供操作的选项,从知识产权的角度看, 知识的自由表达形式所受到的内容控制和监管不如逻辑化的程序代码 - 程序可以直接作用产生一定后果,而知识的价值不是一个exe,它需要挖掘和分析。这么看来,抓虾是在这块领域内的吃螃蟹的人(螃蟹、虾都齐了),棍棒少吃不了。

如果在技术上不能实现原始系统评论和抓虾系统评论的整合(YR,看到了吧,业务搞大了就需要integration了,哈哈),是不是要extend RSS的规范,加入类似license的概念 - 我看是不需要的,做了再说,等着被“万人大签名”了 🙂

Categories
Technology

FreeMind

今天开会的时候看到Don Ferguson使用FreeMind软件做会议记录,投影到屏幕上去很酷。我打算也尝试一下,看效果怎么样。之前的会议记录无非是notepad或者ultraedit,少了点层次感,看上去有点naive。

Categories
Technology

快评kooxoo.com

之所以要“快评”,因为到了该上床睡觉的时间了。

KesoKooxoo(酷迅)的评价很高。我读书的时候看过陈华关于北大天网FTP搜索引擎设计和实现的论文,印象挺深。搞技术的就需要这样上得厅堂、下得厨房的人。

Kooxoo应该算是个比较购物,与FroogleMysimon很像。Mysimon这个东东我早年仔细研究过,后来XML, Web services火了以后就对通过wrapper解析HTML的技术淡了许多。

如果索引的最小单位是页面,那么如内容保护和page ranking相对都比较简单;Kooxoo实际上挖的是网上服务提供商的关系数据库,而且是在没有ODBC/JDBC data source的前提下通过HTML/HTTP尽可能的发现非精确接口,然后通过定制wrapper精确化后做内容提取。所以Kooxoo的研究的最小单位不是页面,而是一个HTML table的每一行tr/td数据,这些数据基本上没有reference可供rank,实时性又很强,能抓到已属不易。

当你要把对方数据库里的东西抓出来放到自己的搜索结果里面,会有多少问题,不知道。小网站能获得更多的关注度,可能很happy;大网站觉得注意力分流,并被匿名的参与到集体比价的行列中,也许不happy。在Kooxoo默默无闻的时候天下会很太平(其实Google的Froogle到现在也是很成功的),可在国内互联网大环境下,”借腹生子”发家会被”万人大签名”讨伐的(参见迅雷事件)。

在分类信息检索的基础上,希望Kooxoo能提供论坛的实时检索,奇虎们可提高的地方还有很多。

Categories
Technology

20年前的IBM和现在的MS

好像一夜之间,大家都不觉得微软可怕了,甚至有点同情它了。就好比一个和自己较量几十年的对手,突然开始变得行动迟缓、风光黯淡,反而觉得有点失落。

在这篇”Microsoft’s Current Situation: Like IBM in the ’80s” 博客文章中,把80年代失去个人操作系统业务的IBM与现在的微软做了一个对比,分析的很透彻。我欣赏的一些评论有:

“…The “toys” made by competitors just do stuff that users want. And they do it fast. And the users vote with their dollars…”;

“…In fact, it’s hard to find any example of buying into a market yielding a profitable long-term business. Subsidies kill innovation…”;

“…It (Microsoft) is too rich and comfortable to move quickly and win in new markets without its monopoly to prop it up….”

在大企业工作的人可能对这几点评论都有着深刻的理解。我长久以来的一个观点是,既便是Google这样工程师文化驱动的企业,当规模超过几万的时候,类似的毛病同样会出现。一旦1万个爱因斯坦在一个组织内一起工作的话,可能就有成百上千的爱因斯坦开始花更多时间考虑量子力学以外的东西了。

Categories
Technology

city8更新

早上收到City8的回信,确认网站响应速度问题已得到解决。试了一下,果然快了很多,我搜了一下蓝村路,实景图的效果的确不错。

现在特别想知道city8如何进行数据采集,是不是像我在上个帖子说的,一帮人带着DC骑着助动车在上海大街小巷游走,每个人和直销公司一样划分一块负责的地域范围,然后拉网式拍摄?因为要把地图信息和照片映射起来,在拍照的时候还必须记录下当前地点的位置信息(如经纬度),然后才能按比例还原到电子地图上。莫不是带个GPS,每拍一张测一下,小本子里记录一下。(如果有带GPS的DC多好,拍的时候自动把位置信息叠加到照片上)。

Seaman如果有空的话,看能不能回一下,满足一下大家的好奇心:-)

另外,听同事说最近看到有人在公交站牌下拍照(公交线路),我第一反应就是又会有交通地图导航类网站诞生了。

附:蓝村路、杨高南路端实景图


Categories
Technology

手机定位

把严守一吓得一身冷汗的手机定位,现在已经完全可用了。大概1年前我试用过上海移动的手机定位,用短信就能知道当前位置和附近信息,当时玩过一、两次后就再也没碰过了。

晚上偶然发现这个手机定位网, 才知道移动已经把这个业务做的很完善了,包括我最感兴趣、也是最怀疑的隐私问题:我能定位陌生人吗?这个问题也有了明确的答案。这个网页列举出了有关手机定位的所需的所有信息,包括如何通过短信加好友列表(by default, 所有用户都被110加了好友^-^),允许好友们定位自己;如何取消授权、收费等等。

手机定位 + 地图服务“蕴藏着多少机会,不用多说了。举个例子,家人出去逛街,找不到某个专卖店。我可以在电子地图上立刻定位到家人的位置,于是在地图一个小人出现了。之后我沿着地图看,找到了那家专卖店(比如可以利用实景地图city8),用鼠标把家人的头像(可以集成IM服务,通过双击头像发MSN/QQ消息,对方手机接收)拖放到目的地。当然,这时候不会从天而降一个大手把人拖走,而是家人手机上出现完整路线导航信息(根据我的鼠标拖放自动生成)。

Command & Conquer式的控制 – 通过地图服务、无线定位、实时消息,从而达到辅助操作物理环境下实体移动的应用,会慢慢涌现出来。

站在大街上的人,觉得总有一千双眼睛在天上盯着自己 – 这算killer app吗,算蓝海吗,还是3.0? 对了,还忘记了交通协管员帽子上带3G的网络摄像头…

Categories
Technology

收编sysinterals

微软收购Wintenals后没多久,大家都意识到由Winternals支持的Sysinternals的免费工具软件可能会出现某种变化,纷纷开始了全民大下载行动。我刚试了一下,结果:

HTTP Error 500-13 – Server too busy
Internet Information Services

Sysinternals上的工具都属于瑞士军刀级别的,我一直用它的TCPView和ProcessView,尤其是TCPView几乎是每次排查网络问题的必用工具。商业的Winternals工具可以和Virtual Server合并成微软环境下的基础设施软件包;免费的Sysinternals工具可以并入Vista Resource Kits或者是网上需Genuine Windows认证的免费下载。

开源或者免费软件经收编或其他商业活动,导致产品性质改变的例子一把一把。 著名的VNC, Berkeley DB都是先放再收,要么就是多版本并行开发。不管怎样,至少这些软件项目的孵化已经取得了成功。

Categories
Technology

city8

现在的新兴互联网公司,被技术问题卡住壳的,应该不多了。今天刚开张的city8似乎就出了点小问题。

必须承认city8的想法很好,你有卫星高科技,我有廉价劳动力单车DC族环游上海玩实拍。3D实景地图搜索,比那个3D仿真地图更近了一步。不过速度慢的出奇的Java applet让这个地图几乎无法使用,而Firefox显然也不在设计者的考虑之内。

幻想一一实现,什么时候可以24小时实时网络现场直播全上海的角角落落(让每个交通协管员帽子上戴个摄像头,上GPRS/CDMA/3G网络和移动电信分成?)

Categories
Technology

折腾人的.flv视频

近期.flv格式的视频文件忽然多了起来,热门视频分享网站6roomsyoutubeGoogle video等都在使用这种格式提供在线视频播放服务。我没看出.flv有特别多的优点,对播客网站来说就是增加了用户下载的难度,把老百姓之间的私下共享尽早的扼杀在摇篮中。

前两天为了从Google Video下载一个”The Science and Art of User Experience at Google“的视频,在研读了网上最佳实践后折腾了半天才当下来。即使下载到本地,因为.flv格式的文件无法拖放到浏览器内嵌的Flash Player播放,所以用户还必须下载Flv的播放器…

好了,是需要更简便方法的时候了。为了更多受众,还是分享一下在IE里下载在线播放.flv视频的下载方法。

1. 下载ieHTTPHeaders软件。这是一个IE插件,可以记录当前浏览器和服务器的全部对话内容。安装后,在IE“查看”->”浏览器栏”里可以看到”ieHTTPHeaders v1.6″的选项,选中后IE底部出现监控窗口;

2. 正常使用IE时,可以在下面窗口看到动态的HTTP request和response。一旦看到IE里.flv视频文件加载完成,就可以把监控窗口中的内容copy到记事本里然后搜索”.flv”就能找到这段视频文件真正的URL地址了(需要和当前浏览器URL地址拼接成绝对URL地址)。

下图是IE在播放6rooms里“中国队勇夺世界杯冠军”.flv视频时捕获到的URL地址:

Categories
Technology

CSDN论坛stylesheet的路径问题

FF访问CSDN论坛遇到困难,XML数据无法被render(见下图)。IE访问一切正常。

View source后看到XML中对XSLT的引用是这样写的:href=’/expert/Xsl/2.xsl’

FF无法正确解释相对URL,IE则没问题。把两个文件下载到本地,修改href为绝对地址FF正确render出XML。

用FF访问CSDN的人按说很多啊,怎么就没修复呢?

PS: 现在美女作家都已经渗透到程序员的队伍中了(一直听说孙卫琴的名字,以为是个阿姨呢)

http://www.dearbook.com.cn/2006/javaobjectcoding/index.htm

Categories
Technology

推荐一个Open Source/Harmony/Java相关的博客

我的同事杨普在CSDN上的博客:http://blog.csdn.net/paulex/ 。里面IBM Java相关分类被aggregate到在CSDN IBM专家群中。

Paulex,你的URL已经加在我的”圈子Link”中了:-)

Categories
Technology

Alcatel-Lucent Shanghai Bell Co,.Ltd

这可能是阿尔卡特与朗讯合并后上海贝尔-阿尔卡特有限公司的新英文名称:Alcatel-Lucent Shanghai Bell Co,.Ltd. 名字长了一点。

说到公司名称长度,想到好几年前的一个故事(未经证实),有人研究了Windows 3.1的安装文件,确认如果微软把自己的名称从Microsoft改成Mic,Windows 3.1所需要的11张1.44寸软盘可以减少到10张,就是说有1兆的数据都是公司名称字符串在各种程序文件、帮助文件等的不停重复产生的 – 听上去很夸张。

再由上说到程序容量,Windows 3.1 20MB不到,而现在腾讯QQ的安装文件都有超20MB了,什么IM、聊天室、浏览器、邮件客户端、工具栏插件,能装的都很它都给装进来,你别嫌多,还都一分钱没要呢。

说到钱,我上个月创了小记录,单月手机花费低于20元,刚刚16块出头。 自从动感地带以后,很少要过3位数的月手机费了,语音业务的确是越来越便宜了 - 感谢大、小灵通、感谢skype、感谢互联网。

Categories
Technology

博客网(bokee/blogchina)至WordPress搬家攻略

摘要

Web内容集成曾经是最困难的工作之一,感谢XML/Web services,在Web 2.0的时代终于可以比较容易的实现了。目前绝大部分blog系统都支持两种方式的内容输入:标准的基于Web的方式,即用户登录、发贴;另外就是通过API利用客户端软件发贴。这两种方式可以简单的想象成WebMail和基于SMTP邮件客户端。本文实现了基于半结构化内容抽取和异构XML目标数据的集成。

实现方法

现在常用的Blog API有Blogger API, MetaWeblog API, Movable Type API等,这些API都采用了XML-RPC进行数据包装和传输。 blogchina.com目前仅支持早期的Blogger API 1.0(而且是部分支持),而WP同时支持这三种API。

为了把http://zhangling.blogchina.com 里过去两年的文章完整的搬到新系统中,我首先尝试了用Blogger API去读取blogchina里的文章,但碰到了问题。

用Java开发,我用了Apache的XML-RPC包。经尝试,发现blogchina仅支持blogger.getUserInfoblogger.getTemplateblogger.getUsersBlogs等几个有限的方法,对于关键的抽取文章内容的函数则完全不支持。这意味着所有的内容无法通过编程的方法获得,工作量一下上升了很多。

于是我在浏览器分别打开04-06年的文章列表,用下载工具将页面里所有博客文章进行批量下载(还好这个过程的工作量不是很大),然后在本地磁盘上根据年份和文章分类建立多层子目录,把对应的文章放在不同目录下面。现在的问题变成如何从HTML页面中把文章标题、内容、发贴日期和评论分别抽取出来作为XML-RPC参数发送给WP系统自动建立新文章。仔细研究了这些HTML文件,发现它们都具有相同的结构和布局,仅仅是内容上的变化,其他如布局和风格几乎完全一样。接下来就需要分析HTML代码找到文章标题、内容、日期、评论部分的特征标签以进行内容抽取。比如就标题来讲,所有的标题前都有”diaryTitle”标签;所有发贴日期都符合正则表达式”年\\S*月\\S*日.*星期\\S\\s\\d\\d:\\d\\d”,等等这些信息都对内容的正确提取提供了保证。

根据分析得到的特征标签,写了4个Java class(TitleExtractor, ContentExtractor, DateExtractor和CommentExtractor) 。对300多篇文章进行测试,抽取成功率100%(当然还写了一些字符串处理函数解决一些有变数的字串)。于是,数据源的问题得到的解决。

花费最多时间的倒是对WP的数据写入部分。我用了MetaWeblogAPI,使用XML-RPC中的XmlRpcClient类,构建好参数列表,测试发现中文出现问题。Java程序送出的XML数据包在WP系统上显示为乱码。经调试确认XML-RPC使用的是UTF-8编码,而WP也是配置成UTF-8。在调试多次失败后,我用Ethereal(已经改名成WireShark)捕获了发出去的HTTP数据包,发现Apache的XML-RPC实现把中文字符进行HTML转义,导致WP无法识别。为了验证,我装了Zoundry并尝试发贴,在捕获的HTTP请求包中,Zoundry把“中文标题”四个汉字编码成“\344\270\255\346\226\207\346\240\207\351\242\230”,而且WP正确的接受并成功显示!接下来,我下载了Apache commons codec包,尝试了里面多个编码器,始终没能成功,不得不考虑使用其他Java实现。

最终我找到了合适的包Redstone XML-RPC,它顺利的把我GB2312编码的文章上传到WP上(需要把WP缺省编码改成GB2312),于是剩下的事情就是一个for循环对目录里的所有文件做一次内容提取、参数组装和网络调用。为了简单,我把评论部分附加在正文末尾(因此可以在新博客老帖子的正文部分里看到很多老系统的影子,如黑色的头像:)

结论

虽然一些商业系统开始提供博客搬家服务(如blogbus和讯),由于可用性的限制要实现完整的系统搬家难度还是非常大(我在blogbus尝试10篇文章的搬家未获得成功)。因此,如果懂软件开发的话,自己写点搬家程序会更容易、更便捷。

参考文献

1. Apache XML-RPC: http://ws.apache.org/xmlrpc/
2. WordPress API: http://codex.wordpress.org/XML-RPC_Support
3. Ethereal Bug 894: http://bugs.ethereal.com/bugzilla/show_bug.cgi?id=894
4. PHP和JAVA的XML-RPC中文问题解决办法: http://fanqiang.chinaunix.net/program/php/2005-09-06/3586.shtml

附录(部分代码)

XmlRpcClient client = null;
try {
client = new XmlRpcClient(new URL(“https://www.zhangling.org/blog/xmlrpc.php”), true);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

for (int i = 0; i < files.length; i++) { try { filename = folder.getAbsoluteFile() + "\\" + files[i]; FileInputStream fileInput = new FileInputStream(filename); InputStreamReader reader = new InputStreamReader(fileInput,"GB2312"); BufferedReader bufferReader = new BufferedReader(reader); while (bufferReader.ready()) { content = content + bufferReader.readLine() + "\n"; } } catch (Exception e) { System.err.println(e); }

title = titleExtractor.getTitle(content);
description = contentExtractor.getContent(content)
+ commentExtractor.getComment(content);
datestring = dateExtractor.getDate(content);
content = “”;

Vector v = new Vector();
v.add(“1”);
v.add(“AAAA”);
v.add(“********”);
Hashtable hashtable = new Hashtable();
hashtable.put(“title”, title);
hashtable.put(“description”, description);
Date date = new Date(datestring);
hashtable.put(“dateCreated”, date);
String category[] = new String[1];
category[0] = “技术”;
hashtable.put(“categories”, category);
v.add(hashtable);
v.add(“true”);
try {
Object result = client.invoke(“metaWeblog.newPost”, v);
System.out.println(“received: ” + result);
} catch (Exception e) {
Logger.writeLog(filename + “:” + e);
System.out.println(e);
}

}

}

Categories
Technology

关于评论无法输入英文的问题

刚才打了博客网的客服电话,说明了英文字符被过滤的问题(居然没人报过),客服人员自己试了一下,确实不能发英文。

等吧,从现在开始看多久能修好。

Categories
Technology

电台DJ的传值与传引用

105.7交通台晚上7点钟有档节目叫“淳子咖啡馆”,每期都有个主题,淳子在伤感怀旧一番后放一首歌,叙述一段后继续放歌。我平时能在下班的公交车上听完这个节目的上半部分。

今天晚上听歌的时候忽然想到一个技术问题:这些直播或者非直播的音乐节目中,往往要完整的播上几首歌曲,这些节目的录音资料是仅包含主持人说话的部分呢,还是连这些完整播放的歌曲一起被重新录制进去了。比如一个小时的“咖啡馆”,主持人说话的时间加起来可能只有20分钟,剩下40分钟全是歌曲,这个1小时的节目最后存档或者未来重播的时候是保存了完整的1小时资料,还是仅仅保存主持人的部分,在重新播放的时候由电台调度当场从曲库中找歌来播。

这是个有关存储空间与执行效率的问题,就是by reference和by value的区别。如果是by value,每首被播出的歌会无数次的被复制到各个音乐节目声音资料中,浪费了大量的存储资源(经典热门歌曲可能被复制到成百上千卷的磁带中);如果用by reference,虽然节省了存储空间,但在重播的时候需要有人在主持人话音结束的时候找到CD,定位track,再播放,太复杂了。不用说,电台一定用的是by value的做法,一来容量不是问题,二来资料的整理存档很容易。这好比做一个网页,要链接别人的一段内容,假如仅嵌入一个超链接的话,很难保证这个超链接未来还是否继续有效,与其这样不如copy & paste到自己的页面里,完全脱钩的自主管理和维护。

另外一个引起思考的问题是DJ们如何快速找到CD曲目(尤其是在直播节目中),电台内部是不是有一个可以直接供DJ使用的搜索引擎,根据歌手名、年代、曲名、歌词等搜索??我不知道。昨天中央5套“豪门盛宴”里张路介绍了一个点球技法 - “勺子球”,让我觉得更加有趣:体育部的人如何在这么短的时间内找到了这么多“勺子球”的录像(大概有10个左右),这些录像有的来自联赛,有的来自世界杯,而且不少都上了年头。这些视频资料在电视台是如何管理、分类、标签、检索的呢?可以想到的是给每场球赛加多角度的分类,然后加入一些tag,如“乌龙球”、“误判”等供方便日后检索,但像“勺子球”这样的关键词也会被资料管理员们tagging吗?我很怀疑,难道是全靠懂球的人回忆起来的,没太可能。。。。我猜Web 2.0这些东西,放到中央台估计会被仓库管理员鄙视的。。。

Ding Feng曾经研究过Dublin Core在图书馆学中的应用,现在看至少在视频的metadata标注上还是太粗粒度了。对于球赛来说,要不就把比赛解说词用语音识别转换成文字,然后把这些文字连同录像一起保存归档,文字部分供搜索之用(以后在引用06年意大利vs澳大利亚的录像资料时,只需要输入“灵魂附体”就可以了)。

Categories
Technology

Blogger API

收到同事邮件,邀请我加入CSDN IBM开发者圈子。对于这个比较官方的blog,我唯一的顾虑是在选题上的谨慎,谈论的内容要会窄一些,更偏重于技术,尤其是IBM相关技术。

所以我打算同时维护两个博客(CSDN上的尚未开通),把有关技术的内容镜像到CSDN的圈子里;一些闲谈杂想仍旧放在此处。

为了简化镜像的工作量,我花了点时间考察了目前可用的blog客户端工具,这些工具可以离线的写作并自动发布到网站(多个)上而不需要用浏览器登录。blog客户端使用了一些常用的API,如Blogger API,MovableType等。

经研究,博客网(Bokee.com)支持的是Blogger API,其发布URL是http://publishblog.blogchina.com/xml-rpc,详细说明在此

目前可以找到对bokee支持最好的免费工具是blogBuddyZoundry Blog Write。blogBuddy处理Bokee很顺,没有中文编码问题,它最大不足是没有WYSIWYG编辑器和多站点配置功能。Zoundry的功能很全,可偏偏无法正确支持除UTF-8以外的编码(bokee用的是GB2312),此外其发布功能的bug也很多。

图:Zoundry的帐户配置和多协议支持:

对于CSDN Blog,我还不能确信它是否支持某种特定的Blog API(搜索了一圈也没找到)。不过凭CSDN在技术上的偏执,API的事情迟早会解决。

Categories
Technology

Lotus EasySync 4.2.4 Beta for WM5

在公司内部新闻组上看到Lotus EasySync 4.2.4 for Windows Mobile 5的Beta版在内部开始提供下载。去年底我在Dell X51上装4.2.3报错,在论坛上看到很多人报这个兼容性问题,现在支持WM5的新版本终于出来了。

基于WM5的标准开发工具是VS.NET 2005,它用新的MFC 8.0 for Device代替了老版本的MFC 3.0 for Devices。所以用老版本eVC开发的项目如果引用了MFC 3.0的类库,在移植到VS.NET 2005后就会出现编译错误。而就目前情况看,预装了Windows Mobile 5.0的Pocket PC设备其内置的MFC类库版本仍然是3.0。

从Pocket PC 2003移植到Windows Mobile 5是相当痛苦的过程,尤其对developer来说。

Categories
Technology

虚拟星空

在这期《程序员》杂志上看到Sourceforge 5月份的最佳项目:Stellarium。Stellarium是和Google Earth反其道而行之的工具,后者是从天上往地上看,前者是从地上往天上看。

在上海看到清朗美丽的夜空太难了,城市内部汇集的光源在夜色中遮蔽了来自太空的光线。有了Stellarium可以坐在家里好好看看星空了。

星空图(缺省位置:上海)

Stellarium对中文支持有点问题,虽然有切换语言的选项但转到中文后所有文字都变成方框。

Categories
Technology

机器翻译的收敛性

想到这个题目是因为今天读到一个在中国出差的日本员工在自己博客上写了昨晚看CCTV-5世界杯日本对澳大利亚这场比赛的一些感受。他是用日文写的,我copy下来用在线机器翻译转成了英文,读上去很不通顺,只能抓住几个动词和名词。

这个想法在晚上789路公交上进一步发展,就是如果多次在两种语言之间做机器翻译,翻译结果会一直变化(规律或无规律),还是在双向翻译次数达一定数量时,翻译出的文字内容开始收敛,并最终稳定下来,不再变化。

我做了一个小小的实验(因为实验数据很有限并且只考察了谷歌的在线翻译工具,不足以证明这一命题),摘取了新浪科技上的一篇文章中的几句话,先翻译成英文,再翻译成中文、再翻译成英文…在大概3-4次重复后,结果便固定下来,无论怎样继续,文字不在变化。当增大样本为一大段文字时,基本上5-6次后开始结果开始稳定。

我猜想在机器翻译领域这个问题一定有人研究过,只不过圈外人不知道罢了。

回复

Categories
Technology

Dojo Toolkit

Dojo Toolkit是一套纯JavaScript的函数库,提供了基于JS的widget和AJAX类库。IBM目前是这个open source JavaScript 类库的支持者之一,并且已经或即将贡献部分代码给Dojo。

Dojo的widget很cool,尤其是那个FishEye,很炫。这里之所以没有直间给出FishEye demo的链接,是我想谈的另外一个问题,就是大量的JavaScript造就了许多1 page网站:除了首页外无法看到当前内容的URL,所有都是JS代码动态加载的,想copy个link发给别人也做不到。这好像是昨天那个内容隐藏的又一个解决方式。

我喜欢AJAX,但也喜欢完整、可复制、长期稳定、可以从地址推测出内容的URL。没有URL的网站和HTTP协议一样,是无状态的,如果没有cookie,所有对话都要重来。还是多给AJAX几块甜饼吧。