代码之家  ›  专栏  ›  技术社区  ›  satoru

学习自然语言处理的先决条件是什么?[关闭]

nlp
  •  25
  • satoru  · 技术社区  · 15 年前

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

    但是当我开始阅读关于这个主题的入门书时,我发现我错过了很多主要与数学有关的要点。

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

    事先谢谢。

    5 回复  |  直到 10 年前
        1
  •  42
  •   danben    15 年前

    目前有两种主要的NLP方法——一种是Jurafsky和Martin详细介绍的基于语言的方法。( Speech and Language Processing )另一种是基于概率和统计的方法( Foundations of Statistical Natural Language Processing )。

    大多数和我交谈过的人都倾向于选择后者,因为后者很容易上进,而且效果很好。因此,我建议先研究概率论,然后处理一本NLP书(就像我链接到的第二本书,我现在正在一个项目中实际使用它,结果非常好)。

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

    这里有一本书描述了这三种工具——我拥有它并推荐它作为对这三种工具的一个很好的介绍。 Building Search Applications: Lucene, LingPipe, and Gate

    编辑:为了回答你的问题,我想说的第一步是彻底了解概率基础(任何本科生的prob/stats书的前3-5章都应该是好的),然后从那里查找新的主题,因为它们出现在nlp书中。例如,昨天我必须学习t值或其他东西(我不擅长名字),因为它们恰好与确定搭配的发生率有关。

        2
  •  7
  •   Renaud    12 年前

    在Coursera上有两门优秀的NLP课程( Dan Jurafsky and Christopher Manning Michael Collins )

        3
  •  6
  •   Larry Watanabe    15 年前

    我还建议学习逻辑——首先要学习一阶谓词逻辑,同时还要学习高阶逻辑(这对推理信仰、意图、知识等很有用)——也就是说,考虑“月亮是绿奶酪”和“我认为月亮是绿奶酪”的说法。

    研究逻辑对于处理意义表示很有用。语法、语言等对语法分析等很有用,但语言并不能很好地归类为易于分析的语法,因为,好吧,我们是人类:)

    之前的海报提到了统计和概率——在当前的方法中非常重要。你可能还想看看朱迪亚·珀尔关于概率推理网络的研究。

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

    Cyc项目的一些人在语义Web上工作,这也是关于语义表示的,您将注意到语义Web表示再一次是一阶谓词逻辑的XML等价物。

        4
  •  2
  •   laura    15 年前

    你肯定需要的一件事是在形式语言领域(自动控制、上下文无关语法、上下文敏感语法)有很好的知识。我看到的大多数东西都严重依赖于这本书——在我看来,最好的入门书是霍普克罗夫特、乌尔曼公司的《正式语言入门》。

    我也见过一些与神经网络有关的技术,但我对这些知之甚少。

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

        5
  •  0
  •   LogicFuzz    11 年前

    我自己也只是想进入这个领域,但是如果您不确定要从哪种编程语言开始,我建议您使用Python。这是对许多关于这个话题的研究的简单回答。python易于使用,非常通用,适用于各种计算任务,并且被广泛采用。非常适合NLP。关于python和如何在nlp中使用它的介绍,我推荐这本书:

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

    http://nltk.org/book/

    codecademy也会引导您学习Python。 http://www.codecademy.com

    希望它有帮助。