Improved unsupervised embedding method for industrial component model requirement system based on similarity
By modifying a text corpus with synonyms and calculating scoring values, the method addresses the challenge of inconsistent similarity results in unsupervised embedding methods, enhancing the identification of interchangeable industrial components through effective hyperparameter tuning.
Patent Information
- Application Number
- JP2021170897
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-10-20
- Filing Date
- 2021-10-19
- Publication Date
- 2025-10-01
- Estimated Expiration
- 2041-10-19
AI Technical Summary
Existing unsupervised embedding methods for industrial component models lack efficient methods to compare and tune hyperparameters, leading to inconsistent similarity results and difficulty in identifying interchangeable components.
A method involving modifying a text corpus by introducing synonyms and calculating scoring values for unsupervised embedding methods to evaluate their ability to generate accurate similarity embeddings, allowing for hyperparameter tuning and comparison.
Enables accurate tuning of hyperparameters and comparison of unsupervised embedding methods, improving the identification of interchangeable components by ensuring consistent similarity metrics.
Smart Images

Figure 0007747484000001 
Figure 0007747484000002 
Figure 0007747484000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a computer-implemented method for comparing unsupervised embedding methods for a similarity-based industrial component model requesting system.
[0002] When performing design work, whether for mechanical objects or electronic circuits, it is generally preferable to use components that exhibit interchangeability. By interchangeability, it is meant that a given component can be substituted for another component in a design without changing the required specifications for the final product.
[0003] In this regard, identifying parts that can be used to replace one another is a challenging task, but one that is important for streamlining parts procurement and reusing parts whose behavior is known, thus improving the reliability of the design.
[0004] In the case of electronic components, this is typically done by the manufacturer itself by defining standardized data related to the part's fit, form, and function. In the case of mechanical components, this is typically done by generating a signature for each part that is based on a topological analysis of the component shape. The paper "Harmonic 3D shape matching" by Kazdhan et al., SIGGRAPH Sketches and Applications (2002) provides an example of one such method.
[0005] These methods have their strengths and weaknesses, but they are often not built or adapted to take user feedback into account. In other words, they are based on theoretical models and are immutable unless the model itself is changed.
[0006] Another solution to achieve these recommendations is to perform word embeddings that characterize the considered industrial component model and compare the embeddings to perform the search request. In this case, autoencoders or unsupervised embedding methods may be used.
[0007] The latter has the advantage that it is faster to implement than an autoencoder, training time is more immediate than an autoencoder, and there are large corpora from which to choose existing methods.
[0008] However, in addition to the parameters optimized by machine learning, these methods involve the use of hyperparameters that affect the manner in which the machine learning process is performed. The selection of hyperparameters and subsequent accurate tuning of the hyperparameters is difficult to perform because it is difficult to compare the ability of methods to produce significant similarity in the resulting embeddings. Summary of the Invention [Problem to be solved by the invention]
[0009] The present invention aims to improve this situation. [Means for solving the problem]
[0010] To this end, Applicant has disclosed a computer-implemented method for comparing unsupervised embedding methods for a similarity-based industrial component model requirement system, comprising: a) providing a text corpus associated with an industrial component model and a list of words to test; b) modifying the text corpus by changing some of the occurrences of each test word in the list of test words, so that the modified text corpus includes, for each test word, occurrences of a first version of each test word and occurrences of a second version of each test word; c) performing an unsupervised embedding method on the modified text corpus to obtain vector representations of words in the modified text corpus; d) determining, for at least a portion of the test words, a scoring value associated with the unsupervised embedding method by comparing the vector representations of the first version of the test words and the vector representations of the second version of the test words; e) performing steps b) to d) using another unsupervised embedding method with the text corpus of step a) and the list of test words, and returning the respective scoring values; Includes.
[0011] This method is advantageous because it allows comparing unsupervised embedding methods among themselves and performing accurate tuning of hyperparameters in an efficient and reliable manner.
[0012] 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 comprises modifying substantially half of the occurrences of the test word to a selected alias that is not present in the text corpus and leaving other occurrences unchanged; - step b) of modifying the text corpus by changing at least half of the occurrences of each test word comprises modifying substantially half of the occurrences of the test word to a selected alias that is not present in the text corpus and modifying other occurrences to another selected alias that is not present in the text corpus; The list of words to be tested is predetermined, the list of words to test is obtained by determining the logarithmic frequency distribution of words in a text corpus and by selecting words that are evenly spaced in the logarithmic frequency distribution; step d) includes determining a scoring value for the test word based on a similarity distance between an embedding of a first version of the test word and an embedding of a second version of the test word; step d) determining a scoring value for the test word by determining a similarity distance between the embedding of a first version of the test word and the embeddings of all other words, and a similarity distance between the embedding of a second version of the test word and the embeddings of all other words; the number of words whose embeddings are closer to the embedding of the first version of the test word than to the embedding of the second version of the test word; the number of words whose embeddings are closer to the embedding of the second version of the test word than to the embedding of the first version of the test word; the sum of the number of words whose embeddings are closer to the embedding of the first version of the test word than to the embedding of the second version of the test word and the number of words whose embeddings are closer to the embedding of the second version of the test word than to the embedding of the first version of the test word; and returning one of - step d) comprises determining the score of the scoring values by averaging the scoring values of at least some of the words to be tested, - Step d) comprises determining the scores of the scoring values by returning the scoring values of at least some of the test words and the corresponding scoring values of the test words.
[0013] The invention also relates to a computer program comprising instructions for carrying out 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.
[0014] Other features and advantages of the present invention will become apparent in the following description of the drawings illustrating exemplary embodiments of the invention. [Brief explanation of the drawings]
[0015] [Figure 1] 1 shows an overview of a system according to the present invention; [Figure 2] 2 illustrates an exemplary embodiment of operations performed by the system of FIG. 1. [Figure 3] 1 illustrates an embodiment of industrial component model data used in a system according to the present invention. [Figure 4] 1 illustrates an embodiment of industrial component model data used in a system according to the present invention. [Figure 5] 3 shows the similarity distance determined according to the calculation of FIG. 2. DETAILED DESCRIPTION OF THE INVENTION
[0016] The drawings and the following description are provided for the most part with clear and well-defined features, and as a result, they are not only useful for understanding the invention, but can also be used to contribute to its definition, if the need arises.
[0017] The description may refer to or use copyrighted or protectable material, and applicant does not object to the reproduction of those materials to the extent limited to required legal disclosure, but this should not be construed as a waiver of any right or license of any kind.
[0018] 1 shows an overview of a system according to the present invention. The system 2 includes a memory 4, a corpus modification unit 6, and a scoring unit 8.
[0019] The memory 4 stores industrial component model data, which includes any data that allows defining a mechanical or electronic component, as well as attributes that describe the industrial component model to a designer and allow the industrial component model to be explored.
[0020] The industrial component model data is used in a similarity-based industrial component model request engine, which uses an unsupervised embedding method to embed industrial component models and performs industrial component model requests based on a comparison of the embeddings.
[0021] In the embodiments described herein, memory 4 may be implemented in any suitable manner, such as by way of a hard disk drive, a solid state drive, flash memory, memory integrated into the processor, remote storage accessible in the cloud, or the like.
[0022] In the embodiments described herein, corpus correction unit 6 and scoring unit 8 are computer programs running on one or more processors, including any known means for performing automated calculus, such as a CPU, a GPU, a CPU and / or GPU grid, a remote calculus grid, a specially configured FPGA, a specially configured ASIC, a specialized chip such as a SOC or NOC, an AI specialized chip, etc.
[0023] A corpus modification unit 6 computes modified corpus data 12 based on the industrial component model data in memory 4, and a scoring unit 8 allows a user to input an unsupervised embedding method 10 and receive return data 14 that quantifies the ability of the input supervised method 10 to generate embeddings that adequately reflect the similarities between members of the industrial component model data. The return data 14 allows a user to select between a family of unsupervised methods and to fine-tune the hyperparameters of a given unsupervised method.
[0024] 2 illustrates an exemplary embodiment of functions performed by System 2. This exemplary embodiment represents operations that System 2 may perform to implement the present invention.
[0025] The function begins with operation 200, which executes the function Inp(). The function Inp() is an input function that receives as input the tuple of the unsupervised embedding method EM[] and the text corpus TxtC as arguments that are used as global variables in the other steps.
[0026] This may be done via a human-machine interface (HMI). Any type of HMI may be used, as long as it provides an interface through which a user can specify or upload files containing the unsupervised embedding methods EM[] and the text corpus TxtC, or specify entries in memory 4. The unsupervised embedding methods may be described by identifiers indicating specific resources, or they may be provided in detail, including hyperparameters. In the example described herein, the unsupervised embedding methods EM[] are stored in a list, each entry containing a different unsupervised embedding method. It should be understood that different unsupervised embedding methods are considered to differ in that two methods differ only by their sets of hyperparameters. In an embodiment, the list EM[] may be automatically augmented by generating variable sets of hyperparameters for the input unsupervised embedding methods.
[0027] Figures 3 and 4 show examples of tables containing attributes associated with industrial component models. The table in Figure 3 contains mechanical component industrial component models, while the table in Figure 4 contains electronic component industrial component models.
[0028] As can be seen in Figures 3 and 4, each row contains the attributes of a single part, and the attributes are distributed across three types of columns: - A single part ID column referenced as 30, which is a unique identifier for each part; - a feature set string referenced 32 describing predetermined characteristics of each component; A single similarity data string referenced as -34.
[0029] For example, in the case of a mechanical part (FIG. 3), the columns may include a description of the part, one or more columns detailing the materials used in the part, one or more columns storing the part's shape code, one or more columns storing the part's dimensions, one or more columns storing the part's relevant measurements (e.g., hardness, etc.), etc. Similarly, in the case of an electronic part (FIG. 4), the columns may include the part type (to describe what type of electronic function is achieved), a measurement column to describe limit values along with nominal and operating values, etc. Because all of the columns describe common measurements or features that characterize the physical properties of the part, they may be considered "objective features."
[0030] The similarity data column may be empty. When it is filled, it contains a list of hash codes that allow parts to be associated together. In other words, when two or more parts are considered similar, a unique hash code is generated to associate those parts together and represent the part association, and this hash code is added to the "similarity data" column for each of those parts. For example, turning to FIG. 3, parts "HF059210" and "GJ154003" were both parts of a part set considered similar that received hash code "99089de4." Furthermore, part "HF059210" is considered similar in two other sets designated by hash codes "f74f0310" and "d45c714e," respectively.
[0031] Operation 200 is followed by operation 210, in which function Requ() receives a text corpus TxtC as an argument and returns a table TWL[] as a result. Function Requ() is used to establish a set of words that are used to evaluate the ability of the unsupervised embedding method to generate embeddings that adequately reflect similarity. Table TWL[] contains tokens from corpus TxtC that are used to generate synonyms that score the unsupervised embedding method. It should be understood that tokens refer to sets of words grouped into single words or phrases, i.e., multi-word expressions (typically 1-4 words), that should be treated as single words. In this case, corpus TxtC as a whole may be processed to coalesce words of phrases by removing spaces between them or by replacing spaces with a token symbol such as "_" (underscore), so that the phrase appears as a single word.
[0032] In an embodiment, the table TWL[] is entered or selected by a user. In another embodiment, the function Requ() performs a systematic analysis, for example, based on word frequency. Advantageously, this analysis can classify words according to logarithmic frequency and space the words entered in the table TWL[] evenly among themselves on this logarithmic frequency scale. The logarithmic frequency scale is preferred because it is particularly suited to text-based documents, although other scales, such as a linear scale or any other scale suited to the documents being analyzed, may be appropriate.
[0033] For example, this may be done by calculating all logarithmic frequencies, taking the two extreme values, and dividing the difference between those values by the target number of words in the table TWL[] to define a logarithmic step.
[0034] Words may then be selected based on their respective logarithmic frequencies, for example, by selecting the word with the logarithmic frequency closest to the multiple of the logarithmic step added to one of the extreme values, or by adding words whose logarithmic frequencies are close to such a value. As will be explained later, in the latter case, the scoring values may be averaged when several words are retained for a given logarithmic frequency.
[0035] Using log-frequencies allows us to ensure that the unsupervised embedding method is tested against the full range of the corpus, not just the most frequent words. Furthermore, using several words around a given log-frequency allows us to deepen this effect, thereby limiting false positives or false negatives in terms of scoring.
[0036] After the table TWL[] has been determined, the corpus modification unit 6 executes the function Swap() in operation 220. The function Swap() receives the corpus TxtC and the table TWL[] as arguments and returns a modified version of the corpus TxtC as a result. The function Swap() is responsible for generating "known synonyms" in the corpus TxtC by changing some or all of the occurrences of the word in the table TWL[]. To do so, an alias may be generated for each word in the table TWL[], and this alias may be used to replace some of the occurrences of the word in the corpus TxtC. This replacement may be systematic (one out of every two occurrences) or pseudo-random (e.g., to ensure that for each word in the table TWL[], approximately half of the original word and approximately half of the aliases are present in the returned corpus TxtC). By replacing those words, since they were the same starting word, the function Swap() effectively generates known synonyms. Alternatively, the function Swap() may generate two aliases for each word in the table TWL[], and use both of them instead when parsing the corpus TxtC, so that the resulting corpus contains roughly half the first alias and roughly half the second alias in the table TWL[], but no original word. Of course, if several words are entered into the table TWL[] for a given logarithmic frequency, this must be recorded within the function Swap() for later averaging of the scoring values. It is readily apparent that aliases are necessarily words that do not exist in the corpus TxtC. Aliases may be stored in the table TWL[] according to the words to which they correspond, or else created. All that is relevant is that a correspondence is maintained between the words in the table TWL[] and their respective aliases.
[0037] After operation 220, corpus modification unit 6 has finished creating corpus TxtC for system 2, and a loop begins to compare unsupervised embedding methods between them. In an alternative embodiment, the loop may be replaced by penalizing the training and scoring of the unsupervised embedding methods being compared. All of the following operations are performed by scoring unit 8.
[0038] The loop begins with an end condition test that tests the list EM[] in operation 230. If the list EM[] is empty, all methods have been tested and the function may end in operation 240. Otherwise, the list EM[] is popped in operation 250 and the result is the unsupervised embedding method EM1 that needs to be scored.
[0039] The function Train() is then executed in operation 260. The function Train() receives as arguments the corpus TxtC modified by corpus modification unit 6 in operation 220 and the unsupervised embedding method EM1, performs training of the embedding method EM1 on the corpus TxtC, and returns the resulting embeddings of the words in table TWL[] and their aliases in table Emb[].
[0040] The final operation 270 of the loop executes the function Score(). The function Score() receives the table Emb[] as an argument and returns a scoring value or a scoring vector. To calculate said scoring value or vector, the function Score() performs various calculus on the embeddings of the table Emb[], which may be processed differently depending on what type of synonymity assessment is being sought.
[0041] For example, in one embodiment, the function Score() may calculate the similarity between known synonyms in table TWL[] using a similarity measure used to identify synonyms, such as cosine similarity or another similarity measure. The cosine similarity is performed on each embedding of each word in table TWL[] and their corresponding aliases.
[0042] In another embodiment, a similarity measure may be calculated between each word in table TWL[] and all of the embeddings generated by training operation 260. In this case, operation 260 may be performed such that table Emb[] stores the embeddings for all words in corpus TxtC. The function Score() may then determine the number of words that are more similar to one known synonym than to another synonym.
[0043] Thus, the score may be based on the total number of: - The number of words that are closer to the first known synonym than to the second known synonym. In Figure 5, if the first version is the word "design" and the second version is the word "DESIGN," there are four words that are closer to the first version than to the second version, including "drawing" and "idea." The other "+" symbols indicate other words in the revised corpus. - The number of words that are closer to the second known synonym than to the first known synonym. In Figure 5, there are three such words, including "drawing." - The number of words that are closer to the first known synonym than to the second known synonym and closer to the second known synonym than to the first known synonym. In Figure 5, there are two such words, including "drawing."
[0044] The first option (direct similarity measurement between known synonyms) is simpler and faster than the second option. It is preferred when evaluating the ability of an unsupervised embedding method to provide an absolute semantic similarity metric. The second option is preferred when evaluating the ability of an unsupervised embedding method to generate a relative similarity metric, i.e., similarity values are simply assumed to be locally consistent within the embedding space. When operation 210 involves introducing several words into table TWL[] for one or more logarithmic frequencies, function Score() should return a value that weights the corresponding score.
[0045] As a result, the function Score() can return a table of all scores for the words in the table TWL[], or an overall score that weights those scores among them. In the latter case, the system of the present invention may 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. 1. A computer-implemented method for comparing unsupervised embedding methods for a similarity-based industrial component model requirement system, comprising: a) providing a text corpus associated with an industrial component model and a list of words to test (200); b) modifying (220) the text corpus by changing some of the occurrences of each test word in the list of test words, such that the modified text corpus includes, for each test word, occurrences of a first version of each test word and occurrences of a second version of each test word; c) performing an unsupervised embedding method on the modified text corpus to obtain vector representations of words in the modified text corpus (260); d) determining (270) a scoring value associated with the unsupervised embedding method for at least some of the test words by comparing the vector representations of the first versions of the test words and the vector representations of the second versions of the test words; e) performing steps b) to d) using the text corpus and the list of test words of step a) using another unsupervised embedding method and returning the respective scored values; 1. A computer-implemented method comprising:
2. 2. The computer-implemented method of claim 1, wherein step b) of modifying (220) the text corpus by changing at least half of the occurrences of each test word comprises changing substantially half of the occurrences of the test word to a selected alias that is not present in the text corpus and leaving other occurrences unchanged.
3. 3. The computer-implemented method of claim 1 or 2, wherein step b) of modifying the text corpus by changing at least half of the occurrences of each test word (220) comprises changing substantially half of the occurrences of the test word to a selected alias that is not present in the text corpus and modifying other occurrences to another selected alias that is not present in the text corpus.
4. 4. The computer-implemented method of claim 1, wherein the list of words to test is predetermined.
5. 4. The computer-implemented method of claim 1, wherein the list of test words is obtained by determining the log-frequency distribution of the words in the text corpus and by selecting words that are evenly spaced in the log-frequency distribution.
6. 6. The computer-implemented method of claim 1, wherein step d) comprises determining a scored value for the test word based on a similarity distance between an embedding of the first version of the test word and an embedding of the second version of the test word.
7. step d) determining a scoring value for the test word by determining a similarity distance between the embedding of the first version of the test word and the embeddings of all other words, and a similarity distance between the embedding of the second version of the test word and the embeddings of all other words; the number of words whose embeddings are closer to the embedding of the first version of the test word than to the embedding of the second version of the test word; the number of words whose embeddings are closer to the embedding of the second version of the test word than to the embedding of the first version of the test word; and the sum of the number of words whose embeddings are closer to the embedding of the first version of the test word than to the embedding of the second version of the test word and the number of words whose embeddings are closer to the embedding of the second version of the test word than to the embedding of the first version of the test word; and 7. The computer-implemented method of claim 1, comprising:
8. 8. The computer-implemented method of claim 1, wherein step d) comprises determining a score of the scored values by averaging the scored values of at least some of the tested words.
9. 9. The computer-implemented method of claim 1, wherein step d) includes determining a score for the scored values by returning at least the scored values of the test words and the corresponding test words.
10. A computer program comprising instructions for carrying out the method according to any one of claims 1 to 9.
11. A data storage medium storing the computer program according to claim 10.
12. A computer system including a processor coupled to a memory (4), characterized in that said memory (4) stores a computer program according to claim 10.
Citation Information
Patent Citations
Speech and language understanding system
JP2018513405A
Systems, methods, and computer-readable media for visualizing semantic information and inferring temporal signals indicative of salient associations between life science entities
JP2019536178A