Method and apparatus for outputting anomaly diagnosis outcome, and computer device

EP4710206A1Pending Publication Date: 2026-03-18SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-16
Publication Date
2026-03-18

Smart Images

  • Figure CN2023100723_19122024_PF_FP_ABST
    Figure CN2023100723_19122024_PF_FP_ABST
Patent Text Reader

Abstract

This application discloses a method and apparatus for outputting an anomaly diagnosis outcome, a computer device and a storage medium. Specifically, the method for outputting the anomaly diagnosis outcome is disclosed and includes: receiving an alarm, the alarm being triggered by a first preset rule combination; calculating a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination according to the first preset rule combination; and determining a final diagnosis outcome from the candidate diagnosis outcome combination according to a value of the weight. Through the above method, when the alarm is triggered, by obtaining a probability of breaking a preset rule and then calculating the value of the weight of the diagnosis outcome, several most possible candidate diagnosis outcomes are judged and outputted, and the final diagnosis outcome is further determined, so that a reason why a device or a system gives an alarm and a handing mode are inferred and a comprehensive, effective and accurate diagnosis may be obtained.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR OUTPUTTING ANOMALY DIAGNOSIS OUTCOME, AND COMPUTER DEVICETECHNICAL FIELD

[0001] This application relates to the technical field of data processing, in particular to a method and apparatus for outputting an anomaly diagnosis outcome, a computer device and a storage medium.BACKGROUND

[0002] In an industrial production process, various device failures may occur inevitably. With increasingly high degree of automation in the production process, once a certain device has a failure, the device or even an entire system may be caused to break down, which has a strong impact on normal running and economic benefits of an enterprise. Therefore, more and more predictive maintenance systems are deployed in a factory. In addition to detecting an abnormal condition of the device, rapid diagnosis and response are also needed, so as to improve production and reduce loss. However, most of existing works only focus on an anomaly detection task, but neglect an anomaly diagnosis task equally important in practice.SUMMARY

[0003] The summary part of the present disclosure is provided to introduce some selected concepts in a simplified form, which will be further described in the specific implementations below. The summary part of the present disclosure is neither intended to identify any key feature or necessary feature of a topic claimed to protect, nor intended to help to determine a scope of the topic claimed to protect.

[0004] This application provides a method for outputting an anomaly diagnosis outcome, including: receiving an alarm, the alarm being triggered by a first preset rule combination; calculating a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination according to the first preset rule combination; and determining a final diagnosis outcome from the candidate diagnosis outcome combination according to a value of the weight.

[0005] Through the above method, when the alarm is triggered, by obtaining a probability of breaking a preset rule and then calculating the value of the weight of the diagnosis outcome,  several most possible candidate diagnosis outcomes are judged and outputted, so that a reason why a device or a system gives an alarm and a handing mode are inferred, and a comprehensive, effective and accurate diagnosis may be obtained.

[0006] Further, calculating the weight of each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the first preset rule combination includes: calculating the weight of each candidate diagnosis outcome according to a probability of each preset rule in the first preset rule combination, a weight of each candidate diagnosis outcome regarding each preset rule and a weight of each preset rule regarding the candidate diagnosis outcome combination.

[0007] In this way, the value of the weight of each candidate diagnosis outcome in the candidate diagnosis outcome combination may be calculated, so as to serve as a reference for subsequently determining the final diagnosis outcome.

[0008] Further, after determining the final diagnosis outcome from the candidate diagnosis outcome combination according to the value of the weight, the method further includes: receiving a first diagnosis outcome inputted by a user in a case that an instruction that any diagnosis outcome in the candidate diagnosis outcome combination is not accepted is received, and initializing a weight of the first diagnosis outcome regarding the first preset rule combination.

[0009] In this way, the diagnosis outcome may be updated, and the diagnosis outcome may be rapidly associated with the alarm and a broken rule, so that the candidate diagnosis outcome outputted afterwards is more accurate and better meets an expectation.

[0010] Further, after determining the final diagnosis outcome from the candidate diagnosis outcome combination according to the value of the weight, the method further includes: updating a weight of the final diagnosis outcome regarding the first preset rule combination in a case that an instruction that the final diagnosis outcome in the candidate diagnosis outcome combination is accepted is received.

[0011] After repeatedly performing such process, a diagnosis outcome with a largest weight regarding the preset rule is regarded as a most accurate diagnosis outcome of the preset rule, and may also be called a most accurate diagnosis output.

[0012] Further, determining the final diagnosis outcome from the candidate diagnosis outcome combination according to the value of the weight includes: outputting each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the values of the weights from large to small.

[0013] In this way, several most possible diagnosis outcomes may be outputted, so that a  diagnosis outcome to be accepted may be more possibly generated from the diagnosis outcomes.

[0014] This application further provides an apparatus for outputting an anomaly diagnosis outcome, including: an alarm module, configured to receive an alarm, the alarm being triggered by a first preset rule combination; a weight module, configured to calculate a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination according to the first preset rule combination; and an output module, configured to determine a final diagnosis outcome from the candidate diagnosis outcome combination according to a value of the weight.

[0015] This application further provides a computer device, including a memory and a processor, the memory storing a computer program, and the processor, when executing the computer program, implementing the above method.

[0016] This application further provides a computer-readable storage medium, storing a computer program, the computer program, when executed by a processor, implementing the above method.

[0017] This application further provides a computer program product, tangibly stored on a computer-readable medium and including a computer-executable instruction, the computer-executable instruction, when executed, causing at least one processor to perform the above method.BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Implementation of the present disclosure is described in the accompanying drawings in a form of example, rather than a form of limitation, and similar reference numerals in the accompanying drawings represent the same or similar components.

[0019] FIG. 1 is a schematic flowchart of a method for outputting an anomaly diagnosis outcome according to an implementation of this application.

[0020] FIG. 2 is a schematic diagram of an apparatus for outputting an anomaly diagnosis outcome according to an implementation of this application.

[0021] FIG. 3 is a schematic diagram of a computer device for outputting an anomaly diagnosis outcome according to an implementation of this application.

[0022] Reference numerals are as follows: S101-S103  Steps 200:    apparatus 201:    module 202:    module 203:    module 204:    module 205:    module 300:    computer device 302:    processor 304:    memoryDETAILED DESCRIPTION

[0023] Numerous specific details are set forth in the following specification for the purpose of explanation. However, it may be understood that implementation of the present disclosure may be performed without these specific details. In other examples, known circuits, structures, and technologies are not shown in detail, so as not to affect understanding on the specification.

[0024] Quotes such as “an implementation” , “implementation” , “exemplary implementation” , “some implementations” and “various implementations” in the entire specification represent that the described implementation of the present disclosure may include specific features, structures or properties, but it is not indicated that each implementation necessarily includes these specific features, structures or properties. Besides, some implementations may have some or all of features described for other implementations, or not have the features described for the other implementations.

[0025] It is to be understood that, although each step of the flowchart in FIG. 1 is displayed sequentially according to arrows, these steps are not necessarily performed in sequence according to an order indicated by arrows. Unless otherwise explicitly stated herein, a sequence of performing these steps is not strictly limited, and these steps may be performed in other sequences. Moreover, at least a part of the steps in FIG. 1 may include a plurality of sub-steps or a plurality of stages. These sub-steps or stages are not necessarily performed at the same moment, but can be performed at different moments. These sub-steps or stages are not necessarily performed sequentially, but may be performed in turn or alternately with other steps or at least a part of sub-steps or stages of other steps.

[0026] Existing anomaly diagnosis systems may be divided into two categories: a text-based method and a sensor-based method.

[0027] As for a text-based diagnosis, this kind of method needs a large quantity of corpuses, including a detailed anomaly symptom and diagnosis outcomes. At the start, a user needs to check an alarm and then manually input a symptom and a diagnosis outcome to collect data. After collecting a large quantity of corpuses, a predictive maintenance system may generate some anomaly diagnosis outcomes according to the symptom described by the user. This kind of method needs a large quantity of user input data to establish a diagnosis model based on natural language processing (NLP) .

[0028] As for a sensor-based diagnosis, this kind of method needs sensor data in various failure modes, and when an alarm is given, the system may recognize a failure from a failure database. In fact, most of factories do not have enough failure data, because a frequency of occurrence of a failure is low, and in most cases, normal data can be obtained only from customers.

[0029] An implementation scene of this application is: a correspondingly associated first preset rule combination is obtained after the alarm is triggered. They are preset rules to be broken. Then several candidate diagnosis outcomes after weight calculation are given by searching for a weight relationship between diagnosis outcomes stored in a current performing device and these preset rules to be broken. If the user accepts one of the several candidate diagnosis outcomes, a value of a weight of the corresponding diagnosis outcome will be accumulated and may be used for weight calculation next time. If the user does not accept the several candidate diagnosis outcomes, an extra new candidate diagnosis outcome may be inputted, and a value of a corresponding weight is assigned to this new candidate diagnosis outcome. The new candidate diagnosis outcome and its value of the weight may be recorded in an executive object of the above method and used for weight calculation when an alarm occurs next time. By repeated iteration like this, an association relationship between the preset rules and the diagnosis outcomes is established, and when the preset rules are broken, a diagnosis outcome meeting a user expectation may be outputted.

[0030] Therefore, the present disclosure provides an anomaly diagnosis method, which may be called a method for outputting a failure diagnosis outcome. Specifically, anomaly diagnosis is performed through invariant rules by introducing a novel method. Through the present disclosure, the user may obtain an alarm reason and a diagnosis outcome.

[0031] This application discloses a method for outputting an anomaly diagnosis outcome, including:

[0032] S101: an alarm is received, the alarm being triggered by a first preset rule combination.

[0033] The alarm is a corresponding alarm which is given when occurrence of an anomaly is  detected. Occurrence of the alarm is caused by breaking several invariant rules. The invariant rules may also be called preset rules. A set of these several broken preset rules may be called the first preset rule combination, or called a preset rule combination. These invariant rules are preset invariant rules. These rules are related to a to-be-detected machine and device. Once the alarm is given, which is equivalent to breaking some preset rules, in other words, several preset rules are broken, an alarm action occurs. In some embodiments, one alarm may be associated with several rules. In some embodiments, each rule has a probability of breaking under a current alarm. These rules are combined, and in the first preset rule combination, normalization processing is performed correspondingly on a probability of breaking each rule. In some embodiments, the alarm and the first preset rules are inputted into the executive object of the method together. Or, the executive object of the method, when receiving the alarm, also receives the first preset rule combination correspondingly. In some embodiments, a relationship between the alarm and the first preset rule combination may be inputted into the executive object of the method through another device. Or, in some embodiments, the executive object of the method may directly receive the first preset rules which are then used for subsequent weight calculation of diagnosis outcomes.

[0034] S102: a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination is calculated according to the first preset rule combination.

[0035] The candidate diagnosis outcomes are existing diagnosis outcomes stored in a database, and there may be several candidate diagnosis outcomes. A weight relationship exists between these candidate diagnosis outcomes and the several rules, or these candidate diagnosis outcomes have corresponding values of weights corresponding to the several rules. Further, the candidate diagnosis outcomes may have initial weights or a corresponding relationship with some preset rules of these preset rules, and have no initial weight or a corresponding relationship with the other rules. The candidate diagnosis outcomes here may also be called diagnosis outputs, which may be understood as provided diagnosis reasons and corresponding solutions. Certainly, the same rule may be associated with several different candidate diagnosis outcomes and has an initial weight. In some embodiments, there may be a plurality of candidate diagnosis outcomes. It needs to be noted here that in this application, calculated weights of those candidate diagnosis outcomes are weights of those associated rules broken under the current alarm. For example, after the alarm 1 is triggered, it is known that the preset rules A, B and C are broken. Further, Probabilities of breaking the preset rules A, B and C may be, for example, 0.47, 0.35 and 0.18 respectively. As for the preset rule A, an association may exist between the diagnosis outcomes 1 and 2 and the rule A, or values of weights exist.  Besides, the diagnosis outcomes 1 and 2 are the candidate diagnosis outcomes. A combination composed of the plurality of candidate diagnosis outcomes is called the candidate diagnosis outcome combination. Then, at the moment, calculation of weights is performed for each candidate diagnosis outcome in the combination.

[0036] From the perspective of the diagnosis outcomes, after one alarm is triggered, weights of all the candidate diagnosis outcomes regarding the broken rules under a condition of triggering this alarm need to be calculated, so that corresponding weights of the several candidate diagnosis outcomes are obtained. For each candidate diagnosis outcome, the weights are weights regarding all the broken rules in the current alarm. Certainly, if some candidate diagnosis outcomes have no association or no value of initial weight with a certain rule of the first preset rule combination, a weight of this non-associated rule does not need to be calculated.

[0037] Further, an alarm table, a rule table, a diagnosis table and a rule_diagnosis table are stored in a database correspondingly. The alarm table includes serial numbers, start time, end time and statuses of alarms. Stored rules and serial numbers regarding the rules are recorded in the rule table correspondingly. Contents of the diagnosis outcomes and serial numbers regarding the diagnosis outcomes are recorded in the diagnosis table correspondingly. The rule_diagnosis table is formed by combining contents of the alarm table, the rule table and the diagnosis table and includes alarm serial numbers, rule serial numbers, diagnosis outcome serial numbers and values of corresponding weights.

[0038] For example, when the above information or data is established initially, it may be as follows. It is assumed that the alarm 1 is triggered, probabilities of breaking the preset rules A, B and C are 0.47, 0.35 and 0.18 respectively, and an input diagnosis outcome 1 is received for the alarm 1, corresponding information may be stored as follows:

[0039] Rule Table 1

[0040] Diagnosis Table 1

[0041] Rule_Diagnosis Table 1

[0042] For example, at the moment, if an alarm 2 is triggered, and it is known that the preset rules A, B and D are broken, as the candidate diagnosis outcome 1 is associated with the rules A and B, calculation may be performed by using the following formula, that is, after the alarm is received, a value of a weight of the candidate diagnosis outcome is calculated according to the broken rule associated with this alarm, which may be shown as the following formula:

[0043] Wn=∑ (Pm*Wnm / Wm) ,

[0044] where,

[0045] m represents ID of each preset rule.

[0046] n represents id of each diagnosis outcome.

[0047] Wn represents a weight of an nth diagnosis outcome.

[0048] Pm represents a probability of being associated with an mth preset rule under a current alarm.

[0049] Wnm represents a weight of the nth diagnosis outcome under the mth preset rule.

[0050] Wm represents a weight of all the diagnosis outcomes under the mth preset rule.

[0051] A weight calculation result of the diagnosis outcome 1 is: W1=0.7* (0.47 / 0.47) +0.2 (0.35 / 0.35) =0.9.

[0052] Further, to sum up the above calculation rule, it may be described as calculating a sum of weights of the preset rules in the first preset rule combination for each candidate diagnosis outcome in the candidate diagnosis outcome combination. For example, as for the diagnosis outcome 1 being the candidate diagnosis outcome, after weights regarding the rules A and B are calculated, the weights are added to obtain a final weight of the diagnosis outcome 1.

[0053] Further, calculating the weight of each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the first preset rule combination includes: the weight of each candidate diagnosis outcome is calculated according to a probability of each preset rule in the first preset rule combination, a weight of each candidate diagnosis outcome regarding each preset rule and a weight of each preset rule regarding the candidate diagnosis  outcome combination. Wm representing the weight of all the diagnosis outcomes under the mth preset rule may be understood here that the candidate diagnosis outcome combination may include all the diagnosis outcomes. If a certain candidate diagnosis outcome has a weight regarding the mth preset rule, after the mth preset rule is broken, all the candidate diagnosis outcomes having the weights are to be calculated definitely. So all the candidate diagnosis outcomes having the weights are supposed to be in the candidate diagnosis outcome combination, and a weight of each candidate diagnosis outcome regarding the mth preset rule is supposed to be at least calculated, so as to judge whether it is the final diagnosis outcome.

[0054] In this way, the value of the weight of each candidate diagnosis outcome in the candidate diagnosis outcome combination may be calculated, so as to serve as a reference for subsequently determining the final diagnosis outcome.

[0055] S103: the final diagnosis outcome is determined from the candidate diagnosis outcome combination according to a value of the weight.

[0056] As described above, the final diagnosis outcome is determined from the candidate diagnosis outcomes. In some embodiments, recommended candidate diagnosis outcomes are outputted correspondingly according to the above described values of the weights. There may be several outputted candidate diagnosis outcomes, which may be called the candidate diagnosis outcome combination. In some embodiments, several candidate diagnosis outcomes with the largest calculated values of the weights serve as an output. In some embodiments, if the value of the weight is larger, the corresponding diagnosis outcome is the most accurate diagnosis outcome of the preset rule, or called the most recommended judgment result. But the final diagnosis outcome may be determined by a user or an object for executing the method. In some embodiments, the final diagnosis outcome is a diagnosis outcome in the candidate diagnosis outcome combination. Thus, when the alarm occurs, weight calculation may be performed on all the diagnosis outcomes, and several candidate diagnosis outcomes may be outputted in sequence according to the values of the weights from large to small so as to serve as a reference. In this way, several most possible diagnosis outcomes may be outputted, so that a diagnosis outcome to be accepted may be more possibly generated from the diagnosis outcomes. Finally, the final diagnosis outcome is determined from the candidate diagnosis outcome combination.

[0057] In some embodiments, the weights of the above candidate diagnosis outcomes are obtained comprehensively based on a past triggered alarm, corresponding outputs and an accepting feedback and may be an accumulated weight value. Information forms such as the  alarms, the preset rules, the diagnosis outcomes and the values of the weights and the serial numbers may be stored in the database in a form of a table, or in other forms. Calling, reading and updating may be facilitated in subsequent use.

[0058] Through the above method, when the alarm is triggered, by obtaining a probability of breaking a preset rule and then calculating the value of the weight of the diagnosis outcome, several most possible candidate diagnosis outcomes are judged and outputted, and the final diagnosis outcome is further determined, so that a reason why a device or a system gives an alarm and a handing mode are inferred and an effective and accurate diagnosis may be obtained.

[0059] Further, a first diagnosis outcome inputted by the user is received in a case that an instruction that any diagnosis outcome in the candidate diagnosis outcome combination is not accepted is received, and a weight of the first diagnosis outcome regarding the first preset rule combination is initialized.

[0060] In some embodiments, when neither of the outputted several candidate diagnosis outcomes is accepted, an extra input first diagnosis outcome may be received, and a weight of the first diagnosis outcome regarding the first preset rule combination is initialized. The initializing indicates that probability values of breaking the preset rules are obtained through other methods or systems.

[0061] Taking the above alarm 2 as an example, after the diagnosis outcome 1 is outputted, the diagnosis outcome is not accepted, or the instruction of not accepting is received, the first diagnosis outcome inputted by the user is received, and the weight of the first diagnosis outcome regarding the first preset rule combination is initialized. Specifically, the first rule combination may be A, B and D. the first diagnosis outcome may be the diagnosis outcome 2, so probabilities 0.7, 0.2 and 0.1 of breaking A, B and D under the corresponding alarm 2 become the weights of the diagnosis outcome 2 regarding the rules A, B and D. The process is the initialization process, and the probability values of breaking are obtained through other methods or systems. The above rule table, the diagnosis table and the rule_diagnosis table may be updated as follows:

[0062] Rule Table 2

[0063] Diagnosis Table 2

[0064] Rule_Diagnosis Table 2

[0065] In other words, the new inputted first diagnosis outcome may be received, the first diagnosis outcome is the new diagnosis outcome and different from the previous diagnosis outcome, and details or a directory table of the corresponding diagnosis outcome may be updated.

[0066] For example, the diagnosis outcome 1 is associated with the rules A and B. The diagnosis outcome 2 is also associated with the rules A and B. But values of weights of the two diagnosis outcomes regarding the rules A and B are different.

[0067] In some embodiments, ID numbering may also be performed on the alarms, for example, the alarm 1 and the alarm 2. The preset rules corresponding to the alarm 1 are A, B and C. The weights of the diagnosis outcome 1 corresponding to the rules A, B and C are 0.47, 0.35 and 0.18 respectively. The preset rules corresponding to the alarm 2 are A, B and D. The weights of the diagnosis outcome 2 corresponding to A, B and D are 0.7, 0.2 and 0.1. The above information may also be arranged in one table, which is named the rule_diagnosis table.

[0068] In this way, the diagnosis outcome may be updated, and the diagnosis outcome may be rapidly associated with the alarm and a broken rule, so that the candidate diagnosis outcome outputted afterwards is more accurate and better meets an expectation.

[0069] Further, the method further includes: a weight of the final diagnosis outcome regarding the first preset rule combination is updated in a case that an instruction that the final diagnosis outcome in the candidate diagnosis outcome combination is accepted is received.

[0070] It needs to be stressed that the final diagnosis outcome may be a final diagnosis outcome selected by the user or a machine from the candidate diagnosis outcome combination. Then if the user does not accept any diagnosis outcome in the candidate diagnosis outcome combination after browsing the candidate diagnosis outcome combination, the user may input the new candidate diagnosis outcome. The new candidate diagnosis outcome is recorded in an object for executing the above method so as to participate in subsequent weight calculation and output when an alarm occurs.

[0071] In some embodiments, after a certain diagnosis outcome in the candidate diagnosis outcome combination is accepted, or the instruction that a certain diagnosis outcome is accepted is received, a probability of breaking the rule under the corresponding alarm is accumulated into the weight of the accepted diagnosis outcome.

[0072] For example, an alarm 3 is triggered, the rules A and C are broken in the alarm 3, and their breaking probabilities are 0.6 and 0.4 respectively. Then according to the above updated rule_diagnosis table, the weight W1 of the diagnosis outcome 1 is: W1= 0.6* [0.47 /  (0.47+0.7) ] + 0.4* [0.18 / 0.18] = 0.641.

[0073] Correspondingly, the weight W2 of the diagnosis outcome 2 is: W2= 0.6* [0.7 /  (0.47+0.7) ] = 0.359.

[0074] So the diagnosis outcome 1 and the diagnosis outcome 2 are outputted in a form of the candidate diagnosis outcome combination, and it is assumed that the diagnosis outcome 1 is accepted, as described above, the probability of breaking the preset rule in the alarm 3 will be accumulated into the value of the weight of the corresponding preset rule in the diagnosis outcome 1, specifically, the probability of breaking the preset rule A under the alarm 3 is 0.6, and the initial weight of the diagnosis outcome 1 regarding the preset rule A is 0.47. After the alarm 3 is triggered, the diagnosis outcome 1 is outputted and accepted, so 0.6 is added to 0.47 correspondingly to obtain 1.07. Similarly, the probability of breaking the preset rule C under the alarm 3 is 0.4, and the initial weight of the diagnosis outcome 1 regarding the preset rule C is 0.18. After the alarm 3 is triggered, the diagnosis outcome 1 is outputted and accepted, so 0.4 is added to 0.18 correspondingly to obtain 0.58.

[0075] The corresponding rule_diagnosis table is also updated as follows.

[0076] Rule_Diagnosis Table 3

[0077] As the rule table and the diagnosis table do not change, the above corresponding tables remain.

[0078] After repeatedly performing such process, a diagnosis outcome with a largest weight regarding the preset rule is regarded as a most accurate diagnosis outcome of the preset rule, and may also be called a most accurate diagnosis output.

[0079] In some embodiments, an anomaly diagnosis process is further described in detail. Specifically, a database is maintained, the invariant rules and the diagnosis outcomes are associated, and if the alarm is given and some invariant rules are violated at the same time, the diagnosis outcome is recommended by using information in the database.

[0080] Further, a violated invariant rule is obtained for a reported alarm. When an invariant rule-based anomaly detection system gives an alarm, a reason of the alarm is described or indicated through a violated invariant rule. Specifically, an example of the first broken invariant rule in the alarm is as follows:

[0081] “IF 828.2532043457031 <= LIT301 < 868.0666809082031

[0082] and P205=2 and MV302=2,

[0083] then P203=2 and MV101=2” : 0.47

[0084] In the above example, LIT301 represents reading of a sensor, and MV302, P203 and MV101 each represent a trigger. 0.47 represents a probability of breaking the corresponding first preset rule example under this alarm.

[0085] Further, an example of the second broken invariant rule in the same alarm is as follows:

[0086] “IF P302=2

[0087] and 247.86109924316406 <= PIT501 < 252.69159698486328

[0088] and FIT201>=0.0249895392177105,

[0089] then MV201=2 and P101=2” : 0.35

[0090] An example of the third broken invariant rule in the same alarm is as follows:

[0091] “IF P302=2, then MV301=1” : 0.18

[0092] In the above example, P302 represents a trigger; PIT501 and FIT201 each represent reading of a sensor; and MV201, P101, P302 and MV301 each represent a trigger. 0.35 represents a probability of breaking the second preset invariant rule example when the alarm occurs; and 0.18 represents a probability of breaking the third invariant rule example when the alarm occurs. Occurrence of this alarm is because the above three preset rules are broken but values of probabilities of breaking the different preset rules are different.

[0093] In some embodiments, the preset rules are associated with the diagnosis outcomes. When an alarm is given, first k most possible diagnosis outcomes are provided according to the alarm brought by a broken invariant rule. If the user is unsatisfactory with the provided diagnosis outcomes, the user may also input a new diagnosis outcome. Then the above information is stored through a table or a corresponding database. A specific mode is as described above and is not repeated in detail. After having processed more alarms, a relationship between the violated invariant rules and the diagnosis outcomes will become more and more accurate.

[0094] Advantages in the present disclosure may be summarized as follows.

[0095] 1. An anomaly diagnosis method based on invariant rules is provided, so that the most possible diagnosis outcome of the alarm may be recommended accurately.

[0096] 2. An active learning framework is provided, so that accuracy of anomaly diagnosis may be improved according to a user feedback.

[0097] 3. The method may naturally handle a cold start problem, which means that a large quantity of anomaly diagnosis data sets do not need to exist.

[0098] FIG. 2 provides an apparatus 200 for outputting an anomaly diagnosis outcome. The apparatus 200 includes an alarm module 201, configured to receive an alarm, the alarm being triggered by a first preset rule combination; a weight module 202, configured to calculate a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination according to the first preset rule combination; and an output module 203, configured to determine a final diagnosis outcome from the candidate diagnosis outcome combination according to a value of the weight.

[0099] The weight module 202 is further configured to: calculate the weight of each candidate diagnosis outcome according to a probability of each preset rule in the first preset rule combination, a weight of each candidate diagnosis outcome regarding each preset rule and a weight of each preset rule regarding the candidate diagnosis outcome combination.

[0100] Further, the apparatus further includes an updating module 204, configured to update a  weight of the final diagnosis outcome regarding the first preset rule combination in a case that an instruction that the final diagnosis outcome in the candidate diagnosis outcome combination is accepted is received.

[0101] Further, the apparatus further includes an input module 205, configured to receive a first diagnosis outcome inputted by a user in a case that an instruction that any diagnosis outcome in the candidate diagnosis outcome combination is not accepted is received, and initialize a weight of the first diagnosis outcome regarding the first preset rule combination.

[0102] Further, the output module 203 is further configured to output each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the values of the weights from large to small.

[0103] It needs to be noted that the apparatus may include more or fewer modules to implement the described functions. For example, at least one module in FIG. 2 may be further divided into a plurality of different sub-modules, and each sub-module is configured to execute at least a part of the operations described here in combination with the corresponding modules. Besides, in some examples, the apparatus 200 may further include an additional module configured to execute other operations having been described in the specification. In addition, those skilled in the art may understand an exemplary apparatus 200 may be implemented by software, hardware, firmware, or any combination of them.

[0104] FIG. 3 provides a computer device. According to one implementation, the computer device 300 may include a processor 302, and the processor 302 executes a computer program stored in a memory 304. The computer program, when executed by the processor, implements the above method.

[0105] Those skilled in the art may understand that the structure shown in FIG. 3 is only a block diagram of a partial structure related to a solution in this application, and does not constitute a limitation to the computer device to which this application is applied. Specifically, the computer device may include more components or fewer components than those shown in figure, or some components may be combined, or a different component arrangement may be used.

[0106] Those ordinarily skilled in the art may understand that all or some of procedures of the method in the foregoing implementation may be implemented by a computer program instructing relevant hardware. The computer program may be stored in a non-volatile computer-readable storage medium. When the computer program is executed, the procedures of the foregoing method implementations may be included. Any reference to the memory, the storage, a database, or another medium used in the implementations provided in this  application may all include at least one of a non-volatile memory or a volatile memory. The non-volatile memory may include a read-only memory (ROM) , a magnetic tape, a floppy disk, a flash memory, an optical memory or the like. The volatile memory may include a random access memory (RAM) or an external cache. As an explanation but not a limitation, the RAM may have various forms, such as a static random access memory (SRAM) or a dynamic random access memory (DRAM) .

[0107] This application further provides a computer-readable storage medium, storing a computer program, the computer program, when executed by a processor, implementing the above steps.

[0108] This application further provides a computer program product, tangibly stored on a computer-readable medium and including a computer-executable instruction, the computer-executable instruction, when executed, causing at least one processor to execute the above method.

[0109] Further, the computer program may be stored and run on a cloud to execute the method. Further, constituting parts of the program may be arranged on a plurality of devices and clouds, for example, corresponding steps may be arranged and run locally or on a local computer, or run on different cloud devices, where signals are transmitted through communication connection, or may also be arranged and run locally or on the local computer. This application does not limit the mode or the method, corresponding technologies may be flexibly arranged and deployed, and executing and completing of the method are performed by fully utilizing devices and technologies such as the cloud, big data, or supercomputing power.

[0110] Some implementations of the present disclosure may include a manufacture. The manufacture may include a storage medium configured to store logics. Examples of the storage medium may include one or various types of computer-readable storage media capable of storing electronic data, including a volatile memory or a non-volatile memory, a mobile or immobile memory, an erasable or non-erasable memory, a writable or rewritable memory and the like. Examples of the logics may include various software units, for example, a software part, a program, an application, a computer program, an application program, a system program, a machine program, operating system software, a middleware, a firmware, a software module, a routine, a subroutine, a function, a method, a process, a software interface, an application program interface (API) , an instruction set, a computing code, a computer code, a code segment, a computer code segment, a character, a value, a symbol or any combination of them. In some implementations, for example, the manufacture may store an executable  computer program instruction, and the instruction, when executed by a processor, causes the processor to execute the method and / or operations herein. The executable computer program instruction may include any appropriate type of codes, for example, a source code, a compiled code, an interpretive code, an executable code, a static code, a dynamic code or the like. The executable computer program instruction may be implemented according to a pre-defined computer language, mode or syntax for commanding a computer to execute a specific function. The instruction may be implemented by using any appropriate high-level, low-level, object-oriented, visual, compiled and / or interpretive programming language.

[0111] The above description includes an example of an architecture disclosed herein. Certainly, description of each conceivable combination of the parts and / or the methods is impossible, but those skilled in the art may understand that many other combinations and arrangements are also feasible. Therefore, the novel architecture intends to cover all such substitutions, modifications and variations falling within the spirit and the scope of the appended claims.

Claims

1.A method for outputting an anomaly diagnosis outcome, comprising:(S101) receiving an alarm, the alarm being triggered by a first preset rule combination;(S102) calculating a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination according to the first preset rule combination; and(S103) determining a final diagnosis outcome from the candidate diagnosis outcome combination according to a value of the weight.2.The method according to claim 1, wherein calculating the weight of each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the first preset rule combination comprises:calculating the weight of each candidate diagnosis outcome according to a probability of each preset rule in the first preset rule combination, a weight of each candidate diagnosis outcome regarding each preset rule and a weight of each preset rule regarding the candidate diagnosis outcome combination.3.The method according to claim 1, wherein after determining the final diagnosis outcome from the candidate diagnosis outcome combination according to the value of the weight, the method further comprises:updating a weight of the final diagnosis outcome regarding the first preset rule combination in a case that an instruction that the final diagnosis outcome in the candidate diagnosis outcome combination is accepted is received.4.The method according to claim 1, wherein after determining the final diagnosis outcome from the candidate diagnosis outcome combination according to the value of the weight, the method further comprises:receiving a first diagnosis outcome inputted by a user in a case that an instruction that any diagnosis outcome in the candidate diagnosis outcome combination is not accepted is received, and initializing a weight of the first diagnosis outcome regarding the first preset rule combination.5.The method according to claim 1, wherein determining the final diagnosis outcome from the candidate diagnosis outcome combination according to the value of the weight comprises:outputting each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the values of the weights from large to small.6.An apparatus (200) for outputting an anomaly diagnosis outcome, comprising:an alarm module (201) , configured to receive an alarm, the alarm being triggered by a first preset rule combination;a weight module (202) , configured to calculate a weight of each candidate diagnosis outcome in a candidate diagnosis outcome combination according to the first preset rule combination; andan output module (203) , configured to determine a final diagnosis outcome from the candidate diagnosis outcome combination according to a value of the weight.7.The apparatus according to claim 6, wherein the weight module (202) is further configured to:calculate the weight of each candidate diagnosis outcome according to a probability of each preset rule in the first preset rule combination, a weight of each candidate diagnosis outcome regarding each preset rule and a weight of each preset rule regarding the candidate diagnosis outcome combination.8.The apparatus according to claim 6, further comprising:an updating module (204) , configured to update a weight of the final diagnosis outcome regarding the first preset rule combination in a case that an instruction that the final diagnosis outcome in the candidate diagnosis outcome combination is accepted is received.9.The apparatus according to claim 6, further comprising:an input module (205) , configured to receive a first diagnosis outcome inputted by a user in a case that an instruction that any diagnosis outcome in the candidate diagnosis outcome combination is not accepted is received, and initialize a weight of the first diagnosis outcome regarding the first preset rule combination.10.The apparatus according to claim 6, whereinthe output module (203) is further configured to output each candidate diagnosis outcome in the candidate diagnosis outcome combination according to the values of the weights from large to small.11.A computer device, comprising a memory and a processor, the memory storing a computer program, and the processor, when executing the computer program, implementing the steps of the method according to any one of claims 1 to 5.12.A computer-readable storage medium, storing a computer program, the computer program, when executed by a processor, implementing the steps of the method according to any one of claims 1 to 5.13.A computer program product, tangibly stored on a computer-readable medium and  comprising a computer-executable instruction, the computer-executable instruction, when executed, causing at least one processor to execute the method according to any one of claims 1 to 5.