People are generally faced with short reading & attention spans. We often find people trying to read for long hours and yet gain little apart from false feeling of gratitude.
If your answer to any one or more of the above questions was yes, then you are in dire need of our app! With this simple mobile application we aim to revolutionize the education sector by providing immense help in improving one’s reading habits.
With the advent of the social age, attention spans of individuals have significantly gone down. It has been observed in various studies that when people try to read for long hours, they seldom are able to grasp concepts. But having spent some time reading gives them a false sense of understanding it.
Our personal hardships and non-availability of a universal assisted reading platform led to making of ReadEx. We have often undergone intense reading exercises at IITD, and are faced with attention loss after a short while. ReadEx, an intelligent assistive reading application, tackles this problem at its core, while also providing a one stop solution for all reading hardships an avid reader has faced.
The flowchart above serves as a layman explanation to the architecture of the comprehensive reading application. Current version of ReadEx requires the article, that is being read, to be in a format easily indexable by an application for text. ReadEx majorly exposes the following three fronts of reading documents or articles for people:
All the above three methods of opening an article start at different ends of the pipeline and eventually coalesce to form a single workflow pipeline towards the end as indicated in the flowchart. For supporting a keyword search query, we do a simple lookup on Wikipedia using their APIs and retrieve an article for the user. In the second method of opening an article, which essentially involves opening a locally held document, the application first uploads it to the server if the text is not so simply indexable like in a PDF. At the server end we use OCR to process it and create a simple application-indexable text/html file that is displayed on the application end. The “scan a article” method of opening a new article uses photo OCR to extract text out of the scanned article which is then processed through the use of IBM Watson Natural Language APIs to detect concepts in it, which are then searched using an interface similar to that for the first part.
Opening an article is followed by the phase of question generation. When a reader scrolls through the text file, we use the position of the scroll to estimate the approximate line the user is likely to be reading. The application then takes up a piece of text (of around a paragraph) above that point and send it to a rest API on the server-end, which replies with questions pertaining to the topic. We used the wikitrivia question generation code for quick prototyping. This is a simple python application which uses a rule based mechanism to generate a blank in a given statement or a paragraph. The blanked statement then serves as our simple question. To generate the set of possible answers to the above generated question, we make use of the WordNet which is a large lexical database of English in layman terms. It groups nouns, verbs, adjectives and adverbs into sets of cognitive synonyms, each expressing a distinct concept. The web interface to the lexical database can be found here. The blanked word is searched over wordnet using the NLTK library and hyponyms of the hypernym of that words act as the set of all possible answers. This basically serves the purpose to find words of similar contextual meaning that fit right and complete the sentence.
The front end of this project is an Android app available here. The app is responsible for rendering all data received from the server and also generating and storing flashcards. Any document selected by the user is rendered in a WebView. This allows us to maintain the font styles of Wiki and PDF documents. It also allowed a simple way of enhancing text presentation to the user, by using HTML and CSS. The flashcards are created in the app for every question answered by the user. The questions and their correct answers are stored in a local SQLite database when the user interacts with the chat bot. This database is used to populate the flashcards. We use the cardslib library to render the flashcards.
Questions that are sent to the application from the server end and are then presented to the user via a chatbot interface. This has been primarily done to gamify and make fun the activity of reading so as to keep the interest amongst our readers alive. Number of questions available at any time appear to user as a number beside the action button on the application. When a user opens the chat, Merlin (the chatbot), asks questions as chat messages, answers to which can be given as the user chat messages.
Question incorrectly answered endup in the flash card section of our application. The flash card section has been made from the point of view of revising answers to questions user has previously made mistake in.
At this stage, we may be too amateur to predict the true potential of ReadEx. But we believe it can definitely find widespread applications in the education sector. We predict if education in countries like India were to scale to their large population, personalised and intelligent applications like ReadEx have got a major role to play. ReadEx can be employed right from helping in quality question generation for instructors to helping people to gauge their understanding of material and even prepare for exams.
In the imminent future, we plan to make improvements in the question generation part and come up soon with a extremely user friendly prototype to verify our assumptions. The initial code written for ReadEx was a part of OpenEd AI Hackathon, 2017 and will remain open sourced for the community.
A short demo of the ReadEx in action can be found below:
We are thankful to the OpenEd AI team for providing us with this wonderful opportunity. We are also thankful to Mr. Anshul Bhagi, Co-Director of the OpenEd.ai and Miss Nikhila Ravi for being supportive and encouraging at all times.
We are a set of four undergraduates pursuing Computer Science at IIT Delhi.