Apparatus for generating a database for controlling the workflow of a production process
The graph database-based solution addresses data reliability issues in industrial production by structuring and analyzing shipping data for efficient production control, enhancing workflow flexibility and accuracy.
Patent Information
- Application Number
- JP2024537575
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-21
- Filing Date
- 2022-12-20
- Publication Date
- 2025-01-22
AI Technical Summary
Industrial production processes are complex and require reliable, fast data processing to plan and adjust workflows effectively, but existing methods struggle with data reliability and separation, making it difficult to coordinate production efficiently.
A device and method using a graph database to structure and analyze production data, incorporating shipping data to generate control signals for production workflows, leveraging graph database templates, shipping data extraction, and machine learning for data prediction and quality assessment.
Enables reliable and efficient control of production workflows by structuring data for rapid response to changes, improving flexibility and accuracy in production planning.
Smart Images

Figure 2025501566000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THEINVENTION The present invention relates to an apparatus, a method, a system including said apparatus, and a computer program product for generating a database for controlling the workflow of a production process for a product.Furthermore, the present invention relates to the use of the generated database for controlling the workflow of a production process.Furthermore, the present invention relates to a training apparatus, a training method, and a training computer program product for training a production data model usable by said apparatus. [Background technology]
[0002] 2. Background of the Invention In general, today's industrial production processes are often highly complex and require multiple products and / or semi-finished products to ultimately produce a final product. Modern industrial production processes also often rely on production in different parts of the world, so that the products and semi-finished products used in the production of the final product must be transported from different locations to the final production site in order to produce the final product. Therefore, whether continuous or batch production, the workflow of the production process, i.e. the different steps of the production, must be planned and, if necessary, adjusted while the production process is running. However, this requires the analysis of huge amounts of data, and it is often difficult to separate the data that may affect the workflow, and the workflow must be planned or adjusted separately.
[0003] Furthermore, the reliability of the data may be difficult to assess, making planning or adjusting the workflow of a production process more difficult. It would therefore be advantageous to be able to more quickly and reliably identify data relevant to controlling the workflow of a production process. Summary of the Invention [Problem to be solved by the invention]
[0004] Summary of the Invention It is an object of the present invention to provide an apparatus, a system, a method and a computer program product including said apparatus that allows reliable and fast data processing for controlling the workflow of a production process.It is also an object of the present invention to provide a training apparatus, a training method and a computer program product that allows providing a trained product data model that can be used in the apparatus, system, method and computer product for controlling the workflow of a production process. [Means for solving the problem]
[0005] In a first aspect of the present invention, an apparatus for generating a database for controlling a workflow of a production process for a product is provided, the apparatus including: a) a graph database template providing unit providing a graph database template indicating predetermined product data for filling nodes and edges of a graph database, the product data indicating information about a product and / or one or more semi-finished products used in the production process of the product; b) a shipping data providing unit providing shipping data indicating shipping data of the product and / or one or more semi-finished products used in the production process of the product, the shipping data indicating data generated in relation to a logistics process related to the product and / or one or more semi-finished products; c) a predetermined product data extraction unit extracting predetermined product data about the product and / or one or more semi-finished products from the shipping data; d) a graph database generating unit generating a graph database about the product and / or one or more semi-finished products by utilizing the graph database template filled with the extracted predetermined product data; and e) a control signal generating unit generating a control signal to affect the workflow of the production process for the product based on the graph database about the product and / or one or more semi-finished products.
[0006] Since the product data based on the shipping data is utilized to generate the graph database, data on the workflow of the production process can be provided in a structured and reliable manner. The provided graph database of relevant data is structured and reliable, which increases the effectiveness and reliability of search and analysis, and allows more effective and reliable control of the workflow of the production process by control signals that affect the workflow of the production process. Furthermore, by utilizing the shipping data and generating control signals based on the graph database of products generated based on the shipping data, the vast amount of logistics data provided by the shipping data of any given product can be structured and analyzed, allowing for a quick response to any changes, shortages or differences in the logistics of the product plan. Thus, the product plan becomes more flexible and accurate when the shipping data is further taken into account. Furthermore, a user who is given the technical task of optimizing the production plan using the above-mentioned invention can perform this task more quickly and efficiently due to the structured and reliable manner in which the data is provided from the graph database.
[0007] The device is adapted to generate a database for controlling the workflow of a production process for a product. In general, the device can be realized in any form of hardware and / or software providing the functionality of each part of the device. Furthermore, the device can be realized as part of a computing device or as a network of computing devices, such as a cloud or a server network. The production process can be for any mass production process of a final or intermediate product to be used in a subsequent production process. In particular, the production process is for a product, where the product can be a final product or, more preferably, the product for which the production process is for is a product that needs to be used in the production process of a final or intermediate product. Preferably, the product and / or one or more semi-finished products refer to chemical products produced in a chemical production process, and the control signals are adapted to affect the flow of the chemical production process. The workflow of the production process generally refers to the scheduling and control of the steps required for the production of a final or intermediate product. In particular, the scheduling and control includes the direct or indirect control of a manufacturing facility, i.e., the processing machines of the manufacturing facility, for carrying out the production process. For example, the control and scheduling refers to determining when and how to use certain valves, heaters, agitators, compressors, etc. during the execution of the production process.
[0008] The graph database template provider is adapted to provide a graph database template. In particular, the graph database template provider may have access to or be communicatively coupled to a storage unit in which the graph database templates are pre-stored. Furthermore, also in this case, multiple graph database templates can be stored in the storage unit, for example graph databases providing different predefined product data or graph databases relating to different structurings of predefined product data. The graph database template provider may therefore be adapted to select the respective graph database template for providing the template. However, the graph database template provider may also refer to a receiver for receiving a graph database template, for example from the storage unit or from a user input.
[0009] A graph database template represents predetermined product data to fill the nodes and edges of a graph database. In general, a graph database is a database that represents and stores data using a graph structure having nodes, edges, and properties, where a data item, here a predetermined product data item, is stored in association with a collection of nodes and edges of the graph database. In this context, the edges of the graph database represent the relationships between the nodes connected by each edge. The nodes represent items of interest whose respective relationships are tracked by the graph database. Furthermore, the properties refer to information about each node item. Thus, a graph database not only stores data items, but also enables the storage of relationships between data items and properties of data items such that the data are linked together in a context-aware manner so that each complex data structure can be visualized and queried.
[0010] In this general context, a graph database template refers to any kind of structure that represents data items, here predefined product data items, that are used to generate a graph database, and in particular to fill the nodes and edges of the graph database. For example, a graph database template may be directed to a list of predefined product data items to be used to fill the nodes and edges. However, a graph database may also be directed to a two or more dimensional table structure in which the predefined product data items are defined in a particular two or more dimensional structure. For example, in such a two or more dimensional structure, related predefined product data items may be set in the same row or column of a table.
[0011] Product data refers to information about a product and / or one or more semi-finished products used in the production process of the product. Thus, the product data may be any information about a product and / or one or more semi-finished products, for example, covering where the product is produced, when it is shipped, how it is shipped, the company that produces the product, the quality or technical characteristics of the product, etc. Predefined product data in this context refers to selected items of the overall product data used in the graph database template. Thus, the predefined product data can be considered as a subset of the product data, i.e. a partial list of items. In particular, the predefined product data is pre-configured to provide product data for a predefined function of the generated graph database. Furthermore, the graph database template may be adapted to pre-indicate the structure of the graph database, for example, by indicating in advance whether the predefined product data items refer to nodes or edges, or by indicating connections between different predefined product data items. For example, a predefined product data item in the template may indicate that a shipment is associated with a predefined product data item related to a port, which is again related to a predefined production data item related to the country of the port via a "located in" relationship.
[0012] The shipping data providing unit is adapted to provide shipping data of the product and / or one or more semi-finished products used in the production process of the product. In particular, the shipping data providing unit may also have access to or be communicatively coupled to a storage unit in which shipping data is pre-stored and adapted to provide the pre-stored shipping data. However, the shipping data providing unit may also have access to a storage unit, a sensor unit, or a receiving unit for receiving and providing shipping data from, for example, a user input. The shipping data refers to data generated in connection with a logistics process relating to the product and / or one or more semi-finished products. Preferably, the shipping data refers to available public data. For example, the shipping data may refer to tracking data generated when tracking the shipping process of the product and / or one or more semi-finished products, may refer to customs data generated when the product and / or one or more semi-finished products pass through customs, may refer to transport data or security data generated for the safe transport of the product and / or one or more semi-finished products, etc. Preferably, the shipping data includes logistics sensor data provided by sensor measurements during the execution of a logistics process relating to the product and / or one or more semi-finished products. In particular, products being shipped are tagged with one or more identifying pieces of information that are measured, e.g., scanned, by sensors during different phases and stages of the shipping process. For example, the outside of a container containing one or more products may be tagged with identifying indicators that indicate not only the contents, but different data about the contents of each container that is scanned multiple times during the shipping process. An advantage of using logistics sensor data as shipping data is that logistics sensor data is highly reliable, accurate, and less prone to error than, for example, handwritten customs data.
[0013] The predetermined product data extractor is adapted to extract predetermined product data relating to the product and / or one or more semi-finished products from the shipping data. In general, extraction of the predetermined product data is defined as extracting each value of the predetermined product data items from the shipping data. Thus, extraction includes identifying in the shipping data data items or information defined by the template as the predetermined product data items and retrieving each value of the identified data items as the value of each predetermined product data item. In this context, the term "value" does not necessarily refer to a numerical value, but generally refers to the content of a data item and thus may refer to a word, a sentence, an image or a graphic representation. For example, if the predetermined product data item refers to the place of origin of the product, the value may refer to the name of the city or country in which the place of origin is located. In one embodiment, if the shipping data at least partially includes free text paragraphs, the predetermined product data extractor is adapted to extract the predetermined product data from the free text paragraphs using natural language processing. In general, known natural language processing methods can be used to extract content from such text paragraphs in the shipping data. Preferably, the natural language processing involves automatic parsing of each free text paragraph and utilizing trained or predefined patterns to identify relevant data items, such as product names and descriptions. For example, product names and codes can be provided in the text along with some parameters, such as the molecular size of the product, in a specific predefined pattern. These different data items can then be identified and utilized as product data items. Furthermore, such information can be combined to generate or recognize product specific information.
[0014] The graph database generator is adapted to generate a graph database of the product and / or one or more semi-finished products by utilizing the graph database template filled with the extracted predefined product data. In general, filling the graph database template with the extracted predefined product data refers to inserting or otherwise associating predefined values of the extracted predefined product data items into predefined locations provided by the graph database template. Generating the graph database from the filled graph database template can then be performed by utilizing predefined rules of graph database generation. For example, the graph database template can be structured to indicate in advance which extracted predefined product data items refer to nodes and which extracted predefined product data items refer to edges or properties. Thus, the graph database can then be generated by utilizing predefined rules indicating where the extracted predefined product data items for each node or edge of the graph database are found in the filled graph database template structure.
[0015] The control signal generator is then adapted to generate control signals that affect the workflow of the production process intended for the product based on the graph database of the product and / or one or more semi-finished products. In particular, the control signal generator may be adapted to query the graph database and generate the control signals based on the result of each query. In this context, the control signal generator may be adapted to automatically query the graph database, for example based on a predefined query workflow indicating when to make a particular query to the graph database, for example in relation to a particular production workflow phase of the product, or may be communicatively coupled to a user interface that allows a user to query the graph database. For example, the result of such a query makes it possible to determine when or where a particular product and / or semi-finished product will arrive and can thus be inserted in the workflow of the production process. The control signal may refer to any control signal that affects the workflow of the respective production process intended for the product. For example, the control signal may be intended for a direct control of the workflow of the production process or an indirect control of the workflow of the production process. In case of direct control, the control signal may for example directly control a part of the production plant that executes the workflow of the production process. However, indirect control of the control signals can, for example, result in a change in the scheduling of the workflow of a production process without directly controlling the production process.
[0016] In one embodiment, the apparatus further includes a search unit adapted to search the graph database based on the received query, the search unit adapted to convert the received query into a graph pattern query and to search the graph database for a graph pattern responsive to the graph pattern query, and the control signal generator adapted to generate a control signal based on the results of the search. The received query may refer to a predefined query, e.g. a query stored in the storage unit that may be part of a workflow of queries automatically provided to the graph database. However, the received query may also refer to a query received from a user via a user interface. The received query may generally be in the form of a graph pattern query in advance, in which case conversion may be omitted or simply refers to providing the received query to search the graph database. However, the query may also be provided in another form, e.g. as a question in a known language. In this case, conversion may refer to applying natural language processing to identify the content of the question and generate a graph pattern query based on the content of the question. For example, if one node or edge refers to a node or edge that is unknown, i.e. to be determined by the query, the relationship between different subjects of the question may be directed to the edges in the graph pattern query and may be directed to the nodes in the graph pattern query. Based on the graph pattern query, known search algorithms can be used to search graph databases to determine the results of a query, e.g., an answer to a question.
[0017] In one embodiment, the apparatus further includes a missing data determiner adapted to determine missing product data by comparing the predetermined product data with the extracted predetermined product data and to predict the identified missing product data based on the extracted predetermined product data. In many applications, not all of the predetermined product data is available in the shipping data. For example, a predetermined product data item may refer to a starting location of a product's shipping, but the starting location may not be available for some reason in the available shipping data. By comparing the predetermined product data with the extracted predetermined product data, for example item by item, the missing data determiner is adapted to determine the missing items of the predetermined product data for such cases. In particular, the missing data determiner can utilize the list of predetermined product data items defined by the graph database template to determine whether or not a value of a predetermined product data item on the list is still missing after the extraction step. Such a missing value then indicates that the product data item was not extracted during the execution of the extraction step. The missing data determiner is then adapted to predict the identified missing product data based on the extracted predetermined product data. For example, the missing data determining unit may be adapted to utilize predefined rules for identifying missing product data based on predefined product data extracted in advance. These rules may be very simple, for example, if the starting location of the product shipment is not set, the country of the port from which the product is shipped should be set as the starting location, or if sensor data is not provided from a specific functional part of the shipping path, sensor data from a shipping part before or after the shipping process should be used. However, more complex rules can also be applied for certain predefined product data items and provided, for example, as part of a look-up table comprising rules applicable by the missing data determining unit depending on the determined missing product data items.
[0018] In a preferred embodiment, the missing data determiner is adapted to utilize a trained machine learning based product data model to predict missing product data based on pre-extracted pre-defined product data in order to predict the identified missing data based on the extracted pre-defined product data. The machine learning based product data model may be based on any known machine learning algorithm, for example based on neural networks, random forest algorithms, regression algorithms, etc. In general, the machine learning based product data model may be a supervised machine learning model or an unsupervised machine learning model. In the preferred case of a supervised machine learning model, the machine learning based product data model is preferably based on a feed-forward neural network with a classification layer. In the case of an unsupervised machine learning model, the machine learning based product data model is preferably based on a rule-based model that defines a specific text structure.
[0019] The machine learning based product data model can be trained with historical product data of similar as well as different products, and thus mark each functional portion of the historical product data as missing, and the trained machine learning based product data model can learn to predict the missing product data based on the provided product data.
[0020] In a preferred embodiment, the missing product data model is trained to further utilize an existing graph database of products and / or one or more semi-finished products as input to predict missing product data. Utilizing the existing graph database provides more data to the missing product data model that can be used to derive the missing product data. For example, if a product is shipped by the same company and sent to the same location as another product that has a pre-existing graph database, the missing shipping start location of the first product can be derived from the graph database of the other product. In this embodiment, the missing product data model is also trained based on the existing historical graph database, respectively, to derive the missing data.
[0021] In one embodiment, the apparatus further comprises a quality determiner adapted to determine a quality of the generated graph database, and the control signal generator is adapted to further generate the control signal based on the determined quality of the graph database. The quality of the graph database can be determined in multiple ways. In particular, the quality determiner may be adapted to determine the quality of the generated graph database based on the amount of predictable missing product data as described above. For example, since the predicted product data is generally uncertain, it can be determined that the more missing product data items there are in the shipping data, the lower the quality of the generated graph database. Furthermore, the quality determiner may also be adapted to utilize a predefined list indicating the reliability of different product data sources. For example, shipping data obtained from sensor measurements can be considered to be highly reliable and therefore of high quality, whereas handwritten shipping forms can be considered to be less reliable and therefore of low quality. Thus, the quality determiner may be adapted to utilize a list of product data weights to determine the quality of the generated graph database. Furthermore, the quality determiner may be adapted to determine the quality of each product data item in the generated graph database and to determine the quality of the generated graph database as a combination of the quality of all the product data, e.g., average, lowest quality, highest quality, etc. In a preferred embodiment, the quality determining unit is adapted to determine whether the value of a given product data item is extracted by the extracting unit from a plurality of data sources, e.g., a shipping form provided with the sensor data and the shipping data. The quality determining unit may thus be adapted to determine that the quality of the product data that can be found from the plurality of data sources is higher than the product data found from only one data source.
[0022] In one embodiment, the apparatus further includes an additional data providing unit adapted to provide additional data related to the product and / or one or more semi-finished products, and the predetermined product data extracting unit is adapted to further extract the predetermined product data from the additional data to fill the graph database template. The additional data may refer to any data related to the product and / or one or more semi-finished products that is not already provided by, for example, the shipping data. For example, production process data of the product can be provided by the additional data, such as a recipe for manufacturing the product. The additional data can further augment and refine the generated graph database.
[0023] In one embodiment, the apparatus further includes a full graph database generator adapted to generate a full graph database by connecting the product and / or semi-product graph databases of the multiple graph databases based on the multiple products and / or one or more semi-product graph databases when it is determined that the product data of the nodes and / or edges of the respective graph databases are related. By connecting multiple graph databases containing related nodes and / or edges to the full graph database, the provided data can be structured, sorted, and queried in a more extensive manner. The nodes and / or edges of the respective graph databases can be considered related if they contain the same content or contain relationships that can be specified by the edges. The respective graph databases can be connected via the same node content or via new edges that point to the respective relationships between the nodes to form the full graph database.
[0024] In a further aspect of the present invention, a system for providing control signals for controlling a workflow of a production process for a product is provided, the system comprising: a) an apparatus as described above; b) a memory unit configured to store a graph database of the product and / or one or more semi-finished products produced by the apparatus; and c) an interface unit adapted to enable a user to interact with the graph database stored in the memory unit and / or with the apparatus.
[0025] In a further aspect of the present invention, a training device for training a product data model is provided, the training device including: a) a training data providing unit for providing training data including predetermined product data for each of a plurality of products and / or one or more semi-finished products; b) a trainable product data model providing unit for providing a trainable product data model based on machine learning; and c) a training unit for training the trainable product data model using the provided training data until the trained product data model is adapted to predict one or more predetermined product data missing in a predetermined product dataset of the products and / or semi-finished products based on the predetermined product data present in each predetermined product dataset.
[0026] In a further aspect of the present invention, a method for generating a database for controlling a workflow of a production process for a product is provided, the method comprising: a) providing a graph database template indicating predetermined product data for filling nodes and edges of a graph database, the product data referring to information about the product and / or one or more semi-finished products used in the production process of the product; b) providing shipping data referring to shipping data of the product and / or one or more semi-finished products used in the production process of the product, the shipping data referring to data generated in connection with a logistics process for the product and / or one or more semi-finished products; c) extracting the predetermined product data about the product and / or one or more semi-finished products from the shipping data; d) generating a graph database for the product and / or one or more semi-finished products by utilizing the graph database template filled with the extracted predetermined product data; and e) generating a control signal for affecting the workflow of the production process based on the graph database for the product and / or one or more semi-finished products. In general, the method is referred to as a computer-implemented method.
[0027] In a further aspect of the present invention, a method for training a product data model is provided, the method comprising: a) providing training data including predetermined product data for each of a plurality of products and / or semi-finished products; b) providing a trainable product data model based on machine learning; and c) training the trainable product data model utilizing the provided training data until the trained product data model is adapted to predict data missing in a predetermined product dataset of the products and / or semi-finished products based on the predetermined product data present in each predetermined product dataset. In general, the method is referred to as a computer-implemented method.
[0028] In a further aspect of the present invention there is provided a computer program product for providing control signals for controlling a workflow of a production process directed to a product, the computer program product comprising program code means for causing an apparatus as described above to perform the method as described above.
[0029] In a further aspect of the invention there is provided a computer program product for training a product data model, the computer program product comprising program code means for causing the above mentioned apparatus to carry out the above mentioned method.
[0030] A further aspect of the invention provides for the use of a graph database generated by the above-described apparatus for controlling a chemical production process of a chemical product.
[0031] It is to be understood that the device as described above, the system including the device as described above, the method as described above and the computer program product as described above have preferred embodiments similar and / or identical to those defined in particular in the dependent claims, and furthermore the training device as described above, the training method as described above and the training computer program product as described above also have preferred embodiments similar and / or identical to those defined in particular in the dependent claims.
[0032] It shall be understood that a preferred embodiment of the invention may also be any combination of the dependent claims or the above-mentioned embodiments with the respective independent claims.
[0033] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. [Brief description of the drawings]
[0034] [Figure 1] 1 illustrates, in a schematic and exemplary manner, an embodiment of a system for providing control signals for controlling the workflow of a production process directed to a product. [Diagram 2] 1 illustrates, in a schematic and exemplary manner, an embodiment of an apparatus for training a production data model; [Diagram 3] 1 shows a schematic and exemplary flow diagram of a method for generating control signals for controlling the workflow of a production process of a product. [Figure 4] FIG. 1 is a flow diagram illustrating a schematic, exemplary method for training a product data model. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] Detailed Description of the Preferred Embodiments 1 shows a schematic and exemplary system 100 for providing control signals for controlling the workflow of a production process for a product. The system 100 includes an apparatus 110 for generating a database for controlling the workflow of a production process for a product, a storage unit 130 for storing the graph database generated by the apparatus 110, and an interface unit 120 adapted to enable a user to interact with the graph database stored in the storage unit and / or the apparatus 110. Furthermore, the system 100, and in particular the apparatus 110, are communicatively coupled to a respective control system of a production plant 140 for carrying out a production process for a product.
[0036] In general, the production process may cover any product that can be produced by an industrial plant. Moreover, the workflow of the production process performed by the industrial plant covers all steps necessary to produce a respective final product in the production plant 140. Thus, the workflow of the production process may cover the steps of localizing and transporting a respective semi-finished product from another production plant to the respective production plant 140. However, the workflow may also cover steps performed by the production plant 140 itself, in particular the monitoring and control of the steps of the production process. In general, the production process covers a product when producing a respective product, for example as a final product or as one or more intermediate products of a production process, or when using the product in other ways during the execution of a production process of another product.
[0037] The device 110 includes a graph database template providing unit 111, a shipping data providing unit 112, a predetermined product data extracting unit 113, a graph database generating unit 114, and a control signal generating unit 115. The graph database template providing unit 111 can in particular be realized as a computing unit communicatively coupled to or directed to a storage unit in which one or more graph database templates are pre-stored. Preferably, a plurality of graph database templates are provided, for example for different products and / or semi-finished products or for different predetermined product data items. In such a case, the graph database template providing unit 111 may be adapted to act as a selecting unit for selecting a suitable graph database template from a plurality of graph database templates. For example, the graph database template providing unit 111 may thus be adapted to interact with a user for selecting the respective graph database template by means of the user interface 120. However, the graph database template providing unit 111 may also be adapted to automatically select a suitable graph database template, for example based on predefined rules or based on a simple input from the user.
[0038] The graph database template thus indicates the predefined product data for filling the nodes and edges of the graph database. For example, the graph database template may have the form of a table or list, where the list or table indicates the spaces to be filled with the values of predefined product data items. Each space in the list or table may then be directly associated with a node or edge of the graph database to be subsequently generated. In general, product data refers to all information related to a product and / or one or more sub-products utilized in the production process of the product. Thus, product data may generally cover information such as recipe data indicating the recipe for the product and / or sub-products, operational data indicating operational parameters for producing the product and / or sub-products, sensor data generated in association with the product and / or sub-products, general product information such as manufacturer, batch quantity, shipping information, identification number, etc.
[0039] The shipping data provider 112 is adapted to provide shipping data of a product and / or one or more semi-finished products used in the production process of the product. The shipping data provider 112 is also preferably realized as a computing unit communicatively coupled to or directed to a storage unit 130 in which the shipping data is pre-stored. However, the shipping data provider 112 may also be adapted as a receiver for receiving shipping data from other data sources, such as the Internet, cloud networks, scanners, etc. Shipping data refers to data and information generated in connection with a logistics process relating to a product and / or one or more semi-finished products. For example, products and / or semi-finished products are often not manufactured in the direct environment of the production plant 140, where they are subsequently used so that they need to be shipped from the manufacturing site to the industrial plant 140. During the execution of this logistics process, a number of data are generated, for example, when product identifiers, such as RFID chips, bar codes, etc., are scanned by scanners, i.e. sensors, at multiple locations on the respective shipping route to the location of the production plant 140. However, other data are also generated during the execution of the logistics process, such as, for example, customs declarations, security manuals, transportation manuals, etc. In this manner, the shipping data can provide multiple pieces of information covering not just the location of finished and / or semi-finished products, but also information on product quality, quantity, security, status, characteristics, etc. The information provided by the shipping data can thus be considered relevant to the planning and execution of the production process workflow.
[0040] The predetermined product data extractor 113 is adapted to extract predetermined product data relating to the product and / or one or more semi-finished products from the shipping data. In particular, the predetermined product data extractor 113 may be adapted to extract the predetermined product data by utilizing a graph database template to determine the predetermined product data to be extracted from the shipping data and then extracting each value of the predetermined product data from the shipping data. Preferably, the extractor 113 is adapted to utilize natural language processing to extract the predetermined product data when the shipping data at least partially includes free text paragraphs. In general, known natural language processing methods can be utilized to extract content from such text portions in the shipping data. Preferably, the natural language processing includes automatic parsing of each free text paragraph and utilizing trained or predetermined patterns to identify relevant data items, such as product names and descriptions.
[0041] The graph database generator 114 is then adapted to generate a graph database of the product and / or one or more semi-finished products by utilizing the graph database template filled with the extracted predefined product data. For example, in the filled graph database template, the extracted values for the predefined product data items are associated with each space in the graph database template. The graph database generator 114 can thus generate the graph database by utilizing predefined rules. For example, each space in the graph database template can be defined to be associated with a node and / or edge of the generated graph database. However, the rules can also be more complex to generate the graph database. For example, the rules can indicate that one or more predefined product data values should be combined before being associated with a node or edge of the graph database, the combination may refer to averaging, subtraction, addition, or any other mathematical or logical function. Furthermore, these rules may include "if / then" constructs, for example indicating that if a certain predefined product data item satisfies a predefined condition, for example above or below a predefined threshold, then each predefined result is used to generate the graph database, for example indicating to fill a certain node of the graph database with a certain predefined value.
[0042] The control signal generator 115 may then be adapted to generate a control signal to affect the workflow of the production process performed by the production plant 140. The control signal is generally generated based on a graph database of the products and / or one or more semi-finished products. For example, the control signal may be generated based on an automatic analysis of the graph database with respect to one or more predefined queries performed by the graph database generator 114. For example, the queries may be directed to the quality or expected arrival time of each product, and the graph database generator 114 may be adapted to query the graph database based on these predefined queries and generate a control signal based on the results of the queries. For example, if the results of the queries are directed to low quality products, the control signal generated by the control signal generator 115 may be directed to adding a production step to the workflow of the production process that enhances the quality of the product, such as a cleaning step or other preparation step. Generally, the control signal generator 115 may utilize predefined rules or look-up tables to determine the control signal to provide based on the results of each query. Furthermore, the control signal generator 115 may also be adapted to learn each control signal from a user interaction. For example, if a user initiates a particular control by providing a respective control signal based on the result of the query, the control signal generator 115 may be adapted to store the respective control signal in association with the respective result and to utilize the stored control signal if the result is found again, e.g., in another graph database for another product. Each determined or modified workflow of the production process may then be implemented in the production plant 140.
[0043] Further, the apparatus 110 may be adapted to store the generated graph database in the graph database storage unit 130. Further, the apparatus 110 may optionally further include a search unit to enable searching of each graph database, e.g., the graph databases stored in the storage unit 130, based on the received query. Each query may be received, for example, via the interface unit 120, which may be adapted to enable a user to enter a query. The search unit may be adapted to convert the received query into a graph pattern query, for example using natural language processing to determine semantics within the query indicating edges and nodes of the graph pattern. In general, known methods are available for converting natural language queries into graph pattern queries, for example, as described in detail in the paper "Answering natural language questions by subgraph matching over knowledge graphs," by S. Hu et al., IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING (2017), pages 824 to 837, and the paper "Querying knowledge graphs in natural language," by S. Liang et al., Journal of Big Data (2021), pages 1 to 23. The search unit may then be adapted to search the graph database for respective graph patterns that respond to the graph pattern query. The found results of the query may then be provided to the user via the interface unit 120, or may be used by the control signal generator 115 to generate a control signal. Thus, in this embodiment, the control signal may be generated by the control signal generator 115 in an interactive process with a user providing a respective query for querying the graph database.
[0044] In a further preferred embodiment, the apparatus 110 may include a missing data determiner adapted to determine missing product data in the extracted predetermined product data. In particular, the shipping data may not include all the predetermined product data, i.e. values of one or more predetermined product data items may be missing. The missing data determiner may be adapted to determine such missing product data by comparing the predetermined product data with the extracted predetermined product data, in particular by determining the predetermined product data items whose values are not extracted. The missing data determiner may then be further adapted to predict the identified missing product data based on the pre-extracted predetermined product data. For example, depending on which product data is missing, a pre-defined rule may be used for the prediction. However, it is preferred that the missing data determiner is adapted to use a trained machine learning based product data model to predict missing product data based on the pre-extracted predetermined product data. The trained machine learning based product data model may be trained, for example, by an apparatus 200 as shown in FIG. 2.
[0045] The device 200 shown in Fig. 2 is adapted to train a product data model to predict each missing product data. In particular, the training device 200 includes a training data providing unit 210 for providing training data, a trainable product data model providing unit 220 for providing a trainable product data model based on machine learning, and a training unit 230 for performing training of the trainable product data model. The training data providing unit 210 may be directed to or communicatively coupled to a storage unit in which the training data is pre-stored. Preferably, the training data providing unit 210 is further communicatively coupled to a storage unit 130 for storing one or more pre-generated graph databases. The training data provided by the training data providing unit 210 each includes predetermined product data for a plurality of products and / or one or more sub-products. The predetermined product data for a product can be considered as a predetermined product dataset including a plurality of predetermined product data items. For example, extracted product data for a previous product and / or sub-product for which a graph database is generated is available. In particular, the training data providing unit 210 may be adapted to utilize the pre-generated graph database in the storage unit 130 to determine respective product data for a plurality of products and / or semi-finished products.
[0046] The trainable product data model providing unit 220 is then adapted to provide a trainable machine learning based product data model. Such a trainable product data model may be based on any known machine learning algorithm, such as neural network, random forest, Bayesian classifier, etc. Preferably, the trainable product data model refers to a supervised machine learning model, in particular a feed-forward neural network with a classification layer. However, an unsupervised machine learning model, in particular a rule-based model defining a specific text structure, may also be used. Each trainable machine learning based product data model may be stored in a storage unit accessible by the trainable product data model providing unit 220 to provide each trainable machine learning based product data model. The training unit 230 is then adapted to train the trainable product data model. In particular, the provided training data is used to train the trainable product data model. The training may be performed using any known training method for machine learning based algorithms, and the training is performed until the trained product data model is adapted to predict one or more predefined product data items missing in predefined product data of products and / or semi-products based on predefined product data present in each predefined product dataset. Such a trained product data model may then be utilized by the missing data determiner of device 110 to predict the identified missing product data.
[0047] Fig. 3 shows a schematic and exemplary flow diagram of a method 300 for generating a database for controlling the workflow of a production process for a product. In general, the method 300 can be performed by, for example, the device 110 as described in detail with respect to Fig. 1. In particular, the steps of the method 300 can be performed by one or more functional parts of the device 110 as previously described above. The method 300 comprises a step 310 of providing a graph database template indicating predetermined product data for filling the nodes and edges of the graph database. Furthermore, the method 300 comprises a step 320 of providing shipping data of the product and / or one or more semi-finished products used in the production process of the product. In a further step 330, the predetermined product data is extracted for the product and / or one or more semi-finished products from the shipping data. Then, in a step 340, a graph database is generated for the product and / or one or more semi-finished products by utilizing the graph database template filled with the extracted predetermined product data. Then, in a final step 350, a control signal is generated to affect the workflow of the production process, the control signal being generated based on the graph database for the product and / or one or more semi-finished products. Additionally, further steps such as searching a graph database or determining and predicting missing product data may be provided by the method 300, which may be performed according to the principles already discussed.
[0048] Fig. 4 shows a schematic and exemplary training method 400 for training a product data model, which can be executed, for example, by the device 200 described with reference to Fig. 2. In general, the steps of the method 400 may be directed to functions provided by one or more functional units of the device 200, as previously described above. In particular, the method 400 comprises a first step 410 of providing training data comprising respective predetermined product data for a plurality of products and / or semi-finished products. In step 420, a trainable machine learning based product data model is further provided. Furthermore, in a final step 430, the trainable product data model is trained using the provided training data. In particular, the trainable product data model is trained until the trained product data model is adapted to predict data missing in a predetermined product dataset of products and / or semi-finished products based on the predetermined product data present in each predetermined product dataset.
[0049] One of the fundamental advantages of the present invention, exemplarily described above, is the combination in an automated manner of publicly available product data published by the customs authorities of several countries. Each data can be kept up to date and can be combined, i.e. queried, using natural language processing techniques to identify, for example, whether a finished product or semi-finished product has been received for a production process and whether the product or semi-finished product described in the trade data is identical. This goal is achieved by performing precise data integration by using a graph database to structure and store the vast amount of available product data to serve each query for automatic characterization of the product data.
[0050] Further principles of the present invention relating to the generation of a graph database are described below. In general, to generate the graph database, shipping data can be collected and provided, for example, by a shipping data provider, for shipping and / or customs information. This shipping data preferably includes sensor data. For example, containers are often electronically tracked by tags attached to the containers and then scanned at various customs locations, such as ports. This scanned shipping data is publicly available and this information can be collected from the respective databases in a pre-structured format in advance.
[0051] However, in some cases, the shipping data is not complete, i.e. does not include values for all predefined product data items of the graph database template, so it is preferable to perform data preparation, for example to predict the values of each of the missing product data. Preferably, this data preparation is supported by machine learning. Furthermore, information about the shipped products may only be available in free text paragraphs of the shipping data. For this reason, text recognition is preferably applied and natural language processing algorithms are further used to extract product information, i.e. product data, from said text. The extracted product data is then used to generate the graph database. Preferably, the generated graph database can then be evaluated, i.e. the quality of the generated graph database can be determined. For example, a quality can be determined for each extracted product data value, or more generally for each product data source, and each extracted product data can be ranked accordingly. Furthermore, the quality can also be determined interactively, where the user is asked to manually inspect at least a portion of the extracted product data and provide feedback on the quality. This quality feedback by the user can then be used to determine the quality of the generated graph database. Furthermore, the determined quality of the product data or the graph database can be provided to the user, allowing the user to evaluate the relevance of each product data and / or graph database.
[0052] Preferably, the product data provided in the form of a graph database is further standardized using uniform codes, for example by using HS codes, which refer to codes used internationally for products. These codes are widely used in customs and tracking beforehand, and providing the product data in such a format facilitates data transfer to different platforms. Furthermore, these codes are often used in other databases, so the graph database structure can be easily enriched by collecting additional data from other data sources. Some additional data sources may be directed to information about further aspects of the product, and may include, for example, a composite specification, or a functional bill of materials for the product.
[0053] The graph database can be generated and implemented for different use cases. For example, the graph database can be used to generate control signals that affect the production scheduling of materials in an industrial plant. In such applications, the control signal generator can be provided with production process information regarding the production process of a product, for example in the form of a recipe or a compound specification. The control signal generator can then be adapted to derive raw materials, i.e. semi-finished products, from the provided production process information. Based on the derived raw materials, the control signal generator can then be adapted to query the generated graph database for each of the raw materials regarding the current geographic location of the raw materials. Furthermore, other information, such as the type of shipment, can also be queried from the graph database of the raw materials. Based on this queried information, the control signal generator can be adapted to estimate the time of arrival (ETA) of the raw materials, for example based on known interpolation rules, and can then generate control signals for scheduling the production of the industrial plant based on the estimated ETA.
[0054] Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention from a study of the drawings, the disclosure, and the appended claims.
[0055] In the claims, the word "comprising" does not exclude other elements or steps and the indefinite article "a" or "an" does not exclude a plurality.
[0056] A single functional unit or device may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
[0057] The procedures performed by one or more functional units or devices, such as providing the graph database template and shipping data, extracting the predetermined product data, generating the graph database, generating the control signals, etc., may be performed by any number of other functional units or devices and may be implemented as program code means of a computer program and / or dedicated hardware.
[0058] The computer program product may be stored / distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunications systems.
[0059] Any of the functional units described herein may be a processing unit that is part of a computing system. The processing unit may include a general-purpose processor, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or any other dedicated circuit. Any memory may be physical system memory, and may be volatile, non-volatile, or some combination of both. The term "memory" may include computer readable storage media, such as non-volatile mass storage. If the computing system is distributed, the processing and / or storage capabilities may also be distributed. The computing system may include multiple structures as "executable components." The term "executable components" is a structure well understood in the computing arts as a structure that may be software, hardware, or a combination thereof. For example, if implemented in software, one skilled in the art will understand that the structure of the executable components may include software objects, routines, methods, etc. that may be executed on the computing system. This may include both executable components in the heap of the computing system or executable components on a computer readable storage medium. The structure of an executable component may reside on a computer-readable medium such that, when interpreted by one or more processors, e.g., processor threads, of a computing system, it causes the computing system to perform a function. Such structure may be directly computer readable by a processor, e.g., where the executable component is binary, or may be structured to be interpretable and / or compiled to generate binary that is directly interpretable by a processor, e.g., whether in a single step or multiple steps. In other examples, the structure may be hard-coded or hard-wired logic gates implemented exclusively or nearly exclusively in hardware, such as in a field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other dedicated circuit. Thus, the term "executable component" refers to a structure that is well understood by those skilled in the computing arts, whether implemented in software, hardware, or a combination thereof.All embodiments herein are described in terms of operations performed by one or more processors of a computing system. When such operations are implemented in software, one or more processors direct the operation of the computing system in response to executing the computer-executable instructions that make up the executable components. A computing system may also include a communication channel that allows the computing system to communicate with other computing systems, for example, via a network. A "network" is defined as one or more data links that allow the transport of electronic data between computing systems and / or modules and / or other electronic devices. When information is transferred or provided to a computing system via a network or another communication connection, for example, either hardwired, wireless, or a combination of hardwired and wireless, the computing system properly considers the connection to be a carrier medium. A carrier medium may include a network and / or data link that can be used to transport the desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose computing system or combination thereof. Although not all computing systems require a user interface, in some embodiments, the computing system includes a user interface system for use in interfacing with a user. The user interface serves as an input or output mechanism to the user, for example, via a display.
[0060] Those skilled in the art will appreciate that the present invention may be practiced in networked computing environments having many types of computing system configurations, such as personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, cell phones, PDAs, pagers, routers, switches, data centers, wearables such as glasses, etc. The present invention may also be practiced in distributed system environments where tasks are performed together by local and remote computing systems that are linked, for example, over a network, either by hardwired data links, wireless data links, or a combination of hardwired and wireless data links. In a distributed system environment, program modules may be located in both local and remote memory storage locations.
[0061] Those skilled in the art will also appreciate that the present invention may be implemented in a cloud computing environment. The cloud computing environment may be distributed, but this is not required. When distributed, the cloud computing environment may be distributed internationally within an organization and / or may have components held across multiple organizations. In this specification and the claims that follow, "cloud computing" is defined as a model that enables on-demand network access to a shared pool of configurable computing resources, such as networks, servers, storage, applications, and services. The definition of "cloud computing" is not limited to any of the many other advantages that are obtained when such a model is deployed. The illustrated computing system includes various components or functional blocks that can implement various embodiments disclosed herein as described. The various components or functional blocks may be implemented in a local computing system or in a distributed computing system that includes elements that reside in the cloud or that implement aspects of cloud computing. The various components or functional blocks may be implemented as software, hardware, or a combination of software and hardware. The illustrated computing system may have more or fewer components than those illustrated, and some components may be combined as appropriate.
[0062] Any reference signs in the claims shall not be construed as limiting the scope.
[0063] The present invention relates to an apparatus for generating a database for controlling the workflow of a production process. A providing unit provides a graph database template representing predetermined product data, the product data referring to information about the product. The providing unit provides shipping data of the product, the shipping data referring to data generated in relation to a logistics process. An extracting unit extracts predetermined product data of the product from the shipping data. A generating unit generates a graph database of the product by utilizing the graph database template filled with the extracted predetermined product data. The generating unit generates a control signal to affect the workflow of a production process targeting the product based on the graph database of the product.
Claims
1. An apparatus for generating a database for controlling a workflow of a production process for a product, the apparatus (110) comprising: a graph database template providing unit (111) for providing a graph database template indicative of predetermined product data for filling nodes and edges of a graph database, the product data indicating information on the product and / or one or more semi-finished products used in the production process of the product; a shipping data providing unit (112) that provides shipping data of the product and / or one or more semi-finished products used in the production process of the product, the shipping data referring to data generated in relation to a logistics process related to the product and / or the one or more semi-finished products; a predetermined product data extraction unit (113) for extracting predetermined product data relating to the finished product and / or one or more semi-finished products from the shipping data; a graph database generator (114) for generating a graph database for the product and / or the one or more semi-finished products by utilizing the graph database template filled with the extracted predetermined product data; and a control signal generator (115) for generating a control signal to affect the workflow of the production process directed to the product based on the graph database relating to the product and / or the one or more semi-finished products.
2. The apparatus of claim 1 , wherein the product and / or the one or more semi-finished products refer to chemical products produced in a chemical production process, and the control signals are adapted to affect a flow of the chemical production process.
3. 3. The apparatus of claim 1, further comprising a search unit adapted to search the graph database based on a received query, the search unit adapted to convert the received query into a graph pattern query and to search the graph database for a graph pattern responsive to the graph pattern query, and the control signal generator adapted to generate the control signal based on a result of the search.
4. 10. The apparatus of claim 1, wherein the apparatus (110) further comprises a missing data determiner adapted to determine missing product data by comparing the predetermined product data with the extracted predetermined product data and to predict the identified missing product data based on the extracted predetermined product data.
5. 5. The apparatus of claim 4, wherein the missing data determiner is adapted to utilize a trained machine learning based product data model to predict missing product data based on previously extracted predetermined product data to predict the identified missing data based on the extracted predetermined product data.
6. 6. The apparatus of claim 5, wherein the missing product data model is trained to further utilize as input an existing graph database of products and / or one or more sub-products to predict the missing product data.
7. 10. The apparatus according to claim 1, wherein the shipping data at least partially comprises free text paragraphs, and the predetermined product data extraction unit (113) is adapted to extract predetermined product data from the free text paragraphs using natural language processing.
8. 10. The apparatus of any one of the preceding claims, wherein the apparatus (110) further comprises a quality determiner adapted to determine a quality of the generated graph database, and wherein the control signal generator (115) is adapted to further generate the control signal based on the determined quality of the graph database.
9. 10. The apparatus of claim 1, further comprising an additional data proving unit adapted to provide additional data relating to the product and / or the one or more semi-finished products, and wherein the predetermined product data extracting unit is adapted to extract further predetermined product data from the additional data in order to satisfy the graph database template.
10. 10. The apparatus according to any one of the preceding claims, further comprising a full graph database generator (114) adapted to generate a full graph database based on a plurality of products and / or one or more semi-product graph databases by connecting the product and / or semi-product graph databases of the plurality of graph databases if product data of nodes and / or edges of the respective graph databases are determined to be relevant.
11. 20. Apparatus according to any one of the preceding claims, wherein said shipping data comprises logistics sensor data provided by sensor measurements during execution of said logistics process for said finished product and / or said one or more semi-finished products.
12. A system for providing control signals for controlling a workflow of a production process for a product, the system (100) comprising: An apparatus (110) according to any one of the preceding claims, A storage unit (130) for storing a graph database of the product and / or one or more semi-finished products produced by the device (110); A system comprising a graph database stored in said storage unit (130) and / or an interface unit (120) adapted to enable a user to interact with said device (110).
13. A training device for training a product data model, the training device (200) comprising: A training data providing unit (210) for providing training data including predetermined product data for each of a plurality of products and / or one or more semi-finished products; a trainable product data model provider (220) for providing a trainable machine learning based product data model; and a training unit (230) for training the trainable product data model using the provided training data until the trained product data model is adapted to predict one or more predetermined product data missing in a predetermined product dataset of a product and / or semi-finished product based on the predetermined product data present in the respective predetermined product dataset.
14. A method for generating a database for controlling a workflow of a production process for a product, the method (300) comprising: providing 310 a graph database template indicating predetermined product data for populating nodes and edges of a graph database, the product data referring to information about the product and / or one or more sub-products utilized in the production process of the product; providing (320) shipping data for the product and / or one or more semi-finished products utilized in the production process of the product, the shipping data referring to data generated in connection with a logistics operation relating to the product and / or the one or more semi-finished products; Extracting (330) predetermined product data for the finished product and / or one or more sub-finished products from the shipping data; generating (340) a graph database for the product and / or the one or more sub-products by utilizing the graph database template filled with the extracted predefined product data; generating (350) a control signal to affect the workflow of the production process based on the graph database of the product and / or the one or more sub-products.
15. A method for training a product data model, the method comprising: providing 410 training data including predetermined product data for each of a plurality of finished products and / or semi-finished products; Providing 420 a trainable machine learning based product data model; and training (430) the trainable product data model utilizing the provided training data based on the predetermined product data present in each predetermined product dataset until the trained product data model is adapted to predict data missing in the predetermined product dataset of products and / or semi-finished products.
16. 13. A computer program product for providing control signals for controlling a workflow of a production process directed to a product, the computer program product comprising program code means for causing an apparatus (110) to perform the method of claim 12.
17. A computer program product for training a product data model, comprising program code means for causing an apparatus (200) according to claim 11 to perform the method according to claim 13.
18. Use of the graph database generated by the apparatus (110) of claim 1 for controlling a chemical production process of a chemical product.