Information processing system, method, and program

The information processing system quickly retrieves relevant information for handling control system events using a language model and vector similarity, reducing the need for manual searches and inquiries.

JP2025117252APending Publication Date: 2025-08-12OMRON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024011996
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-30
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

Existing systems require workers to manually refer to equipment manuals or manufacturer personnel to identify and resolve abnormalities in production equipment, which is time-consuming.

Method used

An information processing system that includes a reception unit, generation unit, search unit, and language model interface to quickly retrieve relevant sentences from a storage unit for handling events in a control system, using vector similarity and evaluation to provide immediate support.

Benefits of technology

Enables operators to quickly obtain relevant information for addressing events without manual searches or inquiries, improving response time and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025117252000001_ABST
    Figure 2025117252000001_ABST
Patent Text Reader

Abstract

To provide an information processing system, a method, and a program that quickly acquire information for dealing with an event that occurs in a control system.SOLUTION: A system includes a storage unit that stores, for each of a plurality of events, a document that includes one or more second sentences that describe a response to a corresponding event. The system searches, on the basis of the first sentence, the storage unit for one or more second sentences corresponding to the event indicated by a query in the first sentence, and interacts with a language model that takes a prompt including a question and a setting sentence as input and outputs a related sentence that are relevant to a corresponding question from the setting sentence of the input prompt. The prompt question and setting sentence for this input are set to the first sentence query and one or more second sentences.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an information processing system, a method, and a program. [Background technology]

[0002] Conventionally, when an abnormality (failure, error, etc.) occurs in production equipment that constitutes a production line, workers are required to recover the equipment from the abnormality and quickly return the equipment to a state where it can operate. Patent Document 1 discloses a method for managing the progress status of workers.

[0003] On the other hand, workers obtain the information necessary to identify abnormalities by operating the equipment that makes up the control system of a production line, etc. Then, they must understand the details of the abnormality and how to resolve it by referring to internal knowledge and manuals or by inquiring with manufacturer personnel, and it takes time to identify the correct solution by referring to the equipment manual or inquiring through manufacturer personnel. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-129161 Summary of the Invention [Problem to be solved by the invention]

[0005] One object of the present disclosure is to provide an information processing system that enables an operator to quickly obtain information to deal with an event that occurs in a control system. [Means for solving the problem]

[0006] An information processing system according to the present disclosure supports responses to events in a control system including a control device, and includes a reception unit that receives information input to the information processing system, where the information received by the reception unit includes event information that identifies the event. The information processing system further includes: a generation unit that generates a first sentence including a query about how to respond to the event based on the event information received by the reception unit; a storage unit that stores, for each of a plurality of events that may occur in the control system, a document including one or more second sentences that describe how to respond to the event; a search unit that searches the storage unit for one or more second sentences corresponding to the event indicated by the query in the first sentence based on the first sentence generated by the generation unit; and a model interface that interacts with a language model that receives as input a prompt including a question and a setting sentence and outputs related sentences that are relevant to the question from the setting sentence of the input prompt, where the query in the first sentence and the one or more second sentences searched by the search unit are set as the question and setting sentence of the input prompt of the language model, respectively.

[0007] According to the above disclosure, when an inquiry about how to deal with an event is received, one or more second sentences describing how to deal with the event indicated by the inquiry are searched for from the document in the storage unit. Related sentences relevant to the inquiry are obtained using a language model. Therefore, a worker can obtain related sentences (answers) relevant to the one or more second sentences describing how to deal with the event without having to refer to a manual or inquire with a manufacturer.

[0008] In the above disclosure, the information processing system further includes a similarity calculation unit that calculates the similarity between the first sentence and one or more second sentences corresponding to each event in the storage unit, and the search unit searches for one or more second sentences from the one or more second sentences corresponding to each event that correspond to a similarity that satisfies a predetermined condition.

[0009] According to the above disclosure, when an inquiry regarding how to deal with an event is received, the information processing system can search documents in a storage unit for one or more second sentences that have a similarity to a first sentence containing the inquiry that satisfies a predetermined condition.

[0010] In the above disclosure, the information processing system acquires, for a first sentence, a first vector indicating a distributed representation of the meaning of each of one or more words included in the first sentence, and the storage unit further associates with each of one or more second sentences corresponding to each event a second vector indicating a distributed representation of the meaning of each of one or more words included in the second sentence, and stores the second vector. The similarity calculation unit calculates the similarity between the first vector and the second vector associated with each second sentence in the storage unit.

[0011] According to the above disclosure, when an inquiry regarding how to deal with an event is received, the information processing system can search documents in a storage unit for one or more second sentences that are linked to a vector of a first sentence containing the inquiry and that has a similarity exceeding a threshold value.

[0012] In the above disclosure, the information received by the receiving unit includes an evaluation of the related sentence output from the language model.

[0013] According to the above disclosure, the information processing system can receive a response to a query about how to deal with an event, that is, an evaluation of a related sentence from a language model.

[0014] In the above disclosure, the information processing system further includes a modification unit that modifies, based on evaluation, a second vector associated with the one or more second sentences in the storage unit that is set as an input of a language model.

[0015] In the above disclosure, the modification unit includes a first modification unit that, when it is determined that the evaluation is a negative evaluation, performs a process of excluding one or more second sentences in the storage unit from the search target of the search unit.

[0016] According to the above disclosure, if the evaluation of the answer to a query is negative, the information processing system excludes one or more second sentences set as input to output the answer from the language model from the search targets. As a result, even if a subsequent query about how to deal with the same event is received, the one or more second sentences will not be searched for from the documents in the storage unit. Therefore, answers that may be negatively evaluated can be excluded from answers to subsequent queries about how to deal with the same event (related sentences output by the language model).

[0017] In the disclosure above, the information received by the receiving unit includes information indicating a countermeasure taken by the user for the event. The change unit includes a second change unit that, when it determines that the evaluation is a positive evaluation, updates one or more second sentences in the storage unit that describe the countermeasure for the event using the information indicating the countermeasure received by the receiving unit.

[0018] According to the above disclosure, when the second change unit receives a positive evaluation, it updates one or more second sentences in the storage unit that describe a response to the event using information indicating the response to the event that the user has taken at that time. Thereafter, the information processing system can obtain an answer (a related sentence output by the language model) using the one or more updated second sentences as input. Therefore, the obtained answer can be a more appropriate answer to a query about a response to the event.

[0019] In the above disclosure, when the first change unit determines that the evaluation is a negative evaluation, it further performs a process of excluding a second vector linked to one or more second sentences set in the setting sentence of the input prompt of the language model from the calculation targets of the similarity calculation unit.

[0020] As a result, even if a subsequent inquiry about how to deal with the same event is received, the second vectors linked to the one or more second sentences are excluded from the similarity calculation for determining the second sentences to be set as input to the language model. Therefore, it is possible to exclude answers that may be negatively evaluated from answers to subsequent inquiries about how to deal with the same event (related sentences output by the language model).

[0021] The method disclosed herein is a computer-implemented method for assisting in dealing with events in a control system including a control device, comprising the steps of: accepting information input to the computer; the information accepted in the accepting step including event information that identifies the event; generating a first sentence including a query for dealing with the event based on the accepted event information; and searching a storage unit that stores, for each of a plurality of events that may occur in the control system, a document including one or more second sentences that describe dealing with the event; the searching step includes a step of searching, based on the first sentence generated in the generating step, for one or more second sentences that correspond to the event indicated by the query in the first sentence from the storage unit; and the method further includes the steps of: inputting a prompt including a question and a setting sentence, interacting with a language model that outputs related sentences that are relevant to the question from the setting sentence of the input prompt; and setting the query in the first sentence and the one or more retrieved second sentences as the question and setting sentence of the input prompt of the language model, respectively.

[0022] This disclosure provides a program that causes a computer to execute the above-described method. [Effects of the Invention]

[0023] According to the present disclosure, it is possible to achieve the effect of enabling an operator to quickly obtain information to deal with an event that has occurred in a control system. [Brief explanation of the drawings]

[0024] [Figure 1] FIG. 1 is a functional block diagram showing an application example of an information processing system according to an embodiment of the present invention. [Figure 2] 1 is a schematic diagram showing an example of the configuration of a network system 1B including a control system 1A according to the present embodiment. [Figure 3] 1 is a block diagram showing an example of a hardware configuration of a control device 100 according to the present embodiment. [Figure 4] 1 is a block diagram showing an example of a hardware configuration of a display device 200 according to the present embodiment. [Figure 5] FIG. 2 is a diagram illustrating a process for searching documents 232 based on vectors according to an embodiment of the present invention. [Figure 6] FIG. 2 is a diagram schematically illustrating an example of the configuration of an event handling database 230 according to the embodiment of the present invention. [Figure 7] 10 is a diagram showing an example of a display on the information display unit 280 according to the present embodiment. FIG. [Figure 8] 10 is a flowchart showing an example of a first change process according to the embodiment of the present invention. [Figure 9] 10 is a flowchart showing an example of a second change process according to the embodiment of the present invention. [Figure 10] FIG. 10 is a diagram showing another display example according to the present embodiment. [Figure 11] FIG. 2 is a diagram schematically illustrating a part of an event handling database 230 according to the present embodiment. [Figure 12] 10 is a flowchart of a process for operating a history database 235 according to the present embodiment. [Figure 13] FIG. 10 is a functional block diagram showing another application example of the information processing system according to the present embodiment. [Figure 14] FIG. 1 is a diagram schematically illustrating a relationship between a mother factory and a satellite factory according to an embodiment of the present invention. [Figure 15] 10 is a flowchart showing a process for generating and transferring an event handling database 230 according to an embodiment of the present invention. [Figure 16] 10 is a flowchart showing a process for generating and transferring an event handling database 230 according to an embodiment of the present invention. [Figure 17] 10 is a flowchart of a process for generating an event handling database 230 according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0025] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail with reference to the accompanying drawings, in which the same or corresponding parts in the drawings are designated by the same reference numerals and the description thereof will not be repeated.

[0026] (term) "Maintenance" refers to measures to maintain the operating status of devices and equipment installed in production sites using Factory Automation (FA) at a target state. FA equipment and devices include controlled objects such as actuators and sensors including servo motors, and control devices that control the controlled objects. Control devices include, for example, programmable logic controllers (PLCs) or robot controllers.

[0027] In this embodiment, maintenance typically refers to "predictive maintenance." Predictive maintenance refers to detecting (predictive detection) some kind of event occurring in a controlled object or a control device, and performing work such as equipment maintenance or replacement before the device reaches a state where it must be stopped. Note that this embodiment is not limited to application to predictive maintenance, but can also be applied to "corrective maintenance" or "preventive maintenance." "Corrective maintenance" refers to actions to deal with an event after it occurs in a device or facility. Preventive maintenance refers to actions to deal with some kind of event detected during regular inspections of the device or facility.

[0028] In FA, an "event" is a general term for abnormalities, breakdowns, malfunctions (trouble), etc. detected in equipment and facilities, as well as the signs of these. "Events" that occur in FA can be detected during maintenance work. An "event identifier" is a sentence used to identify an event, and is indicated using numbers, letters, symbols, etc.

[0029] A "document" includes multiple sentences. A sentence includes one or more words. In this embodiment, the size, such as the length, of a sentence is not limited. For example, a sentence may correspond to a character string such as a paragraph made up of multiple unit strings, or a unit string separated by periods.

[0030] "Vectorization" includes word vectorization and sentence vectorization. Word vectorization refers to the process of converting the meaning of a word, which is a string of characters, into a vector, which is a distributed representation of the word. A vector obtained by word vectorization is called a word vector. Sentence vectorization refers to the process of adding word vectors for one or more words obtained by morphological analysis of a sentence, and calculating the average of the added word vectors. A vector calculated by such sentence vectorization is called a sentence vector. Vectors used in this embodiment have the same number of elements (or components).

[0031] "Vector similarity" is the distance between vectors, and the distance between vectors can be obtained by, for example, applying a function to calculate the cosine similarity. If the cosine similarity between vectors is 1, these vectors are vectors of the same word (sentence), and if it is 0, these vectors are vectors of words (sentences) with completely different meanings.

[0032] A "maintenance activity manual" is a document that describes how to deal with each of the multiple events that may occur in the control system being maintained. It is mainly created by the manufacturer of the control system.

[0033] "Technical knowledge" refers to a document that describes the countermeasures (technical work procedures) taken by a user in the course of operating or maintaining a control system. This document is in a format that can be shared with others who have similar skills to the user. Technical knowledge may include the technical knowledge, understanding, know-how, etc. acquired by the user.

[0034] A "troubleshooting manual" is a document that contains descriptions of events that indicate malfunctions (trouble) that occur (or may occur) in a control system, and how to deal with those events. When a control system user deals with a trouble, they can describe the event and how to deal with it in the "troubleshooting manual." A "troubleshooting manual" is an example of "technical knowledge."

[0035] The "Maintenance Manual" refers to a document that describes the maintenance (countermeasures) for each event carried out by the user on the control system. The "Maintenance Manual" is an example of "Technical Knowledge".

[0036] <A. Application Example> First, an example of the scenario to which the present invention is applied will be described. FIG. 1 is a functional block diagram showing an application example of the information processing system according to the present embodiment.

[0037] In FIG. 1, the information processing system 1 according to the present embodiment exchanges information with the FA control system 1A via a network. The control system 1A includes a control device such as a PLC and a control target of equipment and devices. The information processing system 1 provides support information for the user of the control system 1A to assist in the coping work for the events occurring in the control system 1A. The user of the control system 1A may include an operator in charge of the maintenance work of the control system 1A. The information processing system 1 communicates with the control system 1A via a network. Note that the information processing system 1 may not be connected to the network or the control system 1A and may operate standalone.

[0038] The information processing system 1 has modules realized by hardware and software implemented on a computer. Such modules include a reception unit 26 that receives information input to the information processing system 1, an output unit 28 for outputting information to the outside such as a display unit 218 from the information processing system 1, an event coping database 230 mainly including a non-volatile storage medium, a search unit 29 that searches the information of the event coping database 230, a generation unit 27, a model interface 30 that exchanges information with a language model 70, a prompt engine 31, and a history management unit 32 that manages a history database 235.

[0039] The information received by the reception unit 26 includes event information that can be used to identify an event 11 that has occurred in the control system 1A. The event information may include an event identifier (event name, event code), the source of the event (model name, device code), etc. The reception unit 26 may acquire the event information from, for example, a user or the control system 1A. More specifically, when the control system 1A detects an event 11, it transfers event information identifying the detected event 11 to the information processing system 1, and the reception unit 26 accepts the transferred event information. The reception unit 26 also accepts event information input based on user operation of a keyboard or the like of the input unit 216 (described later). The route for acquiring event information from the user is not limited to keyboard operation. For example, the reception unit 26 may acquire event information by collecting the user's speech and converting the collected speech into character code (voice recognition).

[0040] The generating unit 27 generates a first sentence 7 including an inquiry about how to deal with the event, based on the event information received by the receiving unit 26.

[0041] Information stored in the event handling database 230 includes documents 232. The documents 232 include one or more sentences (second sentences 8) that describe how to handle each of a plurality of event candidates that are candidates for events that may occur in the control system 1A (events that may be detected). Each second sentence 8 includes an identifier of the corresponding event.

[0042] The document 232 is provided in, for example, a file format, and the document file includes, for example, a PDF file or a text file. When the document 232 is provided as a PDF file, the search unit 29 converts the PDF image into text (characters) and performs a search on the converted text. The event handling database 230 can store each second sentence 8 constituting the document 232 by linking it to a vector 9, which is the sentence vector of the second sentence 8. The use of the vector 9 will be described later.

[0043] Based on the first sentence 7 from the generation unit 27 , the search unit 29 searches the event handling database 230 for one or more second sentences 8 that correspond to the event indicated by the query in the first sentence 7 .

[0044] The prompt engine 31 generates a prompt 71 that instructs the language model 70 to execute a task. The prompt 71 includes a question 73 and a setting statement 72. For example, the prompt engine 31 receives a first sentence 7 from the generation unit 27 and one or more second sentences 8 retrieved by the search unit 29. The prompt engine 31 generates a question 73 based on the first sentence 7 and sets the retrieved one or more second sentences 8 as one or more setting statements 72. The prompt engine 31 generates the prompt 71 in the form of a sentence that reads, "Output a relevant sentence related to the question 73 from one or more setting statements 72 as an answer 74." The question 73 uses the identifier of the event 11 indicated by the first sentence 7, and indicates, for example, "Please tell me how to deal with event 11." The prompt 71, including the question 73 and setting statement 72, is a sentence expressed in natural language. The model interface 30 sets the prompt 71 generated by the prompt engine 31 as input to the language model 70. The model interface 30 includes, for example, an API for interacting with the language model 70 .

[0045] The language model 70 is constructed so as to receive as input a prompt 71 including a question 73 and a set sentence 72, and to output an answer 74 indicating a relevant sentence from the set sentence 72 that is relevant to the question 73. The language model 70 is a language model primarily oriented toward natural language, and includes, for example, large language models (LLMs).

[0046] Therefore, from the set sentences 72, the language model 70 outputs, as answer 74, sentences that are relevant to the question 73, i.e., one or more sentences that describe how to deal with the event 11. The language model 70 is constructed to output answer 74 in accordance with the prompt 71 set in the input, so for example, if the prompt 71 specifies a summary, the language model 70 outputs answer 74 that indicates a summary sentence (a relevant sentence) that summarizes the set sentences 72.

[0047] The history database 235 includes a non-volatile or volatile storage medium. When the model interface 30 communicates with the language model 70, the history management unit 32 generates a record indicating information about the communication and stores (accumulates) the generated record in the history database 235. The record includes a question 73 and a setting statement 72 set as input to the language model 70, an answer 74 from the language model 70, a location 75, a similarity 76, and an evaluation 77 for the answer 74 (described later). The location 75 indicates the storage location (location) in the event handling database 230 of one or more second sentences 8 indicated by the setting statement 72 of the record. The location 75 may indicate, but is not limited to, an index of a record in the event handling database 230, a storage address (logical address, real address), a uniform resource locator (URL), or the like.

[0048] The model interface 30 receives the answer 74 from the language model 70 and outputs the received answer 74 to the output unit 28. The output unit 28 controls the display unit 218 to display the answer 74. The operator can obtain support information for dealing with the event 11 from the displayed answer 74 and deal with the event 11 that has occurred in the control system 1A.

[0049] The information processing system 1 in FIG. 1 may include a module for realizing the exchange of event information specifying the event 11 and the response 74 between the user and the information processing system 1 through chat.

[0050] Conventionally, a user (worker) would need to refer to a manual or contact a manufacturer's representative to obtain information on how to deal with an event, which required a considerable amount of time, but by operating the information processing system 1 that communicates with the language model 70, it is now possible to quickly obtain support information for dealing with an event. Support information provided in this way is particularly useful for new or inexperienced workers.

[0051] <B. Overall Configuration Example of Control System> The overall configuration of control system 1A including the control device according to this embodiment and the network system 1B including control system 1A will be described.

[0052] FIG. 2 is a schematic diagram showing a configuration example of network system 1B including control system 1A according to this embodiment. Referring to FIG. 2, control system 1A includes a control device 100 connected to a network. As an example, control device 100 is connected to one or more devices 10 via field network 2. Further, control device 100 may be connected to server device 300 for collecting production management and various data via upper network 6, and one or more display devices 200. Control device 100 exchanges data with the connected devices via each network. Also, support device 400 may be connected to control device 100.

[0053] Control device 100 cyclically executes control processing of the control target according to a pre-prepared user program.

[0054] For field network 2, for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), etc. may be applied.

[0055] In the configuration example shown in FIG. 2, device 10 includes remote I / O (Input / Output) device 12, relay group 14, image sensor 18 and camera 20, and servo driver 22 and servo motor 24.

[0056] Remote I / O device 12 includes a communication unit that communicates via field network 2 and an input / output unit (hereinafter also referred to as "I / O unit") for acquiring input data and outputting output data. Input data and output data are exchanged between control device 100 and the field via such an I / O unit.

[0057] The I / O unit 16 may be directly connected to the field network 2. FIG.

[0058] The image sensor 18 performs image measurement processing such as pattern matching on the image data captured by the camera 20 and transmits the processing results to the control device 100.

[0059] The servo driver 22 drives the servo motor 24 in accordance with output data (for example, a position command) from the control device 100.

[0060] As described above, data is exchanged between the control device 100 and the device 10 via the field network 2.

[0061] The support device 400 provides functions such as development and debugging of user programs executed by the control device 100. The server device 300 is connected to the control device 100 via a higher-level network 6, and exchanges necessary data with the control device 100. The server device 300 may have, for example, a database function, and may be configured to collect event logs and the like output by the control device 100 in chronological order.

[0062] The display device 200 is connected to the control device 100 via the upper network 6, and upon receiving an operation from a user, transmits commands and the like corresponding to the user operation to the control device 100, and graphically displays the results of calculations and the like in the control device 100. In this embodiment, the display device 200 is an example of a computer in which the information processing system 1 shown in Fig. 1 is implemented, and provides information that supports a response to an event 11 that has occurred in the control system 1A.

[0063] The network 6 is connected to a gateway 61. The gateway 61 includes a security gateway that detects unauthorized communication and attacks on the FA network between the FA network and an external network such as the Internet, and protects the FA network from these security risks.

[0064] In the present embodiment, the language model 70 is implemented on a cloud server on an external network such as the Internet. The information processing system 1 implemented in the display device 200 exchanges information with the language model 70 on the external network via the gateway 61.

[0065] In the present embodiment, although the language model 70 is provided on the external network, the language model 70 may be implemented in an information processing device connected to the network 6 such as the server device 300. Also, the language model 70 may be provided in the device (for example, the display device 200) in which the information processing system 1 is implemented. In that case, the processor 202 corresponds to a model execution unit that executes the language model 70. Although the information processing system 1 is implemented in the display device 200, it is not limited to the display device 200 and may be implemented in other information processing devices (server device 300, support device 400, control device 100, a server not shown on the external network, etc.).

[0066] <C. Hardware Configuration Example of Each Device> Next, a hardware configuration example of the main devices constituting the network system 1B according to the present embodiment will be described.

[0067] (c1: Hardware Configuration Example of the Control Device 100) 3 is a block diagram showing an example of a hardware configuration of a control device 100 according to this embodiment. Referring to FIG. 3, the control device 100 includes a processor 102 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a storage 108, a host network controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, an internal bus controller 120, and a field network controller 130.

[0068] The processor 102 reads various programs stored in the storage 108, expands them into the main memory 106, and executes them to perform control according to the control target and various processes described below. The chipset 104 controls the processor 102 and each component to perform processing for the control device 100 as a whole.

[0069] Storage 108 stores an OS (Operating System) and system programs, as well as user programs 38 that are created arbitrarily depending on the control target. Storage 108 also stores an event detection program 39 that, when executed, detects an event 11, such as an abnormality, that has occurred in control system 1A, an event log 34, and field data 36. Detected events 11 are accumulated (logged) in event log 34 along with the time of detection. Processor 102 reads the program from storage 108, expands it into main memory 106, and executes it.

[0070] When the user program 38 is executed, the processor 102 performs control processing of the control object. More specifically, the processor 102 cyclically executes a series of control processing steps, such as collecting measurement values and status values (hereinafter also referred to as "input data") from the control object, executing control calculations based on the collected input data, and outputting command values and status values (hereinafter also referred to as "output data") obtained by executing the control calculations to the control object. The field data 36 includes time-series data of the input data and output data cyclically acquired for each control object.

[0071] The event detection program 39 is executed at a cycle synchronized with the execution cycle of the user program 38. When the event detection program 39 is executed, the processor 102 determines whether an abnormality has occurred based on the field values (measurement values, status values) indicated by the time-series data of each control object indicated by the field data 36. For example, the processor 102 compares the field value of a certain control object with a threshold value, and when it determines that the field value exceeds the threshold value, it detects an event 11 including the type of abnormality and an identifier (model name, manufacturer name) of the control object. The detected event 11 is stored as an event log 34 or transferred to the information processing system 1.

[0072] When an Application Programming Interface (API) provided in association with the receiving unit 26 of the information processing system 1 receives the transferred event 11, it generates a first sentence 7 expressing the event 11 based on the event 11. For example, if the event 11 indicates "abnormal vibration of servo motor xx," the first sentence 7 would be "I would like to know how to deal with the abnormal vibration of servo motor xx." This "xx" indicates the identifier of the servo motor (model, manufacturer name, etc.). Also, for example, if the event 11 indicates "abnormal heating of heater zz," the first sentence 7 would be "I would like to know how to deal with the abnormal heating of heater zz." This "zz" indicates the identifier of the heater (model, manufacturer name, etc.).

[0073] The upper network controller 110 controls the exchange of data with other devices via the upper network 6 .

[0074] The USB controller 112 controls the exchange of data with the support device 400 via a USB connection. The support device 400 is detachably attached to the USB controller 112.

[0075] The memory card interface 114 is configured to allow a memory card 116 to be attached and detached, and allows data to be written to the memory card 116 and various data (user programs, trace data, etc.) to be read from the memory card 116.

[0076] The internal bus controller 120 is an interface for exchanging data with the I / O units 124-1, 124-2, . . . attached to the control device 100.

[0077] The field network controller 130 controls the exchange of data with other devices via the field network 2.

[0078] FIG. 3 shows an example of a configuration in which the necessary functions are provided by the processor 102 executing a program, but some or all of these provided functions may be implemented using dedicated hardware circuits (e.g., ASIC or FPGA).

[0079] (c2: Example of hardware configuration of display device 200) The display device 200 is called a Human Machine Interface (HMI) device, and may be implemented as a dedicated device, or may be realized using hardware that conforms to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). As an example, the display device 200 according to the present embodiment is realized by executing a program using hardware that conforms to a general-purpose architecture (for example, a general-purpose personal computer).

[0080] Fig. 4 is a block diagram showing an example of the hardware configuration of a display device 200 according to this embodiment. Referring to Fig. 4, the display device 200 includes a processor 202 such as a CPU or an MPU, an optical drive 204, a main memory 206, a storage 208, a USB controller 212, a network controller 214, an input unit 216, and a display unit 218. These components are connected via a bus 220.

[0081] The processor 202 reads out various programs stored in the storage 208, expands them in the main memory 206, and executes them to realize various processes.

[0082] The storage 208 includes a non-volatile storage medium such as a hard disk drive (HDD) or a flash solid state drive (SSD), etc. The storage 208 stores information including a system program 222 including an OS, a maintenance program 223, a first change program 226 for implementing a first change process described below, a second change program 228 for implementing a second change process described below, an event handling database 230, and a history database 235.

[0083] The maintenance program 223 includes an operation program 3A and a database creation program 3B. When the operation program 3A is executed, the processor 202 operates (utilizes) the event handling database 230 to provide support information (answer 74) for dealing with the event 11, as shown in Fig. 1. When the database creation program 3B is executed, the processor 202 performs the generation process and the expansion process of the event handling database 230, as shown in Figs. 13 to 16, which will be described later.

[0084] The display device 200 has an optical drive 204, and a program stored in a recording medium 205 (e.g., an optical recording medium such as a Digital Versatile Disc (DVD)) that non-transiently stores a computer-readable program is read by the optical drive 204 and installed in storage 208, etc.

[0085] Various programs executed by display device 200 may be installed via computer-readable recording medium 205, or may be installed by downloading from a server device or the like on network 6. Furthermore, the functions provided by display device 200 according to this embodiment may be realized by using some of the modules provided by the OS.

[0086] The USB controller 212 controls data transfer to and from the control device 100 via a USB connection. The network controller 214 controls data transfer to and from other devices via any network, including the network 6.

[0087] The input unit 216 is made up of a keyboard, a mouse, etc., and accepts user operations. The display unit 218 is made up of a display, various indicators, a printer, etc., and outputs information including the processing results from the processor 202.

[0088] FIG. 4 shows an example of a configuration in which the necessary functions are provided by the processor 202 executing a program, but some or all of these provided functions may be implemented using dedicated hardware circuits (e.g., ASIC or FPGA).

[0089] (c3: Example of hardware configuration of server device 300) 2 can be realized by using, for example, a computer such as a general-purpose file server or database server. The hardware configuration of such a device is well known, and therefore will not be described in detail here.

[0090] (c4: Hardware Configuration Example of Support Device 400) The support device 400 according to the present embodiment provides functions such as development and debugging of user programs executed by the control device 100. Further, the support device 400 may be realized using hardware conforming to a general-purpose architecture (for example, based on a general-purpose personal computer).

[0091] The server device 300 or the support device 400 adopts the same hardware configuration as the display device 200 shown in FIG. 4 described above, and a program for realizing the function of the display device 200 is installed in the server device 300 or the support device 400. In this case, in the server device 300 or the support device 400, support information (answer 74) for dealing with events can be provided by executing the operation program 3A, and the generation process or expansion process of the event handling database 230 can be carried out by executing the database generation program 3B.

[0092] <Search Using Vectors>[ The present embodiment can be applied, for example, to a mother factory and satellite factories as shown in FIG. 14 described later. The satellite factory mainly operates the event handling database 230 to deal with events occurring in the control system 1A of the satellite factory. The mother factory manages the event handling database 230 operated in the satellite factory and provides it to the satellite factory. Data is exchanged between the information processing systems 1 of different factories via the network 6. The exchange of data between factories may be carried out via the recording medium 205.

[0093] 5 is a diagram schematically showing a search process for documents 232 based on vectors according to an embodiment of the present invention. Referring to FIG. 5, documents 232 include document 23A, which is a maintenance activity manual created (managed) at a mother factory, document 23B, which is a troubleshooting manual used at a satellite factory that is a factory separate from the mother factory, and document 23C, which corresponds to the maintenance manual for control system 1A at the satellite factory. Similar identifiers are written for the same events and the same models in the maintenance activity manual, troubleshooting manual, and maintenance manual.

[0094] In FIG. 5, documents 23A, 23B, and 23C each include a second sentence 8 that describes how to deal with a certain event. Vectorization unit 51 vectorizes second sentence 8 of each of documents 23A, 23B, and 23C to obtain vector 9. Vectorization unit 51 associates the acquired vector 9 with second sentence 8 of each of documents 23A, 23B, and 23C, and stores the acquired vector 9 in event handling database 230. In FIG. 5, vectors f1, f2, and f3 are shown as vectors 9 associated with second sentence 8 of documents 23A, 23B, and 23C, respectively.

[0095] 5 is operated, a search is performed using the similarity calculation unit 52 of the information processing system 1. More specifically, when a first sentence 7 is acquired via the reception unit 26 and generation unit 27 of the event handling database 230, the similarity calculation unit 52 calculates a similarity that represents the similarity between the first sentence 7 and each second sentence 8 that constitutes the document 232 of the event handling database 230. The search unit 29 searches for one or more second sentences 8 among the multiple second sentences 8 that correspond to a similarity that satisfies a predetermined condition. The one or more searched second sentences 8 are set as input (setting sentences 72) of the language model 70.

[0096] The search conditions used by the search unit 29 are not limited. For example, the search unit 29 searches for one or more second sentences 8 corresponding to a similarity exceeding a threshold value among a plurality of second sentences 8, or searches for one or more second sentences 8 corresponding to a similarity within a predetermined range among a plurality of second sentences 8. Such a predetermined range indicates the top X percent (where 0 < X < 100) when ranking a plurality of second sentences 8 based on similarity, or the top Y (where Y is an integer such as 1, 2, 3,...).

[0097] When the similarity calculation unit 52 calculates the similarity, the vectorization unit 53 included in the information processing system 1 performs vectorization on the first sentence 7 to obtain a vector 19. The similarity calculation unit 52 calculates the similarity between the vector 19 of the first sentence 7 and the second vectors 9 associated with each second sentence 8 in the event handling database 230. The search unit 29 searches for one or more second sentences 8 associated with one or more vectors 9 corresponding to a similarity that satisfies the above-mentioned predetermined conditions among the plurality of second sentences 8 in the event handling database 230.

[0098] Conventionally, in order to handle an event, for example, a manual was searched based only on an error code for identifying the event. However, since the manufacturers of the facilities and devices of the control system 1A may be different, the manual includes manuals created by each manufacturer and maintenance manuals created by users. Among these manuals, the keywords (words) included in the sentences (second sentences 8) described in the manuals are not unified. That is, there are fluctuations in the notation of words indicating the same meaning among the manuals. Therefore, when searching for a manual based only on an error code, it was difficult for the user to find a description of an appropriate countermeasure from the manual.

[0099] In contrast, in the present embodiment, by performing vectorization, words (sentences) indicating the same meaning are associated with highly similar vectors, and based on the similarity of the vectors, the second sentence 8 is extracted from the manual document 232. As a result, the information processing system 1 can extract reliable support information from the document 232 with fluctuations in the expression of sentences and words for the question 73 asking about the handling of events and provide it to the user.

[0100] <E. Configuration example of the event handling database 230> FIG. 6 is a diagram schematically showing an example of the configuration of the event handling database 230 according to an embodiment of the present invention. The configuration of FIG. 6 shows the relationship between the second sentence 8 shown in FIG. 5 and the vector 9 associated with the second sentence 8, for example, using a record.

[0101] Referring to FIG. 6, the event handling database 230 includes documents 23A, 23B, and 23C and a plurality of records. Each record corresponds to the second sentence 8. The record includes an identifier 231 of an event whose handling is described in the corresponding second sentence 8, an index used to refer to the record, and a vector 9. Further, the record is associated with the second sentence 8 by, for example, a pointer included in the index. As a result, the vector 9 of the record is associated with the second sentence 8.

[0102] The second sentence 8 associated with the record includes a description of the handling of the event (or event candidate) of the record and the description position. The description position is indicated by, for example, the page number of the document 232. Paying attention to the fact that one or more second sentences 8 are set in the setting sentence 72 of the input of the language model 70, the prompt engine 31 generates a prompt having an instruction to include the page number. By setting such a prompt in the input of the language model 70, the page number can be included in the related sentence indicated by the answer 74 of the language model 70. The page number included in the answer 74 identifies the location (page) in the document 232 where the sentence describing the handling indicated by the answer 74 is described.

[0103] <F. Display example> 7 is a diagram showing an example of a display on information display unit 280 according to the present embodiment. Referring to Fig. 7, display unit 280 displays information based on records searched from history database 235 via history management unit 32.

[0104] More specifically, the display unit 280 displays a prompt 71 including a question 73 that is an input to the language model 70, and an answer 74 that is an output corresponding to the input. The display unit 280 further includes an identifier 79 of an event corresponding to the question 73, details 80 that specifically indicate the event ("communication error in connected device"), sentences 33A and 33B, a similarity 76 between these sentences, and an icon 4 that is an object configured to be operable (clickable, touchable, etc.) by the user using the input unit 216.

[0105] Sentences 33A and 33B indicate sentences set as input set sentences 72 of language model 70. That is, sentences 33A and 33B indicate second sentences 8 linked to vectors 9 determined to have similarity 76 that satisfies predetermined conditions.

[0106] Sentences 33A and 33B include the position where the corresponding second sentence 8 is written, for example, the page number of document 232. For example, sentence 33A is a sentence written on page 15 of document 23A, and sentence 33B is a sentence written on page 10 of document 23B. In this way, when the information processing system 1 displays support information for dealing with an event on display unit 218, the support information can include information indicating which page in which document answer 74 relates to the description.

[0107] Icon 4 includes icons 41, 42, and 43, which are objects that the user operates to evaluate response 74. When the user gives a positive evaluation of response 74, the user operates icon 41 or icon 42. When the user gives a negative evaluation, the user operates icon 43. For example, when the user can solve (recover from) an event by dealing with it according to response 74, the user operates icon 41 (referred to as the first positive icon 41). When the user cannot solve the event by dealing with it according to response 74 but evaluates it as a good response, the user operates icon 42 (referred to as the second positive icon 42). In contrast, when the user cannot solve the event by dealing with it according to response 74 and cannot evaluate it as a good response, the user operates icon 43 (referred to as the negative icon 43). The reception unit 26 receives an evaluation of response 74 based on a user operation on icon 4 via the input unit 216.

[0108] The information processing system 1 changes document 232 or vector 19 in the event handling database 230 according to the evaluation received by the reception unit 26.

[0109] <G. First change process> FIG. 8 is a flowchart showing an example of the first change process according to an embodiment of the present invention. The processor 202 executes the first change program 226 to perform the first change process as the "first change unit". The processor 202 determines whether the evaluation received from the user for response 74 is a negative evaluation or a positive evaluation.

[0110] For example, in the information processing system 1 of the satellite factory, the process of FIG. 8 is performed. In FIG. 8, a user operation on the negative icon 43 for response 74 to question 73 is received (step S21). In response to determining that the received evaluation is a negative evaluation, the processor 202 acquires one or more second sentences 8 that most contributed to the response 74 (step S22). More specifically, the processor 202 searches (identifies) the set sentence 72 from the records in the history database 235 that have the response 74. One or more second sentences 8 indicated by the searched set sentence 72 are acquired.

[0111] The processor 202 searches for one or more second sentences 8 in the document 232 in the event handling database 230 based on the position 75 of the record searched in step S22. The processor 202 masks or deletes the searched one or more second sentences 8 or the vectors 9 linked to the second sentences 8 (step S23). In this way, when the evaluation is determined to be a negative evaluation, the first change unit performs a process of excluding the one or more second sentences 8 in the event handling database 230 from the search target of the search unit 29, and also performs a process of excluding the vectors linked to the second sentences 8 from the calculation target of the similarity calculation unit 52.

[0112] In the masking process, for example, an "invalid" flag is set in the header of the second sentence 8 to exclude it from the search target of the search unit 29, and the value 0 is set to all elements of the vector 9. In the deletion process, the second sentence 8 and the vector 9 are deleted from the event handling database 230.

[0113] After such a change is made to the event handling database 230, the processor 202 acquires the answer 74 in step S24. More specifically, the processor 202 receives the question 73 that is the same as the question for the answer 74 evaluated in step S21, and acquires the answer 74 for the question 73 (step S24).

[0114] Processor 202 acquires the user's evaluation of answer 74 acquired in step S24. Processor 202 determines whether the acquired evaluation is based on the operation of first positive icon 41 or second positive icon 42 (step S25). For the sake of explanation, it is assumed that the user operates first positive icon 41 (or second positive icon 42) for answer 74, but does not operate negative icon 43.

[0115] When the processor 202 determines that the second affirmative icon 42 has been operated for the answer 74 ( "the second affirmative icon 42 is operated" in step S25), it determines that a positive evaluation has been made based on the user operation, and performs the positive evaluation process (FIG. 9) (step S26).

[0116] When the processor 202 determines that the first affirmative icon 41 has been operated for the answer 74 and a positive evaluation has been made ( "the first affirmative icon 41 is operated" in step S25), the processor 202 transfers the information at position 75 about the second sentence 8 masked or deleted in step S23 to the information processing system 1 of the mother factory (step S28). More specifically, the processor 202 searches the history database 235 for the position 75, that is, the address, of the second sentence 8 masked or deleted in step S23, and transfers a request including the searched position 75.

[0117] Step S29 shows the process performed by the information processing system 1 of the mother factory. When the processor of the information processing system 1 of the mother factory receives a request including the position 75 from the information processing system 1 of the satellite factory, it searches the document 232 stored in the mother factory based on the position 75, and deletes one or more second sentences 8 at the position 75 according to the request (step S29). Thereby, the information processing system 1 can synchronize the document 232 of the mother factory with the document 232 of the satellite factory. Note that in step S29, the second sentence 8 indicated by the position 75 may be deleted when it is determined that the second sentence 8 satisfies a predetermined deletion criterion. For example, or when it is determined that a predetermined number of requests indicating the same position 75 are received from a plurality of satellite factories, the process of step S29 may be performed.

[0118] <H. Second Change Process> 9 is a flowchart showing an example of the second change process according to the embodiment of the present invention. Processor 202 executes second change program 228 to perform the second change process as a "second change unit." As the second change unit, processor 202 determines whether the received evaluation is a negative evaluation or a positive evaluation based on a user operation on answer 74.

[0119] For example, the process of Fig. 9 is performed in the information processing system 1 of a satellite factory. In Fig. 9, a user operation on the second affirmative icon 42 is received for an answer 74 to a question 73, and it is determined that a positive evaluation has been made (step S30). The processor 202 generates a record having the evaluated answer 74 and information corresponding to the answer (information including the setting statement 72, the question 73, the position 75, and the similarity 76), and stores the record in the history database 235 (step S31).

[0120] When the user has dealt with the event in accordance with the response 74 and has resolved the event, the user operates the input unit 216 to input resolution (recovery) information to the information processing system 1. This resolution information includes the event identifier and information indicating the action (such as a work procedure) taken by the user to resolve the event.

[0121] The processor 202 receives the solution information from the user via the reception unit 26 (step S32) and adds the event and the countermeasure indicated by the received solution information to the document 232 in the event countermeasure database 230 of the satellite factory's control system 1A (step S33). In step S33, technical knowledge indicating the countermeasure implemented by the user for the event is added to, for example, the maintenance manual document 23C (or the troubleshooting manual document 23B) and the second sentence 8 corresponding to the event in the maintenance activity manual 23A, thereby updating the second sentence 8. The vector 9 linked to the pre-update second sentence 8 may be updated with a new vector 9 obtained by vectorizing the updated second sentence 8. This allows the manufacturer's maintenance activity manual 23A to be updated to include a description of the countermeasure implemented by the user when a positive evaluation is obtained from the user. The manufacturer can also provide the updated maintenance activity manual 23A and the event countermeasure database 230 generated based on the updated maintenance activity manual 23A to other users.

[0122] The processor 202 transfers the document 232 (documents 23A, 23B, and 23C) after the addition to the event handling database 230 to the information processing system 1 of the mother factory (step S34).

[0123] The information processing system 1 of the mother factory causes the vectorization unit 51 to vectorize the document 232 transferred from the satellite factory (step S35). In the vectorization, an event handling database 230 is generated in which a vector 9 is linked to each second sentence 8 constituting the document 232 transferred from the satellite factory. The processor 202 of the mother factory transfers the event handling database 230 generated by vectorization and a file containing the document 232 (documents 23A, 23B, and 23C) linked to each record of the event handling database 230 to the information processing system 1 of the satellite factory (step S36).

[0124] The processor 202 of the information processing system 1 of the satellite factory stores the file transferred from the mother factory in the storage 208 (step S37). As a result, the event handling database 230 and the document 232 of the satellite factory are updated to indicate the event handling database and the document transferred from the mother factory.

[0125] In this way, when the second modification unit determines that the evaluation is a positive evaluation, one or more second sentences 8 searched for as responses to the event in the event response database 230 are updated to include a description of the response taken by the user with reference to the answer 74.

[0126] The processor 202 of the information processing system 1 of the satellite factory receives the event 11 that has occurred in the control system 1A via the receiving unit 26 (step S38). The processor 202 outputs an answer 74 to a question 73 based on the event 11 (step S39). More specifically, the event handling database 230 is searched based on the event 11, and the question 73 for the event 11 and a setting statement 72 based on the search results are set as input to the language model 70. The processor 202 receives the answer 74 output from the language model 70 in response to the input, and causes the output unit 28 to output the answer 74.

[0127] When the user addresses and resolves the event based on the output answer 74, to indicate a positive evaluation, the user operates the first affirmative icon 41. The processor 202 accepts the operation of the first affirmative icon 41 via the accepting unit 26 (step S40).

[0128] Processor 202, as the second change unit, compares answer 74 that was given a positive evaluation in step S40 with an answer retrieved from history database 235, and detects differences between sentences constituting both answers based on the comparison results (step S41). More specifically, processor 202, as the history management unit 32, searches history database 235 for a record that stores a question similar to question 73 and a negative evaluation 77 based on the question 73 of answer 74 that was given a positive evaluation in step S40. Processor 202 compares the sentences constituting answer 74 that was given a positive evaluation with the sentences constituting the answer in the retrieved record, and detects differences indicating differences between the sentences based on the comparison results. These differences indicate sentences extracted from answer 74 that was given a positive evaluation in step S40.

[0129] The processor 202 transfers the difference information, including the difference statement and the position 75 contained in the record retrieved from the history database 235 in step S41, to the information processing system 1 of the mother factory (step S42).

[0130] The processor 202 of the information processing system 1 of the mother factory, as a second change unit, reflects the difference information transferred from the satellite factory in step S42 in the document 232 held by the mother factory (step S43). More specifically, in the document 232 managed by the mother factory, the second sentence 8 written on the page at the position 75 indicated by the difference information is edited to incorporate the sentence describing the answer 74 that was highly evaluated by the satellite factory. This makes it possible to update the second sentence 8 constituting the document 232 of the mother factory to indicate a more reliable way to resolve the event.

[0131] Fig. 10 is a diagram showing another example of a display according to the present embodiment. Unlike Fig. 7, display unit 218 in Fig. 10 displays a question 73 inquiring about how to deal with the event, and an answer 74 output from language model 70 in response to question 73.

[0132] FIG. 11 is a diagram schematically showing a part of the event handling database 230 according to the present embodiment. The information in the event handling database 230 of FIG. 11 includes an event, a description of the response to the event, and attached information indicating the type of operation related to the response. The description of the response includes an address 219 indicating the storage location of the second sentence 8.

[0133] <I. Flowchart> FIG. 12 is a flowchart of a process for operating the history database 235 according to the present embodiment. FIG. 12 shows the process performed by the processor 202 and is mainly realized by executing the operation program 3A.

[0134] Referring to FIG. 12, the processor 202 receives event information for identifying an event 11, which is information input to the computer of the display device 200 (step S12-1). Based on the received event information, the processor 202 generates a first sentence 7 for querying the response to the event specified by the event information (step S12-2). The processor 202 searches an event handling database 230 that stores a document 232 including a plurality of second sentences 8 describing the response to each of a plurality of event candidates that are candidates for events that can occur in the control system 1A (step S12-3). In this search, the processor 202 searches for one or more second sentences 8 describing the response to one or more event candidates from the plurality of second sentences 8 of the document 232 in the event handling database 230 based on the event 11 queried in the first sentence 7 generated in step S12-2 (step S12-4). Further, the processor 202 interacts with a language model 70 that outputs a response 74 indicating a relevant sentence related to the question 73 from the setting sentence 72 indicated by the input prompt 71 with the prompt 71 as an input (step S12-5). In this interaction, the processor 202 sets the query indicated by the generated first sentence 7 and the one or more second sentences 8 retrieved in the question 73 and the one or more setting sentences 72 of the input prompt 71 of the language model 70, respectively (step S12-6).

[0135] <J. Generation of Event Handling Database 230> Fig. 13 is a functional block diagram showing another application example of the information processing system according to the present embodiment. Fig. 13 shows an information processing system 1C in which a module for generating an event handling database 230 is implemented. The module of the information processing system 1C may be installed in the same device in which the information processing system 1 in Fig. 1 is installed.

[0136] 13, information processing system 1C includes a receiving unit 55 that receives input information for information processing system 1C, a database generation unit 50 that generates event handling database 230, and a storage unit 56 that stores event handling database 230. The input information received by receiving unit 55 includes document 232.

[0137] Document 232 corresponds to a so-called manual that describes how to deal with events that occur in control system 1A including the control device. More specifically, document 232 is made up of a plurality of second sentences 8 that describe how to deal with each of a plurality of event candidates that are candidate events.

[0138] The database generation unit 50 includes a vectorization unit 51 and an extension processing unit 35 (described later) that extends the event handling database 230 .

[0139] For each second sentence 8 constituting the document 232, the vectorization unit 51 generates a vector 9 indicating a distributed representation of the meaning of each of the one or more words constituting the sentence 8. The documents 232 on which the vectorization unit 51 performs vectorization include a maintenance activity manual document 23B, a troubleshooting manual document 23B, and a maintenance manual document 23C.

[0140] The database generation unit 50 of the information processing system 1C generates an event handling database 230 that includes a second sentence 8 describing the handling of the received document 232 and a vector 9 associated with the second sentence 8. The generated event handling database 230 is stored in the storage by the storage unit 56. When the event handling database 230 is used to obtain support information for handling an event that has occurred in the control system 1A, the user can obtain support information for handling by using both the information of the second sentence 8 describing the handling of the event handling database 230 and the vector 9 associated with the second sentence 8.

[0141] <K. Mother Factory and Satellite Factory> In this embodiment, as an example of the implementation of the information processing system 1 and the information processing system 1C, the information processing system 1C in FIG. 13 is implemented in the display device 200 of the mother factory, and the information processing system 1 in FIG. 1 is implemented in the display device 200 of the satellite factory. The control system 1A installed in the mother factory is maintained by a skilled user, and the control system 1A installed in the satellite factory is maintained by an unskilled user.

[0142] FIG. 14 is a diagram schematically showing the relationship between the mother factory and the satellite factory according to an embodiment of the present invention. In FIG. 14, the generation of the event handling database 230 is the responsibility of the information processing system 1C of the mother factory, and the information processing system 1 of the satellite factory operates the event handling database 230 transferred from the mother factory.

[0143] Referring to FIG. 14, in the maintenance manual document 23C of the event handling database 230 of the mother factory, descriptions of maintenance (events and their countermeasures, technical knowledge) performed by skilled workers are accumulated. The information processing system 1C of the mother factory generates the event handling database 230 based on the document 232 including the maintenance manual document 23C described by the skilled workers, and transfers the generated event handling database 230 to the information processing system 1 of the satellite factory. The information processing system 1 of the satellite factory stores the event handling database 230 transferred from the mother factory in the storage 208. Thereafter, the information processing system 1 of the satellite factory operates the event handling database 230 in the storage 208 to output support information for handling events. Unskilled users in the satellite factory can obtain the way of handling performed by skilled workers in the mother factory from the output support information. This merit leads to the improvement of the skills of users handling events.

[0144] <L. Service Processing of Event Handling Database 230> In FIG. 14, the generation and transfer of the event handling database 230 between the mother factory and the satellite factory are shown, but the exchange of the event handling database 230 is not limited to the case implemented between factories. For example, the exchange of the event handling database 230 may be implemented between the manufacturer of the control system 1A and the customer (user) who purchased the control system 1A. In this case of exchange, for example, as shown in FIG. 15, the manufacturer provides the customer with the service of generating and transferring the event handling database 230.

[0145] Figure 15 is a process flowchart for generating and transferring an event handling database 230 according to an embodiment of the present invention. In Figure 15, the processing steps of the manufacturer's information processing system 1C are indicated by dashed lines, and the processing steps of the customer's information processing system 1 are indicated by solid lines. The entities that perform the processing of each step in Figure 15 are processor 2020 of the manufacturer's information processing system 1C and processor 202 of the customer's information processing system 1, but for ease of explanation, the entities that perform the processing will be described as the "manufacturer" and the "customer."

[0146] 15, a manufacturer provides an event handling database 230 in a scene where a control system 1A is newly delivered to a customer. Referring to FIG. 15, the manufacturer introduces the event handling database 230, which stores documents 232 that have not yet been vectorized, into the customer's information processing system 1 (step S1). In step S1, the event handling database 230 is installed in the storage 208 of the information processing system 1 so as to be searchable.

[0147] The customer operates the event handling database 230 (step S2). During this operation, the customer adds the measures taken for the control system 1A to the maintenance manual document 23C, and the additions indicating the measures taken for the events are accumulated in the event handling database 230 (step S3). The document added in this step S3 is not limited to the maintenance manual document 23C. For example, if the customer connects equipment or devices purchased from a company other than the manufacturer to the control system 1A, information provided by that company can be added to the troubleshooting manual document 23B.

[0148] The processor 202 of the customer's information processing system 1 determines whether to accept a request to create the event handling database 230 based on the operation of the input unit 216 (step S4). If it is determined that the operation does not indicate a creation request (NO in step S4), the operation of step S2 continues (step S5).

[0149] When it is determined that the customer's operation indicates a creation request (YES in step S4), the customer information processing system 1 transfers the event handling database 230 in the storage 208 to the manufacturer information processing system 1C together with the creation request. The transfer of the event handling database 230 is transferred via the network 6 or transferred using the recording medium 205.

[0150] The database generation unit 50 of the manufacturer information processing system 1C generates an event handling database 230 according to the creation request (step SS7). More specifically, the vectorization unit 51 performs vectorization on the document 232 of the event handling database 230 transferred from the customer. The storage unit 56 stores the document 232 in a file and also stores the vector 9 associated with each second sentence 8 in the file. The event handling database 230 is configured to include this file.

[0151] The manufacturer information processing system 1C transfers the generated event handling database 230 (file) to the customer information processing system 1 (step S8). The customer information processing system 1 stores the event handling database 230 transferred from the manufacturer in the storage 208 (step S9). Thereby, the customer information processing system 1 can operate the event handling database 230 including the document 232 with the description of the handling for the customer control system 1A added thereto and the vector 9 associated with each second sentence 8 of the document 232.

[0152] After step S9, it returns to step S2, and the operation of the event handling database 230 installed in step S9 (step S2) is performed, and the handling performed during this operation is added to the document 232. Thereafter, the extension processing unit 35 of the manufacturer information processing system 1C generates an event handling database 230 based on the document 232 thus added (step S7). In step S7, the event handling database 230 used by the customer is extended based on the above addition.

[0153] <M. Other service processing of the event handling database 230> The scene in which the event handling database 230 is exchanged between the manufacturer and the customer is not limited to the scene in which a control system 1A is newly delivered to the customer (FIG. 15). For example, as shown in FIG. 16, the manufacturer may provide the event handling database 230 to a control system 1A that is already operating at the customer without an event handling database. The already operating control system 1A may also include a system installed at the customer by a company other than the manufacturer.

[0154] During operation, the customer's information processing system 1 accumulates the descriptions of the document 232 in the storage 208 (step S10). More specifically, while the control system 1A is in operation, for example, the descriptions of the maintenance activity document 23A, the troubleshooting document 23B, and the maintenance manual document 23C in the storage 208 are changed (such as by adding technical knowledge) by the customer's operation.

[0155] 16 is a flowchart showing another process for generating and transferring an event handling database 230 according to an embodiment of the present invention. In FIG. 16, the manufacturer's information processing system 1C instructs the customer's information processing system 1 how to process a document 232 (step S11). This instruction on the processing method includes a specification of the file format of the document 232, etc., in order to create the event handling database 230 from the document 232.

[0156] The client's information processing system 1 converts the document 232 in the storage 208 into a format specified by the manufacturer and formats the data (step S12).

[0157] Thereafter, in steps S13 to S16, the customer and the manufacturer exchange information about the event handling database 230. The processing in steps S13 to S16 is similar to the processing in steps S6 to S9, and therefore description thereof will not be repeated.

[0158] After the process of step S16, the same processes as steps S2 to S9 in FIG. 15 may be performed. As a result, the extension processing unit 35 of the manufacturer's information processing system 1C can extend the event handling database 230 used by the customer, similarly to the process in FIG. 15.

[0159] In the scenario where the above-described extension processing unit 35 is used, every time the document 232 (the document 232 with additional notes) is received, the generation of the event handling database 230 is performed based on the received document 232. Thus, the generation of the event handling database 230 is repeated multiple times. When the extension processing unit 35 performs the generation (extension) process of the event handling database 230 over such multiple times, it compares the document 232 stored for use in the previous generation (extension) with the document 232 to be used for the current generation (extension). The extension processing unit 35 extracts one or more sentences (the second sentence 8) corresponding to the difference between the two documents indicated by the comparison result from both documents 232, performs vectorization only on the extracted sentences, and associates the vector 9 with the different sentences and stores them, thereby extending the event handling database 230.

[0160] <N. Processing flowchart> FIG. 17 is a flowchart of the process for generating the event handling database 230 according to the present embodiment. FIG. 17 shows the process performed by the processor 202 and is mainly realized by executing the database generation program 3B.

[0161] 17, the processor 202 receives input information from the computer (display device 200) (step S17-1). The input information includes a document 232 composed of one or more sentences describing how to deal with each of a plurality of events that may occur in the control system 1A including the control device. For each sentence in the document received in step S17-1, the processor 202 generates a vector 19 indicating a distributed representation of the meaning of each of the one or more words that make up the sentence (step S17-2). The processor 202 stores the document 232 in a memory unit (storage 208 or event handling database 230), and associates the vector 19 generated for each second sentence 8 that makes up the document with the second sentence 8 and stores the vector 19 in the storage (step S17-3).

[0162] 17 is described as being performed by a computer such as the display device 200, but the computer that performs the process is not limited to the display device 200 and may be, for example, the support device 400, the server device 300, or another computer. The other computer exchanges the above input information and the generated event handling database 230 with the computer such as the display device 200 via a network or a portable storage medium. In this way, the information processing system that operates (utilizes) the event handling database 230 to provide support information (answer 74) for handling the event 11 and the information processing system that generates the event handling database 230 may be implemented on the same computer or on different computers.

[0163] <Additional Notes> The present embodiment as described above includes the following technical idea. [Configuration 1] An information processing system (1, 200, 300, 400) that supports handling of events in a control system (1A) including a control device, a reception unit (26) that receives information input to the information processing system; the information received by the reception unit includes event information that identifies the event; a generating unit (27) that generates a first sentence (7) including an inquiry about how to deal with the event based on the event information received by the receiving unit; a storage unit (230) for storing a document including one or more second sentences (8) describing how to deal with each of the plurality of events that may occur in the control system; a search unit (29) that searches the storage unit for the one or more second sentences corresponding to the event indicated by the query of the first sentence based on the first sentence generated by the generation unit; a model interface (30) that interacts with a language model (70) that receives a prompt (71) including a question (73) and a setting sentence (72) as input and outputs a related sentence (74) that is related to the question from the setting sentence of the input prompt; an information processing system that sets the first sentence query and the one or more second sentences searched by the search unit as the prompt question and the setting sentence of the input of the language model, respectively; [Configuration 2] a similarity calculation unit (52) that calculates a similarity between the first sentence and the one or more second sentences corresponding to each of the plurality of events in the storage unit, The information processing system according to configuration 1, wherein the search unit searches for one or more second sentences corresponding to the similarity that satisfies a predetermined condition among the one or more second sentences corresponding to each of the events. [Configuration 3] The information processing system acquires, for the first sentence, a first vector (19) indicating a distributed representation of the meaning of each of one or more words included in the first sentence; The storage unit further stores a second vector (9) indicating a distributed representation of the meaning of each of one or more words included in each of the one or more second sentences corresponding to each of the events, in association with the one or more second sentences; The similarity calculation unit The information processing system according to configuration 2, further comprising: calculating a similarity between the first vector and a second vector linked to each of the second sentences in the storage unit. [Configuration 4] 4. The information processing system according to configuration 3, wherein the information received by the receiving unit includes an evaluation (4) of the related sentence output from the language model. [Configuration 5] The information processing system includes: The information processing system of configuration 4 further comprises a modification unit that modifies a second vector associated with the one or more second sentences in the storage unit set as the input of the language model based on the evaluation. [Configuration 6] The change unit The information processing system of configuration 5 further includes a first change unit (226) that, when it is determined that the evaluation is a negative evaluation, performs a process of excluding the one or more second sentences in the storage unit from the search targets of the search unit. [Configuration 7] the information received by the receiving unit includes information indicating a response to the event that has been taken by the user; The change unit The information processing system of configuration 5 or 6 further includes a second modification unit (228) that, when it is determined that the evaluation is a positive evaluation, updates the one or more second sentences in the storage unit that describe the response to the event using information indicating the response received by the reception unit. [Configuration 8] The first change unit further The information processing system of configuration 6, wherein when it is determined that the evaluation is a negative evaluation, a process is performed to exclude the second vector linked to the one or more second sentences set in the setting sentence of the input prompt of the language model from the calculation target of the similarity calculation unit. [Configuration 9] 2. The information processing system according to configuration 1, further comprising a model execution unit that executes the language model. [Configuration 10] A computer-implemented method (300, 200, 400) for assisting in handling events in a control system (1A) including a control device, comprising: A step (S12-1) of accepting information input to the computer; the information received in the receiving step includes event information identifying the event; a step (S12-2) of generating a first sentence including an inquiry about how to deal with the event based on the received event information; and (S12-3) searching a storage unit for storing documents including one or more second sentences describing how to deal with each of the plurality of events that may occur in the control system, The searching step includes: a step (S12-4) of searching the storage unit for the one or more second sentences corresponding to the event indicated by the query of the first sentence based on the first sentence generated in the generating step; The method further comprises: a step (S12-5) of interacting with a language model that receives a prompt including a question and a setting sentence as input and outputs a related sentence that is relevant to the question from the setting sentence of the input prompt; The method includes a step (S12-6) of setting the first sentence query and the retrieved one or more second sentences as the prompt question and the setting sentence, respectively, of the input of the language model. [Configuration 11] A program (3A) that causes a computer to carry out the method described in configuration 10.

[0164] The present embodiment as described above further includes the following technical idea. [Configuration 12] An information processing system (1C) includes a reception unit (55) that receives input information for the information processing system, the input information including a document (232) consisting of one or more sentences that describe how to deal with each of a plurality of events that may occur in a control system (1A) including a control device, and the information processing system further includes a vector generation unit (51) that generates, for each sentence (8) that constitutes the document received by the reception unit, a vector (19) that indicates a distributed representation of the meaning of each of one or more words that constitute the sentence, and a storage unit (56) that stores the document in a memory unit (208, 230) and associates the vector generated for each sentence that constitutes the document with the vector and stores the vector in the memory unit. [Configuration 13] 13. The information processing system according to configuration 12, wherein the vector generation unit generates the vector for each document received by the reception unit. [Configuration 14] The vector generation unit further 14. The information processing system of claim 13, wherein when the document is received, differences between the received document and previously received documents are extracted, and the vector is generated for sentences corresponding to the extracted differences. [Configuration 15] the input information received by the receiving unit includes event information that identifies the event; a generation unit (27) that generates a statement inquiring about how to deal with the event based on the event information received by the reception unit; a vector generation unit (53) that generates a vector indicating a distributed representation of the meaning of each of one or more words that make up the generated sentence; a search unit (29) that searches the storage unit for one or more sentences associated with a vector corresponding to a similarity that satisfies a predetermined condition with respect to the vector of the query sentence generated by the vector generation unit, based on the vector of the query sentence; a model interface (30) that interacts with a language model (70) that receives a prompt (71) including a question (73) and a setting sentence (72) as input and outputs a related sentence (74) that is related to the question from the setting sentence of the input prompt; The information processing system according to any one of configurations 12 to 14, wherein the query of the query sentence and the one or more sentences searched by the search unit are set as the prompt question and setting sentence of the input of the language model, respectively.

[0165] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the description of the above embodiments, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0166] 1,1C Information processing system, 1A Control system, 1B Network system, 2 Field network, 3A Operation program, 3B Database generation program, 4,41,42,43 Icon, 6 Upper network, 7 First sentence, 8 Second sentence, 9,19 Vector, 10 Device, 11 Event, 23A,23B,23C,232 Document, 26,55 Reception unit, 27,827 Generation unit, 28 Output unit, 29 Search unit, 30 Model interface, 31 Prompt engine, 32 History management unit, 34 Event log, 35 Extended processing unit, 36 Field data, 38 User program, 39 Event detection program, 50 Database generation unit, 51 Vectorization unit, 52 Similarity calculation unit, 56 Storage unit, 61 Gateway, 70 Language model, 71 Prompt, 72 Configuration statement, 73 Question, 74 Answer, 75 Location, 76 Similarity, 77 Evaluation, 100 control device, 102, 202, 2020 processor, 104 chipset, 106, 206 main memory, 108, 208 storage, 110 upper network controller, 112, 212 USB controller, 114 memory card interface, 116 memory card, 120 internal bus controller, 130 field network controller, 200 display device, 204 optical drive, 205 recording medium, 214 network controller, 216 input unit, 218, 280 display unit, 220 bus, 222 system program, 223 maintenance program, 226 first change program, 228 second change program, 230 event handling database, 235 history database, 300 server device, 400 support device.

Claims

1. An information processing system that supports handling of events in a control system including a control device, a reception unit that receives information input to the information processing system, the information received by the reception unit includes event information that identifies the event; a generating unit that generates a first sentence including an inquiry about how to deal with the event based on the event information received by the receiving unit; a storage unit that stores a document including, for each of a plurality of events that may occur in the control system, one or more second sentences that describe how to deal with the event; a search unit that searches the storage unit for the one or more second sentences corresponding to the event indicated by the query of the first sentence based on the first sentence generated by the generation unit; a model interface that interacts with a language model that receives a prompt including a question and a setting sentence as input and outputs a related sentence that is related to the question from the setting sentence of the input prompt; An information processing system that sets the first sentence query and the one or more second sentences searched by the search unit as the prompt question and the setting sentence of the input of the language model, respectively.

2. a similarity calculation unit that calculates a similarity between the first sentence and the one or more second sentences corresponding to each of the plurality of events in the storage unit, The information processing system according to claim 1 , wherein the search unit searches for one or more second sentences corresponding to the similarity that satisfies a predetermined condition from among the one or more second sentences corresponding to each of the events.

3. the information processing system acquires, for the first sentence, a first vector indicating a distributed representation of the meaning of each of one or more words included in the first sentence; The storage unit further associates a second vector indicating a distributed representation of the meaning of each of one or more words included in each of the one or more second sentences corresponding to each of the events with the second vector, and stores the second vector; The similarity calculation unit The information processing system according to claim 2 , further comprising: calculating a similarity between the first vector and a second vector linked to each of the second sentences in the storage unit.

4. The information processing system according to claim 3 , wherein the information received by the receiving unit includes an evaluation of the related sentence output from the language model.

5. The information processing system includes: The information processing system according to claim 4 , further comprising a modification unit that modifies a second vector associated with the one or more second sentences in the storage unit set in the input of the language model based on the evaluation.

6. The change unit The information processing system according to claim 5 , further comprising a first change unit that, when it is determined that the evaluation is a negative evaluation, performs a process of excluding the one or more second sentences in the storage unit from the search targets of the search unit.

7. the information received by the receiving unit includes information indicating a response to the event that has been taken by the user; The change unit 7. The information processing system of claim 5, further comprising a second modification unit that, when it is determined that the evaluation is a positive evaluation, updates the one or more second sentences in the storage unit that describe the response to the event using information indicating the response received by the reception unit.

8. The first change unit further 7. The information processing system according to claim 6, wherein when it is determined that the evaluation is a negative evaluation, a process is performed in which the second vector linked to the one or more second sentences set in the setting sentence of the input prompt of the language model is excluded from the calculation target of the similarity calculation unit.

9. The information processing system according to claim 1 , further comprising a model execution unit that executes the language model.

10. 1. A computer-implemented method for assisting in responding to an event in a control system including a controller, comprising: accepting information input to the computer; the information received in the receiving step includes event information identifying the event; generating a first sentence including an inquiry about how to deal with the event based on the received event information; and searching a storage unit for storing a document including one or more second sentences describing a response to each of the plurality of events that may occur in the control system, The searching step includes: a step of searching, based on the first sentence generated in the generating step, for the one or more second sentences corresponding to an event indicated by a query of the first sentence from the storage unit; The method further comprises: a step of interacting with a language model that receives a prompt including a question and a setting sentence as input and outputs a related sentence that is relevant to the question from the setting sentence of the input prompt; The method includes setting the first sentence query and the retrieved one or more second sentences as the prompt question and the setting sentence, respectively, of the input of the language model.

11. A program causing a computer to execute the method according to claim 10.

Citation Information

Patent Citations

  • Work support system, information processing device, and work support method

    JP2020129161A