自然语言处理教程[关闭]
Posted
技术标签:
【中文标题】自然语言处理教程[关闭]【英文标题】:Tutorials For Natural Language Processing [closed] 【发布时间】:2012-08-07 04:37:41 【问题描述】:我最近在coursera上了一个关于“自然语言处理”的课程,我学到了很多关于解析、IR和其他有趣的方面,比如问答等。虽然我很好地掌握了这些概念,但我实际上并没有学到任何实用知识其中。谁能推荐我关于自然语言处理的优秀在线教程或书籍?
谢谢
【问题讨论】:
【参考方案1】:您可以阅读 Jurafsky 和 Martin 的 Speech and Language Processing (2008 edition),这是该领域的标准教科书。它很长,而且主题多样,所以我建议您只阅读真正符合您兴趣的章节。
此外,最好的学习方法几乎可以肯定是从头开始实际实施 NLP 算法。您可以选择一些标准任务(语言建模、文本分类、POS 标记、NER、解析)并从头开始实施各种算法(ngram 模型、HMM、朴素贝叶斯、MaxEnt、CKY),以真正了解它们的工作原理。找到一些免费的数据集来测试您的实现也不难。
最后,有很多针对特定 NLP 算法的优秀教程。例如,如果你想构建一个 HMM,我建议 Jason Eisner's tutorial,它还包括平滑和无监督训练的 EM。如果你想为无监督的朴素贝叶斯训练实现 Gibbs 采样,我建议Philip Resnik's tutorial。
【讨论】:
我们可以发布书籍的下载链接吗? @arunmoezhi 假设这不是一个修辞/讽刺的问题:据我所知(我倾向于“不”),但如果离开它们应该不会太难找到作为读者的练习。 这不是一个讽刺的问题。【参考方案2】:除了 Jurafsky 和 Martin 的书,Christopher D. Manning 和 Hinrich Schütze 的 Foundations of Statistical Natural Language Processing 也被广泛使用。对于 IR,Manning 等人。还写了Introduction to Information Retrieval,可以在他们的网站上在线阅读或下载。
【讨论】:
【参考方案3】:如果您想要了解如何使用自然语言的实用知识,您应该开始实施它。 我建议在 Python 中使用 NLTK(自然语言处理工具包)。在python中实现NLP很容易。
你可以参考这个链接 http://nltk.org/
或者你可以在网上试试 http://cst.dk/online/pos_tagger/uk/
【讨论】:
【参考方案4】:与其阅读特定的书籍,不如深入研究论文的海洋。例如,http://www.aclweb.org 包含许多关于 NLP 的主题。通过这些论文,您可以获得更多论文的引用,其中一些是 NLP 某个分支的基础。而且因为它们是由不同的作者写的,所以你不太可能受一种观点的影响。
【讨论】:
【参考方案5】:如果您是 Java 开发人员,那么在http://alias-i.com/lingpipe/demos/tutorial/read-me.html 上,有大量关于如何使用 LingPipe 构建 NLP 系统组件的教程列表。完全披露我写了其中一些教程和下面的一本书。
有几本书更面向工业:
1) Richard M Reese 使用 Java 进行自然语言处理
这包括如何使用一系列开源工具包(包括 LingPipe)来完成一些常见任务。
2) 使用 Java 和 LingPipe Cookbook 平装的自然语言处理 布雷克·鲍德温,克里希纳·达亚尼迪
本书是“构建组件”级别的任务驱动,涵盖了驱动大多数文本驱动的 NLP 系统的主要技术。它不包括翻译。它比第一本书更详细,覆盖范围比 LingPipe 教程更广泛,但有时不如教程详细。
布雷克
【讨论】:
【参考方案6】:有一个名为TeLeMaCo 的教学材料中心。您可以找到 NLP 的许多方面的资源,并且您可以轻松地添加您在网络上找到的更多材料。
【讨论】:
以上是关于自然语言处理教程[关闭]的主要内容,如果未能解决你的问题,请参考以下文章