Information processing system, method, and program

The information processing system addresses the inefficiency of manual searches by vectorizing event handling documents and using a language model to provide quick and customized support for control system abnormalities.

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

Patent Information

Application Number
JP2024012007
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 lack the ability to manage information on how to handle events in control systems in a customized manner, requiring manual searches and inquiries for resolving abnormalities, which is inefficient and time-consuming.

Method used

An information processing system that receives documents describing event responses, generates word and sentence vectors, and stores them for customized event handling information, utilizing a language model to provide relevant support information.

Benefits of technology

Enables efficient and diverse access to customized event handling information, reducing time and cost by leveraging vectorized documents and a language model for quick response retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025117262000001_ABST
    Figure 2025117262000001_ABST
Patent Text Reader

Abstract

To provide an information processing system, a method, and a program that diversify information available for identifying a measure to deal with an event.SOLUTION: A system accepts input information for a system. The input information includes a document composed of one or more sentences describing a measure to deal with each of a plurality of events that may occur in a control system, including a control unit. The system generates, for each sentence that makes up the accepted document, a vector that represents distributed expression of the meaning of each of one or more words that make up the sentences. The system stores the document in a storage unit, and also stores a vector generated for each sentence that constitutes the document, linking the vector to the sentence.SELECTED DRAWING: Figure 13
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] Meanwhile, workers obtain the information necessary to identify abnormalities by operating the equipment that makes up the control system of a production line, etc., themselves. They then need to understand the details of the abnormality and the measures to resolve it by referring to manuals or inquiring with the manufacturer's personnel. Some of these measures depend on the control system. Therefore, there was a demand for managing the information that identifies the measures as information customized for each on-site control system. [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 can manage information that specifies how to deal with an event as information customized for each control system. [Means for solving the problem]

[0006] An information processing system according to the present disclosure includes a reception unit that receives input information for the information processing system. The input information includes a document composed of one or more sentences that describe, for each of a plurality of events that may occur in a control system including a control device, how to deal with the event. The information processing system further includes a vector generation unit that generates, for each sentence that constitutes the document received by the reception unit, a vector that indicates a distributed representation of the meaning of each of one or more words that constitute the sentence, and a storage unit that stores the document in a memory unit and associates the vector generated for each sentence that constitutes the document with the vector that is stored in the memory unit.

[0007] In the above disclosure, the input information received by the information processing system includes input information for each control system, i.e., a document describing how to deal with events that may occur depending on the control system. Therefore, the storage unit can manage the vectors and documents, which are information for specifying how to deal with events, as information customized for each control system.

[0008] Furthermore, for a document consisting of one or more sentences describing a response to an event, each sentence that makes up the document is linked to a vector that indicates a distributed representation of the meaning of each of one or more words in the sentence. Therefore, when the memory unit is searched to identify a response to an event, both the sentence in the document describing the response and the vector linked to the sentence can be obtained from the memory unit, so the information used to identify the response can be more diverse than when only sentences are searched from a document.

[0009] In the above disclosure, each time the receiving unit receives a document of input information, the vector generation unit generates a vector for the received document.

[0010] According to the above disclosure, each time an information processing system receives a document, it stores the document in a memory unit, and can associate each sentence that makes up the document with a vector generated for that sentence and store the associated sentence in the memory unit.

[0011] Furthermore, according to the above disclosure, it is possible to use the storage unit to manage manuals containing information for identifying how to deal with events. For example, when creating manuals, a manufacturer that provides customers with devices that constitute control systems or programmable logic controllers (PLCs) can use the storage unit to add information to the manuals. The manufacturer can use this opportunity to add information obtained from a customer to the manual and provide the updated manual to other customers.

[0012] In the above disclosure, the vector generation unit further extracts, when a document is received, the differences between the received document and previously received documents, and generates the above vector for the sentence corresponding to the extracted differences.

[0013] According to the above disclosure, the vector generation unit generates vectors for sentences corresponding to the differences between the accepted document and previously accepted documents, thereby reducing the cost (load, time) of the vector generation process.

[0014] In the above disclosure, the input information received by the reception unit includes event information indicating the event, and the information processing system further includes: a vector generation unit that generates a vector indicating a distributed representation of the meaning of one or more words that constitute a sentence based on the event information received by the reception unit, the sentence inquiring about how to deal with the event; a search unit that searches a memory unit for one or more sentences linked to a vector whose similarity to the vector generated by the vector generation unit exceeds a threshold, based on the vector of the query sentence; 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, and the model interface sets the query of the query sentence and one or more sentences searched by the search unit to the question and setting sentence of the prompt that are input to the language model, respectively.

[0015] According to the above disclosure, when a query regarding how to deal with an event is received, one or more sentences linked to vectors similar to a vector generated for the query sentence, the vector having a similarity exceeding a threshold, are searched from a document in a storage unit. Related sentences related to the one or more sentences are obtained using a language model. Therefore, to obtain information regarding how to deal with an event from a document, both the sentences and the vectors linked to the sentences can be used.

[0016] In the above disclosure, the information processing system further includes a model execution unit that executes the above language model. According to this disclosure, the language model can be provided inside the information processing system.

[0017] A method implemented by a computer according to the present disclosure includes a step of accepting input information for the computer, the input information including a document consisting of one or more sentences describing how to deal with each of a plurality of events that may occur in a control system including a control device, and the method further includes a step of generating, for each sentence accepted in the accepting step, a vector indicating a distributed representation of the meaning of each of the one or more words constituting the sentence, storing the document in a memory unit, and linking the vector generated for each sentence constituting the document to each of the sentences constituting the document and storing the vector in the memory unit.

[0018] The present disclosure provides a program that causes a computer to execute the above method. [Effects of the Invention]

[0019] According to the present disclosure, information specifying how to deal with an event can be managed as information customized for each control system. [Brief explanation of the drawings]

[0020] [Figure 1] FIG. 10 is a functional block diagram showing another application example of the information processing system according to the present embodiment. [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. 1 is a functional block diagram showing an application example of an information processing system according to an embodiment of the present invention. [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

[0021] 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.

[0022] (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.

[0023] 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.

[0024] 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.

[0025] 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 unit string separated by periods, or a character string such as a paragraph made up of multiple unit strings.

[0026] "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).

[0027] "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.

[0028] 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.

[0029] "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.

[0030] The "Troubleshooting Manual" is a document that includes events indicating problems (troubles) that occur (or may occur) in the control system and descriptions of countermeasures for those events. When a user of the control system addresses a trouble, the user can describe this event and the countermeasure in the "Troubleshooting Manual". The "Troubleshooting Manual" is an example of "technical knowledge".

[0031] The "Maintenance Manual" refers to a document that describes maintenance (countermeasures) for each event implemented by the user for the control system. The "Maintenance Manual" is an example of "technical knowledge".

[0032] <A. Application Example> FIG. 13 is a functional block diagram showing an application example of the information processing system according to the present embodiment. In this application example, a module for generating an event handling database used to provide support information for a user to address events occurring in the control system is shown. In FIG. 13, an information processing system 1C in which these modules are implemented is shown. The modules of the information processing system 1C may be mounted on the same device as the device on which the information processing system 1 of FIG. 1 described later is mounted.

[0033] Referring to FIG. 13, the information processing system 1C includes a reception unit 55 that receives input information for the information processing system 1C, a database generation unit 50 that generates an event handling database 230, and a storage unit 56 that stores the event handling database 230. The input information received by the reception unit 55 includes a document 232.

[0034] The document 232 corresponds to a so-called manual that describes countermeasures for events occurring in a control system 1A including a control device. More specifically, the document 232 is composed of a plurality of second sentences 8 that describe countermeasures for each of a plurality of event candidates that are event candidates.

[0035] 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.

[0036] The vectorization unit 51 generates a vector 9 indicating the distributed representation of the meaning of each of the one or more words constituting the second sentence 8 that constitutes the document 232. The document 232 for which the vectorization unit 51 performs vectorization includes the document 23B of the maintenance activity manual, the document 23B of the troubleshooting manual, and the document 23C of the maintenance manual.

[0037] The database generation unit 50 of the information processing system 1C generates an event handling database 230 including the second sentence 8 describing the handling of the received document 232 and the 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 occurring 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.

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

[0039] In FIG. 1, the information processing system 1 according to the present embodiment communicates with the control system 1A of the FA 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 assisting the user of the control system 1A in performing a handling operation for an event 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 in a stand-alone manner.

[0040] The information processing system 1 has modules realized by hardware and software implemented in a computer. These modules include a reception unit 26 that receives information input to the information processing system 1, an output unit 28 that outputs information from the information processing system 1 to an external device such as a display unit 218, an event handling database 230 that mainly includes a non-volatile storage medium, a search unit 29 that searches for information in the event handling database 230, a generation unit 27, a model interface 30 that interacts with the language model 70, a prompt engine 31, and a history management unit 32 that manages the history database 235.

[0041] 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).

[0042] 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.

[0043] 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.

[0044] 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.

[0045] 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 that correspond to the event indicated by the query in the first sentence 7.

[0046] 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 .

[0047] 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).

[0048] 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.

[0049] 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.

[0050] 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.

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

[0052] Conventionally, the user (operator) had to spend a considerable amount of time obtaining information for dealing with events by referring to manuals or contacting the manufacturer's representatives. However, by operating the information processing system 1 that communicates with the language model 70, it becomes possible to grasp the support information for dealing with events at an early stage. The support information provided in this way is more useful information, especially for novice or unskilled operators.

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

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

[0055] The control device 100 cyclically executes control processing of a control target according to a user program prepared in advance.

[0056] The field network 2 may be, for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), or the like.

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

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

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

[0060] 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.

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

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

[0063] 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.

[0064] 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.

[0065] A gateway 61 is connected to the network 6. The gateway 61 includes a security gateway that detects unauthorized communications 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.

[0066] In this 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.

[0067] In this embodiment, the language model 70 is provided on an external network, but the language model 70 may be implemented in an information processing device connected to the network 6 such as the server device 300. Further, the language model 70 may be provided in a 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 assumed to be 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.).

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

[0069] (d1: Hardware Configuration Example of Control Device 100) FIG. 3 is a block diagram showing a hardware configuration example of the 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 a MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a storage 108, an upper 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.

[0070] The processor 102 reads out various programs stored in the storage 108, expands them in the main memory 106, and executes them to realize control according to the control target and various processes as described later. The chipset 104 realizes the processing of the entire control device 100 by controlling the processor 102 and each component.

[0071] 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.

[0072] 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.

[0073] 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.

[0074] 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.).

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

[0076] 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.

[0077] 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.

[0078] 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.

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

[0080] 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).

[0081] (d2: 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).

[0082] 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.

[0083] 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.

[0084] 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.

[0085] 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.

[0086] 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.

[0087] 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.

[0088] 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.

[0089] 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.

[0090] FIG. 4 shows a configuration example in which the functions necessary for the processor 202 to execute a program are provided. However, some or all of these provided functions may be implemented using a dedicated hardware circuit (e.g., ASIC or FPGA, etc.).

[0091] (d3: Hardware configuration example of server device 300) The server device 300 in FIG. 2 can be realized, for example, using a computer such as a general-purpose file server or a database server. Since the hardware configuration of such a device is well-known, a detailed description thereof will not be given here.

[0092] (d4: 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. Also, the support device 400 may be realized using hardware (e.g., based on a general-purpose personal computer) conforming to a general-purpose architecture.

[0093] The server device 300 or the support device 400 adopts a hardware configuration similar to that of the display device 200 shown in FIG. 4 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.

[0094] <E. Search using vectors> This embodiment can be applied, for example, to a mother factory and a satellite factory as shown in FIG. 14, which will be described later. The satellite factory mainly operates an event handling database 230 to handle events that occur 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 a network 6. Data exchange between factories may be performed via a recording medium 205.

[0095] 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.

[0096] 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.

[0097] When the event handling database 230 storing the vector 9 as shown in FIG. 5 is in operation, a search using the similarity calculation unit 52 of the information processing system 1 is performed. More specifically, when the first sentence 7 is acquired via the reception unit 26 and the generation unit 27 of the event handling database 230, the similarity calculation unit 52 calculates the similarity representing the similarity between the first sentence 7 and each second sentence 8 constituting the document 232 of the event handling database 230. The search unit 29 searches for one or more second sentences 8 corresponding to a similarity that satisfies a predetermined condition among the plurality of second sentences 8. The one or more searched second sentences 8 are set as the input (set sentence 72) of the language model 70.

[0098] 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 among the plurality of second sentences 8, or searches for one or more second sentences 8 corresponding to a similarity within a predetermined range among the plurality of second sentences 8. Such a predetermined range indicates the top X percent (where 0 < X < 100) or the top Y (where Y is an integer such as 1, 2, 3, ···) when the plurality of second sentences 8 are ranked based on similarity.

[0099] 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 the vector 19. The similarity calculation unit 52 calculates the similarity between the vector 19 of the first sentence 7 and the second vector 9 associated with each second sentence 8 of 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 condition among the plurality of second sentences 8 of the event handling database 230.

[0100] 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 sentence 8) described in the manuals are not unified. That is, there are fluctuations in the notation between the manuals for words indicating the same meaning. 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.

[0101] 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 document 232 of the manual. As a result, the information processing system 1 can extract reliable support information from the document 232 with fluctuations in the notation of sentences and words for the question 73 asking about the handling of the event and provide it to the user.

[0102] <F. Configuration example of the event handling database 230> FIG. 6 is a diagram schematically showing an example of the configuration of an 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.

[0103] Referring to FIG. 6, the event handling database 230 includes documents 23A, 23B, and 23C and a plurality of records. Each of the records 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 for referring 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.

[0104] 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.

[0105] <G. Display Example> FIG. 7 is a diagram showing a display example of the information display unit 280 according to the present embodiment. Referring to FIG. 7, the display unit 280 displays information based on records retrieved from the history database 235 via the history management unit 32.

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

[0107] Sentences 33A and 33B indicate sentences set in the setting sentence 72 of the input of the language model 70. That is, sentences 33A and 33B indicate the second sentence 8 associated with the vector 9 determined to have a similarity 76 satisfying a predetermined condition.

[0108] Texts 33A and 33B include the position where the corresponding second text 8 is described, for example, the page number of document 232. For example, text 33A is the text described on page 15 of document 23A, and text 33B is the text described on page 10 of document 23B. Thus, when the information processing system 1 displays support information for dealing with an event on the display unit 218, the support information can include information indicating which page description in which document the answer 74 is related to.

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

[0110] 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.

[0111] <H. 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 answer 74 is a negative evaluation or a positive evaluation.

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

[0113] 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.

[0114] 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.

[0115] 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).

[0116] 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 affirmative icon 41 or second affirmative icon 42 (step S25). For the sake of explanation, it is assumed that the user operates first affirmative icon 41 (or second affirmative icon 42) for answer 74, but does not operate negative icon 43.

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

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

[0119] 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 position 75 from the information processing system 1 of the satellite factory, it searches for document 232 stored in the mother factory based on position 75, and deletes one or more second sentences 8 at 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. In step S29, it may be deleted when it is determined that the second sentence 8 indicated by position 75 meets 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.

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

[0121] For example, the process of FIG. 9 is performed in the information processing system 1 of the satellite factory. In FIG. 9, a user operation on the second positive icon 42 for the answer 74 to the question 73 is received, 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 (information including the setting sentence 72, the question 73, the position 75, and the similarity 76) corresponding to the answer, and stores it in the history database 235 (step S31).

[0122] When the user can handle the event according to the answer 74 and solve the event, the user operates the input unit 216 to input the solution (recovery) information into the information processing system 1. This solution information includes information indicating the identifier of the event and the actions (such as work procedures) performed by the user to solve the event.

[0123] 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.

[0124] 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).

[0125] 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).

[0126] 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.

[0127] 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 implemented by the user with reference to the answer 74.

[0128] 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.

[0129] 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).

[0130] 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.

[0131] 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).

[0132] 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.

[0133] 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.

[0134] 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 handling of the event, and attached information indicating the type of operation related to the handling. The description of the handling includes an address 219 indicating the storage position of the second sentence 8.

[0135] <J. 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.

[0136] 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 handling of 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 handling of each of a plurality of event candidates, which 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 that describe the handling of 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 an answer 74 indicating a relevant sentence related to the question 73 from a 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).

[0137] <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.

[0138] FIG. 14 is a diagram schematically showing the relationship between the mother factory and the satellite factory according to the 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.

[0139] Referring to FIG. 14, in the maintenance manual document 23C included in the event handling database 230 of the mother factory, descriptions of maintenance (events and their countermeasures, technical knowledge) performed by skilled personnel 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 personnel, 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 and outputs support information for handling the event. An unskilled user in the satellite factory can obtain the way of handling performed by the skilled personnel in the mother factory from the output support information. This merit leads to an improvement in the skills of the users who handle the events.

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

[0141] 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."

[0142] 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.

[0143] 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.

[0144] 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).

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

[0146] The database generation unit 50 of the manufacturer's information processing system 1C generates the event handling database 230 in accordance with the creation request (step SS7). More specifically, the vectorization unit 51 vectorizes 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 linked to each second sentence 8 in the file. The event handling database 230 is configured to include this file.

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

[0148] After step S9, the process returns to step S2, and the operation of the event handling database 230 installed in step S9 (step S2) is carried out, and the handling performed during this operation is added to the document 232. Thereafter, the extension processing unit 35 of the manufacturer's information processing system 1C generates the 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.

[0149] <M. Other service processes of the event handling database 230> The scene of exchanging the event handling database 230 between the manufacturer and the customer is not limited to the scene of newly delivering the control system 1A to the customer (FIG. 15). For example, as shown in FIG. 16, the manufacturer may provide the event handling database 230 to the control system 1A that is already operating without an event handling database in the customer. The already operating control system 1A may include a system installed by a company different from the manufacturer for the customer.

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

[0151] 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.

[0152] 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).

[0153] 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.

[0154] After the processing of step S16, processing similar to steps S2 to S9 in Fig. 15 may be performed. This allows the extension processing unit 35 of the manufacturer's information processing system 1C to extend the event handling database 230 operated by the customer, similar to the processing of Fig. 15.

[0155] In a scenario in which the extension processing unit 35 is used, each time a document 232 (document 232 with an append) is received, the event handling database 230 is generated based on the received document 232. In this manner, 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 multiple times, it compares the document 232 that was used and stored in the previous generation (extension) with the document 232 to be used for the current generation (extension). The extension processing unit 35 may extract one or more sentences (second sentences 8) that correspond to the differences between the two documents indicated by the comparison results from both documents 232, vectorize only the extracted sentences, and associate and store vectors 9 with the different sentences, thereby expanding the event handling database 230.

[0156] <N. Processing Flowchart> FIG. 17 is a flowchart of a 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.

[0157] In FIG. 17, the processor 202 receives input information for the computer (display device 200) (step S17-1). The input information includes a document 232 composed of one or more sentences describing the handling of each of a plurality of events that can occur in the control system 1A including the control device. For each sentence in the document received by the processor 202 in step S17-1, the processor 202 generates a vector 19 indicating the distributed representation of the meaning of each of the one or more words constituting the sentence (step S17-2). The processor 202 stores the document 232 in the storage unit (storage 208 or event handling database 230), and stores the vector 19 generated for the sentence in association with each second sentence 8 constituting the document in the storage (step S17-3).

[0158] Although the process of FIG. 17 is assumed to be performed by a computer such as the display device 200, 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 other computers. Other computers exchange the above input information and the generated event handling database 230 with a computer such as the display device 200 via a network or a portable storage medium. Thus, the information processing system that provides support information (answer 74) for handling the event 11 by operating (using) the event handling database 230 and the information processing system that generates the event handling database 230 may be implemented on the same computer or on different computers from each other.

[0159] <Supplementary Note> The present embodiment as described above includes the following technical ideas. [Configuration 1] 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 2] 2. The information processing system according to configuration 1, wherein the vector generation unit generates the vector for each document received by the reception unit. [Configuration 3] The vector generation unit further The information processing system according to configuration 2, 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 4] 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; An information processing system according to any one of configurations 1 to 3, 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. [Configuration 5] 5. The information processing system according to configuration 4, further comprising a model execution unit that executes the language model. [Configuration 6] A method implemented by a computer (200, 300, 400, 202), the method comprising a step (S17-1) of accepting input information for the computer, the input information including a document consisting of one or more sentences describing how to deal with each of a plurality of events that may occur in a control system including a control device, the method further comprising a step (S17-2) of generating, for each sentence accepted in the accepting step, a vector indicating a distributed representation of the meaning of each of one or more words constituting the sentence, and a step (S17-3) of storing the document in a memory unit, and linking each sentence constituting the document with the vector generated for that sentence and storing the vector in the memory unit. [Configuration 7] A program (3B) that causes a computer (200, 300, 400, 202) to carry out the method described above.

[0160] The present embodiment as described above further includes the following technical idea. [Configuration 8] 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 9] 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 of configuration 8, 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 10] 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 10. The information processing system according to configuration 9, 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 11] 11. The information processing system according to configuration 10, wherein the information received by the receiving unit includes an evaluation (4) of the related sentence output from the language model. [Configuration 12] The information processing system includes: 12. The information processing system of claim 11, further comprising 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 13] The change unit The information processing system of configuration 12 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 14] 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 12 or 13 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 15] The first change unit further The information processing system of configuration 13, 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.

[0161] 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]

[0162] 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, a reception unit that receives input information for the information processing system, The input information is A document consisting of one or more sentences describing how to deal with each of a plurality of events that may occur in a control system including a control device, The information processing system further comprises: a vector generation unit that generates, for each sentence that constitutes the document accepted by the acceptance unit, a vector that indicates a distributed representation of the meaning of each of one or more words that constitute the sentence; The information processing system further includes a storage unit that stores the document in a storage unit, and associates the vector generated for each sentence that constitutes the document with the sentence and stores the vector in the storage unit.

2. The information processing system according to claim 1 , wherein the vector generation unit generates the vector for each document of input information received by the receiving unit.

3. The vector generation unit further 3. The information processing system according to claim 2, wherein when the document is received, differences between the received document and previously received documents are extracted, and the vector is generated for a sentence corresponding to the extracted difference.

4. the input information received by the receiving unit includes event information indicating the event; a vector generation unit that generates a vector indicating a distributed representation of the meaning of each of one or more words that constitute a sentence based on the event information received by the reception unit, the sentence inquiring about how to deal with the event; a search unit that searches the storage unit for one or more sentences associated with a vector whose similarity to the vector of the query sentence generated by the vector generation unit exceeds a threshold, based on the vector of the query sentence generated by the vector 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 relevant to the question from the input setting sentence; The information processing system according to any one of claims 1 to 3, wherein the model interface sets the query of the sentence to be queried and the one or more sentences searched by the search unit as the prompt question and the setting sentence of the input of the language model, respectively.

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

6. 1. A computer-implemented method comprising: The method comprises: receiving input information for the computer; The input information is A document consisting of one or more sentences describing how to deal with each of a plurality of events that may occur in a control system including a control device, The method further comprises: generating, for each sentence received in the receiving step, a vector indicating a distributed representation of the meaning of each of one or more words constituting the sentence; The method further comprises the steps of storing the document in a storage unit, and associating each of the sentences constituting the document with the vector generated for that sentence and storing the associated sentence in the storage unit.

7. A program that causes a computer to execute the method according to claim 6.

Citation Information

Patent Citations

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

    JP2020129161A