| areal's profileiamcrfBlogLists | Help |
|
January 23 印度纪行-1月11日今天开始IJCNLP后续的workshop,我参加的自然是SIGHAN。早晨去的时候接我们的出租车晚了,所以到了workshop的会场IIIT-Hyderabad也迟到了。上午是正式论文的报告会。分别由Olivia和苏简主持。感觉提问还是蛮踊跃的。让我们惊喜的是,SIGHAN居然提供了硬拷贝的论文集。想想IJCNLP主会的论文集还要1700卢比额外购买呢。 中午吃饭在IIIT一个似乎位于角落的楼房的二楼进行。由于有人没来报告,我们得以提前结束去吃午饭。午饭和ISB那里的主会的午餐大同小异。在那里,我认识了香港理工大学的陆晴老师,她已经去过阿格拉了,所以告诉了我好多关于去那里的经验,比如在新德里可以去外国人窗口买票,泰姬陵要下午才能看清楚,因为中午有雾之类的。她还把她买的一本旅游指南给我用,后来这本书的确发挥了很大的作用。:) 下午开始本届bakeoff的报告,由朱靖波老师主持。感觉本届SIGHAN任期略显不足,国内大学中,仅有朱老师代表的东北大学有代表过来,其他的就只有法国电信和诺基亚两个跨国公司的代表了。本次workshop很大程度上还是香港台湾代表为主,甚至日本代表都不少。至于人数较少的原因,可能是由于在印度开会的缘故吧。 毛新年在最后一个讲,所以我们很有耐心地等到他的最后一场报告。然后集体坐车到陈文亮的旅馆继续吃晚饭。 印度纪行-1月10日今天实在没什么可说的。流水账如下: 上午认识了来自Yahoo的陈爱涛。他专程过来参加明天开始的SIGHAN。在他现场注册后,我们在一边聊了会天,顺便问了下他怎么做这次的pos tagging的。下午他和聂建云,张瑞强租了个auto去看Golconda fort去了。打发完最后一场报告,就举行闭幕式了。下届ijcnlp将和acl合办。地点在新加坡,因此来自新加坡的李海舟作了个举办地简介,放了两段据说由新加坡旅游局提供的录像。 晚上,我们相约到陈文亮的旅馆吃晚饭,据说那里有印度罕见的荤菜。毛新年在那里发现了鸡,我发现了鱼。倒是皆大欢喜。 January 22 印度纪行-1月9日-Golconda Fort and Charminar早上定下的出租车本来说去接周强老师,但是到他的旅馆的时候,他已经离开了。于是我们三人决定翘会去看看海德拉巴有什么像 样的景点。根据林教授的研究,列出了一个长达8个景点的清单。不过最重要的就是Golconda Fort和Charminar了。某种意义上来说,这两个景点之间以及它们和海德拉巴的历史都是密切关联的。 海德拉巴(Hyderabad)作为安得拉邦(Andhra Pradesh)的首府,印度第五大城市,充满了伊斯兰氛围,特别在Musi河 的南岸,明显看到更多的蒙着面纱和黑衣长袍的女性增多。大海德拉巴市区分为旧市区和新市区Secunderabad。我们住的地方在侯赛因湖 (Hussein Sagar)的南部不远处,属于旧市区,新市区在湖更靠北的位置。海德拉巴旧市区按照国内的城市化标准来说,实际上很难说是一个城市,确切说,更像一个人口密集的超级大村寨。AUTO排出的浓郁尾气,无处不在的小摊小贩,摩托,汽车,乃至马车共享的车道,公共设施缺乏使得整个城市处于严重的无序状 态。我们坐车的时候路过可能属于新市区的区域,根据街道的外观,也许只有那里才算一个像样的城市。我发现印度好多城市的名字的末尾都带 有-rabad的词尾,我没有问过印地语的来历,大致猜测可能这个词尾就代表着城市,堡垒的意思。Hyderabad的词头Hyder-听起来像水的词根 Hydro演化而来,所以我本来猜测这个城市的名字就是“水城”的意思(后来查了下资料,并非如此)。不过这个至少符合一些事实,海德拉巴市区范围就有一 个比较大的侯赛因湖(有资料称这是一个人工湖),郊区的湖泊也有若干个。水肯定是不少的。作为海德拉巴的孪生城,Secunderabad,可能就是“第二城”的意思吧。 印度人天性散漫而不善于记载他们的历史。号称文明古国,但是明确记载的历史文献并不多,以至于要依赖于外国人的记载,比如,玄奘的游记。海德拉巴作为一个 非印地语邦(泰卢固语)的首府,大致是历史上统一的印度王朝(多来自北方)往南部扩张的终点,至少也是不断处于独立和被北印度的中央王朝政府的拉锯中。实 际上,印度历史上从未获得过一个从南致北的统一。次大陆的南端,绝大多数的历史时光都是被许多小国统治着。印度的统一是英国人留下的礼物(但同时他们又狡猾地分割出了巴基斯坦)。根据我这个外来人的观察对比(后面几天我将去北印度),印度南北的文化差异是明显的。 海德拉巴位于德干高原,只是这个高原似乎不高,根据Kingfisher航空的海拔读数,似乎仅仅只有500米的海拔。德干高原在经历了安得拉王朝,阿育王的统治后,在15世纪,统治这一地区的是巴赫马尼苏丹国(Bahmani Sultanate),1463年,Quli Qutb-ul-Mulk 被派到这里来镇压叛乱。叛乱被平息后,他受命统治这里,1518年,Quli宣布独立为苏丹国,并自称Sultan Quli Qutub Shah。这是位于Golconda的Qutb Shahi 王朝的开始。Golconda来自泰卢固语,意为“牧羊人之山”。巴赫马尼苏丹国此时已分裂成了5个王国。Golconda城堡的建设大致是在Qutb Shahi王朝的前三位苏丹在位期间完成的。尽管它的历史可以上溯到卡卡提亚时期。 1589年,苏丹Muhammad Quli Qutb Shah下令建立了海德拉巴城,它位于Golconda东部8公里处。海德拉巴这个名字来自Muhammad的当地人妻子的名字Bhagyamathi,她嫁给苏丹后,改宗伊斯兰教,名字相应的改为 Hyder Mahal.因此hyderabad因此得名.在Muhammad的 命令下,Charminar也建立了起来,作为一个印度式凯旋门位于这个城市的中心。char的意思是四的意思,minar作为很多印度建筑的词尾,意思 是尖尖塔,所以char-minar可以翻译为四柱塔。这个塔的顶部是一个清真寺,不过我们过去的时候,似乎已经关闭了。至于为什么是四柱,好像不是出于美学的原因,某些人考证说是因为代表伊斯兰教兴起的时候的4位哈里发。 1686年,那位建立了泰姬陵(我将在14日拜访那里)的沙贾汗(Shah Jahan)的儿子,奥朗则布(Aurangzeb),一位长寿(我一直怀疑教科书上说他活了90岁的记录是否可靠)而且野心勃勃,一生致力于把占据印度北部的统治扩展到南部的莫卧儿帝国皇帝,把他的眼光投入了首当其冲的就是Quli 建立的小王国.海德拉巴此时是一个重要的钻石贸易中心,历届的苏丹作为波斯,伊斯兰教,乃至当地的泰卢固文化的保护人,也使得这个城市获得了极大的繁荣. 持续到1687年的对于Golconda的8-9月的围困最终由于一个被奥朗则布收买的叛徒打开城门而陷落.奥朗则布的征服导致了海德拉巴持续数十年的衰 落.1707年,奥朗则布去世,海德拉巴的统治者获得更多的自治权,1724, Asaf Jah I,被帝国皇帝授予Nizam-ul-Mulk(总督)称号.这开启了Asaf Jahi王朝的时代.这一王朝统治海德拉巴附近的广阔地区直到印度独立的一年之后.Asaf王朝的统治者和法国,以及后继的英国人保持了良好的盟友关系.Secundarabad就是为了驻扎法国军队,继而是英国军队而建立的城市. 历任Nizam的统治重新给海德拉巴带来了文化和经济上的繁荣。在印度独立前,Nizam统治下的海德拉巴是印度最大的土邦。领土面积甚至大于不列颠岛。第7位Nizam建立了现代意义下的医院和大学。1947年印度独立的时候,Nizam希望能继续保持独立。很大的原因,我猜,是因为海德拉巴统治者及其大部人民都属于穆斯林,对于加入印度教的印度心怀恐怖。但是,作为一个被新独立的印度环抱的土邦,保持独立终于只能是一个空想,因为海德拉巴不是克什米尔。支持总督和要求加入印度联邦的势力很快发生骚乱,刚独立的印度政府借口平息骚乱,于1948年9月16日以警察行动(如果印度真的在海德拉巴拥有警察权的话)的名义攻入海德拉巴,4天后,海德拉巴军队投降,Nizam最终同意投降,将海德拉巴并入印度。1956年,印度根据语言重新划分了邦,海德拉巴土邦被分成了三块,海德拉巴城及其周边划入了泰卢固语的安得拉邦,其他的划入了马哈拉斯特拉邦和喀拉拉邦。 (以上描述的年份和人名的具体拼写参考了维基百科英文版) 根据我住的QIR提供的早报的消息,最新变动是,印度由国大党控制的国会正在考虑成立一个委员会,计划将安得拉邦一分为二。当然,抗议是免不了的。我在第三天的报纸上就读到了本地的抗议示威的消息。抗议者说这是国大党企图在选举中占优的一种策略。或许是真的? 我们的出租车的第一站自然就是Golconda了,其实,它就在我们每天从旅馆到会场的半路的花岗岩山上。稍加留心,我们每天都能看到这个古堡。严格来说,这个古堡已经不能算是古堡了。我宁可叫它一个圆明园式的废墟。门票价格,外国人是150卢比,本国人似乎10卢比的样子。进去后,一个老者很友好的给我们三人带路了一会,但是很快,他就要求我们接受他350卢比的导游服务。我们友好的拒绝了。他在后边喊,你们不会知道你看到的是什么的!进去的第一个地方就是一个稍微有点突出的过道,姑且称之为“中庭”,在其中心击掌就能听到很好的回响,据说在山顶上也能同步听到。但是我们没有机会验证了。我们的路线其实很简单,就是一路向左,也就是朝南的方向,穿越了一个大的宫殿(中间间或有蝙蝠的味道),然后寻找路线上山。到处是断壁残垣,甚至还有几个杂草丛生的院子。一直到最高处,有一个微型的清真寺。我们可以俯视整个古堡,同时也能鸟瞰没什么高楼大厦的海德拉巴市区。 整个古迹看不到任何维护措施,虽然在山下的一个区域看到角架和几个工人在慢吞吞施工。不像中国的旅游景点,故宫里面可以放星巴克,但我发现我去过的印度景点内部没有任何的商业设施。完全是单纯地把历史上最后留下的废墟展现给你看。当然,这里的游客也很少,而且我估计至少有一半是外国人,偶尔也能见到几个当地人情侣。跑了一圈后,我估计整个古堡大约2-3公里的样子,并不能算大,很多旅游指南上说它几十公里完全是胡编乱造。古堡从山脚修到山顶,至于山顶的高度,一个明显不负责任的旅游指南中的说法是200米,我们实际攀爬的感觉绝对应该在100米以下。 我一直很奇怪谁破坏了古堡,按照历史看来,奥朗则布的莫卧儿帝国要承担最大的责任。当海德拉巴被莫卧儿帝国政府后,这个古堡应该是被废弃了。因为这里不再需要军事上的防守了。我在路上问过一个当地人,他说,各种原因,地震,风化,战争等等毁坏了这个古堡。 本来我期待下一步到Golconda旁边的Qutb Shahi王朝历任苏丹的陵园去看看的。但是司机显然有他的考虑,临近中午的时候,按照清单,他把我们拉到了Salar Jung博物馆。司机解释说,所有的景点都会去的,由他来安排顺序。这个博物馆严格禁止任何照相,因此需要把相机存包。这多少让我们有点沮丧。Nawab Salar Jung是海德拉巴土邦的第三位Nizam,热爱艺术,终生不娶,从而造就这一博物馆。进去的时候,还要像飞机场安检那样搜身查包。好在我们已经习惯了这种印度式检查。但是,同样的,由于我们来自中国,这个博物馆没什么特别打动我们(至少是我)的地方,至少很多中国人已经习惯了用1000年为单位来记录历史。我注意到这个博物馆最早的一些文物仅在公元8世纪左右。好吧,我承认,由于走马观花,我对于这个印度人的博物馆实在不感冒。这个博物馆所反映的印度土王的生活水准也不是我所感兴趣的。 临近中午,我们就在博物馆中的餐厅匆匆吃了午饭。出来后,我们强烈要求司机马上去Charminar。到了Charminar下面,我才知道IJCNLP-08的主页上那张Charminar的照片多么误导世界人民了。无数的水果摊和autos把charminar周边的地域淹没了。为了拍张完整的charminar的照片,我们不得不往南走,远离这个高大的建筑。历经艰险,我们终于过了马路,总算拍下了张照片。拍照片的同时,我们发现了一个清真寺,回来才知道,我们刚刚拜访了有名的麦加清真寺。清真寺前有一个巨大的广场水池,鸽子铺天盖地。不过要进入清真寺需要脱鞋。我们三个人都不习惯。所以继续匆匆拍了些照片就走人了。回来后看了报道,2007年5月8月这个地方两次被炸弹袭击。算起来,4个月一次,我们差点赶上。后怕中。回到charminar底下,发现它是可以登顶的,照例,100卢比的门票。这次只有我和林教授上去了。经过单行的,仅容一人过的螺旋楼梯,我们爬了上去。离开楼梯踏入第一层的那段,30厘米的旁边就是20米的地面,但是没有任何栏杆保护。真是佩服印度人的胆量阿。除了看看低矮的房子和无尽的水果摊加auto,charminar上的风景乏善可陈。我们匆匆下来。赶往下一个地方,Chowmohala宫殿。 在宫殿门口,我们找到一个椰子摊,买了6个椰子喝。喝完,摊主坚持要60卢比,但是我们坚持刚开始说的20卢比3个。最后,考虑到印度人总是宰老外的恶劣传统,给了50卢比不理会摊主的喊叫走人。进去宫殿的时候顺便问了看守Chowmohala的警察,椰子多少一个,答10卢比。天哪,这才发现我们居然还占了一回印度人便宜(而不是相反)。整个宫殿的布局中规中据。除此之外真的就没什么可以说的了。整个宫殿群的布局基本是成长方形的,在边上是走廊或者宫殿,中间是水池或者花圃。内中的陈设大都是土王的生活用品,从卧室到办公桌不一而足。 从宫殿出来后,我们三人都累坏了, 剩下的4个景点我们宣布放弃,要求司机快点送我们回旅馆休息。于是一天的游览结束。我们在下午4点当地时间回到各自房间睡觉。 January 20 印度纪行-1月8日入住的quality inn residency号称三星级旅馆,收取标准单人间90美元(大约700港币)的费用,但是显然没有达到国内同样收费的服务水准。首先就是自来水有股味道,以至于刷牙的时候很难受。其次,QIR很小,就是拥有一个封闭天井的5层小楼房,可能总共也就几十个房间。无线网络是收费的,每24小时250卢比(折合大约50港币)。QIR的餐厅是一个素食餐厅,尽管号称是能做印度菜,中国菜等等的multi-cuisine餐厅,但是,显然的,他们只能做印度菜。在丰富的印度调料的帮助下,各种不知道什么成份的浆糊糊吃起来味道似乎也不错。菜单上的印度名字,尽管宣布是英语的,但是显然类似masa之类的罕见英语词我是从未学过的。开会最后一天我问从yahoo来的chen aitao是否认识那些菜旁边的英文名字,他也是说否。我猜测由于印度教徒不吃牛肉,穆斯林不吃猪肉,导致绝大多数印度餐馆只好办成素食的。据说在印度还有更加极端的素食主义者,耆那教徒,奶制品和地底下生长的蔬菜和水果都不能吃。如果印度菜一定要出现肉,通常就是鸡肉了。据我观察,甚至鱼也是罕见的。
今天是ijcnlp主会第一天,吸取昨天的教训,毛新年定了一个往返出租车去isb开会,除了我,还搭了来自台湾科技大学的林教授。isb的建设得倒是很好的。虽然建筑面积其实不算大,基本上一个很大的主楼就涵盖完了,但是校区面积挺大的。而且能够看出,校园绿化工作是经过细心处理的。由于ppt还没有写完,我整个早上一直到轮到我讲之前都在写ppt。因为早晨起床后核对了下program,才赫然发现我是上午的第二个,而不是我一直理解的下午的第二个,狂晕。上午讲完后只有两个人提问,一个是老外问分词对后续处理由多大影响,我谨慎的回答这需要严格的实验结果验证,根据我们目前的结果,影响是有限的。但是对于张瑞强的问题,我一直没有搞明白,后来根据猜测大致回答了下。后来中午吃饭的时候,才知道他想说的是合并不同的非监督切分判据而不是合并不同的结果。不过我对此导致的结果并不看好。
中午是提供午餐的,午餐就在isb主楼一楼的中央空地摆上桌子,按照QIR的标准,还算丰盛。但是就是要排很长的队。吃饭结束,我们步行出了主楼,穿过一片精心修剪的草地花圃,看了看isb旁边的一个楼房。发现建设得一样很漂亮,唯一的奇怪的是一样看不到学生出入,可能使放假的缘故吧。但是在山坡上回望整个isb校园,主要的建筑只有几个,然后就是一个个大片的荒山。可能整个学校还没有完全建设完毕吧。
晚上回来的时候,毛新年的车上挤上了清华大学的周强老师以及陈文亮,所以1车5人到了我们住的QIR。然后享受了下QIR所属的另外一个可以点菜的餐厅。总的来说,印度饮食的根本特征就是masa,也就是用一团团糊糊,无论素食还是荤食还是汤类。所谓的印度式中餐牙根不是中餐。不过奇怪的是,我们5个人基本上分享了5种糊糊,谨慎的试验了两种汤,居然不约而同就宣布饱了。
吃完后,不知道谁提议去超市看看。问了问travel desk,说有一个big bazar的超市,而且不远,大约1公里的样子,于是我们就决定步行前途,正好看看海德拉巴的街道如何。出了门问了大致的方向。我们就在昏暗并且坑坑洼洼的街道上前进了。路灯断断续续有几个。各种小店,主要是卖衣服的倒是挺多的。再问了三个人后,终于到达了big
bazar的对面,街道中央有一个尼赫鲁雕像,可惜黑灯瞎火的,而且没有红绿灯,我们冒险分批过了马路。Big bazar位于一个具有三面围起的天井式的商业街中。让我们诧异的是,进入这个地方,居然需要过一道金属检测门,外加被开包检查一下。由于来得晚,很多商家都关门了,不过依然可以看出,珠宝,手工艺品以及其他的一些类似手表的轻工业品的店铺居多,二楼还有几家餐馆。Big
bazar占据了整整一侧的大楼,从一层到第5层,我猜这应该是海德拉巴老城区最大最全的超市了,如果海德拉巴还有第二个类似的超市的话。因为要求存包,但是我们几乎每个人都带了笔记本,因此我们分了两批进去参观。大致浏览了下,这个超市还是很全面的,从食品,衣物到电器,书籍音像制品无所不包。采购的人的衣着也都不错。但是因为中国已经成为世界工厂的缘故,显然的,除了一些印度本地的调料之类的,这里没有什么东西能够引起我们的兴趣了。回旅馆的时候,我们设法找到了一个能够说英语的auto司机。他开价50卢比。我们最终放弃了像印度人那样5个人坐一个车,而是分成两辆车回来。因为发票的问题,我们把司机召到旅馆前台,毛新年注意到前台接待一听到我们坐车回来花了50卢比就发笑,马上断定我们给的路费实在太高了。后来我在阿格拉的经历的确也说明了这点。
January 18 印度纪行-1月7日印航的班机终于在7日2时30分宣布起飞。很奇怪的是,登机前,就在机舱门口,尽管我们已经经过了结结实实的香港机场安检,但是还是又被开包检查了一遍,然后两个ppmm拿着金属探测器摸了一遍。飞机起飞平稳后,大叔大嫂们开始张罗半夜饭,至少过了一个小时才熄灯睡觉。为了加速睡眠,我跑去要了一小瓶红葡萄酒。看了看产地,居然还是法国的。不到4小时,飞机的灯又亮了,大叔大嫂们开始要求大家喝茶或者咖啡。 飞机降落,走过长长的过道七拐八拐,到了入境检查的闸口。我看了看,偌大的德里国际机场的入境检查闸口居然只有不超过10个人处理所有印度非印度居民的入境问题。可能本来出入境的人就不多吧。找海关的路上,经过领行李的转盘的时候,居然闻到一股烟味,抬头一看,整个大厅烟雾缭绕,不知道有谁在这里烧什么。把入境卡交给一个懒洋洋的海关人员,我问他还有没什么事情,他说ok,可能看到我东西太少吧,我跨过一个小门,发现已经过关了。接着就看到两边各一排商店,兑换,电话,副食之类的。兑换了211美元,忍受了印度兑换点的惊人手续费,只得到7400卢比。我开始找去德里国内机场的路线。正好看到三两个背着步枪的军警,就问他们。他们嘻嘻哈哈地指了下旁边的一个玻璃门。 我走过门,看到一个空旷的停车场,地面灰尘老厚。玻璃门边有个站台,一个打扮得像加勒比海盗中的jack的人士坐在那里,在寒风中略微有点发抖。我问去国内机场的大巴怎么买票。jack说要20美元。我晕死,于是还价,问50卢比如何。jack拼命摇头。我又跑到另外一边的出租车队列中找人问,一个边喝着咖啡边答话的司机一口咬定要20美元甚至更多。我又跑到一个正在上车的大巴前,问排在队伍末尾的一个人,可以到哪里买票,他转手指了指那个站台。我不得已回到那个站台,这时又来了一个辛格先生(锡克式头巾+大胡子),由他来跟我谈判。我问他能否便宜些,他最开始也是咬定20美元,或者转口说800卢比。我坚持50卢比。辛格于是慷慨的妥协,10美元。我还是坚持50卢比。最后,辛格先生语气坚定并且严肃地说,200卢比,不能再少了。我还是50卢比。辛格于是宣布100卢比,绝对不能再少了。否则一切免谈。我越发觉得50卢比没错。最后最后,辛格先生说,好吧,50卢比,把它给我。我突然有点怀疑,这个站台上面什么也没有,就jack和辛格两个活人。于是我说,你先把车票给我。辛格用奇怪的眼神看了看我,突然说,跟我来,他跑到那个正在上车的大巴前,把所有老印的行李挪开,跟我说,上去吧,我想也许其实是上车买票吧。于是就上去了。车厢没有开灯,黑得一塌糊涂。我在黑暗中跟隔壁的老印聊天,我问,该不会这个车是免费的吧,他说是的,这是从国际机场到国内机场的免费传送巴士。原来如此! 大巴在老印们的嚷嚷中,终于把他们无数的大包小包塞了上来后,出发了。这时候还是当地时间早上6点的样子,德里大雾弥漫,根本看不到什么,只是觉得空气很不好。在穿过了一个停了很多飞机的地方后,大巴停在国内机场的入口处。我看了看,觉得就像是一个火车站。我把昨天离开家打印的登机牌交给 kingfisher航空的小姐,她核对了我的信用卡,本来我还有点担心她拿走,结果她只是扫了眼,可能看出了我的紧张,还给我的时候优雅的一笑。安检后进入候机室,觉得像是在一个国内的火车站中。整个候机室可能不到1/3个足球场那么大。边上拥有4-5家很小店铺,包括一个占地几平方米的mini麦当劳。不过我乘坐的kingfisher倒的确是一家不错的航空公司,尽管它只经营印度国内航空业务(不知道和伦敦那个kingfisher有什么关系?)。至少它允许我在深圳进行网上订票乃至办理登机手续,相比之下,印度航空据说居然还没有采用电子客票。kingfisher的颜色是一溜的鲜红色,非常引人注目。和印航的大树大嫂的乘务组相比,kingfisher的乘务组全是ppmm。只是由于飞行时间比较短,仅有两个小时,所以饮食要简单很多。 中午飞机在海德拉巴降落的时候,由于能见度好,我观察了下海德拉巴市区,没有发现高楼,4-5层楼房都非常罕见,似乎整个城市就是3-4层以下的平房构成的。而且房子大都是白色的。出了机场,看到一片乱糟糟的auto(三轮出租车,当地人叫auto)停得到处都是。皮肤黝黑的当地司机跟每个人急急忙忙搭讪。我张望了会,没找到ijcnlp会务组说的akbar旅行社,这时候,一个年纪比较大的司机跟我说上了话,我说我找akbar坐预付费出租车。他带我到一个机场边的破了块玻璃的窗口上,原来那就是服务窗口。我说要去isb(印度商业学校),他们说要370卢比,我很奇怪,会务组上写的要440卢比的。但我还是愉快地给了他们370。上了出租车(不是auto),我把打印的会务组提供的会场交通指南给司机看,让他确认是去isb的gachibowli校区。他说没问题。于是汽车在尘土满天的海德拉巴街道上飞奔郊外。 结果到了isb的门口,才知道今天注册根本不在这里,而在iiit(海德拉巴国际信息技术学院)。于是司机又拉我到不远处的iiit。但是下车的时候,司机又伸手要钱,说,我提供的文件上说要440卢比的。而且我到达的地方不是isb,天地良心,根据地图,其实从飞机场到iiit反而比isb更近些。何况两个地方之间其实完全可以步行到达。我不想跟这个司机纠缠,就说只要你能提供收据,我就付钱,司机开心地拿出一个本子,快速的签字。我当时严重怀疑会务组说要440卢比的动机,分明是给他们的印度同胞更多敲诈外国人的机会。 印度人浪漫地把ijcnlp-08的第一天的注册地点设置在iiit的一片草地上,一个大帐篷临时地搭了起来,放了几排桌子。我领到了材料后,顺便和国内来的几个人聊了聊。在tutorial会场,恰好碰上了毛新年。于是约好他听完报告就一起回去,我去和他合租。 但是到了校门口才发现出租车是个问题,因为根本不会有正规的出租车路过这里,这里可是距离市区20公里的荒郊野外。门口倒是停了很多的auto,问题是那些黝黑的本地泰卢固司机根本看不懂也听不懂英语!毛新年找到了一个本地学生,帮助我们打了电话,总算预约了一个出租车,他们倒是答应过来接我们,但是就是不知道什么时候。最后的结果就是过了将近2个小时才来了辆车把我们送回旅馆。郊外路上的路灯稀稀拉拉,我们一直庆幸没有坐那一个个疯狂的auto。万一翻车可就惨了。 January 06 现在在用易pc在香港机场发帖昨天下午突击购买的。带有摄像头的版本,加到1G内存,3499元。两个缺点,屏幕7寸,硬盘是4G闪盘。也许后者这是个优点?
最大的优点,只有900克。终于在出差的时候可以和2500克的D820说再见了。
今天中午两点赶到机场,结果印度航空的小姐说,下午4点的航班晚点到00:45,我差点晕过去。小姐继而建议我考虑下到孟买的航班,3点就能起飞,但是我已经定下了明早从德里起飞的航班,离家前,登机手续都通过网上办好了,最关键的,信用卡已经交给他们了。怎么能去孟买。考虑到回家单程要花2小时外加90大洋,我忍痛闲坐
到5点办理登机手续的时候。不断安慰自己,现在不用考虑如何在寒冷的新德里度过一个晚上的问题了,因为现在的飞行时间正好睡觉。结果前面排队的老印一个个速度奇慢,大包小包的。看见登机的小姐写啊写的,不知道怎么回事情。排队的时候,一个印度小伙子和我聊了聊,看到我穿的T恤,很好心的提醒我新德里非常冷,我指了指包说,里面全是衣服,不过印度英语太恐怖了,他说了好半天的gold,我才明白他想说cold。好在又开了一个窗口,我前面的那位老兄据乐观估计就花了20分钟,我本人则只花了3分钟不到的时间。当然,作为晚点的代价,印航补贴75元的晚餐,我快速走过自助通道离境,进入安检区找到一家味千拉面小小腐败了一把。至少不用吃上次那碗50元的稀饭了。
吃完饭的时候,注意到好多免费wifi的广告,打开易pc,又发现待机把电耗尽了,包还微热。苦恼了好久,居然发现一个柱子旁边有个人在接电源上网!顿时喜出望外。
剩下的4个小时总算有着落了。 December 31 2007年总结从到微软开始,差不多连续作了两年分词(虽然工程上作了些其他的,但是没有发表)。还好,目前的系统结果暂时还可以,但是出版纪录依然没有什么进展。总结起来,今年的工作成果很简单。
1,系统
在bakeoff-4上继续努力了一把。本来着力于NER的,分词的参与只是想证明去年bakeoff-3的一些瑕疵无关大局。结果,分词系统上的结果反而好于花了很大力气的NER。至少是刚买的那台服务器在计算上花了很大力气,而分词的结果反而完全是在我工作的那台笔记本上上随随便便跑出来的。想起最紧张的时候是我在澳大利亚的时候,不知道服务器上跑得怎么样了,而训练截止时间马上就到。最后的结果,其实让我非常郁闷,NER上面全是第二名,就连一个没有意义的MSRA-open NER上面也是。总结原因,对于closed test,我选择了一种太耗计算资源的方法,但是我拥有的服务器的计算能力太薄弱(其实我还有一个能带来更强的结果的系统,遗憾的是在规定的3天内我的计算服务器是肯定跑不出来一个结果的),对于open test,我的语言学资源又太少。真的很怀念在微软要什么有什么的日子。
2,论文
数量来说,年内发了3.5篇的会议,1.5篇的杂志,其实另外有3篇会议,1篇杂志属于今年的成果,但是要等到明年才能出来。好在在一年的期限内,接收了一个“国际杂志的”sci,多少可以跟系里面汇报的时候说得过去了。
质量来说,如上所述,没有实质性进展,只不过根据我的计划,在从机器学习方向重新转回nlp方向后,1年半内基本上已经把acl级别以下的国际(亚太)国内会议都跑了个遍了。由于刚刚在实验结果上遇到重大挫折,今年投acl的计划可能又要泡汤了。
技术内容来说,分词的监督,非监督,监督+非监督(差不多相当于半监督学习)全部做了一遍。NER,POS tagging的工作都开了个头。
3,展望
考虑转型作smt,之前先跑跑语义角色标引和parsing。分词还是有作头的,但是和去年这个时候一样,暂时想不到一个好的方向可以立即动手做。
结构化机器学习方法的改进。现在看来,虽然作nlp很有趣,但是靠它1年发2篇international sci journal是很难的(除非有1年中2篇CL的人品),所以只能靠机器学习的技术内容来帮忙满足系里的指标了。 December 15 closed test, open test以及实用的分词系统很多自然语言处理的评测(如bakeoff, conll等)都有closed test, open test的区别。前者指限于训练语料的语言知识学习,后者则没有这个限制。如何理解它们之间的差别以及实用系统之间的关系呢?兹分析如下。对于计算语言学研究来说,closed test提供了一个最低限度的基准学习。我认为有助于在一个较为一致的环境下比较学习技术的性能,想比较而言,open test所采用的技术五花八门,在很多情形其实不具有可比性。通常来说,好的open test都是在closed test的基础上发展起来的,一个较高性能的closed test系统通常也有助于建立更高性能的open test系统。另外一个角度来说,open test系统所给出的性能往往高于closed test系统,它要求在给出的训练语料之外挖掘更多的语言学共性的东西,有助于在简单的机器学习技术之外探索人类语言的本质。而closed test在很多情形下,可能仅仅是纯粹的机器学习技术的竞争。正是由于所面向的学习对象的差异和丰富程度不同,open test系统往往要求更多的计算资源,包括空间占用以及训练解码时间都会高于closed test系统。
如果要说一个实用的系统和closed test, open test的关系,我觉得差不多可以理解为closed test,open test代表了两种满足实用化要求的极端情形。以分词系统为例。实用的分词系统其实需要考虑三个要素:性能,分词速度,空间占用(包括内存使用和磁盘存储)。无疑,open test 系统能够给出最高的分词性能,但是它就是我们要求的系统吗,不一定,因为open test系统的分词速度和空间占用有可能远远超过closed test系统,也远远超过用户的期望。因此,使用的系统往往不是我们能够在研究中获得的最高性能的系统,而是在上述三个要素最佳折衷的产物。以微软的某个分词系统开发为例,研究中所获得最佳性能的系统是基于trigram的,但是最后产品选择了较低性能的bigram,原因很简单,系统对于速度和内存的使用不允许使用trigram。
可以大致的总结出这样一个研发路径图:
1.开发closed 系统,从而构造最佳的基线系统,在这个阶段,各种基本方法是可以有效的对比的
2.在 closed 系统上增加新的要素构造最高性能的open 系统
3.回退,消除open系统中那些最没有性能/效益比的部分来获得期望的折衷系统,构造最终的实用系统。
November 06 crf++为什么浪费内存:都是stl惹的祸利用休假读了下crf++代码,特别是有关存储训练数据的内存结构部分。很久以前,我就通过匆匆扫过一遍的映像,认为crf++这部分的浪费非常严重。近期的阅读证实了这一观点。我还是用去年发布的0.44版。
一般来说,系统训练需要缓存两部分的内容,一部分是关于训练数据的信息,主要包括特征的表达式以及相应的频率,另外一部分用来LBFGS训练的矩阵缓存,包括lambda权值向量。后面一部分内容是不可或缺的。如果要节省内存耗费,可以考虑把第一部分内容在记录到磁盘后,仅仅留下特征的代号和对应的频率信息在内存中。
问题是,我发现, crf++没有这么做。所有的信息都保留在内存中,直到训练结束的时候一口气写入model文件。当然,crf++也不是什么都没有做。crf++在开始训练前,函数
bool TaggerImpl::shrink()
{ CHECK_FALSE(feature_index_->buildFeatures(*this)) << feature_index_->what(); std::vector <std::vector <const char *> >(x_).swap(x_);
std::vector <std::vector <Node *> >(node_).swap(node_); std::vector <unsigned short int>(answer_).swap(answer_); std::vector <unsigned short int>(result_).swap(result_); return true;
} 中,
第一句对特征进行编码,后边4句企图释放掉已经无用的训练数据缓存。taku使用了标准的swap方式来释放stl管理的内容。不幸的是,这些内存其实根本就没有得到释放。注释掉这4句后,内存的使用也不会增长。简单来说,这组内存没有得到释放。
由于对stl不熟悉---实际上,我还不会用allocator---我使用标准c替代了相关部分。
首先,我用一个简单的自己管理的char *代替了std::vector <const char *> > TaggerImpl::x_,结果期望中的内存强制释放马上获得了10%的内存减少。
然后,我把model存盘分为两次,第一次在最开始的时候存下特征的表达式及其id,第二次在训练结束的时候存下lambda向量。在第一次存盘结束后,就释放掉特征表达式的缓存。这个缓存原始的crf++使用std::map <std::string, std::pair<int, unsigned int> > EncoderFeatureIndex::dic_;来管理的。我自己用标准c++ without stl重写了一个map。存盘结束后的内存释放又获得了10%的内存减少。
现在,主要的问题是,虽然只是影响训练数据装载的速度,但是我自己写的map在插入数据的时候比stl的要慢10倍。难道我要去偷看一遍stl? 困挠中。。。
November 05 Accepted papers of SIGHAN-6仅有9篇,但是,bakeoff-4会带来28篇。。。 Stochastic Dependency Parsing Based on A* Admissible Search Mining Transliterations from Web Query Results: An Incremental Approach Use of Event Types for Temporal Relation Identification in Chinese text Analyzing Chinese Synthetic Words with Tree-based Information and a Survey on Chinese Morphologically Derived Words An Example-based Decoder for Spoken Language Machine Translation Which Performs Better on In-Vocabulary Word Segmentation: Based on Word or Character? November 02 pocket crf的二阶crf特征的结果及其讨论重复一下试验的设置。
语料:ctb segmented corpus from bakeoff-4,
训练语料 642246词
测试语料 80700词
6-标注集,b,b2,b3,m,e,s for each character in corpus
6-特征模版:C_{-1}, C_0,C_1, C_{-1}C_0,C_0C_1,C_{-1}C_1
一律用f-score度量结果
运行的cpu是core duo T7600, 2.33G, 3.2G mem
pocket crf ver 0.30 给出的结果
(a) +1阶状态转移特征 %y[-1]%y[0]: 0.949298
(b) +1,2阶状态转移特征 %y[-1]%y[0]+%y[-2]%y[-1]%y[0]: 0.949590
(c) +1,2阶状态转移特征 %y[-1]%y[0] +%y[-2]%y[0]: 0.949636
(d) +2阶状态转移特征 +%y[-2]%y[-1]%y[0]: 0.949661
注意到,按照pocket crf的结果,2阶CRF对于分词学习的贡献微乎其微。(a)运行时间大约3小时,(b),(c),(d)大约运行20-24小时。
内存使用,均为450M左右。
crf++ ver 0.44 给出的结果
(e) +1阶状态转移特征 %y[-1]%y[0]: 0.963407 运行时间,pocket crf和 crf++ 相当。内存使用,crf++在(e)上要1G。
注:
ctb语料的bakeoff-4官方结果最好成绩为0.9596
我注意到,pocket crf生成的model文件远远小于crf++,大约只有后者的1/3。难道这就是 crf++ 保持精度领先的秘诀?
pocket crf作者的blog
上面报告了msra2005/bakeoff-2语料上的结果
“ 原来是1order CRF, 训练5小时,消耗内存836M,测试结果0.959
加了一个%y[-2]%y[0]模板,训练18小时,消耗内存988M,测试结果0.961 ”
我猜测,2阶crf之所以在作者报告的这一情形导致显著的改进的原因是n-gram学习在这一语料上没有达到性能饱和,msra2005语料上bakeoff-2的最好成绩是0.964,使用我上面的6-tag+6-feature templates,性能可以轻易达到0.972.
作者的这一结果我理解为,当基线性能很低的时候,所获得改进不是实质性的。
October 30 三种crf实现的比较:crf++,flexcrf,and pocket crf我使用了crf++两年了,从0.3之前的版本开始用起来的,一直到现在的版本0.49,基本上经历了这个实现的主要变化.最近,我想看看在crf++实现之外的一些功能,主要是两个,一个是高阶crf,一个是semi-crf,看能不能带来进一步的分词或者ner的性能提升.对此,我基本上不看好,但是即使如此,我想还是用实际结果说话会好些. 为此,我尝试了另外两个crf实现.flexcrf和pocket crf.他们都是stl c++写的. 网址 http://sourceforge.net/project/showfiles.php?group_id=184307 http://sourceforge.net/project/showfiles.php?group_id=201943 最新版本flexcrf 0.3, pocket crf 0.4(作者声称发布了2.0,但是找不到) 这两个版本都深受crf++影响,实际上lbfgs优化算法实现都来自crf++,flexcrf实现了二阶crf,pocketcrf则声称实现了任意阶的crf. 但是高阶crf实在太耗费训练时间了,如果一阶crf需要训练时间是T,则n阶crf需要时间T*p^(2*n-2),其中p是标记个数.所以,就目前的计算条件来说,高阶crf基本上是不实用的,因为1阶crf已经够耗时间和内存了.但是,如果高阶crf真的能带来哪怕一点点的性能增长,我还是宁愿试验一下的.实际上,peng fuchun最开始的那篇关于分词的论文用的就是2阶crf.所给出的性能就他当时来说的确是不错的. 试用这两个crf实现的实际情况如下: 界面:flexcrf的界面比较独特,虽然都是命令行,但是flexcrf几乎所有的训练参数需要一个独立的option.txt来指定,命令行参数的主要目的是指定这个option文件.另外一个重要的命令行参数是指定一个缺省目录,我读了下flexcrf源代码,发现它要求所有的文件,训练,测试,生成的model文件都必须在这个缺省目录下.真是一个奇怪的想法.我已经习惯把训练/测试数据以及model文件,测试输出文件放在不同的目录中.而且,option文件很不方便编制批处理文件进行连续的多项处理. flexcrf宣称的一个优势是,它可以在每个训练迭代后进行即时的测试评估.但是,但是,我不认为这是一个优势.因为不同的标注任务的评估标准是不同的.不可能写出那么多不同的评估函数.flexcrf的缺省评估工作似乎专门为chunking来优化的. flexcrf没有使用crf++那样用梯度+特征劝值之和的稳定性作为迭代结束的标志,而只能直接的指定最大迭代次数.这使它更加不方便. 然而,flexcrf最不方便的地方是,虽然作者在手册中已经有了feature template的概念,但他们显然没有想到为用户实现这一点,flexcrf 要求输入的训练或者测试文件必须是一个包含所有激活特征的文件.这些激活特征根据用户定义的特征模版生成编码.作者部分地在chunking上实现了这样的一个特征编码输入文件,但是,作者没有定义一种特征模版文件格式,自然也没有提供这样的一般的工具. 不得已,我自己根据crf++的特征模版文件的格式要求,写了一个一般的转化程序,将crf++输入训练文件依据任意的特征模版文件,转成flexcrf所要求的输入训练文件格式.不幸的是,这个输入的训练文件通常非常大.很占磁盘空间. pocket crf的界面,至少目前0.3版本的界面,只能用简陋来形容.实际上,pocket crf没有提供命令行,仅有一个例子说明如何完成训练和测试.我只好自己给它临时加上了最简单的几个命令行参数选项.好在pocket crf输入输出和crf++非常类似.改变主要有两点,一个是特征模版文件,pocket crf要求每个特征模版加上%y[0]这样明确的表达状态的选项.我认为这个是很科学的. 另外一个是pocket crf的输出model文件格式,非常类似于crf++文本格式的model文件.但是又不完全是,有些细微差别.有一个不方便的地方是,pocket crf严格要求输入文件各列必须用0x09隔开,无法识别空格.相比之下,crf++可以忽略各列之间的所有空格和0x09. 实验结果,我使用bakeoff-4的ctb切分语料作测试,根据我的sighan-5的论文,实用6-tag+6-ngram特征模版.均使用单线程.flexcrf有一个是用mpi的并行版本,pcrf,但我没有试用.pocket crf 0.3目前仅支持单线程训练.flexcrf 在ubuntu linux的gcc下面编译通过. 不幸的是,flexcrf无法完成训练,报告lbfgs迭代遇到错误.而且在1个多小时中仅完成了不到30个迭代. 另外,使用报错后留下的model文件无法完成解码.但是,flexcrf训练所用到的内存大约仅是crf++的1/3到一半. pocket crf的解码程序有一个不方便的地方,或者说是一个bug,那就是,如果测试文件的结尾有多个空行,那么会导致出错. 除此之外,pocket crf运行的不错.其内存使用大约仅是crf++的1/3到一半.然而pocketcrf试验结果远远差于crf++.尽管我已经用了一样的训练参数.稍后给出数据比较. October 27 从一根鱼刺看香港的医疗保障为了一根不知道在哪卡住的鱼刺我已经困挠了1个多星期。吃饭喝水没有问题,但是总是觉得隐隐约约有个东西在那里喊,我在这,我在这。前天痛下决心,2年来第一次去医院,看能不能解决问题,这也是我第一次到香港的医院看病。进去总共拥有4个医生的城大医院,里面有几排位置,坐着三两个人在候诊。座位前面有个两个并排的窗口,分别是登记(挂号)和药房。我出示了员工卡,然后因为是第一次来,填了个单子,以便建立病历。在座位上没有坐会,就让我去三号医生那里。我推开门进去,房间里面空荡荡的,角落坐着一个坐在计算机前的戴口罩的医生。我说了下情况,感觉医生的普通话不是很好,连笔带画地才明白了我的意思。然后他找了根长长的宽木板,看了看我的口腔,然后,就宣布看不清楚我描述的鱼刺在哪里,所以,我只能去外边的医院看病了。他在计算机上噼里啪啦的打了半天,打了一封英文介绍信到深水步的一家医院。我问他费用如何,他说,作为香港居民,第一次挂号要100港币。原来我这根鱼刺价值至少100港币。我出来后,药方负责发放诊断结果的一位女士很热情友好的帮我找到了这家医院的中文名字和地址以及如何到达那里。我逃出来,感觉鱼刺的感觉更加无法容忍了,决定明天去深圳的医院解决这个问题(如果明天还受不了的话)。 October 21 新东方的罗老师骂苹果公司产品的粉丝以下是转载,我有一个ipod, 但是我一直拿它作移动硬盘,所以我转了这篇文章出出气。
史蒂夫.乔布斯早年把苹果的系统设计成封闭式的时候,苹果粉丝们说他有性格,酷,后来他为了迁就市场开始有所妥协的时候,他们说他成熟稳健,牛X。 October 20 对于bakeoff-3的简单综述-3(完)原因在于,我们引入了复杂的标注集来标注字在词中的位置。说来话长,理论上来说,切分问题是一个二值分类问题,切还是不切(哈姆雷特:To be, or not to be: that is the question,:))。但是第一个关于字标注的工作, \bibitem{Xue:2003a} Nianwen Xue. 2003. Chinese Word Segmentation as Character Tagging. {\em Computational Linguistics and Chinese Language Processing}, Vol. 8(1): 29-48. 并不是将其作为二值标注问题来处理的,而是作为4值标注问题。具体来说,就是将字在一个词中间的位置分为4类:词首B,词尾E,词中M,单字词S。作为二值标注问题,可能最开始由Peng Fuchun在coling-04引入。为什么会出现这样一种“退步”?原因在于计算负载上,Xue用的是最大熵(MaxEnt),而Peng用的CRFs。显然的,CRF的计算负载一般要比MaxEnt高一个数量级,而且,CRF上用4个标注的学习代价比2个要高一倍不止。实际上,后续的CRF模型,只要是用于分词的,能够不用2个词位标注的学习非常非常罕见。 但是,但是,我们工作的要点就是要引入更多的词位标注来进行更为精确的词位学习。具体来说,我们进一步引入了2个额外的词位,B2,B3,分别代表多字词中第二个和第三个字的非词尾的位置。这样子,我们在CRFs中相当于前所未有的用到了6个词位标注。与此同时,我们大大降低了特征模版的数量。 下面对比三个特征模版集的不同,分别针对2,4,6标注集。我们分别用T, X, Z表示Tsai et al. 2006,Xue:2003/Low:2005, Zhao:2006用到的针对这三个标注集的特征模版: --------------------------------------------------------------------------------- C-2, C-1, C0, C1, C2, C-2C-1, C-1C0, C0C1, C1C2, C-1C1, C-2C0, C-3C-1 T: x x x x x x x x x x X: x x x x x x x x x x Z: x x x x x x --------------------------------------------------------------------------------- 可以看到,Tsai, Xue/Low都要用到10个特征模版,而Zhao只需要6个。从特征模版来看,Tsai的模版涉及到5个字的上下文窗口:C-3到C1, Xue/Low涉及到5个字的上下文窗口:C-2到C2,Zhao涉及到三个字的上下文窗口:C-1到C1。这似乎显示Zhao的模版学习的上下文窗口宽度不足。但是,如果我们观察,不重复的使用词位标注集标注一个尽可能长的词 2-tag, 两字词,BE 4-tag,三字词,BME 6-tag,五字词,BB2B3ME 也就是说,6-tag通过标注集而不是模版集足以保证学习5字上下文窗口。 如果把我们的目标归结为寻求一种性能最好的n-gram特征和标注集搭配。我们将会发现6-tag+6-ngram会是最佳的。为此,我在同样的CRF模型上用Tsai的2-tag标注和他们的n-gram特征模版(实际上,我发现在所有用于2标注集的特征模版中,他们的这组是性能最好的),Xue/Low的4-tag标注和他们的n-gram特征模版,进行了性能评估。下面是在Bakeoff-3数据上的F-score结果比较 AS CityU CTB MSRA 2-tag+Tsai .946 .962 .924 .946 4-tag+Xue .952 .967 .930 .955 6-tag+Zhao .954 .969 .932 .961 那么是什么阻止我们使用更多的标注集呢,可能是训练计算的时间太长。 下面是训练时间(单位是分)的比价,所有的数据都在一致的计算环境中获得 AS CityU CTB MSRA 2-tag+Tsai 112 52 16 35 4-tag+Xue 206 79 28 73 6-tag+Zhao 402 146 47 117 可以看到,6-tag比4-tag基本上要多花一倍的训练时间,比2-tag要多花2-3倍的训练时间。 再看训练内存使用(单位Giga bytes) AS CityU CTB MSRA 2-tag+Tsai 5.4 2.4 0.9 1.8 4-tag+Xue 6.6 2.8 1.1 2.2 6-tag+Zhao 6.4 2.7 1.0 2.1 注意到,6-tag用的内存甚至比4-tag系统还要少! 所以,去买一台快点的计算机跑分词吧,因为我们不需要一个复杂的系统来做分词。简单的6-tag+6-ngram就够了。 最后,我说一下字符类型特征和开放测试的问题。 所谓字符类型特征,就是标记字符是正常的汉字,还是拉丁字母,阿拉伯数字,还是标点符号的特征。Bakeoff-3明确禁止在封闭测试中使用这一特征。不幸的是,很多人,包括我,没有注意到网页上的这一条款。 下面是bakeoff-3在分词封闭测试中至少获得前三名的参赛者及其成绩(F-score)列表,总共有6个参赛者。 ------------------------------------------ Participant AS CityU CTB MSRA (Site ID) ------------------------------------------ Zhu(1) 0.944 0.968 0.927 0.956 Carpenter(9) 0.943 0.961 0.907 0.957 Tsai(15) 0.957 0.972 / 0.955 Zhao(20) 0.958 0.971 0.933 / Zhang(26) 0.949 0.965 0.926 0.957 Wang(32) 0.953 0.970 0.930 0.963 ------------------------------------------ Best closed 0.958 0.972 0.933 0.963 ------------------------------------------ 其中,Zhu, Tsai, Zhao用了字符类型特征,Zhu和Zhao是直接从预先指定的字符类型列表中构造这一特征。Tsai用了一个别出心裁的方法,通过几条预定义的目标函数进行聚类来获得字符类型列表。当然,他们重新“发现”了其实事先就知道的不同的字符类型。也许,他们的这种做法才是最没有犯规的。但是,这种做法的实用价值是值得商榷的,是否有为了评估而评估之嫌? 关于字符类型特征的作用,我做过事后的经验性评估。我的结论是:字符类型特征在某型情形的确是发挥作用的,也就是对于性能的提升的确有帮助,但是,这种性能增进强烈的依赖于两个方面,第一个是所学习的文本的全半角是否统一,如果某些字母,数字,标点是半角,某些是全角。那么,字符类型特征会有较大的改进作用。反之,如果训练和测试语料中的全半角是基本一致的,也就是基本都是半角或者都是全角,那么,该特征将不起什么作用。第二个因素是训练语料的规模,不管全半角是否一致,该特征在大规模训练语料下对于性能改进微乎其微,相反,对于小规模的训练语料的性能改进较为可观。简而言之,字符类型特征不会导致性能的实质性增长。从这个角度来说,规定在封闭测试中禁止或者使用这一特征都讲得通。 这里顺便说一下,Wang(32)在MSRA上封闭测试的结果,他们使用了语言模型概率和MaxEnt输出联合解码的方法。他们的方法依赖于一个分配这两种输出的权重参数。不幸的是,根据他们的报告,在微软语料上的这一参数调整来自Bakeoff-2005的微软语料。而Bakeoff-2006微软训练语料只是2005的相应语料的一个子集(正是我建议黄老师取一半的2005语料提交为2006语料的),这样算不算引入了外部语言资源的信息?也许这个可以解释他们的这个成绩为什么比第二名高那么多吧 关于开放测试 目前为止,我只谈了封闭测试。为什么我不愿意将开放测试作为另外一个重点。原因就是在开放测试中的方法论其实相当的贫乏和单调,尽管Bakeoff的开放测试允许一切额外的语言资料和外部知识。 两种显而易见的资源已经被往届的Bakeoff参赛者集成到分词学习中了。一个是词典,一个是额外的切分语料。这一工作依然由Low and Ng在Bakeoff-2005完成。Bakeoff-3(2006)有两个值得一提的工作,一个是引入了第三种开放资源,词性标注(POS tagging)结果。这一工作在, \bibitem{Wang and Shi:2006} Mengqiu Wang and Yanxin Shi, Using Part-of-Speech Reranking to Improve Chinese Word Segmentation, SIGHAN-5. 另外一个试集成方法的改进。这个依然是我们的工作,我们建议直接引入其他的切分器的输出作为特征。我们称之为辅助切分器方法。这样,词典,附加语料都可以统一为辅助切分器,前者可以用最大匹配辅助切分器,后者可以用在附加语料上训练出来的切分器。这样做的优势,除了方法统一外,还有助于应用到CRF学习上,因为额外语料方法会大大增加训练时间。这对CRF训练来说是一个灾难。额外的,我们还证明,辅助的命名实体识别输出也是对分词性能改进有帮助的。 分词开放测试所追求的高性能的实质是什么?我理解为,我们需要更多的异质的切分语料。本质上来说,机器学习工具在记忆所训练的语料,它只能在和训练语料中出现过的相似度很高的句子上完成正确切分。由于机器学习技术的进步实在有限,其推广能力并不出众。所以,只要能集成进去如果多的额外语料,不管用什么方法。能够让机器学习工具记住曾有这样的句子,曾经有这样的切分,那么我们就能获得足够高的性能。 关于词典,我要说,额外的词典或许是起正面作用的。我一直认为,不在于是否使用词典,而在于使用什么样的词典。或者说,我们要用那些“好”的词典。词典并非越大越好,也不是所有的词典能够改进分词性能。有很多这样的负面的例子,很遗憾,我们不能发表这些结果,因为所有的出版出来的学术文章都只能是正面的,积极的结果(或许也是作者选择或投审稿人所好的结果)。关于陷阱,误区的文章实在太难发了。 (完) April 07 对于bakeoff-3的简单综述-2好了,基本的结论可以有一个了,
要想取得 state-of-the-art的中文分词性能,需要的要素其实只有两个: 1. 字标引(character-based tagging)
2. 一个类似于CRF/ME的学习模型 至于特征,好像Low and Ng以及今年的结果已经很充分了.
据我的观察,自从基于语料定义分词标准以及机器学习意义下的分词算法诞生以来,分词的特征体系似乎渐渐形成了两个主流: 一个是MSRA的Gao Jianfeng(我在交大的师兄)的特征体系,代表作
\bibitem{Gao:2005} Jianfeng Gao, Mu Li, Andi Wu and Chang-Ning Huang. 2005. Chinese Word Segmentation and Named Entity Recognition: A Pragmatic Approach. Computational Linguistics, Vol. 31(4): 531-574. 这个特征体系在去年的Tseng的封闭测试系统中得到了充分的展示. 并且在今年法国电信的系统中也得到了发挥.
法国电信的系统在MSRA2006语料的开放测试中获得第一不是偶然的. 因为当初Jianfeng师兄的特征系统本来就是基于MSRA标准的语料作语言特征统计而同步开发的, 法国电信使用了Gao的特征外加TBL大法从而获得第一其实是意料之中(虽然他们的成绩其实比我们的还是低一点). 另外一个特征系统是Low and Ng在去年,其实是在前年的EMNLP-04上提出来来的.在大家都知道的n-gram特征之外,Ng引入了标点,字母,时间/日期,数字的区分.
虽然简单,或许这是最近3年语言特征的最大突破了吧.中文分词和其他的语言学习不同,因为它是最基本的和第一位的语言处理,根本无法使用丰富的语言现象来进行辅助性操作.比如,典型的,使用POS特征,这在分词信息学习中根本是不能想象的,除非有谁能够给汉字分配POS. 下面我简要的回答这个问题,为什么这次MSRA的系统差点把所有的第一一锅端了. August 27 对于bakeoff-3的简单综述-1SIGHAN举办的第三届国际中文处理竞赛(the third international Chinese language processing Bakeoff,http://www.sighan.org/bakeoff2006/)在2006年4月17日到5月19日举行。本项活动的前两届分别在2003年和2005年举行,原名叫做interntional Chinese word segmentation Bakeoff。今年加入了命名实体的识别,所以竞赛也改名了。
至于这项国际评测活动为什么叫bakeoff,似乎没有一个官方的说法,bakeoff是bake off这个短语的复合词,意为烘烤,可能就是意味着参赛者的努力处于煎熬中吧。反正,我参赛期间的msn昵称就是bakeoff开始bake off。 首先说下结果,bakeoff-3的详细结果列在URL:
http://sighan.cs.uchicago.edu/bakeoff2006/longstats.html 尽管这个地址没有公开,但是其实可以使用google搜到的。 本次比赛的中文分词项目对于我代表的微软亚洲研究院来说是一个辉煌的胜利,因为MSRA本身是一个语料的提供方,所以没有参加自己提供语料的分词项目,而参加了剩余的3个语料的6项赛事,每个语料分封闭和开放两项。在官方结果中,我们的系统在六项中获得了4个第一,2个第三。不过,事后我发现,我们处于第三的UPUC2006的开放测试的结果,我的文件编码出了错,这项的实际成绩,我们比官方结果中的第一名F score高0.9。我们另外处于第三的是CityU2006的封闭测试,第一名和第二名都是台湾中研院同一个系统不同参数的两个结果,成绩一样。在我们自己的MSRA2006语料上,我用同样的系统跑了一遍,在封闭测试上,我们是第二,在开放上我们依然是第一,比官方最好成绩高0.3。
基本上来说,没什么意外的话,我们囊括了几乎的本次比赛中的分词项目的所有的第一名。 我在7月sighan-2006今年7月开会前,已经通过多种渠道读到了今年的大部分参赛的结果的系统描述报告。上个月乘着开完会拿到光盘,把所有的论文读完了。所以,我想现在可以给出个较为全面的综述了。
我统计了所有至少获得第一名的系统,这样的系统,包括我们的,有5个。在总共8个第一中,我们包揽了4个,剩下4个分别各被一家所夺走。总共有24项前三名的名次,其中的19项也被这5家包揽。因此,本次比赛的结果即使用前三名来统计,也是非常集中的,同样集中上述的5家参赛单位。为了描述方便,下面称这5家参赛单位为top-5。
所有这些论文的参考文献如下:
\bibitem{Zhao:2006}
Hai Zhao, Chang-Ning Huang and Mu Li. 2006. An Improved Chinese Word Segmentation System with Conditional Random Field. {\em Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing}, 108-117. Sidney, Australia. \bibitem{Wang:2006}
Xinhao Wang; Xiaojun Lin; Dianhai Yu; Hao Tian; Xihong Wu. 2006. Chinese Word Segmentation with Maximum Entropy and N-gram Language Model. {\em Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing}, 108-117. Sidney, Australia. \bibitem{Jacobs:2006}
Aaron J. Jacobs; Yuk Wah Wong. 2006. Maximum Entropy Word Segmentation of Chinese Text. {\em Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing}, 108-117. Sidney, Australia. \bibitem{Tsai:2006}
Richard Tzong-Han Tsai; Hsieh-Chuan Hung; Cheng-Lung Sung; Hong-Jie Dai; Wen-Lian Hsu. 2006. On Closed Task of Chinese Word Segmentation: An Improved CRF Model Coupled with Character Clustering and Automatically Generated Template Matching. {\em Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing}, 108-117. Sidney, Australia. \bibitem{Liu:2006}
Wu Liu; Heng Li; Yuan Dong; Nan He; Haitao Luo; Haila Wang. 2006. France Telecom R\&D Beijing Word Segmenter for Sighan Bakeoff 2006. {\em Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing}, 108-117. Sidney, Australia. Top-5的系统信息 MSRA/自然语言计算组
第一名成绩:UPUC-C/CityU-O/AS-O/AS-C 学习模型:CRF 特征改进自Low and Ng 北京大学/机器感知国家实验室
第一名成绩:MSRA-C 学习模型ME 特征拷贝自Low and Ng 台湾中研院/智能Agent系统实验室
第一名成绩:CityU-C 学习模型ME 特征使用聚类算法重现Low and Ng 法国电信北京研发中心
第一成绩:MSRA-O 学习模型Gao method(language model)/ME 特征类似Low and Ng 德州大学Austin分校/语言学系
第一名成绩:UPUC-O 学习模型ME 特征拷贝自Low and Ng 上面提到的Low and Ng是如下的参考文献 \bibitem{Low:2005}
Jin Kiat Low, Hwee Tou Ng and Wenyuan Guo 2005. A Maximum Entropy Approach to Chinese Word Segmentation. {\em Proceedings of the Fourth SIGHAN Workshop on Chinese Language Processing}, 161-164. Jeju Island, Korea. 这是2005年赛事上取得最多第一的系统,在参加的全部4个开放测试中累计获得3个第一,1个第二。
因此,我愿意说,bakeoff-3的结果不是本届参赛者的胜利,而是bakeoff-2的参赛者Low and Ng的胜利。
让我们稍微回顾一下bakeoff-2,Low and Ng几乎垄断了开放测试,Tseng等人则几乎垄断了封闭测试。然而,重要的是,这两个参赛者,用的都是基于字标引的机器学习方法。这一方法的开创者是bakeoff-1的Xue:
\bibitem{Xue:2003a}
Nianwen Xue. 2003. Chinese Word Segmentation as Character Tagging. {\em Computational Linguistics and Chinese Language Processing}, Vol. 8(1): 29-48. \bibitem{Xue:2002}
Nianwen Xue and S. P. Converse. 2002. Combining Classifiers for Chinese Word Segmentation. {\em Proceedings of the First SIGHAN Workshop on Chinese Language Processing}, 57-63. \bibitem{Xue:2003b}
Nianwen Xue and Libin Shen. 2003. Chinese Word Segmentation as LMR Tagging. In {\em Proceedings of the 2nd SIGHAN Workshop on Chinese Language Processing, in conjunction with ACL'03}, 176-179. Sapporo, Japan 依此追溯,bakeoff至今的全部辉煌其实是Xue的方法论在中文分词上的胜利。 |
|
|