Create the Response Bank

Create a spreadsheet for each of your subtopics

  1. Create a list of the subtopics you want covered by the automated dialogue and create a spreadsheet for each subtopic. Preferred spreadsheet formats are the Open Document Format, *.ods, or Microsoft's *.xlsx or *.xls)
  2. The first row of your spreadsheet should contain the following column headers See also Column Reference. (You can download a templates for this from here):
  • ref (A)
  • subref (B)
  • order (C)
  • tag (D)
  • topic (E)
  • content1 (F)
  • content2 (G)
  • content3 (H)
  • content4 (I)
  • content5 (j)
  1. Each spreadsheet should contain a maximum of about 1000 rows and there should be from 2 to 20 sheets. If you need to handle more content than than this, please contact talkigy for guidance.

Populate each spreadsheet with dialogues

  1. Even rows in the spreadsheets should contain stimuli. Enter from one to five example stimuli in the content columns, normally three. Any stimuli to the right of an empty content cell will be ignored, so do not leave gaps in your content.
  2. Odd rows in the spreadsheets should provide one response in the content1 column that is a good response to all the stimuli provided in the preceding row
  3. Author your stimuli and responses in the form of natural dialogues. Think what your visitors will ask first and then think of follow up questions and answers.
  4. When you come to the natural end of one run of dialogue, leave two blank rows and start again with a new run of dialogue.

How to write good stimuli

  1. Typically the stimuli (abbreviated here as 'stm') and responses ('rsp') will be questions and answers. But not every stimulus is a question. For example, 'thanks for your help' and 'tell me more' are both inputs that are not questions.

  2. Stimuli should consist of visitor's likely questions and remarks. For example, if you are a shop, 'what are your opening hours'.

  3. For each stimulus it is best to phrase the input in three different ways (maximum five) in the columns content1 to content5. Talkigy will then be able to detect stimuli that are similar to a mixture of those three. For example, 'what are your opening hours' might be supplemented with:

    • 'what time do you stay open at the weekend' and
    • 'when do you close today'
  4. *talkigy* can:
    • understand many near synonyms (e.g run and sprint)

    • recognise different word forms (e.g. talkigy recognises that running is a form of run)

    • disregard some words that add little meaning (e.g. 'a really good cat' is the same to talkigy as 'a good cat').

    • As a result, for talkigy the following inputs are equivalent:

      • I love running
      • I like sprinting
      • I really like to sprint
      • I really like to run
  5. Try to author stimuli in a variety of styles to match the variety of language that visitors are likely to use. Your imagination will combine with talkigy's AI so that a rich diversity of user inputs can be effectively recognised.

  6. *talkigy* ignores incoming punctuation and capitalisation, so if it saves time, you can ignore punctuation and capitalisation. (However, visitors will see responses in exactly the way you write them, so appropriate grammar, spelling and capitalisation should be provided in your responses).

How to write good responses

It is important that your responses cannot be misinterpreted. For this reason, follow these rules:

  1. Responses should be statements and not questions. In practice, answering a question with a question gets very confusing.
  2. Responses should be unambiguous. Their meaning should be clear whatever preceded them.
  3. Avoid the use of pronouns. For example, 'Cats are good at jumping' is better than 'They are good at it'.
  4. Consider the above rules as they apply to the following examples:

Example of badly authored content

  • stm: do cats get on with dogs?
  • rsp: no they don't
  • stm: if I got a new dog, would my old cat be happy?
  • rsp: no, your old cat is too old to learn to share
  • stm. but do you think I should get a cat?
  • rsp: what do you think?
  • stm. thanks for the advice
  • rsp: are you going to follow it?

Dialogue that might result from badly authored content

  • stm. I think that cats sometimes get on with dogs?
  • rsp: what do you think?
  • stm: my friend just got a kitten and a puppy, I think they can get on
  • rsp: no, your old cat is too old to learn to share
  • stm: my childhood cat liked the dog we had
  • rsp: no they don't
  • stm. I don't think you are giving good advice
  • rsp: are you going to follow it?

Example of well authored content

  • stm: do cats get on with dogs?
  • rsp: cats usually do not get on well with dogs
  • stm: if I got a new dog, would my old cat be happy?
  • rsp: cats are very territorial and typically do not wish to share with other animals, unless this begins while they are a kitten
  • stm. but do you think I should get a cat?
  • rsp: getting a cat is a big responsibility and you need to think very carefully before getting one
  • stm. thanks for the advice
  • rsp. I hope my information is useful to you
  1. Note in the above in well authored' content the responses will make good sense almost whatever precedes them it is much harder for a change in context to make the responses you have authored inappropriate. Each response is a complete sentence that makes sense on its own.
  2. Pay attention to spelling and grammar in your responses. What you write here is exactly what will be read by your visitors. Be consistent in how you use punctuation and capitalisation. (This is different from, the stimuli where punctuation and capitalisation are ignored and where stimuli should be entered in a variety of styles to reflect the variety of inputs that your visitors are likely to enter.)
  3. Choose a punctuation/capitalisation style that fits your purpose and stick to it. An informal, humorous automated dialogue will perhaps ignore many conventions around punctuation and capitalisation. More formal content should be written accordingly. Whatever you choose, be consistent,

Create the baseline

  1. The baseline consists of dialogue content entered in the usual way but each row of the baseline is identified in the 'order' column.
  2. Identify the baseline responses by including 'b1', 'b2', 'b3' etc. in the 'order' column. For example the first response in your baseline should be labelled 'b1' and the second should be labelled 'b2' etc.
  3. Note that the first baseline delivered to the user will be selected at random from the odd numbered baselines ('b1','b3','b5' etc.)
  4. Baseline responses are always served in pairs. So if talkigy serves a visitor with baseline response 'b31', then regardless of what the visitor says next, talkigy's next response will be baseline 'b32'. The idea is that if a user is not entering relevant stimuli, then talkigy will have a couple of turns to try and direct the dialogue in a relevant direction. This means that your baseline must be an uninterrupted sequence 'b1' to 'bN' where N is an even number.
  5. After a baseline has been served to the current user, any further baseline responses will be delivered in sequence, so if b31 was the first (randomly selected) baseline response served to the visitor, then the next time talkigy decides to serve a baseline response, then it will serve 'b33' (having already used 'b32' as a follow up to 'b31' regardless of the visitor's input. When the last pair of baselines have been served, then the next baseline will be 'b1'.
  6. Try typing nonsense into *talkigy*'s automated dialogue a few times to see how the baseline works.
  7. At least 10 baseline responses should be provided and preferably about 50. There is no limit.
  8. For convenience, it is recommended that you record baseline responses in dedicated spreadsheets that are appropriately named so they can easily be identified.
  9. Baseline content will also be treated as a normal part of the response bank and so should be authored accordingly. This means that when talkigy decides that a baseline response is the most suitable answer to visitor input, then it will serve that response.

Send your spreadsheets to talkigy

  1. Contact talkigy for instructions as to where to send or upload your response bank (the spreadsheets you have populated with content).
  1. *talkigy* will then process your response bank and provide a web link where you can test your dialogue. Once you start interacting with your dialogue, you may find gaps in your response bank or see improvements to make - it is likely that you will want to upload new content a couple of times before you are finished with this stage.


... on how to create your own automated dialogue.