June 23, 2005

老外的幽默

刚刚读《人工智能——一种现代方法》(第二版中文译本)就被里面的幽默地语言吸引住了。恰到好处的幽默,不但能使读者会心一笑,还能让读者感受到作者的智慧。举两个例子:

航空工程师的教材不会把其领域的目标定义为制造“完全可以像鸽子一样飞行的机器,以致它们可以骗过其他真正的鸽子。”
——作者介绍人工智能的起源和不同定义之间的关系时提到的,人类研究人工智能研究目标不是单纯的模仿,“研究智能的根本原则比复制样本更重要”。

假设出租车驾驶智能体没有得到来自乘客的任何小费,应为乘客在旅途中被彻底晃晕了。
——作者用生动的情景阐明智能体的学习过程,很有趣味。


Posted by victor at 04:40 PM | Comments (45)

June 19, 2005

pamws & xy的Online Judge

pamws和xy开发工大的Online Judge(http://acm.hit.edu.cn),运行已经一年多了,目前题目也有1000+。Sun介绍时说,开发软件的人最开心的时候莫过于看见自己的软件能够长时间、频繁地被使用。现在他们又在开发第二版,今天pamws重点介绍第二版的kernel结构和原理。很有趣。

他们巧妙的利用各种资源:系统调用、调试技术、分布式评测、数据库等等。令人叫绝的是,在处理分布式队列的时候,居然用sendmail实现。Linux下面很多的软件都是非常成熟,这样充分利用已有的资源,既能提高开发效率,又能降低开发的风险。同过他的介绍,我也了解了一些我不知道Linux技术。这样的开发工作真是既有挑战又有趣味。

了解了几个工具或者调用:
strace
gcj
setuid
...

Posted by victor at 08:44 PM | Comments (3603)

June 11, 2005

音乐至美的《放牛班的春天》

我被这部电影的音乐打动,被马修学监的对音乐、对学生的爱打动。这是一部很棒的电影,美妙的音乐就值得一看。这是一部法语片,我也感受了法语的优美。

有一个情节让我很难忘记,马修老师一手创办成功的乐团,给校长带来了荣誉。校长却想办法辞退了马修。马修离开学校的时候,希望学生能够围在门口,结果没有。正当他失落地离开学校的时候,发现门口遍地是纸飞机,从窗口上还不断飞出新的纸飞机,每个之飞机上都有孩子们发自内心的文字。这是音乐从窗外飘出,窗口挥舞的小手,为老师送行......音乐至美的曲子,打动了我的心。

马修学监用音乐打开了每个学生的心扉,让这座如监狱的“池塘之底”有了欢笑和生机。我更加体会到,没有不好的学生,只有不好的老师。

Posted by victor at 07:51 PM | Comments (233)

June 08, 2005

谢谢我的朋友们

今天上午举行罗克韦尔奖学金颁奖仪式。我不小心获得这个将学金,有机会参加颁奖仪式。当时组织者告诉我要多邀请一些同学,作为观众。于是我就在寝室、班级和实验室大肆发动,组织亲友团参加。今天来了很多朋友参加仪式,我很感动,也非常开心。

感谢尚林、东玺、Cherry Chang、小林、沉沉、Carl、儒哥、志昌兄、毅衡哥、God哥(DJL)、Brucess Sun、大宝、小橹、小强(mq)、超海等。谢谢大家,你们都是值得我信赖的好朋友。

感谢Prof. Liu,他是我尊敬的师长。

感谢潘立强辅导员,没有他的推荐,也没有我的机会。

还有感谢01031113班的兄弟姐妹和实验室的师兄姐们,谢谢你们的支持。

谢谢你们给我的感动。

Posted by victor at 11:11 AM | Comments (0)

June 07, 2005

值得信赖的兄弟

我获得了罗克韦尔奖学金,组织者要求带一些朋友做观众。我首先想到寝室的几个兄弟。在大学里,和我共处时间最长的就是他们了:尚林,玺子,林林,挺挺,胖子,Bin和Ding。我当然希望他们能够参加这个仪式。我希望这种喜悦能和他们一起分享。于是我就说了,希望都能够参加。玺子高兴地说,我去,我去,仿佛就是他自己的事情一样。尚林没说的,是我的铁哥们,只要没事肯定会去。挺挺一直有培训,拖不开身,他说非常想去。林林说事先有安排了。他们几个是我信赖的兄弟,我相信如果有时间,挺挺和林林一定会出席的。反过来,如果是他们的喜事,我也一定会参加的。

令我感觉有点失望的是,胖子、Bin和Ding没有什么反应。哪怕连句“我有事情,我去不了了”之类都没有说,更不用说“我为你高兴”之类的话。他们确实有些忙,Bin大概是睡觉,其余的仍旧是“网上任务”。这些我可以理解。其实一句话就可以。可是他们没有说。同在一个寝室生活的四年,现在却感觉形如路人。心中不免有些遗憾与伤感。

我算是一个很有个性的人,基本上还算是会与别人相处,即使偶尔会有一些不愉快。不过我要看相处的人是什么人,值不值得我付出感情。玺子就是我信赖的兄弟之一,当初我们还有一些小误会。但是当我遇到困难的时候,他会义不容辞的提供帮助。反过来,如果他有事情的话,我也会毫不犹豫。就是这样,即使我们各自都有缺点,兄弟就是兄弟,能容忍。不过对于有的人,我却不知道怎么和他相处,更谈不上兄弟了。

感谢支持我的兄弟,需要的时候,不要忘了我。 :-)

Posted by victor at 11:31 AM | Comments (41)

June 06, 2005

语言模型在信息检索中的应用

 

背景

聂建云博士是加拿大蒙特利尔大学(University of Montreal, Canada)的教授,主要研究方向是信息检索,自然语言处理等。6日上午,聂博士接受邀请,为计算机学院做了一次报告,主题为Integrating TermRelationships into Language Models for Information Retrieval

 

目前很多学者致力于统计模型的研究。语言模型在信息检索中的应用从1998年开始。我们实验室开始关注语言模型方法在信息检索的应用。这次有机会听到聂博士的报告,对于我们理解语言模型有非常大的帮助。

 

听讲座期间,我做了一些笔记。

基于语言模型的信息检索

语言模型

语言模型(Language Model, LM)的目的是建立一个能够描述给定词序列在语言中的出现的概率的分布。

语言模型最开始诞生在语音识别领域,识别给定的语音信号对应的词序列。语言模型的基本原理是

      

其中

hi表示历史信息。随着hi取值的不同,衍生出几个模型[1]

l        一元模型(Unigram)

l        二元模型(Bigram)    

l        三元模型(Trigram)   

在实际中应用模型的时候,有一个取舍问题:

History

short

long

modeling

coarse

refined

Estimation

easy

difficult

根据资源规模和模型细致程度选择。

参数估计

模型的参数估计一般采用极大似然估计(Maximum Likilihood Estimation, MLE)

不过MLE有一个问题,那就是对出现的项估计很好,对于没有出现的项,则认为是概率为0的实践。如果直接采用MLE估计参数,效果可能会很不好。平滑(smoothing)技术是为了解决类是MLE的问题而提出的。Smoothing技术思想就是调整一下概率的分布,给语料中没有出现的项(认为是“事件”)一个小但不为零概率,降低语料中出现次数比较多的项的概率。

平滑技术

平滑常用的方法有多种。

l        调整出现概率的平滑方法:

n        Laplace smoothing( add-onesmoothing )

n        Good-Turing smoothing

l        以低阶模型相结合的方法

n        Backoff (Katz)

n        Interpolation (Jelinek-Mercer)

l        其他方法

n        Combined with corpus

n        Dirichlet

n        Two-stage

 

语言模型在信息检索中的应用

目前在IR(InformationRetrieval)中应用LM(LanguageModel),基本原理有4个:

l        原理 1

Document D

Language model P(w|MD)

Query Q

sequence of words q1, q2,…, qn  (uni-grams)

Matching

P(Q|MD)

l        原理2

Document D

Language model P(w|MQ)

Query Q

sequence of words d1, d2,…, dn  

Matching

P(D|MQ)

l        原理3

Document D

Language model P(w|MD)

Query Q

Language model P(w|MQ)

Matching

comparison between P(w|MD) and P(w|MQ)

l        原理4(翻译模型)

Translate D to Q

原理1[Ponte&Croft 1998]提出的,为经典的LM模型在IR中的应用。平滑中可能出现的问题:

l        文章太短(Short document)

l        MD模型粗糙(Coarse MD)

l        没有出现的词(Unseen words)

[Ponte&Croft 1998]提出的平滑方案:

原理2应用不多,因为Query的包含信息太少,建立LM效果不好。

原理4将信息检索过程看成一个翻译过程,建立噪声信道模型,由“信息”到“接受”。

P(qi|wj)是翻译模型的关键,表示两个词对应的翻译概率。估计参数的时候需要对齐的双语语料[Berger&Lafferty ]

 

语言模型小结

l        Can a query be generated from adocument model?

l        Does a document become morelikely when a query is submitted (or reverse)?

l        Is a query a"translation" of a document?

l        Smoothing is crucial

l        Often use uni-grams

语言模型对信息检索的贡献

l        有良好的理论框架(Well founded theoretical framework)

l        有大量的可用数据(Exploit the mass of data available)

l        概率估计的参数平滑技术(Techniques of smoothing for probability estimation)

l        能够通过平滑解释一些经验和启发式方法(Explain some empirical and heuristic methods by smoothing)

l        令人兴奋的试验结果(Interesting experimental results)

l        使用LMIR工具的诞生(Existing tools for IR using LM(Lemur))

一些问题

目前LM方法在IR中的应用基本是数据驱动的方法,没有用到额外的知识。比如文档中出现programming,没有其他知识的情况下,系统不能预测到这是和computer相关的文档。还有一些uni-grambi-gram的局限性,比如没有考虑词与词之间的依存关系等。

 



[1] 这里应用了一个隐马尔科夫假设。


Posted by victor at 02:08 PM | Comments (2)

June 04, 2005

回味微软暑期研讨班

儿童节那天,微软暑期研讨班开幕。昨天顺利闭幕。

这次真是幸运之极。暑期研讨班在哈工大举行,就在家门口。真是天赐良机。我等门外之辈也能有幸得到大师的指点。几位主讲人非常辛苦,尤其是牛成博士,做学问很严谨,做讲座非常认真。200多页的幻灯片,一定花费了相当多的心血。周老师说这是他多年来研究的总结,是精华。我算是太幸运了。

昨天下午有一个小组讨论的活动。可惜我没有参加上。我去的时候,各个小组已经开始发言了。听各个小组介绍解题思路的时候,我有一点想法:现在青年学生还是在应用及其学习算法,没有人提出一些新的思路。当然了,提出新的思路也不容易,没有深厚的数学功底和研究积累,不可能有革命性的创新。但是我们应该敢于去想,只有想不到的,没有做不到的。此外,熟练地掌握几个机器学习算法和工具也非常重要。昨天不少队就是在罗列一些算法,并没有讲出应用的描述。获胜的两个队,显然是有非常有经验的博士生了。他们对算法非常熟悉,在解题的时候能够既有创新,又有利用现有工具解决问题的方案。这是我要学习的。

结束之间,周老师留了一点时间,给大家提问。有一位学生问了一个关于NLP前景的问题,不错的问题。几位博士依次讲出了他们的想法。总结起来是,NLP研究前景非常乐观,不过在工业界,现在还没有广泛地应用开来。原因是目前NLP技术的鲁棒性和效率还很有限。但是随着技术的发展,这方面的技术一定能够极大地推动人类科技水平的发展。当有一天语言能够被机器理解,NLP技术一定对人类生活的方方面面产生深远的影响。我相信,IR也是这样。因为IR需要NLP。他们对NLP前景充满信心,也极大地鼓励了在场的每一位。如果我们要做研究,那就抓紧时间吧!

最后,韩老师总结会议。感谢了微软亚洲研究院主任研究员周明老师,哈工大教授李生教授,几位讲者以及相关的人士。他顺便提到了我——因为我负责网页——真是有点让我受宠若惊。我很高兴能参与这样的活动,作一点我力所能及的事情,我很开心。

最后,每个人领了一份“毕业证书”,以纪念这次研讨班。周明老师说,明年“杨柳青时,再会”。

Posted by victor at 12:57 PM | Comments (8)

June 03, 2005

微软暑期研讨班第三天

今天依旧是个好天气。早上起来,吃过饭,直奔行政楼113。

今天的主题是牛成博士的报告:Corpus-Level Information Fusion和Question-Answering Supported by IE。Corpus-Level Information Fusion的思想是针对单篇文档信息抽取的局限提出改进,在整个文档集合中进行对抽取的信息融合。这里会有一些问题:比如如何确定同一个名字的NE是同一个人还是不同的人,如何对不同时期的信息进行融合,如何确定概念的关系等。牛博士介绍了用机器学习方法对人名实体跟踪(machine learning approach for person name tracking)。先用VSM做一个baseline,然后对实体的匹配关系做进一步的建模。我听懂的不多。实验的部分,很精彩。他们针对实验数据不容易获得的情况,想了很多方法。很有启发性。等我学习了一些机器学习算法后,回头再来看,一定又有不少的收获。

最后牛博士介绍IE在QA中的应用。他说,IR之于QA不是最重要的问题,QA本身有很多问题,不能只靠IR解决。IE能够在一定能程度上帮助QA提升性能。QA中常见的问题是事实问题(factoid question),列举问题(list question)和定义性问题(definition question)。IE能够将抽取的信息,辅助答案的抽取。这里面研究的内容也不少。牛博士谦虚地说,他做的研究不多,大家相互学习。QA确实是一个很难的问题,随着QA技术的发展,NLP,IR,IE,TS等技术都能够得到良好的应用。

总结这三天来的课程,我收获非常多。

感谢牛成博士(Dr. Niu Cheng),黄伟道博士(Dr. Hwee Tou Ng),Frank Seide和林钦佑博士(Dr. Chin-Yew Lin),他们的精彩的讲座使我受益匪浅,对我学习机器学习理论有非常大的帮助。

Posted by victor at 01:18 PM | Comments (5)

June 02, 2005

微软暑期研讨班第二天

今天的信息量非常大,我有点吃不消 :-)。三位大牛轮番介绍,煞是有趣。

第一位是黄伟道博士(Dr. Hwee Tou Ng)。黄博士是新加坡国立大学的教授,在信息抽取领域取得不菲成绩。今天他本人就在我们面前。第一印象是,黄博士是一位十分谦逊和蔼的年轻学者。他报告的题目是《Semantic Role Labeling》和《IE from Semi-Structed and Free Text》。由于是tutorial,他选择了4篇论文作为讲座的基本素材。他讲的语义角色标注(Semantic Role Labeling),思路大概是先选用合适的语料(PropBank 2002/2004),浅层语义分析(Shallow Parse),全分析(Full Parse),有指导的学习算法(Supervised Learning Approach),特征选择等。介绍特征选择的,首先介绍了一些基本特征(Baseline Features),然后又介绍了扩展特征(Additional Features)。接下来介绍一篇论文,是发表于IJCAI 2005的一篇论文。大概讲基于全分析的PropBank结果和SVM算法的发现Argument之间的关系(exploiting argument interdependence)。可惜后面的内容,我听懂的不多。以后会找这篇论文,仔细研读。黄博士第二个报告是关于Semi-Structure and Free Text的信息抽取问题。人工智能方方面的知识太少了,我听懂的不多。幸运的是,我回到了一个问题:Which is more helpful in IE, semi-structure or free text? 这是一个比较显然的问题,我马上抢答:In my personal option, semi-structure gives out more information due to the structure itself. Take the email for example. The header itself can tells us where the email comes from and to whom. 可能因为我用英语回答吧,感觉还算比较流利,黄博士送我一个小礼物。他还问我是叫什么名字。我同时告诉他我来自信息检索实验室,哈尔滨工业大学。

下午第一时段是Frank Seide的讲座。他是语音处理领域的专家,内容自然也是语音方面的信息抽取。各行不隔道,即使是语音方面的,我也喜欢听。。Frank的英语非常纯正。如果不是事先知道他是德国人,我肯定会以为他是英国人。他报告的题目是 Audio Information Extraction and Search。素闻德国人以严谨著称,今天算是管中窥豹了。他做的幻灯片非常仔细。便于讲解,他将选择的例子做了一些简化,再辅以适当的动画,使他的报告非常成功。我听得很起劲。报告的内容大致包括声学模型(acoustic model),tone model,发音词典(pronunc dictionary),语言模型(language model)。在讲word lattices时候,提到了噪声信道模型(Noisy Channel Model)的应用:构建DAG,然后寻找最优路径。这个和中文自动分词非常相像。后来有人问到求最优路径的一个问题,其实相当于分词中歧义词处理的问题。Frank解释说,他做了很多简化。在实际中,他使用的是trigram,而且每个节点是有一个三元组(如果是bigram,就是二元组)描述,每条边用语言模型的概率描述。依次来求解noisy channel model。相信这方面一定会给hp很大的启发。接下来,他介绍了在语音识别中处理未登录词(unknown words)的方法。他采用pnoneme对unknown words识别和检索。因为在语音识别阶段,还没有文本转换,不能得到自然语言处理的帮助。后来我问了一个问题:"Is it a unique way for speech recognition with natural language processing?"。他解释到,也有其他的方法,比如利用音节检索,也能做到,但是不是太慢就是效果太差。看来语音-->文本-->自然语言处理-->文本-->语音仍是一个主流的方法。有点像analog signal->A/D->digital processing machine(computer)->D/A->analog singal。异曲同工。

最后时段由林钦佑博士(Dr. Chin-Yew Lin)介绍用信息抽取处理文档文摘的经验。实践比较短,有一部分关于文摘评测没有介绍。相信这部分对Bill Lang会有很到帮助。不知道他在MSRA会不会有机会听到林博士的报告。

今天收获不少。平时在实验室摸爬滚打的熏陶,还是非常有用的。今天的几个话题,我都能听懂50%以上。总的感觉,几位演讲者做的都是几乎世界领先的研究。他们的共同点有几个:
1) 准备好数据集(训练、测试等)和科学的评测方法,能够及时对新的想法进行评价;
2) 恰当的运用机器学习算法;
3) 以文本处理为主,即自然语言处理方法,不过都是英文;
4) 参加国际顶级会议;
我感觉要做好研究,应该注意这几点。现在国际化是趋势,国际主流是英文的处理。我们实验室也应该逐渐考虑处理英文,而不仅仅中文。Carl现在就是做英文的研究,去多不错的成绩——今天还被黄博士提及。

Posted by victor at 06:46 PM | Comments (100)

June 01, 2005

微软暑期研讨班第一天

今天是微软亚洲研究院和哈尔滨工业大学联合举办暑期研讨班的第一天。这次研讨班的主题是信息抽取。今天第一课是牛成博士的报告,介绍信息抽取的基础、理论和应用。

我没有接触过信息抽取,是个门外汉。总的来说,牛博士的报告非常棒。他由浅入深,娓娓道来信息抽取的应用背景,主要问题和目前主要的研究现状。他举了两个例子,介绍应用背景。一个是微软亚洲研究院的对应聘人员投的简历进行信息抽取的应用;另外一个...暂时想不起来了,以后再补充。信息抽取是从无结构的数据中抽取出内容,组织成有结构的数据。目前主要的技术思路是实体识别,关系抽取和事件抽取。他先用了很大的篇幅介绍了有指导的名实体识别(Supervised Named-Entity),介绍了一种方法用二元模型(Bigram)和Hidden Markov Model(HMM)进行识别的方法。F-Score超过90%。还介绍了MUC和ACE的名实体识别的类别和评测指标。这些对先桃师姐来说,应该有非常大的帮助。

接下来还介绍了无指导的名实体识别(Unsupervised Named-Entity)。用Boosing算法实现NE的识别,准确率相当不错,最差的机构名实别也达到88%左右。不过找回率非常低。他介绍说,目前最高也就达到20%。不过研究学者用HMM进行提高找回率的实验。还不错,虽然和有指导相比还差不少。

听这两部分的报告,我了解到一点:有指导算法的研究主要是靠实力,需要深厚的数学基本功和优良的语料;无指导算法的研究目前还没有实用化,有较大的发展空间,需要好的思路(inspiration)。记得以前先桃师姐和海滨师兄介绍过用一些方法,大概用HMM训练和测试。今天进一步了解,用语言模型结合HMM可以这么深入地研究NE,而且还很有趣味。

牛博士还介绍了Support Vecctor Model(SVM),同样是深入浅出、生动形象的介绍了来龙去脉。SVM的报告我也听过几个,这个是最清楚,最有趣味的报告。我对核函数也有了一点点了解。相信这些对于我今后进一步学习“机器学习”(Machine Learning)应该有非常大的帮助。

今天我没有争取到提问的机会,很是遗憾。我本身这方面知识太少了,有点底气不足。而且也想不出该问什么。不过我今天收获颇丰,至少了解了IE和部分ML的研究,这些回指导今后这方面的学习和研究。我也要尝试一下在IR中应用IE技术,看看能不能深入研究。

Posted by victor at 09:58 PM | Comments (31)