Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>This related stackoverflow question has some nice answers: <a href="https://stackoverflow.com/questions/212219/what-are-good-starting-points-for-someone-interested-in-natural-language-processi">What are good starting points for someone interested in natural language processing?</a></p> <p>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 <a href="http://nathanmarz.com/blog/john-mccarthy/" rel="nofollow noreferrer">"as an afterthought" for doing AI research</a>, 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. <a href="http://courses.cit.cornell.edu/ling4424/" rel="nofollow noreferrer">OCaml is used for this course at Cornell</a>) as they are very suited to this kind of analysis. </p> <p>Here are some more specific pointers:</p> <p>For Machine Learning, <a href="http://www.stanford.edu/class/cs229/" rel="nofollow noreferrer"><strong>Stanford CS 229: Machine Learning</strong></a> is great: it includes everything, including full videos of the lectures (also up on iTunes), course notes, problem sets, etc., and it was very well taught by <a href="http://www.cs.stanford.edu/people/ang/" rel="nofollow noreferrer">Andrew Ng</a>.</p> <p>Note the prerequisites:</p> <blockquote> <p>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.</p> </blockquote> <p>The course uses Matlab and/or Octave. It also recommends the following readings (although the course notes themselves are very complete):</p> <ul> <li>Christopher Bishop, <a href="http://rads.stackoverflow.com/amzn/click/0387310738" rel="nofollow noreferrer">Pattern Recognition and Machine Learning</a>. Springer, 2006.</li> <li>Richard Duda, Peter Hart and David Stork, <a href="http://rads.stackoverflow.com/amzn/click/0471056693" rel="nofollow noreferrer">Pattern Classification</a>, 2nd ed. John Wiley &amp; Sons, 2001.</li> <li>Tom Mitchell, <a href="http://rads.stackoverflow.com/amzn/click/0070428077" rel="nofollow noreferrer">Machine Learning</a>. McGraw-Hill, 1997.</li> <li>Richard Sutton and Andrew Barto, <a href="http://rads.stackoverflow.com/amzn/click/0262193981" rel="nofollow noreferrer">Reinforcement Learning: An introduction</a>. MIT Press, 1998</li> </ul> <p>For Natural Language Processing, the <a href="http://nlp.stanford.edu/" rel="nofollow noreferrer">NLP group at Stanford</a> provides many good resources. The introductory course <a href="http://www.stanford.edu/class/cs224n/" rel="nofollow noreferrer"><strong>Stanford CS 224: Natural Language Processing</strong></a> includes <a href="http://www.stanford.edu/class/cs224n/syllabus.html" rel="nofollow noreferrer">all the lectures online</a> and has the following prerequisites:</p> <blockquote> <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.</p> </blockquote> <p>Some recommended texts are:</p> <ul> <li>Daniel Jurafsky and James H. Martin. 2008. <a href="http://www.cs.colorado.edu/~martin/slp.html" rel="nofollow noreferrer">Speech and Language Processing: An Introduction to Natural Language Processing</a>, Computational Linguistics and Speech Recognition. Second Edition. Prentice Hall. </li> <li>Christopher D. Manning and Hinrich Schütze. 1999. <a href="http://nlp.stanford.edu/fsnlp/" rel="nofollow noreferrer">Foundations of Statistical Natural Language Processing</a>. MIT Press.</li> <li>James Allen. 1995. <a href="http://rads.stackoverflow.com/amzn/click/0805303340" rel="nofollow noreferrer">Natural Language Understanding</a>. Benjamin/Cummings, 2ed.</li> <li>Gerald Gazdar and Chris Mellish. 1989. <a href="http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-prolog/" rel="nofollow noreferrer">Natural Language Processing in Prolog</a>. Addison-Wesley. (this is available online for <strong>free</strong>)</li> <li>Frederick Jelinek. 1998. <a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=7447" rel="nofollow noreferrer">Statistical Methods for Speech Recognition</a>. MIT Press.</li> </ul> <p>The prerequisite <a href="http://www.stanford.edu/class/linguist180/" rel="nofollow noreferrer">computational linguistics course</a> requires basic computer programming and data structures knowledge, and uses the same text books. The required articificial intelligence course <a href="http://www.stanford.edu/class/cs221/" rel="nofollow noreferrer">is also available online</a> along with <a href="http://www.stanford.edu/class/cs221/handouts.html" rel="nofollow noreferrer">all the lecture notes</a> and uses:</p> <ul> <li>S. Russell and P. Norvig, <a href="http://aima.cs.berkeley.edu/" rel="nofollow noreferrer">Artificial Intelligence: A Modern Approach</a>. Second Edition</li> </ul> <p>This is the standard Artificial Intelligence text and is also worth reading.</p> <p>I use <a href="http://www.r-project.org" rel="nofollow noreferrer"><strong>R</strong></a> for machine learning myself and really recommend it. For this, I would suggest looking at <a href="http://www-stat.stanford.edu/~tibs/ElemStatLearn/" rel="nofollow noreferrer"><strong>The Elements of Statistical Learning</strong></a>, for which the full text is available online for free. You may want to refer to the <a href="http://cran.r-project.org/web/views/MachineLearning.html" rel="nofollow noreferrer">Machine Learning</a> and <a href="http://cran.r-project.org/web/views/NaturalLanguageProcessing.html" rel="nofollow noreferrer">Natural Language Processing</a> views on CRAN for specific functionality. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload