Professional Documents
Culture Documents
ML NLP Assignment
ML NLP Assignment
Assignment Description:
Overview:
You are tasked with building a web application that allows users to input a piece of text and receive a
summary of that text. The summary should be generated using Natural Language Processing
techniques. Additionally, the web application should provide the ability to rearrange the sentences in
the input text based on their importance, as determined by the summarization process.
Requirements:
Create a Flask web application that provides a simple user interface for users to enter text.
Sentence Summarization:
Utilize NLP techniques to extract the most important sentences from the input text and generate a
summary.
Users should be able to specify the length of the summary (e.g., number of sentences or characters).
Sentence Rearrangement:
Implement a feature that allows users to rearrange the sentences in the original text based on their
importance, as determined by the summarization process.
Provide an option for users to rearrange the sentences in ascending or descending order of
importance.
NLP Libraries:
Utilize appropriate NLP libraries or models for text summarization and importance ranking.
User Interface:
Create a user-friendly interface where users can input text, select the length of the summary, and
choose to rearrange the sentences.
Display the generated summary and the rearranged sentences on the web page.
Documentation:
Include clear and concise documentation for how to run the web application and any necessary
libraries or models.
Additional Considerations:
You can use any open-source NLP models or libraries, but clearly specify which ones you have used.
Submission:
Candidates should submit their assignment as a Git repository with all the necessary code,
documentation, and instructions for running the web application. They should also provide a brief
explanation of the NLP techniques used for summarization and importance ranking.
Evaluation:
Candidates will be evaluated based on the functionality, code quality, user interface design, and the
clarity of their documentation.
Assignment Description:
Overview:
In this assignment, you will be required to build a text classification model using machine learning
techniques. The goal is to create a model that can classify text documents into predefined categories.
This task simulates a common real-world application of natural language processing and machine
learning.
Requirements:
Data Collection:
Find a suitable text dataset for text classification. This dataset should have text documents associated
with specific categories or labels. You can use publicly available datasets or create your own.
Preprocessing:
Perform data preprocessing, including text cleaning, tokenization, and any necessary transformations
to prepare the data for modelling.
Feature Engineering:
Create appropriate features for text data. You can use techniques like TF-IDF, word embeddings (e.g.,
Word2Vec, GloVe), or deep learning-based embeddings (e.g., BERT embeddings).
Model Building:
Train a machine learning model (e.g., Naive Bayes, Logistic Regression, Random Forest, or a deep
learning model like LSTM or CNN) to classify the text documents into categories.
Evaluation:
Evaluate the model's performance using appropriate evaluation metrics such as accuracy, precision,
recall, F1-score, and confusion matrix.
Web Application:
Develop a web-based interface using Flask or any other suitable web framework.
Users should be able to input text, and the application should classify the text into the predefined
categories using the trained model.
Documentation:
Include detailed documentation on how to train the model, use it for text classification, and run the
web application.
Explain the choice of machine learning model and feature engineering techniques.
Additional Considerations:
Allow users to input both single sentences and longer text documents.
Handle any necessary error cases, such as when the input text doesn't match any of the predefined
categories.
Submission:
Candidates should submit their assignment as a Git repository with all the code, a README file with
instructions, and documentation on the machine learning model's performance and the web
application.
Evaluation:
Candidates will be evaluated based on the effectiveness of their text classification model, the
functionality and usability of the web application, and the clarity of their documentation.
This assignment assesses a candidate's ability to work with text data, build a text classification
model, and create a practical web application for text classification. It also tests their
understanding of machine learning evaluation metrics.