System and method for generating a response on a system query
The chatbot response system simplifies system-related tasks by using NLU and rule-based models to interact with APIs, addressing the complexity and inefficiency of manual navigation in conventional systems, enhancing user experience and efficiency.
Patent Information
- Application Number
- PCT/IN2025/051367
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-28
- Filing Date
- 2025-08-28
- Publication Date
- 2026-03-05
AI Technical Summary
Conventional systems require manual navigation through complex web-based interfaces for tasks like work order creation and report generation, consuming time and effort, and necessitate system knowledge, making them less intuitive and difficult to operate.
A chatbot response system utilizing Natural Language Understanding (NLU) and rule-based models to process user queries, interact with APIs for tasks such as work order creation and report generation, and provide responses through a simplified interface.
Enables quick and intuitive access to system modules without requiring extensive knowledge, reducing operational complexity and improving efficiency by automating interactions with APIs.
Smart Images

Figure IN2025051367_05032026_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR GENERATING A RESPONSE ONASYSTEM QUERYTECHNICAL FIELD
[0001] The embodiments of the present disclosure generally relate to the field of communication systems. More particularly, the present disclosure relates to an Application Programming Interface (API) based chatbot response system for generating a response on a system query and a method thereof.BACKGROUND OF THE INVENTION
[0002] The subject matter disclosed in the background section should not be assumed or construed to be prior art merely due to its mention in the background section. Similarly, any problem statement mentioned in the background section or its association with the subject matter of the background section should not be assumed or construed to have been previously recognized in the prior art.
[0003] With a rapid advancement in the field of communication networks and systems, the complexity of system related task has increased significantly. The system related tasks include tasks such as work order creation, report generation, or navigation. These tasks are conducted via web-based interfaces or integrated platforms.
[0004] In conventional systems, users are required to navigate manually through complex web-based interfaces in order to access modules for work order creation and report generation. The manual navigation involves multiple steps and interactions with various system components thereby consumes a significant time and effort. Further, the users also require a certain level of knowledge with the system to efficiently complete the tasks. Further, capability of the system expands, the web-based interfaces become more layered and less intuitive which leads to increased operational difficulty.
[0005] In light of the aforementioned challenges, there is a need for an improved system and a method that can generate a response on a system query more efficiently.SUMMARY
[0006] The following embodiments present a simplified summary in order to provide a basic understanding of some aspects of the disclosed invention. This summary is not an extensive overview, and it is not intended to identify key / critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
[0007] In an embodiment, a method for generating a response on a query using a chatbot response system is disclosed. The method includes receiving, by an input module, an input including the query from a user via a User Interface (UI). The method further includes processing, by a query processing module, the query using a Natural Language Understanding (NLU) component to extract one or more entities. Further, the method includes identifying, by an analysis module using a rule-based model, an intent of the user based on the extracted one or more entities. Furthermore, the method includes forwarding, by a transmission module, based on the intent and the one or more entities, the query to one or more Application Programming Interface (APIs). Thereafter, the method includes receiving, by a reception module based on the query, data from the one or more APIs. Further, the method includes generating, by a generation module, the response on the query based on the received data from the one or more APIs.
[0008] According to some aspect of the present disclosure, the received data includes at least one of data fetched from the one or more APIs, pre-defined templates, or dynamic content.
[0009] According to some aspect of the present disclosure, the method further includes selecting, by the analysis module, the one or more APIs based on a mapping of the one or more APIs with the intent.
[0010] According to some aspect of the present disclosure, the one or more APIs include at least one of data fetch API, report generation API, or work order creation API.
[0011] According to some aspect of the present disclosure, the method further includes controlling, by a display control module, a display screen to display one of the generated response or an error message on the UI. The error message is displayed if the generation of the response on the query is failed.
[0012] According to some aspect of the present disclosure, the method further includes controlling, by the display control module, the display screen to display a predefined questionnaire to receive feedback of the user on the response.
[0013] According to some aspect of the present disclosure, the method further includes receiving, by the input module, the feedback from the user to identify whether the response is satisfactory or unsatisfactory. Further, the method includes retraining, by a training module, the analysis module based on the feedback indicating that the response is unsatisfactory.
[0014] According to some aspect of the present disclosure, the method further includes determining, by a determination module, an exit condition based on one of the feedback indicating that the response is satisfactory, a user operation indicating completion of task, or a user operation for aborting the task.
[0015] According to some aspect of the present disclosure, the method further includes receiving, by the input module via the UI, a follow up query from the user. Further, the method includes generating, by the generation module, a new response for the follow up query using the chatbot response system based on previous responses and one or more feedback of the user on the previous responses.
[0016] According to some aspect of the present disclosure, the query is for one of creating a work order, generating a report, navigating to a layer, or accessing a module.
[0017] In another embodiment, a chatbot response system for generating a response on a query is disclosed. The system includes an input module configured to receive an input including the query from a user via a User Interface (UI). Further, the system includes a query processing module configured to process the query using a Natural Language Understanding (NLU) component to extract one or more entities. Furthermore, the system includes an analysis module configured to identify, using a rule-based model, an intent of the user based on the extracted one or more entities. Thereafter, the system includes a transmission module configured to forward, based on the intent and the one or more entities, the query to one or more Application Programming Interface (APIs). Further, the system includes a reception module configured to receive, based on the query, data from the one or more APIs. Furthermore, the system includes a generation module configured to generate the response on the query based on the received data from the one or more APIs.BRIEF DESCRIPTION OF DRAWINGS
[0018] Various embodiments disclosed herein will become better understood from the following detailed description when read with the accompanying drawings. The accompanying drawings constitute a part of the present disclosure and illustrate certain non-limiting embodiments of inventive concepts. Further, components and elements shown in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. For the purpose of consistency and ease of understanding, similar components and elements are annotated by reference numerals in the exemplary drawings.
[0019] FIG. 1 illustrates a diagram depicting an environment of a wireless communication network, in accordance with an embodiment of the present invention.
[0020] FIG. 2 illustrates a block diagram of a system for generating a response on a query, in accordance with an embodiment of the present disclosure.
[0021] FIG. 3 illustrates a dataflow diagram of one or more events in generation of the response on the query, in accordance with an embodiment of the present disclosure.
[0022] FIG. 4 illustrates a flow diagram of a method for generating the response on the query using a chatbot response system, in accordance with an embodiment of the present disclosure.
[0023] FIG. 5 illustrates a schematic block diagram of a computing system for generating the response on the query, in accordance with an embodiment of the present disclosure.DETAILED DESCRIPTION OF THE INVENTION
[0024] Inventive concepts of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of one or more embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Further, the one or more embodiments disclosed herein are provided to describe the inventive concept thoroughly and completely, and to fully convey the scope of each of the present inventive concepts to those skilled in the art. Furthermore, it should be noted that the embodiments disclosed herein are not mutually exclusive concepts. Accordingly, one or more components from one embodiment may be tacitly assumed to be present or used in any other embodiment.
[0025] The following description presents various embodiments of the present disclosure. The embodiments disclosed herein are presented as teaching examples and are not to be construed as limiting the scope of the present disclosure. The present disclosure should in no way be limited to the illustrative implementations,drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified, omitted, or expanded upon without departing from the scope of the present disclosure.
[0026] The following description contains specific information pertaining to embodiments in the present disclosure. The detailed description uses the phrases “in some embodiments” or “some implementations” which may each refer to one or more or all of the same or different embodiments or implementations. The term “some” as used herein is defined as “one, or more than one, or all.” Accordingly, the terms “one,” “more than one,” “more than one, but not all” or “all” would all fall under the definition of “some.” In view of the same, the terms, for example, “in an embodiment” or “in an implementation” refers to one embodiment or one implementation and the term, for example, “in one or more embodiments” refers to “at least one embodiment, or more than one embodiment, or all embodiments”. Further, the term, for example, “in one or more implementations” refers to “at least one implementation, or more than one implementation, or all implementations.
[0027] The term “comprising,” when utilized, means “including, but not necessarily limited to;” it specifically indicates open-ended inclusion in the so- described one or more listed features, elements in a combination, unless otherwise stated with limiting language. Furthermore, to the extent that the terms “includes,” “has,” “have,” “contains,” and other similar words are used in the detailed description, such terms are intended to be inclusive in a manner similar to the term “comprising.”
[0028] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features.
[0029] The description provided herein discloses exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing any of the exemplary embodiments. Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it may be understood by one of the ordinary skilled in the art that the embodiments disclosed herein may be practiced without these specific details.
[0030] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein the description, the singular forms "a", "an", and "the" include plural forms unless the context of the invention indicates otherwise.
[0031] The terminology and structure employed herein are for describing, teaching, and illuminating some embodiments and their specific features and elements and do not limit, restrict, or reduce the scope of the present disclosure. Accordingly, unless otherwise defined, all terms, and especially any technical and / or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having ordinary skill in the art.
[0032] The term “query” in the entire disclosure may refer to an input given by a user to access specific module within a system, retrieve specific data from a database of the system, create a work order in the system, or perform a task within the system.
[0033] The term “Natural Language Understanding (NLU) component” in the entire disclosure may refer to a module that interpret the input given by the user and extract one or more entities from the input. The NLU component may include any semantic or contextual analysis module.
[0034] The term “one or more entities” in the entire disclosure may refer to specific pieces of information or data extracted from the input given by the user by usingthe NLU component. The one or more entities are used as key component to understand intent of the user query.
[0035] The term “rule-based model” in the entire disclosure may refer to a framework that operates by applying a set of rules and produces output or make decisions.
[0036] An aspect of the present disclosure is to provide a system and a method for generating a response on a query using an Application Programming Interface (API) based chatbot response system (hereinafter referred to as “chatbot response system” or “system”) that enables a user to navigate to a web application page from chatbot panel, thereby enabling quick access to the system.
[0037] Another aspect of the present disclosure is to provide the chatbot response system for solving system related queries based on an input from the user. The chatbot response system is trained with different input values. The chatbot response system identifies key parameters from the on the queries inputted by the user. The key parameters are then put into intents to train them for system related use cases. The chatbot response system may not simply perform the text related operations, but also, make use of system related APIs for creating work order, fetching existing work orders of system based on its due date and status, fetching already generated reports, and creating the reports. Further, the chatbot response system navigates to a web application page from chatbot panel, enabling quick access to the system.
[0038] Another aspect of the present disclosure is to provide the chatbot response system which can provide a response on simple keywords. The user may initiate a task with simple keywords and move towards completing the task based on user’s interaction with the chatbot response system. Therefore, the chatbot response system enables the user to perform the task in case of less or no knowledge about the modules or the navigation, service, components / resources available for the task.
[0039] Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. FIG. 1 to FIG. 5, discussed below,and the one or more embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.
[0040] FIG. 1 illustrates a diagram depicting an environment of a wireless communication network 100, in accordance with an embodiment of the present invention. The embodiment of the wireless communication network 100 shown in FIG. 1 is for illustration only. Other embodiments of the wireless communication network 100 may be used without departing from the scope of this disclosure.
[0041] The wireless communication network 100 may include various components such as a network 102, a user device 104, an application server 106, a database 108, processing modules 110, and other devices 112.
[0042] The network 102 may include suitable logic, circuitry, and interfaces that may be configured to provide several network ports and several communication channels for transmission and reception of data related to operations of various entities of the wireless communication network 100. Each network port may correspond to a virtual address (or a physical machine address) for transmission and reception of the communication data. For example, the virtual address may be an Internet Protocol Version 4 (IPV4) (or an IPV6 address) and the physical address may be a Media Access Control (MAC) address. The network 102 may be associated with an application layer for implementation of communication protocols based on one or more communication requests from the various entities of the wireless communication network 100. The communication data may be transmitted or received via the communication protocols. Examples of the communication protocols may include, but are not limited to, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Domain Network System (DNS) protocol, Common Management Interface Protocol (CMIP), Transmission Control Protocol and Internet Protocol(TCP / IP), User Datagram Protocol (UDP), Long Term Evolution (LTE) communication protocols, or any combination thereof. In some aspects of the present disclosure, the communication data may be transmitted or received via at least one communication channel of several communication channels in the network 102. The communication channels may include, but are not limited to, a wireless channel, a wired channel, a combination of wireless and wired channel thereof. The wireless or wired channel may be associated with a data standard which may be defined by one of a Local Area Network (LAN), a Personal Area Network (PAN), a Wireless Local Area Network (WLAN), a Wireless Sensor Network (WSN), Wireless Area Network (WAN), Wireless Wide Area Network (WWAN), a metropolitan area network (MAN), a satellite network, the Internet, an optical fiber network, a coaxial cable network, an infrared (IR) network, a radio frequency (RF) network, and a combination thereof. Aspects of the present disclosure are intended to include or otherwise cover any type of communication channel, including known, related art, and / or later developed technologies.
[0043] The user device 104 may communicate with the application server 106 (hereinafter also referred to as “server 106”) and with various other components of the wireless communication network 100 (such as a base station, a core network, and in an external user device) via the network 102 using a communication technique, such as 2ndGeneration (2G) communication technology, 3rd Generation (3G) communication technology, Long Term Evolution (LTE), 4th Generation (4G) LTE, 5th Generation (5G) / New Radio (NR), Long Term Evolution Advanced (LTE-A), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Fidelity (Wi-Fi), or other wireless communication techniques with multiple bands and carriers of telecom operators. Typically, the term “user device” can refer to any component such as “mobile station”, “subscriber station”, “remote terminal”, “wireless terminal”, “User Equipment”, “end user device”, or the like. The user device 104 may include smartphones, tablets, laptops, or desktop computers.
[0044] The application server 106 may be a physical machine, a virtual machine in a cloud environment a network of computers, a software framework, or acombination thereof, that may provide a generalized approach to create a server implementation. Examples of the application server 106 may include, but are not limited to, personal computers, laptops, mini -computers, mainframe computers, any non-transient and tangible machine that can execute a machine-readable code, cloud-based servers, distributed server networks, or a network of computer systems. The application server 106 may be realized through various web-based technologies such as, but not limited to, a Java web -framework, a .NET framework, a personal home page (PHP) framework, or any web-application framework.
[0045] The database 108 may store data received from network components of the wireless communication network 100. The database 108 may include external databases including relational and non-relational databases. The database 108 may store predefined templates to be presented to the user, dynamic content generated by the chatbot response system, and details of work order created by the application server 106. The database 108 may be a part of the application server 106 or may be outside the application server 106. The database 108 may be a cloud-based storage on a cloud server.
[0046] The processing modules 110 may comprise a central processing unit (CPU) and a graphics processing unit (GPU) for performing generation of a response of a system query. The CPU may also be referred to as processor. The processor may include one or more general purpose processors and / or one or more special purpose processors, a microprocessor, a digital signal processor, an application specific integrated circuit, a microcontroller, a state machine, or ay any type of programmable logic array.
[0047] The other devices 112 may include devices such as web server which includes software applications or interfaces that run on the user device 104 to communicate with the application server 106. The web server may be a web browser or a web User Interface (UI) enabling the user to input a query to the application server 106.
[0048] FIG. 2 illustrates a block diagram of a system 200 for generating a response on a query, in accordance with an embodiment of the present disclosure. The embodiment of the system 200 as shown in FIG. 2 is for illustration only. However, the system 200 may come in a wide variety of configurations, and FIG. 2 does not limit the scope of the present disclosure to any particular implementation of the system 200.
[0049] As shown in FIG. 2, the system 200 includes the application server 106 including an Input-Output (I / O) interface 202, one or more processors 204 (hereinafter may also be referred to as “processor 204”), a memory 206, a network communication manager 208, a console host 210, a database 108, and the processing modules 110. Components of the application server 106 are coupled to each other via a communication bus 230. It is to be noted that the “system” may also be referred to as “API based chatbot response system” or “chatbot response system” interchangeably throughout this disclosure without departing from the scope of the disclosure.
[0050] The VO interface 202 may include suitable logic, circuitry, interfaces, and / or codes that may be configured to receive input(s) and present (or display) output(s) on the application server 106. For example, the I / O interface 202 may have an input interface and an output interface. The input interface may be configured to enable a user to provide input(s) to trigger (or configure) the application server 106 to perform various operations for generating the response on the query, such as but not limited to, configuring the application server 106 to receive the query from the user. The query may be ae system related query for creating a work order, generating a report, navigating to a layer, or accessing a module. Examples of the input interface may include, but are not limited to, a touch interface, a mouse, a keyboard, an interactive User Interface (UI), a gesture recognition unit, a voice recognition unit, or the like. Aspects of the present disclosure are intended to include or otherwise cover any type of the input interface including known, related art, and / or later developed technologies without deviating from the scope of the present disclosure. The output interface is configured to control the user device 104 to display aresponse on the query from the user. Examples of the output interface of the I / O interface 202 may include, but are not limited to, a display screen, a touch screen display, an appearance of a desktop, and / or illuminated characters.
[0051] The processor 204 may include various processing circuitry and communicates with the memory 206, the network communication manager 208, the console host 210, and the database 108 via the communication bus 230. The processor 204 is configured to execute instructions 206A (hereinafter also referred to as “a set of instructions 206A”) stored in the memory 206 and to perform various processes. The processor 204 may include one or a plurality of processors, including a general-purpose processor, such as, for example, and without limitation, a central processing unit (CPU), an application processor (AP), a dedicated processor, a graphics-only processing unit such as a graphics processing unit (GPU) or the like, a programmable logic device, or any combination thereof.
[0052] The memory 206 stores the set of instructions 206A required by the processor 204 of the application server 106 for controlling its overall operations. The memory 206 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. In addition, the memory 206 may, in some examples, be considered a non-transitory storage medium. The "non-transitory" storage medium is not embodied in a carrier wave or a propagated signal. However, the term "non-transitory" should not be interpreted as the memory 206 is non-movable. In some examples, the memory 206 may be configured to store larger amounts of information. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache). The memory 206 may be an internal storage unit or an external storage unit of the application server 106, cloud storage, or any other type of external storage. In certain examples, the memory 206 configured as the non-transitory storage medium may include hard drives, solid- state drives, flash drives, Compact Disk (CD), Digital Video Disk (DVD), and thelike. Further, the memory 206 may include any type of non-transitory storage medium, without deviating from the scope of the present disclosure.
[0053] More specifically, the memory 206 may store computer-readable instructions including instructions that, when executed by a processor (e.g., the processor 204) cause the application server 106 to perform various functions described herein. In some cases, the memory 206 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
[0054] The network communication manager 208 may manage communications with the user device 104 (e.g., via one or more wired backhaul links). For example, the network communications manager 208 may manage the transfer of data communications for the user device 104. The network communication manager 208 may include an electronic circuit specific to a standard that enables wired or wireless communication. The network communication manager 208 is configured for communicating with external devices via one or more networks.
[0055] The console host 210 may include suitable logic, circuitry, interfaces, and / or codes that may be configured to enable the VO interface 202 to receive input(s) and / or render output(s). In some aspects of the present disclosure, the console host 210 may include suitable logic, instructions, and / or codes for executing various operations of one or more computer executable applications to host a console on an external user device, by way of which a user can trigger the application server 106 to receive the input from the user. In some other aspects of the present disclosure, the console host 210 may provide a Graphical User Interface (GUI) for the application server 106 for user interaction.
[0056] The database 108 may include external databases including the relational and the non-relational databases. The database 108 may store predefined templates to be presented to the user, the dynamic content generated by the system 200, and details of the work order created by the application server 106.
[0057] The processing module(s) 110 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the application server 106. In non-limiting examples, described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing modules(s) 110 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor 204 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine- readable storage medium may store instructions that, when executed by the processing resource, implement the processing module(s) 110. In such examples, the application server 106 may also comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the application server 106 and the processing resource. In other examples, the processing module(s) 110 may be implemented using an electronic circuitry.
[0058] The processing modules 110 include an input module 212, a query processing module 214, an analysis module 216, a transmission module 218, a reception module 220, a generation module 222, a display control module 224, a training module 226, and a determination module 228.
[0059] The processor 204, using the input module 212, may receive an input including the query from the user via the UI. The UI may be the web User UI, the GUI provided by the console host 210, or the interactive UI of the I / O interface 202. For instance, the query is received for one of creating the work order, generating the report, navigating to an application layer, or accessing one module among system modules. In a non-limiting example, the system modules may include work order creation module, report generation module, or a navigation module. The processor 204, using the input module 212, may also receive a follow up query from the user.
[0060] Further, the processor 204, using the query processing module 214, may process the query using a Natural Language Understanding (NLU) component to extract one or more entities. The NLU component processes the query received from the user and extracts one or more entities from the query. For example, if the query include a text for fetching a particular data from the database 108, the NLU component process the text and identify one or more keywords from the text. The one or more keywords are the words required to understand an intent of the user. For example, the keyword may be “search”, “database”, or “name of particular file”.
[0061] Further, the processor 204, using the analysis module 216, may identify the intent of the user based on the extracted one or more entities. The analysis module 216 may use a rule-based model to identify the intent of the user. The intent of the user may correspond to an action user want to take by inputting the query. For example, the intent may be searching over the database 108, or work order creation, or accessing any module. Also, the analysis module 216 may select the one or more APIs to transfer the query based on the identified intent and the one or more entities. For instance, the analysis module 216 is configured to select the one or more APIs based on a mapping of the one or more APIs with the intent. In a non-limiting example, if the intent of the user is work order creation than the user work order creation API may be selected. The work order may be then created based on the extracted one or more entities of the query. The mapping may be a one-to-one predefined correspondence of the APIs and the intent.
[0062] Further, the processor 204, using the transmission module 218, may forward the query to one or more APIs selected by the analysis module 216. In a non-limiting example, the one or more APIs may include at least one of data fetch API, report generation API, or work order creation API. The one or more APIs processes a task given in the query and output data.
[0063] Further, the processor 204, using the reception module 220, may receive the data from the one or more APIs. In a non-limiting example, the received datamay include at least one of data fetched from the one or more APIs, pre-defined templates, or dynamic content. In a non-limiting example, the pre-defined templates may be a predefined structure, data, or format that is created in advance for a repetitive task. The pre-defined templates are created to ensure consistency and reduce time spend on creating content. Further, dynamic content may be a web or system content that changes in real time based on user interaction.
[0064] Further, the processor 204, using the generation module 222, may generate the response on the query based on the received data from the one or more APIs. Also, when the follow up query is received by the user, the processor 204 may generate a new response for the follow up query. The response on the follow up query may be generated based on previous responses and one or more feedback of the user on the previous responses. For example, if a content was created using the data fetch API, then with a user follow up query the content may be dynamically updated or a new content may be generated.
[0065] In one or more embodiment, the processor 204, using the input module 212 may receive feedback from the user to identify whether the response is satisfactory or unsatisfactory. Upon identification that the response is unsatisfactory, the processor 204, using the training module 226, may retrain the analysis module 216. In a non-limiting example, the retaining of the analysis module may refer to updating of at least one of the rule-based model or the mapping of the one or more APIs with the intent.
[0066] Further, the processor 204, using the display control module 224, may control a display screen to display one of the generated response or an error message on the UI The error message is displayed if the generation of the response on the query is failed. For example, the error message stating that “ generational of response is failed” or “ please reenter the query” may be displayed. Also, the processor 204, using the display control module 224, may control the display screen to display a predefined questionnaire to receive the feedback of the user on the response.
[0067] Further, the processor 204, using the determination module 228, may determine an exit condition based on one of the feedback indicating that the response is satisfactory, a user operation indicating completion of task, or a user operation for aborting the task. The exit condition may refer to a set of criteria when met, cause the chatbot response system to terminate its execution. For example, if the user provides the input indicating that the response is satisfactory the determination module 228 may identify that the exit condition and terminate a current session with the chatbot response system.
[0068] Although FIG. 2 illustrates one example of the system 200, various changes may be made to FIG. 2. Further, the system 200 may include any number of components in addition to those shown in FIG. 2, without deviating from the scope of the present disclosure. Further, various components in FIG. 2 may be combined, further subdivided, or omitted and additional components may be added according to particular needs. For example, in some aspects of the present disclosure, the application server 106 may be coupled to an external database that provides data storage space to the application server 106.
[0069] FIG. 3 illustrates a dataflow diagram of one or more events 300 in generation of the response on the query, in accordance with an embodiment of the present disclosure. The one or more events 300 comprises a series of operation events indicated by blocks 302 through 320.
[0070] At block 302, the user opens the UI of the chatbot response system 200 and provides the input to via the UI. The input module 212 may receive the input and send the input to the query processing module 214. The input includes the query from the user for one of creating the work order, generating the report, navigating to a specific layer, or accessing an specific module.
[0071] At block 304, the query processing module 214 may extract the one or more entities form the query. The query processing module 214 extracts the one or more entities using the NLU component. Further, the analysis module 216 may identify the intent of the user based on the extracted one or more entities. Additionally, thequery processing module 214 may also preprocess the input or may perform tokenization. The tokenization may refer to breaking the query into small text called tokens. The NLU component uses these tokens as input and outputs the one or more entities. For example, if the user query state “ navigate to module X”, the query processing module 214 breaks the query is small token as [“navigate”], [“to”], [“module”], [“X”]. Further, the query processing module 214 processes each token to determine intent as “accessing an specific module” and other entities for example “X as a module name where to navigate”, block 306, the analysis module 216 may select the one or more APIs to handle the query based on the identified intent and the one or more entities. The one or more APIs are selected using predefined endpoints and parameters, or the mapping of the one or more APIs with the intent.
[0072] At block 308, a backend API call is executed to select one of the one or more APIs. The transmission module 218 may send the query to the one or more APIs to fetch the data and perform actions based on the intent and the one or more entities.
[0073] At block 310, the one or more APIs may fetch data from the database 108 or from an external database. The one or more APIs may further extract the predefined templates and the dynamic content to be presented to the user. The reception module 220 may receive the response from the one or more APIs and then parses the response from the one or more APIs to retrieve the data.
[0074] At block 312, the generation module 222 may generate the response based on at least one of the data fetched from the one or more APIs, the pre-defined templates, or the dynamic content.
[0075] At block 314, the display control module 224 may control the display screen to display the generated response on the UI. Further, the display control module 224 may also control the display screen to display a predefined questionnaire to the user. The predefined questionnaire may include a feedback query to the user to generate a specific response. For example, if the query includes a request to fetch a report, then the feedback query may include request foradditional parameters such as whether the user wants the report for a week, a day, or a month.
[0076] In one or more embodiments, the predefined questionnaire may include user feedback on the generated response to identify whether the generated response is satisfactory or unsatisfactory. In one or more other embodiments, the processing modules 110 may monitor user interaction with the chatbot response system 200 to identify whether the generated response is satisfactory or unsatisfactory. In a case when it is determined that the generated response is unsatisfactory, the chatbot response system 200 may retain the analysis module 216 to improve responses in future iterations.
[0077] In one or more embodiments, the determination module 228 may determine an exit condition based on one of the user feedback indicating that the response is satisfactory, the user operation indicating completion of the task, or the user operation for aborting the task. The determination module 228 may terminate the flow of the one or more events 300 based on the exit condition is satisfied.
[0078] Further, at block 316, if the execution of the backend API call is failed and no API among the one or more APIs is selected, the processing modules 110 may generate an error message to be displayed on the display screen. In a non-limiting example, the error message may state that “backend API call execution is failed”.
[0079] Further, if at block 316, the processing modules 110 fails to extract the one or more entities form the query, the flow of one or more events 300 moves to block 318. At block 318, the processing modules 110 performs error handling mechanism and generates a fallback message. At blocks 320, the fallback message is displayed at the UI. The fallback message is displayed at the UI to guide the user to recover from the error.
[0080] In one or more embodiments, the processing modules 110 may receive, via the UI, a follow up query from the user. Further, the processing modules 110 maygenerate the new response for the follow up query using the chatbot response system 200.
[0081] In one or more embodiments, the chatbot response system 200 may integrate with multiple APIs simultaneously to manage a request of the user. The response system 200 may manage API authentication, rate limiting, and other integration- related tasks.
[0082] FIG. 4 illustrates a flow diagram of a method 400 for generating the response on the query using the chatbot response system 200, in accordance with an embodiment of the present disclosure. The method 400 comprises a series of operation steps performed by the system 200. The operation steps are indicated by blocks 402 through 412.
[0083] At block 402, the input module 212 may receive the input from the user via the UI. The input includes the query from the user for one of creating the work order, generating the report, navigating to the specific layer, accessing the specific module, or performing one or more tasks.
[0084] At block 404, the query processing module 214 may process the query using NLU component to extract the one or more entities.
[0085] At block 406, the analysis module 216 may identify the intent of the user based on the extracted one or more entities. The intent of the user is identified using the rule-based model.
[0086] At block 408, the transmission module 218 may forward the query to one or more APIs selected by the analysis module 216. In a non-limiting example, the one or more APIs may include at least one of data fetch API, report generation API, or work order creation API. The one or more APIs processes a task given in the query and output data.
[0087] At block 410, the reception module 220 may receive the data from the one or more APIs based on the query. In a non-limiting example, the received data mayinclude at least one of data fetched from the one or more APIs, pre-defined templates, or dynamic content.
[0088] At block 412, the generation module 222 may generate the response on the query based on the received data from the one or more APIs. Further, the display control module 224 may control the display screen to display the generated response on the UI.
[0089] In one or more embodiment, the input module 212 may receive the follow up query from the user. The system 200, upon receiving the follow up query, may generate the new response for the follow up query.
[0090] FIG. 5 illustrates a schematic block diagram of a computing system 500 for generating the response on the query, in accordance with an embodiment of the present disclosure.
[0091] The computing system 500 includes a network 502, a network interface 504, a processor 506 (similar in functionality to the processor 204 of FIG. 2), an Input / Output (I / O) interface 508 (similar in functionality to the I / O interface 202 of FIG. 2), and a non-transitory computer readable storage medium 510 (hereinafter may also be referred to as the “storage medium 510” or the “storage media 510”). The network interface 504 includes an Ethernet card, Universal Serial Bus (USB), a communication port, or a Personal Computer Memory Card International Association (PCMCIA) slot and card.
[0092] The processor 506 may include various processing circuitry / modules and communicate with the storage medium 510 and the VO interface 508. The processor 506 and the VO interface 508 are configured to perform various steps described above for restricting the user access of the deactivated user in the wireless communication network 100. The processor 506 may include an intelligent hardware device including a general-purpose processor, such as, for example, and without limitation, the CPU, the AP, the dedicated processor, or the like, the graphics-only processing unit such as the GPU, the microcontroller, the FPGA, theprogrammable logic device, the discrete hardware component, or any combination thereof. The processor 506 may be configured to execute computer-readable instructions 510-1 stored in the storage medium 510 to cause the system 200 to perform various functions disclosed throughput the disclosure.
[0093] The storage medium 510 stores a set of instructions i.e., computer program instructions 510-1 (hereinafter may also be referred to as instructions 510-1) required by the processor 506 for controlling its overall operations. The storage media 510 may include an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, or the like. For example, the storage media 510 may include, but are not limited to, hard drives, floppy diskettes, optical disks, ROMs, RAMs, EPROMs, EEPROMs, flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. In one or more embodiments, the storage media 510 includes a Compact Disk-Read Only Memory (CD-ROM), a Compact Disk-Read / Write (CD-R / W), and / or a Digital Video Disc (DVD). In one or more implementations, the storage medium 510 stores computer program code configured to cause the computing system 500 to perform at least a portion of the processes and / or methods disclosed herein throughput the disclosure.
[0094] Embodiments of the present disclosure have been described above with reference to flowchart illustrations of methods and systems according to embodiments of the disclosure, and / or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of the flowchart, and combinations of blocks (and / or steps) in the flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and / or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general-purpose computer or special purpose computer, or other programmableprocessing apparatus to perform a group of operations comprising the operations or blocks described in connection with the disclosed method.
[0095] Further, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer- readable memory or memory devices (for example, the memory 206 or the storage medium 510) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions 510-1 stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s).
[0096] It will further be appreciated that the term “computer program instructions” as used herein refer to one or more instructions that can be executed by the one or more processors (for example, the processor 204 or the processor 506) to perform one or more functions as described herein. The instructions 510-1 may also be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely.
[0097] Now, referring to the technical abilities and advantageous effect of the present disclosure, operational advantages that may be provided by embodiments disclosed herein may include providing a quick navigation to access certain modules such as report creation module, work order creation module, work order fetching module on the basis of status and due date. Further, the disclosed method provides all details that are accessible to user in few clicks through a mobile device. Further, the disclosed chatbot response system navigates to a web application page using both mobile device and a web system, enabling quick access for system related queries. Further, any modification in the disclosed system can be made easily by adding a new intent and training the modules, enabling scaling of the the disclosed chatbot response system without major operational changes. Further, the disclosed method may avoid system level navigation in accessing the certain modules.
[0098] Those skilled in the art will appreciate that the methodology described herein in the present disclosure may be carried out in other specific ways than those set forth herein in the above disclosed embodiments without departing from essential characteristics and features of the present invention. The above-described embodiments are therefore to be construed in all aspects as illustrative and not restrictive.
[0099] The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Any combination of the above features and functionalities may be used in accordance with one or more embodiments.
[0100] In the present disclosure, each of the embodiments has been described with reference to numerous specific details which may vary from embodiment to embodiment. The foregoing description of the specific embodiments disclosed herein may reveal the general nature of the embodiments herein that others may, by applying current knowledge, readily modify and / or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications are intended to be comprehended within the meaning of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and is not limited in scope.LIST OF REFERENCE NUMERALS
[0101] The following list is provided for convenience and in support of the drawing figures and as part of the text of the specification, which describe innovations by reference to multiple items. Items not listed here may nonetheless be part of a given embodiment. For better legibility of the text, a given reference number is recitednear some, but not all, recitations of the referenced item in the text. The same reference number may be used with reference to different examples or different instances of a given item. The list of reference numerals is:100 - Wireless communication network102 - Network104 - User device106 - Application server / Server108 - Database110 - Processing modules112 - Other devices200 - System for generating a response on a query202 - Input / Output (I / O) interface204 - Processor206 - Memory206A - Set of instructions208 - Network communication manager210 - Console host212 - Input module214 - Query processing module216 - Analysis module218 - Transmission module220 - Reception module222 - Generation module224 - Display control module226 - Training module228 - Determination module230 - Communication bus300 - One or more events in generation of the response on the query302-320 - Operation events including in the one or more events 300400 - Method for generating the response on the query402-412 - Operational steps of the method 400500 - Block diagram of a computing system502 - Network504 - Network interface506 - Processor 508 - Input / Output (I / O) interface510 - Non-transitory computer readable storage medium510-1 - Set of instructions
Claims
I / We Claim:
1. A method (400) for generating a response on a query using a chatbot response system (200), the method (400) comprising: receiving, by an input module (212), an input including the query from a user via a User Interface (UI); processing, by a query processing module (214), the query using a Natural Language Understanding (NLU) component to extract one or more entities; identifying, by an analysis module (216) using a rule-based model, an intent of the user based on the extracted one or more entities; forwarding, by a transmission module (218), based on the intent and the one or more entities, the query to one or more Application Programming Interface (APIs); receiving, by a reception module (220) based on the query, data from the one or more APIs; and generating, by a generation module (222), the response on the query based on the received data from the one or more APIs.
2. The method (400) as claimed in claim 1, wherein the received data includes at least one of data fetched from the one or more APIs, pre-defined templates, or dynamic content.
3. The method (400) as claimed in claim 1, comprising selecting, by the analysis module (216), the one or more APIs based on a mapping of the one or more APIs with the intent.
4. The method (400) as claimed in claim 1, wherein the one or more APIs include at least one of data fetch API, report generation API, or work order creation API.
5. The method (400) as claimed in claim 1, comprising controlling, by a display control module (224), a display screen to display one of the generated response or an error message on the UI, wherein the error message is displayed if the generation of the response on the query is failed.
6. The method (400) as claimed in claim 5, comprising controlling, by the display control module (224), the display screen to display a predefined questionnaire to receive feedback of the user on the response.
7. The method (400) as claimed in claim 6, comprising: receiving, by the input module (212), the feedback from the user to identify whether the response is satisfactory or unsatisfactory; and retraining, by a training module (226), the analysis module (216) based on the feedback indicating that the response is unsatisfactory.8 The method (400) as claimed in claim 7, comprising determining, by a determination module (228), an exit condition based on one of the feedback indicating that the response is satisfactory, a user operation indicating completion of task, or a user operation for aborting the task.
9. The method (400) as claimed in claim 1, comprising: receiving, by the input module (212) via the UI, a follow up query from the user; and generating, by the generation module (222), a new response for the follow up query using the chatbot response system (200) based on previous responses and one or more feedback of the user on the previous responses.
10. The method (400) as claimed in claim 1, wherein the query is for one of creating a work order, generating a report, navigating to a layer, or accessing a module.
11. A chatbot response system (200) for generating a response on a query, the system (200) comprising: an input module (212) configured to receive an input including the query from a user via a User Interface (UI); a query processing module (214) configured to process the query using a Natural Language Understanding (NLU) component to extract one or more entities; an analysis module (216) configured to identify, using a rule-based model, an intent of the user based on the extracted one or more entities; a transmission module (218) configured to forward, based on the intent and the one or more entities, the query to one or more Application Programming Interface (APIs); a reception module (220) configured to receive, based on the query, data from the one or more APIs; and a generation module (222) configured to generate the response on the query based on the received data from the one or more APIs.
12. The system (200) as claimed in claim 11, wherein the received data includes at least one of data fetched from the one or more APIs, pre-defined templates, or dynamic content.
13. The system (200) as claimed in claim 11, wherein the analysis module (216) is configured to select the one or more APIs based on a mapping of the one or more APIs with the intent.
14. The system (200) as claimed in claim 11, wherein the one or more APIs include at least one of data fetch API, report generation API, or work order creation API.
15. The system (200) as claimed in claim 11, further comprising a display control module (224) configured to control a display screen to display one of the generated response or an error message on the UI, wherein the error message is displayed if the generation of the response on the query is failed.
16. The system (200) as claimed in claim 15, wherein the display control module (224) is configured to control the display screen to display a predefined questionnaire to receive feedback of the user on the response; the input module (212) is configured to receive the feedback from the user to identify whether the response is satisfactory or unsatisfactory; and the system (200) further comprises a training module (226) configured to retrain the analysis module (216) based on the feedback indicating that the response is unsatisfactory.
17. The system (200) as claimed in claim 16, further comprising a determination module (228) configured to determine an exit condition based on one of the feedback indicating that the response is satisfactory, a user operation indicating completion of task, or a user operation for aborting the task.
18. The system (200) as claimed in claim 11, wherein the input module (212) is configured to receive, via the UI, a follow up query from the user; and the generation module (222) is configured to generate a new response for the follow up query based on previous responses and one or more feedback of the user on the previous responses.
19. The system (200) as claimed in claim 11, wherein the query is for one of creating a work order, generating a report, navigating to a layer, or accessing a module.
20. A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable medium and that, when executed by at least one processor performs operations comprising: receiving an input including a query from a user via a User Interface (UI);processing the query using a Natural Language Understanding (NLU) component to extract one or more entities; identifying, using a rule-based model, an intent of the user based on the extracted one or more entities; forwarding, based on the intent and the one or more entities, the query to one or more Application Programming Interface (APIs); receiving, based on the query, data from the one or more APIs; and generating a response on the query based on the received data from the one or more APIs.
Citation Information
Patent Citations
Natural Language Processing Systems and Methods
US20190103111A1
Systems and methods for automatically determining utterances, entities, and intents based on natural language inputs
US20210303578A1