Reference no: EM133146992
CETM47 Machine Learning and Data Analytics - The University of Sunderland
Assignment: Natural Language Processing Pipeline
Aims
This coursework focuses on the practical side of developing a Natural Language Processing Pipeline. The aim is to produce a pipeline for the given task, demonstrating good scientific technique and critical evaluation skills. As part of this you will be utilising industry standard tooling, and the work herein requires the formulation of experiments to determine an appropriate solution.
You will be expected to write a report, and produce Python code (E.g Python Script or Python Notebook) supporting your findings.
Task - News Group Classification
As part of the module you have looked at various techniques within Natural Language Processing, tying them together into a pipeline towards the supervised machine learning problem of classification; often referenced as a pipeline.
Your task is to produce a pipeline capable of solving a multi-class classification task in the form of a research project - whereby comparisons are made and assessed towards the task. For this, you will be utilising the 20 Newsgroups dataset; a common multi-class NLP dataset. You can find more information regarding this dataset at the following:
You will be expected to read-in this dataset yourself using scikit-learn functionality; some of which we have covered in workshops.
You are expected to appropriately read in the training data, construct an appropriate
pre-processing pipeline, train any relevant classification model(s) (e.g Naive Bayes), and then evaluate it on the testing data.
For this you should consider aspects of the NLP pipeline, including how we represent textual information and any techniques we've introduced which can assist us. An example of this would be the concept of vectorisation. This would be the representation of the text as numeric data, to then feed into appropriate classification models.
It is important to have a good methodological approach to this work, to follow the scientific method and to ensure that experimental design is clear, concise, and well reported. You may wish to consider starting with a simple baseline pipeline and model, and iterating upon it. It is expected to use academic literature to inform your decision and choices and guide your search.
Alongside the Python code for the proposed experiments, pipeline, and classification model, you will write a report ( 10 pages maximum ) outlining your solution, the pipeline chosen, the classification model selection, any further processing of the dataset, as well as evaluative results. For the purposes of this report, you should carefully consider experimental design, showing comparisons between various different pipeline choices and classification models you've tried, using evaluative metrics to demonstrate an overall ‘good' solution to the task.
Attachment:- Natural Language Processing Pipeline.rar