The need to write a great admission Essay

Writing essays for college applications can be an intense task, it involves careful selection of the topic, many days spent in researching and finally crafting your essay. The composed 500 words can make a ton of difference, it is the distinction between an acceptance and a rejection. Although you might have dedicated quite a significant amount of time, the admission officers who eventually need to go through thousands of other essays, have only a few seconds to read it. Given such high stakes, you need to grab their attention as quickly as it can, with your words. Each essay should contain personalized text describing your experiences of your life.

How we use AI to generate personalized text for Essays

At, we make the above demanding process to be as easy as taking a walk in the park. The user can input the information, certain key points in the brainstorming session. The user can then proceed to write an essay, by typing in a few words, then the generation of relevant words based on the user input begins. 

But the predictions can be generic without a personalized touch to it. The challenge was ahead of us, how can we generate the words that are more customized to the user’s composition of the essay?

Technically, we broke the problem statement down into two main segments:

  1. Extracting the entities from the initial sections like brainstorming
  2. Integrating these entities into the text generated by the state of the art GPT algorithm

BERT-based Keyword Extraction

Keyword extraction for a document is an age old process with techniques such as TF-IDF, Yake, Rake, etc. They involve identification of the important terms or phrases that are most representative of the source document. Identifying good keywords can help to accurately describe the document’s content. 

However, they are mainly based on the statistical properties of the text and don’t necessarily take into account the semantic aspects of the full document. Especially since we are dealing with entities from the user, sometimes we may be dealing with bi-grams or trigrams, eg. Harvard University. In such cases, the regular keyword extractors can be inaccurate. 

KeyBERT is a keyword extraction technique that aims at solving this issue. It leverages the BERT embeddings to get keywords that are most representative of the underlying text document.

KeyBert - Bert based keyword extractor
This Image shows how we can extract keywords for sentences using KeyBert

Using FitBert for Personalized Text

Now we get into the final part, the most important segment in terms of the final output. From the previous section, we extracted the entities which are unique to the essay to be written by each user. Those entities add a personal touch to the essay. The predicted text from the GPT has to be unified with the entities.

The crucial FitBert or fill in the blanks comes to the frame. It’s based on the BERT — Masked Language Modeling, performs extremely well to fill in the blanks for a certain text. 

In simple words, we try to mask the GPT predicted text and use FitBert to fill in the entities from the KeyBert. Here, the FitBert is given a sentence with a blank to fill in along with the suitable options. Under the hood, it is the BERT architecture that plays a crucial role in facilitating smooth performance. 

Masking the key entities for the GPT generated text

BERT is trained on an enormous collection of written English. Specifically, it is trained to look at a sentence with a blank, and output an ordered list of every possible word that could fill in that blank. FitBert looks at the intersection of the list with the options provided and is able to produce a semantically correct sentence. 

The final output with personalized text


Writing essays can be hard especially when you have a deadline approaching. You can leverage AI to make your task easier. However, the AI generated text cannot add the personalized text flavor to it. We looked at how we solved this using KeyBert and FitBert. Try it out now!

Check out more AI tools

Sign up for Textify AI membership.