US 12,086,561 B2
Multi-agent conversational agent framework
Ashish Mittal, Bangalore (IN); Diptikalyan Saha, Bangalore (IN); Priyanka Agrawal, Bangalore (IN); and Manasa Markandeya Jammi, Kharagpur (IN)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Aug. 27, 2019, as Appl. No. 16/552,557.
Prior Publication US 2021/0064706 A1, Mar. 4, 2021
Int. Cl. G06F 17/00 (2019.01); G06F 40/56 (2020.01); G06Q 30/08 (2012.01); H04L 51/02 (2022.01)
CPC G06F 40/56 (2020.01) [G06Q 30/08 (2013.01); H04L 51/02 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method, comprising:
providing a conversational agent creation framework that creates conversational agents based upon input from a plurality of users, wherein within the conversational agent creation framework the conversational agents interact and perform negotiations on behalf of users for objects without requiring input from the plurality of users;
receiving, within the conversational agent creation framework and from one of the plurality of users, input to generate an instance of a conversational agent to perform a negotiation on behalf of the at least one of the plurality of users, wherein the input comprises (i) a selection of one of a plurality of conversational agent roles, each of the plurality of conversational agent roles corresponding to a role within a negotiation, (ii) negotiation constraints for the selected role, and (iii) an object for the negotiation, wherein the conversational agent creation framework comprises a plurality of created instances of a conversational agent having a particular role, wherein the instance is unique to the one of the plurality of users the object identified by the user, wherein the conversational agent creation framework comprises a plurality of created instances of a conversational agent having a particular role; creating, within the conversational agent creation framework, the instance of the conversational agent, wherein the instance (i) has the selected role, (ii) is programmed with the negotiation constraints, and (iii) is unique to the object for the negotiation and the one of the plurality of users;
identifying, within the conversational agent creation framework, at least one other instance of a conversational agent, wherein the at least one other instance (i) has an opposing role with respect to the object and (ii) is programmed with opposing role negotiation constraints;
conducting, within a negotiation instance created within the conversational agent creation framework, the negotiation instance being unique to the instance of the conversational agent, the at least one other instance of a conversational agent, and the object, in response to identifying the at least one other instance of a conversational agent, a conversational session between a conversational agent corresponding to the instance of a conversational agent and at least one other conversational agent corresponding to the at least one other instance of a conversational agent, wherein the conducting comprises each of the conversational agent and the at least one other conversational agent traversing nodes included within a dialog tree generated based upon a negotiation specification comprising data corresponding to the negotiation instance, the roles of the conversational agent and the at least one other conversational agent, and the negotiation constraints;
the conversational session comprising the negotiation between the conversational agent and the at least one other conversational agent for the object and wherein, within the conversational session, the conversational agent and the at least one other conversational agent perform, without requiring input from the one of the plurality of users and users who created the at least one other instance of a conversational agent, the negotiation in view of the negotiation constraints and the opposing role negotiation constraints, wherein the negotiation instance comprises a structure for populating parameters, entities, and objects within the negotiation instance and is populated with at least negotiation entities corresponding to the object, the instance of the conversational agent, and the at least one other instance of a conversational agent, wherein each of the negotiation entities comprise object identifiers for the object of a corresponding negotiation entity; and
providing, from the conversational agent creation framework and responsive to completing a negotiation, information to the one of the plurality of users regarding the completed negotiation.