Nlp 学习自然语言处理的先决条件是什么?

Nlp 学习自然语言处理的先决条件是什么?,nlp,Nlp,我计划今年学习自然语言处理 但当我开始阅读关于这个主题的介绍性书籍时,我发现我错过了很多主要与数学有关的要点 所以我在这里寻找我在学习nlp之前应该学习的东西,好吧,更顺利 提前感谢。您肯定需要的一件事是在形式语言领域(自动机、上下文无关语法、上下文敏感语法)有很好的知识。我所看到的大部分东西都在很大程度上依赖于这本书——在我看来,最好的初学者书是霍普克罗夫特、厄尔曼公司的《正式语言导论》 我也见过一些与神经网络有关的技术,但我对这些不太了解 第三种技术(某种程度上是从形式语言领域发展而来的)是

我计划今年学习自然语言处理

但当我开始阅读关于这个主题的介绍性书籍时,我发现我错过了很多主要与数学有关的要点

所以我在这里寻找我在学习nlp之前应该学习的东西,好吧,更顺利


提前感谢。

您肯定需要的一件事是在形式语言领域(自动机、上下文无关语法、上下文敏感语法)有很好的知识。我所看到的大部分东西都在很大程度上依赖于这本书——在我看来,最好的初学者书是霍普克罗夫特、厄尔曼公司的《正式语言导论》

我也见过一些与神经网络有关的技术,但我对这些不太了解


第三种技术(某种程度上是从形式语言领域发展而来的)是基于分子计算的——不确定它的使用范围有多广。关于这一点,我会查阅A.Paun的书。

目前NLP有两种主要方法——一种是Jurafsky和Martin()详述的基于语言的方法,另一种是基于概率和统计的方法()

与我交谈过的大多数人倾向于选择后者,因为后者易于升级和获得有用的结果。所以我建议先复习概率论,然后再学习NLP(比如我链接的第二本书,我现在正在一个项目中使用它,效果非常好)

虽然我同意laura的观点,形式语言理论非常有用,但我实际上认为,目前如果你只想进入NLP的实际NL部分,您可以将正式语言留待以后使用,因为有足够的工具来进行词法分析/解析/标记化/文本转换,您可以使用这些工具,而不是自己使用

这里有一本书描述了三种这样的工具——我拥有它,并推荐它作为对这三种工具的良好介绍


编辑:在回答你的问题时,我想说的是,第一步是彻底掌握概率的基础知识(任何本科生概率/统计书的前3-5章都应该很好),然后从那里查找NLP书中出现的新主题。例如,昨天我不得不学习t值或其他东西(我对名称不太熟悉),因为它们碰巧与确定搭配的发生率有关。

我还建议学习逻辑——首先学习一阶谓词逻辑,但也学习高阶逻辑(这对于推理信仰、意图、知识等是有用的,也就是说,考虑“月亮是由绿色奶酪做成的”与“我认为月亮是由绿色奶酪做成的”。 学习逻辑对于处理意义表示非常有用。语法、语言等对于语法分析非常有用。但语言并不能很好地归入易于语法分析的语法,因为我们是人:)

前面的海报提到了统计和概率,这在当前的方法中非常重要。你可能还想看看朱迪亚·珀尔(Judea Pearl)在概率推理网络方面的工作

你可能还想看看像CYC这样的项目。它一开始是一个表示常识知识的项目(最终语言是用来输入意义的,而意义必须被表示出来,所以知识表示非常重要).他最初是以基于帧的方法开始的,但最后看起来他基本上使用了一阶逻辑的变体


CYC项目的一些人从事语义网的工作,这也是关于语义表示的,您会注意到语义网表示再次是一阶谓词逻辑的XML等价物。

Coursera(,或)上有两个优秀的NLP类

我自己刚刚进入这一领域,但如果您不确定从哪种编程语言开始,我建议您使用Python。这是对该主题大量研究的一个简单回答。Python易于学习,用途极其广泛,适用于各种计算任务,并被广泛采用。非常适合NLP。这两个方面的介绍Python以及如何在NLP中使用它,我推荐这本书:

用Python进行自然语言处理 ---使用自然语言工具包分析文本 史蒂文·伯德、伊万·克莱因和爱德华·洛珀

Codecademy也会指导您学习Python。


希望能有所帮助。

非常感谢danben。我想我已经走上了统计之路。现在我正在阅读一些统计方面的书籍,但我想知道其中哪些与nlp更相关,哪些与nlp不相关?也许这不是一个有意义的问题(我想我还有很多东西要学,甚至可以在这个话题上提出更好的问题:).就在《统计自然语言处理基础》的第一章中,我对统计方法的理解有点过头了。你能推荐一些学习一阶和高阶逻辑的好书吗?一些能为NLP做好准备的书吗?我一定是少数认为NLTK书实际上是最穷的书之一y学习NLP。它有丰富的特定用例示例,但在将核心概念应用到其他问题领域时非常脆弱。这加上初级Python编程概念的感叹(经验丰富的开发人员不需要)而且,对核心NLTK模块和类完全缺乏系统的解释,这让人觉得这完全是浪费时间,令人沮丧。