Crisis management exercise generation using AI

To be successful, the process would have to:

  • Be faster than if I did it ‘by hand’
  • Produce realistic inputs
  • Be easily repeatable
  • Allow for customization to meet client needs

The outputs had to include:

  • Ideas for scenarios
  • A short video news report
  • Social media clips
  • Text for a news story

This left me with five challenges to solve:

  1. Get ChatGPT into my workspace.
  2. Generate scenario ideas.
  3. Generate supporting text material.
  4. Generate a video news clip input.
  5. Generate social media inputs.

Here’s how the AI Crisis Management Exercise Build Hackathon* went down. (*Attendee one)

Challenge 1 – Get ChatGPT into my workspace.

ChatGPT is going to do all the heavy lifting for the text but I don’t want to keep having to move between OpenAI and where I’m doing my work so I want to set something up where I can access ChaptGPT from my workspace.

DataChaz on Twitter is a good source of ideas and they pointed me towards a tutorial from 1litlecoder where they show how to build a script to access ChatGPT from GoogleSheets. (Their video is here.)

I copied the script and tweaked it so that instead of keywords, it would now use a prompt to generate:

  • Incident ideas
  • A 250-word news story
  • ‘Angry’ Tweets (but aren’t they all…?)

I needed to fiddle a bit with the prompts for the news story and Tweets to get these to sound right but got to a formula where the tone and style of the outputs were pretty realistic. Now I can access ChatGPT from GoogleSheets (which is obviously where every right-minded human does their best work).

Consideration – The news story and Tweet generator part of the script currently takes only one variable. To really make this take off, I want to send three variables: incident details, location, and relative time (e.g. earlier today, yesterday). The next task will be for me to build an option to send these three variables to the script for inclusion in the outputs. (This is an easily solvable problem code-wise, but it’s beyond me right now so I have some tinkering to do.) The workaround is that I ‘hard wire’ the location and time in the script and can easily amend that as necessary for now.

This was the longest part of the process and took about two hours.

Challenge 1: Get ChatGPT into my workspace

Challenge 2 – Generate scenario ideas.

This wouldn’t always be necessary as we might know the kind of scenario a client wants to practice but assuming that we had free reign, we would want to generate some ideas. Instead of brainstorming with colleagues, we can use ChatGPT to generate these ideas.

I enter a prompt and ask it to generate some incident ideas. In this case, “oil spill” gave me these ideas.

  1. Chemical spill in a river contaminating the water supply of a nearby town.
  2. Gas leak from a pipeline causing an explosion and fire in a residential area.
  3. Nuclear power plant meltdown resulting in radiation exposure for nearby residents.
  4. Mining accident causing a collapse and trapping workers underground.
  5. Industrial waste dumping polluting a lake and killing wildlife.
  6. Train derailment spilling hazardous materials into a river.
  7. Oil rig explosion causing fatalities and environmental damage.
  8. Pesticide contamination of crops leading to health problems for consumers.
  9. Factory fire releasing toxic smoke and chemicals into the air.
  10. Sewage overflow contaminating a beach and causing health concerns for swimmers.

These are all good, credible scenarios and I was pleasantly surprised that the model returned not just incident suggestions (e.g. pesticide contamination) but added secondary effects (health problems for consumers).

So far so good. I chose ‘gas leak from a pipeline causing an explosion and fire in a residential area’ to use for the remainder of the tests.

Consideration – The response time from ChatGTP can vary significantly so this stage and the following steps can be almost instantaneous or take up to 4-5 minutes.
Consideration – Some ideas are too ’emotive’ for ChatGTP and won’t pass its built-in controls when you try to write the stores. For example, I got a ‘sorry I can’t do that’ type of message when I asked it to write stories about a nuclear accident.
Consideration – I don’t want to pass any PII or company-specific information to any of the AI systems so I won’t include these in the prompt or the video later.

Challenge 2: Generate indecent ideas

Challenge 3 – Generate supporting text material.

Using the gas leak idea, I ran the news story and social media generation models to get the following.

News Story text

Earlier today, a gas leak from a pipeline caused an explosion and fire in a residential area of Aberdeen. The incident occurred at approximately 10:30 am, and emergency services were immediately dispatched to the scene. Eyewitnesses reported hearing a loud explosion followed by flames and smoke rising from the affected area. The local authorities have confirmed that there have been no casualties, but several homes have been damaged. The cause of the gas leak is currently under investigation, and residents in the surrounding area have been advised to stay indoors and keep their windows closed as a precautionary measure.

Social media text

I can’t believe this is happening in our community! How could a gas leak from a pipeline cause such a devastating explosion and fire? We need answers and action now! #AberdeenGasLeak #CommunityOutrage”

My heart goes out to all the families affected by the gas leak explosion in Aberdeen. This is unacceptable and we demand accountability from those responsible! #JusticeForAberdeen #StopTheNegligence

The safety of our community should never be compromised for the sake of profit. It’s time for the government and corporations to prioritize the well-being of people over their own interests. #NoMoreGasLeakDisasters #AberdeenStrong

I’m sick and tired of hearing about these preventable disasters caused by negligence and greed. We need to hold those responsible accountable and demand stricter regulations to prevent future tragedies. #EnoughIsEnough #AberdeenGasLeak

My thoughts and prayers are with the families affected by the gas leak explosion in Aberdeen. We need to come together as a community and demand justice for those who lost their homes and loved ones. #SolidarityForAberdeen #NeverForget

These inputs are very close to what I would have written as a first pass at exercise inputs so I’m happy to move on with the test, but I might tweak these a little if I had more time to hit some specific points I’d like participants to consider in the exercise.

Now I have the text material, I can move on to building the inputs.

Challenge 3:

  1. Generate text for social media inputs ✅
  2. Generate text for a news story ✅

Challenge 4 – Generate a video news clip input.

I switch to Synthesia where I’ve built a template to use for training news clips. I have my text already but need an image so I search for ‘polluted river’ and find a good image from the EPA.

Now can I drop the image into the template, change the headline and drop the news story text into the editor to generate a realistic news clip.

10 minutes later, the news clip has been rendered and is ready for use.

Here’s the clip – remember, this is a fictitious event.

Consideration – Quite rightly, Sythesia has strict rules around fake news and does have both an automated and human system in place to check the content. I’ve watermarked the video with EXERCISE EXERCISE and have already checked with their moderators so this rendering is very quick but my first run took a while to get approval.

Challenge 4: Generate a video news clip ✅

Challenge 5 – Generate social media inputs.

Finally, I need to create some social media clips and I use Tweetgen to make realistic-looking cards using the text I generated earlier.

Challenge 5: Generate social media inputs ✅

In Summary

Overall, this was a great successful as I had produced:

  • Ideas for scenarios
  • A short video news report
  • Social media clips
  • Text for a news story

And the system met the criteria I had set.

  • Be faster than if I did it ‘by hand’ ✅
    • Once built, I created the ideas, text, video and Tweets in 15 minutes. Doing this ‘by hand’, recording an actual human, editing the video, etc would have taken at least half a day.
  • Produce realistic inputs ✅
    • You can tell the video is artificially generated but I think it’s realistic enough to not cause exercise participants too much confusion and it delivers the message realistically. (Judge for yourself here.)
  • Be easily repeatable ✅
    • (Did I mention this only took 15 minutes to run?
  • Allow for customization to meet client needs ✅
    • With some tweaks to the prompts, this could be adapted to any location, any time.

This whole build, including research, took about four hours, the majority of which was reformatting the code and input prompts. After that, it takes around 15-20 minutes to run up all the materials above.

As I noted above, there are some considerations to keep in mind and I need to do some work on the script but this was a success and, hopefully, will allow us to run realistic exercises more frequently at much less cost.

Two Health Warnings

First, this could obviously be used for nefarious purposes and there’s a plethora of fake news already being generated this way. But we could make fake news stories before: the difference now is the speed with which we can do so. However, please use this responsibly and make sure you mark materials up as EXERCISE, just as you would before.

Second, I would not include any client information or PII in the prompts I sent to any AI. As these are learning models, I am concerned about how any data provided in a prompt gets absorbed into the model so I’d keep the prompts generic and then, if you have to, add confidential information once you have the material in your own workspace.

Otherwise, I think these tools (and whatever comes afterwards, 👋 GPT-4) provide at least an order of magnitude in efficiency and speed when it comes to developing realistic training materials for crisis simulation, which should let us train teams more frequently at a much lower cost.

What do you think? Leave a Reply