January 17, 2005

Unknown Erros

很少在Linux下编程的我不得不面对一系列恼人的问题。原本认为把开编译好的目标代码复制过去就可以高枕无忧了,没想到被人告知缺少运行库。我就远程调试,提示一个添加一个,还一边抱怨“怎么这么多运行库”。后来突然想起来ldd可以检查一下相关库的情况。一检查发现居然需要十几个运行库......一个一个弄吧。好不容易弄好了相关库,一运行居然提示"Segment fault"......太令人失望了。在我用的开发的机器上好好的程序,为什么到这里会出现种种问题?没有办法,奠出gdb,一点一点调试。

调试了几遍,终于发现出现"Segment fault"的地点,但是,为什么,为什么一个看似普通的赋值语句,会引起这么严重的错误?除了仔细检查代码,没有别的办法。检查了又是几遍,还是没有找出明显的bug。怎么办?我的绝招之一是将声明变量换位置。再运行......居然运行起来了......不清楚什么原因,反正可以程序运行了。

可惜好景不长,没用多久,使用方提示,某些操作会导致异常。又奠出gdb好个查,查来查去,发现还是类似的问题——不知道到底是什么原因导致的。而且还有奇怪的现象,每次运行都是第一次结果正确,第二次出现错误。

检查了几个小时,还是没有头绪。休息一下。

静下来仔细想想,两个系统到底有什么差别。哦,对了,MySQL的版本不同,难道是......不容多想,马上替换一下mysql的运行库。没想到啊,没想到,“跟”了我这么多年的mysql也会出来作怪——果然是mysql。由于版本不同,运行库的差别比较大,导致运行期间出现许多异常的问题。That's it.

总结一下经验教训:
1. Linux编程环境和Windows差别很大。Linux下的各种工具、运行库,都是比较开放的,这就导致版本升级频繁,版本之间可能有很大的差异,这些导致目标代码的移植性很差。经常是缺这少那的。最好的办法在目标平台上重新编译。

2. Debug是个很烦人的工作。经常是几个小时没有进展——这时最好休息一下,喝个咖啡之类的。回头再来,说不定已经有新的线索喽。

Posted by victor at 08:21 AM | Comments (1)

January 12, 2005

冰雪世界游

曰“书非借不能读”。用在游山玩水中,这个道理也适用。在哈尔滨这么久,算是第一次正式去“冰雪大世界”。

顾名思义,冰雪大世界乃冰雪之世界。几乎所有的建筑皆取自于冰雪。此乃北国之城,生于寒冬之秋。

天公作美。今天没有往日的寒风,方便了我们的出行。经过40多分钟的颠簸,我们终于到达冰雪大世界。远远就可望见气派的冰雪之门。门高约5米,全部由冰砖砌成。加上各色的灯光,确实是与众不同的世界。

Posted by victor at 10:55 PM | Comments (0)

January 08, 2005

学用Biblioscape

从Bill那取的经,据说Bibliscape管理论文很方便。今天开始尝试使用。

刚才录入三篇论文的信息,都是关于句子检索的。用起来还是挺方便的,而且信息非常详细,从title,author到publisher,volumn等等,具体的不得了。我阅读的论文大多是从网上下载的,有的不知道具体发表的会议或者期刊,是不是还得为了添这些项再到网上查?有点麻烦喽

不知道什么时候实验室能建立起来Biblioscape的服务器,那样大家资源共享,既能节省人力物力,又能提高检索效率。

Posted by victor at 04:39 PM | Comments (5)

January 06, 2005

无题

今天上午的报告会上,MSRA的三位大牛做了报告:MSRA副院长洪小文博士,自然语言组周明博士,语音组Frank Soong博士。他们每次都能给人留下深刻的印象。

洪小文博士做了一个关于如何写高质量的论文,主要讲了一些提高论文写作方面的技巧和发表技巧,不过他也强调内容才是最关键的。

周明博士介绍了一下自然语言组的新进展。其中的分词和Resume Extraction很有趣。他们一直做分词,去年才告一段落。他们的分词不但能够处理中文,还能够处理日文。我觉得很有趣。在微软公司处理日文的分词,是中国人实现的。至于Resume Extraction,就更有启发性了。人事部的工作人员每天面对大量的、各种各样的Resume,增加人手还是很难处理。而且,面对大量的Resume,检索也是问题。解决问题的首先是,规范Resume。他们做了一个Resume的自动信息抽取,属于自然语言处理中的信息抽取。我注意到他们先分块(block),然后进行信息的抽取,抽从人名、性别到毕业院校、工作经历等——看来以后写简历也要注意规范。前一段时间读了一份材料,关于Web信息抽取的报告。其中也提到block。这是一个很重要的提示。经过block后,文档的内容进一步规范了,然后可以讲block分类,针对具体类别的block,采用不同的模型,以达到良好的效果——总比“眉毛胡子一把抓”好得多。而且在分词介绍中,他指出他们的系统采用多个模型处理不同的问题,然后用插值将不同的模型“缝合”起来。这是值得我学习的。现在要研究的问题,很难用一个模型描述、解决,一定需要多个模型共同描述,不断“修修补补”才能接近实际情况,或者针对实际问题给出一个满意的解答。

Frank Soong 先生是美籍华人,台湾人。看了介绍后知道是个大牛,是语音领域的专家。不过他本人给人的感觉十分谦和,非常有礼貌,不管是讲解还是回答问题。给我留下深刻的印象。还有一点,他言语自然,幽默,蕴涵着浓浓的中国文化气息——虽然是“少小离家老大归”,但仍旧是“乡音无改鬓毛衰”。想来他的国文水平应该不是一般。中午吃饭时,有人说他有点像日本人。Soong先生曾在日本公司工作过,举止言行或多或少受些影响。我突然觉得,说他像日本人,一是我们接触日本人不多,二是是因为我们失去的太少了。日本的礼节大部分是从中国传过去的。如今我们却失去了一些礼节。不过一些日本人表面上谦逊,骨子里却是下贱。话题跑远了。

遗憾的一点是,投影设备不怎么好使,他们的笔记本没有用上,而且花了不少时间。Soong博士的报告刚刚开始就结束了。真希望以后有机会听听语言处理领域的大家讲讲他的津津乐道、讲讲他的研究故事。

Posted by victor at 03:13 PM | Comments (172)

Hon's Excellent Advice

I was too excited to enjoy such a wonderful talk, on how to write a good paper, from Hsiaowhen Hon from MSRA. He's an expert at research and at publishing papers.

Here are the conclusions:
* Content is the Key !
* Good writing skills are critical
* Communications skills are necessary
Quality > Quantity
* Understand why to publish
* Building and expand the network of influence

He also talked something about standing at the reviewers and readers. Besides he gave many examples, both good and not quite good.

Good paper = good content + writing skills

That's it!

Posted by victor at 02:22 PM | Comments (0)

January 05, 2005

Not too bad


I gave a talk based on a paper on the topic of sentence retrieval using translation model, in English, just because that the talk was reading group. I enjoyed it, though I felt a little nervous.

The talk took me more than 48 hours, from preparing to the end. I collected several papers and read them carefully indeed. Before the talk, I performed a pre-talk in the lecture room. I found that I was not fluent and accurate enough to express my idea and my opnion. That's a hard work for long. However I found that everyone seemd to be interested in the talk, including my professor. Not too bad, I thought.

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