Improving unsupervised embedding methods for similarity-based industrial component model request systems
Patent Information
- Application Number
- CN202111224371.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-20
- Filing Date
- 2021-10-19
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2041-10-19
AI Technical Summary
对超参数的选择和随后的微调很难执行,因为很难比较方法提供所得到的嵌入的显著相似性的能力
[0009]本发明旨在改善这种情况。为此,申请人提出用于比较用于基于相似性的工业组件模型请求系统的无监督嵌入方法的计算机实现的方法,该计算机实现的方法包括:
Smart Images

Figure CN114386214B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a computer-implemented method for comparing unsupervised embedding methods for similarity-based industrial component model request systems. Background Technology
[0002] When conducting design work, whether for mechanical objects or electronic circuits, it is generally preferable to use replaceable components. Replaceability means that in the design, a given component can be replaced by another component without changing the required specifications of the final product.
[0003] In this regard, identifying interchangeable components is a challenging but crucial task in order to simplify procurement and reuse components with well-known performance characteristics to improve design reliability.
[0004] In the case of electronic components, this is typically done by the manufacturer themselves by defining standardized data related to the matching, form, and function of the component. In the case of mechanical components, this is typically done by creating a signature for each component, based on a topological analysis of the component's shape. Kazdhan et al., in their paper "Harmonic 3D shape matching" (SIGGRAPH Sketches and Applications) (2002), illustrate an example of such a method.
[0005] These methods each have their advantages and disadvantages, but most of them were not built or set up with user feedback in mind. In other words, these methods are based on theoretical models and they are immutable unless people change the model itself.
[0006] Another solution to implement these recommendation methods is to perform embeddings of words describing the industrial component model under consideration and compare the embeddings to perform the search request. In this case, an autoencoder or unsupervised embedding method can be used.
[0007] The latter has the advantages of being faster to implement than autoencoders, having a faster training time than autoencoders, and having a large number of existing methods available.
[0008] However, in addition to the parameters that machine learning is optimizing, these methods also involve the use of hyperparameters, which influence how the machine learning process is performed. The selection of hyperparameters and subsequent fine-tuning are difficult to execute because it is challenging to compare the ability of methods to provide significant similarity to the resulting embeddings. Summary of the Invention
[0009] This invention aims to improve this situation. To this end, the applicant proposes a computer-implemented method for comparing unsupervised embedding methods for similarity-based industrial component model request systems, the computer-implemented method comprising: a) Provide a text corpus and test word list related to industrial component models. b) Modify the text corpus by changing some occurrences of each test word in the test word list. For each test word, the modified text corpus thus contains occurrences of a first version of each test word and occurrences of a second version of each test word. c) Run the unsupervised embedding method on the modified text corpus and obtain vector representations of the words in the modified text corpus; d) For at least some of the test words, determine a score value related to the unsupervised embedding method by comparing the first version of the vector representation of these test words with the second version of the vector representation of these test words; e) In the case of using another unsupervised embedding method, run steps b) to d) using the text corpus of step a) and the test word list, and return the corresponding score values.
[0010] This approach is advantageous because it allows for comparison of unsupervised embedding methods and then fine-tuning of hyperparameters in an efficient and reliable manner.
[0011] In various embodiments, the method may exhibit one or more of the following features: - Step b) of modifying the text corpus by changing at least half of the occurrences of each test word includes: modifying substantially half of the occurrences of the test word to a selected alias that does not exist in the text corpus, while leaving the other occurrences unchanged. - Step b) of modifying the text corpus by changing at least half of the occurrences of each test word includes: modifying substantially half of the occurrences of the test word to a selected alias that does not exist in the text corpus, and modifying the other occurrences to another selected alias that does not exist in the text corpus. - The list of test words is predetermined. - The test word list is obtained by determining the logarithmic frequency distribution of the words in the text corpus and by selecting words that are evenly spaced in the logarithmic frequency distribution. Step d) includes: determining a score for the test word based on the similarity distance between the first version of the embedding of the test word and the second version of the embedding of the test word. -Step d) includes: determining the score of the test word by determining the similarity distance between the first version of the embedding of the test word and the embeddings of all other words, the similarity distance between the second version of the embedding of the test word and the embeddings of all other words, and returning one of the following: - The number of words whose embeddings are closer to the first version of the embedding of the test word compared to the second version of the embedding. - The number of words whose embeddings are closer to the second version of the embeddings of the test word than the first version of the embeddings, and -The sum of the following quantities: the number of words whose embeddings are closer to the first version of the test word than the second version of the embedding of the test word; and the number of words whose embeddings are closer to the second version of the test word than the first version of the embedding of the test word. Step d) includes: determining a score value by averaging the score values of at least some of the test words. Step d) includes: determining the score value by returning at least some of the score values of the test word and the corresponding score values of the test word.
[0012] The present invention also relates to a computer program comprising instructions for executing the method according to the invention, a data storage medium having such a computer program recorded thereon, and a computer system comprising a processor coupled to a memory having such a computer program recorded thereon. Attached Figure Description
[0013] Other features and advantages of the invention will readily emerge from the following description of the accompanying drawings, which illustrate exemplary embodiments of the invention, and wherein: - Figure 1 A general view of the system according to the present invention is shown. - Figure 2 Display by Figure 1 An exemplary embodiment of the function executed by the system, - Figure 3 and Figure 4 An embodiment illustrating industrial component model data used in a system according to the invention, and - Figure 5 Showing according to Figure 2 The similarity distance is determined by the operation. Detailed Implementation
[0014] The accompanying drawings and the following description include most of the positively and clearly defined features. Therefore, they not only aid in understanding the invention, but can also be used to facilitate its definition when needed.
[0015] This specification may reference or use elements that are protected by copyright or other rights. The applicant does not object to the reproduction of these elements, as it is limited to necessary legal publications; however, this should not be construed as a waiver of rights or any form of license.
[0016] Figure 1 A general view of the system according to the present invention is shown. System 2 includes a memory 4, a corpus modification unit 6, and a scoring unit 8.
[0017] Memory 4 stores industrial component model data. This data includes any data that allows the definition of mechanical or electronic components, as well as attributes that allow designers to describe the industrial component model and search for its properties.
[0018] The similarity-based industrial component model request engine uses industrial component model data, which uses an unsupervised embedding method to embed industrial component models and executes industrial component model requests based on the comparison of embeddings.
[0019] In the example described herein, memory 4 can be implemented in any suitable manner, such as hard disk drives, solid-state drives, flash memory, memory embedded in the processor, remote storage accessible in the cloud, and so on.
[0020] In the example described herein, the corpus modification unit 6 and the scoring unit 8 are computer programs executed on one or more processors. Such processors include any known devices for performing automated computations, such as CPUs, GPUs, CPU and / or GPU grids, remote computation grids, specially configured FPGAs, specially configured ASICs, special-purpose chips (e.g., SOCs or NOCs), AI-specific chips, and so on.
[0021] Corpus modification unit 6 calculates modified corpus data 12 based on industrial component model data in memory 4, and scoring unit 8 allows the user to input an unsupervised embedding method 10 and receives return data 14, wherein return data 14 quantifies the ability of the input supervised method 10 to produce embeddings that correctly reflect the similarity between members of the industrial component model data. Return data 14 allows the user to select among a series of unsupervised methods and fine-tune the hyperparameters of a given unsupervised method.
[0022] Figure 2 This illustrates an exemplary embodiment of a function executed by system 2. This exemplary embodiment demonstrates that system 2 can execute operations to perform the present invention.
[0023] The function begins with operation 200, in which the function Inp() is executed. The function Inp() is the input function, which takes a set of unsupervised embedding methods EM[] and a text corpus TxtC as parameters, which will be used as global variables in other steps.
[0024] This can be accomplished through a Human-Computer Interface (HMI). Any type of HMI can be used, as long as it provides an interface for the user to upload, either by specifying or otherwise, a file containing the unsupervised embedding method EM[] and the text corpus TxtC, or an entry in memory 4. The unsupervised embedding method can be described by an identifier pointing to a specific resource, or by providing complete details of the unsupervised embedding method (including hyperparameters). In the example described herein, the unsupervised embedding method EM[] is stored in a list, where each entry contains a different unsupervised embedding method. It should be understood that two methods are considered different only if they differ in their sets of hyperparameters. In one embodiment, the list EM[] can be automatically enriched by generating different sets of hyperparameters for the input unsupervised embedding method.
[0025] Figure 3 and Figure 4 This is an example of a table containing attributes associated with an industrial component model. Figure 3 The table contains models of mechanical parts and industrial components, while Figure 4 The table contains industrial component models for electronic parts.
[0026] As in Figure 3 and Figure 4 In this example, each row contains attributes for a single component, and these attributes are distributed across columns of three different types: - The single part ID column referenced by Appendix Label 30 is a unique identifier for each part; - A set of feature columns referenced by reference numeral 32, which describes predetermined features of each component; - A single column of similarity data referenced in Figure 34.
[0027] For example, in mechanical parts ( Figure 3 In the case of electronic components, these columns may include a description of the component, one or more columns detailing the materials used in the component, one or more columns for storing the shape signature of the component, one or more columns for storing the dimensions of the component, one or more columns for storing relevant measurements of the component (e.g., hardness, etc.), and so on. Similarly, in electronic components ( Figure 4In the case of [specific context], these columns can include component type (describing what type of electronic function is implemented), measurement columns describing nominal and operating values, and limit values, etc. All of these columns can be considered "objective characteristics" because they describe common measurements or features characterizing the physical properties of the component.
[0028] The similarity data column can be empty. When it is populated, it contains a list of hash codes that allow components to be associated together. In other words, when two or more components are considered similar, a unique hash code is generated to represent the association between these components, and that hash code is added to the "Similarity Data" column for each of those components. For example, go to... Figure 3 Both components HF059210 and GJ154003 are components in a group of components considered similar, having received hash code 99089de4. Component HF059210 is further considered similar in two other groups, specified by hash codes f74f0310 and d45c714e, respectively.
[0029] Operation 200 is followed by operation 210, where the function `Requ()` takes a text corpus `TxtC` as an argument and returns a table `TWL[]` as the result. The `Requ()` function is used to construct a set of words that will be used to evaluate the ability of unsupervised embedding methods to generate embeddings that correctly reflect similarity. The table `TWL[]` contains tokens from the corpus `TxtC`, which will be used to create synonyms to score the unsupervised embedding methods. By token, it should be understood that it refers to a single word or a group of words grouped in a phrase, i.e., a multi-word expression (usually 1 to 4 words), in which case they are considered to be treated as a single word. In this case, the corpus `TxtC` can typically be processed to merge words in a phrase by removing spaces between them or by replacing spaces with token symbols such as "_" (underscore), so that the phrase appears as a single word.
[0030] In one embodiment, the table TWL[] is input by the user or selected by the user. In another embodiment, the function Requ() performs system analysis, for example, based on word frequency. Advantageously, the analysis can classify words according to logarithmic frequency, and on this logarithmic frequency scale, the words in the input table TWL[] can be evenly spaced between them. While the logarithmic frequency scale is preferred (because it is particularly suitable for text-based documents), other scales may also be suitable, such as a linear scale, or any other scale suitable for the document being analyzed.
[0031] For example, this can be done by calculating all log frequencies, taking two extreme values, and dividing the difference between these values by the number of target words in the table TWL[] to define the log step size.
[0032] Then, words can be selected based on their corresponding logarithmic frequencies, for example, by selecting words with logarithmic frequencies closest to a multiple of the logarithmic step size added to one of the extremes, or by adding words whose logarithmic frequencies are close to such values. As will be explained later, in the latter case, the score values can be averaged while retaining some words for a given logarithmic frequency.
[0033] Using logarithmic frequencies ensures that unsupervised embedding methods are tested across the entire corpus, not just for the most common words. Furthermore, using multiple words near a given logarithmic frequency allows this effect to be amplified, thus limiting false positives or false negatives in scoring.
[0034] After determining the table TWL[], the corpus modification unit 6 executes the function Swap() in operation 220. The function Swap() takes the corpus TxtC and the table TWL[] as parameters and returns a modified version of the corpus TxtC as the result. The function Swap() creates "known synonyms" in the corpus TxtC by changing some or all of the occurrences of words in the table TWL[]. For this purpose, an alias can be created for each word in the table TWL[], and this alias can be used to replace certain occurrences of the word in the corpus TxtC. This replacement can be systematic (one replacement occurs every two occurrences) or pseudo-random (e.g., ensuring that for each word in the table TWL[], approximately half of the original word and half of the alias exist in the returned corpus TxtC). By replacing these words, the function Swap() effectively generates known synonyms because they are the same word from the beginning. Alternatively, the function Swap() can create two aliases for each word in table TWL[] and alternate between these two aliases when parsing the corpus TxtC, resulting in a corpus containing approximately half of the first aliases and half of the second aliases, but not the original words in table TWL[]. Of course, when inputting several words into table TWL[] for a given logarithmic frequency, it is necessary to keep track of these in the function Swap() so that the scores can be averaged later. It will be easy to find that the aliases are necessarily words that do not exist in the corpus TxtC. The aliases can be stored together with their corresponding words in table TWL[], or elsewhere. It is important to maintain a correspondence between the words in table TWL[] and their corresponding aliases or multiple aliases.
[0035] After operation 220, the corpus modification unit 6 has completed the preparation of the corpus TxtC for system 2 and starts a loop to compare the unsupervised embedding methods among them. In an alternative embodiment, this loop can be replaced by parallelizing the training and scoring of the unsupervised embedding methods being compared. All the following operations are performed by the scoring unit 8.
[0036] The loop begins with a termination condition test, which tests the list EM[] in operation 230. If the list EM[] is empty, all methods have been tested, and the function can terminate in operation 240. Otherwise, EM[] is placed into operation 250, and the result is the unsupervised embedding method EM1 that needs to be scored.
[0037] Subsequently, the function Train() is executed in operation 260. The function Train() takes the unsupervised embedding method EM1 and the corpus TxtC modified by the corpus modification unit 6 in operation 220 as parameters, performs training on the embedding method EM1 on the corpus TxtC, and returns the obtained embeddings of words and their aliases in the table TWL[] in the table Emb[].
[0038] In the final operation 270 of the loop, the function Score() is executed. The function Score() takes the table Emb[] as an argument and returns a score value or a score vector. To compute the score value or score vector, the function Score() performs various calculations on the embeddings of the table Emb[] and can continue in different ways depending on which type of synonym evaluation is sought.
[0039] For example, in one embodiment, the function Score() can use a similarity metric for identifying synonyms (e.g., cosine similarity or another similarity metric) to calculate the similarity between known synonyms in the table TWL[]. Cosine similarity is performed on each word in the table TWL[] and its corresponding embeddings for one or more aliases.
[0040] In another embodiment, a similarity metric can be calculated between each word in table TWL[] and all embeddings generated by training operation 260. In this case, operation 260 can be performed such that table Emb[] stores the embeddings of all words for corpus TxtC. Subsequently, the function Score() can determine the number of words that are more similar to one known synonym than another known synonym.
[0041] Therefore, for a given pair of known synonyms, the score can be based on the following counts: - The number of words that are closer to the first known synonym than the second known synonym. Figure 5In the first version, the word is "design," and in the second version, the word is "DESIGN." Compared to the second version, four words (including "drawing" and "idea") are closer to the first version. Other words marked with "+" indicate other words in the modified corpus. - The number of words that are closer to the second known synonym than the first known synonym. Figure 5 There are three such words in the text, including "drawing"; - The number of words that are closer to the first known synonym than the second known synonym, and the number of words that are closer to the second known synonym than the first known synonym. Figure 5 In this context, there are two such words, including "drawing".
[0042] The first option (a direct similarity measure between known synonyms) is simpler and faster than the second option. It is the preferred choice when evaluating the ability of unsupervised embedding methods to provide absolute semantic similarity measures. The second option is preferred when evaluating the ability of unsupervised embedding methods to produce relative similarity measures, i.e., similarity values are only considered locally consistent within the embedding space. When operation 210 involves introducing several words into the table TWL[] for one or more log frequencies, the function Score() should return a value weighted by the corresponding score.
[0043] Therefore, the function Score() can return a table of all scores for the words in the table TWL[], or a general score that weights these scores among them. In the latter case, the system of the present invention can be used to optimize the hyperparameters of a given unsupervised embedding method by comparing many different versions of the same method with different hyperparameters and comparing their scores.
Claims
1. A computer-implemented method for comparing unsupervised embedding methods for similarity-based industrial component model request systems, comprising: a) Provide a text corpus (200) and a list of test words related to the industrial component model. b) Modify the text corpus (220) by changing multiple occurrences of each test word in the test word list. For each test word, the modified text corpus thus contains occurrences of a first version of each test word and occurrences of a second version of each test word. c) Run the unsupervised embedding method (260) on the modified text corpus and obtain the word embeddings of the modified text corpus; d) Determine a score value (270) associated with the unsupervised embedding method, wherein the score value is determined by comparing the first version of the embedding of the test word and the second version of the embedding of the test word for a plurality of test words, and wherein the comparison of the first version of the embedding of the test word and the second version of the embedding of the test word is based on at least one similarity distance; e) In the case of using another unsupervised embedding method, run steps b) to d) using the text corpus of step a) and the test word list, and return the corresponding score values.
2. The computer-implemented method according to claim 1, wherein, Step b) of modifying the text corpus (220) by changing multiple occurrences of each test word includes: modifying at least half of the occurrences of the test word to selected aliases that do not exist in the text corpus, while leaving the other occurrences unchanged.
3. The computer-implemented method according to claim 1, wherein, Step b) of modifying the text corpus (220) by changing multiple occurrences of each test word includes: modifying at least half of the occurrences of the test word to a selected alias that does not exist in the text corpus, and modifying the remaining occurrences to another selected alias that does not exist in the text corpus.
4. The computer-implemented method according to any one of claims 1 to 3, wherein, The list of test words is predetermined.
5. The computer-implemented method according to any one of claims 1 to 3, wherein, The test word list is obtained by determining the logarithmic frequency distribution of words in the text corpus and selecting words that are evenly spaced in the logarithmic frequency distribution.
6. The computer-implemented method according to any one of claims 1 to 3, wherein, Step d) includes: determining the score of the test word based on the similarity distance between the first version of the embedding of the test word and the second version of the embedding of the test word.
7. The computer-implemented method according to any one of claims 1 to 3, wherein, Step d) includes: determining the score of the test word by determining the similarity distance between the first version of the embedding of the test word and the embeddings of all other words, the similarity distance between the second version of the embedding of the test word and the embeddings of all other words, and returning one of the following: - The number of words whose similarity distance between their embedding and the first version of the embedding of the test word is less than the similarity distance between their embedding and the second version of the embedding of the test word. - The number of words whose similarity distance between their embedding and the second version of the embedding of the test word is less than the similarity distance between their embedding and the first version of the embedding of the test word, and - The sum of the following: the number of words whose embeddings are less similar to the first version of the test word than to the second version of the test word, and the number of words whose embeddings are less similar to the second version of the test word than to the first version of the test word.
8. The computer-implemented method according to any one of claims 1 to 3, wherein, Step d) includes: determining the score value by averaging the score values of multiple test words.
9. The computer-implemented method according to any one of claims 1 to 3, wherein, Step d) includes: determining the score value by returning the test word and multiple score values corresponding to the test word.
10. A computer program product comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 9.
11. A data storage medium having instructions recorded thereon, which, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 9.
12. A computer system comprising a processor coupled to a memory (4) having instructions stored thereon, which, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Method for generating Chinese word vector with multi-submodule information
CN111160020A
Method and system for mapping text phrases to a taxonomy
US20200311115A1