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.
- What is Natural Language Processing?
- Natural Language - Understanding vs Generation
- Representation in Natural Language Understanding
- Brief Overview of Approaches for Natural Language Understanding
- Word Embeddings and their Advantages
- Open Problems in Natural Language Understanding
- Advantages of using Python for Natural Language Understanding
- Tricks and Resources
- Beginners interested in the basic theory of Natural Language Understanding
- Python developers interested in building NLU applications
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.
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.