RateMyProfessor is subject to response biases - students normally comment about their professors when they fail a class or love the professor. By summarizing professor's ratings, we can reduce the amount of outliers in the rating of a professor in order to give students a more accurate depiction of that professor.

What it does

This application allows the user to select a professor and generates a summary of that professor, based on that professor's RateMyProfessor profile.

How I built it

The user selects an option from the drop-down menu in the website we built, using React. A python script then scrapes the web to aggregate reviews on RateMyProfessor, which are then passed to other methods which use NLP to tokenize and create a summary from the reviews.

Challenges I ran into

We thought it would be simple to pass a string from Javascript to a Python script, but this task proved very difficult and tedious - you need to push to a database and access that database with the server. To circumvent this, we had to limit the number of professors available and only offer the user a drop-down menu, rather than inputting the professor's name. Had we been able to implement server access, then the user would have been able to access any professor from any school.

Accomplishments that I'm proud of

Learning new technologies - we implemented a lot of software (a user front end, a python web-scraping script, and NLP sentiment analysis) in order to create a cool project.

What I learned

See above - a myriad of new technologies.

What's next for Summarize-My-Professor

Working on getting user input to be passed successfully from the frontend to the python script.

Share this project: