METHOD AND SYSTEM FOR SEMI-AUTOMATIC COMPLETION OF AN ENGINEERING PROJECT
20220414573 · 2022-12-29
Inventors
Cpc classification
G06Q10/06393
PHYSICS
International classification
Abstract
An initial sequence representing a partially configured engineering project is processed by a recurrent neural network to generate recommendations being a sequence of complementary items that completes an engineering project. A feature predictor component computes a set of features for each recommendation. A bisection component selects a feature from the sets of features that distinguishes some of the recommendations and forms pruned recommendations by choosing all instances from the recommendations that have the selected feature. A user interface displays the selected feature, detects a user interaction indicating that the selected feature is required, outputs the pruned recommendations. The engineering project is completed by combining the initial sequence with the chosen pruned recommendation. As a result, a user is supported in choosing optimal modules, as the selected feature can distinguish the recommendations that have the desired technical properties or target system KPI.
Claims
1. A method for semi-automatic completion of an engineering project, comprising the following operations performed by components, wherein the components are software components executed by one or more processors and/or hardware components: calculating, by a first artificial intelligence component, latent representations of initial items of an initial sequence, with the initial sequence representing a partially configured engineering project, and with the initial items representing hardware modules and/or software modules used in the engineering project; processing, by a second artificial intelligence component, the latent representations to generate recommendations, with each recommendation being a sequence of complementary items that completes the engineering project when combined with the initial sequence; computing, by a feature predictor component, a set of features for each recommendation; selecting, by a bisection component, a feature from the sets of features that distinguishes some of the recommendations; displaying, by a user interface, the selected feature, and detecting, by the user interface, a user interaction indicating that the selected feature is required; forming pruned recommendations by choosing all instances from the recommendations that have the selected feature; outputting, by the user interface, the pruned recommendations, and detecting, by the user interface, a user interaction choosing one of the pruned recommendations; automatically completing the engineering project by combining the initial sequence with the chosen pruned recommendation; and outputting and/or storing the completed engineering project.
2. The method according to claim 1, wherein: the second artificial intelligence component has been trained to assign a plausibility score to each recommendation, indicating the plausibility of the respective sequence of complementary items, and the pruned recommendations are sorted in the outputting operation according to their plausibility score on a display of the user interface.
3. The method according to claim 1, wherein: the feature predictor component includes a rule-based system, and/or the feature predictor component includes at least one simulation module that computes at least some of the features, and/or at least some of the features are key performance indicators, in particular energy efficiency measures and/or performance measures.
4. The method according to claim 1, wherein the bisection component is adapted to select a feature that distinguishes approximately half of the recommendations by choosing a feature that maximizes a Gini index.
5. The method according to claim 1, wherein the second artificial intelligence component is implemented as a sequence-to-sequence model, and wherein the sequence-to-sequence model processes the input sequence.
6. The method according to claim 1, wherein the first artificial intelligence component and the second artificial intelligence component comprise artificial neural networks trained on technical properties of modules of the engineering system and a plurality of sequences of previously selected items.
7. A system for semi-automatic completion of an engineering project, comprising the following components, wherein the components are software components executed by one or more processors and/or hardware components: a first artificial intelligence component, adapted for calculating latent representations of initial items of an initial sequence, with the initial sequence representing a partially configured engineering project, and with the initial items representing hardware modules and/or software modules used in the engineering project; a second artificial intelligence component, adapted for processing the latent representations to generate recommendations, with each recommendation being a sequence of complementary items that completes the engineering project when combined with the initial sequence; a feature predictor component, adapted for computing a set of features for each recommendation; a bisection component, adapted for selecting a feature from the sets of features that distinguishes some of the recommendations and for forming pruned recommendations by choosing all instances from the recommendations that have the selected feature; a user interface, adapted for: displaying the selected feature and detecting a user interaction indicating that the selected feature is required, outputting the pruned recommendations and detecting a user interaction choosing one of the pruned recommendations; and at least one hardware and/or software component, adapted for automatically completing the engineering project by combining the initial sequence with the chosen pruned recommendation, and outputting and/or storing the completed engineering project.
8. A computer program, which is being executed by one or more processors of a computer system and performs the method according to claim 1.
9. A computer program product, comprising a computer readable hardware storage device having computer readable program code stored therein, said program code executable by a processor of a computer system to implement a method according to claim 1.
10. A computer-readable storage media having stored thereon: instructions executable by one or more processors of a computer system, wherein execution of the instructions causes the computer system to perform the method according to claim 1.
Description
BRIEF DESCRIPTION
[0051] Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:
[0052]
[0053]
[0054]
DETAILED DESCRIPTION
[0055] In the following description, various aspects of embodiments of the present invention and embodiments thereof will be described. However, it will be understood by those skilled in the art that embodiments may be practiced with only some or all aspects thereof. For purposes of explanation, specific numbers and configurations are set forth in order to provide a thorough understanding. However, it will also be apparent to those skilled in the art that the embodiments may be practiced without these specific details.
[0056] The described components can each be hardware components or software components. For example, a software component can be a software module such as a software library; an individual procedure, subroutine or function; or, depending on the programming paradigm, any other portion of software code that implements the function of the software component. A combination of hardware components and software components can occur, in particular, if some of the effects according to embodiments of the invention are exclusively implemented by special hardware (e.g., a processor in the form of an ASIC or FPGA) and some other part by software.
[0057] In the following, the term “component” is used for the components that perform the method, while the term “module” is used for the modules that are constituting the engineering project. Despite the dedicated use of these terms, both terms are simply referring to the generic concept of a module/component.
[0058] As can be seen from the block diagram of
[0059] The recommendation engine 1 as illustrated in
[0060] The second artificial intelligence component 1B is adapted to process the latent representations of the initial items I.sub.1, I.sub.2, I.sub.3 to generate recommendations R, with each recommendation R being a sequence of complementary items that completes the engineering project when combined with the initial sequence. The recommendations R can be output via an interface 1C and be used, for example, to complete the engineering project.
[0061] In the embodiment illustrated in
[0062] In the illustrated embodiment of
[0063] In a possible embodiment, the recommendation engine 1 has access to a database 4 storing item properties of different items. Further, the recommendation engine 1 can have access to a further database 5 where a plurality of completed sequences of items are stored.
[0064] The first artificial intelligence component 1A of the recommendation engine 1 can comprise in a possible embodiment a trained feature learning component adapted to calculate the latent representations of the initial items I.sub.1, I.sub.2, I.sub.3 stored in a selection basket of the memory 2 as shown in
[0065] In a possible embodiment, the second artificial intelligence component 1B acts as a sequential recommender system and implements a sequence-to-sequence model, for example a recurrent neural network or a transformer, that processes the initial sequence. While the output of the second artificial intelligence component 1B are multiple sequences that can potentially complete the current partial engineering solution, the second artificial intelligence component 1B can be trained to assign a plausibility score to each recommendation R, indicating the plausibility of the respective sequence. As a result, each recommendation R can contain a plausibility score for the respective recommendation R.
[0066] In a possible embodiment, the initial items I.sub.1, I.sub.2, I.sub.3 are selected by the user U via the user interface 3 having a screen adapted to output available items to the user. In addition, items contained in the recommendations R can be displayed on the screen of the user interface 3 for selection by the user U. Further, it is possible that the user U selects one or more items I which do not appear one after the other from one of the recommendations R.
[0067] The first artificial intelligence component 1A as well as the second artificial intelligence component 1B can comprise artificial neural networks trained on technical properties of modules of the engineering system and trained on a plurality of sequences of previously selected items. In a possible embodiment, the first artificial intelligence component 1A can comprise a trained autoencoder. In an alternative embodiment, the first artificial intelligence component 1A comprises a tensor factorization model. In a preferred embodiment, the second artificial intelligence component 1B comprises a trained recurrent neural network RNN. The recurrent neural network RNN is designed to exploit the temporal dependencies between the items within the engineering project. Further artificial neural networks can also be used for the second artificial intelligence component 1B. In a possible embodiment, the second artificial intelligence component 1B comprises a trained convolutional neural network.
[0068] The pruning component PRC contains a feature predictor component FPC implementing an algorithm that predicts technical features of each recommended engineering solution, in other words technical features of each possible completion of the engineering project as represented by the respective recommendation R.
[0069] The feature predictor component FPC may be implemented as a rule-based system (e.g., if all modules are fail-safe, then the whole solution has the feature “failsafe”; or fitness to operate under certain environmental conditions based on the properties of the modules, etc.) and/or based on at least one simulation module that computes KPIs such as energy efficiency or performance measures of the engineering solution as represented by the respective recommendation R.
[0070] The pruning component PRC further contains a bisection component BC implementing a solution space bisection algorithm, which is a heuristic that selects one of the features computed by the feature predictor component FPC. Intuitively speaking, the goal of the bisection component BC is to select a feature that allows to split a given set of solutions, here the recommendations R, into two sets of approximately same size. An alternative objective is to find a partition where the additive plausibility scores of the solutions, here the recommendations R, in the two disjoint sets are approximately equal. A suitable choice is—similar to a decision tree—selecting a feature that maximizes the Gini index, defined as
Gini index=p.sub.f(1−p.sub.f),
where p.sub.f is the proportion of solutions (recommendations R) that has a feature f.
[0071] The system as illustrated in
[0072] The system shown in
[0073]
[0074] In order to produce the initial sequence S, the user can start to configure an engineering project, for example an automation solution, from a blank state corresponding to an empty shopping basket or empty sequence (i.e., no items I have been selected so far). The user then iteratively selects items (i.e., adds modules to the partially configured engineering project) that build the initial sequence S=[I.sub.1, I.sub.2, I.sub.3].
[0075] In a possible embodiment, after each initial item I.sub.1, I.sub.2, I.sub.3 is selected, sequences that can complete the current partially configured engineering project are recommended to the user as recommendations R in the way that was described with regard to
[0076] For the next section, we assume that the user and/or the system have arrived at the initial sequence S=[I.sub.1, I.sub.2, I.sub.3], and that the engineering process is now, at least theoretically, ready for completion, given the right recommendation. In other words, the initial sequence S might already contain dozens, hundreds, or many thousands of items, and the engineering process might have taken a considerable amount of time in order to reach this point.
[0077] In order to automatically produce the recommendations R for the initial sequence S=[I.sub.1, I.sub.2, I.sub.3], the initial items I.sub.1, I.sub.2, I.sub.3 are first applied to the first artificial intelligence component 1A of the recommendation engine 1. The first artificial intelligence component 1A is adapted to provide latent representations of initial items I.sub.1, I.sub.2, I.sub.3. For example, the latent representations are calculated automatically by the first artificial intelligence component 1A based on previous training.
[0078] The second artificial intelligence component 1B processes the latent representations of the initial items I.sub.1, I.sub.2, I.sub.3 to calculate recommendations R, with each recommendation R being a sequence of complementary items that completes the engineering project when combined with the initial sequence S.
[0079] In the illustrated example of
[0080] A first sequence of complementary items S.sub.1 comprises in the illustrated example of
[0081] Accordingly, after having selected the third item I.sub.3 at time t.sub.3 to provide a partial configuration of the engineering project as represented by the initial sequence S, on request the four different sequences of complementary items S.sub.1, S.sub.2, S.sub.3, S.sub.4 can be output via the user interface 3 to the user U as the recommendations R to complete the partially configured engineering project. The sequences of complementary items S.sub.1, S.sub.2, S.sub.3, S.sub.4 are displayed to the user U sorted by their plausibility scores as calculated by the second artificial intelligence component 1B.
[0082] The user U could now directly choose one of the sequences of complementary items S.sub.1, S.sub.2, S.sub.3, S.sub.4 in order to finalize the whole engineering project. To this end, several or all of the recommendations R generated by the second artificial intelligence component 1B can be displayed on a screen of the user interface 3 for the selection by the user U. The user U may use a selection command (e.g., clicking) to select one of the sequences of complementary items S.sub.1, S.sub.2, S.sub.3, S.sub.4. For example, the user U may select the first sequence of complementary items S.sub.1 as a whole to select automatically all remaining complementary items I.sub.11 to item I.sub.16 to complete the configuration of the engineering project. Alternatively, the user U may select the second sequence of complementary items S.sub.2 including four items I.sub.21, I.sub.22, I.sub.23, I.sub.24, or the third sequence of complementary items S.sub.3 including items I.sub.31, I.sub.32, I.sub.33, or the fourth sequence of complementary items S.sub.4 including items I.sub.41, I.sub.42, I.sub.43 to complete the engineering project.
[0083] However, as was described with regard to
[0084] The bisection component BC shown in
[0085] The selected feature is displayed on the user interface 3, for example in the form of a question such as “Do you require a fail-safe solution?” for the feature “failsafe” or “Do you require a solution that can operate under extended environmental conditions?” for the feature “fit for extended environment conditions”. Since computed the Gini index for the feature “failsafe” his higher, the user is asked whether the feature “failsafe” is required, and we assume that he confirms the respective requirement. As a result, the user interface 3 detects a user interaction indicating that the selected feature is required. The system then forms pruned recommendations R′ by choosing all instances from the recommendations R that have the selected feature. In other words, the recommendations R are filtered with respect to the preference/requirement specified by the user. The user interface 3 then outputs the pruned recommendations R′ and detects a user interaction choosing one of the pruned recommendations R′. The chosen pruned recommendation is then used for automatically completing the engineering project by combining the initial sequence S with the chosen pruned recommendation. The completed engineering project can be output on the user interface, stored in the memory 2, or exported.
[0086] In other words, the user is presented with a question that queries information (such as importance of KPIs, technical features, etc.) about the desired completed solution. If the user answers this question, the provided information is used to prune the set of recommendations R, thus adjusting the suggestions according to the stated preferences. This interactive workflow provided by the system supports the user during the configuration process.
[0087] In a possible variant, the recommendations R can be displayed on the user interface 3 when asking whether the selected feature is required. The corresponding visualization can distinguish the pruned recommendations R′ that have the selected feature. This can help the user to understand in what ways the recommendations R are conflicting in certain situations, and also help the user to intuitively understand the operation of the underlying machine learning model implemented in the second artificial intelligence component.
[0088] After the selection of one of the pruned recommendations R′, the user U may in a possible implementation acknowledge the selection to trigger an automatic ordering process of the associated modules. For example, after having selected the second sequence of complementary items S2 including items I21, I22, I23, I24, the system can ask the user U whether he wants to finalize the engineering project and to trigger an automatic ordering of the physical modules (hardware and/or software modules) associated with the selected items I21, I22, I23, I24 of the selected second sequence of complementary items S.sub.2. Accordingly, the selecting of a whole sequence of complementary items by the user U via the user interface 3 can trigger in a possible implementation automatically an ordering command to order the associated modules for completion of the engineering project.
[0089]
[0090] In a first operation O1, a first artificial intelligence com-ponent calculates latent representations of initial items of an initial sequence, with the initial sequence representing a partially configured engineering project, and with the initial items representing hardware modules and/or software modules used in the engineering project. The first artificial intelligence component 1A calculates for each initial item a latent representation which comprises a vector v for the different properties of the associated module.
[0091] In a second operation O2, a second artificial intelligence component processes the latent representations to generate recommendations, with each recommendation being a sequence of complementary items that completes the engineering project when combined with the initial sequence.
[0092] In a third operation O3, a feature predictor component computes a set of features for each recommendation.
[0093] In a fourth operation O4, a bisection component selects a feature from the sets of features that distinguishes some of the recommendations.
[0094] In a fifth operation O5, the selected feature is displayed by a user interface. The user interface then detects a user interaction indicating that the selected feature is required.
[0095] In a sixth operation O6, pruned recommendations are formed by choosing all instances from the recommendations that have the selected feature. The pruned recommendations can also be formed beforehand, for example by the bisection component.
[0096] In a seventh operation O7, the user interface outputs the pruned recommendations and detects a user interaction choosing one of the pruned recommendations.
[0097] In an eighth operation O8, the engineering project is automatically completed by combining the initial sequence with the chosen pruned recommendation.
[0098] In a ninth operation, O9, the completed engineering project is outputted, for example on a display of the user interface, and/or stored, for example on a hard disk. If the completed engineering project is, for example, a printed circuit board, it can be produced automatically at this point.
[0099] The embodiment of the method as illustrated in the flowchart of
[0100] The system as illustrated in
[0101] The method and system can be used for a wide range of different application and use cases and are not restricted to the embodiments illustrated in
[0102] For example, the method can be executed by one or more processors. Each processor can be a microcontroller or a microprocessor, an Application Specific Integrated Circuit (ASIC), a neuromorphic microchip, in particular a neuromorphic processor unit. The processor can be part of any kind of computer, including mobile computing devices such as tablet computers, smartphones or laptops, or part of a server in a control room or cloud. For example, a processor, controller, or integrated circuit of the computer system and/or another processor may be configured to implement the acts described herein.
[0103] The above-described method may be implemented via a computer program product including one or more computer-readable storage media having stored thereon instructions executable by one or more processors of a computing system. Execution of the instructions causes the computing system to perform operations corresponding with the acts of the method described above.
[0104] The instructions for implementing processes or methods described herein may be provided on non-transitory computer-readable storage media or memories, such as a cache, buffer, RAM, FLASH, removable media, hard drive, or other computer readable storage media. Computer readable storage media include various types of volatile and non-volatile storage media. The functions, acts, or tasks illustrated in the figures or described herein may be executed in response to one or more sets of instructions stored in or on computer readable storage media. The functions, acts or tasks may be independent of the particular type of instruction set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like.
[0105] Although the present invention has been disclosed in the form of preferred embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.
[0106] For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements.