Presentation Evaluation Using Machine Learning
![frontend example](https://github.com/josh-segal/NLP-Presentation-Similarity-Evaluation/raw/main/static/frontend.png)
Overview
This repository contains the code and resources for the CS 4120 project by Joshua Segal and Cris Hernandez at Northeastern University. The project focuses on evaluating presentation-paper pairs for entailment, aiming to provide a robust rating system for presentations based on research papers. The method involves keyword matching presentation sentences to paper sentences and predicting entailment using machine learning models. The final rating is calculated using a weighted score.
Report
Access our project report here!
Pipeline
Datasets
- Kaggle: Automatic Slide Generation from Scientific Papers: This dataset comprises 5,000 presentation to paper pairs with XML mappings.
- Kaggle: Stanford Natural Language Inference Corpus: This dataset contains 570,000 manually labeled sentence pairs.
Preprocessing
- Parsed XML files and cleaned/tokenized inputs.
- Word embeddings were created using Word2Vec, CountVectorizer, and DistilBERT tokenizer.
- Label data was transformed into one-hot vectors.
Model Training/Tuning
Fine-Tuning
- Bayesian optimization was used to find optimal hyperparameters.
- Smaller steps per epoch were used with BERT to reduce training time.
- LSTM units and dense units were adjusted to balance model complexity and prevent overfitting.
- Learning rate scheduling was considered to improve performance, especially with large datasets.
Comparison
- Accuracy:
- LSTM RNN: 0.62
- Transformer: 0.525
- Loss:
- LSTM RNN: 0.8366
- Transformer: 0.9507
Demo
To access the demo, follow these steps:
-
Clone the repository to your local machine
-
Launch the Streamlit local app:
streamlit run frontend.py
- Input paper and presentation XML files
- Choose your model and inference results
Future Directions
- Human Feedback Integration: Incorporate human feedback to enhance model performance and real-world relevance.
- Entailment Pair Creation: Explore more nuanced sentence matching techniques (e.g., Word2Vec) beyond keyword matching.
- Sentence Grouping: Dynamically group sentences by similarity to improve entailment matching.
- Rating Summary: Develop a system to suggest areas of improvement for presentations and highlight missed important topics or information.