/NLP

Primary LanguageJupyter Notebook

Natural Language Processing (NLP) Course Assignments

This repository contains four assignments from an advanced course in Natural Language Processing (NLP). Each assignment is housed in its own directory and focuses on a unique aspect of NLP, providing a broad overview of this complex field.

Table of Contents

Getting Started

  1. Clone this repository.
  2. Each directory (HW1, HW2, HW3, HW4) contains a standalone assignment. For each assignment, install the necessary Python packages as specified in the respective README files.
  3. Follow the instructions in each README file to run the Jupyter notebooks.

Assignment Overview

Below is a brief overview of each assignment. For more detailed information, please refer to the README file within each assignment's directory.

HW1: Language Model Creation and Testing from Tweet Data

This assignment involves the construction and evaluation of language models using a dataset composed of tweets in multiple languages. The goal is to predict the next character in a sequence, laying the foundation for many NLP tasks such as text generation, auto-completion, and language identification. Read More

HW2: Part-of-Speech (POS) Tagger using Hidden Markov Model (HMM)

This assignment focuses on developing a POS tagger using a Hidden Markov Model (HMM). The goal is to predict the POS tag for each word in a given sentence. The performance of the model is quantified using the accuracy metric. Read More

HW3: Named Entity Recognition (NER) with PyTorch

This project implements Named Entity Recognition (NER), a subtask of information extraction, using a bi-directional LSTM model in PyTorch. The goal is to locate and classify named entities mentioned in unstructured text into predefined categories. Read More

HW4: Deep Learning for Natural Language Understanding

This assignment involves the development and evaluation of deep learning models for relation classification between two words in a sentence and sentence similarity prediction tasks. Three different models are built and evaluated. Read More

Contributing

Since these are academic assignments, contributions are not currently sought. However, the methods and code used in these assignments can serve as a foundation for other NLP tasks.

License

This project is licensed under the terms of the MIT license. Please refer to the LICENSE file for more information.