Conversational Agent System, Method, and Program

A unified framework for conversational agents uses structured knowledge to address the challenges of complex data collection and domain-specific interactions, enhancing conversational systems' efficiency and adaptability.

JP7748779B2Active Publication Date: 2025-10-03INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022540930
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-01-03
Filing Date
2020-12-07
Publication Date
2025-10-03
Estimated Expiration
2040-12-07

AI Technical Summary

Technical Problem

Existing conversational agent frameworks are labor-intensive and difficult to maintain, requiring complex data collection for modular pipelines, and interacting with knowledge bases for tasks like car insurance and property rentals is challenging due to domain-specific query rules.

Method used

A unified framework for developing conversational agents using structured knowledge, incorporating a central knowledge representation that semantically grounds dialogue subtasks, allowing for domain-independent prototyping and continuous improvement through data-driven evidence.

Benefits of technology

Enables efficient and adaptable conversational interactions across various domains by leveraging a unified framework that integrates data-driven learning and domain knowledge bases, improving accuracy and reducing maintenance complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007748779000001
    Figure 0007748779000001
  • Figure 0007748779000002
    Figure 0007748779000002
  • Figure 0007748779000003
    Figure 0007748779000003
Patent Text Reader

Abstract

A conversational agent system directed to a natural language (NL) and a virtual dialogue platform includes: detecting and analyzing a natural language (NL) statement; identifying one or more entities expressed in the statement; utilizing the identified entities; parsing the statement into keywords; expressing the intent of the received statement as a relationship between two or more keywords; identifying a knowledge representation expressing the statement in terms of a formatted module having two or more components and a component relationship structure; assigning each statement keyword to a specified module component based on an alignment of the component relationship and the keyword relationship; expressing the statement intent based on the relationship between the keywords; inferring a response to the statement; and communicating the inferred response to the virtual dialogue platform.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to natural language processing and virtual communication platforms. More specifically, this invention relates to artificial intelligence virtual dialogue platforms, such as chatbots, for simulating interactive conversations. This invention introduces and uses a unified framework for developing conversational agents capable of performing goal-oriented information retrieval tasks via structured knowledge. Summary of the Invention

[0002] Embodiments include systems, computer program products, and methods for utilizing a unified framework for analyzing natural language statements.

[0003] In one aspect, a system is provided for use with an artificial intelligence (AI) platform for expressing natural language (NL) intent within a virtual dialogue platform. As shown, a system is provided having a processing unit, such as a processor, operably coupled to a memory. An AI platform is provided in communication with the processing unit. The AI ​​platform incorporates tools in the form of a natural language (NL) manager, a relationship manager, and a communication manager. The NL manager is operative to detect NL statements received at the virtual dialogue platform, identify one or more entities expressed in the statement, and utilize the identified entities to parse the statement into one or more keywords. The relationship manager is operative to express the intent of the received statement as a relationship between two or more keywords identified in the statement. The relationship manager is further operative to express the intent of two or more components and component relationships. Consists of Formatted modules with structures (Central Knowledge Representation CKR)Based on the alignment of component relations and keyword relations, we identify a knowledge representation that expresses the statement as (Keywords inherent in the statement) The specified module component (Components that reside in modules) The communication manager expresses the statement intent based on the relationship between two or more keywords, received The system functions to infer a response to the statement, and the inferred response is communicated to the virtual dialogue platform.

[0004] In another aspect, a computer program product for expressing intent within a virtual dialogue platform is provided. The computer program product includes a computer-readable storage medium embodied with program code, the program code being executable by a processor and configured to detect a natural language (NL) statement received by the virtual dialogue platform. The NL statement is analyzed to identify one or more entities expressed in the statement. The identified entities are utilized to parse the statement into one or more keywords. Program code is provided for expressing the intent of the received statement as a relationship between two or more keywords identified in the statement. A knowledge representation is identified that represents the statement as a formatted module having two or more components and a component relationship structure. Each statement keyword is assigned to a specified module component based on an alignment of the component relationship and the keyword relationship. Program code is further provided for expressing the statement intent based on the relationship between the two or more keywords and inferring a response to the received statement. The inferred response is communicated to the virtual dialogue platform.

[0005] In yet another aspect, a method for expressing intent within a virtual dialogue platform is provided. A natural language (NL) statement is detected and analyzed to identify one or more entities expressed in the statement. The identified entities are utilized to parse the statement into one or more keywords. The intent of the received statement is expressed as a relationship between two or more keywords identified in the statement. A knowledge representation is identified that represents the statement as a formatted module having two or more components and a component relationship structure. Each statement keyword is assigned to a specified module component based on an alignment of the component relationship and the keyword relationship. The statement intent is expressed based on the relationship between the two or more keywords, and a response to the received statement is inferred. The inferred response is communicated to the virtual dialogue platform.

[0006] These and other features and advantages will become apparent from the following detailed description of the presently exemplary embodiment(s) taken in conjunction with the accompanying drawings.

[0007] The drawings referenced herein form part of this specification and are incorporated herein by reference. Features shown in the drawings are intended to illustrate only some embodiments and not all embodiments, unless otherwise specified. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a block diagram illustrating one embodiment of an architecture of an interaction framework. [Figure 2] 1 is a schematic diagram of a computer system illustrating one embodiment of an artificial intelligence platform computing system in a network environment. [Figure 3] FIG. 3 is a block diagram illustrating one embodiment of the artificial intelligence platform tools and their associated application program interfaces shown and described in FIG. 2. [Figure 4] 1 is a flow chart illustrating one embodiment of a method for processing a natural language statement to determine the intent of the statement and selecting or creating a modular structure in an information handling system to represent the structure of the statement. [Figure 5] FIG. 2 is a block diagram illustrating one embodiment of an exemplary representation of a statement based on identified keywords and values. [Figure 6] 1 is a flow chart illustrating one embodiment of a method for processing NL statements or queries and mapping the statements to interaction modules. [Figure 7] 1 is a flow diagram illustrating one embodiment of components and logic flow for generating an interactive prompt. [Figure 8] FIG. 8 is a block diagram illustrating an example of a computer system / server of a cloud-based support system for implementing the systems and processes described above with respect to FIGS. 1-7. [Figure 9] FIG. 1 is a block diagram illustrating a cloud computing environment. [Figure 10] FIG. 1 is a block diagram illustrating a set of functional abstraction model layers provided by a cloud computing environment. DETAILED DESCRIPTION OF THE INVENTION

[0009] It will be readily understood that the components of the present embodiments, as generally described and illustrated herein, could be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the present apparatus, system, method, and computer program product embodiments, as illustrated in the Figures, is not intended to limit the scope of the claimed embodiments, but is merely representative of selected embodiments.

[0010] References throughout this specification to "a select embodiment," "one embodiment," or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment. Thus, the appearances of the phrases "a select embodiment," "in one embodiment," or "in one embodiment" in various places throughout this specification are not necessarily referring to the same embodiment.

[0011] The illustrated embodiments can be best understood by reference to the drawings, in which like parts are designated with like numerals throughout. The following description is intended to be merely exemplary and merely illustrates certain selected embodiments of devices, systems, and processes consistent with the embodiments claimed herein.

[0012] In the field of artificial intelligence systems, natural language processing systems (e.g., IBM®'s Watson® artificial intelligence computer system and other natural language systems) process natural language based on knowledge acquired by the system. To process natural language, the system is trained with data obtained from a knowledge database or corpus, but the results obtained can be erroneous or inaccurate for various reasons.

[0013] Machine learning (ML), a subset of artificial intelligence (AI), uses algorithms to learn from data and generate insights based on this data. AI refers to intelligence when a machine can make informed decisions to maximize its chances of success in a given topic. ML involves algorithms that use one or more neural models to identify input patterns and evolve over time. Neural models emulate the way the human nervous system functions. The basic unit is called a neuron, and neurons are typically organized into layers. Neural models work by simulating a large number of interconnected processing units, like an abstract version of a neuron. Neural models typically have three parts: an input layer with units representing input fields, one or more hidden layers, and an output layer with one or more units representing target fields (or fields). The units are connected with various connection strengths, or weights. Input data is presented to the first layer, and values ​​are propagated from each neuron to all neurons in the next layer. The output layer provides the results. Neural models are designed to emulate the way the human brain functions, so computers can be trained to support minimally defined abstract concepts and problems.

[0014] At the core of AI and related reasoning is the concept of similarity. The process of understanding natural language and objects requires reasoning in terms of relationships, which can be a challenge. Existing solutions for efficiently identifying objects, understanding natural language, and processing content responses are extremely difficult to put into practice.

[0015] Virtual conversational agents, also referred to herein as chatbots, are increasingly in demand to make existing services or information more accessible to end users. This growing demand has led to commercial virtual venues, such as websites and mobile applications, becoming conversational. Previous development frameworks for building such conversational agents typically provided a modular pipeline of dialogue subtasks, such as natural language understanding (NLU) dialogue management. In these frameworks, each module requires its own well-designed and annotated data. However, the task of obtaining such data is complex, labor-intensive, and difficult to maintain. To improve conversational agents, tools and solutions for data collection must be provided. Therefore, as illustrated and described herein, systems, computer program products, and methods are provided to demonstrate a unified framework for developing conversational agents for goal-directed information retrieval tasks via structured knowledge.

[0016] The unified framework provides a pipeline that can be consumed by end-to-end trainable models. Specifically, the framework is designed to enhance a central knowledge representation for semantically grounding multiple dialogue subtasks. As presented herein, the pipeline is integrated with modules that collect data-driven evidence to continuously improve the model.

[0017] A dialogue consists of a series of communications between a user and a virtual agent. A dialogue consists of or is defined by a primary task, referred to herein as a dialogue task, and one or more subtasks, also referred to herein as dialogue subtasks, that support the primary task. It is understood in the art that a virtual agent is posed questions, answers are provided from the questions, and the answers are integrated into the dialogue flow as dialogue data. As shown and described herein, a central knowledge representation can be shared among the dialogue subtasks. The central knowledge representation covers domain entities, their corresponding properties, and a set of entity relationships. Examples of corresponding properties include expected data types and allowable values. The central knowledge representation is typically built based on structured knowledge in the form of a database or application program interface (API) accessible to end users. As shown in Figures 4-7, statements in the virtual communication platform are evaluated to generate key-value pairs.<k,v> where k represents the statement keyword and v represents the keyword value(s). In a commercial environment, the value may be the price or cost corresponding to the keyword. The value can be further processed to obtain keyword meta-information, such as data type, value range, and whether the value is informable or requestable. Such meta-information can be<k,r,v> where k is a keyword or entity name, r represents a relationship or property type, and v represents the value(s) of the keyword. As used herein, a keyword is a term that represents related information, such as an entity. Meta-information can be used to determine implicit dialogue state and dialogue acts.

[0018] There is a growing demand for access to existing commercial services via chat applications, also known as conversational commerce. This involves exchanging information with end users based on knowledge bases underlying domain services such as car insurance and property rentals. However, interacting with knowledge bases to accomplish tasks can be challenging, involving the repeated domain-specific fusion of query rules with statistical components. As illustrated and described herein, we present a unified implicit dialogue framework for goal-oriented information-seeking conversational systems. This framework enables conversational interaction with domain data by using underlying data representations to build the components necessary for interaction rather than relying on explicitly encoded rules. This framework facilitates domain-independent prototyping of interactive domain exploration and allows for the identification and sharing of common building blocks across various domains.

[0019] As illustrated and described herein, the domain knowledge base is available or can be obtained from a corresponding commercial website with an embedded schema. The combination of the domain knowledge base, authorized queries to the knowledge base, and application logic is applied to infer dialogue activity. As illustrated and described in Figures 1-7, the knowledge base is scanned to build a central knowledge representation that can semantically ground multiple dialogue tasks, such as intent labeling, state tracking, and issuing application program interface (API) calls to the domain database. The central knowledge representation is automatically updated based on the central representation. This collects targeted feedback data that is directly consumed by the learning module to continuously improve the conversational system(s).

[0020] Referring to FIG. 1, a block diagram (100) is provided illustrating one embodiment of the architecture of a dialogue framework. As shown, the framework includes several core modules, including a natural language understanding (NLU) module (110), an inference engine (120), a prompt generator (130), and a dialogue environment simulator (140) for data collection. The inputs of these components, e.g., (110), (120), (130), and (140), are all initialized by a central knowledge representation (150). More specifically, the central knowledge representation is generated based on a domain knowledge base. The central knowledge representation covers a set of domain entities and semantic relationships between the entities. For example, for apartment rentals, the domain entity is "apartment" and the semantic relationship is "has-attribute." The central knowledge representation provides what are called additional generic characteristics associated with the entities, which help identify content that may be applicable across domains. Examples of such general characteristics include, but are not limited to, expected data types, ranges, and operations. A central knowledge representation is depicted and described herein as being shared among interaction tasks and subtasks. The central knowledge representation covers domain entities and their corresponding properties, such as expected data types and allowable values, and a set of relationships for the entities.

[0021] As further illustrated herein, the dialogue simulator (140) receives input from a user (160) and an agent (162). The user input is in the form of natural language and text, which are communicated to the NLU module (110) via a first channel (142) and a second channel (144), respectively, to identify user intent. In one embodiment, the NLU module (110) utilizes a natural language classifier to identify user intent from the received input (160). The NLU module (110) provides an underlying representation of the user intent, expressed as one or more relationships between one or more entities parsed from the received input, e.g., a statement. The NLU module (110) communicates the representation to the inference engine (120) via a communication channel (122). The dialogue simulator (140) identifies potential virtual locations, e.g., web sites, based on the subject matter of the received input and, in one embodiment, the corresponding query, extracts data from the schema embedded in the locations, which is communicated to the inference engine (120), which infers the next dialogue action and outputs it to the prompt generator (130), which is communicated to the dialogue simulator (140) via a communication channel (132). In one embodiment, the dialogue simulator collects user feedback during real-time interactions. In this manner, the dialogue framework access requests information based on the identified user intent and converts that information into one or more dialogue prompts for the dialogue simulator (140).

[0022] Referring to Figure 2, a schematic diagram of a computer system (200) having an artificial intelligence platform for supporting conversational agent functionality via domain-structured knowledge is shown. As shown, a server (210) is provided that communicates with multiple computing devices (280), (282), (284), (286), (288), and (290) via a network connection, e.g., a computer network (205). The server (210) is configured with a processing unit (212) that communicates with memory (216) via a bus (214). The server (210) is shown to have an artificial intelligence (AI) platform (250) with embedded tools that support and implement virtual conversational agent functionality processing and communication inference from one or more of the computing devices (280), (282), (284), (286), (288), and (290) via the network (205). The server 210 is shown herein operatively coupled to the knowledge base 270. Each of the computing devices 280, 282, 284, 286, 288, and 290 communicates with each other and with other devices or components via one or more wired and / or wireless data communication links, each of which may include one or more wires, routers, switches, transmitters, receivers, etc. Additionally, each of the computing devices 280 through 290 is operatively coupled to the knowledge base 270 via the network 205. Other embodiments of the server 210 may be used with components, systems, subsystems, or devices, or combinations thereof, other than those shown herein.

[0023] The AI ​​platform (250) is shown herein to be configured with tools for managing and facilitating the application of cognitive computing to knowledge resources, and more specifically, to support a unified framework for developing conversational agents for goal-directed information retrieval tasks via structured knowledge. As shown, a knowledge base (270) is operatively coupled to the AI ​​platform (250) and configured with multiple libraries of knowledge representations. Two libraries are referred to herein as libraries. A (272 A ) and libraries B (272 B ), where each library is defined by a specific product or service domain. Each library is shown to have a corresponding knowledge representation. More specifically, the libraries A (272 A ) is a knowledge representation A (274 A ) and the library B (272 B ) is a knowledge representation B (274 B ). In one embodiment, additional libraries having one or more knowledge representations are provided, and thus the number of libraries and knowledge representations should not be considered limiting. In one embodiment, the knowledge base is a single library having multiple knowledge representations, each knowledge representation directed to a class of product or service, e.g., library A (272 A ) etc. Therefore, the quantities of libraries and knowledge representations shown herein are for illustrative purposes and should not be considered limiting.

[0024] The tools constituting the AI ​​platform (250) include, but are not limited to, a natural language (NL) manager (252), a relationship manager (254), a communication manager (256), and an entity manager (258) for managing and maintaining knowledge resources and supporting the inference capabilities of a virtual conversational agent (260), such as a chatbot or virtual dialogue platform. As shown, the chatbot (260) is operably coupled to the tools of the AI ​​platform (250). The NL manager (252) functions to detect and analyze NL statements received by the virtual dialogue platform (260). The virtual dialogue platform (260) provides a platform for receiving and transmitting data in NL format. Users submit statements and queries through the platform (260) and receive responses in NL format from the underlying virtual agent via the platform (260). The NL manager (252) functions to analyze the received NL statement(s), including identifying one or more entities expressed within the statement. For example, in one embodiment, the analysis involves the NL manager (252) identifying grammatical components within a statement, such as a subject, noun, verb, etc., and using this identification to further parse the statement into one or more keywords. In this manner, the NL manager (252) applies NL processing to the received statement(s) to parse the statement keywords.

[0025] The keywords are used by a relationship manager (254) to further process the NL statement. More specifically, the relationship manager (254) identifies the intent expressed in the statement being processed as a relationship between two or more of the identified and analyzed keywords. In one embodiment, the relationship between any two statement keywords is partially expressed as one or more mathematical operations and one or more variables. As described in more detail below, the statements, or more specifically, statement components, are converted into a generic knowledge representation. As shown, the knowledge base is provided with different knowledge representations for different domains, e.g., subjects, products, services, etc. In one embodiment, each knowledge representation is referred to as a module. The relationship manager (254) functions to convert the keywords and any corresponding values ​​into components of the knowledge representation. As shown and described in FIG. 4, the knowledge representation (450) is shown to have multiple components, also referred to herein as slots, arranged in a structural relationship. In one embodiment, each component is represented as a graphical node, with edges between the nodes representing the relationship between the nodes. The relationship manager (254) assigns each of the identified statement keywords to a designated component, e.g., a slot, based on the alignment of component relationships with keyword relationships identified from the analysis of the statement.

[0026] The statement intent is determined from the identified statement keywords and any corresponding values. A communication manager (256) functions to represent the statement intent based on the relationships between the keywords reflected in the knowledge representation and to infer a response to the received statement. As shown herein, the inferred response (262) is communicated to a chatbot (260), e.g., a virtual dialogue platform.

[0027] There is a direct relationship between statement keywords and the data entered into the knowledge structure. The NL manager (252) functions to analyze the relationship between statement keywords and the data entered into the knowledge representation component. Various matching protocols can be used by the NL manager to perform the analysis. Matching protocols include literal matching, fuzzy string matching, semantic similarity, or a combination of two or more of these matching protocols. Thus, the direct relationship is further defined by the matching protocol.

[0028] In addition to inferring communication in the virtual interaction platform (260), the knowledge representations are presented to a knowledge base to identify appropriate or relevant response data. As shown herein, an entity manager (258), operably coupled to the communication manager (256), utilizes the statement intent and keyword relationships reflected in the knowledge representation to identify relevant data from a corresponding knowledge base. In one embodiment, the knowledge base may be one or more virtual locations, e.g., websites, having corresponding data. The entity manager (258) uses the input knowledge representation to identify one or more knowledge domain entities, e.g., websites, associated with the statement intent and keyword relationships, identify structured knowledge of the knowledge domain for each identified keyword, and create an association between the identified structured knowledge and the input knowledge representation. More specifically, the association utilizes the functionality of the communication manager (256) to bridge the structured knowledge to module components, such as slots, and associated component relationship(s), which, in one embodiment, includes inputting data from the entity structured knowledge of the domain entities into the module components. The entity manager (258) further communicates the identified structured knowledge as output (264) to the virtual dialogue platform (260). In this manner, the entity manager (258) functions to identify and communicate structured knowledge as response data to statements received via the virtual dialogue platform (260).

[0029] Various computing devices (280), (282), (284), (286), (288), and (290) in communication with the network (205) may include access points to the knowledge base (270) and corresponding libraries, as well as access to the virtual dialogue platform (260). The AI ​​platform (250) functions to manage the NLU for the expression of statements, the inference of dialogue, and the identification and output of structured knowledge.

[0030] In various embodiments, the network (205) may include local network connections and remote connections, allowing the AI ​​platform (250) to operate in any scale, including local and global environments, e.g., the Internet. The AI ​​platform (250) functions as a front-end system that makes available various knowledge extracted from or represented in documents, network-accessible sources, and / or structured data sources. As such, several processes input into the AI ​​platform (250), which also includes an input interface for receiving requests and responding accordingly. Content users may access the AI ​​platform (250) via a network connection to the network (205) or an Internet connection. The virtual interaction platform (260) is accessible via an operably coupled visual display (230).

[0031] The AI ​​platform (250) is shown herein as having several tools for supporting and interfacing with the virtual dialogue platform (260), including the NL manager (252), relationship manager (254), communication manager (256), and entity manager (258), which may individually or collectively function as software or hardware tools.

[0032] In some exemplary embodiments, the server (210) may be an IBM® Watson® system available from International Business Machines Corporation of Armonk, New York, augmented with mechanisms of the exemplary embodiments described below. The IBM® Watson® system may support tools (252)-(258) to support knowledge resource management and virtual dialogue functions, including identifying structured knowledge and inferring communication responses, as described herein. The tools (252)-(258), also referred to herein as AI tools, are shown embodied or integrated within the AI ​​platform (250) of the server (210). The AI ​​tools may be implemented in separate computing systems (e.g., 290) connected to the server (210) via the network (205). Wherever embodied, the AI ​​tools function to support and enable the virtual dialogue platform in inferring communication interactions and imparting structured domain knowledge.

[0033] The types of information handling systems that can use the AI ​​platform (250) range from small handheld devices, such as handheld computers / cell phones (280), to large mainframe systems, such as mainframe computers (282). Examples of handheld computers (280) include personal digital assistants (PDAs), personal entertainment devices, such as MP4 players, portable televisions, and compact disc players. Other examples of information handling systems include pen or tablet computers (284), laptop or notebook computers (286), personal computer systems (288), and servers (290). As shown, various information handling systems can be networked together using a computer network (205). Types of computer networks (205) that can be used to interconnect various information handling systems include local area networks (LANs), wireless local area networks (WLANs), the Internet, public switched telephone networks (PSTNs), other wireless networks, and any other network topology that can be used to interconnect information handling systems. Many information handling systems include a non-volatile data store, such as a hard drive or non-volatile memory, or both. Some information handling systems may have separate non-volatile data stores (e.g., a server (290) may have a non-volatile data store (290)). A ), and the mainframe computer (282) uses a non-volatile data store (282 A )). Non-volatile data store (282 A) can be a component that can be external to the various information handling systems or can be built into one of the information handling systems.

[0034] The information handling system used to support the AI ​​platform (250) can take many forms, some of which are shown in Figure 2. For example, the AI ​​platform can take the form of a desktop, server, portable, laptop, notebook, or other form factor computer or data processing system. The information handling system for supporting the AI ​​platform (250) can also take other form factors, such as a personal digital assistant (PDA), gaming device, ATM machine, mobile phone device, communications device, or other device that includes a processor and memory.

[0035] An application program interface (API) is understood in the art as a software intermediary between two or more applications. With respect to the AI ​​platform (250) shown and described in FIG. 2, one or more APIs may be used to support one or more of the tools (252)-(258) and their associated functionality. Referring to FIG. 3, a block diagram (300) is provided illustrating the tools (352)-(358) and their associated APIs. As shown, multiple tools are incorporated into the AI ​​platform (305), including an NL manager (352) associated with API0 (312), a relationship manager (354) associated with API1 (322), a communication manager (356) associated with API2 (332), and an entity manager (358) associated with API3 (342). Each API may be implemented in one or more languages ​​and interface standards. API 0 (312) provides functional support for natural language processing, including identifying statement keywords; API 1 (322) provides functional support for identifying knowledge representations corresponding to processed statements and creating relationships between statement keywords and keyword relationships and knowledge representations; API 2 (332) provides functional support for inferring responses in the virtual dialogue platform to received statements; and API 3 (342) provides functional support for identifying structured knowledge and transmitting it to the virtual dialogue platform as response data to processed statements. As shown, each of APIs 312, 322, 332, and 342 is operatively coupled to an API orchestrator 360, otherwise known as an orchestration layer, which is understood in the art to function as an abstraction layer that transparently threads separate APIs together. In one embodiment, the functionality of separate APIs may be combined or combined; therefore, the configuration of APIs shown herein should not be considered limiting. As such, the functionality of the tool may be embodied or supported by each API, as shown herein.

[0036] Referring to FIG. 4, a flowchart (400) is provided illustrating a process for determining statement intent and selecting or creating a modular structure in an information handling system to represent the structure of a statement. As shown, a statement or query is received or detected by a computing device (402). In one embodiment, the statement or query is identified in a corresponding virtual dialogue platform. Natural language understanding (NLU) is used to parse the statement into grammatical components, which includes determining one or more entities within the received statement (404). In addition to, or instead of, parsing the grammatical components of the statement, the parsing in step (404) may involve identifying one or more keywords present in the statement. The quantity of parsed statement components, such as keywords, is determined using a variable X Total Each identified keyword, e.g., keyword X The received statement is evaluated to identify keyword values ​​that are explicitly or implicitly present or detectable within the statement (408). In one embodiment, a NL processing tool is used to capture statement keywords and identify keyword values. The identified keyword(s) and value(s) are represented as interconnected components (410). In this manner, the received statement is processed to identify statement components, which are used to identify the statement's subject, keywords, and keyword values.

[0037] Referring to Figure 5, a block diagram (500) is provided to illustrate an exemplary representation of a statement based on identified keywords and values. As shown, a module (510) is comprised of multiple interconnected components (512), (514), (516), and (518). The module (510) represents a query or statement received by the dialogue simulator (140). Keywords and values ​​are shown entered into the components. In this example, a keyword "under" is assigned to a first component h1 (520), a value is assigned to a second component h2 (522), a second keyword "in" is assigned to a third component h3 (524), and a third keyword "Bronx" is assigned to a fourth component h4 (526). In this example, the keyword, e.g., entity, is "Bronx," the value is "3,000," and the key-value pair is<Bronx,3000> The values ​​h1, h2, h3, and h4 are the latent representations of the detected words from the NLU platform, represented in vector form.

[0038] A centralized knowledge representation (CKR) is used to represent received statements or queries in a format that can be shared among dialogue subtasks. The CKR covers domain entities and their corresponding properties, such as expected data types and allowable values, and a set of entity relationships. The CKR is built on structured knowledge, typically in the form of a database or application API accessible to end users. Referring to FIG. 6, a flowchart (600) is provided illustrating one embodiment of a method for processing NL statements or queries and mapping statements to dialogue modules. As shown in FIG. 6, a received or detected user statement undergoes initial processing to identify keywords and values ​​present in the statement (602). Data from the processed user statement is represented in a corresponding module of the CKR based on the statement intent. Following step (602), the statement intent is identified (604) and encoded (606) as a relationship between two or more entities represented in the statement. In one embodiment, the relationship between two or more entities is partially represented as one or more mathematical operations and one or more variables. Rather than having descriptive labels for the intent within CKR, the intent is expressed as a composition of entities and operations. For example, in the context of apartment hunting, the intent "increase price range" is expressed as <"apartment",(price,+,num_val)>. In this way, intent can be inferred directly from CKR and, because it is constructed based on relatively generation operations, can be adaptable to new domains. In one embodiment, the CKR framework is designed to support the plug-and-play of customized modules. The encoded intent, along with the subject of the statement, is used to identify a CKR that generically expresses the statement (608).Referring to Figure 5, a CKR is shown at (550) with multiple slots, shown herein as c1 (560), c2 (562), c3 (564), and c4 (566). The CKR and corresponding slots are latent representations of input statements. As shown in this example, the value "price" of c2 (562) is a latent representation of the value(s) of h2 (522), and the value "borough" of c4 (566) is a latent representation of the value(s) of h4 (526).

[0039] In one embodiment, a library of generic CKR representations is maintained and searched to identify a previous generic representation, also referred to herein as a warm start. If no previous representation exists, a new representation is created, also referred to as a cold start. In this manner, received statements are subjected to initial processing and component analysis to identify and represent statement components.

[0040] In a cold start scenario where no annotated dialogue data exists, user intent is encoded by semantically matching entities and corresponding generic actions on those entities, such as ADD and DELETE, constrained by the expected data type. Semantic matching maps user utterances to CKR elements in three successive steps: literal matching, fuzzy matching to identify approximate matches between entities, and vector expression matching to support matching related entities using vectorized word representations. In a warm start scenario where intent-annotated dialogue data exists, intent is predicted using a training model. More specifically, a sequence of input text is encoded by a neural network, such as an LSTM or GRU, at each time step in the sequence. Following step (608), the intent and input statement representation form a semantic frame, which is converted into a query or API call with keywords and value(s) as search constraints for the requested entity (610). The query or API call is processed to identify domains, such as virtual locations or websites, that satisfy the query or API call (612). A corresponding domain schema is identified 614, and data from the schema is selectively associated with the identified CKR 616. More specifically, latent representations in the CKR are matched with schema representations and values ​​to create associations between structured knowledge of locations and latent representations of statements, and input from the structured knowledge of entities to one or more components in the latent representation.

[0041] Following step (616), the next dialogue activity, e.g., a dialogue prompt, is inferred and communicated as a dialogue prompt to the dialogue simulator (618). As shown in FIG. 1, this inference is supported by an inference engine (120). The goal of the inference engine is to optimize the retrieval of results for a received statement or query and infer the next action. Based on the example of FIG. 5 and the output from the location schema, the inference engine may request a location specification or price range identification. Referring to FIG. 7, a flow diagram (700) is provided to illustrate one embodiment of the components and logic flow for generating a dialogue prompt. As shown, the dialogue simulator (710) is operably coupled to a dialogue state frame tracking unit (720), such as a dialogue activity. As shown and described in FIG. 5, dialogue statements are detected and processed and input to the CKR components using a domain database (750), which is represented as a schema. As shown herein, a recurrent neural network (730) is shown having long short-term memory (LSTM) blocks (732) and (734) to provide context for received statements and create output in the form of a dialogue prompt generator (740). The recurrent neural network uses the LSTM block (732) to encode received statements into latent representations and the LSTM block (734) to decode the statements into dialogue states. Utilizing a softmax activation function (736), the network evaluates and outputs the probability P of each dialogue action, where y represents the dialogue state, t-1 represents the previous dialogue statement, and w is a weight. Thus, the LSTM block shown herein uses the statement input and the latent representation of the input to create an output that is communicated to the dialogue simulator.

[0042] The inference of the dialogue prompt in step (618) is based on the statement intent, the dialogue statement, and, in one embodiment, previous search results. The dialogue simulator issues API calls based on CKR or requests maximum information to optimize the search experience. In this way, CKR provides a unified framework for developing conversational agents for goal-directed information retrieval tasks via structured knowledge.

[0043] Aspects of the functional tools 252-258 and their associated functionality may be embodied in a computer system / server at a single location, or in one embodiment, configured in a cloud-based system sharing computing resources. Referring to Figure 8, a block diagram 800 is provided illustrating an example of a computer system / server 802, hereinafter referred to as a host 802, in communication with a cloud-based support system 880 for implementing the processes described above with respect to Figures 1-7. The host 802 is operable in numerous other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, or configurations, or combinations thereof, that may be suitable for use in the host (802), include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and file systems that include any of the above systems or devices (e.g., distributed storage environments and distributed cloud computing environments), and equivalents thereof.

[0044] The host (802) may be described in the general context of computer system-executable instructions, such as program modules, executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The host (802) may be practiced in a distributed cloud computing environment (880) where tasks are performed by remote processing devices linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.

[0045] As shown in Figure 8, the host (802) is shown in the form of a general-purpose computing device. Components of the host (802) may include, but are not limited to, one or more processors or processing units (804), such as a hardware processor, a system memory (806), and a bus (808) that couples various system components, including the system memory (806), to the processor (804). The bus (808) may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, the Enhanced ISA (EISA) bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus. The host 802 typically includes a variety of computer system-readable media. Such media may be any available media accessible by the host 802, including both volatile and nonvolatile media, removable and non-removable media.

[0046] The memory (806) may include computer-system-readable media in the form of volatile memory, such as random access memory (RAM) (830) and / or cache memory (832). By way of example only, a storage system (834) may be provided for reading from and writing to non-removable, non-volatile magnetic media (not shown, typically referred to as a "hard drive"). Although not shown, a magnetic disk drive may be provided for reading from and writing to removable, non-volatile magnetic disks (e.g., "floppy disks"), and an optical disk drive may be provided for reading from and writing to removable, non-volatile optical disks, such as CD-ROMs, DVD-ROMs, or other optical media. In such examples, each may be connected to the bus (808) by one or more data media interfaces.

[0047] A program / utility (840) having a set (at least one) of program modules (842) may be stored in memory (806), as may, for example and without limitation, an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or any combination thereof, may comprise an implementation of a networked environment. The program modules (842) generally perform the functionality and / or methodology of an embodiment for dynamic communication assessment question identification and processing. For example, the set of program modules (842) may include tools (252) through (258) described in FIG. 2.

[0048] The host (802) may also communicate with one or more external devices (814), such as a keyboard, a pointing device, a display (824), one or more devices that allow a user to interact with the host (802), or any device that allows the host (802) to communicate with one or more other computing devices (e.g., a network card, a modem, etc.), or combinations thereof. Such communication may occur via input / output (I / O) interface(s) (822). Furthermore, the host (802) may communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or combinations thereof, via a network adapter (820). As shown, the network adapter (820) communicates with the other components of the host (802) via a bus (808). In one embodiment, multiple nodes of a distributed file system (not shown) communicate with a host (802) via an I / O interface (822) or a network adapter (820). Although not shown, it should be understood that other hardware and / or software components may be used with the host (802). Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.

[0049] In this document, the terms "computer program medium," "computer usable medium," and "computer readable medium" are used generally to refer to media such as main memory (806), including RAM (830), cache (832), and storage systems (834), such as removable storage drives and hard disks installed in hard disk drives.

[0050] Computer programs (also called computer control logic) are stored in the memory (806). Computer programs may also be received via a communications interface, such as a network adapter (820). When executed, such computer programs enable the computer system to perform the functions of the present embodiments discussed herein. Specifically, when executed, the computer programs enable the processing unit (804) to perform the functions of the computer system. Thus, such computer programs represent the controller of the computer system.

[0051] A computer-readable storage medium may be any tangible device capable of retaining and storing instructions for use by an instruction-execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, dynamic or static random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), magnetic storage devices, portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), Memory Stick®, floppy disk, mechanically encoded devices such as punch cards or grooved ridge structures having instructions recorded thereon, and any suitable combination thereof. Computer-readable storage medium, as used herein, should not be construed as a transitory signal per se, such as, for example, radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over wires.

[0052] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, fiber optic transmission cables, wireless transmission cables, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0053] The computer-readable program instructions for carrying out the operations of the present embodiments may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java®, Smalltalk®, C++, and traditional procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server or cluster of servers. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by executing computer-readable program instructions using state information of the computer-readable program instructions to perform aspects of the embodiments.

[0054] In one embodiment, the host (802) is a node in a cloud computing environment. As known in the art, cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models. Examples of such characteristics are:

[0055] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without requiring human interaction with the provider of the service.

[0056] Broad Network Access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0057] Resource Pooling: Pooling a provider's computing resources to serve multiple consumers using a multi-tenant model where various physical and virtual resources are dynamically allocated and reallocated according to demand. The consumer generally has no control over or knowledge of the exact location of the resources provided, although there is a sense of location independence in that the location may be identifiable at a higher abstraction layer (e.g., country, state, or data center).

[0058] Rapid Elasticity: Capacity can be rapidly and elastically provisioned, sometimes automatically, to quickly scale out and rapidly release to quickly scale in. To the consumer, provisionable capacity often appears unlimited and can be purchased in any quantity at any time.

[0059] Metered Services: Cloud systems automatically control and optimize resource usage by utilizing metering capabilities at some abstraction layer appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, managed, and reported to provide transparency to both providers and consumers of utilized services.

[0060] The service model is as follows:

[0061] Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application features, with the possible exception of limited user-specific application configuration settings.

[0062] Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the application hosting environment configuration.

[0063] Infrastructure as a Service (IaaS): The ability offered to consumers is to provision processing, storage, network, and other basic computing resources onto which they can deploy and run any software, which can include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do have control over the operating systems, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).

[0064] The deployment model is as follows:

[0065] Private Cloud: Cloud infrastructure is operated exclusively for an organization. It is managed by the organization or a third party and can reside on-premise or off-premise.

[0066] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by the organization or a third party and may reside on-premise or off-premise.

[0067] Public Cloud: Cloud infrastructure is made available to the general public or large industry groups and is owned by an organization that sells cloud services.

[0068] Hybrid Cloud: A cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain unique entities but are joined by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting for load balancing between clouds).

[0069] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0070] Referring now to FIG. 9, an exemplary cloud computing network (900) is shown. As shown, the cloud computing network (900) includes a cloud computing environment (950) having one or more cloud computing nodes (910) with which local computing devices used by cloud consumers may communicate. Examples of these local computing devices include, but are not limited to, a personal digital assistant (PDA) or mobile phone (954A), a desktop computer (954B), a laptop computer (954C), or an automotive computer system (954N), or combinations thereof. Furthermore, individual nodes within the nodes (910) may communicate with each other. These may be physically or virtually grouped in one or more networks (not shown), such as, for example, the private, community, public, or hybrid clouds described above, or combinations thereof. This enables the cloud computing environment (900) to provide infrastructure-as-a-service, platform-as-a-service, and / or software-as-a-service services without requiring cloud consumers to maintain resources on local computing devices. It should be understood that the types of computing devices (954A-N) shown in Figure 9 are intended to be exemplary only, and that the cloud computing environment (950) can communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).

[0071] Referring now to Figure 10, there is shown a set of functional abstraction layers (1000) provided by the cloud computing network of Figure 9. It should be understood in advance that the components, layers, and functions shown in Figure 10 are intended to be exemplary only, and embodiments are not limited thereto. As shown, the following layers, and corresponding functions, are provided: a hardware and software layer (1010), a virtualization layer (1020), a management layer (1030), and a workload layer (1040).

[0072] The hardware and software layer (1010) includes hardware and software components. Examples of hardware components include mainframes, such as IBM® zSeries® systems; servers based on RISC (reduced instruction set computer) architecture, such as IBM® pSeries® systems, IBM® xSeries® systems, and IBM® BladeCenter® systems; storage devices; and networks and networking components. Examples of software components include network application server software, such as IBM® WebSphere® application server software, and database software, such as IBM® DB2® database software. (IBM®, zSeries®, pSeries®, xSeries®, BladeCenter®, WebSphere®, and DB2® are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide.)

[0073] The virtualization layer (1020) provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers, virtual storage, virtual networks including virtual private networks, virtual applications and operating systems, and virtual clients.

[0074] In one example, the management layer (1030) may provide the following functions: resource provisioning, metering and pricing, a user portal, service layer management, and SLA planning and fulfillment. Resource provisioning provides dynamic procurement of computing and other resources used to execute tasks within the cloud computing environment. Metering and pricing provides cost tracking as resources are used within the cloud computing environment and accounting or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. The user portal provides consumers and system administrators with access to the cloud computing environment. Service layer management provides allocation and management of cloud computing resources so that required service layers are met. Service layer agreement (SLA) planning and fulfillment provides advance arrangement and procurement of cloud computing resources expected to be required in the future according to SLAs.

[0075] The Workload Layer (1040) provides examples of functionality for which the cloud computing environment is used. Examples of workloads and functions provided by this layer include, but are not limited to, mapping and navigation, software development and lifecycle management, virtual classroom instruction delivery, data analytics processing, transaction processing, and virtual interaction platform management.

[0076] It is understood that there are disclosed herein systems, methods, apparatus, and computer program products for evaluating natural language input, detecting questions in the corresponding communication, and resolving the detected questions with answers and / or supporting content.

[0077] While particular embodiments of the present invention have been illustrated and described, it will be apparent to those skilled in the art that changes and modifications can be made based on the teachings herein without departing from the embodiments and their broader aspects. Accordingly, the appended claims are intended to encompass within their scope all such changes and modifications that are within the true scope and spirit of the embodiments. It is to be further understood that the embodiments are defined solely by the appended claims. Where a particular number of claim elements to be introduced is intended, such intention will be expressly recited in the claim; in the absence of such recitation, it will be understood by those skilled in the art that no such limitation exists. In a non-limiting example, and as an aid to understanding, the following appended claims include the use of the introductory phrases "at least one" and "one or more" to introduce claim elements. However, the use of such phrases should not be construed as meaning that introducing a claim element with the indefinite article "a" or "an" limits a particular claim containing such introduced claim element to embodiments containing only one such element, even if the same claim also contains the introductory phrase "one or more" or "at least one" and an indefinite article such as "a" or "an," and the same is true for the use of definite articles in the claims.

[0078] The present embodiments may be systems, methods, or computer program products, or combinations thereof. Additionally, selected aspects of the present embodiments may take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software or hardware aspects or both, all of which may be generally referred to herein as "circuits," "modules," or "systems." Furthermore, aspects of the present embodiments may take the form of a computer program product embodied in a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to execute aspects of the present embodiments. The disclosed systems, methods, or computer program products, or combinations thereof, so embodied, operate to improve the functionality and operation of an artificial intelligence platform to model NL statements, utilize structured data corresponding to the modeled statements, and infer corresponding virtual communication response data in the virtual communication platform.

[0079] A computer-readable storage medium may be any tangible device capable of retaining and storing instructions for use by an instruction-execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, dynamic or static random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), magnetic storage devices, portable compact disk read-only memory (CD-ROM), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved ridge structures having instructions recorded thereon, and any suitable combination thereof. Computer-readable storage medium, as used herein, should not be construed as a transitory signal per se, such as, for example, radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over wires.

[0080] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, fiber optic transmission cables, wireless transmission cables, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0081] The computer-readable program instructions for carrying out the operations of the present embodiments may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or object-oriented programming languages ​​such as Java®, Smalltalk®, C++, and traditional procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server or cluster of servers. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by executing computer readable program instructions using state information of the computer readable program instructions to perform aspects of the present embodiments.

[0082] Aspects of the present embodiments are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to the embodiments. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0083] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when the instructions are executed by the processor of the computer or other programmable data processing apparatus, means are generated for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium capable of directing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored constitutes an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0084] Furthermore, computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device and caused to perform a series of operational steps on the computer, other programmable apparatus, or other device to generate a computer-implemented process that, when executed on the computer, other programmable apparatus, or other device, implements the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0085] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order depicted. For example, depending on the functionality involved, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may possibly be executed in the reverse order. It will also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.

[0086] Although specific embodiments have been described herein for purposes of illustration, it will be understood that various modifications may be made without departing from the spirit and scope of the embodiments. Accordingly, the scope of protection for the embodiments is limited only by the following claims and their equivalents.

Claims

1. a processor operatively coupled to the memory; an artificial intelligence (AI) platform in communication with the processor; a natural language understanding (NLU) tool configured to process natural language (NL) and express the intent of statements within a virtual dialogue platform operatively coupled to the AI ​​platform; wherein the tool comprises: a natural language (NL) manager for detecting and analyzing NL statements (utterances), the NL manager including: identifying one or more entities (named entities) expressed in the NL statements; extracting two or more keywords, which are semantic categories, from the NL statements using the identified one or more entities; and converting the NL statements into pairs of the two or more keywords and, for each keyword, one or more keyword values, which are concrete data corresponding to information represented by the keyword; a relationship manager operably coupled to the NL manager, the relationship manager, when grasping the intent of the NL statement based on a keyword relationship between the two or more keywords, assigning the NL statement to a formatted module having a structure consisting of two or more components and component relationships that represent general characteristics, the relationship manager including identifying keyword relationships between the two or more keywords converted as pairs, and converting the NL statement to a general knowledge representation by assigning the keyword relationships to multiple components of the formatted module based on an alignment of the keyword relationships and the component relationships; a communication manager that selectively associates structured knowledge (schema) contained in a domain with the NL statement expressed as the formatted module that expresses the intent of the statement based on the relationship between the two or more keywords, and infers a response to the received NL statement; an entity manager operably coupled to the communication manager, the entity manager configured to utilize the intent of the statement and the keyword relationships to identify structured knowledge of the domain by identifying relevant data from a knowledge base, and to communicate the identified structured knowledge to the virtual interaction platform; Computer systems.

2. 1. A method for expressing the intent of a statement obtained by processing natural language (NL) in a virtual dialogue platform by information processing of a computing device, the method comprising: Detecting and analyzing NL statements (utterances), the detecting and analyzing including identifying one or more entities (named entities) expressed in the NL statements, extracting two or more keywords, which are semantic categories, from the NL statements using the identified one or more entities, and converting the NL statements into pairs of the two or more keywords and, for each keyword, one or more keyword values, which are concrete data corresponding to the information the keyword represents; expressing the intent of the NL statement, wherein when grasping the intent of the NL statement based on a keyword relationship between the two or more keywords, the NL statement is assigned to a formatted module having a structure consisting of two or more components and component relationships that represent general characteristics, the expressing including identifying keyword relationships between the two or more keywords converted as pairs, and converting the NL statement to a general knowledge representation by assigning the keyword relationships to multiple components of the formatted module based on an alignment of the keyword relationships and the component relationships; inferring a response to the NL statement, the response comprising selectively associating structured knowledge (schema) contained in a domain with the NL statement expressed as the formatted module that expresses the intent of the statement based on the relationship between the two or more keywords, and inferring a response to the received NL statement; communicating the inferred response to the virtual dialogue platform, including: utilizing the intent of the statement and the keyword relationships to identify structured knowledge of the domain by identifying relevant data from a knowledge base; and communicating the identified structured knowledge to the virtual dialogue platform. method.

3. A computer program product that causes a computer to perform the method of claim 2.

4. A computer-readable storage medium having the computer program of claim 3 recorded thereon.

Citation Information

Patent Citations

  • Conversation processing system

    JP2002023783A

  • Voice interactive method, voice interactive device, and voice interactive program

    JP2017107078A