Inspiration 💡

Growing up, it has been difficult to learn about current events happening in politics, science, or international relations when there is a barrier of knowledge and jargon. Current news articles may require a certain level of reading comprehension, causing a divide between age groups. By arranging the data in a way where readings are accessible to the appropriate audience, we can eliminate this barrier to knowledge as well as improve efficiency without assuming a certain level of comprehension. Especially as students, it is important to save time by only receiving articles based on our grade level.

What it does ❓

READy analyzes the complexity of articles from a dataset and filters it based on the desired age group for the appropriate reading levels. READy first asks the user for a topic (news, sports, politics, health, and business) and the desired age group for the reading level (elementary, middle school, high school, and post-secondary). Using Textstat, our program gives a complexity grade to each article in a dataset which separates them into the appropriate reading levels and it will output the articles that have a grade that resonates with the given age group level.

How we built it ⚙

First, we identified a database of CNN articles from Kaggle to use for our NLP program. Then we prompted the user to enter their desired article category among news, sport, health, business, and politics, as well as the desired age group among elementary school, middle school, high school, and post-secondary school. Afterwards, we used Textstat Python library’s dale_chall_readability_score built-in function to calculate the readability score for each news article that belongs to the category inputted. Finally, we randomly selected 5 news articles that have the matched category and readability score corresponding to the targeted age group and returned them to the user by opening the articles on the webpage.

Challenges we ran into ❗

One challenge we faced was narrowing the scope of our project into a feasible idea. Another challenge we had to face was imposter syndrome as we were surrounded by other brilliant hackers that had bright ideas as well. Also, it was hard to find clean datasets that correlate to our program and are readily available to hack. We ran into problems trying to create an interactive, visual user interface: we planned to use the tkinter library but failed.

Accomplishments that we're proud of🏆

We’re proud of collaborating effectively as we distributed our strengths to work on various aspects of the project together to make one cohesive product. We are also proud of our ability to think of a problem we all relate to and build a solution using our combined skills in our first-ever hackathon.

What we learned 🧠

We learned how to use different libraries like Pandas to help us clean the dataset. We learned how to use Textstat to analyze text content. Moreover, we learned how code could be applied to many other disciplines. Lastly, we learned that software development entails a lot of trial and error as well as a lot of time dedicated to planning and brainstorming solutions.

What's next for READy

In the future, we hope to enhance our code in a way that can be readily applicable to scientific journals and articles. Moreover, with more language translational additions, we hope that READy will be able to recommend beginner-friendly readings for language learners. We hope to also modify the complexity code so it can analyze the meaning of the words themselves rather than the length of the words.

Built With

Share this project:

Updates