DEV Community

loading...

LearnWise

Shradheya Thakre
・3 min read

My Final Project

  • As students, we study using lecture slides, e-books and digital resources in the form of PDF files every day. This means opening your PDF files in one tab, then simultaneously searching keywords and topics that you don't understand in five other different tabs for a deeper understanding. Moreover, we are often studying notes and books written 20 years ago with no idea about latest developments and news on the concept. Digital Curriculum has taken over education resources and projections show the e-learning market worldwide is forecast to surpass 243 billion U.S. dollars by 2022.

  • Learnwise is a platform where you can upload your PDF resources, allowing you to read them in an enriched way while seeing definitions and news summaries related to the content in real-time at a glance. For example, when you open your machine-learning lecture slides, Learnwise fetches the keywords and key concepts in the PDF page by page, showing you the definitions and top related articles online with a summarized version of each one. You no longer have to go through the hassle of switching different tabs to search key concepts on every article.

  • In the past 48 hours, we used React to build our web app. The web app takes in a pdf file and sends them for analysis to our flask server, which in turn talks to IBM Watson for our text analysis. Using Watson's Natural Language Understanding API, we get the relevant concepts and entities in each page of the PDF and use these concepts to get recent and relevant news articles using IBM Discovery News. Then we summarize these news article URLs using Agolo Summarization API to give a concise presentation of the news article.

Demo Link

Slides Presentation

Link to Code

GitHub logo hacknyu2019 / frontend

Gotta shows some stuff

learnwise.net (React Client for Hackathon)

Backend is served from Flask REST API's

Readme for backend can be found here

Deploy

Netlify Status

Development

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.





flask-backend

Signing up for IBM API Credits to run app

  1. Go to IBM Lite Account Sign-Up Page.
  2. Sign-Up an account.
  3. Create Resources, i.e NaturalLanguageUnderstanding and Discovery.
  4. Go to credentials and create the API key.
  5. Save api keys required to your environment config under following keys.
    • NaturalLanguageUnderstanding: IBM_API_KEY
    • Discovery: IBM_DISCOVERY_API_KEY

How I built it (what's the stack? did I run into issues or discover something new along the way?)

In the past 48 hours, we used React to build our web app. The web app takes in a pdf file and sends them for analysis to our flask server, which in turn talks to IBM Watson for our text analysis. Using Watson's Natural Language Understanding API, we get the relevant concepts and entities in each page of the PDF and use these concepts to get recent and relevant news articles using IBM Discovery News. Then we summarize these news article URLs using Agolo Summarization API to give a concise presentation of the news article.

Stack: React, Python, IBM Watson, Flask, NLU, Summarization

Additional Thoughts / Feelings / Stories

Accomplishments that we're proud of

  • IT WORKS!
  • Solving a major problem for students. Learnwise can help you stay updated and have a more complete learning experience and we would love to use it ourselves.
  • Although we had basic knowledge in Natural Language Processing, we made a good use of the existing APIs (Watson and Agolo) to handle the NLU tasks instead of trying to re-invent the wheel. We believe that leveraging such technologies to handle great use-cases that can help the world is where our motivation lies!

Discussion (0)