Natural Language Understanding and Python

Sowmya S Sundaram (~sowmya73)


Artificial Intelligence and Natural Language Understanding are growing by leaps and bounds thanks to the improvements in algorithms, hardware capabilities and global exchange of ideas. One of the pivotal elements of the rapid increase in quality of algorithms is the ease of coding in Python and the vast amounts of reusable packages.

The aim of this talk is two fold - first to give a flavour of why natural language understanding is interesting as well as challenging, followed by how Python has helped implement the state-of-the-art concepts.

The first section deals with how natural language understanding is a hallmark of artificial intelligence. In fact, it has been termed as an AI-Complete task. Then, a discussion of how representation is an important aspect of language understanding will follow. With this background, a brief history of the techniques (with emphasis on the recent LSTM architectures) used to grapple natural language processing will be introduced. This will be followed by the various types of problems in natural language understanding such as sentiment analysis, question answering, named entity recognition, part of speech tagging, machine translation and so on.

The second section deals with a brief introduction to the various packages in Python for these tasks, namely, NLTK, SpaCy, NumPy, Scikit, Gensim, Keras and TensorFlow.

This has been planned as an introductory primer to Natural Language Understanding with Python.


  1. What is Natural Language Processing?
  2. Natural Language - Understanding vs Generation
  3. Representation in Natural Language Understanding
  4. Brief Overview of Approaches for Natural Language Understanding
  5. Word Embeddings and their Advantages
  6. Open Problems in Natural Language Understanding
  7. Advantages of using Python for Natural Language Understanding
  8. NLTK
  9. SpaCy
  10. NumPy
  11. Scikit-Learn
  12. Gensim
  13. TensorFlow
  14. Keras
  15. Tricks and Resources

Relevant Audience

  1. Beginners interested in the basic theory of Natural Language Understanding
  2. Python developers interested in building NLU applications

Content URLs:

The speaker has earlier given two talks - one on the story of natural understanding and the other on general machine learning and python. The proposed task is an amalgamation of both. The tentative slides are available here.

Speaker Info:

Sowmya S Sundaram is a senior PhD student working in Natural Language Processing at IIT Madras. She has been working on automatically solving school level word problems described in English and has seen from a close lens how techniques have progressed from rule-based, to machine learning driven and finally reigned by recent deep learning paradigms.

She has been involved in a lot of women in tech communities in Chennai and is the head of Women in CS, IIT-M. She has also given talks at PyLadies Chennai and Women Tech Makers, Chennai. This year, she was selected to be a Learn It, Girl, Mentor.

On the research front, she has published a few papers in national and international conferences. Recently, a tutorial proposal, where she was one of the main contributors, on solving arithmetic word problems has been accepted at an A-level conference ECML-PKDD.

She exercises her creative faculties by being a seasoned blogger and an intermediate Bharathanatyam artiste.

Id: 1215
Section: Data Science, Machine Learning and AI
Type: Talks
Target Audience: Beginner
Last Updated: