Skip to content

Survey analysis on students' preferences between coursework and exam using NLP for sentiment analysis, keyword extraction, and topic modelling.

License

Notifications You must be signed in to change notification settings

eh111eh/Survey_Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Survey_Analysis

In the School of Physics, most courses are assessed with 80% of the final grade based on a May exam and 20% on coursework. Based on a recent survey of all BSc/MPhys students, I analysed students' preferences between exams and coursework using Natural Language Processing.

  • main.py: Integrate the entire analysis.
  • preprocess.py: Text preprocessing and data extraction.
    • clean_text: Clean text by lowercasing and removing punctuation/stopwords.
    • extract_percentages: Extract explicit and implicit percentage splits (e.g., "40%", "40 exam") and ratio formats (e.g., "40:60").
  • sentiment_analysis.py: Analyse sentiment in comments related to exams and coursework.
    • get_sentiment: Use TextBlob to classify comments as Positive, Negative, or Neutral based on polarity scores.
    • analyze_sentiments: Separate comments mentioning "exam" and "coursework" and analyse sentiment for each category independently.
  • topic_analysis.py: Extract reasons for preferences from positive comments.
Image 1 Image 2

The results indicate that students prefer coursework over exams. However, the current plot representing the preferred split does not fully reflect the actual feedback, so further investigation is needed.

About

Survey analysis on students' preferences between coursework and exam using NLP for sentiment analysis, keyword extraction, and topic modelling.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages