Demonstrate understanding of the fundamentals of Language Processing tasks such as morphology, syntax, semantics, pragmatics, and give appropriate examples to illustrate their definition.
CSAI308: Introduction to Natural Language Processing.
The students will be able to Knowledge
1. Demonstrate understanding of the fundamentals of Language Processing tasks such as morphology, syntax, semantics, pragmatics, and give appropriate examples to illustrate their definition.
2. Demonstrate understanding of modern concepts and approaches in Natural Language Processing.
3. An awareness of the state of the art applications which benefit from the use of natural language processing techniques.
Skills
2. Formulate design specifications for a natural language processing task.
Aspect of Competence Autonomy and Responsibility
3. Apply the most appropriate approach for a particular natural language processing task.
Role in Context
4. Acquire team working skills
Self-development
5. Solve relevant natural language processing problems for a particular domain.
6. Illustrate difficulties involved with the processing phases of language (e.g., ambiguity) and their handling methods.
Submission Guidelines
· All work (application + report) must be submitted on Blackboard by the due date along with a completed Report Cover Page.
· The assignment must be in MS Word format, 1.5 spacing, 12-pt Times New Roman font and 2.54 cm margins on all four sides of your page with appropriate section headings.
· Reference sources must be cited in the text of the report and listed appropriately at the end in a reference list using Harvard referencing style.
Academic Integrity
Copying or paraphrasing someone’s work (code included) or permitting your own work to be copied or paraphrased, even if only in part, is not allowed, and would result in a disciplinary action according to the university policy. Any resources or ideas borrowed from other sources should be explicitly referenced in text and bibliographies.
1. Purpose
In this assignment, you will have to work on a project of your choice in natural language processing. You will have to decide in agreement with the instructor on the topic of your project. Once you select the problem you want to address, you will have to:
· Review the literature relevant to the problem.
· Design and implement an algorithm that solves the problem.
· Evaluate the algorithm used.
· Write a report describing the problem and your findings.
Your topic might not be limited to the suggested list. You can choose any NLP topic and follow the guidelines in this assignment.
· Developing an Arabic Chatbot for medical diagnosis.
· Analyzing the opinions on COVID-19 vaccine in Twitter messages.
· Named entity recognition in electronic medical records.
· Extracting information from social media.
· Extracting information from medical documents.
2. Guidelines for Report
Below are the guidelines on how to write your report. You may use it as a general guide in structuring your final report.
Abstract
1. Introduction
2. Related work
3. Methodology
4. Findings
5. Evaluation
6. Discussion and conclusion
One of the biggest challenges for computers is understanding the languages that are written and spoken by people. In this course, we’ll learn about natural language processing, which is a series of techniques used by computers to interpret language.
In this first lesson, we’ll learn what natural language processing is and when it can be used. Natural language processing, or NLP, is the ability of a computer program to understand and interpret spoken and written language. Applications that use NLP will take written or spoken language as their input, interpret this natural language using artificial intelligence algorithms, and take some action based on this interpretation.
Historically, understanding natural language has been a difficult task for computers to accomplish. This is because we communicate with computers in a very different way to how we communicate with people. The conventional way to tell a computer to do something is through code. We might write this code ourselves or use a program that converts our actions into code. The meaning of computer code is always clear and unambiguous so that the computer knows exactly what action is required based on a specific command. However, we communicate with people in a different way.
We communicate with words that can have multiple meanings in different contexts. We use techniques like irony and sarcasm that can change the meaning of words.