We were reading a lot of papers for classes and realized how difficult and uninterpretable some technical resources actually are. Additionally considering it from the perspective of people who are just learning English or young children, we wanted to build an easy-to-use application that will make understanding online resources easier.

What it does

Simplext is a Chrome extension that parses a page and allows the user to query simplifications and summarizations of selected text as well as the entire page using the context menu. There is also an AI chatbot that takes questions about the page and tries to answer them. After these queries, we also highlight the parts of the page related to our AI's response, in order for the user to understand the context behind it.

How we built it

We use the Chrome extension's API to extract the page's text and insertion location of each block of text, then we sent that to our backend which is built Flask and hosted on Google cloud. The backend then preprocess and extracts the key text. This is sent along with the user's query, either simplifying, summarizing or Q&A, and is sent to our model to generate a response. The model is built off of OpenAI's GPT-3 Davinci model with additional prompt engineering to allow for few shot learning, especially for the simplification queries. Once the model generates a response, we communicate it back to the Chrome extension which displays it in its appropriate format.

Challenges we ran into

The main challenge we ran into was the limitation on the number of tokens we could pass into our model per prompt. This occurred mainly since we used few shot learning. In order to fix it, we had to find ways to compress the text into less tokens to prevent overflow while also preserving meaning.

Accomplishments that we're proud of

We are most proud of getting the full pipeline from page opening to displaying results fully functional as well as integrating an attractive UI into our extension.

What we learned

We learned how to create interactive chrome extensions and properly use these large language models, especially with the prompt engineering.

What's next for Simplext

We think that Simplex could fine-tune the model with more data and better examples. Additionally, we could add more features to help understanding like direct word synonyms.

Share this project: