How To Implement GPT-3 In Your Chatbot
And Why It’s Not The Solution For All Conversational Problems…
Since Open AI made text processing available with GPT-3, the question have been asked, is this the ultimate and only interface you need to create a Conversational AI interface, or chatbot? Why still bother with other frameworks and environments?
Yes, there are instances where GPT-3 can be used in a standalone mode. For instance; a mood-to-color chatbot, a fun sarcastic chatbot, a friend chit-chat bot etc.
Currently, GPT-3 has minimal capacity for supporting fine-tuning projects. GPT-3 is working on building a self-serve fine-tuning endpoint that will make this accessible for all users, but concrete timelines are not available.
For now, in most production and enterprise implementations, GPT-3 will play a support role…
Chatbot Architecture 101
Traditionally chatbot architecture can be divided into two parts, the Natural Language Understanding (NLU) and Dialog Management.
NLU is used to extract intents (verbs) and entities (nouns) from user input. The dialog part manages the bot’s responses and the dialog state.
Currently, GPT-3 cannot completely replace this structure, it is not a chatbot development framework. However, an ideal implementation of GPT-3 will be where it is used to augment and enhance an existing chatbot.
From the Open AI documentation, it is clearly stated that GPT-3 provides a general purpose interface, for text-in and text-out procedures.
Hence it is ideal to perform virtually any language text task. And in this lies their differentiator.
Most APIs are designed to perform a single language task. Such as sentiment, intent extraction, named entitles etc. Below are a few examples of how GPT-3 can support and augment a current chatbot implementation.
Practical Use-Cases For GPT-3
There are existing grammar and spelling correcting API’s. But, often these mechanisms do not suffice. In cases where an intent and entities cannot be detected, the user utterance can be run through the Grammar correction API. As you can see from the examples above, the sentences provided are corrected to a large degree.
Text summarization is a handy auxiliary tool for a few reasons… The first being for shortening user input. The other option is to shorten replies, especially where a knowledge base is queried and the response needs to be shortened to a specific length depending on the medium.
Another use of text summarization is to present a user with a auto summarized dialog, with a read more option, which can then expand into the longer un-summarized version.
Keywords can be extracted from a block of text. You can configure the environment to be conservative and select only keywords from the text. Or a higher temperature can be set to where related words or keywords are generated.
This is very helpful to categorize text and create a search index. In the image above a extract on soccer was taken from Wikipedia. GPT-3 converted this quite large paragraph into six key words or themes.
Parse Unstructured Data
Create tables from long form text by specifying a structure and supplying some examples.
Here you can see the first entry is directly related to the sentence. The subsequent entries are somehow related and still relevant and applicable.
Classify items into categories via example inputs. Companies are named with categories defined. A new company can be mentioned and auto classified.
Extract Contact Information
Extract contact information from a block of text. In this case, an address.
Summarize For A Second Grader
This functionality takes a complex and relatively long piece, summarize and simplifies it into a sentence or two.
There are definitely good implementation opportunities for the Conversational AI aspect of GPT-3.
As a support API where text can be processed to assist existing NLU functionality, there is a very real use case.
As mentioned, GPT-3 can be a great help in pre-processing user input as a help for the NLU engine. The challenge is that GPT-3 seems very well positioned to write reviews, compile questions and have a general conversation. This could lead to a proliferation of bots writing reviews, online adds and general copywriting tasks.
This automation does not need to be malicious in principle. Open AI is seemingly making every effort to ensure the responsible use of the API’s.
The fact the extensive training is not required, and a few key words or phrases can point the API in the right direction, is astounding.
There are however opensource alternatives for most of the functionality available.
- GPT-3 has quite a bit of functionality which can serve to augment a current chatbot.
- Dialog can be diversified with the NLG capability.
- General chit-chat can easily be created.
- Copywriting is made easy for slogans, headlines, reviews etc.
- Text transformation
- Text generation
- Creating a general purpose bot to chat to.
- With their underlying processing power and data, creating flexible Machine Learning stories should be a good fit.
- The API is cloud hosted
- Social media bot content generation
- Not a framework for sustainable chatbot scaling; yet.
- Possible over and under steering with training data.