Method and system for performing a task based on user input

Disclosed herein is a method and system for performing a task based on user input. One or more requirements related to the task are extracted from the user input. Based on the requirements, plurality of resources required for performing the task are retrieved and integrated to generate action sequences. Further, a simulated model is generated based on the action sequences and provided to the user for receiving user feedback. Finally, the action sequences are implemented based on the user feedback for performing the task. In an embodiment, the method of present disclosure is capable of automatically selecting and integrating resources required for implementing a task, thereby helps in reducing overall time required for implementing a task intended by the user.

This application claims the benefit of Indian Patent Application Serial No. 201841005066 filed Feb. 9, 2018, which is hereby incorporated by reference in its entirety.

FIELD

The present subject matter is, in general, related to artificial intelligence and more particularly, but not exclusively, to a method and system for performing a task based on user input.

BACKGROUND

Advancement of technology and use of modern programming languages have helped programmers, to an extent, to write programs for any problem or individual technical task with less effort. However, programming itself is a resource intensive process, and programmers need to spend lot of time and efforts in writing programs to control multiple devices used for accomplishing a common task. Additionally, implementation and validation of the programs is also a tedious task for the programmers.

Presently, there are systems which can understand dedicated speech terms and technical word utterances from a user query to perform a specified task. However, most of these systems fail to understand user's intent in the user query, due to their limited capabilities in terms of dialog processing. Consideration of the user's intent is a crucial aspect for designing and implementing the tasks specified by the user, in order to exactly match with the requirements of the user.

The information disclosed in the background section of the disclosure is only for enhancement of understanding of the general background of the invention, and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.

SUMMARY

Disclosed herein is a method for performing a task based on user input. The method comprises extracting, by a task management system, one or more requirements from the user input. The user input corresponds to the task intended by a user. Further, the method comprises retrieving plurality of resources required for performing the task based on the one or more requirements. Upon retrieving the plurality of resources, the method comprises generating one or more action sequences for performing the task by integrating each of the plurality of resources. Further, the method comprises providing a simulated model, generated based on one of the one or more action sequences, to the user for receiving one or more user feedback. Finally, the method comprises implementing the one of the one or more action sequences based on the one or more user feedback for performing the task.

Further, the present disclosure relates to a task management system for performing a task based on user input. The task management system comprises a processor and a memory. The memory is communicatively coupled to the processor and stores processor-executable instructions, which on execution, cause the processor to extract one or more requirements from the user input. The user input corresponds to the task intended by a user. Further, the instructions cause the processor to retrieve plurality of resources required for performing the task based on the one or more requirements. Upon retrieving the plurality of resources, the instructions cause the processor to generate one or more action sequences for performing the task by integrating each of the plurality of resources. Further, the instructions cause the processor to provide a simulated model, generated based on one of the one or more action sequences, to the user for receiving one or more user feedback. Finally, the instructions cause the processor to implement the one of the one or more action sequences based on the one or more user feedback for performing the task.

Furthermore, the present disclosure relates to a non-transitory computer readable medium including instructions that when processed by at least one processor causes a task management system to perform operations comprising extracting one or more requirements from the user input, wherein the user input corresponds to the task intended by a user. The operations further comprise retrieving plurality of resources required for performing the task based on the one or more requirements. Once the plurality of resources are retrieved, the instructions causes the processor to generate one or more action sequences for performing the task by integrating each of the plurality of resources. Thereafter, the instructions causes the processor to provide a simulated model, generated based on one of the one or more action sequences, to the user for receiving one or more user feedback and implementing the one of the one or more action sequences based on the one or more user feedback for performing the task.

DETAILED DESCRIPTION

The present disclosure relates to a method and a task management system for performing a task based on user input. In an embodiment, the task management system of the present disclosure may be construed as a Natural Language Processing (NLP) based user dialog processing system used for implementing a task intended by a user. More particularly, the method of present disclosure uses the NLP based speech-to-text conversion techniques to understand user intention. Further, based on user dialog and/or narration interpretation, a workflow or action sequences are generated to carry out the task intended by the user.

In an embodiment, while carrying out implementation of the task intended by the user, the task management system may interact with the user to get confirmation about one or more automated integration modules selected for implementing the task intended by the user. The one or more automated integration modules may include one or more integrated resources required for implementing the task intended by the user. Further, once the action sequences are created for the task intended by the user, the task management system may virtually execute the one or more integrated resources and notify results to the user for receiving user confirmation. This allows the users to put forward additional requirements or confirm the formulated action sequences.

In an embodiment, when the user suggests additional actions for the task intended by the user, the task management system may re-integrate the one or more automated integration modules to include the additional user requirements. Subsequently, a virtual working model of a re-integrated design of the one or more automation integration modules may be displayed to the user to fine-tune parameters and thereby providing a realistic experience to the user.

In an embodiment, based on the final confirmation from the user, the workflows, system modules comprising of the hardware components, software modules, data and interventions are selected and connected in a specific order to enable smooth transfer of data and actions across the modules. Further, the task management system may use predefined modules of different connected devices, and integrate those modules in a specific way, which may be aligned with the user intention. Additionally, the creation of action sequences and their execution may be performed based on user-specified languages and other rule based conditions, thereby providing flexibility and complete control over the implementation of tasks to the user.

FIG. 1illustrates an exemplary environment100for performing a task based on user input102in accordance with some embodiments of the present disclosure.

The environment100may include a user101, a task management system103, and a configuration repository105. The task management system103may be configured to receive a user input102from the user101. In an embodiment, the user input102may be an input in natural language format. As an example, the user input102may include, without limiting to, one or more words/sentences uttered by the user101, a dialog/conversation between the user101and the task management system103, or a text document comprising the user input102in the textual format. Further, the user input102may include one or more requirements related to a task intended by the user101.

In an embodiment, upon receiving the user input102from the user101, the task management system103may analyse the user input102and extract the one or more requirements from the user input102. The one or more requirements may be related to the task intended by the user101. For example, if the task intended by the user101is to ‘paint a wall’, then the one or more requirements related to the task intended by the user101may include colour of the paint, thickness of paint coating and the like.

Upon extracting the one or more requirements from the user input102, the task management system103may retrieve plurality of resources107required for performing the task based on the one or more requirements. As an example, the plurality of resources107may include one or more software modules and one or more hardware components required for implementing the task intended by the user101. In the above example, the one or more software modules related to the task, i.e., “paint a wall, may include, without limitation, paint spray control module, image capturing module, drone flight control module, navigation module and the like. Similarly, the one or more hardware components related to the task may include, without limitation, paint, drone, image capturing devices, sprayers and the like.

In an implementation, the plurality of resources107may be retrieved from the configuration repository105associated with the task management system103. As an example, the configuration repository105may be virtual computing environment or a cloud based computing environment that stores a collection of one or more software modules and information related to one or more hardware components, which may be integrated in specific configuration to implement the tasks intended by the user101.

In an embodiment, upon retrieving the plurality of resources107from the configuration repository105, the task management system103may generate one or more action sequences for performing the task intended by the user101. As an example, the one or more action sequences may include, without limiting to, one or more tasks that need to be implemented in a specific sequence for implementing the task intended by the user101. In an embodiment, the task management system103may generate the one or more action sequences by integrating each of the plurality of resources107based on one or more parameters including, without limiting to, a predetermined reference integration design, historical data related to similar tasks, metadata associated with one or more software modules and one or more hardware components, nature of the user input102, and hypothetical analysis related to the task.

Upon generating the one or more action sequences, the task management system103may use the one or more action sequences to generate a simulated model109. The simulated model109may be a virtual representation of the task intended by the user101, which may be obtained based on implementation of the one or more action sequences. In an embodiment, the task management system103may provide the simulated model109to the user101for receiving one or more user feedback111on the simulated model109. As an example, the one or more user feedback111provided by the user101may include, without limitation, one or more modifications for the one of the one or more action sequences, or an approval for implementing the one of the one or more action sequences.

In an embodiment, when the one or more user feedback111may include one or more modifications to the one or more action sequences, the task management system103may incorporate each of the one or more modifications suggested by the user101to the one or more action sequences, and re-generate the simulated model109by re-integration of the plurality of resources107. Alternatively, when the one or more user feedback111may include the approval for implementation, the task management system103may implement each of the one or more action sequences for performing the task intended by the user101. In an embodiment, the task management system103may implement the one or more action sequences only upon receiving the user101approval for the simulated model109. Thus, the task management system103may ensure that the actual implementation of the one or more action sequences meets the one or more requirements related to the task intended by the user101.

FIG. 2shows a detailed block diagram illustrating a task management system103in accordance with some embodiments of the present disclosure.

In an implementation, the task management system103may include an I/O interface201, a processor203, and a memory205. The I/O interface201may be configured to communicate with a user101, through one or more electronic devices and/or one or more user interfaces associated with the user101, for receiving a user input102from the user101. Further, the I/O interface201may be used to provide a simulated model109of the task to the user101for receiving one or more user feedback111from the user101. The memory205may be communicatively coupled to the processor203. The processor203may be configured to perform one or more functions of the task management system103for performing the task based on the user input102.

In some implementations, the task management system103may include data207and modules209for performing various operations in accordance with the embodiments of the present disclosure. In an embodiment, the data207may be stored within the memory205and may include information related to, without limiting to, the user input102, one or more requirements211, one or more action sequences213, a simulated model109, and other data217.

In some embodiments, the data207may be stored within the memory205in the form of various data structures. Additionally, the data207may be organized using data models, such as relational or hierarchical data models. The other data217may store data, including the one or more user feedback111, and other temporary data and files generated by one or more modules209for performing various functions of the task management system103.

In an embodiment, the user input102may be a natural language input received from the user101. The user input102may be received in various formats such as voice, text, or gestures and/or facial expressions of the user101. Further, the user input102may include one or more requirements211related to the task intended by the user101. For example, when the user101wants the task management system103to paint a wall in front of the user101, the user input102provided by the user101may be an utterance such as—‘paint the wall in front of me with Red’. Here, the task is to ‘paint the wall’, and the requirement is to select ‘Red’ paint for painting the wall.

In an embodiment, the one or more action sequences213may be a sequence of actions which need to be performed in order to implement a task intended by the user101. As an example, the one or more action sequences213may include information related to inputs to the plurality of resources107, specific configuration and interaction among the plurality of resources107and the like. In an embodiment, the one or more action sequences213may be generated by integrating each of the plurality of resources107that are retrieved from the configuration repository105. Further, the one or more action sequences213may be dynamically updated to incorporate one or more modifications and/or additional requirements211specified by the user101.

For example, consider a scenario in which the user101requests the task management system103to paint a wall. In the above scenario, the one or more action sequences213generated by the task management system103may include various intermediate actions that are required to be performed for painting the wall, for example, as illustrated below:

Action 1: Extract the requirements211;

For example, the requirements211may include location of the wall, color of the paint, number of coatings, and the like.

Action 2: Determine the plurality of resources107required for painting the wall;

For example, the plurality of resources107required for paining the wall may include a robot or a drone, a controller for controlling the movement of robot/drone, paint, paint brush/roller and the like.

Action 3: Retrieve the plurality of resources107;

Action 4: Generate a simulated model109of ‘painting the wall’, and provide it to the user101for receiving the user feedback111;

For example, one of the user feedback111may be to change the color of paint being used for painting the wall.

Action 5: Finalize the simulated model109based on the user feedback111;

Action 6: Fetch the plurality of resources107and generate an integrated working model of the task (i.e. painting the wall);

At this stage, the task management system103may gather actual resources from various sources for designing a real-time, working model of the task.

Action 7: Implement the integrated working model for painting the wall, as intended by the user;

Action 8: Accept real-time user feedback111from the user101while painting the wall. For example, the user feedback111may be:

To adjust size of nozzle based on thickness of the paint.

Configure the drone/robot for painting boundaries, and specific locations and the like.

In an embodiment, the simulated model109may be a virtual representation of an implemented instance of the one or more action sequences213.

In other words, the simulated model109may enable the user101to experience implementation of the task even before the task may be implemented in reality. For example, the simulated model109generated for the task—‘painting the wall’, may enable the user101to view/experience a drone painting a wall with Red paint. Thus, the simulated model109helps in validating the one or more action sequences213even before they are implemented in reality. Due to which, usage of resources of the processor203may be reduced in comparison to the resources required for executing the one or more action sequences213multiple times, in reality, to perform the task as intended by the user101.

In an embodiment, each of the data207stored in the task management system103may be processed by one or more modules209of the task management system103. In one implementation, the one or more modules209may be stored as a part of the processor203. In another implementation, the one or more modules209may be communicatively coupled to the processor203for performing one or more functions of the task management system103. The modules209may include, without limiting to, a receiving module219, a requirement identification module221, a resource collection module223, an action sequence generator225, a simulation module226, a task implementation module227and other modules229.

As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In an embodiment, the other modules229may be used to perform various miscellaneous functionalities of the task management system103. It will be appreciated that such modules209may be represented as a single module or a combination of different modules.

The receiving module219may be used for receiving the user input102from the user101. In an embodiment, the receiving module219may be associated with various input capturing devices such as a microphone for capturing the voice based inputs, and an image capturing unit for capturing movements/facial expressions/gestures made by the user101, during conversation/dialog between the user101and the task management system103.

In an embodiment, the requirement identification module221may be used for processing the user input102received from the user101for extracting the one or more requirements211from the user input102. In an implementation, the requirement identification module221may function as a text parser, which is capable of parsing the user input102to identify one or more task-specific keywords, and other objects of interest in the user input102. Specifically, the one or more objects of interest that relate to verbs (actions) and objects (on which the actions are being performed) may be extracted from the user input102. For example, suppose the user input102is a query such as—“How do I develop a system to paint the walls?”. Here, the phrase “to paint” may be considered as a verb, and the word “wall” may be considered as the object of interest.

Further, the requirement identification module221may associate an action frame for each of the one or more task-specific keywords extracted from the user input102, for storing all information relevant to the one or more task-specific keywords. In an embodiment, the action frame may have one or more fields, which needs to be populated based on information relevant to the one or more task-specific keywords in the user input102. For example, when the user input102is—‘paint the wall’, an action frame may be invoked for the identified task-specific keyword which is “paint”. Further, the action frame may have multiple fields such as colour of the paint, location of the wall (determined using a Global Positioning System (GPS) sensor and/or using gestures made by the user101, relative to current position of the user101), thickness of paint coating, location where the paint is available and the like. In an embodiment, the one or more fields of the action frame may be populated during the course of dialog/conversation between the user101and the task management system103.

In an embodiment, if any of the one or more fields of the action frame are missing, then the requirement identification module221may trigger a query to the user101for providing missing information related to the action frame, until all the fields of the action frame are completely filled with relevant information. Further, when a new requirement may have to be added into the task, the requirement identification module221may define a new action frame for collecting information related to the new requirement. The above process may be performed during training and development of the task management system103.

In an embodiment, the resource collection module223may be used for retrieving the plurality of resources from the configuration repository105based on the one or more requirements211extracted from the user input102. The resource collection module223may analyse each of the one or more task-specific keywords in the one or more requirements211to pick up the one or more software modules and the one or more hardware components required for implementing the one or more requirements211. Further, when a particular resource may not be available in the configuration repository105, the resource collection module223may identify one or more alternative resources and notify the user101about availability of the alternative resources. For example, for the task of painting, the alternatives may be selected among drones, human beings and robots.

In an embodiment, upon identifying and locating each of the plurality of resources107, the resource collection module223may determine task-specific attributes of the plurality of resources107for an effective integration among the plurality of resources107. For example, in case of ‘painting the wall’ task, the ‘Drone’ resource must be able to carry paint to the location of the wall for painting the wall. Hence, the task-specific attributes of the resource ‘Drone’ may include a paint carrier for carrying the paint, a spray nozzle for spraying the colour on the wall, and a control software for controlling movement of the drone, and the spray nozzle. In an embodiment, each of the plurality of resources107may be configured according to the task-specific attributes, before they are retrieved onto the task management system103.

In an embodiment, the action sequence generator225may be used for generating the one or more action sequences213for performing the task by integrating each of the plurality of resources107. Initially, the action sequence generator225may determine events that include information related to the one or more hardware components, the one or more software modules, one or more inputs/triggers to the plurality of resources107, data associated with the plurality of resources107and the like. Subsequently, the action sequence generator225may integrate the plurality of resources107based on the events for generating the one or more action sequences213.

In an embodiment, the action sequence generator225may integrate the plurality of resources107in accordance with following one or more parameters:

A predetermined reference integration design provided by the user101, or obtained from external resources such as Internet.

Historical data related to the one or more similar tasks, and similar requests received from the user101in the past.

Metadata associated with the plurality of resources107. The metadata may be useful in deciding various aspects such as where to get the input for the plurality of resources107, where to connect output of the plurality of the resources, and sequence of actions happening within the plurality of resources107.

Nature of the input to the plurality of resources107. For example, it may be appropriate to integrate a resource that accepts a ‘video’ as the input with an image/video capturing resource.

Hypothetical analysis and/or reason based analogies related to the task. In an embodiment, a set of hypotheses may be generated around each sentence and/or each task-specific keyword uttered by the user101for building an effective action sequence. For example, if user101says—‘I want to paint the walls’, then the hypothetical analysis of utterance of the user101reveals that the paint should reach the wall. Hence, for generating the action sequence, different ways of reaching the wall may be determined. For example, in the above case, the hypothetical analysis indicates that the wall may be reached with the help of a ladder, an aeroplane, a rocket, helicopter or a drone. However, the drone may be used for the purpose as the drones are small and economical in nature.

In an embodiment, the action sequence generator225may generate more than one action sequences213for the same task. However, one of the multiple action sequences213may be chosen for implementing the task based on cost associated with each of the one or more action sequences213. For example, in case of the painting task, the costs per resource per addition of each layer of coating of the paint may be an important criteria for deciding an optimal action sequence. Further, if an action sequence includes execution loops, then the cost may have to be multiplied multiple times. Hence, selection of one of the action sequence among the one or more action sequences is important, and the selection may be made based on various parameters such as a cost function associated with each of the plurality of resources107, time required/taken for execution of the action sequence, and its computational complexity.

In an embodiment, the simulation module226may be responsible for generating the simulated model109of the task by implementing one of the one or more action sequences213selected for implementing the task. The simulation module226may connect each of the plurality of resources107via simulations for building the task intended by the user101. Further, expected behavior and features of the one or more hardware components may be used in the simulated model109before providing the simulated model109for the user101. Finally, during actual deployment of the task, the user101may be advised to replace the plurality of resources107, specifically, the one or more hardware components used in the simulated model109, with actual resources.

In an embodiment, the simulated model109generated by the simulation module226may be provided and/or rendered to the user101using an appropriate Virtual Reality (VR) based technique. For example, the user101may be advised to wear a VR headgear or suitable VR gadget to experience the simulated model109. This allows the user101to point to any object in the simulated model109and ask queries or suggest modifications for the object in the form of the user feedback111.

In an implementation, the user feedback111may be provided through a user interface associated with the task management system103and may include a conversation with the task management system103. The user feedback111may involve fine-tuning of values in the action frames or configuration files of the plurality of resources107. For example, while painting the wall, the user101may want the coating to be dark where the wall is directly exposed to sunlight. The specific requirements211like these may be indicated to the task management system103for fine-tuning the implementation of the task.

In an embodiment, the simulation module226may re-generate the simulated model109each time the user101suggests one or more modifications or specifies a new requirement in the simulated model109and provide a modified simulated model109to the user101for validating the simulated model109, thus modified. Finally, upon receiving the user101approval for the simulated model109, a task specific profile may be created and stored in the task management system103for using it at the time of actual deployment of the selected action sequence.

In an embodiment, the task implementation module227may be used for performing actual implementation of the task, upon successful validation of the simulated model109. The implementation module may be responsible for integrating and deploying the plurality of resources107based on configurations used in the simulated model109. Further, when the plurality of resources107required for implementing the task are not available at the task management system103, one or more service providers may be contacted for supplying each of the plurality of resources107. In an implementation, consumable resources such as paint, water and the like, may be provided by the user101.

In an embodiment, the user101may be allowed to monitor the implementation of the task, when the task is being executed. Here, the user101may view results in real-time and instruct minor modifications in the implementation process through the user interface or through voice-based commands system. The modifications, thus received in real-time, may be incorporated to the implementation process in real-time. For example, if a cleaning robot is not cleaning the painted area properly or is unable to differentiate what to retain and what to discard, the user101may provide feedback for fine-tuning the operation of the cleaning robot.

In an embodiment, task management system103may be capable of self-learning the one or more modifications suggested by the user101during validation of the simulated model109or implementation of the task, using a plurality of techniques such as deep reinforcement learning, reinforcement learning and the like. Accordingly, the task specific profiles stored on the task management system103may be updated and stored as a reference for implementation of future tasks.

Use Case Scenario—1:

Suppose, a user A wants to develop a system to paint a wall. The user A may use the task management system103of the present disclosure for implementing the task by invoking an application, such as a mobile application of the task management system103. The application may open into a User Interface [UI] that allows the user A to select painting application. Once the user A selects the painting application, corresponding conversation engine in the task management system103may start a conversation with the user A to know the one or more requirements211of the user A. Further, the user A may describe his requirements211viz., color of the paint, thickness of coating, and the like. In some instances, the task management system103, through the UI, may interrupt the user A and prompt the user A to provide any missing information that may be necessary for implementing the task. For example, the task management system103may prompt the user A to specify the location of the wall.

Subsequently, upon understanding the requirements211of the user A, the task management system103may choose the plurality of resources107, integrate them together into a simulated model109, and render the simulated model109to the user A to get the feedback from user A. If the user A accepts how the wall looks after painting, the user may give an approval and/or an execution command. Thereafter, a service provider associated with the task management system103may send the required resources to the location of the wall for painting the wall. Alternatively, suppose if the user A does not like the color of the paint as seen in the simulated model109, then the user A may provide user feedback111for suggesting a correction in the color of paint, through the UI. Based on the user feedback111, the task management system103may regenerate the simulated model109and render it to the user A for his approval.

Use Case Scenario—2:

Consider a scenario wherein, a user B wants to find all photos in which he is present from a database of photos. The user B may instruct the same to the task management system103, by invoking an application, such as a mobile application of the task management system103. Based on user instruction, the task management system103may retrieve an appropriate face detection technique from a set of techniques available on the configuration repository105. Subsequently, the task management system103may generate a workflow, which includes various activities such as face detection, and sorting of images of interest to a folder, using the action sequence generator225.

Further, suppose the user B instructs the task management system103to separate all the images, in which his new car is seen from all other photos stored on the database of photos. Here, the workflow generated by the action sequence generator225may be slightly modified. For example, in the above scenario, the task management system103may retrieve a Convolutional Neural Network (CNN) based object detection technique from the configuration repository105, for detection of the car object in the photos. Subsequently, all the photos having new car of the user B may be segregated and provided to the user B. Thus, the task management system103is capable of automatically selecting appropriate resources and techniques required for implementing a task intended by the user B.

FIG. 3shows a flowchart illustrating a method of performing a task based on user input102in accordance with some embodiments of the present disclosure.

As illustrated inFIG. 3, the method300includes one or more blocks illustrating a method of performing a task based on user input102using a task management system103for example, the task management system103shown inFIG. 1. The method300may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform specific functions or implement specific abstract data types.

At block301, the method300includes extracting, by the task management system103, one or more requirements211from the user input102. In an embodiment, the user input102may correspond to the task intended by a user101. As an example, the user input102may be at least one of a voice input and a text input.

In an embodiment, the one or more requirements211may be extracted from the user input102by capturing one or more task-specific keywords from the user input102. Subsequently, each of the one or more task-specific keywords may be mapped with one or more predetermined action frames for identifying one or more missing information in the user input102. In an embodiment, the user101may be prompted for providing the one or more missing information.

At block303, the method300includes retrieving, by the task management system103, plurality of resources107required for performing the task based on the one or more requirements211. In an embodiment, the plurality of resources107may include one or more software modules and one or more hardware components, retrieved from a configuration repository105associated with the task management system103.

At block305, the method300includes generating, by the task management system103, one or more action sequences213for performing the task by integrating each of the plurality of resources107. In an embodiment, each of the plurality of resources107may be integrated based on one or more parameters including a predetermined reference integration design, historical data related to similar tasks, metadata associated with one or more software modules and one or more hardware components, nature of the user input102, and hypothetical analysis related to the task.

At block307, the method300includes providing, by the task management system103, a simulated model109to the user101for receiving one or more user feedback111. In an embodiment, the simulated model109may be generated by implementing the one of the one or more action sequences213in a virtual environment. As an example, the one of the one or more action sequences213may be selected based on predetermined factors such as costs associated with the one or more action sequences213.

At block309, the method300includes implementing, by the task management system103, the one of the one or more action sequences213based on the one or more user feedback111for performing the task. As an example, the one or more user feedback111may include one or more modifications for the one of the one or more action sequences213, or an approval for implementing the one of the one or more action sequences213. In an embodiment, the task management system103may incorporate each of the one or more modifications to the one of the one or more action sequences213before implementing the one of the one or more action sequences213.

Computer System

FIG. 4illustrates a block diagram of an exemplary computer system400for implementing embodiments consistent with the present disclosure. In an embodiment, the computer system400may be task management system103, which may be used for performing a task based on user input102. The computer system400may include a central processing unit (“CPU” or “processor”)402. The processor402may comprise at least one data processor for executing program components for executing user- or system-generated business processes. A user101may include a person, a user101in the computing environment100, or any system/sub-system being operated parallel to the computer system400. The processor402may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.

In some embodiments, the processor402may be disposed in communication with a communication network409via a network interface403. The network interface403may communicate with the communication network409. The network interface403may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), Transmission Control Protocol/Internet Protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. Using the network interface403and the communication network409, the computer system400may communicate with the user101to receive user input102and/or user feedback111from the user101. Further, the communication network409may be used to connect to a configuration repository105associated with the computer system400to retrieve plurality of resources107required for performing the task.

The communication network409can be implemented as one of the several types of networks, such as intranet or Local Area Network (LAN) and such within the organization. The communication network409may either be a dedicated network or a shared network, which represents an association of several types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the communication network409may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.

The memory405may store a collection of program or database components, including, without limitation, user/application406, an operating system407, a web browser408, and the like. In some embodiments, computer system400may store user/application data406, such as the data, variables, records, etc. as described in this invention. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle® or Sybase®.

Advantages of the embodiment of the present disclosure are illustrated herein.

In an embodiment, the present disclosure discloses a method for performing tasks intended by the user based on user input, which is in the form of natural language.

In an embodiment, the method of present disclosure is capable of automatically selecting right kind of resources for accomplishing the tasks intended by the user.

In an embodiment, the method of present disclosure is capable of dynamically translating a natural language dialogue description into a machine-level solution for implementing the tasks intended by the user.

In an embodiment, the method of present disclosure generates multiple action sequences, and dynamically selects an optimal action sequence among the multiple action sequences for implementing the task, thereby reducing costs associated with the implementation of the tasks intended by the user.

In an embodiment, the method of present disclosure helps in reducing overall time required by a skilled professional for designing and implementing a task.

In an embodiment, the present disclosure generates a simulated model, prior to actual implementation of the task, due to which usage of resources of processor may be reduced in comparison to the resources required by the processor for executing the task multiple times in reality to perform the task as intended by the user.

The terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless expressly specified otherwise. The enumerated listing of items does not imply that any or all the items are mutually exclusive, unless expressly specified otherwise.