Session proxy based on domain structure knowledge

By using a unified framework and centralized knowledge representation, natural language statements are processed automatically to identify entities and relationships, solving the problem of complex data collection in existing technologies and enabling efficient information retrieval and cross-domain knowledge sharing.

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

Patent Information

Application Number
CN202080084198.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-03
Filing Date
2020-12-07
Publication Date
2025-10-31
Estimated Expiration
2040-12-07

AI Technical Summary

Technical Problem

Existing technologies for processing natural language understanding and virtual dialogue platforms involve complex and labor-intensive data collection, making it difficult to effectively construct conversational agents for goal-oriented information retrieval tasks.

Method used

It provides a unified framework that automates the processing of natural language statements, identifies entities and relationships, infers responses, and leverages structured knowledge for information retrieval through centralized knowledge representation and neural models, reducing reliance on explicit encoding rules.

Benefits of technology

It enables efficient and automated information retrieval in virtual dialogue platforms, allows cross-domain sharing of knowledge representations, simplifies the data collection process, and improves the accuracy and efficiency of information retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114761944B_ABST
    Figure CN114761944B_ABST
Patent Text Reader

Abstract

The embodiments relate to systems, program products, and methods for Natural Language (NL) and virtual dialogue platforms. Natural Language (NL) statements are detected and analyzed to identify one or more entities expressed in the statements. The identified entities are used to parse the statements into keywords. The intent of the received statements is represented as relationships between two or more keywords. The statements are represented as a knowledge representation of formatted modules having two or more components and a structure of component relationships. Each statement keyword is assigned to a designated module component based on the alignment of component relationships with keyword relationships. The statement intent is expressed based on the relationships between keywords, and the statement response is inferred. The inferred statement is transmitted 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. Background Technology

[0002] More specifically, this invention relates to an artificial intelligence virtual dialogue platform that simulates interactive conversations, such as chatbots. A unified framework is introduced and utilized to develop corresponding conversational agents for goal-oriented information retrieval tasks using structured knowledge. Summary of the Invention

[0003] These embodiments include systems, computer program products, and methods for analyzing natural language statements using a unified framework.

[0004] In one aspect, a system is provided for use with an artificial intelligence (AI) platform to represent natural language (NL) intents within a virtual dialogue platform. As shown, the system includes a processing unit, such as a processor, operatively coupled to memory. An AI platform is provided to communicate with the processing unit. The AI ​​platform embeds tools in the form of a natural language (NL) manager, a relationship manager, and a communication manager. The NL manager detects NL statements received in the virtual dialogue platform, identifies one or more entities expressed in the statements, and uses the identified entities to parse the statements into one or more keywords. The relationship manager represents the received statement intent as a relationship between two or more keywords identified in the statement. The relationship manager further identifies knowledge representations to represent the statements as formatted modules with two or more components and component relationship structures. Each statement keyword is assigned to a designated module component based on the alignment of component relationships with keyword relationships. The communication manager expresses the statement intent based on the relationship between two or more keywords and infers a response to the received statement. The inferred statement is transmitted to the virtual dialogue platform.

[0005] In another aspect, a computer program product is provided to represent intents within a virtual dialogue platform. The computer program product includes a computer-readable storage medium having program code contained therein, the program code being executable by a processor to detect natural language (NL) statements received in the virtual dialogue platform. The NL statements are analyzed to identify one or more entities expressed in the statements. The identified entities are used to parse the statements into one or more keywords. Program code is provided to represent the intent of the received statements as a relationship between two or more keywords identified in the statements. Knowledge representation is identified as representing the statements as formatted modules having two or more components and a structure of component relationships. Based on the alignment of the component relationships with the keyword relationships, each statement keyword is assigned to a designated module component. Further, program code is provided for expressing the intent of the statements based on the relationships between the two or more keywords and inferring a response to the received statements. The inferred statements are transmitted to the virtual dialogue platform.

[0006] In another aspect, a method for representing intent within a virtual dialogue platform is provided. Natural language (NL) statements are detected and analyzed to identify one or more entities expressed in the statements. The identified entities are used to parse the statements into one or more keywords. The received statement intent is represented as the relationship between two or more keywords identified in the statement. Knowledge representation is identified as representing the statements as formatted modules with two or more components and component relationship structures. Each statement keyword is assigned to a specified module component based on the alignment of component relationships with keyword relationships. 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 statement is then transmitted to the virtual dialogue platform.

[0007] These and other features and advantages will become clear from the following detailed description of the present exemplary embodiments, taken in conjunction with the accompanying drawings. Attached Figure Description

[0008] The accompanying drawings, which are referenced herein, form part of the specification and are incorporated herein by reference. Unless otherwise indicated, the features shown in the drawings are intended to illustrate some embodiments only, and not all embodiments.

[0009] Figure 1 A block diagram illustrating an embodiment of the architecture of the dialogue framework is shown.

[0010] Figure 2 A schematic diagram of a computer system illustrating an embodiment of an artificial intelligence platform computing system in a network environment is shown.

[0011] Figure 3 The description is shown as follows Figure 2A block diagram of an embodiment of the artificial intelligence platform tools and their associated application programming interfaces shown and described.

[0012] Figure 4 A flowchart illustrating an embodiment of a method for processing natural language statements to determine the intent of the statements and selecting or creating module structures in an information processing system to represent the structure of the statements is shown.

[0013] Figure 5 A block diagram illustrating an example representation of a statement based on the identified keywords and values ​​is shown.

[0014] Figure 6 A flowchart illustrating an embodiment of a method for processing NL statements or queries and mapping those statements to a dialog module is shown.

[0015] Figure 7 A flowchart illustrating an embodiment of the components and logic flow used to generate dialog prompts is shown.

[0016] Figure 8 An example of a computer system / server illustrating a cloud-based support system is shown to implement the above-mentioned... Figure 1-7 A block diagram describing the system and process.

[0017] Figure 9 A block diagram illustrating a cloud computing environment is shown.

[0018] Figure 10 A block diagram illustrating a set of functional abstraction model layers provided by a cloud computing environment is shown. Detailed Implementation

[0019] It will be readily understood that these components of this embodiment, as generally described and illustrated in the accompanying drawings, can be arranged and designed in a wide variety of different configurations. Therefore, the following detailed description of embodiments of the apparatus, system, method, and computer program product presented in the accompanying drawings is not intended to limit the scope of the claimed embodiments, but merely to illustrate selected embodiments.

[0020] Throughout this specification, the terms "selected embodiment," "an embodiment," or "embodiment" are used to indicate that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment. Therefore, the phrases "selected implementation," "in one implementation," or "in an implementation" appearing in various places throughout this specification do not necessarily refer to the same implementation.

[0021] The illustrated embodiments will be best understood by referring to the accompanying drawings, in which the same parts are represented by the same numbers throughout. The following description is intended only to illustrate, by way of example and simply, certain selected embodiments of devices, systems, and processes consistent with the embodiments claimed herein.

[0022] In the field of artificial intelligence systems, natural language processing systems (such as IBM) Artificial intelligence computer systems and other natural language processing systems (NLPs) process natural language based on the knowledge they acquire. To process natural language, the system can be trained using data derived from databases or knowledge corpora; however, due to various reasons, the results may be incorrect or inaccurate.

[0023] Machine learning (ML), a subset of artificial intelligence (AI), uses algorithms to learn from data and create visions based on that data. AI refers to the intelligence of machines when they can make decisions based on information, maximizing the chances of success on a given subject. ML employs one or more neural models to recognize input patterns and incorporates algorithms that evolve over time. Neural models mimic how the human nervous system operates. The basic unit is called a neuron, which is typically organized into layers. Neural models work by simulating a large number of interconnected processing units that resemble an abstract version of a neuron. There are typically three parts in a neural model: 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). These units are connected with varying connection strengths or weights. Input data is presented in the first layer, and values ​​are propagated from each neuron to each neuron in the next layer. Results are passed from the output layer. Neural models are designed to mimic how the human brain works, so computers can be trained to support minimally defined abstractions and problems.

[0024] At the heart of AI and related reasoning lies the concept of similarity. Understanding natural language and objects requires reasoning from the perspective of potentially challenging relationships. Existing solutions for effectively identifying objects and understanding natural language and processing content responses are extremely difficult in practice.

[0025] Virtual conversational agents (also referred to herein as chat programs) are driving a growing demand for making existing services or information accessible or more accessible to end users. This demand is fueling the need to make commercial virtual locations (e.g., websites and mobile applications) conversational. Previous frameworks for building such conversational agents typically provide modular pipelines of conversational subtasks, such as Natural Language Understanding (NLU) conversation management. In those frameworks, each module requires its own well-designed and annotated data. However, the task of acquiring and maintaining such data is complex, labor-intensive, and significant. Tools and solutions for data collection are needed to improve conversational agents. Therefore, as shown and described herein, a system, computer program product, and method are provided to demonstrate a unified framework for developing conversational agents for goal-oriented information retrieval tasks using structured knowledge.

[0026] The unified framework provides a pipeline that can be consumed by end-to-end trainable models. Specifically, the framework is designed to enhance centralized knowledge representations to semantically link multiple dialogue subtasks. As shown in this paper, the pipeline is integrated with modules that collect data-driven evidence to continuously improve the model.

[0027] A dialog box comprises a series of communications between a user and a virtual agent. A dialog consists of or is defined by a main task (referred to herein as the dialog task) and one or more subtasks supporting the main task (also referred to herein as dialog subtasks). It should be understood in the art that questions providing answers can be presented to the virtual agent, and these answers are integrated into the dialog stream as dialog data. A centralized knowledge representation, as shown and described herein, can be shared among the dialog subtasks. It encompasses a set of domain entities, corresponding attributes of the entities, and relationships between the entities. Examples of corresponding attributes include expected data types and acceptable values. The centralized knowledge representation is built upon structured knowledge, which is typically accessible to end users, in the form of a database or application programming interface (API). Figures 4 to 7 As shown, statements in a virtual communication platform are evaluated to extract key-value pairs.<k,v> Here, k represents the statement keyword, and v represents the keyword value. In a business context, this value could be the price or cost corresponding to the keyword. These values ​​can be further processed to obtain keyword metadata, such as data type, range of values, and if the value is informable or requestable. Such metadata can be stored as...<k,r,v> Here, k is a keyword or entity name, r represents the relation or attribute type, and v represents the value of the keyword. The keywords used in this paper are terms representing relevant information (such as entities). Meta-information can be used to determine implicit dialogue states and dialogue actions.

[0028] The demand for accessing existing business services via chat applications (also known as conversational commerce) is increasing. This invention relates to exchanging information with end users based on a knowledge base of domain services, such as car insurance, real estate leasing, etc. However, interacting with the knowledge base to accomplish tasks can become challenging compared to repeatedly fusing query rules with statistical components for each domain. As shown and described herein, a unified implicit dialogue framework is provided for a goal-oriented information-finding conversational system. This framework enables conversational interaction with domain data without relying on explicitly encoded rules, instead leveraging the underlying data representation to construct the components required for interaction. The framework facilitates domain-agnostic prototyping of interactive domain search and enables the identification and sharing of common structural units across various domains.

[0029] As shown and described herein, the domain knowledge base is available or can be obtained from a corresponding commercial website with an embedded mode. A combination of the domain knowledge base, permission queries to the knowledge base, and application logic is used to infer conversational activity. (As shown in...) Figure 1-7 The diagram illustrates and describes a process of scanning a knowledge base and building a central knowledge representation that semantically associates multiple dialogue tasks (grounds), such as intent tagging, state tracking, and API calls to a domain database. This central knowledge representation is then automatically updated. It collects target feedback data directly consumed by the learning module for continuous improvement of the conversational system.

[0030] refer to Figure 1 A block diagram (100) is provided to illustrate an embodiment of the architecture of the 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 to 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. It covers domain entities and a set of semantic relationships between entities. For example, regarding apartment rentals, the domain entity is “apartment” and the semantic relationship is “has attributes”. The centralized knowledge representation provides so-called additional general characteristics that are associated with entities and help identify content that may be applied across domains. Examples of such general characteristics include, but are not limited to, expected data types, scope, and operations. The centralized knowledge representation is shown and described herein as being shared between dialogue tasks and subtasks. It covers domain entities and corresponding attributes of entities, such as expected data types and acceptable values, as well as a set of relationships between entities.

[0031] As further illustrated herein, the dialogue simulator (140) receives input from a user (160) and from an agent (162). The user input is in the form of natural language and text, which is transmitted to the NLU module (110) via a first channel (142) and a second channel (144) to identify the user intent. In one embodiment, the NLU module (110) utilizes a natural language classifier to identify the user intent from the received input (160). The NLU module (110) provides a low-level representation of the user intent, expressed as one or more relationships between one or more entities parsed from the received input (e.g., statements). The NLU module (110) transmits this representation to the inference engine (120) via a communication channel (122). The dialogue simulator (140) identifies potential virtual locations (e.g., websites) based on the topic of the received input and the corresponding query in one embodiment, and extracts data from location-embedded patterns. This data is passed to an inference engine (120) to infer the next dialogue action and output it to a prompt generator (130), which is shown to be passed to the dialogue simulator (140) via a communication channel (132). In one embodiment, the dialogue simulator collects user feedback during real-time interaction. Thus, the dialogue framework accesses requested information based on the identified user intent and transforms this information into one or more dialogue prompts (140) for the dialogue simulator.

[0032] refer to Figure 2A schematic diagram of a computer system (200) with an artificial intelligence platform to support session agent functionality through domain-structured knowledge is described herein. As shown, a server (210) is provided that communicates with multiple computing devices (280), (282), (284), (286), (288), and (290) across a network connection (e.g., a computer network (205)). The server (210) is configured with a processing unit (212) that communicates with a memory (216) via a bus (214). The server (210) is shown to have an artificial intelligence (AI) platform (250) with embedded tools to support and implement virtual session agent functionality processing and communication inference from one or more computing devices (280), (282), (284), (286), (288), and (290) over the network (205). The server (210) is shown herein as operatively coupled to a 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, wherein each communication link may include one or more wires, routers, switches, transmitters, receivers, etc. Furthermore, each of the computing devices (280) through (290) is operatively coupled to a knowledge base (270) across a network (205). Other embodiments of the server (210) may be used with components, systems, subsystems, and / or devices other than those described herein.

[0033] The AI ​​platform (250) is illustrated herein as having tools configured for managing and facilitating applications of cognitive computing about knowledge resources, and more specifically, supporting a unified framework for developing session agents for goal-oriented information retrieval tasks using 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 illustrated herein as library A (272A) and library B (272B), each defined by a specific product or service domain. Each library is illustrated as having a corresponding knowledge representation. More specifically, library A (272A) with knowledge representation A (274A) is illustrated, and library B (272B) with knowledge representation B (274B) is illustrated. In one embodiment, additional libraries with one or more knowledge representations may be provided, and thus the number of libraries and knowledge representations should not be considered limiting. In one embodiment, the knowledge base may be configured with a single library, such as library A (272A), which has multiple knowledge representations, and each knowledge representation relates to a category or product or service. Therefore, the number of libraries and knowledge representations shown in this paper is for descriptive purposes and should not be considered limiting.

[0034] The tools included in 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 the virtual conversation agent (260) (e.g., a chatbot or virtual dialogue platform). As shown, the chatbot (260) is operatively coupled to the tools of the AI ​​platform (250). The NL manager (252) is used to detect and analyze NL statements received in 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 in the platform (260) and receive responses in NL format from the underlying virtual agent via the platform (260). The NL manager (252) is used to analyze the received NL statements, which includes the identification of one or more entities represented in the statement. For example, in one embodiment, the analysis requires the NL manager (252) to identify grammatical components within the statement, such as subjects, nouns, verbs, etc., and use this identification to further parse the statement into one or more keywords. Therefore, the NL manager (252) performs NL processing on the received statement to parse the statement keywords.

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

[0036] The intent of a statement is determined from the identified statement keywords and any corresponding values. A communication manager (256) is used to express 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 passed to a chatbot (260) (e.g., a virtual dialogue platform).

[0037] There is a direct relationship between statement keywords and the data populated in the knowledge structure. The NL manager (252) is used to analyze the relationship between statement keywords and the data populated in the knowledge representation component. The NL manager can use different matching protocols for analysis. Matching protocols include literal matching, fuzzy string matching, semantic similarity, or a combination of two or more matching protocols. Therefore, the direct relationship is further defined by the matching protocol.

[0038] In addition to inferring communications within the virtual dialogue platform (260), knowledge representations are presented to a knowledge base to identify appropriate or relevant response data. As illustrated herein, an entity manager (258), operatively coupled to a communication manager (256), utilizes statement intents and keyword relationships, as reflected in the knowledge representation, to identify relevant data from a corresponding knowledge base. In one embodiment, the knowledge base may be, for example, one or more virtual locations (e.g., websites) with corresponding data. Using the populated knowledge representation, the entity manager (258) identifies one or more knowledge domain entities (e.g., websites) associated with the stated intents and keyword relationships, identifies structured knowledge of that knowledge domain for each identified keyword, and creates an association between the identified structured knowledge and the populated knowledge representation. More specifically, this association utilizes the functionality of the communication manager (256) to bridge the structured knowledge with module components (e.g., slots) and associated components, in one embodiment including module components populated with data from the entity structured knowledge of the domain entities. The entity manager (258) also transmits the identified structured knowledge as output (264) to the virtual dialogue platform (260). Therefore, the entity manager (258) is used to identify and transmit structured knowledge as response data to received statements across the virtual dialogue platform (260).

[0039] Different computing devices (280), (282), (284), (286), (288), and (290) communicating 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) is used to manage NLU for statement representation, dialogue inference, and structured knowledge recognition and output.

[0040] In various embodiments, the network (205) may include local network connectivity and remote connectivity, enabling the AI ​​platform (250) to operate in environments of any size, including, for example, local and global, such as the Internet. The AI ​​platform (250) acts as a front-end system that makes various kinds of knowledge extracted or represented from documents, network-accessible sources, and / or structured data sources available. In this way, some processing populates the AI ​​platform (250), which also includes an input interface for receiving and responding to requests. Content users can access the AI ​​platform (250) via a network connection or Internet connection to the network (205). The virtual dialogue platform (260) may be accessed by an operatively coupled visual display (230).

[0041] The AI ​​platform (250) is shown herein as having several tools to support and interface with the virtual dialogue platform (260). The tools, including the NL manager (252), relationship manager (254), communication manager (256), and entity manager (258), act individually or collectively as software or hardware tools.

[0042] In some illustrative embodiments, the server (210) may be an IBM product available from International Business Machines Corporation in Armonk, New York. The system is extended using the mechanisms of the illustrative embodiments described below. IBM The system may support tools (252)-(258) to support knowledge resource management and virtual dialogue functions, including structured knowledge recognition and inferred communication responses as described herein. Tools (252) to (258), also referred to herein as AI tools, are shown as implemented or integrated within or on the AI ​​platform (250) of the server (210). The AI ​​tools may be implemented in a separate computing system (e.g., 290) connected to the server (210) across a network (205). Regardless of implementation location, the AI ​​tools are used to support and enable the virtual dialogue platform for inferring knowledge about communication dialogues and structured domain knowledge of communication.

[0043] The range of information processing systems that can utilize the AI ​​platform (250) is from small handheld devices (such as handheld computers / mobile phones (280)) to 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 processing systems include pen or tablet computers (284), laptop or notebook computers (286), personal computer systems (288), and servers (290). As shown, different information processing systems can be networked together using computer networks (205). Types of computer networks (205) that can be used to interconnect different information processing systems include local area networks (LANs), wireless local area networks (WLANs), the Internet, the public switched telephone network (PSTN), other wireless networks, and any other network topologies that can be used to interconnect information processing systems. Many information processing systems include non-volatile data storage, such as hard disk drives and / or non-volatile memory. Some information processing systems may use a separate non-volatile data storage device (e.g., a server (290) uses a non-volatile data storage device (290A), and a mainframe computer (282) uses a non-volatile data storage device (282A). The non-volatile data storage device (282A) may be a component outside of different information processing systems or may be a component inside one of the information processing systems.

[0044] Information processing systems used to support AI platforms (250) can take many forms, some of which are... Figure 2 As shown in the figure. For example, the AI ​​platform can take the form of a desktop computer, server, portable, laptop, notebook, or other form factor computer or data processing system. In addition, the information processing system supporting the AI ​​platform (250) can take the form of other forms such as personal digital assistants (PDAs), gaming devices, ATMs, portable telephones, communication devices, or other devices including processors and memory.

[0045] Application Programming Interface (API) is understood in this field as software that acts as an intermediary between two or more applications. About Figure 2 The AI ​​platform (250) shown and described herein includes one or more APIs that can be used to support one or more of the tools (252) to (258) and their associated functions. (See also...) Figure 3A block diagram (300) is provided illustrating the tools (352) to (358) and their associated APIs. As shown, multiple tools are embedded within 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 can be implemented using one or more languages ​​and interface specifications. API0 (312) provides functional support for natural language processing, including statement keyword recognition; API1 (322) provides functional support for recognizing and processing knowledge representations corresponding to statements, and creating relationships between statement keywords and keyword relationships, as well as knowledge representations; API2 (332) provides functional support for inferring responses to received statements within a virtual dialogue platform; and API3 (342) provides functional support for recognizing structured knowledge and transmitting structured knowledge as response data to processed statements to the virtual dialogue platform. As shown in the figure, each of APIs (312), (322), (332), and (342) is operatively coupled to an API orchestrator (360), which is also referred to as an orchestration layer and is understood in the art to act as an abstraction layer to transparently thread individual APIs together. In one embodiment, the functionality of individual APIs can be joined or combined. Accordingly, the configuration of the APIs shown herein should not be considered limiting. Thus, as shown herein, the functionality of a tool can be embodied or supported by its respective API.

[0046] Reference Figure 4 A flowchart (400) is provided illustrating the process of determining the intent of a statement and selecting or creating a module structure in an information processing system to represent the structure of the statement. As shown, a statement or query is received or detected by a computer 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 syntactic components, which includes identifying one or more entities in the received statement (404). In addition to or instead of parsing the syntactic components of the statement, the parsing at step (404) may need to identify one or more keywords present in the statement. The number of parsed statement components (e.g., keywords) is assigned to a variable XTotal (406). Each identified keyword (e.g., keywordX) is evaluated to identify any keyword value that is explicitly or inherently present or detectable in the statement (408). In one embodiment, an NL processing tool is used to capture statement keywords and identify keyword values. The identified keywords and values ​​are represented as interconnect components (410). Thus, the received statement is processed to identify statement components, which are used to identify statement topics, keywords, and keyword values.

[0047] refer to Figure 5 A block diagram (500) is provided to illustrate an example representation of a statement based on the identified keywords and values. As shown, module (510) consists of multiple interconnected components (512), (514), (516), and (518). Module (510) represents a query or statement received by the dialogue simulator (140). Keywords and values ​​are shown as being populated in the components. In this example, the keyword “under” is assigned to the first component h1, (520), the value is assigned to the second component h2 (522), the second keyword “in” is assigned to the third component h3, (524), and the third keyword “Bronx” is assigned to the fourth component h4, (526). In this example, the keyword (e.g., entity) is “Bronx” and the value is “3,000”, and the keyword-value pair is represented as follows.<Bronx,3000> Values ​​h1, h2, h3, and h4 are latent representations of the detection words from the NLU platform, expressed in vector form.

[0048] Centralized Knowledge Representation (CKR) is used to represent received statements or queries in a format that can be shared between dialog subtasks. CKR covers domain entities, corresponding attributes (such as expected data types and acceptable values), or sets of entities and their relationships. CKR is built upon structured knowledge that end-users typically access in the form of databases or application APIs. Reference Figure 6 A flowchart (600) is provided to illustrate an embodiment of a method for processing NL statements or queries and mapping statements to dialog modules. For example... Figure 3 As shown, the 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 the corresponding module of the CKR based on the statement intent. After step (602), the statement intent is confirmed as representing a relationship between two or more entities in the statement (604) and encoded (606). In one embodiment, the relationship between two or more entities is partially represented as one or more mathematical operations and one or more variables. Instead of having a descriptive label for the intent in the CKR, the intent is represented as a combination of entities and operations. For example, the intent to “increase the price range” regarding finding an apartment is represented as <“apartment”, (price, +, num_val)>. Thus, the intent can be inferred directly from the CKR, and the intent is potentially applicable to new domains because it is constructed based on relative generation operations. In one embodiment, the framework of the CKR is designed to support plug-and-play customization modules. The encoded intent, along with the statement topic, is used to identify the CKR to generally represent the statement (608). Reference Figure 5CKR is shown at (550), where multiple slots are shown herein as c1(560), c2(562), c3(564), and c4(566). CKR and the corresponding slots are potential representations of the input statement. As shown in this example, the value 'price' at c2(562) is a potential representation of the value 'price' at h2(522), and the value 'price' at c4(566) is a potential representation of the value 'price' at h4(526).

[0049] In one embodiment, a library of generic CKR representations is maintained and searched to identify previous generic representations, also referred to herein as a warm start. If a previous representation does not exist, a new representation can be created, also referred to herein as a cold start. Thus, received statements undergo initial processing and component resolution to identify and represent statement components.

[0050] For cold starts with unannotated dialogue data, user intent is encoded with semantically matched entities, and corresponding generic actions such as ADD and DELETE are performed on the entities, as constrained by the desired data type. Semantic matching maps user utterances to elements in the CKR in three consecutive steps: lateral matching, fuzzy matching, and vector representation matching. Fuzzy matching identifies approximate matches between entities, and vector representation matching supports matching related entities using vectorized word representations. For warm-start states with some dialogue data annotated with intent, a trained model is employed to predict the intent. More specifically, at each time step in the sequence, the input text sequence is encoded by a neural network (e.g., LSTM or GRU). After step (608), the intent and input utterance representation form a semantic frame, which is converted into a query or API call (610) with keywords and (or more) values ​​as search constraints for the requested entity. The query or API call is processed, and the domain (e.g., virtual location or website) that satisfies the query or API call is identified (612). The corresponding domain pattern is identified (614), and data from the pattern is selectively associated with the identified CKR (616). More specifically, the latent representation in the CKR is matched with the pattern representation and values ​​to create an association between the location structured knowledge and the latent representation of the statement, and one or more components in the latent representation are populated from the entity structured knowledge.

[0051] After step (616), the next dialogue activity (e.g., a dialogue prompt) is inferred and transmitted as a dialogue prompt to the dialogue simulator (618). Figure 1 As shown, this inference is supported by an inference engine (120). The goal of the inference engine is to optimize the acquisition of the results of the received statement or query and infer the next action. Based on Figure 5 The examples in the document, along with the output from the location pattern, allow the inference engine to request location specification or price range identification. (Reference) Figure 7A flowchart (700) is provided to illustrate an embodiment of the components and logical flow for generating dialogue prompts. As shown, the dialogue simulator (710) is operatively connected to a dialogue state, such as dialogue activity, and a frame tracking unit (720). Dialogue statements are detected and processed, such as... Figure 5 The domain database (750), shown and described, and represented as a pattern, is used to populate the components of the CKR. As shown herein, a recurrent neural network (730) with Long Short-Term Memory (LSTM) blocks (732) and (734) is illustrated to provide context to the received statements and create outputs in the form of a dialogue prompt generator (740). The recurrent neural network uses the LSTM block (732) to encode the received statements into latent representations and uses the LSTM block (734) to decode the statements into dialogue states. The softmax activation function (736) is used to evaluate and output the probability P of each dialogue action, where y represents the dialogue state, t-1 represents the previous dialogue statement, and w is the weight. Thus, the LSTM block shown herein uses the statement input and the latent representation of the input to create a dialogue simulator and communicate its output to the dialogue simulator.

[0052] In step (618), the inference of the dialogue prompt is based on the statement intent, the dialogue statement, and previous search results in one embodiment. The dialogue simulator makes API calls or requests for most of the information based on CKR to optimize the search experience. Thus, CKR provides a unified framework for developing session agents for goal-oriented information retrieval tasks using structured knowledge.

[0053] The aspects of the functional tools (252) to (258) and their associated functions can be embodied in a single-location computer system / server, or, in one embodiment, can be configured in a cloud-based system sharing computing resources. Reference Figure 8 A block diagram (800) is provided illustrating an example of a computer system / server (802), hereinafter referred to as a host (802) communicating with a cloud-based support system (880) to implement the above-mentioned... Figure 1-7 The process described. The host (802) can operate with many other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations suitable for use with 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 (e.g., distributed storage environments and distributed cloud computing environments) that include any of the above systems, devices, and their equivalents.

[0054] The host (802) can 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 specific tasks or implement specific abstract data types. The host (802) can be implemented in a distributed cloud computing environment (880), where tasks are performed by remote processing devices linked via a communication network. In a distributed cloud computing environment, program modules can reside in local and remote computer system storage media, including memory storage devices.

[0055] like Figure 8 As shown, the host (802) is illustrated as 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, system memory (806), and a bus (808) coupling the various system components, including the system memory (806), to the processor (804). The bus (808) represents any one or more of several types of bus architectures, 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 can be any available media accessible by the host (802), and includes volatile and non-volatile media, removable and non-removable media.

[0056] 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, the storage system (834) may be provided for reading from and writing to a non-removable, non-volatile magnetic medium (not shown, and generally referred to as a "hard disk drive"). Although not shown, a disk drive may be provided for reading from or writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive may be provided for reading from or writing to a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM, or other optical media). In such a case, each may be connected to a bus (808) via one or more data media interfaces.

[0057] A program / utility (840) having a set (at least one) of program modules (842), along with an operating system, one or more applications, other program modules, and program data, may be stored in memory (806) by way of example, not limitation. Each or some combination of the operating system, one or more applications, other program modules, and program data may include an implementation of a network environment. The program modules (842) generally perform the functions and / or methods of the various embodiments to dynamically communicate, evaluate, identify, and process queries. For example, the set of program modules (842) may include, for example, Figure 2 The tools described in (252)-(258).

[0058] The host (802) can also communicate with one or more external devices (814), such as a keyboard, pointing device, etc.; a display (824); one or more devices that enable a user to interact with the host (802); and / or any device that enables the host (802) to communicate with one or more other computing devices (e.g., a network card, modem, etc.). Such communication may occur via an input / output (I / O) interface (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), and / or a public network (e.g., the Internet), via a network adapter (820). As depicted, the network adapter (820) communicates with other components of the host (802) via a bus (808). In one embodiment, multiple nodes of a distributed file system (not shown) communicate with the host (802) via the I / O interface (822) or via the network adapter (820). It should be understood that, although not shown, other hardware and / or software components may be used in conjunction 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 archiving storage systems.

[0059] In this document, the terms “computer program media,” “computer-usable media,” and “computer-readable media” are used to refer in general 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).

[0060] A computer program (also known as computer control logic) is stored in memory (806). The computer program can also be received via a communication interface (such as a network adapter (820)). Such a computer program, when run, enables the computer system to perform the features of this embodiment as discussed herein. Specifically, the computer program, when run, enables the processing unit (804) to perform the features of the computer system. Thus, such a computer program represents the controller of the computer system.

[0061] Computer-readable storage media can be tangible devices capable of retaining and storing instructions used by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, 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 universal disk (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or protrusions in slots having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0062] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device or to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device.

[0063] Computer-readable program instructions used to perform the operations of this embodiment may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Java, Smalltalk, C++, etc.) and session-process 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, server, or server cluster. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or 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, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by personalizing the electronic circuitry with state information from the computer-readable program instructions in order to perform aspects of the embodiments.

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

[0065] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring human interaction with the service provider.

[0066] Extensive network access: Capabilities are available through networks and accessed via standard mechanisms that facilitate the use of heterogeneous thin client platforms or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0067] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. There is a sense of location independence because consumers typically do not have control or knowledge of the exact location of the resources provided, but may be able to specify a location at a higher level of abstraction (e.g., country, state, or data center).

[0068] Rapid elasticity: The ability to supply resources quickly and flexibly, automatically in some cases, to rapidly shrink and rapidly expand. For consumers, the available supply capacity often appears unrestricted and can be purchased in any quantity at any time.

[0069] Measurable services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at an abstraction layer appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.

[0070] The service model is as follows:

[0071] Software as a Service (SaaS): This provides consumers with the ability to use a provider's applications running on cloud infrastructure. These applications can be accessed from different client devices via a thin client interface such as a web browser (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.

[0072] Platform as a Service (PaaS): This provides consumers with the ability to deploy applications created or acquired by the consumer using programming languages ​​and tools supported by the provider onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they have control over the deployed applications and the configuration of any application hosting environment.

[0073] Infrastructure as a Service (IaaS): This provides consumers with the capability to deliver processing, storage, networking, and other basic computing resources that enable them to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but rather have control over the operating system, storage, deployed applications, and potentially limited control over selected networking components (e.g., host firewalls).

[0074] The deployment model is as follows:

[0075] Private cloud: A cloud infrastructure that operates solely for an organization. It can be managed by the organization or a third party and can exist on-site or off-site.

[0076] Community cloud: A cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.

[0077] Public cloud: Cloud infrastructure available to the public or large industry groups and owned by organizations that sell cloud services.

[0078] Hybrid cloud: Cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported (e.g., cloud bursting for load balancing between clouds).

[0079] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure comprising a network of interconnected nodes.

[0080] See now Figure 9 An illustrative cloud computing network (900) is shown. As illustrated, the cloud computing network (900) includes a cloud computing environment (950) with one or more cloud computing nodes (910), to which local computing devices used by cloud consumers can communicate. Examples of such local computing devices include, but are not limited to, personal digital assistants (PDAs) or cellular phones (954A), desktop computers (954B), laptop computers (954C), and / or automotive computer systems (954N). Individual nodes within the nodes (910) can further communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows the cloud computing environment (900) to provide infrastructure, platforms, and / or software as services for which cloud consumers do not need to maintain resources on their local computing devices. It should be understood that... Figure 9 The types of computing devices (954A to 954N) shown are intended to be illustrative only, and the cloud computing environment (950) can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0081] See now Figure 10 This shows the result of Figure 9 The cloud computing network provides a set of functional abstraction layers (1000). It should be understood in advance that... Figure 10The components, layers, and functions shown are intended to be illustrative only, and the embodiments are not limited thereto. As depicted, the following layers and corresponding functions are provided: hardware and software layer (1010), virtualization layer (1020), management layer (1030), and workload layer (1040).

[0082] The hardware and software layer (1010) includes hardware and software components. Examples of hardware components include mainframes, which in one example are... System; a server based on a RISC (Reduced Instruction Set Computer) architecture, in one example being an IBM... System; IBM System; IBM Systems; storage systems; networks and network components. Examples of software components include network application server software, one example being IBM. Application server software; and database software, in one example, IBM. Database software. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, and DB2 are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide.)

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

[0084] In one example, the management layer (1030) can provide the following functions: resource provisioning, metering and pricing, user portal, service level management, and SLA planning and enforcement. Resource provisioning provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and pricing provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication 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 level management provides the allocation and management of cloud computing resources to meet required service level requirements. Service level agreement (SLA) planning and enforcement provides the pre-scheduling and procurement of cloud computing resources, anticipating future requirements for those resources according to the SLA.

[0085] The workload layer (1040) provides examples of functions that can be utilized in a cloud computing environment. Examples of workloads and functions that can be provided from this layer include, but are not limited to: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; data analytics and processing; transaction processing; and virtual dialogue platform management.

[0086] It should be understood that this document discloses a system, method, apparatus, and computer program product for evaluating natural language input, detecting queries in corresponding communications, and parsing the detected queries with answers and / or supporting content.

[0087] While specific embodiments of this example have been shown 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 these embodiments and their broader aspects. Therefore, the appended claims include, within their scope, all such changes and modifications within the true spirit and scope of the embodiments. Furthermore, it should be understood that the embodiments are defined solely by the appended claims. Those skilled in the art will understand that if a specific number of the introduced claim elements are intended, such an intention will be explicitly stated in the claims, and without such a statement, there is no such limitation. As a non-limiting example, to aid understanding, the following appended claims contain the use of the introductory phrases “at least” and “one or more” to introduce claim elements. However, the use of such phrases should not be construed as implying that introducing a claim element by the indefinite article “a(a)” or “an” limits any particular claim containing such an introduced claim element to an implementation containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a(a)” or “an”; the same applies to the use of definite articles in claims.

[0088] This embodiment may be a system, method, and / or computer program product. Furthermore, the selected aspects of this embodiment may take the form of a completely hardware implementation, a completely software implementation (including firmware, resident software, microcode, etc.), or a combination of software and / or hardware aspects, collectively referred to herein as a "circuit," "module," or "system." Additionally, aspects of this embodiment 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 this embodiment. Specifically, the disclosed system, method, and / or computer program product operates 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 virtual communication response data in a corresponding virtual communication platform.

[0089] Computer-readable storage media can be tangible devices capable of retaining and storing instructions used by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, 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 universal disk (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or protrusions in slots having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0090] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device or to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device.

[0091] The computer-readable program instructions used to perform the operations of this embodiment may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Java, Smalltalk, C++, etc.) and session-process 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, server, or server cluster. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or 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, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by personalizing the electronic circuitry using state information from the computer-readable program instructions in order to perform aspects of this embodiment.

[0092] This document describes various aspects of the present embodiments with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to the embodiments. It should 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.

[0093] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, thereby comprising an article of manufacture containing instructions that implement aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0094] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, thereby causing the instructions to be executed on the computer, other programmable apparatus, or other device to perform the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0095] 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 different embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than indicated in the figures. For example, depending on the functions involved, two consecutively shown blocks may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.

[0096] It will be understood that while specific embodiments have been described herein for illustrative purposes, various modifications may be made without departing from the spirit and scope of the embodiments. Therefore, the scope of protection of the embodiments is defined only by the appended claims and their equivalents.

Claims

1. A computer system, comprising: The processor is operatively coupled to the memory. as well as An artificial intelligence (AI) platform, communicating with the processor, the AI ​​platform having a natural language understanding (NLU) tool, the NLU tool being configured to express intent within a virtual dialogue platform operatively coupled to the AI ​​platform, the NLU tool comprising: A Natural Language (NL) manager is configured to detect and analyze NL statements, including identifying one or more entities expressed in the NL statement and using the identified one or more entities to parse the NL statement into two or more keywords and one or more keyword values; A relationship manager, operatively coupled to the NL manager, the relationship manager being configured to represent the intent of the NL statement as a key relationship between two or more keys identified in the NL statement, including for: The knowledge representation is used to represent the NL statement as a formatted module including a structure comprising two or more components and component relationships, the two or more components representing common characteristics; The two or more keywords and one or more keyword values ​​are assigned to the two or more components of the formatting module based on the alignment of the component relationship and the keyword relationship. The communication manager is configured as follows: The intent of the statement is expressed based on the relationship between the two or more keywords; and Selectively associate the domain pattern with the NL statement represented by the formatting module, and infer the response to the received statement from the domain pattern; and An entity manager is configured to transmit the inferred response to the virtual dialogue platform that is operationally coupled to the AI ​​platform.

2. The system according to claim 1, wherein, The relationship between the two or more keywords is partially represented as one or more mathematical operations and one or more variables.

3. The system according to claim 1, wherein, The entity manager is operatively coupled to the communication manager, and the entity manager is configured to: Identify one or more entities related to the intent of the NL statement and the relationship between the two or more keywords and the one or more keyword values; Identify structured knowledge for each of two or more keywords and one or more keyword values ​​identified; Create an association between the identified structured knowledge and the formatting module; as well as The identified structured knowledge is transmitted as output to the virtual dialogue platform.

4. The system according to claim 3, wherein, The association created between the identified structured knowledge and the formatting module further includes: the communication manager being configured to bridge the identified structured knowledge with the two or more components and component relationships, including populating the two or more components with data from the identified structured knowledge.

5. The system of claim 1, wherein the statement parsing performed by the NL manager includes the NL manager being configured to selectively analyze the relationship between the two or more keywords represented in the statement and the data filling the two or more components.

6. The system according to claim 5, wherein, The NL manager, which selectively analyzes the relationships, is further configured to include matching protocols that utilize literal matching, fuzzy string matching, semantic similarity analysis, or combinations thereof.

7. A computer program product for expressing intent within a virtual dialogue platform, the computer program product comprising a computer-readable storage medium having program code contained therein, the program code being processor-executable to: Detecting and analyzing NL statements, including identifying one or more entities expressed in the NL statement, and using the identified one or more entities to parse the NL statement into two or more keywords and one or more keyword values; Representing the intent of the received NL statement as a keyword relationship between the two or more keywords identified in the NL statement includes identifying a knowledge representation to represent the NL statement as a formatting module including a structure comprising two or more components and component relationships, the two or more components representing general characteristics, and assigning the two or more keywords and the one or more keyword values ​​to the two or more components of the formatting module based on the alignment of the component relationships with the keyword relationships; as well as The intent of the statement is expressed based on the relationship between the two or more keywords; The domain pattern is selectively associated with the NL statement represented by the formatting module, and the response to the received statement is inferred from the domain pattern; as well as The inferred response is transmitted to the virtual dialogue platform.

8. The computer program product according to claim 7, wherein, The relationship between the two or more keywords is partially represented as one or more mathematical operations and one or more variables.

9. The computer program product of claim 7, further comprising program code executed by the processor to perform the following operations: Identify one or more entities related to the intent of the NL statement and the relationship between the two or more keywords and the one or more keyword values; Identify structured knowledge for each of the two or more keywords and the one or more keyword values ​​identified; Create an association between the identified structured knowledge and the formatting module; as well as The identified structured knowledge is transmitted as output to the virtual dialogue platform.

10. The computer program product according to claim 9, wherein, The association created between the identified structured knowledge and the formatting module further includes, executed by the processor, bridging the identified structured knowledge with the two or more components and component relationships, including populating the program code of the two or more components with data from the identified structured knowledge.

11. The computer program product according to claim 7, wherein, The program code used to parse the statement includes program code executed by the processor to selectively analyze the relationship between the two or more keywords represented in the statement and the data filling the two or more components.

12. The computer program product according to claim 11, wherein, The program code for selectively analyzing the relationship includes program code executed by the processor to utilize matching protocols, which include literal matching, fuzzy string matching, semantic similarity analysis, or a combination thereof.

13. A method for expressing intent within a virtual dialogue platform using a computing device, the method comprising: The computing device detects and analyzes NL statements, including identifying one or more entities expressed in the NL statement, and using the identified one or more entities to parse the NL statement into two or more keywords and one or more keyword values; The computing device represents the intent of the NL statement as a keyword relationship between two or more keywords identified in the NL statement, including recognizing a knowledge representation to represent the NL statement as a formatting module including a structure comprising two or more components and component relationships, the two or more components representing general characteristics, and assigning the two or more keywords and one or more keyword values ​​to the two or more components of the formatting module based on the alignment of the component relationships with the keyword relationships; The computing device expresses the intent of the statement based on the relationship between the two or more keywords; The domain pattern is selectively associated with the NL statement represented by the formatting module, and the response to the received statement is inferred from the domain pattern; as well as The inferred response is transmitted to the virtual dialogue platform.

14. The method according to claim 13, wherein, The relationship between the two or more keywords is partially represented as one or more mathematical operations and one or more variables.

15. The method of claim 13, further comprising: Identify one or more entities related to the intent of the NL statement and the relationship between the two or more keywords and the one or more keyword values; Identify structured knowledge for each of the two or more keywords and the one or more keyword values ​​identified; Create an association between the identified structured knowledge and the formatting module; as well as The identified structured knowledge is transmitted as output to the virtual dialogue platform.

16. The method according to claim 15, wherein, The creation of the association between the identified structured knowledge and the formatting module further includes bridging the identified structured knowledge with the two or more components and component relationships, including populating the two or more components with data from the identified structured knowledge.

17. The method according to claim 13, wherein, The statement parsing includes selectively analyzing the relationship between the two or more keywords represented in the statement and the data filled in the two or more components.

18. The method according to claim 17, wherein, The relationships are selectively analyzed using matching protocols, including literal matching, fuzzy string matching, semantic similarity analysis, or a combination thereof.

Citation Information

Patent Citations

  • Adaptive semantic reasoning engine

    CN101356525A

  • Conversational understanding

    US9996531B1