Artificial intelligence assisted causal discovery and inference for driving industrial process improvements

Artificial intelligence, particularly through LLMs, automates the analysis of industrial process variables, addressing inefficiencies in manual data analysis by determining causal relationships and strengths, thereby enhancing process improvements.

WO2026035557A1PCT designated stage Publication Date: 2026-02-12BAKER HUGHES CO
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/040305
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-03
Filing Date
2025-08-01
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Traditional methods for analyzing industrial process disruptions rely on manual analysis of extensive and complex historical data by subject matter experts, which is inefficient, costly, and inaccurate due to the multitude of interrelated variables in industrial processes.

Method used

Utilizing artificial intelligence, specifically a large language model (LLM), to determine and analyze causal relationships between variables in industrial processes by receiving natural language queries and providing graphical representations such as directed acyclic graphs (DAGs), reducing reliance on manual analysis.

Benefits of technology

Efficiently determines causal relationships and their strengths, enabling effective industrial process improvements by automating the analysis of complex industrial data and providing actionable insights.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025040305_12022026_PF_FP_ABST
    Figure US2025040305_12022026_PF_FP_ABST
Patent Text Reader

Abstract

A natural language query regarding an existence of a correlation between a first variable and a second variable associated with an industrial plant is received. The correlation can include a dependence of the first variable on the second variable, a dependence of the second variable on the first variable, or a lack of dependence of the first and second variables on one another. In response to the natural language query, a causal relationship between the first variable and the second variable is determined by an artificial intelligence (Al) agent. The Al agent can be configured to access a database that includes data characterizing the first variable and the second variable in response to receiving the natural language query. A representation of the causal relationship is provided by the Al agent.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No.: 26CRD-510883-WO-2 / 836001WOARTIFICIAL INTELLIGENCE ASSISTED CAUSAL DISCOVERY AND INFERENCE FOR DRIVING INDUSTRIAL PROCESS IMPROVEMENTSCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit Indian Provisional Patent Application No. 202411058828 filed on August 3, 2024, entitled “Generative Artificial Intelligence and Large Language Model Assisted Causal Discovery and Inference for Driving Process Improvements,” the entirety of which is hereby incorporated by reference.TECHNICAL FIELD

[0002] The subject matter described herein relates to the use of artificial intelligence, including large language models (LLMs), to analyze and improve industrial processes.BACKGROUND

[0003] Industrial processes such as production, manufacturing, refining, and shipping generally involve a myriad (e.g., more than two) of components (e.g., machinery and the like) and, as a result, can be affected by a multitude of interrelated variables. Frequently, these processes can be substantially improved (e.g., made more efficient) by addressing causes of process slowdowns or disruptions. To address such causes, the dependencies between the numerous industrial process variables must be determined. Typically, determining these variable dependencies requires soliciting extensive input from groups subject matter experts (e.g., engineers familiar with the components involved in the process) who can analyze data characterizing the process variables to determine ways in which the process can be improved.SUMMARY

[0004] This disclosure relates to artificial intelligence (Al) assisted casual discovery and inference for driving industrial process improvements.

[0005] An example implementation of the subject matter described within this disclosure is a method with the following features. A natural language query regarding an existence of a correlation between a first variable and a second variable associated with an industrial plant can be received. The correlation can include a dependence of the first variable on the second variable, a dependence of the second variable on the first variable, or a lack of dependence of the first and second variables on one another. In response to receiving the natural language query, a causal relationship between the first variable and the second variable can be determined by an Al agentAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO configured to access a database that includes data characterizing the first variable and the second variable. A representation of the causal relationship can be provided by the Al agent.

[0006] The disclosed method can be implemented in a variety of ways. For example, within a system that includes at least one data processor and a non-transitory memory storing instructions for the processor to perform aspects of the method. Alternatively or in addition, the method can be in included non-transitory computer readable memory storing the method as instructions which, when executed by at least one data processor forming part of at least one computing system, causes the at least one data processor to perform operations of the method.

[0007] Aspects of the example method, that can be combined with the example method alone or in combination with other methods, can include the following. Determining the causal relationship between the first variable and the second variable includes encoding the natural language query into a vector representation and receiving, from the database, based on the vector representation, data characterizing the industrial plant corresponding to one or more features of the natural language query.

[0008] Aspects of the example method, that can be combined with the example method alone or in combination with other methods, can include the following. Providing the representation of the causal relationship includes applying a large language model (LLM) to provide a natural language description of the causal relationship. Alternatively, or in addition, providing the representation of the causal relationship can include providing a graphical representation of the causal relationship. In some implementations, the graphical representation is a directed acyclic graph (DAG) representing the causal relationship. Providing the DAG can include providing a first node corresponding to the first variable and a second node corresponding to the second variable. In some implementations, providing the DAG further includes providing a third node corresponding to a third variable associated with the industrial plant. The method can further include determining that a change of the third variable causes a change of the first variable and a change of the second variable or determining that a change of the third variable results from a change of the first variable or a change of the second variable.

[0009] Aspects of the example method, that can be combined with the example method alone or in combination with other methods, can include the following. A second natural language query regarding a strength of the causal relationship between the first variable and the second variable is received. The strength of the causal relationship is determined by the Al agent in response toAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO receiving the second natural language query. Determining the strength of the causal relationship can include applying one or more regression models. In some implementations, the method includes providing a representation of the strength of the causal relationship by the Al agent.BRIEF DESCRIPTION OF DRAWINGS

[0010] These and other features will be more readily understood from the following detailed description taken in conjunction with the accompanying drawings.

[0011] FIG. 1 is a flowchart of an example method of determining and analyzing a causal relationship between variables associated with an industrial plant;

[0012] FIG. 2 is a block diagram of an example data flow for retrieval augmented generation (RAG)-based large language model (LLM) prompting;

[0013] FIG. 3 is an example directed acyclic graph (DAG) representing causal relationships between a set of variables;

[0014] FIG. 4 is a flowchart of an example method of determining a strength of a causal relationship between variables associated with an industrial plant;

[0015] FIG. 5 is another example DAG that includes a confounding variable and a mediating variable;

[0016] FIG. 6A is an example DAG representing causal relationships between variables associated with an industrial plant;

[0017] FIG. 6B is the DAG shown in FIG. 6A following augmentation by expert feedback;

[0018] FIG. 6C is a pruned version of the DAG shown in FIG. 6A that indicates confounding and mediating variables in a causal relationship between alarm rate and production loss in an industrial plant;

[0019] FIG. 7A is a plot of the effect of overdue safety critical protective maintenance on production loss in an industrial plant;

[0020] FIG. 7B is a plot of the effect of overdue safety critical corrective maintenance on production loss in an industrial plant;Atorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0021] FIG. 7C is a plot of the effect of overdue safety critical protective maintenance on average alarm rate in an industrial plant;

[0022] FIG. 7D is a plot of the effect of overdue safety critical corrective maintenance on average alarm rate in an industrial plant;

[0023] FIG. 7E is a plot of the effect of alarm rate on production loss in an industrial plant; and

[0024] FIG. 8 is a block diagram of an example computer system that can be used with aspects of this disclosure.DETAILED DESCRIPTION

[0025] Certain implementations will now be described to provide an overall understanding of the principles of the structure, function, manufacture, and use of the devices and methods disclosed herein. One or more examples of these implementations are illustrated in the accompanying drawings. Those skilled in the art will understand that the devices and methods specifically described herein and illustrated in the accompanying drawings are non-limiting implementations and that the scope of the present invention is defined solely by the claims. The features illustrated or described in connection with one implementation may be combined with the features of other implementations. Such modifications and variations are intended to be included within the scope of the present invention.

[0026] Further, in the present disclosure, like-named components of the implementations generally have similar features, and thus within a particular implementation each feature of each like-named component is not necessarily fully elaborated upon. Additionally, to the extent that linear or circular dimensions are used in the description of the disclosed systems, devices, and methods, such dimensions are not intended to limit the types of shapes that can be used in conjunction with such systems, devices, and methods. A person skilled in the art will recognize that an equivalent to such linear and circular dimensions can easily be determined for any geometric shape. Sizes and shapes of the systems and devices, and the components thereof, can depend at least on the anatomy of the subject in which the systems and devices will be used, the size and shape of components with which the systems and devices will be used, and the methods and procedures in which the systems and devices will be used.Attorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0027] Traditional techniques for analyzing causes of industrial process disruptions rely on historical data that is contextualized and otherwise augmented manually by, for example, a group of subject matter experts. Since industrial processes are generally affected by numerous (e.g., more than two) interrelated variables, the historical data characterizing a given process can be extensive and complex. As a result, manual analysis of the historical by subject matter experts is frequently inefficient, costly, and inaccurate.

[0028] The disclosed methods reduce reliance on manual analysis of historical data by leveraging artificial intelligence (Al) to determine and analyze causal relationships between variables of industrial processes. An Al agent is configured to access a database storing data characterizing an industrial process can determine causal relationships between a pair of variables identified in a natural language query. After determining the causal relationship, the Al agent can provide a representation of the relationship. This representation can be used to, in some implementations, assess the strength of causal relationships between pairs of process variables in order to, in some implementations, determine solutions for improving the industrial process.

[0029] A flowchart of an example method 100 of determining and analyzing a causal relationship between variables associated with an industrial plant is provided in FIG. 1. The method 100 can be performed, all or in part, by one or more processors of a computer system. For example, the method 100 can implemented as instructions stored in non-transitory memory of the computer system. Alternatively, or in addition, the method 100 can be included in non- transitory computer readable memory storing the method 100 as instructions which, when executed by one or more processors forming part of a computer system, causes the processor(s) to perform operations of the method 100. Additional details regarding a computer system that can perform operations of the method 100 are provided herein with respect to FIG. 8.

[0030] The method 100 is intended only as an example implementation of a method of determining and analyzing a causal relationship between variables associated with an industrial plant. In some implementations, a method of determining and analyzing a causal relationship between variables associated with an industrial plant can include operations performed in a different order than the operations of the method 100. In some implementations, a method of determining and analyzing a causal relationship between variables associated with an industrial plant can include operations in addition to those of the method 400. In some implementations, a method of determining and analyzing a causal relationship between variables associated with an industrial plant can omit aspects of the method 100.Atorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0031] At 105, a natural language query regarding an existence of a correlation between a first variable and a second variable associated with an industrial plant is received. The natural language query can be received from a user (e.g., an employee of the industrial plant), in some implementations, through a user interface provided on a device operated by the user (e.g., the user’s laptop or smartphone).

[0032] The industrial plant can be any industrial facility. For example, the industrial plant can be an oil production plant, a natural gas production plant, a refinery, a power plant, a chemical plant, a treatment plant, a manufacturing plant, or a shipping warehouse. The industrial plant can include various types of equipment and machinery such as, for example, pumps, valves, compressors, distillation columns, storage tanks, heat exchangers, generators, turbines, cooling equipment, conveyor belts, injection molding machinery, robotic equipment, safety equipment (e.g., alarms, sensors, pressure safety devices, etc.), and the like.

[0033] Variables associated with the industrial plant can include variables associated with a component of the industrial plant (e.g., a variable associated with a particular machine or piece of equipment) as well as variables associated with an operation performed by the industrial plant (e.g., a variable associated with a productivity level of the industrial plant). Examples of such variables include (but are not limited to) an proportion of a given time period that a machine of the industrial plant has been operational, a frequency at which a machine of the industrial plant requires corrective maintenance, an amount of energy consumed by a machine of the industrial plant, an energy efficiency level of the industrial plant, an amount of product produced by the industrial plant in a given time period, data characterizing vibrations of sub-components, and / or an amount of product lost by the industrial plant in a given time period.

[0034] As noted, the natural language query can be concerned with the existence of a correlation between the first variable and the second variable. This correlation can be, for example, a dependence of the first variable on the second variable, a dependence of the second variable on the first variable, or a lack of dependence of the first and second variables on one another. The query can be provided in a variety of formats. In some implementations, the query is provided as a binary question, i.e., a question having only two possible answers (e.g., “Yes” or “No”). Example binary queries regarding the existence of a correlation between a first variable, Variable A, and a second variable, Variable B, are provided in Table 1 A.Attorney Docket No.: 26CRD-510883-WO-2 / 836001WOTable 1A: Example binary natural language queries regarding an existence of a correlation between Variable A and Variable B

[0035] In some implementations, the query can be provided as a multiple-choice question, i.e., a question having two or more possible answers. For example, the query can ask which of a series of possible correlations between the first variable and the second variable is most likely to exist. Example multiple choice queries regarding the existence of a correlation between a first variable, Variable A, and a second variable, Variable B, are provided in Table IB.Table IB: Example multiple-choice natural language queries regarding an existence of a correlation between Variable A and Variable BAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0036] In response to receiving the natural language query, at 110, a causal relationship between the first variable and the second variable is determined by an artificial intelligence (Al) agent. The Al agent can be configured to access a database that stores data characterizing the first variable and the second variable and can determine the causal relationship based on data retrieved from the database.

[0037] The Al agent can include one or more trained Al models (e.g., one or more trained machine learning models) as well as software for orchestrating the use of the Al models. In some implementations, the Al agent includes a generative Al model. For example, the Al agent can include a large language model (LLM). Additionally, or alternatively, the Al agent can include non-LLM generative Al models, for example, adversarial networks, diffusion models, recurrent neural networks, autoencoders, or combinations thereof. In some implementations, the Al agent includes one or more machine learning models, such as one or more regression models, one or more classification models, one or more segmentation models, or combinations thereof.

[0038] The database can include data extracted from information sources associated with the industrial plant. The information sources can include documents, images, schematics, blog posts, news reports, numerical datasets, or any other suitable source. For example, the information sources can include an operating manual for a machine of the industrial plant.

[0039] In some implementations, the database is a vector database. Data from the information sources associated with the industrial plant can be represented in the database as sequences of numbers (i.e., vectors) that encode meaningful features of the data. These vector embeddings can be produced using any suitable technique, for example, using a deep learning model.

[0040] At 115, after determining the causal relationship, the Al agent provides a representation of the causal relationship. The representation of the causal relationship can be provided in any suitable format. In some implementations, the representation of the causal relationship can include a natural language description of the causal relationship. In someAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO implementations, the representation of the causal relationship can include a graphical representation of the causal relationship.

[0041] In some implementations, the Al agent determines the causal relationship between the first variable and the second variable (110) and provides a representation of said relationship (115) by prompting a LLM using retrieval augmented generation (RAG). A block diagram of an example workflow 200 for RAG-based LLM prompting is provided in FIG. 2. As shown, a query 204 (e.g., a natural language query) can be received from a user 202. The query 204 can be received at an orchestration layer 206. The orchestration layer 206 can include one or more computer programs configured to facilitate information flow between a vector database 210 and a LLM 216. The orchestration layer 206 can also be configured to provide a user interface (e.g., a graphical user interface including a chat field that enables the user to provide input and receive output in the form of a conversation) to the user 202.

[0042] The orchestration layer 206 can encode the query 204 into a vector representation 208 of the query 204. The vector representation 208 can then be used to search the vector database 210 to extract data 212 corresponding to one or more features of the query 204 that contextualizes the query 204. The data 212 can be provided by the database 210 to the orchestration layer 206.

[0043] In some implementations, the vector database 210 includes vector representations of data characterizing an industrial plant sourced from information sources (e.g., documents, images, schematics, blog posts, news reports, numerical datasets, etc.) associated with the industrial plant. The data characterizing the industrial plant can be converted to collections of vectors (i.e., arrays of numbers) using a vector embedding process. The orchestration layer 206 can encode the query 204 into the vector representation 208 of the query 204 by applying the same embedding process used to convert the data characterizing the industrial plant into the collections of vectors stored in the vector database 210.

[0044] To extract the data 212 that contextualizes the query 204, the vector representation 208 of the query 204 can be compared against the vector representations of the data characterizing the industrial plant in the database 210 to identify those vector representations in the database 210 that closely match the vector representation 208 of the query 204. Vector representations in the database 210 that closely match the vector representation 208 of the query 204 can be identified through any suitable process. In some implementations, a vectorAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO representation of data characterizing the industrial plant stored in the database 210 (a “database vector”) closely matches the vector representation 208 of the query 204 if the database vector contains a sequence of numbers of at least predetermined length that is also contained in the vector representation 208 of the query 204.

[0045] After the data 212 has been received, the orchestration layer 206 can provide a prompt template 214 to a LLM 216. The prompt template 214 can include the query 204 and the data 212. In some implementations, the prompt template 214 also includes a description of a role that the LLM 216 should assume when responding to the query, instructions for responding to the query 204, and the like. An example prompt template is provided in Table 2.Table 2: Example template for an LLM

[0046] The example prompt template provided in Table 2 informs the LLM 216 that it should respond to provided queries as if it is a domain expert in the field process safety management. Additionally, the prompt template provides the LLM 216 with instructions for responding to each query. Specifically, the prompt template instructs the LLM 216 to assess each answer option in the query, provide its reasoning for its assessment regarding each answerAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO option, and then select the best answer option from the query options. The prompt template also provides the data 212 characterizing the context of the query ({Context}) received from the vector database 210 and the query 204 ({Query}) received from the user 202.

[0047] In response to the prompt template 214, the LLM 216 can provide a response 218 to the query 204, in some implementations, according to response instructions included in the prompt template 216. The orchestration layer 218 can receive the LLM response 218 and, in response, can provide a response 220 to the query 204 to the user 202. In some implementations, the response 220 includes the LLM response 218. In some implementations, the response 220 includes a representation of the LLM response 218. For example, if the LLM response 218 is a natural language response, the response 220 provided by the orchestration layer 206 can be a graphical representation of the LLM response 218.

[0048] Referring back to FIG. 1, the representation of the causal relationship provided by the Al agent at 115 is, in some implementations, a graphical representation of the determined causal relationship between the first and second variables. For example, the representation can be a directed acyclic graph (DAG) that includes nodes representing the first variable and the second variable and directed edges (e.g., arrows) indicating the determined causal relationship between the first and second variables.

[0049] FIG. 3 provides an example DAG 300. A DAG such as the DAG 300 can be provided in response to a query regarding an existence of a causal relationship between a first variable, Variable A, and a second variable, Variable B. The DAG 300 includes a first node 302 that represents Variable A and a second node 304 that represents Variable B. A directed edge 308 pointing from the first node 302 to the second node 304 indicates that there is a causal relationship between Variable A and Variable B. Specifically, the directed edge 308 indicates that Variable A causes Variable B, that is, that Variable B depends on Variable A.

[0050] In some implementations, a DAG representing a causal relationship between a pair of variables can include nodes in addition to the nodes representing the variables in the query. The DAG 300 of FIG. 3, for example, includes a third node 306 that represents a third variable, Variable C. Variable C can be another variable associated with the industrial plant. In some implementations, causal relationships between Variable A and Variable C and between Variable B and Variable C can be determined using a process such as the method 100 (105-115) of FIG. 1. Once the causal relationships between Variable A and Variable C and betweenAttorney Docket No.: 26CRD-510883-WO-2 / 836001WOVariable B and Variable C are determined, the third node 306, along with directed edges 310, 312 connecting the third node 306 to the first node 302 and the second node 304 according to the determined causal relationships, can be provided in the DAG 300. In the DAG 300, the directed edge 310 pointing from the first node 302 to the third node 306 indicates that Variable C depends on Variable A, while the directed edge 312 pointing from the second node 304 to the third node 306 indicates that Variable C depends on Variable B.

[0051] Referring again to FIG. 1, 105-115 of the method 100 can, in some implementations, be repeated for numerous pairs of variables in a set of variables associated with the industrial plant to determine causal relationships between each individual pair of variables. The representations of each determined causal relationship (115) between each individual pair of variables can be combined to form a model indicating how each variable in the set of variables is correlated with each other variable in the set of variables. In some implementations, the model can be provided as a DAG with two or more nodes such as, in some implementations, the DAG 300 shown in FIG. 3.

[0052] Referring back to FIG. 1, in some implementations of the method 100, a second natural language query regarding a strength of the causal relationship between the first variable and the second variable is received (120). In some implementations, the second natural language query can be a quantitative question, i.e., a question that requires a quantitative response. In some implementations, the second natural language query can be a qualitative question, i.e., a question that requires a qualitative response. Table 3 provides examples of quantitative (Example No. 1) and qualitative (Example No. 2) queries regarding a strength of a causal relationship between a first variable, Variable A, and a second variable, Variable B.Table 3: Example natural language queries regarding a strength of a causal relationship between Variable A and Variable BAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0053] In some implementations of the method 100, in response to receiving the second natural language query at 120, the Al agent determines the strength of the causal relationship (125). The Al agent can determine the strength of the causal relationship using the representation of the causal relationship between the first variable and the second variable (or, more generally, a model representing the relationships between a set of variables that includes the first variable and the second variable) in combination with data characterizing the first and second variables from the database. In some implementations of the method 100, once the strength of the causal relationship is determined, the Al agent provides a representation of the strength of the causal relationship (130). In some implementations, the representation of the strength of the causal relationship can include a natural language description of the strength of the causal relationship. In some implementations, the representation of the strength of the causal relationship can include a quantitative representation of the strength of the causal relationship. In some implementations, the representation of the strength of causal relationship can include a graphical representation of the strength of the causal relationship.

[0054] FIG. 4 shows a flowchart of an example method 400 of determining a strength of a causal relationship between a pair of variables associated with an industrial plant. In some implementations, method 400 can be performed, all or in part, at 120-125 of the method 100 to determine the strength of the causal relationship between the first variable and the second variable.

[0055] The method 400 can be performed, all or in part, by one or more processors of a computer system. For example, the method 400 can implemented as instructions stored in non- transitory memory of the computer system. Alternatively, or in addition, the method 400 can be included in non-transitory computer readable memory storing the method 400 as instructions which, when executed by one or more processors forming part of a computer system, causes the processor(s) to perform operations of the method 400.

[0056] The method 400 is intended only as an example implementation of a method of determining a strength of a causal relationship between a pair of variables associated with an industrial plant. In some implementations, a method of determining a strength of a causal relationship between a pair of variables associated with an industrial plant can include operations performed in a different order than the operations of the method 400. In some implementations, a method of determining a strength of a causal relationship between a pair of variables associated with an industrial plant can include operations in addition to those of the method 400. In someAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO implementations, a method of determining a strength of a causal relationship between a pair of variables associated with an industrial plant can omit aspects of the method 400.

[0057] At 405, a representation of causal relationships between variables of a set of variables associated with an industrial plant is received. The representation can include, in some implementations, natural language descriptions of the causal relationship between each distinct pair of variables in the set of variables, a graphical representation (e.g., a DAG) indicating the causal relationship between each distinct pair of variables in the set of variables, and / or any other representation of the causal relationships.

[0058] At 410, a natural language query regarding a strength of a causal relationship between a first variable of the set of variables and a second variable of the set of variables that depends on the first variable is received. This natural language query can be, in some implementations, the second natural language query received at 120 of the method 100.

[0059] In response to receiving the natural language query, at 415, one or more confounding variables of the set of variables are identified based on the natural language query. The confounding variables include variables other than query variables (that is, other than the first variable and the second variable) which, according to the representation of the causal relationships between the variables, affect both the first variable and the second variable. If, for example, the representation of the causal relationships between the variables is a DAG, the confounding variables can be identified by determining nodes of the DAG that are connected to the node representing the first variable by an edge directed toward the first variable and connected to the node representing the second variable by an edge directed toward the second variable.

[0060] In some implementations, mediating variables, in addition to confounding variables, are identified. The mediating variables include variables other than the query variables and the confounding variables which, according to the representation of the causal relationships between the variables, depend on the first variable and upon which the second variable depends. If, for example, the representation of the causal relationships between the variables is a DAG, the mediating variables can be identified by determining nodes of the DAG that are connected to the node representing the first variable by an edge directed away from the first variable and connected to the node representing the second variable by an edge directed toward the second variable.Attorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0061] FIG. 5 shows an example DAG 500 representing causal relationships between four variables: Variable A, Variable B, Variable C, and Variable D. In the DAG 500, a first node 502 corresponds to Variable A, a second node 504 corresponds to Variable B, a third node 506 corresponds to Variable C, and a fourth node 508 corresponds to Variable D.

[0062] In the illustrated example, the third node 506 is connected to the first node 502 by a directed edge 512 pointing from the node 506 to the node 502, indicating that Variable A depends on Variable C. Similarly, the third node 506 is connected to the second node 504 by a directed edge 514 pointing from the node 506 to the node 504, indicating that Variable B depends on Variable C. Since both Variable A and Variable B depend on Variable C, Variable C is a confounding variable in the causal relationship between Variable A and Variable B.

[0063] The fourth node 508 is connected to the first node 502 by a directed edge 516 pointing from the first node 502 to the fourth node 508, indicating that Variable D depends on Variable A. The fourth node 508 is connected to the second node 502 by a directed edge 518 pointing from the fourth node 508 to the second node 504, indicating that Variable B depends on Variable D. Since Variable D depends on Variable A and Variable B depends on Variable D, Variable D is a mediating variable in the causal relationship between Variable A and Variable B.

[0064] Referring again to FIG. 4, at 420, an Al agent configured to access a databasing storing data characterizing the set of variables determines a strength of a causal relationship between each confounding variable and the second variable. Likewise, at 425, the Al agent determines a strength of a causal relationship between each confounding variable and the first variable.

[0065] In some implementations, at 420-425, the Al agent applies a double machine learning technique. For example, at 420, the Al agent fits a first machine learning model (e.g., a regression model) for estimating a value of the second variable with respect to a feature set containing the confounding variables, and at 425, the Al agent can fit a second machine learning model (e.g., another regression model) for estimating a value of the first variable with respect to the feature set containing the confounding variables. At 420, after fitting the first machine learning model, the Al agent can determine a first residual corresponding to a portion of the value of the second variable that is not directly caused by the confounding variables. Similarly, at 425, after fitting the second machine learning model, the Al agent can determine a secondAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO residual corresponding to a portion of the value of the first variable that is not directly caused by the confounding variables.

[0066] After the strengths of the causal relationships between the confounding variables and the second variable and between the confounding variables and the first variable are determined at 420-425, at 430, the strength of the causal relationship between the first and second variables can be determined by the Al agent. In some implementations, the Al agent can determine the strength of the causal relationship between the first variable and the second variable by fitting a machine learning model (e.g., a regression model) configured to relate the first residual (corresponding to the portion of the value of the second variable that is not directly caused by the confounding variables) to the second residual (corresponding to the portion of the value of the first variable that is not directly caused by the confounding variables). In some implementations, the machine learning model provides a quantification of an amount by which the second variable changes when the first variable changes. For example, if the machine learning model is a regression model, the slope of the regression line provided by the regression model can provide a measurement of change in the second variable that can be attributed to a change in the first variable, thereby quantifying the strength of the causal relationship between the first and second variables.Example: Causal relationship between process safety management and production loss

[0067] In an industrial plant such as an oil or gas production plant, production loss can be impacted by process safety management (PSM). Potential positive impacts of PSM on production loss include reduced downtime due to identification and mitigation of potential hazards, improved reliability by regular maintenance, and enhanced operator training. Potential negative impacts of PSM on production loss include increased downtime for preventive and corrective maintenance, restrictions on production rates to ensure safe operations, and increased investment in safety measures that divert resources away from production. Thus, while PSM can lead to long term production gains, in the short term, PSM can cause production losses.

[0068] There are numerous process safety variables that can affect production loss in various ways and to varying degrees. Examples variables associated with PSM and production loss are provided in Table 4.Table 4: Example variables associated with PSM and production lossAtorney Docket No.: 26CRD-510883-WO-2 / 836001WOAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0069] The disclosed techniques can be applied to determine whether a causal relationship exists between any two variables in Table 4 and, if a causal relationship does exist, to determine the strength of said relationship. For example, the disclosed techniques can be applied to determine whether a causal relationship exists between alarm rate (variable 4 in Table 4) and production loss (variable 8 in Table 4) and, if said causal relationship does exist, to determine a strength of said relationship.

[0070] First, an Al agent can apply RAG-based LLM prompting to provide a DAG representing the causal relationships that exist among the variables associated with PSM and production loss. A detailed explanation of RAG-based LLM prompting is provided herein with respect to FIGS. 1-2. For each pair of variables, a natural language query regarding an existence of a causal relationship between the pair can be received. Based on the natural language query, data associated with the variable pair that contextualizes the query can be retrieved from a database storing data characterizing the variables. The natural language query, together with the data characterizing the context, can then be provided to a LLM in a template prompting the LLM to determine a causal relationship between the pair of variables in view of the data characterizing the context. The Al agent can use the LLM’s responses regarding the causal relationships between each pair of PSM and production loss variables to provide the DAG.

[0071] In some implementations, each natural language query can be a multiple-choice query formatted similar to, in some implementations, query examples 4 and 5 in Table IB, and the prompt template can be similar to the example template provided in Table 2. Table 5 provides example natural language queries and corresponding LLM responses regarding causal relationships between SCE-CM and IPF (variables 4 and 7 in Table 4) and between COPNEL and production loss (variables 6 and 8 in Table 4).Atorney Docket No.: 26CRD-510883-WO-2 / 836001WOTable 5: Example natural language queries regarding causal relationship existence and corresponding LLM responsesAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0072] FIG. 6A shows a DAG 600A representing the causal relationships among the variables associated with PSM and production loss (Table 4) provided by the Al agent based on the LLM responses (e.g., based on the LLM responses in Table 5). The DAG 600A includesAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO nodes 602, 604, 606, 608, 610, 612, 614, and 616, corresponding to PPM, CM, SCE-PM overdue, SCE-CM overdue, alarm rate, COPNEL excursion, IPF, and production loss, respectively. Directed edges 616, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, and 642 connect the nodes 602-616 and indicate the determined causal relationships between the variables represented by the nodes 602-616.

[0073] In some implementations, user feedback (e.g., from a subject matter expert) regarding a DAG provided by an Al agent can be provided. The DAG can be updated based on the user feedback. FIG. 6B shows a DAG 600B that is an updated version of the DAG 600A of FIG. 6 A. In the updated DAG 600B, directed edges have been removed, reversed, and added. For example, the directed edge 628, which points from the node 606 to the node 612 in the DAG 600A, and the directed edge 634, which points from the node 608 to the node 614, are not present in the DAG 600B. Additionally, the directed edge 630, which points from the node 610 to the node 606 in the DAG 600A, is reversed to point from the node 606 to the node 610 in the DAG 600B, while the directed edge 632, which points from the node 610 to the node 608 in the DAG 600A, is reversed to point from the node 608 to the node 610 in the DAG 600B. Directed edges 644 (between the node 602 and the node 616), 646 (between the node 604 and the node 610) and 648 (between the node 610 and the node 614) are present in the DAG 600B but are not present in the DAG 600A.

[0074] As evidenced by the DAG 600B, there is a causal relationship between alarm rate (represented by the node 610) and production loss (represented by the node 616). The Al agent can be configured to determine the strength of the causal relationship between alarm rate and production loss based on the DAG 600B and the data characterizing the variables.

[0075] The Al agent can be configured to use historical data associated with each variable represented in the DAG 600B to determine the strength of the causal relationship between alarm rate and production loss. However, in some implementations, for one or more of the variables, the Al agent determines that there is insufficient available data in the database. In this example, the Al agent determines that there is insufficient available data in the database characterizing PPM (the node 602 in the DAG 600B) and CM (the node 604 in the DAG 600B). The Al agent can be configured to remove the nodes in a DAG corresponding to the variables for which there is insufficient data. In this example, the Al agent removes the node 502 corresponding to PPM and the node 604 corresponding to CM. If sufficient data corresponding toAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO a given variable becomes available at a later time, the Al agent can be configured to update the DAG to add a node corresponding to that variable.

[0076] In this example, after the variables for which insufficient data is available have been discarded, the remaining variables (other than alarm rate and production loss) are categorized as confounding variables or mediating variables. FIG. 6C shows a DAG 600C that is a pruned version of the DAG 600B, with confounding variables and mediating variables indicated. In the DAG 600C, due to a lack of available data for the variables PM and CM, the nodes 602 and 604, along with the directed edges connected to said nodes, are not included. The variables SCE-PM (represented by the node 606) and SCE-CM (represented by the node 608) are categorized as confounding variables because they affect both the alarm rate (directed edges 630, 632) and the production loss (directed edges 626, 636). The variables COPNEL excursion (represented by the node 612) and IPF (represented by the node 614) are categorized as mediating variables because they depend on the alarm rate (directed edges 638, 648) and affect the production loss (directed edges 640, 642).

[0077] The Al agent can determine the strength of the causal relationship between alarm rate and production loss by applying a double machine learning technique to determine the strength of the causal relationship between the confounding variables (in this example, SCE-PM and SCE-CM) and the production loss and the strength of the causal relationship between the confounding variables (SCE-PM and SCE-CM) and the alarm rate. In this example, the Al agent applies a first regression model Moto data characterizing the production loss, SCE-PM, and SCE-CM to estimate production loss with respect to a feature set that includes SCE-PM and SCE-CM and applies a second regression model Mtto data characterizing the alarm rate, SCE- PM, and SCE-CM to estimate alarm rate with respect to a feature set that includes SCE-PM and SCE-CM.

[0078] In this example, using the first and second regression models, a first residual Rocorresponding to a portion of the production loss that does not result directly from the confounding variables and a second residual Rtcorresponding to a portion of the alarm rate that does not result directly from the confounding variables are determined. Example formulas for Roand Rtare provided by Equations 1 and 2, respectively.Ro= PL - Mo(SCE PM, SCE CM (1)Attorney Docket No.: 26CRD-510883-WO-2 / 836001WORt= AR - Mt(SCE PM, SCE CM) (2)In Equation 1, PL represents production loss and M0(SCE PM, SCE CM) represents the first regression model with SCE-PM and SCE-CM as predictors of production loss. Similarly, in Equation 2, AR represents alarm rate and Mt(SCE PM, SCE CM) represents the second regression model with SCE-PM and SCE-CM as predictors of alarm rate.

[0079] FIGS. 7A and 7B, respectively, show plots 700A, 700B (regression curves) of the effect of SCE-PM on production loss and the effect of SCE-CM on production loss. In plots 700A and 700B, the horizontal axes indicate the number of overdue safety critical equipment preventative maintenance (700 A) and corrective maintenance (700B) work orders and the vertical axes indicate the production loss in metric tons. These plots indicate a strong dependency of production loss on safety critical maintenances.

[0080] FIGS. 7C and 7D, respectively, show plots 700C, 700D (regression curves) of the effect of SCE-PM on alarm rate and the effect of SCE-CM on alarm rate. In plots 700C and 700D, the horizontal axes indicate the number of overdue safety critical equipment preventative maintenance (700A) and corrective maintenance (700B) work orders and the vertical axes indicate the average number of alarms each month over a predetermined time period. Since process safety maintenances are always prioritized and are generally not overdue, most SCE-PM and SCE-CM values in the plots 700C, 700D are accumulated at zero. For the non-zero values of SCE-PM and SCE-CM, a linear dependency can be observed of alarm rate on both SCE-PM and SCE-CM, indicating that SCE-PM and SCE-CM non-negligibly affect alarm rate.

[0081] In this example, the Al agent determines the strength of a causal relationship between alarm rate and production loss using a third regression model that relates the first residual to the second residual, as shown in Equation 3.R0= fW (3)FIG. 7E shows a plot 700E (regression curve) of the relationship between the first residual (a dimensionless value indicated by the vertical axis of the plot 700E) and the second residual (a dimensionless value indicated by the horizontal axis of the plot 700E). In this example, the slope of the regression line 702, which indicates an amount of production loss that is attributable to a change in alarm, is determined to quantify the strength of the causal relationship between the alarm rate and production loss.Attorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0082] The disclosed methods can be implemented using any suitable computer system. An example computer system 800 is provided in FIG. 8. In some implementations, the computer system 800 can execute all or part of the methods 100 (FIG. 1) and 400 (FIG. 4). The computer system 800 can include at least one processor 850 and non-transitory computer readable memory storage (e.g., memory 852) containing instructions that cause the processor 850 to perform operations. The processor 850 is coupled to an input / output (VO) interface 854 for sending and receiving communications from other components, including, for example, an industrial plant component 860 (e.g., a machine or piece of equipment such as a pump, a valve, a sensor, or the like) and a client device 870 (e.g., a second computer system, separate from the computer system 800, that is operated by a user).

[0083] In some implementations, the disclosed methods are implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. In some implementations, the disclosed methods are implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

[0084] The processor 850 can include any type of data processor suitable for the execution of a computer program. Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any processor of any type of digital computer. The processor 850 can execute one or more computer programs to perform the disclosed methods, all or in part, by operating on input data and providing output data.Attorney Docket No.: 26CRD-510883-WO-2 / 836001WO

[0085] The memory 852 can include any suitable information carrier for embodying computer program instructions and data. In some implementations, the memory 852 includes read-only memory, random-access memory, non-volatile memory, including, in some implementations, semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks, (e.g., internal hard disks or removable disks), magneto-optical disks, and optical disks (e.g., CD and DVD disks), or a combination thereof. In some implementations, the memory 852 includes one or more mass storage devices for storing data, for example, magnetic, magneto-optical disks, or optical disks.

[0086] In some implementations, the computer system 800 is implemented as a laptop computer, a desktop computer, a server, or the like. In some implementations, the computer system 800 is implemented as or includes special purpose logic circuitry, for example, an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0087] The computer system 800 can, among other things, monitor parameters of components, such as the component 860, of an industrial plant and can send signals to actuate and / or adjust various operating parameters of such components. In certain instances, the computer system 800 can communicate status with and send actuation and / or control signals to one or more of the various components of the industrial plant. The computer system 800 can be configured to perform its functions (e.g., communicating with / actuating the industrial plant 860, performing aspects of the method 100, etc.) with various degrees of autonomy.

[0088] To provide for interaction with a user, the computer system 800 can include a display device, for example, a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to a user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer system 800. In some implementations, the computer system 800 can include additional devices for facilitating interaction with a user. For example, the computer system 800 can be configured to provide sensory feedback to the user (e.g., visual feedback, auditory feedback, or tactile feedback), and can be configured to receive input from the user in any form, for example, acoustic, speech, or tactile input.

[0089] In some implementations, the computer system 800 includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web interfaceAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO through which a user can interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, and front-end components. The components of the system can be interconnected by any form or medium of digital data communication, for example, a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), in some implementations, the Internet.

[0090] The techniques described herein can be implemented using one or more modules. As used herein, the term “module” refers to computing software, firmware, hardware, and / or various combinations thereof. At a minimum, however, modules are not to be interpreted as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor readable recordable storage medium (i.e., modules are not software per se). Indeed “module” is to be interpreted to always include at least some physical, non-transitory hardware such as a part of a processor or computer. Two different modules can share the same physical hardware (e.g., two different modules can use the same processor and network interface). The modules described herein can be combined, integrated, separated, and / or duplicated to support various applications. Also, a function described herein as being performed at a particular module can be performed at one or more other modules and / or by one or more other devices instead of or in addition to the function performed at the particular module. Further, the modules can be implemented across multiple devices and / or other components local or remote to one another. Additionally, the modules can be moved from one device and added to another device, and / or can be included in both devices.

[0091] Approximating language, as used herein throughout the specification and claims, may be applied to modify any quantitative representation that could permissibly vary without resulting in a change in the basic function to which it is related. Accordingly, a value modified by a term or terms, such as “about” and “substantially,” are not to be limited to the precise value specified. In at least some instances, the approximating language may correspond to the precision of an instrument for measuring the value. Here and throughout the specification and claims, range limitations may be combined and / or interchanged, such ranges are identified and include all the sub-ranges contained therein unless context or language indicates otherwise.

[0092] While this disclosure contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features that are described in this disclosure in the context of separate implementations can also be implementedAtorney Docket No.: 26CRD-510883-WO-2 / 836001WO in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

[0093] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the implementations described should not be understood as requiring such separation in all implementations, and it should be understood that the described components and systems can generally be integrated together in a single product or packaged into multiple products.

[0094] Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results.

[0095] Other implementations can be within the scope of the following claims.

Claims

Attorney Docket No.: 26CRD-510883-WO-2 / 836001WOWhat is claimed is:

1. A method comprising: receiving a natural language query regarding an existence of a correlation between a first variable and a second variable associated with an industrial plant, wherein the correlation comprises a dependence of the first variable on the second variable, a dependence of the second variable on the first variable, or a lack of dependence of the first and second variables on one another; determining a causal relationship between the first variable and the second variable by an artificial intelligence (Al) agent configured to access a database comprising data characterizing the first variable and the second variable in response to receiving the natural language query; and providing a representation of the causal relationship by the Al agent.

2. The method of claim 1, wherein determining the causal relationship between the first variable and the second variable comprises: encoding the natural language query into a vector representation; and receiving, from the database, based on the vector representation, data characterizing the first variable and the second variable corresponding to one or more features of the natural language query.

3. The method of claim 1, wherein providing the representation of the causal relationship comprises applying a large language model (LLM) to provide a natural language description of the causal relationship.

4. The method of claim 1, wherein providing the representation of the causal relationship comprises providing a graphical representation of the causal relationship.

5. The method of claim 4, wherein providing the graphical representation comprises providing a directed acyclic graph (DAG) representing the causal relationship.

6. The method of claim 5, wherein providing the DAG comprises providing a first node corresponding to the first variable and a second node corresponding to the second variable.

7. The method of claim 6, wherein providing the DAG further comprises providing a third node corresponding to a third variable associated with the industrial plant.Attorney Docket No.: 26CRD-510883-WO-2 / 836001WO8. The method of claim 7, further comprising determining that a change of the third variable causes a change of the first variable and a change of the second variable.

9. The method of claim 7, further comprising determining that a change of the third variable results from a change of the first variable or a change of the second variable.

10. The method of claim 1, further comprising: receiving a second natural language query regarding a strength of the causal relationship between the first variable and the second variable; and determining the strength of the causal relationship by the Al agent in response to receiving the second natural language query.

11. The method of claim 10, wherein determining the strength of the causal relationship comprises applying one or more regression models.

12. The method of claim 10, further comprising providing a representation of the strength of the causal relationship by the Al agent.

13. A system comprising: one or more processors; and non-transitory memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a natural language query regarding an existence of a correlation between a first variable and a second variable associated with an industrial plant, wherein the correlation comprises a dependence of the first variable on the second variable, a dependence of the second variable on the first variable, or a lack of dependence of the first and second variables on one another; determining a causal relationship between the first variable and the second variable by an artificial intelligence (Al) agent configured to access a database comprising data characterizing the first variable and the second variable in response to receiving the natural language query; and providing a representation of the causal relationship by the Al agent.

14. The system of claim 13, wherein determining the causal relationship between the first variable and the second variable comprises: encoding the natural language query into a vector representation; andAttorney Docket No.: 26CRD-510883-WO-2 / 836001WO receiving, from the database, based on the vector representation, data characterizing the industrial plant corresponding to one or more features of the natural language query.

15. The system of claim 13, wherein providing the representation of the causal relationship comprises applying a large language model (LLM) to provide a natural language description of the causal relationship.

16. The system of claim 13, wherein providing the representation of the causal relationship comprises providing a graphical representation of the causal relationship.

17. The system of claim 13, wherein providing the representation comprises providing a directed acyclic graph (DAG) representing the causal relationship.

18. The system of claim 13, wherein the operations further comprise: receiving a second natural language query regarding a strength of the causal relationship between the first variable and the second variable; and determining a strength of the causal relationship by the Al agent in response to receiving the second natural language query.

19. The system of claim 18, wherein the operations further comprise providing a representation of the strength of the causal relationship by the Al agent.

20. A non-transitory computer readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a natural language query regarding an existence of a correlation between a first variable and a second variable associated with an industrial plant, wherein the correlation comprises a dependence of the first variable on the second variable, a dependence of the second variable on the first variable, or a lack of dependence of the first and second variables on one another; determining a causal relationship between the first variable and the second variable by an artificial intelligence (Al) agent configured to access a database comprising data characterizing the first variable and the second variable in response to receiving the natural language query; and providing a representation of the causal relationship by the Al agent.

Citation Information

Patent Citations

  • Controlling a non-linear process with varying dynamics using non-linear model predictive control

    US20070198104A1

  • House of quality for federated manufacturing apps

    US20190243618A1

  • Method and apparatus for performing machine learning based on correlation between variables

    US20210012213A1

  • Insight driven programming tags in an industrial automation environment

    US20230297061A1

  • Scoring correlated independent variables for elimination from a dataset

    US20230351211A1