areal's profileiamcrfBlogLists Tools Help

Blog


    January 29

    Encoding unsupervised segmentation features into CRF learning

    i found somebody is not clear how to integrate word-level information discovered by unsupervised segmentation in a character-level supervised learning system, even though i try my best to give a detailed description in my bakeoff-4 report. To explain how my method works actually, i copy a segmentation from the input file for crf++ training and test.

    上    11-S    8-B    0    5-B    0    0    0    B
    海    10-S    8-E    0    5-D    0    0    0    E
    浦    6-S    6-B    4-B    5-F    0    0    0    B
    东    9-S    6-E    4-D    5-E    0    0    0    E
    开    10-S    8-B    4-E    4-F    0    0    0    B
    发    10-S    8-E    4-D    4-E    0    0    0    E
    与    11-S    3-E    4-E    0    3-B    0    0    S
    法    10-S    5-B    0    4-B    3-D    0    0    B
    制    10-S    5-E    3-B    4-D    3-F    0    0    E
    建    9-S    9-B    3-D    4-F    3-M    0    0    B
    设    9-S    9-E    3-E    4-E    3-E    0    0    E
    同    10-S    5-B    3-E    0    0    0    0    B
    步    8-S    5-E    0    0    0    0    0    E


    each column between the first column and the last one is av feature with word candidate length 1-7, respectively.
    as for values, for example, 10-B, this means av value of this substring with the character as head is between 2^9-2^10.
    the maximal value will be chosen as what i described in our paper. for example,  the character 制 may get 3-B and 5-E among the context, but 5>3, so 5-E tag as feature is chosen.

    More details can be found in
    Hai Zhao and Chunyu Kit, Unsupervised Segmentation Helps Supervised Learning of Character Tagging for Word Segmentation and Named Entity Recognition, The Sixth SIGHAN Workshop on Chinese Language Processing (SIGHAN-6), pp.106-111, Hyderabad, India, January 11-12, 2008
    url: http://bcmi.sjtu.edu.cn/~zhaohai/pubs/WSNER-SIGHAN-6-zh.pdf


    January 26

    基于字分类的分词:最大熵方法

    今天写了一个最大熵标注工具.当然也可以说是在别人的内核上改写了下接口.我使用的参数估计代码来自
    http://www-tsujii.is.s.u-tokyo.ac.jp/~tsuruoka/maxent/
    不过我把它嫁接了一个类似crf++风格的输入输出接口. 这样我就不用改写我的任何数据直接跑结果了.不过状态转移特征还没有写,因此只能做本地特征的试验了.
    继续用bakeoff-4的ctb语料,根据我和钱线讨论的结果,它在6tag+6ngram下的一阶crf的学习性能的正常数据应该是0.953.
    去掉状态转移特征,也就是马尔科夫特性都被忽略,那么实际上我就在用一种字分类的方法了.crf++给出的成绩是0.9313,我的最大熵的结果是0.9296.结果很接近.但是crf++训练大约跑了2个小时,而最大熵仅仅15分钟.全部使用优化的高斯先验值.
    尽管薛念文用最大熵启动了基于字标注的分词方法的里程碑,但迄今为止似乎还没有严格的数据在完全一致的环境下比较到底crf比me高多少.虽然大家都相信crf要好些.
    我目前的结果显示这个差距似乎仅有0.2%,但是训练代价不可同日而语.



    January 23

    印度纪行-1月11日

    今天开始IJCNLP后续的workshop,我参加的自然是SIGHAN。早晨去的时候接我们的出租车晚了,所以到了workshop的会场IIIT-Hyderabad也迟到了。上午是正式论文的报告会。分别由Olivia和苏简主持。感觉提问还是蛮踊跃的。让我们惊喜的是,SIGHAN居然提供了硬拷贝的论文集。想想IJCNLP主会的论文集还要1700卢比额外购买呢。

    中午吃饭在IIIT一个似乎位于角落的楼房的二楼进行。由于有人没来报告,我们得以提前结束去吃午饭。午饭和ISB那里的主会的午餐大同小异。在那里,我认识了香港理工大学的陆晴老师,她已经去过阿格拉了,所以告诉了我好多关于去那里的经验,比如在新德里可以去外国人窗口买票,泰姬陵要下午才能看清楚,因为中午有雾之类的。她还把她买的一本旅游指南给我用,后来这本书的确发挥了很大的作用。:)

    下午开始本届bakeoff的报告,由朱靖波老师主持。感觉本届SIGHAN任期略显不足,国内大学中,仅有朱老师代表的东北大学有代表过来,其他的就只有法国电信和诺基亚两个跨国公司的代表了。本次workshop很大程度上还是香港台湾代表为主,甚至日本代表都不少。至于人数较少的原因,可能是由于在印度开会的缘故吧。
    毛新年在最后一个讲,所以我们很有耐心地等到他的最后一场报告。然后集体坐车到陈文亮的旅馆继续吃晚饭。


    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 05

    Accepted papers of SIGHAN-6

    仅有9篇,但是,bakeoff-4会带来28篇。。。

    Stochastic Dependency Parsing Based on A* Admissible Search
    Bor-shen Lin

    Mining Transliterations from Web Query Results: An Incremental Approach
    Jin-Shea Kuo, Haizhou Li, and Chih-Lung Lin

    Use of Event Types for Temporal Relation Identification in Chinese text
    Yuchang Cheng, Masayuki Asahara and Yuji Matsumoto

    Analyzing Chinese Synthetic Words with Tree-based Information and a Survey on Chinese Morphologically Derived Words
    Jia Lu, Masayuki Asahara and Yuji Matsumoto

    An Effective Hybrid Machine Learning Approach for Coreference Resolution
    Feiliang Ren and Jingbo Zhu

    Chinese Word Sense Disambiguation with PageRank and HowNet
    Jinghua Wang and Jianyi Liu

    Automatic Extraction of English-Chinese Transliteration Pairs using Dynamic Window and Tokenizer
    Jin Chengguo, Na Seung-Hoon, Kim Dong-Il and Lee Jong-Hyeok

    An Example-based Decoder for Spoken Language Machine Translation
    Wen-Han Chao, Zhou-Jun Li and Yue-Xin Chen

    Which Performs Better on In-Vocabulary Word Segmentation: Based on Word or Character?
    Zhenxing Wang, Changning Huang and Jingbo Zhu