Skip to main content
  1. Artificial General Intelligence/

Dialog theory

Author
Tom Rochette
Table of Contents

Context
#

Learned in this study
#

Things to explore
#

  • $Statement \subseteq Proposition \subset Conclusion$

Overview
#

In a discussion, each reply is either

  • a new topic
  • following the current topic, thus either continuing the existing chain or creating a new one
  • replying to an old topic

In an IRC chat, one can use the nick of a user to reply to him, for example:

<johnSmith> tomzx: that's pretty nice!

Here are a few rules:

  • We never reply to statements that were emitted after we emitted our reply (sequentiality of timeline)

Here are a few soft rules (not necessarily true):

  • We generally reply to the last statement emitted by the person we’re talking with
  • We generally do not talk to ourselves
  • Many statements emitted by the same emitter in short bursts may be in response to the same statements, or different statements
  • An statement emitted after there has been silence for a considerable while generally implies this statement is the start of a new discussion thread

Things that can be done to ease processing:

  • Merge all statements from an emitter that have been emitted sequentially (not interrupted by others)
    • This may make the association of future statements more difficult as it may be unclear what part of the merged statements is being replied to

Building up a context
#

To associate a sentence with its previous context, the following steps are accomplished:

  • read the sentence and extract word cues
  • determine the start of the discussion thread by observing various hints:
    • temporally close interlocutors
    • a period of inactivity potentially indicating a topic change

Discussion complexity
#

1 discussion, 2-people, 1 channel
#

1 discussion, n-people, 1 channel
#

n-discussions, 2-people, 1 channel
#

n-discussions, n-people, 1 channel
#

n-discussions, n-people, n channel
#

Agent Interaction Protocol
#

  • Commencement rules
  • A collection of locutions
  • Combinations rules for the locutions
  • A collection of commitments
  • Combinations rules for the commitments
  • Locution-commitment assignment rules
  • Termination rules

Source: A Mathematical Model of Dialog, Mark W. Johnson, Peter McBurney, Simon Parsons

Dialog grammar
#

  • Statements
  • Claim/Proposition
  • Proof
  • Premise
  • Conclusion
  • Axiom
  • Theorem
  • Fact

Uncategorized
#

// No actors - Monologue

say(‘I want to create a new github project’) if (ask(‘Will it have many parts/subprojects?’)) { say(‘Create a new organization’) do(‘Create project in new organization’) } else { say(‘Create project in personal account’) }

// With language specific verbs - Dialog(2) tell = say query = ask

tell(‘I want to create a new github project’) // Tell comes from the first actor if (ask(‘Will it have many parts/subprojects?’)) { // Ask comes from the second actor say(‘Create a new organization’) // Say comes from the second actor query(‘What should it be named?’) // Query comes from the first actor do(‘Create project in new organization’) } else { say(‘Create project in personal account’) }

// With actors - Dialogue(3..n)

var alex = actor(‘alex’); var tom = actor(’tom’);

alex.say(‘I want to create a new github project’) if (tom.ask(‘Will it have many parts/subprojects?’)) { tom.say(‘Create a new organization’) tom.say(‘Create project in new organization’) //alex.do(‘Create project in new organization’) } else { tom.say(‘Create project in personal account’) }

// Actor based - Dialogue (3..n)

tom(function() { if (ask(‘Will it have many parts/subprojects?’)) { say(‘Create a new organization’) say(‘Create project in new organization’) } else { say(‘Create project in personal account’) } });

// Actions tell say ask do wait

// Things it can do

Extract the list of say to create a list of options for a select Extract prefixes to make a hierarchical list “I want to …”, “I have to…”

See also
#

References
#