Converting parameter time-series to language elements in order to feed neural networks that analyze the operation of industrial machines
The method converts parameter time-series to language elements using a pre-trained converter and generative transformer, addressing the challenge of identifying critical deviations in industrial machines by generating state identifiers, thus improving operational efficiency and anomaly detection.
Patent Information
- Application Number
- PCT/EP2025/069320
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-09
- Filing Date
- 2025-07-07
- Publication Date
- 2026-01-15
AI Technical Summary
Existing industrial machine monitoring systems struggle with identifying critical deviations in process parameters due to the lack of available historical data for abnormal operations, especially when machines operate predominantly in normal modes, and transfer learning from similar machines is not always feasible.
A computer-implemented method that converts multi-variate parameter time-series into language elements using a pre-trained converter module and a generative transformer module, leveraging large language models to generate state identifiers based on pre-trained probabilities, allowing for domain-independent knowledge integration.
Enables accurate identification of technical states and potential anomalies in industrial machines, enhancing operational efficiency by providing timely notifications and control actions, even in scenarios lacking sufficient historical data.
Smart Images

Figure EP2025069320_15012026_PF_FP_ABST
Abstract
Description
CONVERTING PARAMETER TIME-SERIES TO LANGUAGE ELEMENTS IN ORDER TO FEED NEURAL NETWORKS THAT ANALYZE THE OPERATION OF INDUSTRIAL MACHINESTechnical Field
[0001] In general, the disclosure relates to industrial machines that perform industrial processes, and more in particular, the disclosure relates to computer systems, methods and computer-program products to control the operation of the machines, with obtaining a state identifier that corresponds to a technical state of an industrial machine.Background
[0002] From an overall point of view and much simplified, industrial machines perform industrial processes. For example, the machines can be chemical reactors, metallurgical furnaces, vessels, engines, vehicles and so on, to process substances, to manufacture products, to transport goods, and so on.
[0003] Operating industrial machines and simultaneously measuring their process parameters belong together. Measuring comprises to measure parameters that are directly related to processes and to machine components, such as temperature, pressure, sound, irradiance (as infrared camera readings), light reflection from surfaces, gas concentration, and other physical properties or phenomena. Measuring results in parameter values.
[0004] Computers support the operation of industrial machines by processing the parameter values, usually in the form of multi-variate time-series. This allows the computer to control the operation of the machines, whenever possible automatically (for example, in accordance with pre-defined control loops). Processing the parameter values also allows informing the machine operators about the technical state of the machines.
[0005] During the processes, the parameter values change, and changes are usually expected within value ranges that are well-known. For some parameters, the computers are able to predict the values for a certain time-interval reaching into the future. Individual parameters (i.e., their single-variate time-series) may depend on each other.
[0006] For example, in closed vessels, the temperature and pressure values are in a certain relation with each other. The skilled person learns the relations, for example from experience or by applying the laws of thermodynamics.
[0007] Occasionally, parameter values deviate from reference values (or are predictedto deviate). Such deviations may become critical to the operation of the industrial machines.
[0008] If computers identify such deviations, they also notify the machine operators accordingly. In other words, informing the operators that a machine parameter value deviates (or will deviated in the future) enables the operators to take appropriate measures. Usually, the operators seek to stop the deviations (or to prevent them to occur in the future).
[0009] However - and again simplified - the reference value may not be known. The development of a particular parameter value at present (and eventually for the future) may be known, but the missing reference may now allow an evaluation. For example, the occurrence of a deviation may therefore not be detectable, let alone the evaluation if a deviation is critical or not critical.
[0010] It is known in the art to apply machine learning techniques that let computers learn from historical deviations. However, historical data is usually related to so-called domains and the domains can be restrictive. Assuming that a particular machine operates in normal mode (i.e., no deviations) most of the time, historical data for abnormal operation might not be available.
[0011] Transfer learning is an approach to apply historical data from machines that are similar. Again simplified, historical data from further machines may provide reference data that indicates abnormal operation of a particular machine.
[0012] However, such reference data may not be available either.
[0013] CN 118 197 960 A explains the use of a large language model (LLM) to suggest an SQL-statement for a database query. GB 2 624 801 A refers to a condition monitoring system for machines. Once an alert message has be issued, an LLM identifies one or more similar alert messages that had been issued before. HUAN WANG et al.: "Empowering ChatGPT-Like Large-Scale Language Models with Local Knowledge Base for Industrial Prognostics and Health Management", arXiv:2312.14945v3, 6 December 2023 refer to operation and maintenance of industrial equipment and discuss how LLMs can support that.
[0014] Computer modules such as a pre-trained converter module and a pre-trained generative transformer module leverage recent developments in computing with machine-learning, especially developments in creating large language models (LLM).
[0015] Numerical data for parameters are converted to language data - language series with language elements, that are sequences of textual elements. The transformer module generates extensions, that have language elements as well.
[0016] The extensions are based on pre-trained probabilities and they reflect experience not only from the domain of industrial machines but from other domains as well. The extensions are therefore suitable to be an identifier that corresponds to the technical state of the machine.
[0017] A computer-implemented method is disclosed for obtaining a state identifier that corresponds to a technical state of an industrial machine that performs an industrial process. The industrial process involves changes in multiple process parameters that the computer represents by multi-variate parameter time-series.
[0018] A pre-trained converter module of the method-executing computer receives at least one single-variate parameter time-series of the multi-variate parameter time-series, and converts the single-variate parameter time-series to a language series. The language series is a sequence of textual elements.
[0019] A generative transformer module of the computer has been trained by a data collection with textual elements. It is therefore "pre-trained". The pre-trained generative transformer module of the computer generates an extension to the language series. The extension is sequence of textual elements as well, but is has further content, that is identified based on a pre-trained probability of occurrence of the textual elements of the language series in relation to textual elements of the data collection. Based on that pretrained probability of occurrence of language elements (i.e., textual elements), the generative transformer provides the state identifier as a statement that comprises at least the extension. The extension is the state identifier that corresponds to the technical state of the machine.
[0020] Optionally, the step receiving the single-variate parameter time-series comprises, is selected from the following: receiving the single-variate parameter time-series as a current time-series with the last element of the series corresponding to the present, and receiving the single-variate parameter time-series as a future time-series. In other words, the step receiving the single-variate parameter time-series can comprise either, as a firstoption, receiving the single-variate parameter time-series as a current time-series with the last element of the series corresponding to the present, or as a second option, receiving the single-variate parameter time-series as a future time-series.
[0021] Optionally, the steps converting and generating are executed such that the language series acts as a prompt.
[0022] Optionally, the pre-trained converter module performs the step converting by sampling the parameter time-series into consecutive time-slots and assigning language elements (i.e., textual elements) to these consecutive time-slots.
[0023] Optionally, the pre-trained converter module performs the step converting by assigning language elements over multiple time-slots of the parameter time-series. In other words, the modules can be considered to compress data.
[0024] Optionally, the pre-trained converter module receives a further single-variate parameter time-series and performs the step converting to the language series from multiple variates.
[0025] Optionally, the pre-trained converter module receives the at least one singlevariate parameter time-series of the multi-variate parameter time-series as a first singlevariate parameter time-series, and receives a further single-variate parameter time-series of the multi-variate parameter time-series as a second single-variate parameter time-series, and performs the step converting to the language series with the first single-variate parameter time-series as first input for a first variate, and with the second single-variate parameter time-series as second input for a second variate, with converting by multiplexing the first and the second variates to a single language series.
[0026] Optionally, the pre-trained converter module selects a number of parameter portions of the received single-variate parameter time-series and converts the received singe-variate parameter time-series to a language series such that the number of language elements is different from the number of portions of the parameter time-series.
[0027] Optionally, the selected parameter portions of the single-variate parameter time-series partially overlap.
[0028] Optionally, the language elements comprise a summary statement that characterizes selected parameter portions.
[0029] Optionally, the step providing the state identifier comprises classifying theextension by a pre-trained classifier to differentiate domains and to filter out extensions that do not fit to the domain of the industrial machine.
[0030] Optionally, the pre-trained generative transformer module that performs the generating and the providing steps has the architecture of a large language model (LLM). In other words, optionally, the pre-trained generative transformer module - that performs the generating and the providing steps - is a pre-trained large language model.
[0031] Optionally, the pre-trained generative transformer module (with the architecture of the large language model) has been initially trained by a data collection that is a collection of textual references. Therefore, the pre-trained generative transformer module with the architecture of the LLM has been initially trained by a data collection that does not require the operation of the machine (the textual references can be obtained from sources outside the machine).
[0032] Optionally, the data collection is a multi-domain collection with language elements from different domains, or is a computer-readable description of the industrial process on industrial machines that are similar to industrial machine (i.e., the similar machine are machine that share technical properties with the industrial machine and thereby use the same types of parameters.)
[0033] Optionally, the pre-trained converter module converts to a language series that comprises elements in a technical language that represents the industrial process, and the pre-trained generative transformer module generates the extension from a data collection that comprises elements in that technical language.
[0034] A computer is associated with an industrial machine and is adapted to execute the computer-implemented method, to obtain a state identifier that corresponds to the technical state of the industrial machine.
[0035] A computer program product that - when loaded into a memory of a computer and being executed by at least one processor of the computer causes the computer to perform the steps of the method.Brief Description of the Drawings
[0036] Embodiments of the present invention will now be described in detail with reference to the attached drawings, in which
[0037] FIG. 1 illustrates an overview to a computer and to an industrial machine;
[0038] FIG. 2 illustrates the industrial machine and modules of the computer at different module phases, among them a converter module;
[0039] FIG. 3 illustrate a time diagram to show that the converter module samples parameter time-series into consecutive time-slots and assigns language elements to the time-slots;
[0040] FIG. 4 illustrates a time diagram to show how the converter module converts data to language element with more detail;
[0041] FIG. 5 illustrates a time diagram to show how the converter module can compress data by assigning language elements over multiple time-slots;
[0042] FIG. 6 illustrates a flow-chart for a computer-implemented method for obtaining a state identifier that corresponds to a technical state of an industrial machine that performs an industrial process;
[0043] FIG. 7 illustrates a diagram with associations that can be processed by the transformer module; and
[0044] FIG. 8 illustrates a generic computer.DetailedWriting convention
[0045] The figures frequently show boxes with arriving arrows that illustrate data at inputs and with departing arrows that illustrate data at outputs. The boxes symbolize computer modules, data structures, technical equipment (such as machines), and so on.
[0046] Acronyms identify content and form of data, such as parameter P (or parameters P), state identifier S (or state identifiers S), action A (or actions A), and language elements L. As it will be explained, to describe content and form changes, the description uses the acronyms with activity nouns, such as in• a parameter-to-state (P-to-S) aggregation,• a state-to-action (S-to-A) derivation,• a parameter-to-language (P-to-L) conversion,• a language-to-state (L-to-S) generation, comprising the generation of extensions E, as well as in• any "to-S identification" (as a method), with state identifier S as the result, and others.
[0047] Some of the computer modules process data that at the first glance appear incompatible: Parameters P have numerical values (such as "1,but statements with language elements L are processed by character combinations (such as "one, two,
[0048] One of the modules has the function to convert parameters P to language elements L, and it would also be appropriate to call the module "translator" or P-to-L transformer. As the skilled person is familiar with analog-to-digital converters (ADC) to make analog signals computer-readable, the description uses the synonym "converter".Industrial machines and computer modules
[0049] FIG. 1 illustrates an overview to computer 1000 and to industrial machine 100. The pictogram on the left side symbolizes that machine 100 can be a furnace, a vessel (that may belong to the furnace) or other equipment in iron and steel industry, but that example merely serves for illustration.
[0050] It is well-known in the art that a computer (such as computer 1000) can process data that relate to a technical system, such as to industrial machine 100. As there is an overall goal to operate machine 100 efficiently, data processing can support the operation of machine 100, especially when the machine performs an industrial process. As machine 100 is technical, the industrial process is a technical process.
[0051] The skilled person distinguishes data processing at two or more levels: a relatively high number of technical parameters P can be aggregated to a relatively low number of technical state identifiers S. In principle, data processing is possible at P and at S levels. The following description focuses on the S level.
[0052] For example, the parameters temperature and pressure (both inside the furnace), each with values in certain min / max ranges, can be aggregated to state identifiers S, such as• S = "warming up",• S = "cooling down",• S = "vessel about to explode", or the like.
[0053] In this much simplified example, the labels for the state identifiers S have semantic traces of the parameters P in the form of language elements: For example, the words "warm / cool" or "warm / cold" point to the word "temperature", and the word"explode" points to the word "pressure". This is convenient for illustration but not required.
[0054] To give a further example, FIG. 1 visualizes parameter P2 that is a tank level, and the description below discusses a state that is related to that tank level.
[0055] Computer 1000 performs a computer-implemented method for obtaining a state identifier for a technical state of an industrial machine 100 that performs an industrial process (cf. FIG. 6 for a flow-chart). In other words, computer 1000 identifies the technical state (S) of industrial machine 100 that performs an industrial process. Thereby, computer 1000 provides state identifier S (or identifiers in plural). To explain the motivation to identify the technical state (S) and to provide state identifiers S, FIG. 1 also illustrates how state identifiers S can optionally be used in machine 100. The vertical arrow for S from computer 1000 to machine 100 is therefore illustrated dashed.
[0056] The description makes a semantic difference between the technical state (S) and the state identifier S (cf. the figure). The skilled person can implement other approaches, but the basic requirement is that• S ~ (S), the state identifier S is an estimate of the state (S), or• S = (S), the state identifier S is an ideal representation of the state (S).
[0057] In other words, any state (S) should be identified correctly (i.e., with appropriate accuracy). To summarize the requirements, the description writes "correspond" collectively for "estimate" and for "ideal representation".
[0058] From a high-level perspective, and simplified, computer 1000 can process data in relation to a control loop or to other automation approaches. Computer 1000 analyses parameters P and determines state identifier S. The vertical arrows symbolize that computer 1000 consumes P from machine 100 and provides state identifier S to machine 100.
[0059] The accuracy to obtain state identifier S is related to the use of S by machine 100 for that actions A are applied. For example, the state identifier in a meaning "about to explode" should be available (i) before the explosion to take actions to avoid that, and (ii) should not cause a false alarm or the like.State identifier S and actions A
[0060] Action rules are rules to define state-to-action derivations (S-to-A derivations). For example, if an explosion is to be expected (i.e., that is state information), the pre-defined action A could be A = "open a valve", or to take other action that changes the state (S). Anaction rule can imply not to take any action at all.
[0061] The skilled person is familiar with deriving actions A and to actually perform them, FIG. 1 is therefore simplified in omitting details. For such an S-to-A derivation, there are two possibilities in principle:• Controller-implemented rule: Machine controller 180 ("controller" in short) is a computer to control the machine. Controller 180 is not necessarily identical to computer 1000, and it is therefore illustrated to be a part of machine 100. Controller 180 receives the state identifier S in the form of a state signal (details below). Controller 180 can derive one or more actions A based on pre-defined data structures that represent the rules. Once the action A is identified, controller provides an appropriate control signals inside machine 100.• Operator-performed rule: Machine operator 190 receives the state identifier S in the form of notifications (details below, such as 501~4 and 701~4), and identifies the action based on rules (that are documented in instruction manuals or otherwise) and / or based on professional experience. Notifications do not have to convey each and every state identifier S that computer 1000 identifies, but can be filtered.
[0062] While FIG. 1 symbolizes both possibilities, FIG. 2 will be simplified by focusing on machine operator 190.
[0063] Using data at level S (i.e., the state identifier) to derive an action A contributes to operation efficiency of machine 100. But any inappropriate action A may damage the machine (and may even cause a safety hazard to the operator). Again, the accuracy of state identification (as a method) and of the state identifier (as the result) remains important.Knowledge
[0064] The parameter-to-state (P-to-S) aggregation is based on a priori knowledge (e.g., the relation between temperature and pressure in vessels) and the pre-defined action rule (i.e., the S-to-A derivation), for example, to open the valve to avoid the explosion, is based on a priori knowledge as well.
[0065] The skilled person can use one ore more machine learning (ML) tools, such as neural networks (e.g., network 500) or other tools, to obtain such knowledge (i.e., P-to-S aggregation, S-to-A derivation). The knowledge does not have to be defined in terms of human-understandable semantics (such as "pressure" and "explosion"), but can be definedotherwise. Different configurations are possible, such as for example,• a first neural network for the P-to-S aggregation (as illustrated with network 500) communicating with a second neural network to derive the action (S-to-A), not illustrated but that could be used in addition or in alternative to controller 180 or operator 190),• ML tools that are not necessarily neural networks, for the P-to-S aggregation, and for the S-to-A derivation, and• ML tools for P-to-A (bypassing the states, that would be a parameter-to-action derivation).
[0066] The P-to-S aggregation does not exclude the possibility to identify the actions A from parameters directly (i.e., P-to-A). The skilled person is also familiar with processing data with parameters P only and with controlling the machine by setting parameters. For example, the computer can have the function of a controller (cf. controller 180) to keep a parameter at a certain set-point, such as the parameters "temperature" and "pressure".
[0067] However, such ML tools would have to be trained with historical data (in P and in S) for machine 100 (or for a reference machine). If such historical data is missing, obtaining a state identifier S is not possible, let alone deriving A. To stay with the example, if certain temperature and pressure value are not available from historical sources (i.e., simplified from actual explosions) identifying "about to explode" is not possible.Extra knowledge via L
[0068] The knowledge is not always available. As it will be explained with computer modules - these are converter 600, generator 700 and optional classifier 800 - it is possible to gain knowledge (i.e., P-to-S, S-to-A) in an approach that leverages recent developments in computing with machine-learning, especially in the use of a so-called generative transformer (as generator 700). This knowledge can be applied alternatively to the knowledge obtain from the traditional ML tools.
[0069] The approach further• comprises a P-to-L-conversion (in converter 600, with optional tokenizer 610) that is a conversion from one or more parameters P to one ore more language elements L (in a language-series), and subsequently• comprises an L-to-S generation (i.e., the use of L by generator 700, the state identifierS2 would have language elements as well), wherein the state identifier S2 comprises an extension E to the language elements of the language-series based on a pre-trained probability of occurrence.
[0070] To stay with the example, the converter would obtain language elements such as the phrase "temperature rising above max. value" and the phrase "pressure rising above max. value" and send them to the generator. As the generator has been pre-trained with such and similar language elements (from data collections, such as 202~l in FIG. 2), there is pre-trained probability that the term "explosion" appears together in these data collections. The generator would generate the word "explosion" as an extension.
[0071] As a side-note, the generator might also generate other extensions, such as "crazy sound", because the data collection may show such terms in relation to the mentioned "temperature ..." and "pressure ..." phrases as well. By optionally classifying the extensions (classifier 800 in FIG. 1) in view of the domain "machines", domain-specific extensions (e.g. "explosion" more specific to machines) can be provided in the state identifier S, but out-of-domain extensions (e.g., "crazy sound") can be filtered out.
[0072] But the historical data would not have to come from machine 100, but would come from historical experience that high temperatures and high pressures can lead to explosions. By taking the domain into account (cf. training as generator 700~3 via converter 600~3b), the historical experience can be limited to the domain (that increases the accuracy to provide S).
[0073] As it will be explained with further detail below (FIGS. 3-5), converter 600 needs more attention because a P-to-L-conversion is a relatively new area for industrial machines, but generator 700 can be commercially available tool that would have to be adapted (cf. training as generator 700~3).
[0074] The language elements do not have to be expressed by strings (word, phrases, sentences etc., with or without numbers, but can be summarized in tokenizer 610 to so- called tokens, with examples to be explained with FIGS. 3-5.
[0075] Optionally, it is also possible to apply an S-to-L-conversion as well (if S is available for some sub-components of the machine), but such a conversion would be based on the same principles as for the P-to-L conversion. Both P-to-S and L-to-S conversions result at S.
[0076] The computer can process data to analyze how the machine operates and canthereby identify a particular technical state S of industrial machine 100, in short: state identifier S (identified from P directly, or identified via P-to-L, and L-to-S, cf. S2~4 to be detailed in FIG. 2). Depending on that analysis (i.e. with the identified state S), the computer can act on the machine to change that state S.Computer-internal competition for knowledge
[0077] As illustrated in FIG. 1, there are two ways to provide the state identifier S• via a first branch with network 500, P-to-S, illustrated as SI, or• via a second branch with converter 600 for P-to-L and generator 700 for L-to-S generation, illustrated as S2.
[0078] Both ways may provide the state identifier S in different accuracy (and at different points in time), but this is potentially an advantage. While FIG. 1 shows an ideal situation in that there is no difference between both ways (i.e., ideally SI = S2 = S), but further below the description differentiates both branches (in the example of different notifications).
[0079] In other words, machine 100 has a technical state (S) no matter if computer 1000 identifies the state (S) correctly or not. As already mentioned, the state identifier S is an approximation (estimate) of the state (S).Particular details for machines
[0080] A particular state S (of the machine) is also identifiable as• a particular process state S (of the process that the machine performs), or• a particular component state S (of a component in the machine).
[0081] As such a distinction is well known in the art, the description simply writes "state identifier S". With more granularity, states can be associated with sub-processes, and with sub-components.Anomaly example
[0082] The following description refers to a simplified scenario that will be labelled ANOMALY. The analysis is explained with three levels, simplified: machine parameters P can become critical parameters, and the occurrence of a critical parameter causes the technical state (S) that qualifies as being an "anomaly" (e.g., state identifiers S = "anomaly" or "anomaly due to parameter ..." because of a particular parameter).
[0083] The description takes the ANOMALY example also because (i) an anomaly isusually not desired, and actions A usually seek to prevent them, and (ii) identifying S with an indication of parameters P can be desired to take the appropriate action.
[0084] Focusing the description to such a simplified scenario ANOMALY is not a limitation to the approach to provide the identifier S, and not a limitation to the derivation of the action A. It is also possible to identify other states S and to relate other states to other actions A.Timing
[0085] It is well known that the progress of time can be differentiated into• the past,• the present and• the future.
[0086] For example, the computer can provide state identifier S that is applicable at present and can act on the machine at a time-point in the future. Or, the computer may predict S to apply in the future. The description uses present time terms collectively, and limitations (to the past, the present or the future) will be explained only when needed.
[0087] When the description writes (for example, in explaining the scenario ANOMALY) that "the computer identifies an anomaly" or the like, the description also means that the computer may identify an anomaly that has occurred in the past, or that the computer may identify an anomaly to be expected in the future.
[0088] The progress of time has a further aspect in view of consecutive module phases ~1, ~2, ~3, and ~4 that are occasionally expressed by ~ notation. (As a side note, the module phases could also be called "machine learning phases" and should not be confused with process phases of the machine.)
[0089] This ~notation also applies to the machine and to (human) machine operators, because some of the computer modules operate simultaneously with the machine.
[0090] FIG. 2 illustrates industrial machine 100 (rectangles, bold), again with its human operator 190. FIG. 2 further illustrates an overview to computer modules 500, 600, and 700 (shown by rectangles as well), such as neural network 500 ("network 500" in short) that processes parameter time-series{Pn}, {{P}} and that provides technical state identifier Sl~4, by way of P-to-S aggregation,• parameter time-series to language series converter 600 (cf. the "P-to-L-converter", "converter 600") that processes parameter time-series {Pn}, {{P}} and that provides language series {Ln},• generative transformer 700 ("generator 700") that processes language series, {Ln} and that provides state identifier S2~4 (with the extension E~4).
[0091] The description will explain aspects of converter 600 below with FIGS. 3-5.
[0092] Modules 500, 600 and 700 are implemented by one or more computers (such as computer 1000), the computer can be physically different and can be located remotely from each other. The same implementation principle applies to optional classifier 800 (cf. FIG. 1) that for simplicity is left out here from illustration.
[0093] Data is symbolized by rectangles with "round corners". Data can have a timeaspect is being:• time-series with parameters or "parameter time-series" that can be- single-variate parameter time-series {Pn}, or- multi-variate parameter time-series {{P}}, with variates n = 1 to N.• series with language elements or "language series" {Ln} that can be series that are specialized to one topic (e.g., to describe the process of some parameters, quasi "single-variate language series") or that can be series that are arranged in multiple but related computer-storage locations (e.g., some part of text for the parameters of a first machine component, other parts for further components, quasi "multi-variate language series").
[0094] The description writes "time-series" for P and simply writes "series" for L. This is not necessarily a simplification but rather a pointer to constraints to be addressed: timeseries are clocked (by time-slots such as At), but language elements are usually not clocked. An approach to address this constraint will be explained in connection with "dividing".
[0095] Storing data in databases or the like is performed by available technology and therefore not further explained. The data flow is symbolized by arrows.
[0096] Network 500, converter 600, generator 700 (optionally classifier 800, cf. FIG. 1) apply machine learning techniques (ML in short) to learn from historical data (e.g., data obtained in phase ~1 or earlier). Modules 500, 600, 700 and 800 are just examples for such data processing. In the acronym "ML", the "M" stands for a computer, not for the industrialmachine.
[0097] In principle, it does not make a difference if, for example, modules 500, 600, 700 and 800 process data to learn (i.e., in a training phase, here ~2 and ~3) or process data to control a technical system (i.e. in an operation phase ~4 of machine 100~4, CONTROL), or to inform an operator (i.e., operator 190~4).
[0098] Network 500~4 and generator 700~4 process data to notify operator 190~4 for some events (by notifications 501~4 to convey state identifier Sl~4, and notification 701~4 to convey state identifier S2~4).Machine, process and parameters
[0099] Industrial machine 100 performs an industrial process that involves multiple parameters. Parameters P that are processed by network 500 are the parameters in the N- variate parameter set (Pl ... PN). This N-variate parameter set can be differentiated into subsets. (The description will explain converter module 600, with "single-variates" Pn in subsets.)
[0100] While industrial machine 100 performs the process,• variable parameters (in a first subset) do change, and• constant parameters (in a second subset) do not change.
[0101] Both subsets are complementary, but an exact differentiation is not necessary. A constant parameter can become a variable parameter, and vice versa.
[0102] In many use-cases, industrial machine 100 performs a process that has several process phases. Parameters P may change their character (e.g., from variable to constant, or vice versa, or otherwise) when the process enters a new process phase. Parameter changes AP are characteristic for process phases and for process phase transitions. However, as parameter changes are common, only changes of particular quality have consequences of the operation of the machine are therefore of interest for the operator.
[0103] In many use-cases, industrial machine 100 performs the process in repetitions, i.e., in process instances. Repetitions (of processes and or process phases) can be used to establish reference values.Parameter deviations
[0104] Variable parameters deviate if their values deviate from reference values. Such parameter deviations can be detected if reference values are known. Parameters have usualvalues within known tolerances (e.g., tolerance bands with lower and upper values).
[0105] Constant parameters deviate if they turn into variable parameters. Detecting such parameter deviations may be possible without comparing them to particular reference values.
[0106] Two or more parameters (no matter if variable or constant) can be related to each other. For example, a first parameter would be ON, a second parameter would be OFF, and vice versa. Some relations may be deviating parameter relations. For example, having the relations OFF / OFF or ON / ON at the same time can point to a deviation. The relations are not necessarily detectable by comparing parameters to references (such as reference values), but occasionally the relations are more complex.
[0107] Process phases may be relevant as well; phase transitions may occur with parameter changes that are not characteristic.
[0108] To summarize this point, deviations (such as of individual parameters, parameter relations) can be detected if reference values or reference relations are known. The same principle applies to phase transitions and to repetitions.Critical deviations
[0109] According to the impact on the operation of industrial machine 100, deviations can further be differentiated. Despite deviations (in parameters or parameter relations), the machine may continue to operate.
[0110] In view of the above-introduced scenario ANOMALY, deviations can cause abnormal operation (or can indicate abnormal operation). These deviations are also called critical variations.
[0111] A parameter showing a critical deviation has become a "critical parameter", and a parameter relation can become a "critical parameter relation".
[0112] To summarize this point, criticality can be detected (or predicted for the future) if an impact to the operation is detected (or predicted).
[0113] The skilled person can identify critical parameters, and approach to detect them is known from WO 2023 / 202955 Al. The document also repeats basics regarding multivariate time-series and single-variate time-series.Notifications and the concept to have anomalies
[0114] Machine operator 190~4 can monitor the values for the N-variate parameters,but with the goal to operate the machine efficiently, operator 190~4 is particularly interested to learn events such as:• (event 1) A particular parameter - no matter if being variable or constant - shows a deviation at present, or is expected to show the deviation in the future.• (event 2) A deviating parameter becomes a critical parameter, or is expected to become critical in the future.• (event 3) A particular parameter relation shows a deviation at present, or is expected to show the deviation in the future.• (event 4) A deviating parameter relation becomes a critical parameter relation, or is expected to become critical in the future.
[0115] According to pre-defined aggregations (cf. P-to-S aggregations), the events can be associated with state changes. For the scenario ANOMALY, events 2 and 4 are considered to be an anomaly in the operation of the industrial machine. In other words, the industrial machine would change to the state S = "anomaly in the operation" if any of events 2 or 4 occurs. This also applies to the past (anomaly in the past operation, event in the past) and to the future (anomaly in the future operation, event in the future).
[0116] The S = "anomaly in the operation" can be identified more specifically as "anomaly in the process" or "anomaly of a component". This definition of the state "anomaly" follows the scenario ANOMALY that has been introduced above.
[0117] As illustrated here, operator 190~4 can be notified.• by network 500~4 (in a traditional approach, as notification 501~4) and / or• by generator 700~4 (in an alternative approach, as notification 701~4).
[0118] For simplicity of explanation, and in line with the scenario ANOMALY, the description describes network 500~4 and generator 700~4 to provide notifications for events 2 and 4 only. (Technically this can be implemented by differentiating events: events 2 and 4 can be highlighted as leading to state identifier = anomaly)
[0119] Notifications 501~4 (with state identifier Sl~4) and 701~4 (with state identifier S2~4) can comprise details, such as• event 2, an identification of the deviating parameter that is critical (or event 4, the identification of a deviating parameter relation that is critical),• optionally, an estimation of a time-point in the future for the event,optionally, the identification of the machine components, and so on.
[0120] Network 500~4 and generator 700~4 can communicate notifications 501~l and 701~4 to operator 190~4 via user interfaces (not illustrated).
[0121] As already mentioned, network 500~4 and generator 700~4 operate according to different ML principles (neural network, and generative transformer). The accuracy in identifying the technical state (S) and in providing the state identifiers Sl~4 and S2~4 is different. In other words, network 500~4 and generator 700~4 would provide different notifications, or would not provide notifications at all.
[0122] There is a further constraint. While the topology of network 500 can be adapted to process multi-variate time-series {{P}}, the topology of generator 700 is a "black box" that can not be modified. (To some extend, the training for generator 700~2 may not the modifiable, and the metaphorical "black" would apply to training as well. Therefor it would have to be re-trained, as generator 700~3, details below).
[0123] For example, network 500~4 may fail to issue event 2 (or event 4) notifications despite a detected deviation (that would be detectable and that would be a critical deviation). Or in some cases, network 500~4 may not have a reference to mark a detected deviation to be critical.
[0124] Lack of harmonization (in the output i.e. in state identifiers Sl~4 and S2~4) between network 500~4 and generator 700~4 is not necessarily a disadvantage, but a rather an advantage. Some notifications are more likely to be provided by network 500~4 than provided by generator 700~4, and vice versa.
[0125] As it will be explained by way of example, generator 700~4 may perform better than network 500~4 (for example, in identifying an event as "event 2", not only as "event 1").Notification and control instruction
[0126] To stay with the scenario ANOMALY, operator 190~4 can apply appropriate measures (cf. the above-mentioned operator-performed S-to-A derivation). The reaction to notifications 501~4 from network 500~4 and to notifications 701~4 from generator 700~4 can also be automated (cf. the controller-implemented S-to-A derivation). As the skilled person is familiar with computer controllers and with control loops, the figure omits details for such a loop. While notifications 501~4 and 701~4 are illustrated to inform operator190~4, they can serve as input data to the controllers (i.e., cf. controller 180 in FIG. 1 that provides control signals to the machine).Example
[0127] Modules 500, 600 and 800 that apply ML would usually process data without considering the underlying semantics. To enhance understanding, the description occasionally refers to a single parameter Pn that is easy to understand and to describe. In a fictitious example for the scenario ANOMALITY, industrial machine 100 should be a chemical reactor that has a tank for a liquid. Process phases (and phase transitions) could be• (1-phase) pouring the liquid into the tank, ending with the process state (1-state) "tank filled" that marks the transition to the next process phase,• (2-phase) mixing the liquid with further substances, ending with the process state (2- state) "mixing completed" that marks the transition to the next process phase, and• (3-phase) removing the liquid, ending with the process state (3-state) "tank empty".
[0128] The description writes (1-phase), (1-state), etc. to avoid confusion with module states ~.
[0129] The process should be performed in repetition of the phases (pour, mix, remove, and so on).
[0130] The quantity of the liquid in the tank should be the parameter Pn = P2 (i.e., "tank level" symbolized in FIG. 1). P2 is a variable parameter (during pouring and removing), and is a constant parameter during mixing. To keep the example as easy as possible, the event in that P2 reaches the volume of the tank should symbolize the critical parameter deviation. Such a deviation is not limited to particular process phases, at can occur in (1-phase), in (2- phase), or in (3-phase).
[0131] As in ANOMALY, a tank overflow event would have an impact on the operation of the machine, and tank overflow would have to be avoided. Of course, the skilled person is aware of that semantics and would implement some safety measures, just to program the "switch off" when P2 reaches a threshold. But here in this example, such a safety switch should be assumed to be missing.
[0132] In the example, network 500~4 should be unable to give an overflow warning (i.e., no notification 501~4, or perhaps only notification for "event 1" only, let alone a warning that an ANOMALY is occurring). This is simply because Sl~4 (S).
[0133] But generator 700~4 would be able to do so, because S2~4 ~ (S). Generator 700~4 would provide notification 701~4, as "event 2" with the emphasis to be critical. This is possible because generator 700~4 participates in the computer-implemented method for identifying a particular state of an industrial machine 100~4.
[0134] As in ANOMALY, the method would identify an anomaly in an industrial process that is performed by machine 100~4.
[0135] The semantic example has some analogy in other areas of human activity. Drinking a cup of coffee is a process with periodic repetitions, and it has process phases. As humans tend to inform each other about the phases, for example, by speaking and or by distributing images, there are may descriptors for phase transitions around (e.g., "coffee is ready", equivalent to (1-state)). Usually, measuring coffee levels with exact values (as P2) is not required, coffee drinkers can estimate the level. But there should be a huge number of overflow events that have been documented. The documentation can be available text form, but also in image form.
[0136] Simplified, from this (huge) number of overflow events, some of them will be regenerated as extensions (e.g., "overflow", "spilled over" etc.). This is however not that easy as it appear so that the description continues with technical constraints and challenges.Challenges
[0137] In general, the operation of the computer modules (i.e., network 500 and generator 700, at any phases) sees challenges:
[0138] (i)Data describes the technical system, such as machine 100, but lack of data reduces the opportunities by that computer modules can interfere with the operation of the machine (i.e., to provide SI, S2, via the notifications to operator 190 and / or control signals via controller 180). For example, a conventional operation predictor is a computer module that mainly learns from historical data of the machine for that it predicts (cf. data 201~l). Crossdomain learning may by applicable to process historical data from similar machines, but data for particular states may not be available (e.g., not for ANOMALY). In industry, there are millions of storage devices (e.g., hard disk drives, solid state disks, optical storage, or the like) that store time-series with industrial-machine parameters. But the data is specific to particular machines (such as to machine 100~l), and the data is separately distributed tomany machine operators (such as industrial companies).(ii) Data is usually available in large quantities. As the term "multi-variate" suggests, the data may come from several data sources simultaneously. But some of the variates are more relevant than others, and some combinations of variates may have more impact to subsequent processing than variates in isolation. A combination of, for example, a variate for the "liquid quantity" and a variate for "tank size" may be combined to one language element (such as "overflow") that would be related to both variates.
[0139] (iii) Data may potentially be in a form that is not compatible to the form that the computer requires. For example, there are multiple forms in that the computers modules receive data (for processing), and provide data (as the result of data processing). The forms comprise, for example, time-series (single-variate, or multi-variate), graphs, statements in computer code, statements with language elements (L), and many others.
[0140] Neural networks (such as network 500) are adapted to process time-series (no matter if they are also provided by graphs or not), and generative transformers (such as generator 700) are adapted to process language elements. Language is not necessarily limited to natural language, but could be language in high-level computer language. For example, "pouring the liquid into the tank" can have an equivalent in a process description language (e.g., POUR LQTK are elements of a language that describe the process).
[0141] Ideally, the content of the data is independent from their form. (That should not be confused with the well-known saying "content goes over form" that refers to the human perception of content). Conversions (P-to-S, P-to-L etc.) should preserve the content or at least preserve content that is relative to identify appropriate actions. As already mentioned, the accuracy of data conversion is important and there is the requirement for S ~ (S), S = (S).
[0142] The above-mentioned different process phases (and the process repetitions) let parameter time-series appear differently. For example, in the pouring phase, the tank level P2 is just rising, but for the process with (1-phase), (2-phase) and (3-phase) as a whole it is rising, staying constant and decreasing. For process repetitions (e.g. periodic repetition), P2 appears to be oscillating.
[0143] In the last years, machine-learning techniques see a trend to use a so-called generative pre-trained transformer (GPT), but such transformers have been trained in a form (simplified: text in natural languages) that in principle is not compatible with time-seriesdata {Pn}, {{P}}. To stay with the example, P2 would be numeric data (that would be - in principle - incompatible with the transformer).Solution
[0144] A solution is available by converter 600 and generator 700. From a high-level perspective, converter 600 allows to change the form from• a source form with numeric data (such as the parameter time-series {Pn}, {{P}}, optionally graphs) to• a target form that is more statement-oriented (such as with computer code and / or language elements, {Ln}. (FIG. 2 and the description use the acronym L collectively for natural language and for computer code).
[0145] Generator 700 processes the target form (i.e., the language time-series {Ln}) and generates so-called extensions that are based on probabilities to occur.
[0146] Converter 600 would keep the content substantially unchanged (or at least remain suitable for the S-to-A derivation), but generator 700 adds the extensions E.
[0147] In other words, processing parameter data alone may not be sufficient to obtain S, but converting parameters to language elements allows to leverage knowledge that is available in language form.
[0148] The interaction of modules 500, 600 and 700 has to follow a certain order, otherwise data would not yet be available or would not be converted to the appropriate form.
[0149] Data processing at converter 600 is critical in view of the time, in two aspects:• Converter 600 has to process data in a certain order, no matter how long individual data processing takes, this aspect will be explained with module phases ~1 to ~4.• The accuracy of converter 600 (i.e., when it changes the data form) depends on the properties of the parameters in the industrial process, such as cycle times for process phases. Certain timing intervals would have to detected, and will be explained with other figures below (cf. FIGS. 3-5 for time-slots). Therefore - in the best case - the converter takes phase transition into account. It is possible to use ML to process timeseries with the goal to detect process phases, the duration of particular process phases, the transition between process phases, to establish references and so on. The converter can divide time-series data into portions.Phases and traditional approach
[0150] The figure indicates module phases ~1, ~2, ~3 and ~4 from left to right as the time progresses. The phases are module phases because modules 500, 600 and 700 process data differently. The "module phases" are not identical with the "process phases" of the machine. The module phases can be considered as computer run-times. Further, the phases ~1, ~2, ~3 and ~4 are related to training. When the description identifies a module with ~4, the module is a pre-trained module due to training activities in a previous phase ~2 or ~3. Likewise, a module ~3 is a pre-trained module due to training in phase ~2. Training is not limited to a single phase, for example, generator 700 is being trained in phases ~2 and ~3.
[0151] Simplified, phase ~1 stands for collecting data, phases ~2 and ~3 stand for training, and phase ~4 stand for operating the machine (at present, or in the future).
[0152] As already mentioned, the module phase identifiers ~ are added to the references. Although the figure illustrates the module phases in separate columns, the phases can overlap. It is noted that the module phases in the upper part of the figure are not necessarily in synch with the module phases shown in the lower part. For example, data collection 201~l and data collection 202~l may become available at different calendar dates. Collecting data 201~l requires the operation of machine 100~l, collecting data 202~l does not.
[0153] Module phase ~1 stands for the time-interval to collect data that is to be used a historical data to train modules (such as to train network 500~2 during phase ~2). By way of example, the figure shows industrial machine 100~l providing multi-variate time-series {{P}}~1 for the above-mentioned parameter set (Pl ... PN). The figure indicate {{P}} | R~1 to symbolize a collection of R multi-variate parameter time-series for R process instances (an initial performance and R-l repetitions). Optionally, data can be available by graphs.
[0154] To stay with the example, historical data can comprise one or more multi-variate parameter time-series, among them the single-variate parameter time-series for the tank level P2 (e.g., one time-series per process instance). As such parameter time-series are known in the art, the description refers to a simplified example. A single-variate parameter time-series may be a sequence of numeric values that represent the particular parameter P2 = {1, 2, 3, 4, 5} at time-points with equal time-intervals (At). The sequence would have further values, to represent the tank level during mixing and removing.
[0155] Optionally, a graph could be collection of points in a coordinate system, for example, with time-points at the abscissa and the corresponding parameter value at the ordinate. In combination, the points would look like a line with a certain angle to the abscissa (here P2 rises by one unit during one time-slot). Other coordinate systems could be used as well.
[0156] There is an assumption that many different multi-variate parameter time-series {{P}} are available, this is just symbolized by overlapping boxes. Collection 201~l would therefore be a collection of {{P}} | R (with r=l to r=R) for R process instances (each with process phases) in repetitions.
[0157] This relatively large number R of time-series results from mentioned approach to let industrial machine perform processes in repetitions. For the example, it can be assumed that the tank has been filled and emptied, depending on the process phases. In terms of data, P2 would rise, for example, from P2 = 0 to P2 = 7 in (1-phase) at process p = 1, a new cycle p = 2 may lead to X2 = 8 and so on. P2 would be a variable parameter, at least for pouring and removing.
[0158] As symbolized by a dashed box, data that describes an event (P2 becomes critical, anomaly in the operation) may not be available, despite the relatively large number R of parameter time-series. For the example, there was no anomaly: the liquid did not excess the tank volume, there was no overflow, P2 was below a critical threshold all the time (i.e., for all instances through r = R).
[0159] Module phase ~2 stands for the time-interval to perform training the modules, such as to train network 500~2, based on multi-variate parameter time-series {{P}} | R ~1 (i.e., for R instances). As training such a network is usually performed with data from industrial machine 100 for that the prediction applies, there should be no anomaly detectable. While reference 500~2 refers to training, module 500 turns into pre-trained module 500~4.
[0160] In the scenario ANOMALY, network 500~2 would not learn that the tank liquid parameter may reach a critical value. In other words, missing the learning opportunity here has mainly two reasons: lack of data and also lack of annotations (i.e., that a parameter becomes critical at a certain threshold). The example is simplified, and the skilled person can detect anomalies even if the training data would not describe them.
[0161] The skilled person can apply transfer learning, and eventually train network500~2 to predict tank overflow. But in the example of FIG. 2 this should not be the case, there is an assumption that network 500~2 can predict parameters (or predict certain state), but not predict the overflow anomaly (that is a state as well).
[0162] Module phase ~4 stands for operating network 500~4 (and also operating generator 700~4), substantially simultaneously with operating machine 100~4, at current time. Industrial machine 100~4 provides current multi-variate parameter time-series {{P}}~4, among them parameter P2. The figure illustrates the property "current" by simply writing {{P}}~4 without R. Network 500~4 would process {{P}}~4 but in line with the example, it would be unable to predict the overflow anomaly.
[0163] The term "current" refers to the present time (i.e., to a particular time-point) but also include time-slots in the time-series that occurred before. The skilled person is familiar with the concept of "context".Alternative approach
[0164] The description now focuses on converter 600 and generator 700, mostly shown in the lower part of the figure. The description continues by referring to the module phases ~1, ~2, ~3 and ~4, but as already mentioned, the module phases do not have to be in synch with each other.
[0165] Module phase ~1 also stands for the time-interval to collect data that is to be used as historical data 202~l to train generator 700 (illustrated during training in module phase ~2 as generator 700~2). Module phase ~1 here does not have a particular starting time. Data 202~l can be regarded as a relatively huge collection of human experience, in the form with language elements, taken from textual references such as books, scientific papers, Wikipedia article, etc. The form is therefore symbolized as L (i.e., "language"). In view of the example, all kind of overflow events would have documented (not only for coffee cup, not only for industrial machines).
[0166] In principle, data collection 202~l is a collection in a size that is best described by two extreme granularities:• Data collection 202~l can be a multi-domain collection, that would be a very comprehensive corpus of language elements from many different domains, for example from industry as well as from everyday life. Experts may use "multi-domain corpus .• Data collection 202~l can be single-domain collection, that would be a description of an industrial process with industrial machines that are similar to machine 100. Data collection 202~l can use a technical language that describes industrial processes (cf. the above example "POUR LQTK").
[0167] To stay with the P2 example, the collections for the industry domain comprise multiple statements with the content such as: tanks, vessel, container etc. do overflow when the amount of liquid (or other content) exceeds the volume of the tank etc. In other words, data collection 202~l can already comprise language elements that the generator could generate as extension.
[0168] The description of an industrial process would rather refer to industrial examples (not cups, but tanks), also with overflow anomalies. As a side-note, the description of anomalies would not have to be related to particular machines (such as machine 100~l), so there is less concern in industry to share such data (between companies in industry).
[0169] Along the granularities, there is more specialization. The multi-domain collection would, for example, describe experience such that pouring coffee to a cup might result on some coffee hitting the table. This is just an example for an overflow anomaly. (Classifier 800 may filter out out-of-domain extensions so that the state identifier is domain-specific).
[0170] Module phase ~2 stands for the time-interval to perform training generator 700~2, using data 202~l. At the end of phase ~2, the generator is "pre-trained" (or previously trained). Training does not have to be performed again. As the acronym GPT suggests, "pre-trained" generators are commercially available. OpenAI (having business in San Francisco, California 94110, US) offers a variety of such generators. In principle, generator 700~2 can be such a commercially available transformer.
[0171] A GPT - such as generator 700~2 - can receive an input statement in the form L and can generate an output statement (also in L) that is related to the input statement. Input and output can be related by probabilities.
[0172] For example, for the (fictitious) input (IN) "When I was pouring coffee to my cup the phone ringed" generator 700~2 may output (OUT) one or more extension such as, for example, "and I spilled the coffee", or "I dropped the cup", or The skilled person is able to let generators output such extensions, for example, by submitting a so-called prompt to the generator as input instruction.
[0173] Generator 700~2 may provide further extensions that are not much related to the input. The skilled person refers to them as "hallucinations", such as "the phone conversation was very nice but the coffee cooled down". It is also possible that generator 700~2 learns to continue with "and I spilled the tea", or "and I spilled the coffee".
[0174] The skilled person knows to fine-tune input (by so-called prompt engineering). It is also known that generator 700~2 may answer within a certain context that depends on training by data collection 202~l. Training by data from industry may lead to extensions with fuel (not tea), with tanks (rather than cups), etc. Fuel and tanks are more in the industrial context, and tea / coffee in cups are more in the everyday life context.
[0175] In the example, the input IN "the liquid level in the tank raises by one unit per time-slot" would eventually let generator 700~2 to generate an extension something along "and there was a big mess in the factory". Such an output (in the form L) if related to the tank level P2 may be of interest of operator 190~4. The output would be related to the technical state (of machine 100~4).
[0176] Operator 190~2 being notified with the current value of P2, but also with the extension E~4 that is the language element "big mess ..." would be alerted to check if parameter P2 is within limits or not. Having such a notification before the overflow event is even better.
[0177] In other words, the extension E~4 at the output of generator 700~2 would be a statement that is similar (not identical) to the indication of an event (cf. event 2, 4), and hence can be a state identifier S2~4 (or an identifier to a state transition).
[0178] The dashed line at IN of generator 700~2 would mean to feed multi-variate timeseries {{P}} from machine 100 (i.e., ~1, ~2) to generator 700~2, but generator 700~2 is not trained to process such time-series.
[0179] There is an assumption that training generator 700~2 with such parameter timeseries is not possible because its internal topology would have to be changed.Challenges
[0180] The description now discusses challenges to overcome that, mainly in the following:A language element L with something like "liquid level in the tank ..." is simply not yet available. It could be obtained from converter 600, but that converter 600 would haveto be trained as well. In other words, there is a challenge at the generator input.• Even if generator 700~2 would receive such language element at its input, it would output "... a big mess in the factory". Such a statement would not be suitable to serve as notification 701~4. Due to such a lack of an appropriate stimulus, generator 700~2 might output a so-called "hallucination" that invites operator 190~4 to clean up the table or clean up the factory. But since such an output would not be provided with further data, operator 190~4 may simply misunderstand it (and would derive S-to-A an inappropriate action). That hallucination would not be a suitable notification 701~4 either. In other words, there is a challenge at the generator output as well. Even worse - as already mentioned - the internal topology of generator 700 can not be adapted.Solution in view of the generator
[0181] To address such challenges, the computer does the following:• Converter 600 is being trained (at least initially, in module phase ~3a) to provide a language series (here: {{L}}~3). Such language series would be a suitable input for generator 700~3. The language series can be single-variate series {Ln} based on a single-variate parameter time-series {Pn}, for example, {P2}, or can be multi-variate series (optionally with multiplexing from two or more variates, explained below).• Generator 700~2 (that has been trained in module phase ~2) is further trained with these language series {Ln}~3 (as 700~3 in module phase ~3) to become generator 700~4. In other words, generator 700~2 learns that certain (never seen before) language series may arrive and learn to provide an output.
[0182] Phase ~3 stands for the time-interval to perform training converter 600~3 to enable it to convert data. In the example, converter 600~3a would learn to convert the single-variate time-series {P2} = {1, 2, 3, 4, 5} to a more language-oriented target form (e.g., "the tank level is raising, by one unit per time-slot"; "... is linearly increasing"). Whenever possible, converter 600~2 would take quantity into account {P2} = {1, 2, 3, 4, ... 9}: "the tank level is ... but continues to raise by ...". Converter 600~3a would also learn how to convert at least some of the other variates to language elements. Training data is available, for example, in collection 201~l, by multi-variate time-series {{P}}~1.
[0183] Multi-variate time-series {{P}}~1 for training converter 600~3a can be the same for training network 500~2, but that is not required.
[0184] Once training has been completed (converter 600~3a has become converter 600~3b), the output of converter 600~3b (i.e., the languages series {Ln}, {{L~3} can be used to perform re-training generator 700~3, for example, by training it to receive and to process language elements from converter 600~3b. Re-training also comprises that generator 700~3 learns to make associations, for example to internally learn that tanks levels in industry may case similar trouble as cup levels at home.
[0185] To summarize this point, a sequence of training steps is applied, and the converter is trained before the generator is trained.Connecting the converter to the generator
[0186] Generator 700 is implemented in the network architecture of a generative pretrained transformer and has a pre-defined number of parallel input lines (i.e., to the input layer) of generator 700
[0187] In implementations, generator 700 is coupled to converter 600 to receive language series {Ln} such that the number of lines roughly corresponds to the number Q of language elements in language series {Ln}. In other words, Q is the cardinality of {Ln}. Such implementations can use tokenizer 610 (cf. FIG. 1). Other implementations are contemplated as well.
[0188] In view of that, the description now looks at converter 600 that provides these language elements.Converter
[0189] FIGS. 3-5 illustrates aspects to implement converter 600 and to train it. During method performance (cf. FIG. 6), converter 600 receives (cf. step 414, as converter 600~4) at least one single-variate parameter time-series (e.g., {Pn}~4 in FIG. 2) of a multi-variate parameter time-series, such as {{P}}~4 in FIG. 2, and converts (step 434) the single-variate parameter time-series {{Pn}~4} to a language series, such as {Ln}~4.
[0190] FIGS. 3-5 show a single-variate parameter time-series, such as {Pn} for variate n, and shows language series {Ln} = {(T), @, (3),...} with Q language elements.
[0191] Although figures and description refer to a P-to-L conversion for the singlevariate n (i.e., {Pn} to {Ln}), multiple variates (such as nl and n2) could be converted to a single language series as well.
[0192] Description and drawings differentiate these language elements to have• element identifiers (that is convenient for illustration but not required to operate the converter), here symbolized by numbers in circles, and• element content.
[0193] Regarding the element content, there are in principle two options:• to use a textual descriptor (e.g., in FIG. 4, "hot metal temp at time slot T3 was 1.455°C", in FIG. 5 "above", "below" etc.), or• to use a token that corresponds to the descriptor (e.g., in FIG. 4, #990)
[0194] As the principle to convert P-to-L is not limited to certain module phases, the ~ notation is omitted. By way of convention, the time progress is symbolized from left to right, as if the progress of time would be illustrated in a diagram.
[0195] As in FIG. 3, a "time cutter" (or "time divider") can sample a single-variate parameter time-series {Pn} into consecutive parameter portions, each between t_start and t_end. The number of portions can be M, but FIG. 3 shows only 3 portions. The portions can the time-slots by that parameter data becomes available (e.g. from tl to tM). There is an analogy to the above-mentioned ADC, the duration of the time-slots can be analogous to the sample time.
[0196] The duration of the time-slots can be related to the process that is performed by the machine. The description explains details from section "dividing into portions".
[0197] In an "overlap" approach, the element (T) describes a first slot (here the oldest), but also considers the start of a second slot, the element (5) describes a second slot, but also considers the end of the first slot and the start of a third slot (here the youngest), the element (3) describes the third slot from its start to its end but also considers the end of the second slot.
[0198] In a "summary" approach, the element (T) describes the first slot, the element (5) describes the second slot, the element (3) describes the third slot, but information regarding the neighboring slots can be included, as summaries.
[0199] In a "coarse-to-detail" approach, a first element (T) describes an overview to multiple slots (e.g., "{Pn} was oscillating during 3 slots") and further elements such as (5) describe details for the slots separately, cf. FIG. 5 for a further example.
[0200] While FIG. 3 does not yet discuss the number Q of language elements in {Ln},FIGS. 4-5 takes this number into account.
[0201] As in FIG. 4, illustrates a single-variate time-series {Pn} during a process (of machine 100, cf. FIG. 1), with M measurement values, taken during M time-slots Tl, T2, T3, ... T100 ... In the example, the slots are equidistant (i.e., t_end - t_start equal for all timeslots).
[0202] The numeric value for {Pn} at time-slot was Pn=1.455 °C at T3. That was before the P-to-L-conversion. This value is converted to a language element, that is here illustrated with identifier (3). The language element belongs to {Ln}, i.e., (3) G {Ln}.
[0203] The element content can be given by a "long token" = #990, or can be given by the textual descriptor "hot metal temp at T3 was 1.455°C". Of course, the other values for {Pn} at the other time-slots are converted to other language elements as well. For example, the value at time-slot T100 would be coded likewise (e.g., #990). Optionally, further data could be coded, such as (3) = "hot metal temp at T3 was 1.455°C and decreasing" and (100) = "hot metal temp at T3 was 1.455°C and increasing" (with different tokens).
[0204] The parameter data convey meta-data, such as that the parameter is a temperature, that the temperature is for hot metal (i.e., the indication of a particular variate n), that the time-slots have certain absolute times (i.e., time-stamps). There is no need to write the meta-data into each and every language element. Taking the coarse-to-detail approach, the language elements could be, for example, "the temperature values in °C for hot metal had been" as element (T), and the particular numeric value can be coded to further elements (2) etc., optionally implemented as tokens.
[0205] FIG. 4 is an example for a P-to-L conversion in that the number M of measurement values (that is also the cardinality of {Pn}) is the same as the number Q of language elements (Q is the cardinality of {Ln}): M = Q.
[0206] Although language elements appear to be relatively long, especially when they are written as textual descriptors, there are many ways to perform the P-to-L conversion to result in relatively short language elements.
[0207] Further, the number of language elements Q does not have to correspond to M.
[0208] As in FIG. 5, converter 600 can compress data. In the example, parameter {Pn} should oscillate above or below an average. Converter 600 can perform the following: calculate the average (over, for example, a given duration of a window W), cf. the average value that FIG. 5 symbolizes by a horizontal line,• separate time-slots for "above average" and "below average", not necessarily having equal duration,• calculate further averages, such as the average duration of "above average" and the average duration of "below average", and• using an auxiliary network (not illustrated, pre-trained based on historical data), the converter could provide a summary, such by classifying the oscillation pattern to the following: " During window W, the parameter Pn showed an above-below average variation approximately synchronized to average crossings".
[0209] This compression is just an example. Coarse data could be identified as {X}n e (a, b) (i.e., between min and max values), and described by a first language element (T), and the oscillation could be described by a second language element (2) = "above, below, above, below ...". Tokenizing would also be possible {X}n e (#9901, #9902).Challenges and solutions in view of the converter
[0210] As mentioned above, parameter values are related to the process (and to the process phases). Therefore, deviations (that can be critical deviation) are related to the process (and to the process phases) as well. The same principle applies to parameter relations.
[0211] In the example, a language series such as {L2} = {"parameter P2 is rising", "parameter P2 is constant", "parameter P2 is decreasing"} would belong to (1-phase), (2- phase), (3-phase). Elements such as "parameter P2 stopped rising", "parameter started decreasing" would belong to the phase transitions. Of course, the single parameter P2 can not fully describe the process.
[0212] In contrast, languages series such as {L2} = "parameter P2 is oscillating" would describe the process repetitions. However, for controlling an individual process (while the machine is performing it), such a {L2} is of relatively low use.Further aspects of the converter
[0213] Converting multi-variate parameter time-series {{ P}} to language series {L}~3 (as well as converting single-variate parameter time series {Pn}} to language series {Ln}~3 can be divided into at least two actions:
[0214] A first auxiliary tool - the time divider - divides the parameter time-series into value sequences. The value sequence can have M portions. (The number M of the portionscan be different per parameter Pn). The description explains dividing for a single-variate parameter time-series {Pn}, here to be explained for {P2}. Dividing into sequences can comprise to identification of transitions.
[0215] A second auxiliary tool - the assigner - assigns language elements to the value sequences, here to be explained for the parameter P2 as well. Assigning language elements (i.e., Q elements of the single-variate language series) can comprise to assign transition statements to the transitions.
[0216] These two activities result in language series {L}~3, {{L}}~3 that can processed by generator 700~3 (during re-training) and 700~4 (during the machine operation). It is well known in the art that generative transformers process language elements by so-called tokens. The description will give some detail how to improve performance, below.
[0217] Optionally, the pre-trained converter module can receive (cf. step 414) the at least one single-variate parameter time-series {Pn}~4) of the multi-variate parameter timeseries {{P}}~4 as a first single-variate parameter time-series, and can receive a further singlevariate parameter time-series of the multi-variate parameter time-series {{P}}~4 as a second single-variate parameter time-series. The converter can perform converting (cf. step 424) to the language series with the first single-variate parameter time-series as first input for a first variate, and with the second single-variate parameter time-series as second input for a second variate. Converting (cf. step 424) can be performed by multiplexing the first and the second variates to a single language series. For example, with parameter time-series for the two parameters "temperature" and "pressure", the single language series would comprise a language element such as "temperature rising", a language element such as "pressure constant", "temperature rising", "pressure rising" and so on. The language series is a sequence of textual elements, but with elements that relate to different variates (i.e., first and second variates). In some sense, multiplexing follows human-typical talking: If there are separate topics to talk about, humans talk about them sequentially, not at the same time.
[0218] Multiplexing could also lead to textual elements, such as "temperature-pressure rising" (with one term for both variate), or could lead to combinations, such as "both the temperature and the pressure" are rising.Dividing into portions
[0219] Module phase ~3 stands for an auxiliary action to obtain time-intervals for dataconversion (i.e. to identify the M portions). As already mentioned, the tank level P2 would raise and fall for every process repetition (or process instances). For example, the P2 values could be single-variate time-series {P2} | r• {P2} 11 = 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0 (at equal At) for one process instance (here identified by r = 1),• {P2} 12 = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17 for the other process instance here identified by r = 2).
[0220] The skilled person is able to classify (single-variate) time-series into value sequences, for example, {P2}| 1 = 0, 1, 2, 3, 4, 5 / 5, 5, 5, 5, 5, 5 / 4, 3, 2, 1, 0. The description uses the slash to indicate from a predecessor sequence to its follower. An alternative notation would be {P2}| 1 = Seq(0, 1, 2, 3, 4, 5), Seq(5, 5, 5, 5, 5, 5), Seq(4, 3, 2, 1, 0). The values sequences can be numbered {P2}| 1 = Seql, Seq2, Seq3, first, second and third value sequences. For simplicity, the identification of the parameter (here P2) is left out here, but the skilled person can track the parameter identification p = 2 and the repetition identification (e.g., r = 1, r = 2) by metadata.
[0221] The other time-series {P2} 12 would have a single value sequence only: {P2} 12 = Seql.
[0222] The value sequences do not have to convey a semantic. For simplicity of explanation, it can be assumed that the time-series (with the parameter values) has sequences that correspond to process phases.
[0223] In the example, the sequences correspond to the process phases: Seql (0, 1, 2, 3, 4, 5) corresponds to (1-phase), Seq2 (5, 5, 5, 5, 5, 5= corresponds to (2-phase) and Seq3 (4, 3, 2, 1, 0) corresponds to (3-phase). Values sequences that correspond to phases are phasevalue sequences.
[0224] The duration (in the number of time-slots) may vary per value sequence (for example for different repetitions). For example, {P2}| 1 has 3 sequences with 5, 6 and 5 At- slots, {P2} 12 has only one sequence with 18 slots.
[0225] In principle, value sequences can be obtained from the collection 201~l of multivariate time-series, at least a subset of the P variates.
[0226] In other words, single-variate time-series {Pn} for particular parameters Pn can be conditioned (or classified, or divided) into sequences, and the sequences would bedifferent for different process repetitions | r. (But sequence for like phases would be similar).
[0227] Conditioning can be performed by an auxiliary module, by applying pre-defined rules (e.g., a sequence starts with the deviation to the parameter values changing, e.g., 1 unit per At, 0 unit per At, -1 unit per At). It is also possible to apply machine-learning.Sequence statements
[0228] It is also possible (based on pre-defined rules, templates, look-up-tables) to assign language elements, to the value sequences.
[0229] In the following, the description uses the term "sequence statements", acronym STM, in the meaning that one language element assigned to one sequence. Metadata to identify the parameter (e.g., P2) and the process repetition (r) is left out here for simplicity.
[0230] For example, the computer assigns "the parameter P2 is rising" to Seql, "the parameter P2 remains constant" to Seq2, and "the parameter P2 is falling" to Seq3 (for r = 1). As the parameter is identified (here: p = 2), the statements can be enhanced by "the tank level is rising" or the like. Creating such statements from time-series sequences is similar to generating text for weather forecasts. The parameter identifier (that is an integer) would be replaced by a string: "The parameter tank level is rising", "The parameter tank level remains constant" and "the parameter tank level is falling".
[0231] The description refers to language elements that use language if as spoken by a human. Short versions, such as "tank level rises", "tank level stays" or "tank level falls" can also be used. The language does not have to be English. There is a certain preference to use English due to its ubiquitous use in technology, and the fact that most of the transformer modules (such as 700~4) would have been trained with training data in that English is dominant.Transition statements
[0232] With such conditioning (of the time-series) and converting the sequences to sequence statements, it is further possible to assign transition statements to transitions, leading, for example to "tank level rises", "change", "tank level stays", "change, "tank level falls".Book
[0233] Pluralities of statements (i.e., the sequence statements with appropriate metadata, optionally with the transition statements) in chronological order describe theoperation of industrial machine 100 in the past. As this would be pluralities for at least some of parameters P, and for multiple process instances R, the pluralities can be noted as {L} | R.
[0234] Such a plurality of statements (here in the chronological order) would give the history that particular parameter P2.
[0235] FIG. 6 illustrates a flow-chart for computer-implemented method 404 for obtaining state identifier S2~4 that corresponds to the technical state of an industrial machine that performs an industrial process (cf. FIG. 1). Method 404 is performed by a computer, such as by computer 1000 in FIG. 1, with modules.
[0236] As already explained, industrial machine 100~4 that performs an industrial process (i.e., technical process), and the process involves changes in multiple process parameters Pl ...PN that computer 1000 represents by multi-variate parameter time-series {{P}}.
[0237] FIG. 6 show steps 414 and 424 performed by a pre-trained converter module 600~4 (cf. FIG. 2). In step receiving 414, the computer receives at least one single-variate parameter time-series {Pn}~4 of multi-variate parameter time-series {{P}}~4 (cf. FIG. 2 the arrow {Pn}~4 to converter 600~4. In step converting 424, the computer converts the singlevariate parameter time-series {{Pn}~4} to a language series ({Ln }~4), cf. FIGS. 3-5 for examples.
[0238] FIG. 6 shows steps 434 and 444 performed pre-trained generative transformer module 700~4, cf. generator 700~ in FIG. 2. In step generating 434, the computer generates an extension E~4 to the language series {Ln}~4 based on a pre-trained probability of occurrence of language elements. The generation of the extension has been explained above in the description to FIG. 2. In step providing 444, the computer provides the state identifier S2~4 as a statement that comprises at least the extension E~4. FIG. 2 shows this - by way of example - at the right side as side as S2~4 in the form of notification 701~4 to operator 190~4. S2~4 can be processed otherwise, for example via controller 180, cf. FIG. 1.
[0239] Other parameters can be converted to language elements as well. The language series would be based on multiple parameter variates.Further aspects
[0240] Computer-implemented method 404 for obtaining state identifier S2~4 (that corresponds to a technical state of an industrial machine) is a technical method. Forunderstanding how the converter module and the transformer module of the computer operate, it is convenient to look at analogies from everyday human life. The analogies may not fit everywhere, but they should help understanding.
[0241] Parameter time-series have their analogies to content, sequences of textual elements have their analogies in messages (that convey content), occurrence probabilities (or likelihoods etc.) have an analogy to human experience (because humans can relate content(s) and can document content in messages), state identifiers S2~4 have an analogy to information that closes knowledge gaps, and so on.
[0242] In view of such analogies, the method can be viewed as enhancing message content with the help of trained ML-tools, based on experience (such as probabilities of events under certain conditions, etc.). In view of the method, the term "content" here stands for technical parameters that the computer processes in the form of textual elements: technical parameter content. The state identifier S2~4 is therefore technical. The form of S2~4 can be that of textual elements, but such form does not make the state identifier non-technical.
[0243] For a large share, the communication between humans implies writing messages with content to a physical medium such as, for example, ink on paper, and reading the messages from the medium at a later point in time. Of course, there are other ways to communicate (with or without media, such as by speaking, by making gestures, by making drawings, etc.). Actually, the writer encodes the content of the message by writing characters in sequences, no matter if the technical tool is a quill, a pencil, a typewriter or something else. By knowing the characters, the reader can decode the character sequences to understand the content of the message (i.e., the meaning of the message). The sequences can have elements, and elements can be differentiated, for example, into words with characters, phrases with words, sentences with phrases, paragraphs with sentences, chapters with paragraphs and so on. Linguists can certainly define other granularities with other details, or with more detail. It is also well established that the elements are clearly identifiable and differentiable from each other by characters or other signs that both the writer and the reader apply by convention.
[0244] For example, for character sequences written in Latin or Cyrillic, the words are separated by "space" or "blank", the sentences end with periods, and so on. For sequenceswritten in more complex characters (e.g., messages in Chinese or Japanese), the elements can be separated otherwise. The sequences can also be called "texts".
[0245] The communication between humans has been is being supported by computers, and much simplified, (i) the computers provide media that take advantage of modern electronics to have data with computer characters (instead of "ink on paper"), and (ii) the computers encode the differences between the elements as well. Just to give an example, the computer provides appropriate user interfaces, for the writer and for the reader, to handle the characters, as well as to handle the differences between the elements (with spaces, periods, line breaks etc.).
[0246] The computer converts (such as in step 424) the single-variate parameter timeseries to a "sequence of textual elements". The description has used the term "language element" for "textual element", and the term "language series" as a convenient term for such sequences.
[0247] As converting is performed by the computer, the textual elements are data elements. The number of such textual elements in a sequence is Q.
[0248] It is noted that these sequences of textual elements (i.e., the language series) are to be processed by the computer (cf. step generating 434) so that the language series does not have to be comprehensible by all human readers. They may be comprehensive by some human readers, but that does not matter. The computer does not have to "understand" the textual elements either.
[0249] The language elements (i.e., the individual textual elements) can be:• (individual) characters (e.g., the two characters "T3" that stand for a particular timepoint),• phrases with words (e.g., "metal temp"),• sentences with phrases ("... temp at ... was ..."),• paragraphs with sentences (e.g., further elements that describe the curve in FIG. 4 as it develops over time), chapters with paragraphs, and• characters can be letters, characters can stand for numeric values (e.g. 1.455 from the parameter values), characters can separate elements (e.g., line breaks, page breaks, etc.).
[0250] This list is not exhaustive. The language elements can be related with each otherby grammar rules.
[0251] According to common knowledge and life-experience, there practically no text that can be understood by each and every person. The sequences of the textual elements (i.e., the language series) do not have to be comprehensible to all human readers (because the function of the reader is implemented by the computer, not by the machine operator). The above-explained examples, such as "hot metal temp at T3 was 1.455°C" of FIG. 4, are taken for simplicity of explanation.
[0252] There is a language relation between language series {Ln}~4 to data collection 202~l. As explained above, data collection 202~l is the basis for training the generator (item 700~2 in FIG. 2). In the collection there are language elements (i.e., the individual textual elements) as well: (individual) characters, phrases, sentences with phrases, paragraphs with sentences, chapters with paragraphs, and so on. Further, the language / textual elements can be associated with a natural language, such as English. The description takes English as the example, because it can be assumed that data collection 202~l in English has more content than a data collection 202~l in a different language. If the languages of the language series {Ln}~4 and the language L (of data collection 202~l) would be the same language (e.g., English in both cases), or would be compatible languages (similar terms, but similar grammar), module 700~4 is enabled to operate. There is a certain analogy to human understanding of messages in natural languages. But the computer (with the converter module and the transformer module) does not understand the content.
[0253] There is a content relation (or association) between language series {Ln}~4 to data collection 202~l as well, but the content relation applies to a subset of the textual elements, and that limitation to subsets allows content enhancement (cf. FIG. 7).
[0254] When the transformer module processes the sequence of textual elements (cf. {Ln}~4 at input IN, FIG. 2), it outputs extension E~4 (at OUT) that is a sequence of textual elements as well, but a sequence with different elements ({Ln}~4 is not the same as E~4).
[0255] In analogous terms, the sequence at the output extents the message from the input. Thereby, further content is identified. The content of the extension is related to the content of the message. The content relations between the content of the language series at the transformer input and the content of the extension are based on experience. The transformer module acts as a generator that receives a message but adds a further message,that receives first content but adds further or second content.
[0256] FIG. 7 illustrates a diagram with associations (i.e., content relations) that can be processed by the transformer module. It is assumed that the mentioned language relation between {Ln}~4 and the textual elements of data collection 202~l is complied with (e.g., both in English).
[0257] The explanation of FIG. 1 used the parameters temperature and pressure (both inside a furnace) as an example to obtain state identifiers. To take the extreme state S = "vessel about to explode" as illustrative example, FIG. 7 illustrates how the computer (with the transformer) can eventually generate such a state. The computer generates the state that is data, that does not mean that an explosion is triggered.
[0258] With the above-mentioned semantic traces and with similarity analysis, the computer can process a language series from the input IN (with textual elements in the meaning: temperature rises) similar to statements regarding "warm, hot" or "cold, frozen", "temperature changes" and so on. The language series would also comprise textual elements such as "high pressure", or the like. With the assumption that the textual elements at the input IN have no content relation with each other yet, the input IN is in front of a knowledge gap. Here in this simplified example, the operator of the industrial machine would have no knowledge that temperature and pressure may cause some trouble.
[0259] However, by training, the transformer had acquired associations (that are textual elements as well), such as "hot explosion". In some sense and again to use the analogies, the pre-trained transformer has information (in text form) that other (unknown) persons had collected over time. From a different perspective, the input IN may be that of a young child , and the "transformer" has gained more life experience (by training), and serves as the older child or teacher ("be careful !", at the other side of the knowledge gap).
[0260] In the sense, the transformer bridges the knowledge gap (cf. the vertical line by providing further content).
[0261] The computer generates the extension in the sense that it takes the input (temperature rising or the like, textual elements regarding pressure) and adds a continuation ("about to explode") to be provided at the output. In view of experience, there is a relatively high probability that the transformer would add an explosion warning, because previous "authors" of data collection 202~l did that before.
[0262] The illustration of FIG. 7 is simplified, and the skilled person is familiar with the concept of a latent space. Terms in closer relation are shown closer (e.g., "warm" and "hot", in xy-coordinates), in terms in more distant relation (e.g., "cold" to "high pressure" are shown with more distance. The distance on the figures can be seen as knowledge that needs to be obtained (in the sense to let the gap disappear). The terms "high pressure", "warm / hot" and "explosion" are given in bold boxes, just to symbolize the trained content relation, here on both side of the knowledge gap line.
[0263] But no matter on how the relations between the textual elements are visualized in a figure, the transformer has been trained to have the relations as data (such as in the form of network weights or the like). By training, the transformer can learn the relations based on statistics (with likelihoods and probabilities). When such as (pre-)trained transformer receives a sequence of textual elements (e.g., "hot" and "high pressure"), it is able to use the relations to identify a content-related element (e.g., "explosion"). These textual elements would serve as the extension E~4 (e.g., "about to explode").
[0264] In implementations, the transformer modules would be implemented as a large language model. In such case, the textual elements would be processed as tokens (i.e., implemented by a computer format that is typical for such models).Computer
[0265] FIG. 8 illustrates an example of a generic computer device which may be used with the techniques described here. FIG. 8 is a diagram that shows an example of a generic computer device 900 and a generic mobile computer device 950, which may be used with the techniques described here. Computing device 900 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Generic computer device may 900 correspond to the computer system 1000 of FIG. 1. Computing device 950 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, driving assistance systems or board computers of vehicles and other similar computing devices. For example, computing device 950 may be used as a frontend by a user (e.g., an operator of a blast furnace) to interact with the computing device 900. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations ofthe inventions described and / or claimed in this document.
[0266] Computing device 900 includes a processor 902, memory 904, a storage device 906, a high-speed interface 908 connecting to memory 904 and high-speed expansion ports 910, and a low speed interface 912 connecting to low speed bus 914 and storage device 906. Each of the components 902, 904, 906, 908, 910, and 912, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor 902 can process instructions for execution within the computing device 900, including instructions stored in the memory 904 or on the storage device 906 to display graphical information for a GUI on an external input / output device, such as display 916 coupled to high speed interface 908. In other implementations, multiple processors and / or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 900 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
[0267] The memory 904 stores information within the computing device 900. In one implementation, the memory 904 is a volatile memory unit or units. In another implementation, the memory 904 is a non-volatile memory unit or units. The memory 904 may also be another form of computer-readable medium, such as a magnetic or optical disk.
[0268] The storage device 906 is capable of providing mass storage for the computing device 900. In one implementation, the storage device 906 may be or contain a computer- readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 904, the storage device 906, or memory on processor 902.
[0269] The high speed controller 908 manages bandwidth-intensive operations for the computing device 900, while the low speed controller 912 manages lower bandwidthintensive operations. Such allocation of functions is exemplary only. In one implementation, the high-speed controller 908 is coupled to memory 904, display 916 (e.g., through agraphics processor or accelerator), and to high-speed expansion ports 910, which may accept various expansion cards (not shown). In the implementation, low-speed controller 912 is coupled to storage device 906 and low-speed expansion port 914. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
[0270] The computing device 900 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 920, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 924. In addition, it may be implemented in a personal computer such as a laptop computer 922. Alternatively, components from computing device 900 may be combined with other components in a mobile device (not shown), such as device 950. Each of such devices may contain one or more of computing device 900, 950, and an entire system may be made up of multiple computing devices 900, 950 communicating with each other.
[0271] Computing device 950 includes a processor 952, memory 964, an input / output device such as a display 954, a communication interface 966, and a transceiver 968, among other components. The device 950 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the components 950, 952, 964, 954, 966, and 968, are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
[0272] The processor 952 can execute instructions within the computing device 950, including instructions stored in the memory 964. The processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor may provide, for example, for coordination of the other components of the device 950, such as control of user interfaces, applications run by device 950, and wireless communication by device 950.
[0273] Processor 952 may communicate with a user through control interface 958 and display interface 956 coupled to a display 954. The display 954 may be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode)display, or other appropriate display technology. The display interface 956 may comprise appropriate circuitry for driving the display 954 to present graphical and other information to a user. The control interface 958 may receive commands from a user and convert them for submission to the processor 952. In addition, an external interface 962 may be provide in communication with processor 952, so as to enable near area communication of device 950 with other devices. External interface 962 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
[0274] The memory 964 stores information within the computing device 950. The memory 964 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 984 may also be provided and connected to device 950 through expansion interface 982, which may include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 984 may provide extra storage space for device 950, or may also store applications or other information for device 950. Specifically, expansion memory 984 may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, expansion memory 984 may act as a security module for device 950, and may be programmed with instructions that permit secure use of device 950. In addition, secure applications may be provided via the SIMM cards, along with additional information, such as placing the identifying information on the SIMM card in a non-hackable manner.
[0275] The memory may include, for example, flash memory and / or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 964, expansion memory 984, or memory on processor 952 that may be received, for example, over transceiver 968 or external interface 962.
[0276] Device 950 may communicate wirelessly through communication interface 966, which may include digital signal processing circuitry where necessary. Communication interface 966 may provide for communications under various modes or protocols, such asGSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver 968. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 980 may provide additional navigation- and location-related wireless data to device 950, which may be used as appropriate by applications running on device 950.
[0277] Device 950 may also communicate audibly using audio codec 960, which may receive spoken information from a user and convert it to usable digital information. Audio codec 960 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 950. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 950.
[0278] The computing device 950 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 980. It may also be implemented as part of a smart phone 982, personal digital assistant, or other similar mobile device.
[0279] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0280] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and / or object-oriented programming language, and / or in assembly / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus and / or device (e.g., magnetic discs, optical disks, memory, Programmable LogicDevices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0281] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the 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. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0282] The systems and techniques described here can be implemented in a computing device that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.
[0283] The computing device can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0284] A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.
[0285] In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components-M - may be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims.References~ module phases{{P}} multi-variate time-series with parameters of a process (that is limited in time by a time window W).A acronym for "action" or "actions"L acronym for "language" m index, from m = 1 to m = MM number of measurement values, and / or number of parameter portionsN number of variates (or sub-processes) in the process n variate index that identifies a particular parameter (e.g., for the temperature being a process parameter)P acronym for "parameter" or "parameters"S acronym for "state" or "states"T time-slotW time window# standing for token values #001, #002, #003, ... , #999, by way of example only(T) language element100 industrial machine4xx method with steps500 neural network600 converter610 tokenizer700 generator800 classifier9xx generic computer1000 computer
Claims
Claims1. Computer-implemented method (404) for obtaining a state identifier (S2~4) that corresponds to a technical state of an industrial machine (100~4) that performs an industrial process, wherein the industrial process involves changes in multiple process parameters (Pl ...PN) that the computer (1000) represents by multi-variate parameter time-series ({{P}}), the method (400~4) comprising: by a pre-trained converter module (600~4), receiving (414) at least one single-variate parameter time-series ({Pn}~4) of the multi-variate parameter time-series ({{P}}~4), and converting (424) the single-variate parameter time-series {{Pn}~4} to a language series ({Ln}~4) that is a sequence of textual elements (L), by a pre-trained generative transformer module (700~4) that has been trained by a data collection (202~l) with textual elements, generating (434) an extension (E~4) to the language series ({Ln}~4), wherein the extension (E~4) is sequence of textual elements as well, but having further content, that is identified based on a pre-trained probability of occurrence of the textual elements of the language series ({Ln}~4) in relation to textual elements of the data collection (202~l); and providing (444) the state identifier (S2~4) as a statement that comprises at least the extension (E~4), wherein the extension is the state identifier that corresponds to the technical state of the machine.
2. Method (404) according to claim 1, wherein the step receiving (414) the single-variate parameter time-series ({P}) comprises either, as a first option, receiving (414) the single-variate parameter time-series ({Pn}) as a current time-series with the last element of the series corresponding to the present, or as a second option, receiving (414) the single-variate parameter time-series ({Pn}) as a future time-series.
3. Method (404) according to any of claims 1 or 2, wherein the step converting (424) and generating (434) are executed, wherein the language series ({Ln}~4) that is a sequence of textual elements (L) acts as a prompt.
4. Method (404) according to any of claims 1 to 3, wherein the pre-trained converter module (600~4) performs the step converting (424) by sampling the parameter timeseries into consecutive time-slots and assigning language elements to these consecutive time-slots.
5. Method (404) according to any of claims 1 to 4, wherein the pre-trained converter module (600~4) performs the step converting (424) by assigning language elements over multiple time-slots of the parameter time-series.
6. Method (404) according to any of claims 1 to 5, wherein the pre-trained converter module (600~4) receives (414) the at least one single-variate parameter time-series ({Pn}~4) of the multi-variate parameter time-series ({{P}}~4) as a first single-variate parameter time-series, and receives (414) a further single-variate parameter timeseries of the multi-variate parameter time-series ({{P}}~4) as a second single-variate parameter time-series, and performs the step converting (424) to the language series with the first single-variate parameter time-series as first input for a first variate, and with the second single-variate parameter time-series as second input for a second variate, with converting (424) by multiplexing the first and the second variates to a single language series.
7. Method (404) according to any of claims 1 to 6, with the pre-trained converter module (600~4), selecting a number of parameter portions (M, t_start, t_end) of the received single-variate parameter time-series ({Pn}~4) and converting (424) the received singevariate parameter time-series ({Pn}~4) to the language series ({Ln}~4) such that the number of language elements is different from the number of portions of the parameter time-series.
8. Method (404) according to claim 7, wherein the selected parameter portions (t_start, t_end) of the single-variate parameter time-series ({Pn}~4) partially overlap.
9. Method (404) according to any of claims 1 to 8, wherein language elements comprise a summary statement that characterizes selected parameter portions.
10. Method (404) according to any of claims 1 to 9, wherein the step providing (444) the state identifier (S2~4) comprises classifying the extension (E~4) by a pre-trainedclassifier (800) to differentiate domains and to filter out extensions (E~4) that do not fit to the domain of the industrial machine (100~4).
11. Method (404) according to any of claims 1 to 10, wherein the pre-trained generative transformer module (700~4) - that performs the generating (434) and the providing (444) steps - is a pre-trained large language model.
12. Method (404) according to claim 11, wherein the pre-trained generative transformer module (700~4) with the architecture of the large language model has been initially trained by a data collection (202~l), wherein the data collection (202~l) is a collection of textual references.
13. Method (404) according to claim 12, wherein the data collection (202~l) is a multidomain collection with language elements from different domains, or is a computer- readable description of the industrial process on industrial machines that share technical properties with the industrial machine (100) and thereby use the same types of parameters.
14. Method (404) according to any of claims 1 to 13, wherein the pre-trained converter module (600~4) converts to a language series ({Ln}~4) that comprises elements in a technical language that represents the industrial process and wherein the pre-trained generative transformer module (700~4) generates (434) the extension (E~4) from a data collection (202~l) that comprises elements in that technical language.
15. Use of the method according to any of claims 1 to 14 to obtain a state identifier that corresponds to a technical state of an industrial machine (100).
16. Computer (1000) that is associated with an industrial machine (100) and that is adapted to execute a computer-implemented method (400~4) according to any of claims 1 to 14, to obtain a state identifier that corresponds to the technical state of the industrial machine (100).
17. Computer program product that - when loaded into a memory of a computer and being executed by at least one processor of the computer causes the computer to perform the steps of the method according to any of claims 1 to 14.
Citation Information
Patent Citations
Semiconductor production data monitoring method and system based on multi-mode intelligent agent
CN118197960A
Analysis device for recording manufacturing plants and for process monitoring
DE102021133894A1
Method and system for prescriptive messaging
GB2624801A
Detecting the cause of abnormal operation in industrial machines
WO2023202955A1