Query-based method for deriving insight regarding manufacturing operation
By receiving and parsing initial queries from OT personnel and generating follow-up queries in response, the complexity problem of OT personnel when exporting manufacturing insights is solved, achieving efficient and accurate data retrieval and insight export.
Patent Information
- Application Number
- JP2024174269
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-03
- Filing Date
- 2024-10-03
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-10-03
AI Technical Summary
The prior art is difficult to effectively derive the manufacturing insights required by operational technology (OT) personnel, and the data search process is complex, especially for OT personnel who are not familiar with IT database structures.
By receiving the initial query input from the user, query analysis is performed to generate the parsed query, and a follow-up query is generated based on the parsing results to generate the corresponding response. The system includes modules for query parsing, learning query sequences, and generating follow-up queries, through which the modules implement the export of OT insights.
It realizes smooth export of OT insights, reduces the complexity and time cost of OT personnel when searching manufacturing data, and improves the efficiency and accuracy of data retrieval.
Smart Images

Figure 2025063017000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure generally relates to methods and systems for generating query responses. [Background technology]
[0002] Manufacturing operations constitute a complex interplay of OT (operational technology) processes across large geographical areas. Such OT processes may include work processes occurring within the plant (e.g., maintenance, quality, manufacturing, etc.) and work processes occurring outside the plant (e.g., supply chain, logistics, purchasing, etc.). These processes are typically monitored by a combination of manual and automated methods, and data is collected and stored in IT (information technology) databases. These databases are distributed across several plant sites and the cloud, and may be stored in a wide variety of formats, from structured (e.g., machine data, documents) to unstructured (e.g., video, sensor data). Data availability may also be partial for some of the above processes, since not all collectable data is collected.
[0003] The IT database is then made available to appropriate OT stakeholders, which may include maintenance managers, operations managers, CEOs, etc. The stored data can be viewed on dashboards that receive notifications and derive insights regarding the state of operations in the plant. Depending on the nature of their jobs, OT stakeholders may be interested in different types of data or the insights that can be derived from them.
[0004] Gaining satisfying insights from manufacturing data is not an easy task. The insights OT practitioners hope to extract do not have a one-to-one correspondence with one or more IT data sources, and OT practitioners must browse and explore across numerous dashboards in search of the data they need. However, data exploration itself is a difficult task for OT practitioners who are not familiar with how data is structured or stored in IT databases.
[0005] In the related art, a method for generating related queries based on semantic search is disclosed. Such a method searches for semantically similar words and generates related queries as output to a user. However, the context of the input query may be lost while performing the semantic search, and the method cannot predict follow-up queries for the input query. Summary of the Invention [Problem to be solved by the invention]
[0006] What is needed is a method and system that enables seamless derivation of OT insights. [Means for solving the problem]
[0007] Aspects of the present disclosure involve an innovative method for generating a query response. The method may include: receiving, by a processor, an input query from a first user; performing, by the processor, query parsing on the input query to generate a parsed query; determining, by the processor, a query type associated with the parsed query; if the query type is determined to be an initial query, generating, by the processor, a first follow-up query for the input query based on the parsed query; generating, by the processor, a response to the parsed query and the first follow-up query and displaying, by the processor, the response to the parsed query and the first follow-up query on a graphic user interface (GUI); if the query type is determined to be a follow-up query to a previous query input by a second user, performing, by the processor, learning a query sequence from the previous query to the input query; generating, by the processor, a second follow-up query for the input query based on the parsed query; generating, by the processor, a response to the parsed query and the second follow-up query and displaying, by the processor, the response to the parsed query and the second follow-up query on the GUI.
[0008] Aspects of the present disclosure involve an innovative non-transitory computer-readable medium that stores instructions for generating a query response. The instructions may include: receiving, by a processor, an input query from a first user; performing, by the processor, query parsing on the input query to generate a parsed query; determining, by the processor, a query type associated with the parsed query; if the query type is determined to be an initial query, generating, by the processor, a first follow-up query for the input query based on the parsed query; generating, by the processor, a response to the parsed query and the first follow-up query and displaying, by the processor, the response to the parsed query and the first follow-up query on a graphic user interface (GUI); if the query type is determined to be a follow-up query to a previous query input by a second user, performing, by the processor, learning a query sequence from the previous query to the input query; generating, by the processor, a second follow-up query for the input query based on the parsed query; and generating, by the processor, a response to the parsed query and the second follow-up query and displaying, by the processor, the response to the parsed query and the second follow-up query on the GUI.
[0009] Aspects of the present disclosure involve an innovative server system for generating query responses. The method may include: receiving, by a processor, an input query from a first user; performing, by the processor, query parsing on the input query to generate a parsed query; determining, by the processor, a query type associated with the parsed query; if the query type is determined to be an initial query, generating, by the processor, a first follow-up query for the input query based on the parsed query; generating, by the processor, a response to the parsed query and the first follow-up query and displaying, by the processor, the response to the parsed query and the first follow-up query on a graphic user interface (GUI); if the query type is determined to be a follow-up query to a previous query input by a second user, performing, by the processor, learning a query sequence from the previous query to the input query; generating, by the processor, a second follow-up query for the input query based on the parsed query; generating, by the processor, a response to the parsed query and the second follow-up query and displaying, by the processor, the response to the parsed query and the second follow-up query on the GUI.
[0010] An aspect of the present disclosure involves an innovative system for generating a query response, which may include: receiving an input query from a first user; performing query parsing on the input query to generate a parsed query; determining a query type associated with the parsed query; generating a first follow-up query for the input query based on the parsed query if the query type is determined to be an initial query; generating a response to the parsed query and the first follow-up query; and displaying the parsed query and the response to the first follow-up query on a graphic user interface (GUI); performing learning of a query sequence from the previous query to the input query if the query type is determined to be a follow-up query for a previous query input by a second user; generating a second follow-up query for the input query based on the parsed query; generating a response to the parsed query and the second follow-up query; and displaying the response to the parsed query and the second follow-up query on the GUI.
[0011] A generic architecture for implementing various features of the present disclosure is described below with reference to the drawings. The drawings and the associated description are provided to illustrate exemplary embodiments of the present disclosure and are not intended to limit the scope of the present disclosure. Throughout the drawings, reference numbers are also used again to indicate correspondence between referenced elements. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 illustrates an exemplary system environment for performing insight derivation, according to one exemplary implementation. [Diagram 2] FIG. 2 illustrates an exemplary query 200, according to one exemplary implementation. [Diagram 3] FIG. 1 illustrates an exemplary application of a manufacturing insights query tool 103, according to one exemplary implementation. [Figure 4] FIG. 4 illustrates an example factory knowledge graph 400 according to one example implementation. [Diagram 5] FIG. 5 illustrates an example system configuration 500 of a manufacturing insights query tool 103 according to an example implementation. [Figure 6] FIG. 6 illustrates an example process flow 600 for processing an input query using the query parsing module 504 according to one example implementation. [Figure 7] FIG. 7 illustrates an exemplary parsed queries table 700 according to one exemplary implementation. [Figure 8] FIG. 8 illustrates an exemplary data structure 800 of a node in the factory knowledge graph database 516 according to one exemplary embodiment. [Figure 9] FIG. 9 illustrates an exemplary data structure 900 of a node in the factory knowledge graph database 516 according to one exemplary embodiment. [Figure 10] FIG. 10 illustrates an exemplary KPI tree diagram 1000, according to one exemplary implementation. [Figure 11] FIG. 11 illustrates an example process flow 1100 for using the query learning module 506 according to one example implementation. [Figure 12] FIG. 12 illustrates an exemplary data structure 1200 for the query database 512, according to one exemplary implementation. [Figure 13] FIG. 5 illustrates an exemplary application of a hierarchical query database 514, according to one exemplary implementation. [Figure 14] FIG. 14 illustrates an example process flow 1400 for using the query generation module 508 according to one example implementation. [Figure 15] FIG. 5 illustrates an exemplary factory data database 518 according to one exemplary embodiment. [Figure 16] FIG. 1 illustrates an exemplary computing environment having an exemplary computing device suitable for use in some exemplary implementations. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] The following detailed description provides details of the figures and exemplary implementations of the present application. Reference numbers and descriptions of elements that overlap between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term "automatic" may include fully automatic or semi-automatic implementations with user or administrator control over certain aspects of the implementation, depending on the desired implementation of the person skilled in the art practicing the embodiments of the present application. Selection may be performed by a user via a user interface or other input means, or may be performed via a desired algorithm. The exemplary implementations as described herein may be utilized either alone or in combination, and the functionality of the exemplary implementations may be implemented via any means according to the desired embodiment.
[0014] FIG. 1 illustrates an exemplary system environment for performing insight derivation, according to one exemplary embodiment. As illustrated in FIG. 1, there are several manufacturing entities 101 (manufacturing entities 101-1 to 101-N). Each of the manufacturing entities 101 may be a factory, an external warehouse, a distribution and logistics system, etc. The various manufacturing entities 101 may represent group plants of a global company that are distributed in various locations across different continents.
[0015] A manufacturing employee 104 is an employee associated with at least one manufacturing entity 101. The manufacturing employee 104 can create a query (Query A) to the manufacturing insights query tool 103, which generates a response (Response A) and supplemental information to the query. Upon receiving a query from the manufacturing employee 104, the manufacturing insights query tool 103 queries the data sources 102 that store information about the manufacturing entities 101. The insight derivation process is described in further detail below.
[0016] An employee (Employee A) begins a session by creating an initial query to the manufacturing insights query tool 103. Based on the generated responses from the manufacturing insights query tool 103, Employee A can perform additional queries, which may be follow-up queries to the initial query or new initial queries. A follow-up query is a query created subsequent to the initial query that seeks better insight or more detailed responses than those provided.
[0017] During the learning process of the manufacturing insights query tool 103, the manufacturing insights query tool 103 learns to distinguish between follow-up queries of an initial query and new initial queries, and to distinguish query sequences between follow-up questions and initial queries. The manufacturing insights query tool 103 learns from past queries to infer related follow-up queries of a current initial query, finds answers to those related follow-up queries, and presents them as supplemental information to the current initial query to derive additional insights.
[0018] When another employee (employee B) formulates an initial query at a later point in time, the manufacturing insights query tool 103 predicts relevant follow-up questions to employee B's initial query based on what it has learned during this learning process. The answers to the relevant follow-up questions are then generated by the manufacturing insights query tool 103 as relevant supplemental information.
[0019] 2 illustrates an example query 200 according to one example implementation. As shown in FIG. 2, the query 200 includes information such as, but not limited to, query metadata 202 and a query body 204. The query metadata 202 contains information about the person who initiated the query (e.g., the plant the person is associated with, the department the person is associated with, the person's job title, etc.). The query body 204 contains the actual query that was entered into the system / tool.
[0020] 3 illustrates an example application of the manufacturing insights query tool 103, according to one example implementation. As shown in FIG. 3, interactions with employee A are used in a learning process, which is then used during execution to generate supplemental information about employee B. The supplemental information is relevant information that the query requester can use in finding the root cause for the problem identified in the input query.
[0021] An initial query of "Give me the OEE (Overall Equipment Effectiveness) of the inverter line last month" is entered by employee B to a manufacturing insights query tool 103 located at a location remote from employee A's location. The OEE is a key key performance indicator used in the manufacturing process and measures the productivity of facilities, processes, and equipment. Using this information and the learned query sequence associated with employee A's query, the manufacturing insights query tool 103 returns a value of 50% as a response to employee B along with extracted supplemental information explaining why the value is low. Examples of this supplemental information may include statements such as "Machine X on the INV line was paused for 30 minutes during routine maintenance last month", "Quality check results for process Y on the INV line were less than 5% of last week compared to the average value", "Delays caused by a supplier of raw material Z (used in the ECU line that feeds the inverter line)", etc.
[0022] 4 illustrates an exemplary factory knowledge graph 400 according to one exemplary embodiment. The factory knowledge graph 400 maps various processes and employee relationships for a global enterprise or an enterprise with operations across various locations. Applications of the factory knowledge graph 400 are described in detail below.
[0023] Various nodes of the factory knowledge graph 400 determine processes and information from machines, worker IDs, etc. The factory knowledge graph 400 may be composed of several separate trees, where each tree contains nodes that are connected in one direction and nodes across different trees may be indirectly connected.
[0024] Nodes with directional connections (e.g., nodes 21a-31a) are based on the flow of materials / processes over time in the factory. For example, if a part that is manufactured first undergoes process A and then process B, then there is a directional connection from process A to process B for the manufacture of that part. Nodes that are indirectly connected (e.g., nodes 21a and 21b, nodes 22a and 22b, nodes 31a and 31b, nodes 41a and 41b, and nodes 41a and 42b) may be similar or the same process, but may be performed at different sites or lines. Human inputs and information from existing systems such as enterprise resource planning (ERP), warehouse management systems (WMS), manufacturing execution systems (MES), etc. are used in constructing the factory knowledge graph 400.
[0025] 5 illustrates an example system configuration 500 of the manufacturing insights query tool 103 according to one example implementation. As illustrated in FIG. 5, the manufacturing insights query tool 103 may include a user login module 502, a query parsing module 504, a query learning module 506, a query generation module 508, a query response module 510, a query database 512, a hierarchical query database 514, a factory knowledge graph database 516, and a factory data database 518.
[0026] To initiate a session with the manufacturing insights query tool 103, a user logs into the system by entering user login information, which is received and processed by the user login module 502. The entered user login information may be used to identify information such as user location, plant location, user job title, etc., and the query metadata 202 includes the user login information. Upon completion of the session, the user logs out of the system and the session is then stopped.
[0027] The query parsing module 504 receives an input query and then parses the input query using natural language functions to generate a parsed query for subsequent processing. The query learning module 506 receives the parsed query as input and determines whether the query is an initial query or a follow-up query to a previous query made by the same user. The query learning module 506 learns query sequences between the follow-up queries and the initial query and stores the learned query sequences and associated queries in a hierarchical query database (DB) 514.
[0028] The query generation module 508 generates follow-up queries for the current query / input query using the query sequences stored in the hierarchical query database 514. The query response module 510 generates responses to the current query / input query and follow-up queries identified by the query generation module 508. The query database 512 is a database that stores all query entries made in past query sessions and is constantly updated when a new query or session is started.
[0029] The factory knowledge graph database 516 stores information related to the factory knowledge graph 400 as shown in Figure 4. Figure 15 illustrates an example factory data database 518 according to one example implementation. As shown in Figure 15, the factory data database 518 stores factory operation data such as, but not limited to, MES data 1504, ERP data 1502, Product Lifecycle Management (PLM) data 1506, Internet of Things (IoT) data 1508, etc. that are used by the query response module 510 to generate query responses.
[0030] 6 illustrates an example process flow 600 for processing an input query using the query parsing module 504, according to one example implementation. Using natural language processing, the query parsing module 504 takes the input query and extracts / parses it into {objects, KPIs, time ranges} in step S602. It determines in step S604 whether any of the objects, KPIs, or time ranges are missing from the extraction result, and in step S606 replaces the missing information / values with associated default values and uses the default values as part of the parsed query.
[0031] FIG. 7 illustrates an exemplary parsed query table 700 according to one exemplary implementation. As shown in FIG. 7, the parsed query table 700 stores information such as, but not limited to, query information 702, subject matter information 704, KPI 706, and time range information 708. These three parameters (subject matter, KPI, and time range) form the basis of all manufacturing queries. For example, the first query entry ("Give me the OEE (Overall Equipment Effectiveness) of inverter line last month" in FIG. 3) has subject information of "Inverter line at factory JP1", KPI of "OEE", and time range of "(month, day -30, year) to (month, day, year)". The parsed query table 700 can be stored in a data storage (not shown), which can be a local storage of the system configuration 500 or a cloud-based storage.
[0032] 8 illustrates an exemplary data structure 800 of nodes in the factory knowledge graph database 516 according to one exemplary embodiment. The data structure 800 is associated with nodes that implement an automated process. The factory knowledge graph database 516 stores information related to nodes contained in the factory knowledge graph 400 as shown in FIG.
[0033] As shown in Figure 8, the data structure 800 may include site information such as process name, process type, the machine running the process, assembly line, factory identifier, previous process, next process, etc. Value information corresponding to these site information may also be found in the data structure 800. Figure 9 illustrates an exemplary data structure 900 for nodes of the factory knowledge graph database 516 according to one exemplary embodiment. The data structure 900 is associated with a node that performs a manual process.
[0034] In addition to the data structures 800 and 900 of FIGS. 8-9, the plant knowledge graph database 516 also maintains information regarding KPIs related to plant operations. FIG. 10 illustrates an exemplary KPI tree 1000 of the plant knowledge graph database 516, according to one exemplary implementation. The KPI tree 1000 relates to KPIs associated with plant operations and is stored in the plant knowledge graph database 516. As illustrated in FIG. 10, the KPI tree 1000 may include a parent KPI (KPI 50a) and various child KPIs 50b-50g that are involved in computing or deriving the parent KPI. The KPI hierarchy and configuration illustrated in FIG. 10 are merely exemplary and are not intended to limit the scope of the invention or any of its embodiments. Using as an example a parent KPI of OEE (Overall Equipment Effectiveness) computed as the product of three other child KPIs (Availability, Performance, and Quality): OEE=Availability x Performance x Quality
[0035] FIG. 11 illustrates an example process flow 1100 for using the query learning module 506, according to one example implementation. In step S1102, an input query (Query A) is inserted into the query database 512. In some example implementations, the query database 512 operates in a first-in, first-out (FIFO) manner. In step S1104, a query check is performed to identify the query from the queries (previous queries) stored in the query database 512 using information from the factory knowledge graph database 516. The {target, KPI, time range} pairs of the previous queries stored in the query database 512 are extracted and used together with the parsed query to check the query similarity. The similarity check can be performed in two ways:
[0036] Rule-Based Approach: Consider a parsed query (Query A) = {Subject A, KPI A, Time Range A} and another query (stored in the query database 512) as Query B = {Subject B, KPI B, Time Range B}. The similarity score (Sim Score) is expressed as: Sim Score = α*dist(target A, target B) + β*dist(KPIA, KPIB) + γ*dist(time range A, time range B) dist(target A, target B) is calculated as the distance between the nodes containing target A and target B as presented in the factory knowledge graph database 516 as shown in FIG. 4. dist(KPIA, KPIB) is calculated as the distance between two nodes containing KPIA and KPIB as presented in the factory knowledge graph database 516 as shown in FIG. 10. dist(time range A, time range B) is calculated as the time difference between the start times of two different time ranges in relation to the knowledge graph database 516. To calculate the overall similarity score, the weight associated with the target (α) should be given the highest weight, and the weight associated with the KPI (β) should be greater than the weight assigned to the time range (γ) such that: α>β>γ and α+β+γ=1
[0037] In some exemplary implementations, the calculated similarity score is compared to a similarity threshold for purposes of determining score strength. If the similarity score is equal to or greater than the similarity threshold, the input query is considered similar to the previous query associated with the similarity score. If the similarity score is less than the similarity threshold, the input query is considered dissimilar to the previous query associated with the similarity score. In some exemplary implementations, the similarity threshold may be adjusted by an operator / user. For example, a higher similarity threshold may be useful in improving the accuracy rate of the similarity, limiting the number of outputs, etc.
[0038] Machine Learning (ML) Approach: A generalization of the rule-based approach can be achieved by utilizing machine learning (ML) methods. With this approach, a domain expert first specifies a list of features for each query to be included in the FIFO query database. Such features may include the subject, KPIs, time range, and any other features such as originating plant. In addition, the domain expert may manually label a subset of those queries such that queries that the domain expert considers similar are given a label indicating the degree of similarity. The label type may be float or categorical value. Then, using these features and labels, a machine learning model can be trained to learn the similarity between queries based on the identified features. Different types of machine learning algorithms may be utilized, which may include neural network-based classification for categorical labels, regression for continuous float labels, semi-supervised control learning to separate queries into distinct classes, etc.
[0039] In step S1106, a determination is made as to whether a similar query has been found. If the answer to step S1106 is no, the input query is designated as a new initial query in step S1108. If the answer to step S1106 is yes, indicating that one or more similar queries have been found, then the query (query B) having the highest similarity score among the one or more similar queries is identified in step S1110. In step S1112, the query pair {A, B} is inserted into the hierarchical query database 514.
[0040] FIG. 12 illustrates an exemplary data structure 1200 of the query database 512 according to one exemplary implementation. The data structure 1200 may include information such as an identifier 1202 and content information 1204. As shown in FIG. 12, the first entry contains information (metadata) specific to the worker who created the query. At any given time, there are as many instances of the query database as there are active query sessions used by different workers when they access the manufacturing insights query tool 103. Each of the remaining entries in the data structure 1200 captures a set of {target, KPI, time range}.
[0041] FIG. 13 illustrates an exemplary application of the hierarchical query database 514 according to one exemplary implementation. As shown in FIG. 13, for any parent query, the hierarchical query database 514 identifies and lists all child queries. Follow-up queries for the current input are generated by referencing the hierarchical query database 514. For example, parent query 1302a has child queries 1302b, 1302e, 1302f, and 1302g that form three separate query sequences, and parent query 1302c has child queries 1302d, 1302e, 1302f, and 1302g.
[0042] 14 illustrates an example process flow 1400 for using the query generation module 508 according to one example implementation. The process begins at step S1402 where the hierarchical query database 514 is searched to determine if for a given query B from a first factory, a similar query A exists as a parent query among all queries belonging to the first factory. Step S1402 can be performed using a rule-based approach or a ML method / approach. In case of a ML method, this requires computation of query features and machine learning inference.
[0043] At step S1404, a determination is made as to whether a similar query A exists. If the answer is yes, the process continues to step S1406 where a child query of query A is output as the generated query. If the answer is no at step S1404, the hierarchical query database 514 is searched at step S1408 to determine whether a similar query C exists as a parent query among all queries belonging to the second factory. At step S1410, if a similar query C exists, a child query of query C is output as the generated query.
[0044] An application example of the query generation module 508 is described below. An OT party inputs a query "Give me OEE of OP670 yesterday" as query B from factory F1. In step S1402, a search is performed to check whether a similar query exists in the hierarchical query database 514 as a parent query. Assuming that a parent query (query A) is found and there exists a child query to the parent query ("Give me yield of OP670 yesterday from 10:00 to 12:00"), this child query is output as a generated query in step S1406. This indicates that this child query is requested as a follow-up query to parent query A in a stored previous session / sequence.
[0045] If it is determined in step S1404 that a similar query A does not exist, an additional search is performed to determine whether a similar query exists as a parent query among all queries for factory F2. The factory knowledge graph database 516 can be used to determine that factory F2 manufactures the same product, but there is a process called by a different name XB125. Upon finding a parent query (query C "calculate the OEE of XB125 last week"), a determination is then made to determine whether a child query exists for the parent query. If a child query ("please give me the yield of OP670 from 10:00 to 12:00 yesterday") is found, the child query is output as the generated query in step S1406.
[0046] The above exemplary implementations may have various benefits and advantages. For example, operational technology (OT) personnel may query the data virtualization system using natural language queries to derive seamless insights regarding manufacturing operations. Additionally, the exemplary implementations help reduce time and effort wasted in querying the system and generating query responses.
[0047] 16 illustrates an exemplary computing environment having an exemplary computing device suitable for use in some embodiments. The computing device 1605 in the computing environment 1600 can include one or more processing units, cores, or processors 1610, memory 1615 (e.g., RAM, ROM, and / or the like), internal storage 1620 (e.g., magnetic, optical, solid-state storage, and / or organic), and / or I / O interface 1625, any of which can be coupled over a communication mechanism or bus 1630 for communicating information or can be incorporated into the computing device 1605. The I / O interface 1625 is further configured to receive images from a camera or provide images to a projector or display, depending on the desired implementation.
[0048] The computing device 1605 may be communicatively coupled to an input / user interface 1635 and an output device / interface 1640. Either one or both of the input / user interface 1635 and the output device / interface 1640 may be a wired or wireless interface and may be removable. The input / user interface 1635 may include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch screen interface, keyboard, pointing / cursor control, microphone, camera, Braille, motion sensor, accelerometer, optical reader, and / or the like). The output device / interface 1640 may include a display, television, monitor, printer, speaker, Braille, or the like. In some exemplary implementations, the input / user interface 1635 and the output device / interface 1640 may be incorporated with the computing device 1605 or may be physically coupled thereto. In other exemplary implementations, other computing devices may function as or provide the functionality of input / user interface 1635 and output device / interface 1640 for computing device 1605 .
[0049] Examples of computing devices 1605 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices mounted on vehicles and other machines, devices carried by people or animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded and / or televisions with one or more processors coupled thereto, radios, and the like).
[0050] Computing device 1605 may be communicatively coupled (e.g., via I / O interface 1625) to external storage 1645 and a network 1650 for communication with any number of networked components, devices, and systems, including one or more computing devices of the same or different configurations. Computing device 1605 or any connected computing device may function as, provide services to, or be referred to as a server, client, thin server, general purpose machine, special purpose machine, or otherwise.
[0051] I / O interface 1625 may include, but is not limited to, wired and / or wireless interfaces using any communication or I / O protocol or convention (e.g., Ethernet, 802.11x, Universal System Bus, WiMax, modem, cellular network protocols, and the like) for communicating information to and / or from at least all connected components, devices, and networks in computing environment 1600. Network 1650 may be any network or combination of networks (such as, for example, the Internet, a local area network, a wide area network, a telephone network, a cellular network, a satellite network, and the like).
[0052] The computing device 1605 can use and / or communicate using computer usable or computer readable media, including transitory and non-transitory media. Transitory media include transmission media (e.g., metallic cables, optical fibers), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD-ROMs, digital video disks, Blu-ray® disks), solid-state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
[0053] The computing device 1605 may be used to implement techniques, methods, applications, processes, or computer-executable instructions in some exemplary computing environments. The computer-executable instructions may be retrieved from a transitory medium and stored in and retrieved from a non-transitory medium. The executable instructions may be from one or more of any programming language, scripting language, and machine language (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, etc.).
[0054] The processor 1610 can run under any operating system (OS) (not shown) in a native or virtual environment. One or more applications can be deployed, including a logic unit 1660, an application programming interface (API) unit 1665, an input unit 1670, an output unit 1675, and an inter-unit communication mechanism 1695 for different units to communicate with each other, with the OS, and with other applications (not shown). The above-mentioned units and elements can differ in design, function, configuration, or implementation, and are not limited to the above description. The processor 1610 can have the form of a hardware processor, such as a central processing unit (CPU), or can be a combination of hardware and software units.
[0055] In some exemplary implementations, when information or instructions for execution are received by the API unit 1665, it may be communicated to one or more other units (e.g., logic unit 1660, input unit 1670, output unit 1675). In some examples, logic unit 1660 may be configured to control information flow between units and direct services provided by API unit 1665, input unit 1670, and output unit 1675 in some exemplary implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 1660 alone or in conjunction with API unit 1665. Input unit 1670 may be configured to obtain inputs for the calculations described in the exemplary implementations, and output unit 1675 may be configured to provide outputs based on the calculations described in the exemplary implementations.
[0056] The processor 1610 may be configured to receive an input query from a first user, as shown in FIG. 5. The processor 1610 may also be configured to perform query parsing on the input query to generate a parsed query, as shown in FIG. 5. The processor 1610 may also be configured to determine a query type associated with the parsed query, as shown in FIG. 5. The processor 1610 may also be configured to generate a first follow-up query for the input query based on the parsed query, as shown in FIG. 5. The processor 1610 may also be configured to generate a response to the parsed query and the first follow-up query, as shown in FIG. 5. The processor 1610 may also be configured to display the parsed query and the response to the first follow-up query on a graphic user interface (GUI), as shown in FIG. The processor 1610 may also be configured to perform learning of a query sequence from a previous query to the input query, as shown in FIG. The processor 1610 may also be configured to generate a second follow-up query for the input query based on the parsed query, as shown in FIG. 5. The processor 1610 may also be configured to generate a response to the parsed query and the second follow-up query, and display the response to the parsed query and the second follow-up query on the GUI, as shown in FIG. 5.
[0057] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the substance of their innovations to others skilled in the art. An algorithm is a sequence of defined steps leading to a desired end state or result. In exemplary implementations, the steps performed require physical manipulations of tangible quantities to achieve a tangible result.
[0058] Unless otherwise noted, and as will be apparent from the description, throughout this specification, descriptions utilizing words such as "processing," "computing," "calculating," "determining," "displaying," or the like, are understood to include the actions and processes of a computer system or other information processing device that manipulates and converts data represented as physical (electronic) quantities in the registers and memory of the computer system into other data similarly represented as physical quantities in the memory or registers of the computer system or other information storage, transmission, or display devices.
[0059] Exemplary embodiments may further relate to an apparatus for performing the operations herein. The apparatus may be specially constructed for the desired purposes or may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored on a computer-readable medium, such as a computer-readable storage medium or a computer-readable signal medium. Computer-readable storage media may include tangible media, such as, but not limited to, optical disks, magnetic disks, read-only memory, random access memory, solid-state devices and drives, or any other type of tangible or non-transitory medium suitable for storing electronic information. Computer-readable signal media may include media such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. A computer program may include a pure software implementation that includes instructions for performing the operations of a desired embodiment.
[0060] Various general-purpose systems may be used with the programs and modules according to the examples herein, or it may eventually be convenient to construct specialized apparatus to perform the desired method steps. Moreover, the exemplary embodiments are not described with reference to any particular programming language. It will be understood that various programming languages may be used to implement the teachings of the exemplary embodiments as described herein. Instructions of the programming language may be executed by one or more processing devices, such as, for example, a central processing unit (CPU), a processor, or a controller.
[0061] As is known in the art, the operations described above may be performed by hardware, software, or any combination of software and hardware. Various aspects of the exemplary embodiments may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software) that, when executed by a processor, cause the processor to perform a method of performing an embodiment of the present application. Furthermore, some exemplary embodiments of the present application may be implemented solely in hardware, while other exemplary embodiments may be implemented solely in software. Furthermore, the various functions described may be performed in a single unit or may be distributed across multiple components in any number of ways. When implemented by software, the method may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions may be stored on the medium in compressed and / or encrypted format.
[0062] Moreover, other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the teachings herein. Various aspects and / or components of the described exemplary embodiments may be used alone or in any combination. It is intended that the specification and exemplary embodiments be considered as examples only, with a true scope and spirit of the present application being indicated by the following claims.
Claims
1. 1. A method for generating a query response, comprising: receiving, by a processor, an input query from a first user; performing, by the processor, query parsing on the input query to generate a parsed query; determining, by the processor, a query type associated with the parsed query; If the query type is determined to be an initial query, generating, by the processor, a first follow-up query to the input query based on the parsed query; generating, by the processor, a response to the parsed query and the first follow-up query, and displaying the parsed query and the response to the first follow-up query on a graphic user interface (GUI); If the query type is determined to be a follow-up query to a previous query entered by a second user, performing, by the processor, learning a query sequence from the previous query to the input query; generating, by the processor, a second follow-up query to the input query based on the parsed query; generating, by the processor, a response to the parsed query and the second follow-up query, and displaying the parsed query and the response to the second follow-up query on the GUI.
2. the processor is configured to perform query parsing by performing natural language processing on the input query to extract subject matter, key performance indicators (KPIs), and time ranges from the input query; The method of claim 1 , wherein the parsed query includes the subject, the KPI, and the time range.
3. 3. The method of claim 2, wherein if the subject, the KPI, or the time range is missing from the extraction result, the processor replaces the missing information with a default value and uses the default value as part of the parsed query.
4. 2. The method of claim 1, wherein the response to the first follow-up query includes supplemental information derived from a previous answer to the first follow-up query, and the response to the second follow-up query includes supplemental information derived from a previous answer to the second follow-up query.
5. The processor, performing a query search using a hierarchical query database to determine the presence of parent queries similar to the input query; if it is determined that the parent query exists, identifying at least one child query for the parent query; if the query type of the parsed query is determined to be an initial query, outputting a child query of the at least one child query as the first follow-up query; if the query type of the parsed query is determined to be a follow-up query to a previous query, outputting a child query of the at least one child query as the second follow-up query; 2. The method of claim 1, further comprising: generating the first follow-up query or the second follow-up query to the input query based on the parsed query by:
6. the processor is configured to determine a query type associated with the parsed query by using factory knowledge information; The method of claim 5 , wherein the factory knowledge information maps relationships between processes and employees of entities through a tree diagram.
7. the processor is configured to determine a query type associated with the parsed query by further performing a similarity operation between the parsed query and a plurality of previous queries using the factory knowledge information; The method of claim 6 , wherein the first user is located at a first location and the second user is located at a second location remote from the first location.
8. performing a similarity operation between the parsed query and a plurality of previous queries using the factory knowledge information, parsing the input query to extract a first subject, a first key performance indicator (KPI), and a first time range, the parsed query including the first subject, the first KPI, and the first time range; retrieving, for each of the plurality of previous queries, an associated subject, an associated KPI, and an associated time range; For each of the plurality of previous queries, calculate a similarity score through calculation of a first distance between the first subject and the associated subject by referring to the factory knowledge information, a second distance between the first KPI and the associated KPI by referring to the factory knowledge information, and a third distance between the first time range and the associated time range by referring to the factory knowledge information; comparing the similarity score against a threshold for each of the plurality of previous queries; determining the query type as an initial query if the similarity score of each of the plurality of previous queries is less than the threshold; and determining the query type as a follow-up query if the similarity score of at least one previous query among the plurality of previous queries is greater than or equal to the threshold.
9. 9. The method of claim 8, wherein the processor is configured to perform learning of the query sequence from the previous query to the input query by pairing the input query with a highest scoring previous query of the at least one previous query having a similarity score equal to or greater than the threshold.
10. The method of claim 7 , wherein the similarity operation is performed using a trained machine learning (ML) model.
11. 1. A system for generating a query response, comprising: A graphic user interface (GUI); a processor, the processor comprising: Receiving an input query from a first user; performing query parsing on the input query to generate a parsed query; Determining a query type associated with the parsed query; If the query type is determined to be an initial query, generating a first follow-up query to the input query based on the parsed query; generating a response to the parsed query and the first follow-up query and displaying the parsed query and the response to the first follow-up query on the GUI; If the query type is determined to be a follow-up query to a previous query entered by a second user, performing learning of a query sequence from the previous query to the input query; generating a second follow-up query to the input query based on the parsed query; generating a response to the parsed query and the second follow-up query; and displaying the parsed query and the response to the second follow-up query on the GUI.
12. the processor is configured to perform query parsing by performing natural language processing on the input query to extract subject matter, key performance indicators (KPIs), and time ranges from the input query; The system of claim 11 , wherein the parsed query includes the subject, the KPI, and the time range.
13. 13. The system of claim 12, wherein if the subject, the KPI, or the time range is missing from the extracted results, the processor replaces the missing information with a default value and uses the default value as part of the parsed query.
14. 12. The system of claim 11, wherein the response to the first follow-up query includes supplemental information derived from a previous answer to the first follow-up query, and the response to the second follow-up query includes supplemental information derived from a previous answer to the second follow-up query.
15. The processor, performing a query search using a hierarchical query database to determine the presence of parent queries similar to the input query; if it is determined that the parent query exists, identifying at least one child query for the parent query; if the query type of the parsed query is determined to be an initial query, outputting a child query of the at least one child query as the first follow-up query; if the query type of the parsed query is determined to be a follow-up query to a previous query, outputting a child query of the at least one child query as the second follow-up query; 12. The system of claim 11, further configured to generate the first follow-up query or the second follow-up query to the input query based on the parsed query by:
16. the processor is configured to determine a query type associated with the parsed query by using factory knowledge information; The system of claim 15 , wherein the factory knowledge information maps relationships between processes and employees of an entity.
17. the processor is configured to determine a query type associated with the parsed query by further performing a similarity operation between the parsed query and a plurality of previous queries using the factory knowledge information; 17. The system of claim 16, wherein the first user is located at a first location and the second user is located at a second location remote from the first location.
18. performing a similarity operation between the parsed query and a plurality of previous queries using the factory knowledge information, parsing the input query to extract a first subject, a first key performance indicator (KPI), and a first time range, the parsed query including the first subject, the first KPI, and the first time range; retrieving, for each of the plurality of previous queries, an associated subject, an associated KPI, and an associated time range; For each of the plurality of previous queries, calculate a similarity score through calculation of a first distance between the first subject and the associated subject by referring to the factory knowledge information, a second distance between the first KPI and the associated KPI by referring to the factory knowledge information, and a third distance between the first time range and the associated time range by referring to the factory knowledge information; comparing the similarity score against a threshold for each of the plurality of previous queries; determining the query type as an initial query if the similarity score of each of the plurality of previous queries is less than the threshold; and determining the query type as a follow-up query if the similarity score of at least one previous query among the plurality of previous queries is greater than or equal to the threshold.
19. 20. The system of claim 18, wherein the processor is configured to perform learning of the query sequence from the previous query to the input query by pairing the input query with a highest scoring previous query of the at least one previous query having a similarity score equal to or greater than the threshold.
20. The system of claim 17 , wherein the similarity operation is performed using a trained machine learning (ML) model.
Citation Information
Patent Citations
Question answering system, question answering method and question answering program
JP2004118739A
Information providing apparatus, information providing method, and program
JP2019139574A
Answer candidate proposal system and answer candidate proposal method
JP2023091791A