**Instructor**: Yifan Peng (yip4002@med.cornell.edu)

**TA**: TBD

**Office Hours**: 5:00-6:00 pm on Mondays by appointment (Location: Zoom)

**Grading**: Letter grade

### Course Aims and Outcomes

This course provides students with an understanding of the field of natural language processing and its applications in health. Students will acquire knowledge of sources of text data, linguistic structures, and the range of methods available for processing. Hands-on experience with the Python programming language and tool kit will provide useful skills for managing text data for solving a variety of problems in the health domain.

### Format and Procedures

The course is 15 weeks in length. The course follows the progression of topics: python review, regular expression and automata, text normalization, n-gram, text classification, sequence labeling, parsing, word vector, introduction to deep learning, convolutional neural network and recurrent neural network, and transformer-based method. Each topic is addressed in a module lasting 1-2 weeks. Students will work on an individual project in parallel with these activities and give a final presentation last week.

### Prerequisites

**Python**: Prior exposure to programming and Python is highly recommended. We will provide a tutorial on Python in the first two weeks.**Basic Probability and Statistics**: You should know the basics of probabilities, mean, standard deviation, etc.**College Calculus, Linear Algebra**: You should understand matrix/vector notation and operations.

### Reference Texts

The following texts are useful, but none are required.

- Natural Language Processing with Python
- Foundations of Statistical Natural Language Processing
- Speech and Language Processing (3rd ed. draft)
- Natural Language Processing

If you are not very familiar with Python

If you are interested in Deep Learning

### Tentative Course Schedule Overview

Week | Topic | Event | Deadline |
---|---|---|---|

1 | Introduction | ||

2 | Python review | Assignment 1 | |

3 | Regular expression | ||

4 | Text preprocessing | Assignment 2 | Assignment 1 |

5 | n-gram | ||

6 | Text classification | Literature review | |

7 | Sequence labeling | ||

8 | Parsing | Project proposal | Assignment 2 |

9 | Word vector I | ||

10 | Word vector II | Assignment 3 | Literature review |

11 | Intro to deep learning | ||

12 | CNN and RNN | Assignment 4 | Assignment 3 |

13 | Transformer | ||

14 | NLP applications | Assignment 4 | |

15 | Final project presentation | Final project paper |