Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 613261
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T17:59:00+00:00 2026-05-13T17:59:00+00:00

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

  • 0

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.

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.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T17:59:00+00:00Added an answer on May 13, 2026 at 5:59 pm

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

    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:

    For Machine Learning, Stanford CS 229: Machine Learning 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 Andrew Ng.

    Note the prerequisites:

    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.

    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

    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:

    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.

    Some recommended texts are:

    • 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.

    I use R for machine learning myself and really recommend it. For this, I would suggest looking at The Elements of Statistical Learning, for which the full text is available online for free. You may want to refer to the Machine Learning and Natural Language Processing views on CRAN for specific functionality.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We all know that most applications out there assume class names to follow the
I have a json file and I assume that I do not know anyting
How can I convert the following array: (Assume I don't know how many depth
I don't know exactly when, but assume with upgrade from Snow Leopard to Lion
Assume I have two tables, Student Test Id Name TestId Type StudentId -- ----
I'm new to working with MVC so please don't assume I know anything. I
I'm a student away from home and I need to access my home computer
Assume I have two tables, Student Test Id Name TestId Score StudentId -- ----
I'm fairly new to objective-C so please don't assume I know stuff because I
I'm very new to OS X and XCode, so please don't assume I know

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.