Saturday, December 19, 2015

A Simple Beginning

The way to build any overwhelmingly complex and difficult system is to start simple and build incrementally. In this post I begin to present a minimal design for a "humanity engine". The high-level process might look something like this:
  1. A user starts a conversation.
  2. The conversation is passed to a human agent.
  3. An agent may:
    • Create a continuation of the conversation.
    • Refer the conversation to another human agent, who may create a continuation of the conversation or refer it to another agent.
  4. The user continues the conversation.
  5. The conversation is passed back to the last agent who continued the conversation.
  6. Go to step 3.
Here is an example of how this simplified platform might work in practice:

[The user starts a conversation.]
user: Hi, my name is Steve.
[A human agent receives the conversation and continues it.]
agent0: Hi Steve.
[The conversation is passed back to the user, who continues it.]
user: I need to invest $10,000.
[The conversation goes back to agent0, who refers it to agent1, an investment expert. That agent continues the conversation.]
agent1: What is your net worth and how old are you?
[The conversation is passed back to the user, who continues it.]
user: I'm 67 and my net worth is $300,000.
[The conversation goes back to agent1, the last agent who continued it. That agent provides a further continuation.]
agent1: You should buy a 5 year target date mutual fund.

So far we've not specified much in the way of automation. We're just passing the conversation around and continuing it. We need to consider where and how we can begin to add AI features that allow the human agents to respond more efficiently. Enhancements, based on AI parsing and analysis of the conversation, might include:
  • Proposing candidate texts for continuations, and allowing the agent to select and possibly edit the candidate texts for continuation.
  • Proposing candidate referrals to other agents.
Here is the above example, modified to include such enhancements:

[The user starts a conversation.]
user: Hi, my name is Steve.
[A human agent receives the conversation. Software proposes the following candidate continuations: "Thank you for that information.", "Hi Steve", "I'm glad to hear that". The agent selects the 2nd candidate continuation.]
agent0: Hi Steve.
[The conversation is passed back to the user, who continues it.]
user: I need to invest $10,000.
[The conversation goes back to agent0, and the software proposes candidate referrals to agent1, an investment expert, or agent2, a banking expert. The agent selects agent1, and that agent continues the conversation.]
agent1: What is your net worth and how old are you?
[The conversation is passed back to the user, who continues it.]
user: I'm 67 and my net worth is $300,000.
[The conversation goes back to agent1, the last agent who continued it. The software proposes the following continuations: "You should buy IBM", "You should buy 2 year Treasuries", "You should buy a 5 year target date mutual fund". The agent chooses the last one.]
agent1: You should buy a 5 year target date mutual fund.

The simplified "humanity engine" described in the post resembles "live buyer/seller chat" software and "collaboration" software. In the next blog post, I'll review existing software that may be similar to or relevant to the "humanity engine" idea.

No comments:

Post a Comment