WO2024034179A1 - 計算機システム及び業務プロセスを表す構造化データの生成方法 - Google Patents

計算機システム及び業務プロセスを表す構造化データの生成方法 Download PDF

Info

Publication number
WO2024034179A1
WO2024034179A1 PCT/JP2023/014180 JP2023014180W WO2024034179A1 WO 2024034179 A1 WO2024034179 A1 WO 2024034179A1 JP 2023014180 W JP2023014180 W JP 2023014180W WO 2024034179 A1 WO2024034179 A1 WO 2024034179A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
order
procedures
entities
information
Prior art date
Application number
PCT/JP2023/014180
Other languages
English (en)
French (fr)
Inventor
絵理 照屋
理 竹内
正太郎 我妻
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2024034179A1 publication Critical patent/WO2024034179A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Definitions

  • the present invention relates to a process information structuring system and a process information structuring method.
  • AI that recommends operating procedures for devices and processes for device failures
  • AI that supports diagnosis, treatment, and medication actions
  • AI is being put into practical use to recommend synthesis processes for new materials.
  • FIGS. 24A and 24B are diagrams illustrating the structuring of business processes.
  • FIG. 24A shows an image of structuring of a business process related to maintenance
  • FIG. 24B shows an image of structuring of a business process related to material manufacturing.
  • Patent Document 1 Non-Patent Document 1
  • Non-Patent Document 2 Non-Patent Document 2
  • Patent Document 1 describes a document understanding support device that "includes a phrase extraction condition learning unit, a phrase extraction unit, a phrase relationship extraction condition learning unit, a phrase relationship extraction unit, and an output unit.”
  • the word extraction condition learning unit generates word extraction conditions for extracting words from the support electronic document by learning based on the feature amounts assigned to each word
  • the word extraction condition learning unit generates word extraction conditions for extracting words from the support electronic document
  • the phrase relationship extraction condition learning unit generates phrase relationship extraction conditions for extracting related phrases from support electronic documents by learning based on the feature values for the target word relationships.
  • the phrase relationship extraction unit extracts phrase relationships that satisfy the phrase relationship extraction conditions.''
  • Non-Patent Document 1 and Non-Patent Document 2 describe a technique for outputting data in which a cooking recipe is structured from a document in which the cooking recipe is described.
  • structured data of cooking recipes is generated using rules regarding dependency of ingredients and cooking methods.
  • Patent Document 1 requires a large amount of learning data to ensure accuracy. Therefore, it is difficult to apply in fields where there is little training data. Furthermore, in the techniques of Non-Patent Document 1 and Non-Patent Document 2, it is necessary to set precise rules.
  • the present invention has been made in view of the above-mentioned problems, and aims to provide a system and method for accurately generating structured data from documents describing business processes without using elaborate rules. do.
  • a typical example of the invention disclosed in this application is as follows. That is, a computer system including at least one computer accepts input of a document in which a business process consisting of a plurality of steps is described, extracts an expression related to the business process from the document as an entity, and extracts an expression related to the business process from the document, and , generate a plurality of entity groups consisting of one or more of the entities and corresponding to one of the steps, and for each of the entity groups, classify the categories of one or more of the entities included in the entity group.
  • a first order determination that identifies a main entity that is the entity that characterizes the procedure corresponding to the entity group based on a category, and determines the order of the plurality of procedures based on the relationship between the main entities. execute the process, determine the order of the plurality of procedures based on the result of the first order determination process, and generate and output information regarding the ordered entity groups as structured data of the business process. .
  • structured data can be generated accurately from a document in which a business process is described without using elaborate rules. Problems, configurations, and effects other than those described above will be made clear by the description of the following examples.
  • FIG. 1 is a diagram showing an example of a system according to a first embodiment.
  • 1 is a diagram illustrating an example of a hardware configuration of a computer according to a first embodiment
  • FIG. FIG. 3 is a diagram showing an example of a document database according to the first embodiment.
  • 3 is a diagram showing an example of an entity/category dictionary stored in the structured rule database of the first embodiment.
  • FIG. 3 is a diagram illustrating an example of procedure category determination rule information stored in the structured rule database of the first embodiment.
  • FIG. 3 is a diagram showing an example of main entity determination rule information stored in the structured rule database of Example 1.
  • FIG. 5 is a diagram illustrating an example of parallelism determination rule information stored in the structured rule database of Example 1.
  • FIG. 3 is a diagram showing an example of business process order determination rule information stored in the structured rule database of the first embodiment.
  • FIG. 7 is a diagram illustrating an example of procedure order determination rule information stored in the structured rule database of the first embodiment.
  • FIG. 3 is a diagram showing an example of relationship definition information stored in the structured rule database of Example 1.
  • FIG. 2 is a flowchart illustrating an overview of structured data generation processing executed by the structuring processing device of the first embodiment.
  • 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram showing an example of information generated by the structuring processing device of Example 1.
  • FIG. 2 is a diagram showing an example of structured data generated by the structuring processing device of Example 1.
  • FIG. 3 is a diagram illustrating an example of structured data displayed on a user terminal according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of structured data displayed on a user terminal according to the first embodiment.
  • FIG. 3 is a flowchart illustrating an example of a procedure category determination process executed by the structuring processing device of the first embodiment.
  • FIG. 3 is a flowchart illustrating an example of main entity determination processing executed by the structuring processing device of the first embodiment.
  • 3 is a flowchart illustrating an example of parallelism determination processing executed by the structuring processing device according to the first embodiment.
  • 2 is a flowchart illustrating an example of a procedure order determination process executed by the structuring processing device of the first embodiment.
  • FIG. 2 is a diagram illustrating an image of structuring a business process.
  • FIG. 2 is a diagram illustrating an image of structuring a business process.
  • FIG. 1 is a diagram showing an example of a system according to the first embodiment.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the computer 200 according to the first embodiment.
  • the system 10 shown in FIG. 1 is composed of a structured processing device 100 and a user terminal 101.
  • the structuring processing device 100 and the user terminal 101 are connected via a communication network 102 in a state where bidirectional communication is possible.
  • the communication network 102 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, a public communication network, a leased line, or the like. Note that the number of user terminals 101 may be two or more.
  • the system 10 will also be referred to as the structured system 10.
  • the structuring processing device 100 and the user terminal 101 are comprised of, for example, a computer 200 as shown in FIG.
  • the computer 200 includes an arithmetic device 201, a main storage device 202, an auxiliary storage device 203, an input device 204, an output device 205, and a communication device 206.
  • the arithmetic device 201 executes a program stored in the main storage device 202.
  • the arithmetic unit 201 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field Processing Unit). grammable Gate Array), ASIC (Application Specific Integrated Circuit), AI (Artificial Intelligence) chip etc.
  • the arithmetic unit 201 operates as a functional unit (module) that implements a specific function.
  • a functional unit module that implements a specific function.
  • the main storage device 202 stores programs and data executed by the arithmetic unit 201.
  • the main storage device 202 is, for example, a nonvolatile memory such as ROM (Read Only Memory), RAM (Random Access Memory), and NVRAM (Non Volatile RAM). Note that the main storage device 202 is also used as a work area.
  • the auxiliary storage device 203 permanently stores data.
  • the auxiliary storage device 203 is, for example, an SSD (Solid State Drive), a hard disk drive, or the like.
  • the program and data may be obtained from an optical storage device such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), an IC card, an SD card, etc., or an externally connected storage system, It may also be acquired from a storage area on a cloud system.
  • Programs and data stored in the auxiliary storage device 203 are read by the arithmetic unit 201 and loaded into the main storage device 202.
  • the input device 204 is an interface that accepts input from the outside.
  • the input device 204 is, for example, a keyboard, a mouse, a touch panel, a card reader, a pen-input tablet, a voice input device, or the like.
  • the output device 205 is an interface that outputs various information such as processing progress and processing results.
  • the output device 205 is, for example, a display device such as a liquid crystal monitor and an LCD (Liquid Crystal Display), an audio output device, a printer, or the like.
  • the computer 200 does not need to have the input device 204 and the output device 205. In this case, the computer 200 inputs and outputs information via the communication device 206.
  • the communication device 206 communicates with other devices.
  • the communication device 206 is, for example, a NIC (Network Interface Card), a wireless communication module, a USB module, or the like.
  • the structuring processing device 100 generates structured data from document data that includes text in which business processes are described in natural language.
  • Structured data is data for grasping the structure of a plurality of procedures, and includes, for example, Json format data, XML format data, RDF format data, GraphML format data, and the like.
  • the present invention is not limited to the data format of structured data. It is assumed that the structured data of Example 1 is data in GraphML format.
  • one or more sentences or a group of one or more sentences that describe a business process will be referred to as a document.
  • processing is executed on a document-by-document basis, the unit of processing is not necessarily limited.
  • the structuring processing device 100 has an information management section 110 and a structuring processing section 120, and also holds a document database 130, a structured rule database 140, a processing database 150, and a structured data database 160.
  • the document database 130 is a database that stores documents to be processed.
  • the structuring rule database 140 is a database that stores rules used in structuring processing.
  • the processing database 150 is a database that stores processing results of structuring processing.
  • the structured data database 160 is a database that stores structured data generated by structuring processing.
  • the information management unit 110 manages documents, rules, structured data, and the like.
  • the structuring processing unit 120 executes structuring processing. Note that the information management unit 110 and the structuring processing unit 120 may be implemented as a function of an operating system, a file system, a relational database, and middleware that manages NoSQL such as KVS (Key-Value Store).
  • the structuring processing unit 120 executes the following processing in the structuring processing.
  • the structuring processing unit 120 extracts expressions such as words related to the steps of a business process as entities from the text included in the document, and classifies the extracted entities into categories (entity categories).
  • the structuring processing unit 120 generates an entity group by grouping entities related to one procedure.
  • the structuring processing unit 120 classifies the procedure category (procedure category) corresponding to the entity group based on the entity category of the entity included in the entity group.
  • the structuring processing unit 120 identifies, among the entities included in the entity group, an entity (main entity) that represents the characteristics of the procedure corresponding to the entity group.
  • the structuring processing unit 120 determines which procedures are to be performed in parallel among the procedures included in the business process based on the relationship between the main entities.
  • the structuring processing unit 120 determines the order of procedures based on the relationships between the main entities, the order of the procedures, and the relationships between the procedure categories.
  • the structuring processing unit 120 confirms the consistency of the determination results in (5) and (6), and records the confirmation results.
  • the structuring processing unit 120 generates structured data based on the determination results in (5) and (6) and the consistency confirmation results.
  • the structuring processing unit 120 generates display information for displaying structured data, and transmits the display information to the user terminal 101.
  • the user terminal 101 includes a registration unit 170 that displays a screen for registering documents and various rules, and a display unit 180 that displays a screen for presenting and modifying structured data.
  • the functions of the structured processing device 100 may be realized using a computer system composed of a plurality of computers 200. Further, all or part of the functions of the structured processing device 100 may be realized using virtualization technology.
  • the structured processing device 100 uses cloud services such as SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). How to realize all or some of the functions of is possible.
  • structuring processing device 100 and the user terminal 101 may be combined into one device.
  • FIG. 3 is a diagram showing an example of the document database 130 of the first embodiment.
  • the document database 130 stores entries including a document ID 301 and text 302. One entry exists for one document. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the document ID 301 is a field that stores document identification information.
  • Text 302 is a field that stores text included in the document. Note that the data format of the text stored in the text 302 is not limited.
  • FIG. 4 is a diagram showing an example of the entity/category dictionary 400 stored in the structured rule database 140 of the first embodiment.
  • the entity/category dictionary 400 is information for managing expressions such as words extracted as entities and categories (types) of entities. Entity/category dictionary 400 stores entries including entities 401 and categories 402. One entry exists for one expression (entity). Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the entity 401 is a field that stores the expression to be extracted.
  • Category 402 is a field that stores the entity category of the expression.
  • FIG. 5 is a diagram showing an example of procedure category determination rule information 500 stored in the structured rule database 140 of the first embodiment.
  • the procedure category judgment rule information 500 is information for managing the judgment rules of the procedure category of the procedure corresponding to the entity group.
  • the procedure category determination rule information 500 stores entries including a rule ID 501, a category ID 502, a category 503, and a rule 504.
  • the rule ID 501 is a field that stores identification information of the rule.
  • the category ID 502 is a field that stores identification information of the procedure category of the procedure that matches the rule.
  • the category 503 is a field that stores the procedure category of the procedure that matches the rule.
  • a rule 504 is a field that stores a determination rule for a procedure category.
  • the procedure category is the type of procedure.
  • procedural categories such as “preparation,” “operation,” and “measurement”
  • reports in business processes related to maintenance, there are “reports,” “confirmation of causes,” and “measures.”
  • Possible procedure categories include:
  • a possible rule for determining the procedure category is a rule that uses the entity category of the entity included in the entity group. For example, there is a rule that determines that the procedure category of an entity group that includes an entity whose entity category is "substance” is "substance.” Furthermore, a rule for determining a procedure category based on a combination of categories of entities included in an entity group may also be considered. For example, in the business process related to maintenance shown in FIG. 24A, there is a rule that determines that the procedure category of an entity group that includes entities whose entity categories are "alarm” and "phenomenon" is "report.” Note that the rules described above are just examples, and the rules are not limited thereto.
  • the first entry in Figure 5 has a rule that determines that the procedure category is "operation” if "operation” is included in the variable "entity_categories” representing the entity category of each entry included in the entity group. Defined.
  • the second entry in FIG. 5 defines a rule that determines that the procedure category is "substance” when the variable "entity_categories" includes “substance.”
  • FIG. 6 is a diagram showing an example of main entity determination rule information 600 stored in the structured rule database 140 of the first embodiment.
  • the main entity determination rule information 600 is information for managing rules (main entity determination rules) for specifying the main entity from among the entities included in the entity group.
  • the main entity determination rule information 600 stores entries including a rule ID 601 and a rule 602. One entry exists for one rule. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the rule ID 601 is a field that stores identification information of the rule.
  • Rule 602 is a field that stores the main entity determination rule.
  • a rule using an entity category can be considered. For example, this is a rule that specifies an entity whose entity category is "substance" as the main entity. Note that the rules described above are just examples, and the rules are not limited thereto.
  • the first entry in FIG. 6 defines a rule that specifies an entity whose variable "entity_category" representing an entity category is "operation" as the main entity.
  • structured rule database 140 may include information for managing rules for specifying sub-entities that are complementary to the main entity.
  • FIG. 7 is a diagram showing an example of parallelism determination rule information 700 stored in the structured rule database 140 of the first embodiment.
  • the parallelism determination rule information 700 is information for managing rules (parallelism determination rules) for determining whether two procedures are performed in parallel.
  • Parallelism determination rule information 700 stores entries including rule ID 701, parallelism 702, and rule 703. One entry exists for one rule. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the rule ID 701 is a field that stores identification information of the rule.
  • Parallelism 702 is a field that stores a value indicating whether two procedures are performed in parallel.
  • Rule 703 is a field that stores parallelism determination rules.
  • a rule using words included in a sentence that connects the main entities of two entity groups can be considered. Note that the rules described above are just examples, and the rules are not limited thereto.
  • FIG. 8 is a diagram showing an example of business process order determination rule information 800 stored in the structured rule database 140 of the first embodiment.
  • the business process order determination rule information 800 is information for managing rules (business process order determination rules) for determining the order of each procedure based on the procedure category.
  • the business process order determination rule information 800 stores entries including a rule ID 801, an order 802, and a rule 803. One entry exists for one rule. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the rule ID 801 is a field that stores identification information of the rule.
  • the order 802 is a field that stores information representing the rough order of procedures. "Start point” indicates the beginning step of the entire business process, "Middle” indicates the middle step of the entire business process, and "End point” indicates the end step of the entire business process. .
  • Rule 803 is a field that stores business process order determination rules.
  • a rule using only procedure categories can be considered. Note that the method of defining the procedure pattern described above is just an example, and the method is not limited thereto. For example, a rule using the procedure category and the position of the main entity may be used.
  • the first entry in Figure 8 defines a rule that determines that if the procedure category is "substance" and the main entity is in the first half of the text, the procedure is determined to be the first step of the entire business process. be done.
  • a rule is defined that, when the procedure category is "operation", the procedure is determined to be an intermediate procedure in the entire business process.
  • the third entry in Figure 8 defines a rule that determines that if the procedure category is "substance" and the main entity is in the second half of the text, the procedure is determined to be the second half of the entire business process. be done.
  • FIG. 9 is a diagram showing an example of procedure order determination rule information 900 stored in the structured rule database 140 of the first embodiment.
  • the procedure order determination rule information 900 is information for managing rules (procedure order determination rules) for determining the order between two procedures based on the relationship between main entities.
  • the procedure order determination rule information 900 stores entries including a rule ID 901, an order 902, and a rule 903. One entry exists for one rule. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the rule ID 901 is a field that stores identification information of the rule.
  • Order 902 is a field that stores the order relationship between entities.
  • Rule 903 is a field that stores a procedure order determination rule.
  • a rule using words included in sentences connecting main entities can be considered.
  • the rules may be based on entities having a synonymous relationship. For example, if "disk number 3" and “disk 3" are related by synonyms, a rule may be considered that arranges the entity group including "disk number 3" and the entity group including “disk 3” in the order of appearance.
  • synonyms it may also be used to refer to the relationship of device configuration states (within modules in the same device), the relationship of substances, etc. Note that the rules described above are just examples, and the rules are not limited thereto.
  • the third entry in Figure 9 defines a rule to arrange the entity group that includes main entity A at the beginning of the business process if the variable "main_before main_entityA" that represents the word immediately before main entity A contains "Introduction". has been done.
  • the variable "main_entityA" representing the main entity and the variable "main_entityB" representing the main entity B include a term indicating a specific relationship
  • the entity group containing the main entity A is A rule is defined for arranging main entity B before the entity group that includes main entity B.
  • the specific relationship is defined in relationship definition information 1000 (see FIG. 10), which will be described later.
  • FIG. 10 is a diagram showing an example of relationship definition information 1000 stored in the structured rule database 140 of the first embodiment.
  • the relationship definition information 1000 is information for managing specific relationships (for example, similarity relationships) between entities.
  • the relationship definition information 1000 stores entries including a relationship ID 1001, a first entity 1002, a second entity 1003, and a relationship 1004.
  • the relationship ID 1001 is a field that stores relationship identification information.
  • a first entity 1002 and a second entity 1003 are fields that store entities.
  • Relationship 1004 is a field that stores the relationship between the first entity and the second entity.
  • FIG. 11 is a flowchart outlining the structured data generation process executed by the structured processing apparatus 100 of the first embodiment.
  • 12, FIG. 13, FIG. 14, FIG. 15, FIG. 16, and FIG. 17 are diagrams showing examples of information generated by the structuring processing device 100 of the first embodiment.
  • FIG. 18 is a diagram illustrating an example of structured data generated by the structured processing apparatus 100 of the first embodiment.
  • 19A and 19B are diagrams illustrating an example of structured data displayed on the user terminal 101 according to the first embodiment.
  • Execution triggers include reception of an execution instruction and detection of execution timing.
  • an example of processing will be described when an execution instruction including identification information of a document for which one structured data is to be generated is received.
  • the structuring processing unit 120 acquires the text of the specified document from the document database 130, and executes entity extraction processing using the text and the entity/category dictionary 400 (step S1100).
  • the structuring processing unit 120 stores the extracted entity information in the processing database 150 as entity information 1200.
  • the entity information 1200 stores entries including an entity ID 1201, an entity 1202, a position 1203, and a category 1204.
  • the entity ID 1201 is a field that stores entity identification information given by the structuring processing unit 120.
  • Entity 1202 is a field that stores an expression extracted as an entity.
  • Position 1203 is a field that stores the position of the entity in the text.
  • Category 1204 is a field that stores entity categories.
  • the structuring processing unit 120 extracts entities based on the entity/category dictionary 400 and generates entity information 1200 based on the extraction results.
  • entity extraction method is not limited to the rule-based method. Existing named entity extraction techniques such as machine learning can be used.
  • the structuring processing unit 120 executes entity group generation processing using the extracted entities and texts (step S1200). Specifically, the following processing is executed.
  • the structuring processing unit 120 executes document structure analysis processing on the text and obtains information regarding entity dependency.
  • the structuring processing unit 120 generates a pair of entities having a correspondence relationship based on information regarding entity dependency. Note that the pair of entities may be generated using a model that has learned the correspondence between entities.
  • the structuring processing unit 120 stores the generated pair information in the processing database 150 as entity pair information 1300.
  • the entity pair information 1300 stores entries including a pair ID 1301, an entity ID 1302, and an entity ID 1303. One entry exists for one pair of entities. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the pair ID 1301 is a field that stores identification information of a pair of entities.
  • Entity ID 1302 and entity ID 1303 are fields that store identification information of entities forming a pair.
  • the structuring processing unit 120 refers to the entity pair information 1300 and generates entity groups by grouping entities that are connected by correspondence.
  • the structuring processing unit 120 stores the generated entity group information in the processing database 150 as entity group information 1400.
  • the entity group information 1400 stores entries including an entity group ID 1401, an entity list 1402, a category 1403, and a main entity ID 1404.
  • the entity group ID 1401 is a field that stores identification information of an entity group.
  • Entity list 1402 is a field that stores a list of identification information of entities that constitute an entity group.
  • Category 1403 is a field that stores procedure categories.
  • the main entity ID 1404 is a field that stores identification information of the main entity of the entity group. Note that at this point, the category 1403 and main entity ID 1404 of each entry are blank.
  • the structuring processing unit 120 uses the procedural category determination rule information 500 to execute a procedural category determination process (step S1300). Details of the procedure category determination process will be explained using FIG. 20. The results of the procedural category determination process are reflected in the category 1403 of each entry in the entity group information 1400.
  • the structuring processing unit 120 executes main entity determination processing using the main entity determination rule information 600 (step S1400). Details of the main entity determination process will be explained using FIG. 21. The result of the main entity determination process is reflected in the main entity ID 1404 of each entry in the entity group information 1400.
  • the structuring processing unit 120 uses the parallelism determination rule information 700 to execute parallelism determination processing (step S1500). Details of the parallelism determination process will be explained using FIG. 22. The results of the parallelism determination process are stored in the processing database 150 as parallelism information 1500.
  • the parallelism information 1500 stores entries including an entity family ID 1501 and an entity group list 1502. There is one entry for a group of entity groups that occur in parallel. In the following description, a group of entity groups that are performed in parallel will be referred to as an entity family. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the entity family ID 1501 is a field that stores identification information of the entity family.
  • Entity group list 1502 is a field that stores identification information of entity groups that constitute an entity family.
  • the structuring processing unit 120 executes a procedure order determination process using the business process order determination rule information 800, the procedure order determination rule information 900, and the relationship definition information 1000 (step S1600). Details of the procedure order determination process will be explained using FIG. 23.
  • the result of the procedure order determination process is stored in the processing database 150 as procedure order information 1600.
  • the procedure order information 1600 stores entries including an ordered pair ID 1601, an entity group ID (front) 1602, and an entity group ID (back) 1603. There is one entry for a pair of entity groups that corresponds to a procedure that defines an ordering relationship. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the order of procedures is expressed as the direction of edges connecting nodes (entity groups) in the GraphML format. Note that the method of expressing the order of procedures is not limited.
  • the ordered pair ID 1601 is a field that stores identification information of a pair of entity groups that define an ordered relationship.
  • Entity group ID (front) 1602 is a field that stores identification information of the front end entity group.
  • Entity group ID (rear) 1603 is a field that stores identification information of the rear end entity group.
  • the structuring processing unit 120 executes consistency confirmation processing using the parallelism determination rule information 700, business process order determination rule information 800, procedure order determination rule information 900, and relationship definition information 1000 ( Step S1700). Note that the consistency check process does not need to be executed.
  • the structuring processing unit 120 determines that the information registered in the entity information 1200, the parallelism information 1500, and the procedure order information 1600 is the parallelism determination rule information 700, the business process order determination rule information 800, and the procedure It is determined whether or not it matches the rules defined using the order determination rule information 900 and the relationship definition information 1000. If inconsistent information exists, the structuring processing unit 120 stores the information as consistency confirmation information 1700 in the processing database 150.
  • the consistency confirmation information 1700 stores entries including a confirmation ID 1701, a target 1702, and a rule ID 1703. One entry exists for one violation. Note that the fields included in the entry are merely examples, and the field is not limited thereto.
  • the confirmation ID 1701 is a field that stores entry identification information.
  • Target 1702 is a field that stores identification information representing the target of the violation.
  • the object 1702 stores, for example, ordered pairs and entity family identification information.
  • Rule ID 1703 is a field that stores identification information of the rule that the target violates.
  • the structuring processing unit 120 executes structured data output processing using the entity information 1200, entity pair information 1300, entity group information 1400, parallelism information 1500, procedure order information 1600, and consistency confirmation information 1700. (Step S1800). Specifically, the structuring processing unit 120 generates data representing a graph in which entity groups are nodes as structured data, and stores the generated structured data in the structured data database 160.
  • the structured data is, for example, GraphML format data as shown in FIG. Note that entity groups corresponding to procedures executed in parallel may be combined into one node.
  • the structured data shown in FIG. 18 includes entries that define graph nodes (entity groups), entries that define main entities of entity groups, entries that define connection relationships between nodes, and the like.
  • the display unit 180 of the user terminal 101 displays screens as shown in FIGS. 19A and 19B using structured data. Dotted boxes represent entity groups. An icon representing the procedure category is displayed in the entity group. The box representing the entity displays an icon representing the entity category and the main entity. Note that the box indicated by a dashed dotted line is a collection of procedures (entity groups) that are executed in parallel.
  • the structuring processing unit 120 determines not only the simple order between entity groups but also the parallelism of entity groups, and generates structured data. As a result, business processes including procedures that are performed in parallel can be structured with precision. Furthermore, the structuring processing unit 120 determines the order of procedures using rules based on the main entity and rules based on the procedure category. In this way, business processes can be structured with precision using fewer rules. Note that rules based on procedure categories are not necessarily necessary.
  • FIG. 20 is a flowchart illustrating an example of the procedure category determination process executed by the structuring processing device 100 of the first embodiment.
  • the structuring processing unit 120 selects an entity group (step S1301). Specifically, the structuring processing unit 120 selects one entry from the entity group information 1400.
  • the structuring processing unit 120 acquires information on each entity included in the entity group (step S1302). Specifically, the structuring processing unit 120 acquires the entity category from the entity information 1200 based on the identification information registered in the entity list 1402 of the entry.
  • the structuring processing unit 120 identifies the procedure category based on the entity category and procedure category determination rule information 500 of each entity included in the entity group (step S1303). Specifically, the structuring processing unit 120 makes a determination regarding the rule set in the rule 504 of each entry, and obtains the value of the category 503 of the entry corresponding to the matched rule.
  • the structuring processing unit 120 updates the entity group information 1400 (step S1304). Specifically, the structuring processing unit 120 sets the specified procedure category to the category 1403 of the entry selected in step S1301.
  • the structuring processing unit 120 determines whether processing has been completed for all entries in the entity group information 1400 (step S1305).
  • the structuring processing unit 120 If processing has not been completed for all entries in the entity group information 1400, the structuring processing unit 120 returns to S1301. When the processing for all entries in the entity group information 1400 is completed, the structuring processing unit 120 ends the procedural category determination processing.
  • FIG. 21 is a flowchart illustrating an example of the main entity determination process executed by the structuring processing device 100 of the first embodiment.
  • the structuring processing unit 120 selects an entity group (step S1401). Specifically, the structuring processing unit 120 selects one entry from the entity group information 1400.
  • the structuring processing unit 120 acquires information on each entity included in the entity group (step S1402). Specifically, the structuring processing unit 120 acquires the entity category from the entity information 1200 based on the identification information registered in the entity list 1402 of the entry.
  • the structuring processing unit 120 identifies the entity that will become the main entity based on the entity category of each entity included in the entity group and the main entity determination rule information 600 (step S1403). Specifically, the structuring processing unit 120 determines the rules set in the rules 602 of each entry, and identifies entities that match the rules.
  • the structuring processing unit 120 updates the entity group information 1400 (step S1404). Specifically, the structuring processing unit 120 sets the identification information of the entity specified as the main entity in the main entity ID 1404 of the entry selected in step S1401.
  • the structuring processing unit 120 determines whether processing has been completed for all entries in the entity group information 1400 (step S1405).
  • the structuring processing unit 120 returns to step S1401.
  • the structuring processing unit 120 ends the main entity determination processing.
  • FIG. 22 is a flowchart illustrating an example of the parallelism determination process executed by the structuring processing device 100 of the first embodiment.
  • the structuring processing unit 120 generates pairs of entity groups (step S1501). For example, a method of generating a pair of entity groups in which the main entities of the entity groups are close to each other may be considered.
  • the present invention is not limited to the method of generating entity group pairs.
  • the structuring processing unit 120 selects a pair of entity groups (step S1502).
  • the structuring processing unit 120 determines whether two procedures corresponding to the entity groups forming the pair are to be performed in parallel, based on the text, the main entity of the entity group forming the pair, and the parallelism determination rule information 700. It is determined whether or not (step S1503). For example, the determination is made based on words included in a sentence that connects the main entity of one entity group and the main entity of another entity group.
  • step S1504 the structuring processing unit 120 gives the pair a flag indicating that they will be executed in parallel.
  • step S1505 the structuring processing unit 120 determines whether processing has been completed for all entity group pairs (step S1505).
  • the structuring processing unit 120 returns to step S1502.
  • the structuring processing unit 120 When the processing is completed for all entity group pairs, the structuring processing unit 120 generates an entity family based on the information of the flagged pairs (step S1506). Specifically, the structuring processing unit 120 generates an entity family by merging pairs that include the same entity group.
  • the structuring processing unit 120 generates information regarding the entity family as parallelism information 1500 (step S1507), and stores it in the processing database 150.
  • FIG. 23 is a flowchart illustrating an example of the procedure order determination process executed by the structuring processing apparatus 100 of the first embodiment.
  • the structuring processing unit 120 determines the order of each procedure based on the business process order determination rule information 800 (step S1601), and generates procedure order information 1600 based on the processing result (step S1602). Specifically, the structuring processing unit 120 determines the rough order of procedures based on the business process order determination rule information 800. Further, the structuring processing unit 120 determines the order of each procedure based on the position of the main entity included in the entity group.
  • the structuring processing unit 120 generates pairs of entity groups (step S1603). For example, a method of generating a pair of entity groups in which the main entities of the entity groups are close to each other may be considered. The present invention is not limited to the method of generating entity group pairs.
  • the structuring processing unit 120 selects a pair of entity groups (step S1604).
  • the structuring processing unit 120 refers to the procedure order determination rule information 900 and the relationship definition information 1000 and determines whether there is a rule that matches the pair of entity groups (step S1605).
  • step S1607 If there is no rule that matches the entity group pair, the structuring processing unit 120 proceeds to step S1607.
  • the structuring processing unit 120 determines the order of the procedures corresponding to the two entity groups forming the pair based on the order 902 of the entries corresponding to the corresponding rule. It is determined (step S1606), and then the process advances to step S1607.
  • step S1607 it is determined whether the processing has been completed for all entity group pairs (step S1607).
  • the structuring processing unit 120 returns to step S1604.
  • the structuring processing unit 120 determines the order of the procedure based on the determination results for the entity group pairs (step S1608).
  • the structuring processing unit 120 updates the procedure order information 1600 based on the processing result of step S1608 (step S1609).
  • the structuring processing device 100 does not need to hold the business process order determination rule information 800. In this case, since the order of procedures is not determined using the business process order determination rule information 800, the procedure category determination process can be omitted.
  • the structuring processing device 100 may determine the order of procedures based on the procedure order determination rule information 900 and the relationship definition information 1000.
  • the structured processing device 100 of the first embodiment can accurately generate structured data from a document in which a business process is described.
  • the only rules for determining the order of steps are rules based on the relationships between main entities, and rules based on the order of steps and relationships between procedure categories, so the cost required for setting rules can be reduced. Can be done.
  • the determination may be made using a model generated by a learning process using words between main entities and a model generated by a learning process using data indicating the order of procedures and the relationship between procedure categories. .
  • a method of determining by combining rules and models may be used.
  • the present invention is not limited to the above-described embodiments, and includes various modifications. Further, for example, the configurations of the embodiments described above are explained in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to having all the configurations described. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with other configurations.
  • each of the above-mentioned configurations, functions, processing units, processing means, etc. may be partially or entirely realized by hardware, for example, by designing an integrated circuit.
  • the present invention can also be realized by software program codes that realize the functions of the embodiments.
  • a storage medium on which a program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored on the storage medium.
  • the program code itself read from the storage medium realizes the functions of the embodiments described above, and the program code itself and the storage medium storing it constitute the present invention.
  • Examples of storage media for supplying such program codes include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A non-volatile memory card, ROM, etc. are used.
  • program code that implements the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C/C++, Perl, Shell, PHP, Python, and Java.
  • the software program code that realizes the functions of the embodiment can be stored in a storage means such as a computer's hard disk or memory, or a storage medium such as a CD-RW or CD-R.
  • a processor included in the computer may read and execute the program code stored in the storage means or the storage medium.
  • control lines and information lines are those considered necessary for explanation, and not all control lines and information lines are necessarily shown in the product. All configurations may be interconnected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Mathematical Physics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

計算機システムは、複数の手順からなる業務プロセスが記載された文書からエンティティを抽出し、エンティティのカテゴリを分類する。計算機システムは、一つ以上のエンティティから構成され、一つの手順に対応するエンティティグループを複数生成し、エンティティグループの各々について、エンティティグループに含まれる一つ以上のエンティティのカテゴリに基づいて、エンティティグループに対応する手順を特徴づけるエンティティである主エンティティを特定する。計算機システムは、主エンティティ間の関係性に基づいて、複数の手順の順序を判定する処理を実行し、処理の結果に基づいて複数の手順の順序を決定し、業務プロセスの構造化データとして、順序づけされたエンティティグループに関する情報を生成する。

Description

計算機システム及び業務プロセスを表す構造化データの生成方法 参照による取り込み
 本出願は、2022年8月9日に出願された日本特許出願第2022-126821号の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、プロセス情報構造化システム、及びプロセス情報構造化方法に関する。
 近年、様々な分野において、複数の手順からなる業務プロセスを、AIを用いて支援、効率化、及び最適化等をしたいというニーズが顕在化している。例えば、産業分野では、装置の操作手順のリコメンド、及び装置の故障に対するプロセスのリコメンドを行うAIが実用化され、医療分野では、診断、治療、及び投薬行為の支援を行うAIが実用化され、素材分野では、新素材の合成プロセスのリコメンドを行うAIが実用化されている。
 AIを用いた業務プロセスの支援等を実現するためには、一般に業務プロセスを情報処理が可能なデータを用意する必要がある。しかし、業務プロセスに関わる情報は、自然言語で記載された文書(装置の保守報告書、医療カルテ、実験報告書など)として蓄積されている場合が多いため、そのままでは情報処理が困難である。したがって、文書に記載された情報を情報処理が可能な構造化データに変換する必要がある。
 図24A及び図24Bは、業務プロセスの構造化のイメージを記す図である。図24Aは保守に係る業務プロセスの構造化のイメージを表し、図24Bは物質製造に係る業務プロセスの構造化のイメージを表す。
 手動で文書から構造化データを生成するためには、莫大な時間と専門知識とが必要である。そのため、自動で文書から構造化データを生成する技術が望まれている。これに対して、特許文献1、非特許文献1、及び非特許文献2に記載の技術が知られている。
 特許文献1には、「語句抽出条件学習部と、語句抽出部と、語句関係抽出条件学習部と、語句関係抽出部と、出力部と、を備える」文書理解支援装置が記載されている。また、「語句抽出条件学習部は、各語句に付与された特徴量に基づく学習により、支援用電子文書から語句を抽出するための語句抽出条件を生成する」こと、「語句抽出部は、語句抽出条件を満たす語句を抽出する」こと、「語句関係抽出条件学習部は、抽出対象語句関係に対する特徴量に基づく学習により、支援用電子文書から関係語句を抽出するための語句関係抽出条件を生成する」こと、「語句関係抽出部は、語句関係抽出条件を満たす語句関係を抽出する」ことが記載されている。
 非特許文献1及び非特許文献2には、料理のレシピが記載された文書から、料理のレシピを構造化したデータを出力する技術が記載されている。非特許文献1及び非特許文献2に記載の技術では、食材及び調理法の係り受け等に関するルールを用いて、料理のレシピを構造化データの生成が行われている。
特開2019-79321号公報
料理レシピテキストの構造解析とその応用,言語処理学会第18回年次大会発表論文集,pp.839-842 料理テキスト教材における調理手順の構造化,電子情報通信学会論文誌 D ,Vol.J85-D2,No.1,pp.79-89
 特許文献1の技術では、精度を確保するために大量の学習データが必要となる。そのため、学習データが少ない分野では適用が難しい。また、非特許文献1及び非特許文献2の技術では、緻密なルールを設定する必要がある。
 本発明は、前述の課題に鑑みてなされたものであり、緻密なルールを用いずに、業務プロセスが記載された文書から構造化データを精度よく生成するシステム及び方法を提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一つの計算機を備える計算機システムであって、複数の手順からなる業務プロセスが記載された文書の入力を受け付け、前記文書から、前記業務プロセスに関連する表現をエンティティとして抽出し、前記エンティティのカテゴリを分類し、一つ以上の前記エンティティから構成され、一つの前記手順に対応するエンティティグループを複数生成し、前記エンティティグループの各々について、前記エンティティグループに含まれる一つ以上の前記エンティティのカテゴリに基づいて、前記エンティティグループに対応する前記手順を特徴づける前記エンティティである主エンティティを特定し、前記主エンティティ間の関係性に基づいて、前記複数の手順の順序を判定する第1順序判定処理を実行し、前記第1順序判定処理の結果に基づいて、前記複数の手順の順序を決定し、前記業務プロセスの構造化データとして、順序づけされた前記エンティティグループに関する情報を生成し、出力する。
 本発明によれば、緻密なルールを用いずに、業務プロセスが記載された文書から構造化データを精度よく生成することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1のシステムの一例を示す図である。 実施例1の計算機のハードウェア構成の一例を示す図である。 実施例1の文書データベースの一例を示す図である。 実施例1の構造化ルールデータベースに格納されるエンティティ/カテゴリ辞書の一例を示す図である。 実施例1の構造化ルールデータベースに格納される手順カテゴリ判定ルール情報の一例を示す図である。 実施例1の構造化ルールデータベースに格納される主エンティティ判定ルール情報の一例を示す図である。 実施例1の構造化ルールデータベースに格納される並列性判定ルール情報の一例を示す図である。 実施例1の構造化ルールデータベースに格納される業務プロセス順序判定ルール情報の一例を示す図である。 実施例1の構造化ルールデータベースに格納される手順順序判定ルール情報の一例を示す図である。 実施例1の構造化ルールデータベースに格納される関係性定義情報の一例を示す図である。 実施例1の構造化処理装置が実行する構造化データ生成処理の概要を説明するフローチャートである。 実施例1の構造化処理装置が生成する情報の一例を示す図である。 実施例1の構造化処理装置が生成する情報の一例を示す図である。 実施例1の構造化処理装置が生成する情報の一例を示す図である。 実施例1の構造化処理装置が生成する情報の一例を示す図である。 実施例1の構造化処理装置が生成する情報の一例を示す図である。 実施例1の構造化処理装置が生成する情報の一例を示す図である。 実施例1の構造化処理装置が生成する構造化データの一例を示す図である。 実施例1のユーザ端末に表示される構造化データの一例を示す図である。 実施例1のユーザ端末に表示される構造化データの一例を示す図である。 実施例1の構造化処理装置が実行する手順カテゴリ判定処理の一例を説明するフローチャートである。 実施例1の構造化処理装置が実行する主エンティティ判定処理の一例を説明するフローチャートである。 実施例1の構造化処理装置が実行する並列性判定処理の一例を説明するフローチャートである。 実施例1の構造化処理装置が実行する手順順序判定処理の一例を説明するフローチャートである。 業務プロセスの構造化のイメージを記す図である。 業務プロセスの構造化のイメージを記す図である。
 以下、実施形態について図面を参照しつつ説明する。尚、以下、図面を参照して本発明の実施形態を説明する。以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
 以下の説明において、同一又は類似の構成について同一の符号を付して重複した説明を省略することがある。また、以下の説明において、符号の前に付した「S」の文字は処理ステップを意味する。また、以下の説明では、「テーブル」、「情報」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。
 さらに、以下の説明においては、実験報告書に記載された素材の合成プロセスに関する情報を構造化する例で記載するが、構造化対象は背景技術に記載した様々な分野、対象、ユースケースに関して適用することが可能である。
 図1は、実施例1のシステムの一例を示す図である。図2は、実施例1の計算機200のハードウェア構成の一例を示す図である。
 図1に示すシステム10は、構造化処理装置100及びユーザ端末101から構成される。構造化処理装置100及びユーザ端末101は、通信ネットワーク102を介して、双方向通信が可能な状態で接続される。通信ネットワーク102は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、公衆通信網、専用線等である。尚、ユーザ端末101の数は二つ以上でもよい。以下の説明では、システム10を構造化システム10とも記載する。
 構造化処理装置100及びユーザ端末101は、例えば、図2に示すような計算機200から構成される。計算機200は、演算装置201、主記憶装置202、補助記憶装置203、入力装置204、出力装置205、及び通信装置206を備える。
 演算装置201は、主記憶装置202に格納されるプログラムを実行する。演算装置201は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等である。演算装置201がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、演算装置201が当該機能部を実現するプログラムを実行していることを示す。
 主記憶装置202は、演算装置201が実行するプログラム及びデータを格納する。主記憶装置202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び、NVRAM(Non Volatile RAM)等の不揮発性メモリ等である。尚、主記憶装置202は、ワークエリアとしても用いられる。
 補助記憶装置203は、永続的にデータを格納する。補助記憶装置203は、例えば、SSD(Solid State Drive)及びハードディスクドライブ等である。尚、計算機200は、補助記憶装置203を有していなくてもよい。この場合、プログラム及びデータは、CD(Compact Disc)、DVD(Digital Versatile Disc)等の光学式記憶装置、ICカード、及びSDカード等から取得してもよいし、外部接続されるストレージシステム、及びクラウドシステム上の記憶領域から取得してもよい。補助記憶装置203に格納されるプログラム及びデータは、演算装置201によって読み出され、主記憶装置202にロードされる。
 入力装置204は、外部からの入力を受け付けるインタフェースである。入力装置204は、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
 出力装置205は、処理経過及び処理結果等の各種情報を出力するインタフェースである。出力装置205は、例えば、液晶モニタ及びLCD(Liquid Crystal Display)等の表示装置、音声出力装置、並びにプリンタ等である。
 尚、計算機200は、入力装置204及び出力装置205を有していなくてもよい。この場合、計算機200は、通信装置206を介して、情報の入力及び出力を行う。
 通信装置206は、他の装置との間で通信する。通信装置206、例えば、NIC(Network Interface Card)、無線通信モジュール、及びUSBモジュール等である。
 構造化処理装置100は、業務プロセスが自然言語で記載されたテキストを含む文書データから構造化データを生成する。
 ここで、業務プロセスは複数の手順から構成されるものとする。構造化データは、複数の手順の構造を把握するためデータであり、例えば、Json形式のデータ、XML形式のデータ、RDF形式のデータ、及びGraphML形式のデータ等が考えられる。本発明は、構造化データのデータ形式に限定されない。実施例1の構造化データは、GraphML形式のデータであるものとする。
 以下では、業務プロセスが記述された、1つ以上の文又は1つ以上の文章のまとまりを文書と記載する。また、以下では、文書単位で処理が実行されるものとして説明するが、処理の単位は必ずしも限定されない。
 構造化処理装置100は、情報管理部110及び構造化処理部120を有し、また、文書データベース130、構造化ルールデータベース140、処理データベース150、構造化データデータベース160を保持する。
 文書データベース130は、処理対象の文書を格納するデータベースである。構造化ルールデータベース140は、構造化処理に用いるルールを格納するデータベースである。処理データベース150は、構造化処理の処理結果を格納するデータベースである。構造化データデータベース160は、構造化処理によって生成された構造化データを格納するデータベースである。
 情報管理部110は、文書、ルール、及び構造化データ等を管理する。構造化処理部120は、構造化処理を実行する。尚、情報管理部110及び構造化処理部120は、オペレーティングシステム、ファイルシステム、リレーショナルデータベース及びKVS(Key-Value Store)等のNoSQLを管理するミドルウェア等の一機能として実現してもよい。
 構造化処理部120は、構造化処理において、以下のような処理を実行する。
 (1)構造化処理部120は、文書に含まれるテキストから、業務プロセスの手順に関連する単語等の表現をエンティティとして抽出し、抽出されたエンティティのカテゴリ(エンティティカテゴリ)を分類する。
 (2)構造化処理部120は、一つの手順に関連するエンティティをまとめることによってエンティティグループを生成する。
 (3)構造化処理部120は、エンティティグループに含まれるエンティティのエンティティカテゴリに基づいて、エンティティグループに対応する手順のカテゴリ(手順カテゴリ)を分類する。
 (4)構造化処理部120は、エンティティグループに含まれるエンティティのうち、エンティティグループに対応する手順の特性を表すエンティティ(主エンティティ)を特定する。
 (5)構造化処理部120は、主エンティティ間の関係性に基づいて、業務プロセスに含まれる手順のうち、並列して行われる手順を判定する。
 (6)構造化処理部120は、主エンティティ間の関係性、並びに、手続きの順序及び手順カテゴリの間の関係性に基づいて、手順の順序を判定する。
 (7)構造化処理部120は、(5)及び(6)の判定結果の整合性を確認し、確認結果を記録する。
 (8)構造化処理部120は、(5)及び(6)の判定結果、並びに、整合性の確認結果に基づいて、構造化データを生成する。
 (9)構造化処理部120は、構造化データを表示するための表示情報を生成し、ユーザ端末101に表示情報を送信する。
 ユーザ端末101は、文書及び各種ルール等を登録するための画面を表示する登録部170、並びに、構造化データの提示及び修正等を行うための画面を表示する表示部180を有する。
 尚、複数の計算機200から構成される計算機システムを用いて、構造化処理装置100が有する機能を実現してもよい。また、構造化処理装置100が有する全て又は一部の機能は、仮想化技術を用いて実現してもよい。例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、及びIaaS(Infrastructure as a Service)等のクラウドサービスを用いて構造化処理装置100が有する全て又は一部の機能を実現する方法が考えられる。
 尚、構造化処理装置100及びユーザ端末101は、一つの装置にまとめてもよい。
 図3は、実施例1の文書データベース130の一例を示す図である。
 文書データベース130は、文書ID301及びテキスト302を含むエントリを格納する。一つの文書に対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 文書ID301は、文書の識別情報を格納するフィールドである。テキスト302は、文書に含まれるテキストを格納するフィールドである。尚、テキスト302に格納されるテキストのデータ形式は限定されない。
 図4は、実施例1の構造化ルールデータベース140に格納されるエンティティ/カテゴリ辞書400の一例を示す図である。
 エンティティ/カテゴリ辞書400は、エンティティとして抽出する単語等の表現及びエンティティのカテゴリ(種別)を管理するための情報である。エンティティ/カテゴリ辞書400は、エンティティ401及びカテゴリ402を含むエントリを格納する。一つの表現(エンティティ)に対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 エンティティ401は、抽出する表現を格納するフィールドである。カテゴリ402は、表現のエンティティカテゴリを格納するフィールドである。
 図5は、実施例1の構造化ルールデータベース140に格納される手順カテゴリ判定ルール情報500の一例を示す図である。
 手順カテゴリ判定ルール情報500は、エンティティグループに対応する手順の手順カテゴリの判定ルールを管理するための情報である。手順カテゴリ判定ルール情報500は、ルールID501、カテゴリID502、カテゴリ503、及びルール504を含むエントリを格納する。一つのルールに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 ルールID501は、ルールの識別情報を格納するフィールドである。カテゴリID502は、ルールに合致する手順の手順カテゴリの識別情報を格納するフィールドである。カテゴリ503は、ルールに合致する手順の手順カテゴリを格納するフィールドである。ルール504は、手順カテゴリの判定ルールを格納するフィールドである。
 ここで、手順カテゴリは手順の種別である。物質製造に係る業務プロセスでは、「準備」、「操作」、及び「計測」等の手順カテゴリが考えられ、また、保守に係る業務プロセスでは、「報告」、「原因確認」、及び「処置」等の手順カテゴリが考えられる。
 手順カテゴリの判定ルールとしては、エンティティグループに含まれるエンティティのエンティティカテゴリを用いるルールが考えられる。例えば、エンティティカテゴリが「物質」であるエンティティを含むエンティティグループの手順カテゴリを「物質」と判定するルールがある。また、エンティティグループに含まれるエンティティのカテゴリの組み合わせに基づいて、手順カテゴリを判定するルールも考えられる。例えば、図24Aの保守に係る業務プロセスにおいては、エンティティカテゴリが「アラーム」及び「現象」であるエンティティを含むエンティティグループの手順カテゴリを「報告」と判定するルールがある。尚、前述したルールは一例であってこれに限定されない。
 図5の一番目のエントリには、エンティティグループに含まれる各エントリのエンティティカテゴリを表す変数「entity_categories」に「操作」が含まれている場合、手順カテゴリが「操作」であると判定するルールが定義されている。図5の二番目のエントリには、変数「entity_categories」に「物質」が含まれている場合、手順カテゴリが「物質」であると判定するルールが定義されてる。
 図6は、実施例1の構造化ルールデータベース140に格納される主エンティティ判定ルール情報600の一例を示す図である。
 主エンティティ判定ルール情報600は、エンティティグループに含まれるエンティティの中から主エンティティを特定するためのルール(主エンティティ判定ルール)を管理するための情報である。主エンティティ判定ルール情報600は、ルールID601及びルール602を含むエントリを格納する。一つのルールに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 ルールID601は、ルールの識別情報を格納するフィールドである。ルール602は、主エンティティ判定ルールを格納するフィールドである。
 主エンティティ判定ルールとしては、エンティティカテゴリを用いるルールが考えられる。例えば、エンティティカテゴリが「物質」であるエンティティを主エンティティとして特定するルールである。尚、前述したルールは一例であってこれに限定されない。
 図6の一番目のエントリには、エンティティカテゴリを表す変数「entity_category」が「操作」であるエンティティを主エンティティとして特定するルールが定義されている。
 尚、構造化ルールデータベース140には、主エンティティを補足する関係にある副エンティティを特定するためのルールを管理するための情報が含まれてもよい。
 図7は、実施例1の構造化ルールデータベース140に格納される並列性判定ルール情報700の一例を示す図である。
 並列性判定ルール情報700は、二つの手順が並列して行われるか否かを判定するためのルール(並列性判定ルール)を管理するための情報である。並列性判定ルール情報700は、ルールID701、並列性702、及びルール703を含むエントリを格納する。一つのルールに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 ルールID701は、ルールの識別情報を格納するフィールドである。並列性702は、二つの手順が並列して行われるか否かを表す値を格納するフィールドである。ルール703は、並列性判定ルールを格納するフィールドである。
 並列性判定ルールとしては、二つのエンティティグループの主エンティティ間を結ぶ文に含まれる語句を用いたルールが考えられる。尚、前述したルールは一例であってこれに限定されない。
 図7の一番目のエントリには、主エンティティAと主エンティティBとを結ぶ文に含まれる単語を表す変数「word_between main_entityA_and_main_entityB」に「しかしながら」が含まれている場合、主エンティティAを含むエンティティグループに対応する手順と、主エンティティBを含むエンティティグループに対応する手順とは並列して行われると判定するルールが定義されている。図7の二番目のエントリは、変数「word_between main_entityA_and_main_entityB」に「の後に」が含まれている場合、主エンティティAを含むエンティティグループに対応する手順と、主エンティティBを含むエンティティグループに対応する手順とは並列して行われないと判定するルールが定義されている。
 図8は、実施例1の構造化ルールデータベース140に格納される業務プロセス順序判定ルール情報800の一例を示す図である。
 業務プロセス順序判定ルール情報800は、手続カテゴリに基づいて、各手順の順序を判定するためのルール(業務プロセス順序判定ルール)を管理するための情報である。業務プロセス順序判定ルール情報800は、ルールID801、順序802、及びルール803を含むエントリを格納する。一つのルールに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 ルールID801は、ルールの識別情報を格納するフィールドである。順序802は、手順の大まかな順序を表す情報を格納するフィールドである。「始点」は業務プロセス全体の始めの手順であることを示し、「中間」は業務プロセス全体の中間の手順であることを示し、「終点」は業務プロセス全体の終わりの手順であることを示す。ルール803は、業務プロセス順序判定ルールを格納するフィールドである。
 業務プロセス順序判定ルールとしては、手続カテゴリのみを用いたルールが考えられる。尚、前述の手順パターンの定義方法は一例であってこれに限定されない。例えば、手続きカテゴリ及び主エンティティの位置を用いたルールでもよい。
 業務プロセスによっては、所定の順序で手順が並べられた構造化データを生成することが一般的な場合がある。例えば、図24Aに示す保守に係る業務プロセスでは、一般的に、手順が「報告」、「原因確認」、及び「処置」の順番に並べられる。そこで、予め、構造化データにおける手順の順序を定義しておく。
 図8の一番目のエントリには、手順カテゴリが「物質」であり、かつ、主エンティティがテキストの前半にある場合、当該手続きは、業務プロセス全体の始めの手順であると判定するルールが定義される。図8の二番目のエントリには、手順カテゴリが「操作」である場合、当該手続きは、業務プロセス全体の中間の手順であると判定するルールが定義される。図8の三番目のエントリには、手順カテゴリが「物質」であり、かつ、主エンティティがテキストの後半にある場合、当該手続きは、業務プロセス全体の後半の手順であると判定するルールが定義される。
 図9は、実施例1の構造化ルールデータベース140に格納される手順順序判定ルール情報900の一例を示す図である。
 手順順序判定ルール情報900は、主エンティティ間の関係性に基づいて、二つの手順間の順序を判定するためのルール(手順順序判定ルール)を管理するための情報である。手順順序判定ルール情報900は、ルールID901、順序902、及びルール903を含むエントリを格納する。一つのルールに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 ルールID901は、ルールの識別情報を格納するフィールドである。順序902は、エンティティ間の順序関係を格納するフィールドである。ルール903は、手順順序判定ルールを格納するフィールドである。
 手順順序判定ルールとしては、主エンティティ間を結ぶ文に含まれる語句を用いたルールが考えられる。また、類義語の関係を有するエンティティに基づいたルールであってもよい。例えば、「3番ディスク」及び「ディスク3」が類義語の関連がある場合、「3番ディスク」を含むエンティティグループと「ディスク3」を含むエンティティグループとを出現順に並べるルールが考えられる。尚、類義語の関係以外に、装置構成状態の関連性(同じ装置中のモジュール内にある)、物質の関連性等と用いてもよい。尚、前述したルールは一例であってこれに限定されない。
 図9の一番目のエントリには、主エンティティAと主エンティティBとを結ぶ文に含まれる単語を表す変数「word_between main_entityA_and_main_entityB」に「の後に」が含まれている場合、主エンティティAを含むエンティティグループを、主エンティティBを含むエンティティグループより前に並べるルールが定義されている。図9の二番目のエントリは、変数「word_between main_entityA_and_main_entityB」に「の前に」が含まれている場合、主エンティティBを含むエンティティグループを、主エンティティAを含むエンティティグループより前に並べるルールが定義されている。図9の三番目のエントリには、主エンティティAの直前の単語を表す変数「main_before main_entityA」に「はじめに」が含まれる場合、主エンティティAを含むエンティティグループを業務プロセスの最初に並べるルールが定義されている。図9の四番目のエントリには、主エンティティを表す変数「main_entityA」及び主エンティティBを表す変数「main_entityB」に、特定の関係を示す用語が含まれる場合、主エンティティAを含むエンティティグループを、主エンティティBを含むエンティティグループより前に並べるルールが定義されている。特定の関係は、後述する関係性定義情報1000(図10を参照)に定義されている。
 図10は、実施例1の構造化ルールデータベース140に格納される関係性定義情報1000の一例を示す図である。
 関係性定義情報1000は、エンティティ間の特定の関係性(例えば、類似関係)を管理するための情報である。関係性定義情報1000は、関係性ID1001、第1エンティティ1002、第2エンティティ1003、及び関係性1004を含むエントリを格納する。一つのエンティティ間の関係性に対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 関係性ID1001は、関係性の識別情報を格納するフィールドである。第1エンティティ1002及び第2エンティティ1003は、エンティティを格納するフィールドである。関係性1004は、第1エンティティ及び第2エンティティの間の関係性を格納するフィールドである。
 図11は、実施例1の構造化処理装置100が実行する構造化データ生成処理の概要を説明するフローチャートである。図12、図13、図14、図15、図16、及び図17は、実施例1の構造化処理装置100が生成する情報の一例を示す図である。図18は、実施例1の構造化処理装置100が生成する構造化データの一例を示す図である。図19A及び図19Bは、実施例1のユーザ端末101に表示される構造化データの一例を示す図である。
 構造化処理装置100は、実行契機を検出した場合、構造化データ生成処理を開始する。実行契機は、実行指示の受信及び実行タイミングの検出等である。以下の説明では、一つの構造化データの生成対象の文書の識別情報を含む実行指示を受信した場合の処理を一例として説明する。
 構造化処理部120は、文書データベース130から指定された文書のテキストを取得し、テキスト及びエンティティ/カテゴリ辞書400を用いてエンティティ抽出処理を実行する(ステップS1100)。構造化処理部120は、抽出したエンティティの情報を、エンティティ情報1200として処理データベース150に格納する。
 エンティティ情報1200は、エンティティID1201、エンティティ1202、位置1203、及びカテゴリ1204を含むエントリを格納する。一つのエンティティに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 エンティティID1201は、構造化処理部120によって付与されたエンティティの識別情報を格納するフィールドである。エンティティ1202は、エンティティとして抽出された表現を格納するフィールドである。位置1203は、テキストにおけるエンティティの位置を格納するフィールドである。カテゴリ1204は、エンティティカテゴリを格納するフィールドである。
 エンティティ抽出処理では、構造化処理部120は、エンティティ/カテゴリ辞書400に基づいてエンティティを抽出し、抽出結果に基づいてエンティティ情報1200を生成する。尚、エンティティの抽出方法は、ルールベースの方法に限定されない。機械学習等、既存の固有表現抽出技術を用いることができる。
 次に、構造化処理部120は、抽出されたエンティティ及びテキストを用いて、エンティティグループ生成処理を実行する(ステップS1200)。具体的には、以下のような処理が実行される。
 (S1200-1)構造化処理部120は、テキストに対して文書構造の解析処理を実行し、エンティティの係り受けに関する情報を取得する。構造化処理部120は、エンティティの係り受けに関する情報に基づいて、対応関係を有するエンティティのペアを生成する。尚、エンティティのペアは、エンティティの対応関係を学習したモデルを用いて生成してもよい。構造化処理部120は、生成したペアの情報をエンティティペア情報1300として処理データベース150に格納する。
 エンティティペア情報1300は、ペアID1301、エンティティID1302、及びエンティティID1303を含むエントリを格納する。一つのエンティティのペアに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 ペアID1301は、エンティティのペアの識別情報を格納するフィールドである。エンティティID1302及びエンティティID1303は、ペアを構成するエンティティの識別情報を格納するフィールドである。
 (S1200-2)構造化処理部120は、エンティティペア情報1300を参照し、対応関係によって結びついているエンティティをグルーピングすることによって、エンティティグループを生成する。構造化処理部120は、生成したエンティティグループの情報を、エンティティグループ情報1400として処理データベース150に格納する。
 エンティティグループ情報1400は、エンティティグループID1401、エンティティリスト1402、カテゴリ1403、及び主エンティティID1404を含むエントリを格納する。一つのエンティティグループに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 エンティティグループID1401は、エンティティグループの識別情報を格納するフィールドである。エンティティリスト1402は、エンティティグループを構成するエンティティの識別情報のリストを格納するフィールドである。カテゴリ1403は、手順カテゴリを格納するフィールドである。主エンティティID1404は、エンティティグループの主エンティティの識別情報を格納するフィールドである。尚、この時点では、各エントリのカテゴリ1403及び主エンティティID1404は空欄である。
 以上がエンティティグループ生成処理の説明である。
 次に、構造化処理部120は、手順カテゴリ判定ルール情報500を用いて、手順カテゴリ判定処理を実行する(ステップS1300)。手順カテゴリ判定処理の詳細は図20を用いて説明する。手順カテゴリ判定処理の結果は、エンティティグループ情報1400の各エントリのカテゴリ1403に反映される。
 次に、構造化処理部120は、主エンティティ判定ルール情報600を用いて、主エンティティ判定処理を実行する(ステップS1400)。主エンティティ判定処理の詳細は図21を用いて説明する。主エンティティ判定処理の結果は、エンティティグループ情報1400の各エントリの主エンティティID1404に反映される。
 次に、構造化処理部120は、並列性判定ルール情報700を用いて、並列性判定処理を実行する(ステップS1500)。並列性判定処理の詳細は図22を用いて説明する。並列性判定処理の結果は、並列性情報1500として処理データベース150に格納される。
 並列性情報1500は、エンティティ族ID1501及びエンティティグループリスト1502を含むエントリを格納する。並列して行われるエンティティグループのグループに対して一つのエントリが存在する。以下の説明では、並列して行われるエンティティグループのグループをエンティティ族と記載する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 エンティティ族ID1501は、エンティティ族の識別情報を格納するフィールドである。エンティティグループリスト1502は、エンティティ族を構成するエンティティグループの識別情報を格納するフィールドである。
 次に、構造化処理部120は、業務プロセス順序判定ルール情報800、手順順序判定ルール情報900、及び関係性定義情報1000を用いて、手順順序判定処理を実行する(ステップS1600)。手順順序判定処理の詳細は図23を用いて説明する。手順順序判定処理の結果は、手順順序情報1600として処理データベース150に格納される。
 手順順序情報1600は、順序ペアID1601、エンティティグループID(前)1602、及びエンティティグループID(後)1603を含むエントリを格納する。順序関係を定義する手順に対応するエンティティグループのペアに対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 実施例1では手順の順序は、GraphML形式におけるノード(エンティティグループ)間を接続するエッジの方向として表現される。尚、手順の順序の表現方法に限定されない。
 順序ペアID1601は、順序関係を定義するエンティティグループのペアの識別情報を格納するフィールドである。エンティティグループID(前)1602は、前端のエンティティグループの識別情報を格納するフィールドである。エンティティグループID(後)1603は、後端のエンティティグループの識別情報を格納するフィールドである。
 次に、構造化処理部120は、並列性判定ルール情報700、業務プロセス順序判定ルール情報800、手順順序判定ルール情報900、及び関係性定義情報1000を用いて、整合性確認処理を実行する(ステップS1700)。尚、整合性確認処理は実行されなくてもよい。
 具体的には、構造化処理部120は、エンティティ情報1200、並列性情報1500、及び手順順序情報1600に登録されている情報が、並列性判定ルール情報700、業務プロセス順序判定ルール情報800、手順順序判定ルール情報900、及び関係性定義情報1000を用いて定義されるルールに整合しているか否かを判定する。整合していない情報が存在する場合、構造化処理部120は、当該情報を整合性確認情報1700として処理データベース150に格納する。
 整合性確認情報1700は、確認ID1701、対象1702、及びルールID1703を含むエントリを格納する。一つの違反に対して一つのエントリが存在する。尚、エントリに含まれるフィールドは一例であってこれに限定されない。
 確認ID1701は、エントリの識別情報を格納するフィールドである。対象1702は、違反の対象を表す識別情報を格納するフィールドである。対象1702には、例えば、順序ペア及びエンティティ族の識別情報が格納される。ルールID1703は、対象が違反しているルールの識別情報を格納するフィールドである。
 次に、構造化処理部120は、エンティティ情報1200、エンティティペア情報1300、エンティティグループ情報1400、並列性情報1500、手順順序情報1600、及び整合性確認情報1700を用いて構造化データ出力処理を実行する(ステップS1800)。具体的には、構造化処理部120は、エンティティグループをノードとするグラフを表すデータを構造化データとして生成し、構造化データデータベース160に生成した構造化データを格納する。構造化データは、例えば、図18のようなGraphML形式のデータである。尚、並列して実行される手順に対応するエンティティグループは一つのノードにまとめてもよい。
 図18に示す構造化データは、グラフのノード(エンティティグループ)を定義するエントリ、エンティティグループの主エンティティを定義するエントリ、及びノード間の接続関係を定義するエントリ等を含む。
 ユーザ端末101の表示部180は、構造化データを用いて、図19A及び図19Bに示すような画面を表示する。点線のボックスはエンティティグループを表す。エンティティグループには手順カテゴリを表すアイコンが表示される。エンティティを表すボックスには、エンティティカテゴリ及び主エンティティを表すアイコンが表示される。尚、一点鎖線のボックスは、並列して実行される手順(エンティティグループ)を一つにまとめたものである。
 構造化処理部120は、エンティティグループ間の単純な順序だけではなく、エンティティグループの並列性も判定し、構造化データを生成する。これによって、並列して行われる手順を含む業務プロセスを精度よく構造化できる。また、構造化処理部120は、主エンティティに基づくルール及び手順カテゴリに基づくルールを用いて、手順の順序を判定する。このように、少ないルールを用いて精度よく業務プロセスを構造化することができる。尚、手順カテゴリに基づくルールは必ずしも必要ではない。
 図20は、実施例1の構造化処理装置100が実行する手順カテゴリ判定処理の一例を説明するフローチャートである。
 構造化処理部120は、エンティティグループを選択する(ステップS1301)。具体的には、構造化処理部120は、エンティティグループ情報1400から一つのエントリを選択する。
 構造化処理部120は、エンティティグループに含まれる各エンティティの情報を取得する(ステップS1302)。具体的には、構造化処理部120は、エントリのエンティティリスト1402に登録されている識別情報に基づいて、エンティティ情報1200からエンティティカテゴリを取得する。
 構造化処理部120は、エンティティグループに含まれる各エンティティのエンティティカテゴリ及び手順カテゴリ判定ルール情報500に基づいて、手順カテゴリを特定する(ステップS1303)。具体的には、構造化処理部120は、各エントリのルール504に設定されるルールについて判定を行い、合致したルールに対応するエントリのカテゴリ503の値を取得する。
 構造化処理部120は、エンティティグループ情報1400を更新する(ステップS1304)。具体的には、構造化処理部120は、ステップS1301において選択されたエントリのカテゴリ1403に、特定された手順カテゴリを設定する。
 構造化処理部120は、エンティティグループ情報1400の全てのエントリについて処理が完了したか否かを判定する(ステップS1305)。
 エンティティグループ情報1400の全てのエントリについて処理が完了していない場合、構造化処理部120はS1301に戻る。エンティティグループ情報1400の全てのエントリについて処理が完了した場合、構造化処理部120は手順カテゴリ判定処理を終了する。
 図21は、実施例1の構造化処理装置100が実行する主エンティティ判定処理の一例を説明するフローチャートである。
 構造化処理部120は、エンティティグループを選択する(ステップS1401)。具体的には、構造化処理部120は、エンティティグループ情報1400から一つのエントリを選択する。
 構造化処理部120は、エンティティグループに含まれる各エンティティの情報を取得する(ステップS1402)。具体的には、構造化処理部120は、エントリのエンティティリスト1402に登録されている識別情報に基づいて、エンティティ情報1200からエンティティカテゴリを取得する。
 構造化処理部120は、エンティティグループに含まれる各エンティティのエンティティカテゴリ及び主エンティティ判定ルール情報600に基づいて、主エンティティとなるエンティティを特定する(ステップS1403)。具体的には、構造化処理部120は、各エントリのルール602に設定されるルールについて判定を行い、ルールに合致するエンティティを特定する。
 構造化処理部120は、エンティティグループ情報1400を更新する(ステップS1404)。具体的には、構造化処理部120は、ステップS1401において選択されたエントリの主エンティティID1404に、主エンティティとして特定されたエンティティの識別情報を設定する。
 構造化処理部120は、エンティティグループ情報1400の全てのエントリについて処理が完了したか否かを判定する(ステップS1405)。
 エンティティグループ情報1400の全てのエントリについて処理が完了していない場合、構造化処理部120はステップS1401に戻る。エンティティグループ情報1400の全てのエントリについて処理が完了した場合、構造化処理部120は主エンティティ判定処理を終了する。
 図22は、実施例1の構造化処理装置100が実行する並列性判定処理の一例を説明するフローチャートである。
 構造化処理部120は、エンティティグループのペアを生成する(ステップS1501)。例えば、エンティティグループの主エンティティの位置が近いエンティティグループのペアを生成する方法が考えられる。本発明は、エンティティグループのペアの生成方法に限定されない。
 構造化処理部120は、エンティティグループのペアを選択する(ステップS1502)。
 構造化処理部120は、テキスト及びペアを構成するエンティティグループの主エンティティ、並びに、並列性判定ルール情報700に基づいて、ペアを構成するエンティティグループに対応する二つの手続きが並列して行われるか否かを判定する(ステップS1503)。例えば、一つのエンティティグループの主エンティティと、他のエンティティグループの主エンティティとを結ぶ文に含まれる単語に基づいて判定が行われる。
 二つの手続きが並列して行われない場合、構造化処理部120はステップS1505に進む。
 二つの手続きが並列して行われる場合、構造化処理部120は、並列して実行されることを示すフラグをペアに付与し(ステップS1504)、その後、ステップS1505に進む。
 ステップS1505では、構造化処理部120は、全てのエンティティグループのペアについて処理が完了したか否かを判定する(ステップS1505)。
 全てのエンティティグループのペアについて処理が完了していない場合、構造化処理部120はステップS1502に戻る。
 全てのエンティティグループのペアについて処理が完了した場合、構造化処理部120は、フラグが付与されているペアの情報に基づいて、エンティティ族を生成する(ステップS1506)。具体的には、構造化処理部120は、同じエンティティグループを含むペアをマージすることによってエンティティ族を生成する。
 構造化処理部120は、エンティティ族に関する情報を並列性情報1500として生成し(ステップS1507)、処理データベース150に格納する。
 図23は、実施例1の構造化処理装置100が実行する手順順序判定処理の一例を説明するフローチャートである。
 構造化処理部120は、業務プロセス順序判定ルール情報800に基づいて、各手順の順序を決定し(ステップS1601)、処理結果に基づいて手順順序情報1600を生成する(ステップS1602)。具体的には、構造化処理部120は、業務プロセス順序判定ルール情報800に基づいて、大まかな手順の順序を決定する。また、構造化処理部120は、エンティティグループに含まれる主エンティティの位置等に基づいて、各手順の順序を決定する。
 構造化処理部120は、エンティティグループのペアを生成する(ステップS1603)。例えば、エンティティグループの主エンティティの位置が近いエンティティグループのペアを生成する方法が考えられる。本発明は、エンティティグループのペアの生成方法に限定されない。
 構造化処理部120は、エンティティグループのペアを選択する(ステップS1604)。
 構造化処理部120は、手順順序判定ルール情報900及び関係性定義情報1000を参照し、エンティティグループのペアに合致するルールが存在するか否かを判定する(ステップS1605)。
 エンティティグループのペアに合致するルールが存在しない場合、構造化処理部120はステップS1607に進む。
 エンティティグループのペアに合致するルールが存在する場合、構造化処理部120は、該当するルールに対応するエントリの順序902に基づいて、ペアを構成する二つのエンティティグループに対応する手順間の順序を決定し(ステップS1606)、その後、ステップS1607に進む。
 ステップS1607では、全てのエンティティグループのペアについて処理が完了したか否かを判定する(ステップS1607)。
 全てのエンティティグループのペアについて処理が完了していない場合、構造化処理部120はステップS1604に戻る。
 全てのエンティティグループのペアについて処理が完了した場合、構造化処理部120は、エンティティグループのペアの判定結果に基づいて、手順の順序を決定する(ステップS1608)。
 構造化処理部120は、ステップS1608の処理結果に基づいて、手順順序情報1600を更新する(ステップS1609)。
 尚、構造化処理装置100は、業務プロセス順序判定ルール情報800を保持していなくてもよい。この場合、業務プロセス順序判定ルール情報800を用いた手順の順序の判定は行わないため、手順カテゴリ判定処理を省略することができる。構造化処理装置100は、手順順序判定ルール情報900及び関係性定義情報1000に基づいて、手順の順序を決定すればよい。
 以上で説明したように、実施例1の構造化処理装置100は、業務プロセスが記載された文書から、精度よく構造化データを生成することができる。手順の順序を判定するためのルールは、主エンティティ間の関係性に基づくルール、並びに、手順の順序及び手順カテゴリ間の関係性に基づくルールのみであるため、ルールの設定に要するコストを抑えることができる。
 尚、手順カテゴリ及び主エンティティの判定はルールを用いなくてもよい。例えば、学習処理によって生成されたモデルを用いて判定する方法でもよい。
 尚、手順の順序の判定はルールを用いなくてもよい。例えば、主エンティティ間の単語を用いた学習処理によって生成されたモデルと、手順の順序及び手順カテゴリの関係性を示すデータを用いた学習処理によって生成されたモデルとを用いて判定する方法でもよい。また、ルールとモデルとを組み合わせて判定する方法でもよい。
 尚、副エンティティを用いるルールを設定してもよい。
 尚、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
 また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
 さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
 上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (12)

  1.  少なくとも一つの計算機を備える計算機システムであって、
     複数の手順からなる業務プロセスが記載された文書の入力を受け付け、
     前記文書から、前記業務プロセスに関連する表現をエンティティとして抽出し、
     前記エンティティのカテゴリを分類し、
     一つ以上の前記エンティティから構成され、一つの前記手順に対応するエンティティグループを複数生成し、
     前記エンティティグループの各々について、前記エンティティグループに含まれる一つ以上の前記エンティティのカテゴリに基づいて、前記エンティティグループに対応する前記手順を特徴づける前記エンティティである主エンティティを特定し、
     前記主エンティティ間の関係性に基づいて、前記複数の手順の順序を判定する第1順序判定処理を実行し、
     前記第1順序判定処理の結果に基づいて、前記複数の手順の順序を決定し、
     前記業務プロセスの構造化データとして、順序づけされた前記エンティティグループに関する情報を生成し、出力することを特徴とする計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記主エンティティ間の関係性に基づいて、並列して実行される前記手順を特定する並列性判定処理を実行し、
     前記第1順序判定処理の結果及び前記並列性判定処理の結果に基づいて、前記複数の手順の順序を決定することを特徴とする計算機システム。
  3.  請求項2に記載の計算機システムであって、
     前記第1順序判定処理では、前記主エンティティ間を結ぶ文に含まれる文字列及び前記主エンティティ間の類似性の少なくともいずれかに基づいて、二つの前記手順間の順序が判定され、
     前記並列性判定処理では、前記主エンティティ間を結ぶ文に含まれる文字列に基づいて、並列して実行される前記手順が特定されることを特徴とする計算機システム。
  4.  請求項3に記載の計算機システムであって、
     前記エンティティ間を結ぶ文に含まれる文字列、及び、前記エンティティ間の類似性の少なくともいずれかに基づいて、二つの前記手順間の順序を判定するためのルールを管理するための情報と、
     前記主エンティティ間を結ぶ文に含まれる文字列に基づいて、並列して実行される手順であるか否かを判定するためのルールを管理するための情報と、を保持することを特徴とする計算機システム。
  5.  請求項1に記載の計算機システムであって、
     前記エンティティグループの各々について、前記エンティティグループに含まれる一つ以上の前記エンティティのカテゴリに基づいて、前記エンティティグループに対応する前記手順のカテゴリを分類し、
     前記手順の順序及び前記手順のカテゴリの間の関係性に基づいて、前記複数の手順の順序を判定する第2順序判定処理を実行し、
     前記第1順序判定処理及び前記第2順序判定処理に基づいて、前記複数の手順の順序を決定することを特徴とする計算機システム。
  6.  請求項5に記載の計算機システムであって、
     前記業務プロセスにおける前記手順のカテゴリの出現順序を定義したルールを管理するための情報を保持することを特徴とする計算機システム。
  7.  少なくとも一つの計算機を含む計算機システムが実行する、複数の手順からなる業務プロセスを表す構造化データの生成方法であって、
     前記少なくとも一つの計算機が、前記業務プロセスが記載された文書の入力を受け付ける第1のステップと、
     前記少なくとも一つの計算機が、前記文書から、前記業務プロセスに関連する表現をエンティティとして抽出する第2のステップと、
     前記少なくとも一つの計算機が、前記エンティティのカテゴリを分類する第3のステップと、
     前記少なくとも一つの計算機が、一つ以上の前記エンティティから構成され、一つの前記手順に対応するエンティティグループを複数生成する第4のステップと、
     前記少なくとも一つの計算機が、前記エンティティグループの各々について、前記エンティティグループに含まれる一つ以上の前記エンティティのカテゴリに基づいて、前記エンティティグループに対応する前記手順を特徴づける前記エンティティである主エンティティを特定する第5のステップと、
     前記少なくとも一つの計算機が、前記主エンティティ間の関係性に基づいて、前記複数の手順の順序を判定する第1順序判定処理を実行する第6のステップと、
     前記少なくとも一つの計算機が、前記第1順序判定処理の結果に基づいて、前記複数の手順の順序を決定する第7のステップと、
     前記少なくとも一つの計算機が、前記業務プロセスの構造化データとして、順序づけされた前記エンティティグループに関する情報を生成し、出力する第8のステップと、を含むことを特徴とする業務プロセスを表す構造化データの生成方法。
  8.  請求項7に記載の業務プロセスを表す構造化データの生成方法であって、
     前記少なくとも一つの計算機が、前記主エンティティ間の関係性に基づいて、並列して実行される前記手順を特定する並列性判定処理を実行する第9のステップを含み、
     前記第7のステップは、前記少なくとも一つの計算機が、前記第1順序判定処理の結果及び前記並列性判定処理の結果に基づいて、前記複数の手順の順序を決定するステップを含むことを特徴とする業務プロセスを表す構造化データの生成方法。
  9.  請求項8に記載の業務プロセスを表す構造化データの生成方法であって、
     前記第1順序判定処理では、前記主エンティティ間を結ぶ文に含まれる文字列及び前記主エンティティ間の類似性の少なくともいずれかに基づいて、二つの前記手順間の順序が判定され、
     前記並列性判定処理では、前記主エンティティ間を結ぶ文に含まれる文字列に基づいて、並列して実行される前記手順が特定されることを特徴とする業務プロセスを表す構造化データの生成方法。
  10.  請求項9に記載の業務プロセスを表す構造化データの生成方法であって、
     前記計算機システムは、
     前記エンティティ間を結ぶ文に含まれる文字列、及び、前記エンティティ間の類似性の少なくともいずれかに基づいて、二つの前記手順間の順序を判定するためのルールを管理するための情報と、
     前記主エンティティ間を結ぶ文に含まれる文字列に基づいて、並列して実行される手順であるか否かを判定するためのルールを管理するための情報と、
     を保持することを特徴とする業務プロセスを表す構造化データの生成方法。
  11.  請求項7に記載の業務プロセスを表す構造化データの生成方法であって、
     前記少なくとも一つの計算機が、前記エンティティグループの各々について、前記エンティティグループに含まれる一つ以上の前記エンティティのカテゴリに基づいて、前記エンティティグループに対応する前記手順のカテゴリを分類する第10のステップと、
     前記少なくとも一つの計算機が、前記手順の順序及び前記手順のカテゴリの間の関係性に基づいて、前記複数の手順の順序を判定する第2順序判定処理を実行する第11のステップと、を含み、
     前記第7のステップは、前記少なくとも一つの計算機が、前記第1順序判定処理及び前記第2順序判定処理に基づいて、前記複数の手順の順序を決定するステップを含むことを特徴とする業務プロセスを表す構造化データの生成方法。
  12.  請求項11に記載の業務プロセスを表す構造化データの生成方法であって、
     前記計算機システムは、前記業務プロセスにおける前記手順のカテゴリの出現順序を定義したルールを管理するための情報を保持することを特徴とする業務プロセスを表す構造化データの生成方法。
PCT/JP2023/014180 2022-08-09 2023-04-06 計算機システム及び業務プロセスを表す構造化データの生成方法 WO2024034179A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022126821A JP2024024178A (ja) 2022-08-09 2022-08-09 計算機システム及び業務プロセスを表す構造化データの生成方法
JP2022-126821 2022-08-09

Publications (1)

Publication Number Publication Date
WO2024034179A1 true WO2024034179A1 (ja) 2024-02-15

Family

ID=89851439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/014180 WO2024034179A1 (ja) 2022-08-09 2023-04-06 計算機システム及び業務プロセスを表す構造化データの生成方法

Country Status (2)

Country Link
JP (1) JP2024024178A (ja)
WO (1) WO2024034179A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000089809A (ja) * 1998-09-10 2000-03-31 Fujitsu Ltd 工程計画支援システム及びそのシステムでの処理をコンピュータに行わせるためのプログラムを格納した記録媒体及びそのシステムによる工程計画方法
JP2016015026A (ja) * 2014-07-02 2016-01-28 富士通株式会社 作業対象確定プログラム、作業対象確定装置及び作業対象確定方法
JP2021149557A (ja) * 2020-03-19 2021-09-27 富士通株式会社 スケジューリングプログラム、スケジューリング装置およびスケジューリング方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000089809A (ja) * 1998-09-10 2000-03-31 Fujitsu Ltd 工程計画支援システム及びそのシステムでの処理をコンピュータに行わせるためのプログラムを格納した記録媒体及びそのシステムによる工程計画方法
JP2016015026A (ja) * 2014-07-02 2016-01-28 富士通株式会社 作業対象確定プログラム、作業対象確定装置及び作業対象確定方法
JP2021149557A (ja) * 2020-03-19 2021-09-27 富士通株式会社 スケジューリングプログラム、スケジューリング装置およびスケジューリング方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TANAKA, KATSUMI: "Understanding Specifications Written in Natural Language", TOSHIBA REVIEW, TOSHIBA, JP, vol. 48, no. 6, 1 June 1993 (1993-06-01), JP , pages 467 - 470, XP009552616, ISSN: 0372-0462 *

Also Published As

Publication number Publication date
JP2024024178A (ja) 2024-02-22

Similar Documents

Publication Publication Date Title
EP3364295B1 (en) Method and system for automatically generating functional architecture documents and documents for software design and analysis specification
JP2022547750A (ja) クロスドキュメントインテリジェントオーサリングおよび処理アシスタント
US10885452B1 (en) Relation graph optimization using inconsistent cycle detection
US10606450B2 (en) Method and system for visual requirements and component reuse driven rapid application composition
US11537797B2 (en) Hierarchical entity recognition and semantic modeling framework for information extraction
US20190303115A1 (en) Automated source code sample adaptation
US20200073917A1 (en) Automated production of data-driven reports with descriptive and rich text and graphical contents
US10255046B2 (en) Source code analysis and adjustment system
US8996357B2 (en) Method for generating diagrams, and information processing apparatus for same
US10372828B2 (en) Assessing translation quality
CN111263943A (zh) 文档数字化中的语义规范化
Peng et al. Reusing simulation experiment specifications in developing models by successive composition—A case study of the Wnt/β-catenin signaling pathway
US10275462B2 (en) Automatic translation of string collections
US20210216719A1 (en) Machine-learning based processing and reporting of proposal data
CN110704635B (zh) 一种知识图谱中三元组数据的转换方法及装置
WO2024034179A1 (ja) 計算機システム及び業務プロセスを表す構造化データの生成方法
US10089389B1 (en) Translation of unstructured text into semantic models
CN114175018A (zh) 新词分类技术
KR20210099661A (ko) 주석이 달린 자연어 구문들을 생성하는 방법 및 장치
US20230057706A1 (en) System and method for use of text analytics to transform, analyze, and visualize data
CN112948580B (zh) 一种文本分类的方法和系统
Kaufmann et al. Data Analytics for Organisational Development: Unleashing the Potential of Your Data
US20240127617A1 (en) Systems and methods for automated text labeling
CN108766059A (zh) 一种云服务英语教学设备及教学方法
US20230196034A1 (en) Automatically integrating user translation feedback

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23852165

Country of ref document: EP

Kind code of ref document: A1