机器学习与自然语言处理 [英] Machine Learning and Natural Language Processing

查看:165
本文介绍了机器学习与自然语言处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设您认识一个想要学习机器学习和自然语言处理的学生.

Assume you know a student who wants to study Machine Learning and Natural Language Processing.

他们应该关注哪些特定的计算机科学学科,以及专门设计用于解决这类问题的编程语言?

What specific computer science subjects should they focus on and which programming languages are specifically designed to solve these types of problems?

我不是在寻找您喜欢的主题和工具,而是行业标准.

I am not looking for your favorite subjects and tools, but rather industry standards.

示例:我猜测了解Prolog和Matlab可能会对他们有所帮助.他们可能还想研究离散结构*,微积分和统计学.

Example: I'm guessing that knowing Prolog and Matlab might help them. They also might want to study Discrete Structures*, Calculus, and Statistics.

*图形和树.功能:属性,递归定义,求解重复.关系:属性,等价关系,偏序.证明技术,归纳证明.计数技术和离散概率.逻辑:命题演算,一阶谓词演算.形式推理:自然演绎,解决.程序正确性和自动推理的应用程序.计算中的代数结构简介.

*Graphs and trees. Functions: properties, recursive definitions, solving recurrences. Relations: properties, equivalence, partial order. Proof techniques, inductive proof. Counting techniques and discrete probability. Logic: propositional calculus, first-order predicate calculus. Formal reasoning: natural deduction, resolution. Applications to program correctness and automatic reasoning. Introduction to algebraic structures in computing.

推荐答案

这个相关的stackoverflow问题有一些不错的答案:

This related stackoverflow question has some nice answers: What are good starting points for someone interested in natural language processing?

这是一个很大的领域.先决条件主要包括概率/统计,线性代数和基础计算机科学,尽管自然语言处理需要更深入的计算机科学背景作为基础(通常涵盖一些基本的AI).关于特定语言:Lisp是>作为进行AI研究的事后想法创建的,而Prolog是(其源于形式逻辑)特别针对自然语言处理,许多课程将使用Prolog,Scheme,Matlab,R或其他功能语言(例如

This is a very big field. The prerequisites mostly consist of probability/statistics, linear algebra, and basic computer science, although Natural Language Processing requires a more intensive computer science background to start with (frequently covering some basic AI). Regarding specific langauges: Lisp was created "as an afterthought" for doing AI research, while Prolog (with it's roots in formal logic) is especially aimed at Natural Language Processing, and many courses will use Prolog, Scheme, Matlab, R, or another functional language (e.g. OCaml is used for this course at Cornell) as they are very suited to this kind of analysis.

以下是一些更具体的指针:

Here are some more specific pointers:

对于机器学习, 斯坦福CS 229:机器学习 很棒:它包含了所有内容,包括讲座的完整视频(也在iTunes上提供),课程笔记,问题集等,并且注意先决条件:

学生应具有以下背景:知识 基本的计算机科学原理和技能,足以写作 合理的,不平凡的计算机程序.熟悉基本概率论. 熟悉基本的线性代数.

Students are expected to have the following background: Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program. Familiarity with the basic probability theory. Familiarity with the basic linear algebra.

该课程使用Matlab和/或Octave.它还建议您阅读以下内容(尽管课程笔记本身很完整):

The course uses Matlab and/or Octave. It also recommends the following readings (although the course notes themselves are very complete):

  • Christopher Bishop, Pattern Recognition and Machine Learning. Springer, 2006.
  • Richard Duda, Peter Hart and David Stork, Pattern Classification, 2nd ed. John Wiley & Sons, 2001.
  • Tom Mitchell, Machine Learning. McGraw-Hill, 1997.
  • Richard Sutton and Andrew Barto, Reinforcement Learning: An introduction. MIT Press, 1998

对于自然语言处理,斯坦福大学的 NLP小组提供了许多很好的资源.入门课程 斯坦福CS 224:自然语言处理 包括<一个href ="http://www.stanford.edu/class/cs224n/syllabus.html" rel ="nofollow noreferrer">所有在线讲座,并且具有以下先决条件:

For Natural Language Processing, the NLP group at Stanford provides many good resources. The introductory course Stanford CS 224: Natural Language Processing includes all the lectures online and has the following prerequisites:

有足够的编程经验 和正式结构.程式设计 项目将使用Java 1.5编写, 对Java的了解(或愿意 需要自己学习). 了解标准概念 人工智能和/或 计算语言学.基本的 熟悉逻辑,向量空间, 和概率.<​​/p>

Adequate experience with programming and formal structures. Programming projects will be written in Java 1.5, so knowledge of Java (or a willingness to learn on your own) is required. Knowledge of standard concepts in artificial intelligence and/or computational linguistics. Basic familiarity with logic, vector spaces, and probability.

一些推荐的文本是:

  • Daniel Jurafsky and James H. Martin. 2008. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition. Second Edition. Prentice Hall.
  • Christopher D. Manning and Hinrich Schütze. 1999. Foundations of Statistical Natural Language Processing. MIT Press.
  • James Allen. 1995. Natural Language Understanding. Benjamin/Cummings, 2ed.
  • Gerald Gazdar and Chris Mellish. 1989. Natural Language Processing in Prolog. Addison-Wesley. (this is available online for free)
  • Frederick Jelinek. 1998. Statistical Methods for Speech Recognition. MIT Press.

先决条件计算语言学课程需要具备基本的计算机编程和数据结构知识,并需要使用相同的教科书.所需的人工智能课程也可以在线

The prerequisite computational linguistics course requires basic computer programming and data structures knowledge, and uses the same text books. The required articificial intelligence course is also available online along with all the lecture notes and uses:

  • S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach. Second Edition

这是标准的人工智能文本,也值得阅读.

This is the standard Artificial Intelligence text and is also worth reading.

我使用 R 进行机器学习,并对此非常推荐.为此,我建议您查看 统计学习的要素 ,其全文可在线免费获得.您可能要参考机器学习自然语言处理视图.

这篇关于机器学习与自然语言处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆