Using GPT-3 for business applications


In this article I describe what GPT-3 is, the business case and a project that im currently working on.

GPT-3 is a wonderful new AI technology for handling text. Translation, question answering, summarization, and fact extraction can all be handled more effectively with the use of GPT-3. You don’t need to be an expert in machine learning technology to take advantage of this new AI technology – simply write simple text instructions like “Please summarise the following text.”

How can we use GPT-3 for business applications? To demonstrate I created a free account on openai.com and asked GPT-3 to help me to write this article together. 

Introduction to GPT-3

According to wikipedia: Generative Pre-trained Transformer 3 (GPT-3; stylized GPT·3) is an autoregressive language model that uses deep learning to produce human-like text. Given an initial text as prompt, it will produce text that continues the prompt. [Source wikipedia]

In more human terms its a gigantic large computer model trained on all kinds of text data that they could find. What can GPT-3 do and how can we use it to solve every day problems? To find out I started investigating more about GPT-3 technology and opened a free account at OpenAI. In previous blog post i wrote about text processing, natural language processing (NLP) and applying that technology to job descriptions for matching and fact extraction. Now im curious if technology like GPT-3 will do this all beter, faster and much easier.

I asked GPT-3: What kind of business problems are suitable for solving with GPT-3? 

Anwer: GPT-3 can be used to solve a variety of business problems, including: 

  1. Automating tasks: GPT-3 can be used to automate tasks that are typically performed by humans. For example, GPT-3 can be used to automatically generate reports or to automatically process data. 
  2. Optimizing processes: GPT-3 can be used to optimize processes that are typically performed by humans. For example, GPT-3 can be used to automatically generate reports or to automatically process data. 
  3. Decreasing the need for human intervention: GPT-3 can be used to decrease the need for human intervention in tasks that are typically performed by humans. For example, GPT-3 can be used to automatically generate reports or to automatically process data.

Open AI provides a userfriendly interface to its GPT-3 application. You can type in a question and the machine will answer:

Using the GPT-3 Playground for ultrafast prototyping

As you can see OpenAI provides the user with an easy to use interface to its GPT-3 Model. Here I started by asking it a simple question. It responsed with a strategy list. This is one example of the ease of use of this type of technology. And OpenAI GPT-3 is not the only solution. The OpenAI company started this new approach but there are more that have similar products (Google, Amazon) and there are even Open Source models.

The business case

Before we dive into the implementation of a GPT-3 project I will share my thoughts on selecting a suitable business case. Note that my background is Software Engineering, im mainly interested in technical things, so writing about business cases is hard work for me.

First there might be some challenges and requirements to think of:

  • Access to suitable data (quality data in a machine readable format)
  • Language (GPT-3 was trained on mostly English data, but not all text is in English)
  • Do you have experience with NLP (Yes, it will help if you understand some issues)
  • Do you possess programming skills (required when you want to process the results)
  • Validating results (how can you verify the results are correct)

Then there is a question what is a suitable business case:

  • Generates lots of money (financial benefits)
  • Saves the world (other good reasons)
  • Is easy to implement (will not fail, can be done step by step)

Im not going into depth here but I already had a call from a collegue on a business case so I included it here in my article for him. A suitable business case could be matching people with jobs. I work as a Software Engineer for Novisource and I get hired by companies to work for them on a project.

So my needs are:

  • Getting an interesting assignment (work I can do, like to do in a friendly environment with friendly people, serving some purpose that i can support, preferable for the greater good of all mankind)
  • Knowing what kinds of assignments are available
  • Knowing what knowledge and skills are currently requested
  • Knowing what is interesting to me so i can focus on that and improve my value

For a company (the client):

  • Find suitable workers to fill up a team
  • Get the job done
  • Get someone who generates new ideas to be better than the competition
  • Get public approval by doing something good (in the public eye)

The whole process of finding suitable workers is in my opinion not optimal. Companies sometimes have contracts with specific parties (suppliers, job markets) to get workers. These organisations all have their own systems and data formats and want to increase their market share, hereby excluding others access. This narrows accesibility and makes it harder to get information. Is not an open market. Its very hard to get insight into what jobs are available and job descriptions are very sparse only include required skills.

So who benefits from this? Is this good for the companies who want to hire workers or for the Software Engineer who is looking for a new assignment? I think an open data market will be much better. Better job descriptions with standardised data would help too. I cannot change all this but i can try to make more sense of all these different systems and data formats by processing this unstructured data and transforming it into something that suits my needs.

So i have found my business case: Do something to make finding a new job easier

Using GPT-3 to get a new job

As part of my learning process I’m investigating how GPT-3 can help me get a new job assignment. I choose this because it looks like a perfect business case to me:

  • As an IT professional and consultant its an activity im familiair with (writing motivations and preparing for interviews. I work for Novisource.nl and clients hire me for the duration of a project)
  • It helps me getting a better work assignments,
  • It can help my colleages at work and my account manager
  • Data is avavailable (I already scanned hundreds of job descriptions and resume’s).

The process I want to investigate includes tasks such as selecting a job that fits my skills and interest, improving my resume, writing a cover letter and preparing for the job interview. In previous blog posts on natural language processing you can read how i processed job descriptions using NLP software technology. So I already have some experience with advanced text processing and NLP. Now im very interested how I can use GPT-3, what are its strengths and weaknesses and will it be easy to use.

Again I consulted GPT-3: Give me a top five list for finding a new job: 

  1. Use GPT-3 to make a resume that will stand out 
  2. Use GPT-3 to create a job search strategy 
  3. Use GPT-3 to find job postings that are not widely advertised 
  4. Use GPT-3 to research companies and choose the best ones to apply to 
  5. Use GPT-3 to prepare for interviews by studying the most common questions asked

I want to have quick results that i can show to my collegaes at work. Im following this step by step approach:

  1. Writing a cover letter (I provide some details in a spreadsheet, hand it over to a Python script and GPT-3 writes me a cover letter)
  2. Extract facts such as job skills from a job description (I already have a done this with Python but like to find out what GPT-3 can do)
  3. Extract facts from my resumé (same same)
  4. Prepare my self for a job interview (Can I do a two agent conversation simulation between me and the customer based on the information from the job description?)
  5. Find a suitable job based on my skills and interests (matching my skills, personality and interests with a job. Will embedding help here?)

Currently I’m working on generating the cover letter and it’s looking pretty good:

Underline red text: GPT-3 states that i’m working on a certificate to work around the fact that i have some experience with Azure but no experience on Databricks. GPT-3 is not lying but just wants to be helpful here I guess.

Currently I’m working on improving the quality, collecting more background information on writing a good cover letter, discussing this approach with my collegues at work and ask for their advice. I’m also looking at validating results. I have to verify that the system will find all required skills in the job description. I will probably use an annotation system to mark all skills in the job description text so i can verify GPT-3 can find them all. This is a well known procedure in NLP.

Annotating a text, mark text with labels

Some remarks from GPT-3:

GPT-3: In theory, GPT-3 could be used to generate a cover letter for a specific job opening. However, it is important to keep in mind that GPT-3 is still in its early stages of development, so the results may not be perfect. Additionally, it is likely that a human would still need to review the cover letter to ensure that it is properly tailored to the job opening.

GPT-3: There are a few different ways that GPT-3 can help automate the process of writing a cover letter. One way is by using the GPT-3 to generate a template that can be used for the cover letter. Another way is by using the GPT-3 to generate specific content for the cover letter based on the information provided.

This is a perfect example of how GPT-3 can be used. Give it a description of a situation and ask a question. Not all answers are gold. And how about cost? Running a GPT-3 model will cost you some money. The cost depends on the model you choose and the amount of data you process. For a high value process such as finding a suitable job or the best employee for the job cost will not be a big issue, especially compared with what recruitment agencies ask for.

Ethical issues

So far the technology is interesting, relative easy to work with and seems to work pretty good. But how about the ethics? Is it ethical to have a machine write parts of your resumé and cover letters?

According to GPT-3: This is a difficult question to answer. On one hand, it may be seen as unethical to have a machine write parts of your resume and cover letters because it may be seen as cheating or deceptive. On the other hand, some people may see it as simply taking advantage of technology and using it to your benefit. Ultimately, the decision of whether or not to use a machine to write parts of your resume or cover letter is up to the individual.

I agree with this opinion and want to add that all the text that is produced must be true. I found out that GPT-3 can sometimes take some liberties. I asked it to generate a response and provided it with skills I possess and a list of missing skills, the skills that are reqeuested but I do not have. GPT-3 came up with a solution, it said “Im currently working on getting certified”. Thats a nice solution but not entirely true (some account managers may have a different opinion).

I think that its permissible to let someone help you writing your cover letters and other documents. But you always have to verify that they contain the truth and do not overpromise.

Summary

This yourney into AI generated text looks very promising. The technology is exiting and relative easy to use. There are many sources that can help implementing a working solution. Having experience with NLP can help us to understand the capabilities and limitations. I think a creative person can find many applications for this technology. Then its success will depend on the availability of data of sufficient quality and preferable English language. Support for Non-English languages is still an isssue with many models. I have choosen a hands-on approach in learning this new technology. The OpenAI company provides easy access to its GPT-3 product and a 18$ credit for using their paid services. This will be probably more than enough to evaluate its capabilities and usefulness.

Personally I don’t like job descriptions that only include a list of required skills. Makes me feel like im a can of beans. I like to get excited about solving a particular problem, especially one that benefits us all. To do that, I think you should describe the problem and its challenges in more detail. Then i can see if my skills, experience and personality can actually contribute to solving that problem. Skills are just a means to an end. I can learn new skills if i’m interested in the job. The more you focus on the skills, the more your message gets lost.

The biggest hurdle will be the willingness to use a relative new and unknown technology that promises to make big changes in how we process and use information. There are many discussions on how AI tools like GPT-3 will bring change to text and knowledge intensive work areas such as recruitment, legal (court, advocacy, contracts) and government. It will change how people do their job and will eventually provide access to knowledge for everyone. This however may be a threat to some and will need a mindset change. It is important that all stakeholders understand the potential, the risks and opportunities and the limitations of AI. A shared understanding of how AI can be used to improve work is only possible when everyone speaks the same language. The GPT-3 is a powerful tool that can help us accelerate the implementation of AI, but it is not a silver bullet. We need to be aware of its limitations and use it responsibly.

Final thought: Was this article written by me or by GPT-3 or both and does it matter?

Tauvic Ritter, Software engineer and Father, by my father and mother
GPT-3, piece of software by OpenAI

Leave a comment