Identification of components
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- EATON INTELLIGENT POWER LTD
- Filing Date
- 2024-12-03
- Publication Date
- 2026-06-11
AI Technical Summary
Identifying suitable components for industrial processes that meet specific technical requirements is challenging due to the complexity of performance and environmental attributes, and existing methods lack accuracy and efficiency.
A computer-implemented method that utilizes semantic comparison, DBSCAN clustering, and weighted Euclidean distance to identify suitable components by analyzing historical technical specifications and qualification/acceptance test reports, with optional design modifications using gradient boosting regressor trees to ensure compliance with requirements.
Improves the accuracy and efficiency of component selection by identifying the best-fit components that meet performance and environmental requirements, allowing for precise customization and database enhancement.
Smart Images

Figure EP2024084561_11062026_PF_FP_ABST
Abstract
Description
[0001] Identification of Components
[0002] Field
[0003] The present specification relates to identification of technical components, particularly to identifying components suitable for industrial processes.
[0004] Background
[0005] During industrial design and manufacturing processes, various desirable or necessary technical attributes of components may be identified. The identified technical attributes may, for example, be necessary to comply with industry standards or to achieve a specified performance target. Identifying or developing suitable real-world components having the desired technical attributes can be highly challenging. There is a need for improvement in such processes.
[0006] Summary
[0007] In one aspect, this specification describes a computer-implemented method of identifying a first component for use in an industrial process, the method comprising: obtaining technical requirements for the first component from a first technical specification relating to the industrial process; obtaining a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; grouping the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; identifying a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and selecting a candidate first component from the first group.
[0008] In some examples, the technical requirements comprise performance requirements and / or environmental requirements.
[0009] In some examples, the technical attributes comprise performance attributes and / or environmental attributes.
[0010] In some examples, obtaining the plurality of related historical technical specifications from the plurality of historical technical specifications is based on a semantic comparison between the first technical specification and the plurality of historical technical specifications. In some examples, selecting the candidate first component comprises: calculating a respective weighted Euclidean distance between the technical requirements of the first component and the respective technical attributes of each of the second plurality of candidate components; and selecting the candidate first component based on which of the second plurality of candidate components have the lowest weighted Euclidean distance with respect to the first component.
[0011] In some examples, the first technical specification and the plurality of historic component specifications comprise text data, and identifying the plurality of related historical technical specifications comprises vectorizing, using a performance model, the technical requirements for the first component and the technical attributes components corresponding to the plurality of historic component specifications. In some examples, the performance model is trained to identify information relating to technical requirements and / or technical attributes from the text data.
[0012] In some examples, the technical attributes corresponding to the first plurality of candidate components is determined based on one or more of historical qualification test reports and / or historical acceptance test reports. In some examples, determining the technical attributes corresponding to the first plurality of candidate components comprises extracting the technical attributes from the one or more of historical qualification test reports and / or historical acceptance test reports using the performance model. In some examples, the grouping is performed using DBSCAN clustering.
[0013] Some examples further include generating a custom component by applying a design modification, based on said difference, to the candidate first component if a difference between one or more technical attributes of the candidate first component and one or more technical requirements of the first component is higher than a threshold difference. In some examples, the design modification is determined using a gradient boosting regressor tree.
[0014] In some examples, the first plurality of candidate components are existing components.
[0015] In some examples, obtaining a plurality of related historical technical specifications further comprises determining compliance of the first plurality of candidate components to standard regulations. In another aspect, this specification describes an apparatus configured to perform any method as described above.
[0016] In another aspect, this specification describes computer-readable instructions which, when executed by a computing apparatus, cause the computing apparatus to perform any method as described above.
[0017] In another aspect, this specification describes a computer program comprising instructions for causing an apparatus to perform at least the following: obtaining technical requirements for the first component from a first technical specification relating to the industrial process; obtaining a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; grouping the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; identifying a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and selecting a candidate first component from the first group.
[0018] In another aspect, this specification describes a computer-readable medium (such as a non-transitory computer-readable medium) comprising program instructions stored thereon for performing at least the following: obtaining technical requirements for the first component from a first technical specification relating to the industrial process; obtaining a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; grouping the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; identifying a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and selecting a candidate first component from the first group.
[0019] In another aspect, this specification describes an apparatus comprising: at least one processor; and at least one memory including computer program code which, when executed by the at least one processor, causes the apparatus to: obtain technical requirements for the first component from a first technical specification relating to the industrial process; obtain a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; group the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; identify a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and select a candidate first component from the first group.
[0020] In another aspect, this specification describes an apparatus comprising a first module configured to obtain technical requirements for the first component from a first technical specification relating to the industrial process; a second module configured to obtain a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; a third module configured to group the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; a fourth module configured to identify a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and a fifth module configured to select a candidate first component from the first group.
[0021] Brief Description of Drawings
[0022] Example embodiments will now be described, by way of example only, with reference to the following schematic drawings, in which:
[0023] FIG. 1 is a block diagram of a system in accordance with example embodiments;
[0024] FIGs. 2 to 4 are flowcharts of an algorithm in accordance with example embodiments; FIGs. 5 to 7 are block diagrams of systems in accordance with example embodiments; FIG. 8 is a block diagram of components of a system in accordance with example embodiments; and
[0025] FIG. 9 shows an example of tangible media for storing computer-readable code which when run by a computer may perform methods according to example embodiments described above. Detailed Description
[0026] The scope of protection sought for various embodiments of the invention is set out by the independent claims. The embodiments and features, if any, described in the specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.
[0027] In the description and drawings, like reference numerals refer to like elements throughout.
[0028] FIG. 1 is a block diagram of a system, indicated generally by the reference numeral 10, in accordance with example embodiments. System 10 shows an example of a system for performing steps in which specifications for one or more components are analysed, and suitable existing component(s) may be identified based on technical requirements. System 10 shows a computing device 11 that receives a specification comprising one or more technical requirements, such as component category 12, performance attributes 13, and / or environmental attributes 14. Based on the received technical requirements, the past specifications for similar component(s) received in the past may be analysed by the computing device 11 and the computing device 11 may consequently provide a component selection 15 for the specification. Selecting a component having suitable technical characteristics for a given application is challenging. The example embodiments below provide methods and systems for identifying components with improved accuracy and efficiency.
[0029] FIG. 2 is a flowchart of an algorithm, indicated generally by the reference numeral 20, in accordance with example embodiments. The algorithm 20 may comprise a method for identifying a first component for use in an industrial process. At operation 21, technical requirements for the first component may be obtained from a first technical specification relating to the industrial process. For example, the technical specification may be a document specifying technical requirements that the first component is required to meet. In example embodiments, the technical requirements may comprise performance requirements and / or environmental requirements. Environmental requirements define environmental conditions for which a component is suitable. For example, the environmental conditions may include factors such as a maximum and / or a minimum temperature, a humidity, a pressure, or the like, at which the component may be used. Performance requirements define technical performance attributes relevant to the category of component. For example, for a valve (e.g. mechanical device used in industrial settings or buildings that control the flow of fluids), the performance requirements may comprise factors such as flow rate, pressure drop, valve open time, valve close time, or the like. Alternatively, for a heat exchanger, the performance requirements may comprise factors such as heat rejection, pressure drop, fluid temperature, or the like.
[0030] Next, at operation 22, a plurality of related historical technical specifications corresponding to a first plurality of candidate components (e.g. candidate components for being used as the first component) may be obtained from a plurality of historical technical specifications. Historical technical specifications may be defined as technical specifications relating to existing components, and / or may comprise document(s) specifying technical requirements that the existing component(s) were required to meet in previous or past component identification processes. The first plurality of candidate components may be existing components (e.g. off-the-shelf components, legacy components, and / or components that have already been designed and / or used in the past). The first plurality of candidate components may be defined as components in the same category as the first component, and / or components having at least some performance attributes that correspond to the performance requirements as stated in the first technical specification (e.g. performance requirements in the first technical specification including 'valve open time', and an existing component having a technical specification that also states a valve open time may be part of the first plurality of candidate components, even if the exact numerical values of the valve open time may or may not match). In one example, the plurality of related historical technical specifications may be identified using a semantic comparison (e.g. a weighted semantic comparison) between the technical specification and the plurality of historical technical specifications. For example, a weighted semantic comparison score may be calculated between the technical specification and each technical specification of the plurality of technical specifications. The related historical technical specifications may be defined as those historical specifications having a weighted semantic comparison score above a predetermined threshold. Alternatively, the related historical technical specifications may be defined as a predetermined number of historical technical specifications having the highest weighted semantic comparison scores (e.g. the 50 historical technical specifications having the highest weighted semantic comparison scores). The use of semantic comparison between the technical specification and the plurality of historical technical specifications is used to filter historical technical specifications for relevance. For example, if it is determined that the technical specification states that the first component is a valve, the related historical technical specifications may relate to valves (e.g. filtering out technical specifications relating to other types of components, such as reservoirs, heat exchangers, or the like). For example, a semantic comparison between a technical specification (e.g. text data) specifying a valve and a plurality of historical technical specifications (e.g. each having text data) may allow filtering out historical technical specifications not relating to valves, and may allow obtaining related historical technical specification relating to valves. In this example, the first plurality of candidate components may all comprise valves. A semantic comparison between the technical specification and the plurality of historical technical specifications may allow improved extraction of relevant related historical technical specifications. In one example, a further filtering process may be performed for extracting data that comprises performance attributes or environmental attributes of a valve (e.g. relevant performance attributes of a valve), and other data (e.g. details not related to the performance attributes or environmental attributes, such as shape / size / colour of the valve) may be filtered out.
[0031] In one example, the technical attributes corresponding to the first plurality of candidate components is determined based on one or more of historical qualification test reports (e.g. reports specifying which components qualified to be used for certain technical requirements, and / or reports specifying compliance of a component to certain technical and environmental requirement) and / or historical acceptance test reports (e.g. reports from customers specifying acceptance of components to be used for certain technical requirements, and / or reports specifying compliance to certain performance requirements and ensuring that component meets quality assurance requirements before production). In example embodiments, a performance model may be used for extracting the technical attributes corresponding to the first plurality of candidate components from the one or more of historical qualification test reports and / or historical acceptance test reports.
[0032] In one example, the semantic comparison may be a weighted semantic comparison, for example using a machine learning model, such as a performance model. The machine learning model for the weighted semantic comparison may be trained to identify, from the historical technical specifications, information relating to component category, performance requirements, environmental requirements, or the like. The machine learning model may assign weights to one or more factors based on training data.
[0033] In operation 23, the first plurality of candidate components and the first component may be grouped into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component. In example embodiments, the grouping may be performed using DBSCAN clustering.
[0034] Next, at operation 24, a first group may be identified from the plurality of groups, where the first group comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components. The second plurality of candidate components may comprise components whose technical attributes (e.g. performance attributes and / or environmental attributes) close to (e.g. similar or within a certain threshold of) technical requirements of the first component.
[0035] At operation 25, a candidate first component is selected from the first group (e.g. the second plurality of candidate components). In example embodiments, the candidate first component may be selected based on a weighted Euclidean distance. For example, a respective weighted Euclidean distance may be calculated between the technical requirements of the first component and the respective technical attributes of each of the second plurality of candidate components. The candidate first component may be selected based on which of the second plurality of candidate components have the lowest weighted Euclidean distance with respect to the first component.
[0036] In example embodiments, weights used for the weighted Euclidean distance may be same or different for performance attributes and environmental attributes. In one example, all performance attributes may have the same weight, such that the weighted Euclidean distance is calculated by assigning equal weights to all performance attributes of a respective candidate component. In another example, performance attributes may have weights based on a priority scheme, where the priority scheme may be specified by a user and / or learnt from a machine learning model (e.g. trained on previous data where certain performance attributes may have higher importance in the industrial process). For example, a priority scheme for a valve component may specify that flow rate may have a higher priority compared to valve opening time.
[0037] In one example, all environmental attributes may have the same weight, such that the weighted Euclidean distance is calculated by assigning equal weights to all environmental attributes of a respective candidate component. In another example, environmental attributes may have weights based on a priority scheme, where the priority scheme may be specified by a user and / or learnt from a machine learning model (e.g. trained on previous data where certain environmental attributes may have higher importance in the industrial process). For example, a priority scheme for a valve component may specify that temperature may have a higher priority compared to humidity.
[0038] In one example, environmental attributes (as a whole) and performance attributes (as a whole) may also have weights assigned for the calculation of the weighted Euclidean distance. For example, certain candidate components (e.g. candidate A) may have environmental attributes that are closer to the environmental requirements of the first component when compared to some other candidate components (e.g. candidate B); at the same time, candidate B may have performance attributes that are closer to the performance requirements of the first component when compared to candidate B. In this situation, if environmental attributes have higher weightage, candidate A may be selected as the candidate first component, whereas if the performance attributes have higher weightage, candidate B may be selected as the candidate first component. In one example, weightage between environmental attributes and performance attributes be based on a priority scheme, where the priority scheme may be specified by a user and / or learnt from a machine learning model.
[0039] In example embodiments, if a difference between one or more technical attributes of the candidate first component and one or more technical requirements of the first component is higher than a threshold difference, a custom component may be generated (e.g. generating a design of the custom component) by applying a design modification, based on said difference, to the candidate first component. In one example, the design modification is determined using a gradient boosting regressor tree.
[0040] In example embodiments, a method may be performed for training a performance model. The method for training the performance model may comprise providing various types of ground truth data, comprising, for example: providing a plurality of historical technical specifications; providing a plurality of quality test reports and / or acceptance test reports corresponding to a plurality of historical component specifications; and providing a plurality of historical component specifications. The performance model is trained to vectorize technical requirements for a first component and / or technical attributes of components corresponding to one or more of the plurality of historic component specifications. As such, in the inference stage of the performance model, the performance model may be used for extracting technical attributes of corresponding to the first plurality of candidate components from a plurality of historical technical specifications, historical qualification test reports and / or historical acceptance test reports.
[0041] Fig. 3 is a flowchart of an algorithm, indicated generally by the reference numeral 30, in accordance with example embodiments. FIG. 3 may be discussed in conjunction with FIG. 4. FIG. 4 is a flowchart of an algorithm, indicated generally by the reference numeral 40. The algorithm 40 may comprise implementation details of the algorithm 30.
[0042] At operation 31, current technical requirements for first component may be extracted from technical specifications (e.g. specifications for a component to be used in an industrial process having one or more performance requirements and / or environmental requirements), for example, using knowledge-based ontology and / or a performance model. Operation 31 may be implemented by using operations 43 to 47 of algorithm 40.
[0043] For example, information (e.g. past documents 42) about existing components (e.g. legacy components and / or components from inorganic acquisitions) may be obtained from a database 41. Documents 42 may comprise qualification and acceptance test reports 42a and / or past component specifications 42b. At operation 43, information may be extracted from the past documents (i.e. qualification and acceptance test reports 42a, and past component specifications 42b) and from a technical specification, such as a new technical requirement document. At operation 44, a weighted semantic score comparison (between the past component specifications and the new technical requirements) may be performed as a first level filtering of components from the past component specification based on the new technical requirements, such that a first plurality of past components (having technical attributes similar to the new technical requirements) is determined. At operation 45, information regarding compliance to performance requirements and standard regulation requirements (e.g. DO160 requirements obtained from DO160G Standard information 46) is obtained. Next, at operation 47, information of the first plurality of past components may be vectorised in a tabular form, such that the vectorised information comprises technical attributes and qualification data (e.g. qualification for meeting past technical requirements) for the first plurality of past components.
[0044] In one example, the technical requirements may be converted to individual attribute vectors (each corresponding to a technical attribute and integrated with ontology to ensure consistency with domain knowledge). Furthermore, past performance vectors may be extracted from past component specifications and a weighted semantic score may be calculated and compared with vectors derived from technical specification to filter a first set of past components whose performance parameters are closer to the new technical requirements. In one example, data from test reports (e.g. historical technical specifications is processed, which can then be summarized in a tabular format. In one example the extraction and processing of the test reports may be used for building a database and / or training a machine learning model for future reference.
[0045] At operation 32, clustering may be performed for selecting a best fit component from a multi-dimensional space, such as a database 48, where the multi-dimensional space may comprise a plurality of vectors corresponding to the technical attributes of candidate components, and technical requirements of the first component. The clustering may be performed using DBSCAN clustering at operation 49 with technical requirements as features to predict best-fit components. Weightage may be given to environmental and performance requirements and, at operation 50, a weightage driven Euclidian Distance may be calculated for comparing components in a best fit cluster (e.g. best fit cluster may comprise the cluster that the first component belongs to) to rank said components. At operation 51, performance assessment may be made for said components compared with the first component, and a gap assessment may be made based on the determined Euclidian Distances, such that the component(s) having the lowest Euclidian Distance with the first component may be selected as the best-fit component.
[0046] At an optional operation 33, one or more design modifications may be determined for allowing the best fit component to meet the performance and / or environmental requirements. The design modifications may be determined using a performance model, such as a Gradient Boosting Regressor Tree (GBRT) model.
[0047] FIG. 5 is a block diagram of a system, indicated generally by the reference numeral 50, in accordance with example embodiments. The system 50 shows an example for determining technical attributes and / or technical requirements. In the example of system 50, the first component may be a valve.
[0048] A module 53 may comprise a performance model 55, where the performance model may receive inputs 54. The inputs 54 may comprise information 54a and a technical specification, such as the requirement document 54b. The information 54a may comprise domain specific ontology, such as a plurality of historical technical specifications, historical qualification test reports and / or historical acceptance test reports. The performance model 55 may determine technical attributes 56 associated with the first component, specifically a valve, such that the technical attributes 56 are specific to a valve. For example, the technical attributes may comprise performance attributes arranged to include a description 56a of the performance attribute, a unit 56b of the performance attribute, and a controlling dimension 56c of the performance attribute. For example, the performance attribute 'valve open time' may have a unit of 'seconds' and the dimension of the valve opening that indicates whether the valve is open or not may be a function of the 'diameter' of the valve opening; the performance attribute 'valve close time' may have a unit of 'seconds' and the dimension of the valve opening that indicates whether the valve is close or not may be a function of 'diameter' of the valve opening; the performance attribute 'pressure drop' may have a unit of 'Pa' (Pascal) and the controlling dimension of the valve opening that indicates pressure drop may be a function of the 'length and diameter' of the valve opening; the performance attribute 'flow rate' may have a unit of 'GPM' (Gallons Per Minute) and the dimension of that indicates flow rate may be a function of the 'Inlet Pressure'.
[0049] The performance model 55 may then be used for extracting technical requirements from a technical specification at the module 57, and the technical requirements may be vectorized (e.g. each vector comprising a plurality, e.g. hundreds, of dimensions) in a tabular format at the module 58. For example, a vector for a pressure requirement of a valve may be as follows:
[0050] "valve": [0.15, -0.22, 0.33, ..., 0.12]
[0051] "withstand": [0.48, -0.55, 0.67, ..., -0.34]
[0052] "pressure": [0.45, -0.67, 0.89, ..., 0.56]
[0053] "1500": [0.12, -0.34, 0.56, ..., 0.78]
[0054] "psi": [0.23, -0.45, 0.67, ..., 0.89]
[0055] In one example, the vectorization may be performed using Word2Vec approach which leverages scikit-learn library.
[0056] Table 1 below provides an example of a comparison between environmental attributes and performance attributes of a plurality of past components (valves; the second plurality of candidate components that may belong to a same cluster as the first component) and the first component (valve).
[0057] Valve 1, Valve 4, and Valve 6 may be the second plurality of candidate components that may have been filtered based on semantic comparison and / or based on clustering, as described in operation 24 with reference to FIG. 2. The 'new valve' may represent the first component having the technical requirements as specified in a technical specification. Table 1 below shows environmental attributes (e.g. temperature, humidity, pressure) and performance attributes (e.g. flow rate, pressure drop, valve open time, valve close time) of Valve 1, Valve 4, and Valve 6. Table 1 further shows environmental requirements (e.g. temperature, humidity, pressure) and performance requirements (e.g. flow rate, pressure drop, valve open time, valve close time) of a new valve (first component). Based on a comparison of the environmental attributes and environmental requirements, and a comparison of the performance attributes and performance requirements, weighted Euclidean distance may be calculated for each of the valves 1, valve 4 and valve 6. For example, weighted Euclidean distance for valve 1 is calculated to be 10 units, whereas weighted Euclidean distance for valve 6 is calculated to be 14 units (weighted Euclidean distance for valve 4 is not shown, as it may be much higher than valve 1 or valve 6, or may be higher than a threshold). As such, valve 1 is selected as the candidate first component, as valve 1 is the closest fit component with the lowest weighted Euclidean distance.
[0058] Table 1
[0059] Table 2 below shows an example of how weights may be assigned, for example for the performance requirements, for the calculation of the weighted Euclidean distance.
[0060] Weights may be obtained from the performance model (e.g. performance model 55 or 63). For example, more weightage may be given to a performance requirement that impacts more number of critical design parameters of the component (in horizontal weightage) and more weightage is given to requirements that have most occurring controlling dimension (vertical weightage). For vertical weightage, if more than one (e.g. two) controlling dimensions are present for a certain requirement (e.g. pressure drop), those requirements will be given higher weightage (e.g. pressure drop has higher horizontal weight (2) and higher vertical weight (3) when compared to open time, close time, or flow rate). The final weights may be calculated based on a sum of the horizontal and vertical weights minus 1. Said final weights may then be used for calculating weighted Euclidean distance of candidate components (valve 1, valve 4, valve 6) with respect to the first component (new valve).
[0061] Table 2
[0062] FIG. 6 is a block diagram of a system, indicated generally by the reference numeral 60, in accordance with example embodiments. The system 60 shows an example for determining technical attributes and / or technical requirements. In the example of system 60, the first component may be a heat exchanger.
[0063] A module 61 may comprise a performance model 63, where the performance model may receive inputs 64. The inputs 64 may comprise information 64a and a technical specification, such as the requirement document 64b. The information 64a may comprise domain specific ontology, such as a plurality of historical technical specifications, historical qualification test reports and / or historical acceptance test reports. The performance model 61 may determine technical attributes 62 associated with the first component, specifically a heat exchanger, such that the technical attributes 62 are specific to a heat exchanger. For example, the technical attributes may comprise performance attributes arranged to include a description 62a of the performance attribute, a unit 62b of the performance attribute, and a controlling dimension 62c of the performance attribute. For example, the performance attribute 'pressure drop' may have a unit of 'Pa' (Pascal) and the controlling dimension that affects the pressure drop may be a function of the 'diameter' and 'channels' of the heat exchanger; the performance attribute 'heat rejection' may have a unit of 'kW' (kiloWatts) and the controlling dimensions affecting the heat rejection may be a function of 'area' and 'length' of the heat exchanger; the performance attribute 'fluid temperature' may have a unit of 'degree Celsius' (Pascal) and the controlling dimension affects the fluid temperature may be a function of the 'material thickness' of the heat exchanger. The performance model 63 may then be used for extracting technical requirements from a technical specification at the module 65, and the technical requirements may be vectorized (e.g. each vector comprising a plurality, e.g. hundreds, of dimensions) in a tabular format at the module 66.
[0064] Table 3 below provides an example of a comparison between environmental attributes and performance attributes of a plurality of past components (heat exchangers; the second plurality of candidate components that may belong to a same cluster as the first component) and the first component (heat exchanger).
[0065] Heat exchanger 1, heat exchanger 4, and heat exchanger 6 may be the second plurality of candidate components that may have been filtered based on semantic comparison and / or based on clustering, as described in operation 24 with reference to FIG. 2. The 'new heat exchanger' may represent the first component having the technical requirements as specified in a technical specification. Table 1 below shows environmental attributes (e.g. temperature, humidity, pressure) and performance attributes (e.g. heat rejection, pressure drop, and fluid temperature) of Heat exchanger 1, heat exchanger 4, and heat exchanger 6. Table 2 further shows environmental requirements (e.g. temperature, humidity, pressure) and performance requirements (e.g. (e.g. heat rejection, pressure drop, and fluid temperature) of a new heat exchanger (first component). Based on a comparison of the environmental attributes and environmental requirements, and a comparison of the performance attributes and performance requirements, weighted Euclidean distance may be calculated for each of the Heat exchanger 1, heat exchanger 4, and heat exchanger 6. For example, weighted Euclidean distance for heat exchanger 1 is calculated to be 18 units, whereas weighted Euclidean distance for heat exchanger 6 is calculated to be 14 units (weighted Euclidean distance for heat exchanger 4 is not shown, as it may be much higher than heat exchanger 1 or heat exchanger 6, or may be higher than a threshold). As such, heat exchanger 6 is selected as the candidate first component, as heat exchanger 6 is the closest fit component with the lowest weighted Euclidean distance.
[0066] Table 3
[0067] FIG. 7 is a block diagram of a system, indicated generally by the reference numeral 70, in accordance with example embodiments. The system 70 may be used for analysing past documents, such as historical technical specifications, including qualification test reports and / or acceptance test reports.
[0068] A document 71 may be provided at an input layer 72 of a neural network 73 (e.g. Seq2Seq convolutional neural network). The neural network 73 may be an example implementation of the performance models 55 and 63 described with reference to FIGs. 5 and 6. Information from the input layer 72 may then be converted into an input sequence 74, and then provided to a module 75. The module 75 may utilize an attention mechanism 75a and a performance model 75b, such that the attention mechanism 75a allows the performance model 75b to selectively attend to different parts of the input data, assigning varying degrees of importance or weight to different elements. For example, if the performance model 75b is trained with data relating to various categories of components (e.g. valves, heat exchangers, reservoirs, or the like), and the incoming document relates to a valve, the attention mechanism 75a may enable the performance model 75b to assign higher importance to information relating to valves. Alternatively, or in addition, the document may have various types of information, such as company name, date, component name, performance attributes, environmental attributes, or the like. The attention mechanism 75a may enable the performance model 75b to assign higher importance to performance attributes and environmental attributes relative to the other types of information.
[0069] The module 75 may then provide an output sequence 76, where the output sequence 76 may comprise information from historical technical specifications that are vectorized in a tabular form.
[0070] The above example embodiments, improve accuracy of component selection, and / or design modifications made to selected components to satisfy technical requirements of new components, and may further allow an organisation to improve and grow their database in a useful manner. This may be achieved by exporting environmental and / or performance requirements comparison and corresponding scores of past components against the technical requirements. Environmental and performance requirements may be include weightage (based on past technical specifications) for select the best fit component. For example, if a technical specification is missing one or more key performance or environmental requirements, the analysis of past technical specifications may allow obtaining ideal / acceptable values for such key performance and / or environmental requirements. The best fit component may be selected by leveraging a database to which legacy qualification reports and acceptance test reports are provided to enable the component identification or selection to become more accurate and efficient.
[0071] For completeness, FIG. 8 is a schematic diagram of components of one or more of the example embodiments described previously, which hereafter are referred to generically as processing systems 300. A processing system 300 may have a processor 302, a memory 304 closely coupled to the processor and comprised of a RAM 314 and ROM 312, and, optionally, user input 310 and a display 318. The processing system 300 may comprise one or more network / apparatus interfaces 308 for connection to a network / apparatus, e.g. a modem which may be wired or wireless. Interface 308 may also operate as a connection to other apparatus such as device / apparatus which is not network side apparatus. Thus, direct connection between devices / apparatus without network participation is possible.
[0072] The processor 302 is connected to each of the other components in order to control operation thereof.
[0073] The memory 304 may comprise a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD). The ROM 312 of the memory 304 stores, amongst other things, an operating system 315 and may store software applications 316. The RAM 314 of the memory 304 is used by the processor 302 for the temporary storage of data. The operating system 315 may contain computer program code which, when executed by the processor implements aspects of the algorithms 20, 30, and 40 described above. The operating system 315 may further contain computer program code which, when executed by the processor implements aspects of the modules 53, 57, 58, 61, 65, 66, and / or 75 as described above. Note that in the case of small device / apparatus the memory can be most suitable for small size usage i.e. not always hard disk drive (HDD) or solid-state drive (SSD) is used. The processor 302 may take any suitable form. For instance, it may be a microcontroller, a plurality of microcontrollers, a processor, or a plurality of processors.
[0074] The processing system 300 may be a standalone computer, a server, a console, or a network thereof. The processing system 300 and needed structural parts may be all inside device / apparatus such as loT device / apparatus i.e. embedded to very small size
[0075] In some example embodiments, the processing system 300 may also be associated with external software applications. These may be applications stored on a remote server device / apparatus and may run partly or exclusively on the remote server device / apparatus. These applications may be termed cloud-hosted applications. The processing system 300 may be in communication with the remote server device / apparatus in order to utilize the software application stored there.
[0076] FIG. 9 shows tangible media, specifically a removable memory unit 365, storing computer-readable code which when run by a computer may perform methods according to example embodiments described above. The removable memory unit 365 may be a memory stick, e.g. a USB memory stick, having internal memory 366 for storing the computer-readable code. The internal memory 366 may be accessed by a computer system via a connector 367. Other forms of tangible storage media may be used. Tangible media can be any device / apparatus capable of storing data / information which data / information can be exchanged between devices / apparatus / network.
[0077] Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and / or hardware may reside on memory, or any computer media. In example embodiments, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a "memory" or "computer-readable medium" may be any non-transitory media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
[0078] Reference to, where relevant, "computer-readable storage medium", "computer program product", "tangibly embodied computer program" etc., or a "processor" or "processing circuitry" etc. should be understood to encompass not only computers having differing architectures such as single / multi-processor architectures and sequencers / parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices / apparatus and other devices / apparatus. References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device / apparatus as instructions for a processor or configured or configuration settings for a fixed function device / apparatus, gate array, programmable logic device / apparatus, etc.
[0079] As used in this application, the term "circuitry" refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and / or digital circuitry) and (b) to combinations of circuits and software (and / or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s) / software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
[0080] If desired, the different functions discussed herein may be performed in a different order and / or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Similarly, it will also be appreciated that the flow charts of Figures 2, 3, and 4 are examples only and that various operations depicted therein may be omitted, reordered and / or combined.
[0081] It will be appreciated that the above described example embodiments are purely illustrative and are not limiting on the scope of the invention. Other variations and modifications will be apparent to persons skilled in the art upon reading the present specification.
[0082] Moreover, the disclosure of the present application should be understood to include any novel features or any novel combination of features either explicitly or implicitly disclosed herein or any generalization thereof and during the prosecution of the present application or of any application derived therefrom, new claims may be formulated to cover any such features and / or combination of such features.
Claims
1. Claims1. A computer-implemented method of identifying a first component for use in an industrial process, the method comprising: obtaining technical requirements for the first component from a first technical specification relating to the industrial process; obtaining a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; grouping the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; identifying a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and selecting a candidate first component from the first group.
2. A computer-implemented method as claimed in claim 1, wherein the technical requirements comprise performance requirements and / or environmental requirements.
3. A computer-implemented method as claimed in claim 1 or claim 2, wherein the technical attributes comprise performance attributes and / or environmental attributes.
4. A computer-implemented method as claimed in claim 1, wherein obtaining the plurality of related historical technical specifications from the plurality of historical technical specifications is based on a semantic comparison between the first technical specification and the plurality of historical technical specifications.
5. A computer-implemented method as claimed in any one of the preceding claims, wherein selecting the candidate first component comprises: calculating a respective weighted Euclidean distance between the technical requirements of the first component and the respective technical attributes of each of the second plurality of candidate components; and selecting the candidate first component based on which of the second plurality of candidate components have the lowest weighted Euclidean distance with respect to the first component.
6. A computer-implemented method as claimed in any one of the preceding claims, wherein the first technical specification and the plurality of historic component specifications comprise text data, and identifying the plurality of related historical technical specifications comprises vectorizing, using a performance model, the technical requirements for the first component and the technical attributes components corresponding to the plurality of historic component specifications.
7. A computer-implemented method as claimed in claim 7, wherein the performance model is trained to identify information relating to technical requirements and / or technical attributes from the text data.
8. A computer-implemented method as claimed in any one of the preceding claims, wherein the technical attributes corresponding to the first plurality of candidate components is determined based on one or more of historical qualification test reports and / or historical acceptance test reports.
9. A computer-implemented method as claimed in claim 8 when dependent on any of claims 6 or 7, wherein determining the technical attributes corresponding to the first plurality of candidate components comprises extracting the technical attributes from the one or more of historical qualification test reports and / or historical acceptance test reports using the performance model of claim 6.
10. A computer-implemented method as claimed in any one of the preceding claims, wherein the grouping is performed using DBSCAN clustering.
11. A computer-implemented method as claimed in any one of the preceding claims, further comprising: if a difference between one or more technical attributes of the candidate first component and one or more technical requirements of the first component is higher than a threshold difference: generating a custom component by applying a design modification, based on said difference, to the candidate first component.
12. A computer-implemented method as claimed in any one of the preceding claims, wherein the design modification is determined using a gradient boosting regressor tree.
13. A computer-implemented method as claimed in any one of the preceding claims, wherein the first plurality of candidate components are existing components.
14. A computer-implemented method as claimed in any one of the preceding claims, wherein obtaining a plurality of related historical technical specifications further comprises determining compliance of the first plurality of candidate components to standard regulations.
15. An apparatus comprising at least one processor; and at least one memory including computer program code which, when executed by the at least one processor, causes the apparatus to: obtain technical requirements for the first component from a first technical specification relating to the industrial process; obtain a plurality of related historical technical specifications corresponding to a first plurality of candidate components from a plurality of historical technical specifications; group the first plurality of candidate components and the first component into a plurality of groups based on technical attributes corresponding to the respective candidate components and the technical requirements for the first component; identify a first group that comprises the first component and a second plurality of candidate components, wherein the second plurality of candidate components is a subset of the first plurality of candidate components; and selecting a candidate first component from the first group.