Credits: 3-0-0-0 (9)
Natural language understanding, processing and conversation have always been a goal for computer science. This course will cover the basics of how a computer deals with this subject. The course will start from the basic units of a language (words or tokens). It will also include more semantic order tasks such as lemmatization, parts-of-speech tagging, co-reference resolution, parsing a sentence, etc. Higher order tasks such as question-answering, discourse analysis, etc. will be covered as well. The field of natural language processing has made enormous advancements mostly due to deep learning algorithms. However, availability of large amounts of data along with annotations is a necessity for deep learning. In this course, the focus will be on Indian languages, where abundance of such high quality data is still not very common. In addition, traditional theories of what a word or a sentence constitutes and how a sentence should be parsed/understood will be covered.