如何学习自然语言处理

  nlpers上有几篇“Getting Started in X”,其中X分别是nlp(自然语言处理),summarization及sequence labeling,觉得写得不错,尤其是对初学者有一定借鉴意义,计划在这里分别结合自己的理解来介绍这几篇文章。本期介绍的是“如何学习自然语言处理(Getting Started in NLP)”,不过可惜nlpers目前仍不能访问,大家可以通过网页快照或者代理访问。
  当一个读者开始接触自然语言处理这个领域时(事实上对于任何一个领域同样如此),最直接的学习途径是:读书,但是要读哪些书(which ones?);阅读文献,但是在哪里找并且通过何人指导(from where and by whom?);去参加附近的学术会议,但是哪一些会议值得参加(which ones?)以及做实验,但是要做什么样的实验(on what?)。最后,作者还建议大家多在nlpers上阅读和写作;这里,我也建议大家常来看看“我爱自然语言处理”,有空的话,也可以在52nlp上发表一下自然语言处理方面的心得体会,非常欢迎!
  在读书方面,nlpers给出了四本自然语言处理领域的标准书籍(standard books),分别是《统计自然语言处理基础》(Statistical NLP, Manning + Schutze),《自然语言处理综论》(Speech and Language Processing, Jurafsky + Martin), Statistical Language Learning (Charniak)以及《自然语言理解》(Natural Language Understanding,Allen),这四本书的详细介绍大家可以参考《自然语言处理与计算语言学书籍汇总之一:国外书籍》。对于这四本书,nlpers也给出了自己的比较,后两本比较老,虽然有一些人喜欢Charniak to Manning + Schutze,但是如果仅仅买一本的话,作者会挑选Manning + Schutze(统计自然语言处理基础,注意这里使用的是书籍作者的名字)。对于《统计自然语言处理基础》这本书,略读第1、4、6及13章会给读者一个合理(但不是所有)的背景知识介绍。但不幸的是,这本书也少了许多领域的介绍,譬如信息抽取,问答系统等。
  这里我再做一点补充:《统计自然语言处理》就不必说了,我也很喜欢这本书;虽然《自然语言处理综论》涉及的范围很广,但经典依然是经典,尤其是08年新出的第二版,有了很大的改进,虽然对于入门读者有一定的门槛,但可以常备案头查阅;另外对于刚开始接触自然语言处理的读者,推荐与nltk工具包相关的今年刚出的《Natural Language Processing with Python》,应该翻译为《用Python进行自然语言处理》吧,虽然中文版还没有出,但是英文电子版已经可以下载了,8月份的时候热心读者brishen曾经给我提供过这个版本的电子版下载渠道:http://code.google.com/p/brishen/downloads/list,并且希望有读者可以一起利用52nlp这个平台来学习这本书和研究nltk,目前我也在学习中,后期会和brishen推出这个系列,欢迎有兴趣的读者加入,同时需要说明的是,这本书很适合入门学习,并且可以一并学习一下python,对于与自然语言处理密切相关的脚本语言来说,选择python也是一个不错的选择。
  阅读文献方面,对于初学者来说,寻找好的经典的文献还比较困难。如果没有人指导,可以在ACL,NAACL,HLT或者COLING等会议论文集上略读一些文章的题目和摘要,从而发现一些感兴趣的论文和领域。ACL anthology是一个非常不错的寻找自然语言处理方面已公开发表的论文的好地方。同时nlpers的作者计划在之后的博客中列出一些领域的“必读(must reads”)文献,这的确是一个不错的对于初学读者有帮助的方法,不过nlpers的这个系列没能写出很多领域。如果读者找到了一些感兴趣的论文,可以访问相应作者的个人主页,看是否有其他相关的工作,更进一步,可以访问这个作者的导师的主页,通常导师们会有更多的学生做着相似的课题,同时,导师们会有一些课程资料,这些通常都是一些自然语言处理领域的介绍级别的入门好资料。
  关于参加会议,nlpers建议如果以上任何一个自然语言处理领域的高级别会议在你身边举行,一定要亲自去参加和感受,这比阅读论文有趣很多。而对于我们来说,明年的COLING2010会议绝对是一个难得的机会,对自然语言处理感兴趣读者在北京的话千万不要错过了。

注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:http://www.52nlp.cn/getting-started-in-natural-language-processing

此条目发表在自然语言处理分类目录,贴了, , , , , , , , , , 标签。将固定链接加入收藏夹。

如何学习自然语言处理》有 9 条评论

  1. seebeyond说:

    今年在北京的COLING2010得多关注一下了

    [回复]

    52nlp 回复:

    COLING2010的确是一个难得的机会,尤其对于在北京的nlpers!

    [回复]

  2. jorbin说:

    想找个地方留言都没有.就放在这里吧.近来拜访了贵站,感谢站主的无私贡献!同时,请教站长一个关于自然语言处理的问题——–给聊天机器人输入一篇文章.然后我们用文章中给定的资料进行提问.如何实现机器人根据给定的资料进行回答?我在网上查了一下.这个技术好像是叫NLP?站长能对这个问题所涉及的知识要点做一下介绍吗?谢谢!

    [回复]

    52nlp 回复:

    这个属于“自动问答技术”,属于自然语言处理中的一个研究领域,个人能力有限,具体的细节我也不太清楚。要是想体验的话,可以考虑装一个nltk工具包,它里面自带了几个聊天机器人。

    [回复]

    victor 回复:

    请问博主,NLTK能支持中文么?比如用mmseg等分词技术

    [回复]

    52nlp 回复:

    支持中文的前提应该要中文词典吧,好久没看NLTK,印象之前有国内的nlper将某个中文分词的开源库对接到NLTK的接口上,但是具体记不清了。

    52nlp 回复:

    sorry, 应该是支持分词要有中文词典。

  3. chantz说:

    请问,如果做工程而不是做学术,需要快速做一些事情。我可能并不需要知道每个算法的理论背景,只需要了解整个处理流程,串起来能做一些事情。请问有什么好的书推荐,或者软件库

    [回复]

    52nlp 回复:

    自然语言处理可以考虑nltk及其配套书籍可以考虑;机器学习推荐《集体智慧编程》

    [回复]

发表评论

电子邮件地址不会被公开。 必填项已用*标注