Multi-modal conversational intercom
First Claim
1. A system comprising:
- one or more processors;
a network interface; and
computer-readable media having stored thereon computer-executable instructions, that, when executed, cause the one or more processors to perform operations comprising;
maintaining a plurality of communication channels for electronic communication via the network interface;
accessing a user profile of a user, the user profile being associated with one or more user-communication channels by which a user device of the user is able to communicate;
maintaining a directory of a plurality of agents, each agent being a computer program that, when executed, implements a dialog-based service to provide information in a user interface via an exchange of natural language, the plurality of communication channels being shared by the plurality of agents, each agent being linkable to one or more of the communication channels;
linking one or more first-agent communication channels to a first agent from the plurality of agents, wherein linking the one or more first-agent communication channels to the first agent comprises causing an intercom to use data stored in an agent directory to make requests to send or receive messages or files over the one or more first-agent communication channels on behalf of the first agent;
receiving a natural language communication from the user of the user device via the network interface through one of the user-communication channels, the natural language communication causing a service trigger to activate the first agent for communication with the user device in response to identifying relevant services specified in the natural language communication;
based at least in part on the service trigger, creating a dialog session between the first agent and the user device via the network interface using one or more of the user-communication channels and the first-agent communication channels;
capturing dialog between the first agent and the user device via the dialog session;
detecting a change of activity on a first communication channel;
detecting a change of activity on a second communication channel of the user-communication channels; and
maintaining the dialog session between the first agent and the user using the second communication channel, wherein maintaining the dialog session includes continuing the dialog between the first agent and the user and routing messages via an API endpoint associated with the first agent over the second communication channel, the second communication channel being one of the first-agent communication channels.
1 Assignment
0 Petitions
Accused Products
Abstract
The techniques discussed herein allow an agent that provides dialog-based services to converse with a user via any mode. A central service programmed to be able to communicate via any mode collects information from agents necessary to act on the agents'"'"' behalf. In order to ensure that an agent has a maximal presence across modes, the central service provides auxiliary services such as language translation, fidelity upgrading and/or downgrading, modal constraint conformation, etc. Moreover, the central service provides session tracking via user profiles stored at the intercom so that if a user changes a mode by which the user is conversing with an agent, the central service can keep the context of the conversation across the new mode. Furthermore, agents can communicate with other agents via the central service, allowing other agents to provide services to agents or to add their services to an ongoing dialog with a user.
-
Citations
18 Claims
-
1. A system comprising:
- one or more processors;
a network interface; and
computer-readable media having stored thereon computer-executable instructions, that, when executed, cause the one or more processors to perform operations comprising;
maintaining a plurality of communication channels for electronic communication via the network interface;
accessing a user profile of a user, the user profile being associated with one or more user-communication channels by which a user device of the user is able to communicate;
maintaining a directory of a plurality of agents, each agent being a computer program that, when executed, implements a dialog-based service to provide information in a user interface via an exchange of natural language, the plurality of communication channels being shared by the plurality of agents, each agent being linkable to one or more of the communication channels;
linking one or more first-agent communication channels to a first agent from the plurality of agents, wherein linking the one or more first-agent communication channels to the first agent comprises causing an intercom to use data stored in an agent directory to make requests to send or receive messages or files over the one or more first-agent communication channels on behalf of the first agent;
receiving a natural language communication from the user of the user device via the network interface through one of the user-communication channels, the natural language communication causing a service trigger to activate the first agent for communication with the user device in response to identifying relevant services specified in the natural language communication;
based at least in part on the service trigger, creating a dialog session between the first agent and the user device via the network interface using one or more of the user-communication channels and the first-agent communication channels;
capturing dialog between the first agent and the user device via the dialog session;
detecting a change of activity on a first communication channel;
detecting a change of activity on a second communication channel of the user-communication channels; and
maintaining the dialog session between the first agent and the user using the second communication channel, wherein maintaining the dialog session includes continuing the dialog between the first agent and the user and routing messages via an API endpoint associated with the first agent over the second communication channel, the second communication channel being one of the first-agent communication channels. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- one or more processors;
-
11. A non-transitory computer-readable medium having stored thereon instructions that, when executed, program one or more processors to perform operations comprising:
- registering an agent, the agent including instructions that, when executed, program one or more processors to perform operations comprising;
linking one or more agent communication channels to the agent, wherein linking the one or more agent communication channels to the agent comprises causing an intercom to use data stored in an agent directory to make requests to send or receive messages or files over the one or more agent communication channels on behalf of the agent;
providing dialog-based services to provide information in a user interface via an exchange of natural language, the registering the agent including receiving an application programming interface (API) endpoint associated with the agent and authentication credentials corresponding to multiple communication channels on which the agent has been authenticated for communication to one or more user devices;
receiving requests to dialog with the agent from the multiple communication channels, each request comprising a service trigger, the service trigger being in response to identifying relevant services specified in a natural language communication received from a user of the user device;
based at least in part on the service trigger, creating a dialog session between the agent and the multiple communication channels using the one or more agent communication channels;
capturing dialog between the agent and the user device via the dialog session;
detecting a change of activity on a first communication channel;
detecting a change of activity on a second communication channel; and
maintaining the dialog session between the agent and the multiple communication channels using the API endpoint and the authentication credentials of the agent for communicating with the one or more user devices via the second communication channel, the second communication channel being one of the one or more agent communication channels. - View Dependent Claims (12, 13, 14, 15)
- registering an agent, the agent including instructions that, when executed, program one or more processors to perform operations comprising;
-
16. A method comprising:
- intercepting communication in a communication channel from a plurality of communication channels;
identifying a service trigger from the intercepted communication, the service trigger being in response to identifying relevant services specified in a natural language communication received from a user of the user device;
identifying a first agent from the plurality of agents associated with a service corresponding to the service trigger, each agent being a computer program that, when executed, implements a dialog-based service to provide information in a user interface via an exchange of natural language, the plurality of communication channels being shared by the plurality of agents, each agent being linkable to one or more of the communication channels;
linking one or more first-agent communication channels from the plurality of communication channels to the first agent, wherein linking the one or more first-agent communication channels to the first agent comprises causing an intercom to use data stored in an agent directory to make requests to send or receive messages or files over the one or more first-agent communication channels on behalf of the first agent;
relaying dialog between the first agent and a first communication channel endpoint associated with a user device for presenting the user interface;
identifying a change from the first communication channel endpoint to an endpoint associated with a second communication channel;
based at least in part on the change in the communication channel, maintaining a dialog session between the first agent and the user device using the endpoint associated with the second communication channel, wherein maintaining the dialog session includes continuing the dialog between the first agent and the user device and routing messages via an API endpoint associated with the first agent over the second communication channel, the second communication channel being one of the first-agent communication channels. - View Dependent Claims (17, 18)
- intercepting communication in a communication channel from a plurality of communication channels;
Specification