3
$\begingroup$

There are many books, courses, etc. out there, but not sure which path to take.

So what would be the most effective way (shortest) to learn natural language processing online?

p.s. I mean learning fundamentals, not how to use existing libraries or services.

$\endgroup$
  • $\begingroup$ If you have a foundation in computer science,then you shouldn't ask this way;rather make your hands dirty going deep within that area of specialty. $\endgroup$ – quintumnia May 28 '18 at 7:02
  • $\begingroup$ @quintumnia How foundation in computer science is related to my question? I have 15 years of experience in programming. I'm reading books, watching courses, reading articles about AI. But still, I'm asking for the efficient way to learn the subject, because AI is a broad subject and it's hard to find good resources, which is focusing on fundamentals of NLP. $\endgroup$ – Vano Maisuradze May 28 '18 at 10:40
1
$\begingroup$

Start Without Code, Begin with Language

The best approach to learning the field of natural language processing is to first read about linguistics to understand phonetics and the other aspects of human language that underlies familiar things like grammar, spelling, interpersonal communication, listening skills, reading, writing, and publication. Starting that way will help you weed through the garbage and identify the contributions of value in the natural language field. (There is quite a high percentage of garbage in print.)

Learning that vocal sound and the fundamental units of communication are central to natural language parsing and processing and language synthesis, not the abstract concepts we learned in school will give you a framework for more specific NLP education.

By fundamental unit, I mean units larger than one word like, "slight of hand," and units smaller than one word like the prefix, "sub-," which can be used to construct, "substellar," the meaning of which can be accurately guessed even though it doesn't spell check.

Avoiding Trendy Books and Courses

I recommend avoiding books and courses that talk primarily about speech recognition, syntax, semantic trees, and speech synthesis. Find materials that understand what language is.

Central Concepts to Guide Understanding

The process of language begins with ideas in one mind (whether that mind is human or synthetic).

To create speech, ideas must be serialized into a string of signs that conform, not to a set of rules, but a set of associations between ideas and the sounds of basic linguistic units. (Writing is a later, less developed invention, both in human history and in a child's language development.)

The sounds of the basic linguistic units are performed by the lungs and vocal instrumentation and pass to the cochlear organs connected to the recipient mind. There the serialized ideas are subjected (if the person or computer is hearing) to reassembly of the serialized stream of basic linguistic units.

The recipient can be hearing but not listening. If the person is also listening, the serialized stream is then processed to attempt the cognitive and emotional reconstruction of the original ideas.

Note that ideas are NOT serial data. They are hugely associative and supported by layered models. They are also story-centric: They depend largely on the recipient's understanding of culturally common stories and themes. When a child says, "Promise?" there is an entire array of ideas about parental reliability and the value of the expectation to the child that goes with that single sign.

Also note that cognitive and emotional reconstruction are always processed subjectively first. In other words, the ideas of the speaker (or writer) are reassembled from the serial stream of signs according to the attentions, interests, comprehension, and current state of mind of the listener (or reader). If objectivity occurs at all, it is rare and usually subsequent.

The notion that artificial intelligence will be less subjective than natural intelligence is precarious at best and is likely to prove naive.

Scan Material, Pick Carefully, and Study

If the material you scan, explains any of the details of the above process and how experimenters and engineers have simulated any of this machinery in Python, Java, C++, other common languages or any of the frameworks built on these, then study that material and try out any code you can get your hands on that implements those successful language processing components.

$\endgroup$
2
$\begingroup$

I think you could learn NLP ,by taking this course https://see.stanford.edu/Course/CS224N Natural Language Processing - Stanford University | Coursera and try your best with the homework.

To further study, you could learn some deep learning algorithms like RNN. And of course, it’s better that you will be able to learn more a lot from university professors with minimal time period.

Hope it can help you.

$\endgroup$
0
$\begingroup$

Your first stop should be Sebastian Ruder's NLP newsletter, a monthly publication that will keep you current with the cutting-edge research in this field - progress is so rapid that monthly is the right frequency. Not saying the @FauChrisian approach is wrong, but it's not obviously connected to the research that I see. The Stanford course that @quintumnia mentions is a good bet too - again, progress is so rapid that books (and most courses) can't keep up. Fast.ai is also highly recommended - the founder is very active in the field.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.