Information processing program, information processing method, and information processing device

By using co-occurrence rate and category tables to assign vectors based on semantic categories, the device addresses the challenge of polysemous words, improving analysis accuracy.

JP7722526B2Active Publication Date: 2025-08-13FUJITSU LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024096762
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-06-14
Publication Date
2025-08-13
Estimated Expiration
2040-10-30

AI Technical Summary

Technical Problem

Conventional techniques fail to assign appropriate vectors to the multiple senses of polysemous words, leading to reduced accuracy in analysis and translation.

Method used

An information processing device identifies polysemous words using a co-occurrence rate table and category tables to assign vectors based on semantic categories, reducing data requirements compared to Hidden Markov Models.

Benefits of technology

Improves the accuracy of analysis by assigning appropriate vectors to polysemous words, enhancing the precision of sentence vectors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007722526000002
    Figure 0007722526000002
  • Figure 0007722526000003
    Figure 0007722526000003
  • Figure 0007722526000004
    Figure 0007722526000004
Patent Text Reader

Abstract

To assign an appropriate vector to improve the accuracy of analysis using the vector.SOLUTION: An information processing apparatus specifies a plurality of candidates for protein with any position included in a codon file in which a plurality of codons are arranged as a starting position, specifies categories to which the plurality of candidates for protein respectively belong, specifies one protein from the plurality of candidates for protein based on the combination of the categories to which the plurality of candidates for protein respectively belong and protein before the starting point, and a table defining the frequency of the occurrence of a category to which protein subsequent to certain protein belongs in protein specified by the arrangement of codons, and assigns a vector to the specified protein.SELECTED DRAWING: Figure 18
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing program and the like. [Background technology]

[0002] Word2Vec (Skip-Gram Model or CBOW) is a conventional technology that analyzes sentences and phrases (hereinafter simply referred to as sentences) and represents each word contained in a sentence as a vector. A feature of this technology is that even if words are written differently, words with similar meanings have similar vector values. In the following explanation, word vectors are referred to as "word vectors." For example, Word2Vec represents word vectors in 200 dimensions.

[0003] A sentence vector is calculated by accumulating each word vector of multiple words that make up a sentence. In the following explanation, a sentence vector will be referred to as a "sentence vector." Even if the sentences are written differently, sentences that are similar in meaning have similar values for their sentence vectors. For example, the meaning of the sentence "I like apples" is the same as the meaning of the sentence "Apples are my favorite food," so the sentence vector of "I like apples" and the sentence vector of "Apples are my favorite food" will be similar.

[0004] There is also a technique called Poincare Embeddings that assigns word vectors (numerical values) to words. In this technique, words and their categories are defined in advance, and the words are embedded in Poincare space based on the defined categories. Then, in the Poincare space, a vector corresponding to the embedded word is assigned to the corresponding word. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-22398 [Patent Document 2] Japanese Patent Application Publication No. 2018-206263 Summary of the Invention [Problem to be solved by the invention]

[0006] However, the above-mentioned conventional techniques are unable to assign appropriate vectors to the multiple senses (meanings) of a polysemous word, which results in a problem of reduced accuracy in analysis and translation using vectors.

[0007] For example, the word "cool(1)" in the English sentence "Ichiro is cool." and the word "cool(2)" in "This room is cool." have different semantics (meanings) of "cool." Note that the numbers in parentheses are added for convenience to distinguish between "cool" with different meanings.

[0008] If the same vector (numerical value) is assigned to "cool(1)" and "cool(2)" above, it will not be possible to properly assign a sentence vector to "Ichiro is cool." and "This room is cool."

[0009] One possible approach is to pre-set word vectors for each semantic category of a polysemous word. In this case, when distinguishing whether "cool" in the English sentence "Ichiro is cool" corresponds to "cool(1)" or "cool(2)," an HMM (Hidden Markov Model) or similar would be used to estimate this. However, setting HMM parameters for all semantic categories of polysemous words would require an enormous amount of information to be registered, making this unrealistic. Furthermore, measures are also needed to create vectors for phrases with different meanings, similar to polysemous words, by linking them with frequently occurring prepositions known as stop words, such as "take off" and "take out."

[0010] In one aspect, the present invention aims to provide an information processing program, an information processing method, and an information processing device that can assign appropriate vectors and improve the accuracy of analysis using vectors. [Means for solving the problem]

[0011] In the first proposal, the computer is made to execute the following process: the computer identifies a plurality of protein candidates starting from any position included in a codon file in which a plurality of codons are arranged, identifies a category to which each of the plurality of protein candidates belongs, and identifies one protein from the plurality of protein candidates based on the combination of the category to which each of the plurality of protein candidates belongs and the protein preceding the starting position, and a table defining the frequency of appearance of the category to which a protein following a certain protein belongs among proteins identified by a codon sequence, and assigns a vector to the identified protein. [Effects of the Invention]

[0012] By assigning appropriate vectors, the accuracy of analysis using vectors can be improved. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram illustrating the process of the information processing device according to the first embodiment. [Figure 2] FIG. 2 is a functional block diagram illustrating a configuration of the information processing device according to the first embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of the data structure of the first dictionary data. [Figure 4] FIG. 4 is a diagram illustrating an example of the data structure of the second dictionary data. [Figure 5] FIG. 5 is a diagram illustrating an example of the first teacher data. [Figure 6] FIG. 6 is a diagram illustrating an example of the second teacher data. [Figure 7]FIG. 7 is a diagram illustrating an example of the data structure of the first co-occurrence rate table. [Figure 8] FIG. 8 is a diagram illustrating an example of the data structure of the second co-occurrence rate table. [Figure 9] FIG. 9 is a diagram illustrating an example of the data structure of the first category table. [Figure 10] FIG. 10 is a diagram illustrating an example of the data structure of the second category table. [Figure 11] FIG. 11 is a diagram illustrating an example of the data structure of the first vector table. [Figure 12] FIG. 12 is a diagram illustrating an example of the data structure of the second vector table. [Figure 13] FIG. 13 is a diagram illustrating the process of the allocation unit according to the first embodiment. [Figure 14] FIG. 14 is a flowchart (1) illustrating an example of a processing procedure of the information processing device according to the first embodiment. [Figure 15] FIG. 15 is a flowchart (2) illustrating an example of the processing procedure of the information processing device according to the first embodiment. [Figure 16] FIG. 16 is a diagram (1) for explaining the dimensionality reduction of a vector. [Figure 17] FIG. 17 is a diagram (2) for explaining the dimensionality reduction of a vector. [Figure 18] FIG. 18 is a diagram illustrating the process of the information processing device according to the second embodiment. [Figure 19] FIG. 19 is a functional block diagram illustrating a configuration of an information processing device according to the second embodiment. [Figure 20] FIG. 20 is a diagram illustrating an example of the data structure of a base file. [Figure 21] FIG. 21 is a diagram illustrating an example of the data structure of the conversion table. [Figure 22] FIG. 22 is a diagram illustrating an example of the data structure of a codon-compressed file. [Figure 23] FIG. 23 is a diagram showing an example of the data structure of a codon transposition index. [Figure 24]FIG. 24 is a diagram illustrating an example of the data structure of the protein dictionary. [Figure 25] FIG. 25 is a diagram illustrating an example of the data structure of a protein HMM. [Figure 26] FIG. 26 is a diagram illustrating an example of the data structure of a protein compressed file. [Figure 27] FIG. 27 is a diagram showing an example of the data structure of a protein transposition index. [Figure 28] FIG. 28 is a diagram illustrating an example of the data structure of the category table. [Figure 29] FIG. 29 illustrates an example of the data structure of the vector table. [Figure 30] FIG. 30 is a diagram for explaining the processing of the second encoding unit. [Figure 31] FIG. 31 is a flowchart illustrating a processing procedure of the information processing device according to the second embodiment. [Figure 32] FIG. 32 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing device according to the first embodiment. [Figure 33] FIG. 33 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing device according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, an information processing program, an information processing method, and an information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these embodiments. [Example]

[0015] FIG. 1 is a diagram for explaining the processing of an information processing device according to the first embodiment. In FIG. 1, as an example, a case will be explained in which the information processing device assigns sentence vectors to Japanese input texts da1 and da2. For example, the sentence in the input text da1 is "Strawberries are sweet." The sentence in the input text da2 is "His thoughts are sweet."

[0016] Here, it is assumed that the information processing device performs processing using the first co-occurrence rate table 143a, the first category table 144a, and the first vector table 145a.

[0017] The first co-occurrence rate table 143a holds the relationship between the co-occurrence rate of synonymous words classified by semantic division and word categories. In the first embodiment, synonymous words are distinguished by a pair of the word and a number in parentheses. In FIG. 1, the synonymous word "sweet" is distinguished by "sweet (1)" and "sweet (2)".

[0018] Assume that the meaning of "sweet (1)" is "tastes like sugar, honey, or other sugary substances." In sentences containing "sweet (1)," it is shown that the co-occurrence rate of words identified by category ID "α" is "78%." In sentences containing "sweet (1)," it is shown that the co-occurrence rate of words identified by category ID "β" is "63%." In sentences containing "sweet (1)," it is shown that the co-occurrence rate of words identified by category ID "η" is "1%." In sentences containing "sweet (1)," it is shown that the co-occurrence rate of words identified by category ID "ζ" is "2%."

[0019] If other words co-occurring in a sentence containing the polysemous word "sweet" are words corresponding to category IDs "α" and "β", the information processing device identifies the polysemous word "sweet" as the polysemous word "sweet (1)".

[0020] The meaning of "sweet (2)" is "not being strict." In a sentence containing "sweet (2)," it is shown that the co-occurrence rate of words specified by category ID "α" is "1%." In a sentence containing "sweet (2)," it is shown that the co-occurrence rate of words specified by category ID "β" is "2%." In a sentence containing "sweet (2)," it is shown that the co-occurrence rate of words specified by category ID "η" is "81%." In a sentence containing "sweet (2)," it is shown that the co-occurrence rate of words specified by category ID "ζ" is "71%."

[0021] If other words co-occurring in a sentence containing the polysemous word "sweet" are words corresponding to category IDs "η" and "ζ", the information processing device identifies the polysemous word "sweet" as the polysemous word "sweet (2)".

[0022] The first category table 144a is a table that associates category IDs with words. Each word is classified into a category ID based on a thesaurus. For example, fruits such as strawberries, apples, and grapes are classified into the category ID "α." Words related to people such as "he" and "she" are classified into the category ID "η." Although explanations are omitted here, it is assumed that other words are also classified into one of the category IDs.

[0023] The first vector table 145a holds a word vector assigned to each word. For polysemous words, a word vector is set for each semantic category. The word vector for each word is assumed to be calculated in advance using a conventional technique called Poincare Embeddings.

[0024] The process of assigning sentence vectors to input text da1 by an information processing device will be described. The information processing device performs morphological analysis on the input text da1 to divide it into words w1-1, w1-2, and w1-3. Of the words w1-1, w1-2, and w1-3, the word w1-3 is a polysemous word. For example, the information processing device identifies polysemous words using dictionary data.

[0025] The information processing device compares the words w1-1 and w1-2 that co-occur with the word w1-3 with the first category table 144a to identify the category ID "α" of the word w1-1. Explanation of the category ID of the word w1-2 will be omitted.

[0026] The information processing device compares the relationship between the synonym "sweet" corresponding to the word w1-3 and the co-occurring category ID "α" of w1-1 with the first co-occurrence rate table 143a, and determines that the word w1-3 corresponds to the synonym "sweet (1)".

[0027] The information processing device compares the words w1-1, w1-2, and w1-3 with the first vector table 145a to determine the word vectors V corresponding to the words w1-1, w1-2, and w1-3. 1-1 ,V 1-2 ,V (1) Here, the word vectors assigned to the words w1-3 are the unique word vectors V related to "sweet (1)". (1) The information processing device calculates the word vector V 1-1 ,V 1-2 ,V (1) The information processing device calculates a sentence vector "V1" by accumulating the sentences da1 and da2. The information processing device assigns the sentence vector "V1" to the input text da1.

[0028] The process of assigning sentence vectors to input text da2 by an information processing device will be described. The information processing device performs morphological analysis on the input text da2 to divide it into words w2-1, w2-2, w2-3, w2-4, and w2-5. Of the words w2-1, w2-2, w2-3, w2-4, and w2-5, word w2-5 is a polysemous word. For example, the information processing device identifies polysemous words using dictionary data.

[0029] The information processing device compares the words w2-1, w2-2, w2-3, and w2-4 that co-occur with the word w2-5 with the first category table 144a to identify the category ID "η" of the word w2-1. Explanation of the category IDs of the words w2-2 to w2-4 will be omitted.

[0030] The information processing device compares the relationship between the polysemous word "sweet" corresponding to the word w2-5 and the co-occurring category ID "η" of w2-1 with the first co-occurrence rate table 143a, and determines that the word w2-5 corresponds to the polysemous word "sweet (2)".

[0031] The information processing device compares the words w2-1 to w2-5 with the first vector table 145a to obtain the word vectors V corresponding to the words w2-1 to w2-5. 2-1 ,V 2-2 ,V 2-3 ,V 2-4 ,V (2) Here, the word vector assigned to word w2-5 is the unique word vector V related to "sweet (2)". (2) The information processing device calculates the word vector V 2-1 ,V 2-2 ,V 2-3 ,V 2-4 ,V (2) The information processing device calculates a sentence vector "V2" by accumulating the sentences da2 and da3. The information processing device assigns the sentence vector "V2" to the input text da2.

[0032] As described above, the information processing device according to the first embodiment identifies the meanings of the polysemous words included in the input text and assigns word vectors according to the meanings of the polysemous words using the first co-occurrence rate table 143a, which defines the co-occurrence rates between polysemous words classified by semantic classification and categories of other words. In this way, when the input text includes polysemous words, word vectors according to the meanings of the polysemous words are assigned, thereby making it possible to improve the accuracy of the sentence vectors corresponding to the input text.

[0033] Furthermore, the information processing device performs processing using a first co-occurrence rate table 143a that classifies words into category IDs based on a thesaurus and defines the co-occurrence rate between synonymous words classified into semantic categories and category IDs. Therefore, the amount of data in the first co-occurrence rate table 143a can be reduced compared to a conventional HMM that defines the co-occurrence rate for each word.

[0034] Next, a description will be given of the configuration of the information processing device according to the present embodiment 1. Fig. 2 is a functional block diagram showing the configuration of the information processing device according to the present embodiment 1. As shown in Fig. 2, the information processing device 100 includes a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.

[0035] The communication unit 110 is connected to an external device or the like via a wired or wireless connection, and transmits and receives information to and from the external device or the like. For example, the communication unit 110 is realized by a NIC (Network Interface Card) or the like. The communication unit 110 may be connected to a network (not shown).

[0036] The input unit 120 is an input device that inputs various types of information to the information processing device 100. The input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.

[0037] The display unit 130 is a display device that displays information output from the control unit 150. The display unit 130 corresponds to a liquid crystal display, an organic EL (Electro Luminescence) display, a touch panel, or the like.

[0038] The storage unit 140 has first dictionary data 141a, second dictionary data 141b, first teacher data 142a, second teacher data 142b, first co-occurrence rate table 143a, and second co-occurrence rate table 143b. The storage unit 140 has a first category table 144a, a second category table 144b, a first vector table 145a, and a second vector table 145b. The storage unit 140 has first text data 146a and second text data 146b. The storage unit 140 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.

[0039] The first dictionary data 141a is dictionary data in which the format of a Japanese word dictionary is extended, and in addition to Japanese words, Japanese polysemous words, idioms, technical terms, etc. are registered. Fig. 3 is a diagram showing an example of the data structure of the first dictionary data. For example, the first dictionary data 141a associates word strings, parts of speech, classifications, polysemous word flags, etc.

[0040] The word string indicates the form of the word that actually appears as a string in a sentence (surface form), taking into account conjugation and spelling variations. The part of speech indicates the part of speech of the word in the sentence. The classification indicates the classification of the word in the sentence. The polysemous word flag is a flag that indicates whether the word string is polysemous. If it is polysemous, the polysemous word flag is "1". If it is not polysemous, the polysemous word flag is "0".

[0041] The second dictionary data 141b is dictionary data in which the format of an English word dictionary is extended, and in addition to English words, English polysemous words, idioms, technical terms, etc. are registered. Fig. 4 is a diagram showing an example of the data structure of the second dictionary data. For example, the second dictionary data 141b associates word strings, parts of speech, classifications, polysemous word flags, etc.

[0042] The explanations regarding word strings, parts of speech, classifications, and ambiguity flags are the same as those given in FIG.

[0043] The first training data 142a is data used when calculating each co-occurrence rate (parameter) of the first co-occurrence rate table 143a for Japanese. FIG. 5 is a diagram showing an example of the first training data. As shown in FIG. 5, the first training data 142a includes a plurality of Japanese sentences. Furthermore, among the words included in the sentences, polysemous words are distinguished by a pair of the word and a number in parentheses. Sweet (1) and sweet (2) are words in different semantic categories.

[0044] The second training data 142b is data used when calculating each co-occurrence rate (parameter) of the second co-occurrence rate table 143b for English. FIG. 6 is a diagram showing an example of the second training data. As shown in FIG. 6, the second training data 142b includes a plurality of English sentences. Furthermore, among the words included in the sentences, polysemous words are distinguished by a pair of the word and a number in parentheses. cool(1) and cool(2) are words in different semantic categories.

[0045] The first co-occurrence rate table 143a holds the relationship between the co-occurrence rate of polysemous words (polysemous words in Japanese) classified by semantic classification and the category of words (Japanese words). FIG. 7 is a diagram showing an example of the data structure of the first co-occurrence rate table. As shown in FIG. 7, polysemous words of the same word character string are distinguished by a pair of a word and a number in parentheses. The explanation of the first co-occurrence rate table 143a in FIG. 7 is the same as the explanation of the first co-occurrence rate table 143a in FIG. 1.

[0046] The second co-occurrence rate table 143b holds the relationship between the co-occurrence rate of polysemous words (polysemous English words) classified by semantic classification and the category of words (English words). Fig. 8 is a diagram showing an example of the data structure of the second co-occurrence rate table. As shown in Fig. 8, polysemous words of the same word character string are distinguished by a pair of a word and a number in parentheses.

[0047] The meaning of "coo1(1)" is "cool." In a sentence containing "coo1(1)," it is shown that the co-occurrence rate of the word specified by category ID "ε" is "75%." In a sentence containing "coo1(1)," it is shown that the co-occurrence rate of the word specified by category ID "λ" is "60%." In a sentence containing "coo1(1)," it is shown that the co-occurrence rate of the word specified by category ID "η" is "1%." In a sentence containing "coo1(1)," it is shown that the co-occurrence rate of the word specified by category ID "ζ" is "2%."

[0048] If other words co-occurring in a sentence containing the synonym "coo1" are words corresponding to category IDs "ε" and "λ", the information processing device 100 identifies the synonym "coo1" as the synonym "coo1(1)".

[0049] The meaning of "coo1(2)" is "calm, collected." In a sentence containing "coo1(2)," it is shown that the co-occurrence rate of the word specified by category ID "ε" is "1%." In a sentence containing "coo1(2)," it is shown that the co-occurrence rate of the word specified by category ID "λ" is "2%." In a sentence containing "coo1(2)," it is shown that the co-occurrence rate of the word specified by category ID "η" is "77%." In a sentence containing "coo1(2)," it is shown that the co-occurrence rate of the word specified by category ID "ζ" is "75%."

[0050] When other words co-occurring in a sentence containing the polysemous word "coo1" are words corresponding to category IDs "η" and "ζ", the information processing device 100 identifies the polysemous word "coo1" as the polysemous word "coo1(2)".

[0051] First category table 144a is a table that associates category IDs with Japanese words. FIG. 9 is a diagram showing an example of the data structure of the first category table. As shown in FIG. 9, first category table 144a associates category IDs with words. A category ID is information that uniquely identifies a category. It is assumed that words are classified into each category ID based on a thesaurus.

[0052] For example, words such as "strawberry," "apple," and "grape" are classified into category ID "α." Words such as "cookie," "cake," and "ice cream" are classified into category ID "β." Words such as "he," "she," "you," and "that guy" are classified into category ID "η." Words such as "thought," "hope," and "idea" are classified into category "ζ."

[0053] Second category table 144b is a table that associates category IDs with English words. FIG. 10 is a diagram showing an example of the data structure of the second category table. As shown in FIG. 10, second category table 144b associates category IDs with words. A category ID is information that uniquely identifies a category. It is assumed that words are classified into each category ID based on a thesaurus.

[0054] For example, words such as "room," "place," and "hall" are classified into category ID "ε." Words such as "temperature," "air," and "atmosphere" are classified into category ID "λ." Words such as "he," "she," "you," and "chap" are classified into category ID "η." Words such as "thought," "hope," and "idea" are classified into category "ζ."

[0055] The first vector table 145a defines word vectors for Japanese words. For polysemous words, different word vectors are associated with each semantic category. FIG. 11 is a diagram showing an example of the data structure of the first vector table 145a. As shown in FIG. 11, the first vector table 145a associates words with word vectors. The number of dimensions of the word vector is set to 200.

[0056] For example, for the polysemous word "sweet," a word vector is associated with each semantic category. "Sweet (1)" is associated with the word vectors (200 dimensions) "Vj1-1 to Vj1-200." "Sweet (2)" is associated with the word vectors (200 dimensions) "Vj2-1 to Vj2-200."

[0057] The second vector table 145b defines word vectors for English words. For polysemous words, different word vectors are associated with each semantic category. For phrases, one word vector is associated with the multiple words that make up the phrase. FIG. 12 is a diagram showing an example of the data structure of the second vector table 145b. As shown in FIG. 12, this second vector table 145b associates words with word vectors. The number of dimensions of the word vector is 200.

[0058] For example, for the polysemous word "cool," a word vector is associated with each semantic category. "cool(1)" is associated with the word vectors (200 dimensions) "Ve1-1 to Ve1-200." "cool(2)" is associated with the word vectors (200 dimensions) "Ve2-1 to Ve2-200."

[0059] Furthermore, one word vector (200 dimensions) "Ve4-1 to Ve4-200" is associated with the phrase "take off." One word vector (200 dimensions) "Ve5-1 to Ve5-200" is associated with the phrase "take out."

[0060] The word vectors described in FIGS. 11 and 12 are assumed to be calculated in advance using a technique called Poincare embedding.

[0061] In Poincaré embedding, vectors are assigned according to the position embedded in Poincaré space, and the more similar the information, the closer it is to be embedded. Therefore, basic information classified into the same common concept is embedded in close positions in Poincaré space, and similar vectors are assigned. For example, the Japanese word "amai (1)" and the English word "sweet" have similar meanings, so similar word vectors are assigned to them.

[0062] The first text data 146a is data including a plurality of Japanese sentences (input texts). The control unit 150, which will be described later, performs a process of assigning sentence vectors to the input texts included in the first text data 146a.

[0063] The second text data 146b is data including a plurality of English sentences (input texts). The control unit 150, which will be described later, assigns sentence vectors to the input texts included in the second text data 146b.

[0064] The control unit 150 includes a receiving unit 151, a calculating unit 152, a generating unit 153, and an allocating unit 154. The control unit 150 is realized by, for example, a central processing unit (CPU) or a micro processing unit (MPU). The control unit 150 may also be implemented by, for example, an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

[0065] The receiving unit 151 receives various types of data from external devices or the like via a network, and stores the received data in the storage unit 140. For example, the receiving unit 151 receives first dictionary data 141a, second dictionary data 141b, first teacher data 142a, second teacher data 142b, first category table 144a, and second category table 144b, and stores them in the storage unit 140.

[0066] The calculation unit 152 performs Poincaré embedding to calculate word vectors for each word, phrase, technical term, etc. The calculation unit 152 calculates word vectors for each word, phrase, technical term, etc. based on the technology described in the non-patent document "Valentin Khrulkov1 et al. "Hyperbolic Image Embeddings" Cornell University, April 3, 2019" and the like, and registers them in the first vector table 145a and the second vector table 145b.

[0067] In addition, if the word vectors of each word have been calculated in advance by an external device that performs Poincaré embedding, the receiving unit 151 receives the first vector table 145a and the second vector table 145b from the external device and stores them in the memory unit 140.

[0068] Generator 153 is a processing unit that generates first co-occurrence rate table 143a and second co-occurrence rate table 143b. Generator 153 stores generated first co-occurrence rate table 143a and second co-occurrence rate table 143b in storage unit 140.

[0069] An example of a process in which the generation unit 153 generates the first co-occurrence rate table 143a will be described. The generation unit 153 performs morphological analysis on Japanese sentences included in the first training data 142a to divide the sentences into a plurality of words. The generation unit 153 identifies polysemous words from the divided words. As described in FIG. 5, in the first training data 142a, polysemous words are defined so as to be identifiable by a pair of a word and a number in parentheses. The following description will explain a process in which the generation unit 153 calculates the co-occurrence rate of the polysemous word "sweet (1)".

[0070] The generation unit 153 detects words that co-occur with the synonym "sweet (1)" and compares the detected words with the first category table 144a to identify the category IDs of the words that co-occur with the synonym "sweet (1)". Here, the words that co-occur with the synonym "sweet (1)" may be words included in the same sentence as the synonym, may be words located earlier in the same sentence as the synonym, or may be words located later in the same sentence as the synonym.

[0071] For example, in the first training data 142a, the polysemous word "sweet (1)" is A Also, the category ID "α" of the word that co-occurs with the polysemous word "sweet (1)" is L A In this case, the co-occurrence rate of the polysemous word "sweet (1)" and the category ID "α" is "L A / M A×100". The generating unit 153 repeats the above process for each synonym (a combination of a word and a number in parentheses) to generate the first co-occurrence rate table 143a.

[0072] Next, an example of a process in which the generation unit 153 generates the second co-occurrence rate table 143b will be described. The generation unit 153 performs morphological analysis on an English sentence included in the second training data 142b to divide the sentence into a plurality of words. The generation unit 153 identifies polysemous words from the divided plurality of words. As described in FIG. 6, in the second training data 142b, polysemous words are defined so as to be identifiable by a pair of a word and a number in parentheses. The following description will discuss a process in which the generation unit 153 calculates the co-occurrence rate of the polysemous word "cool(1)".

[0073] The generation unit 153 detects words that co-occur with the synonym "cool(1)" and compares the detected words with the second category table 144b to identify the category IDs of the words that co-occur with the synonym "cool(1)". Here, the words that co-occur with the synonym "cool(1)" may be words included in the same sentence as the synonym, words located earlier in the same sentence as the synonym, or words located later in the same sentence as the synonym.

[0074] For example, in the second training data 142b, the polysemous word “cool(1)” is B Also, the category ID "α" of the word that co-occurs with the polysemous word "cool(1)" is L B In this case, the co-occurrence rate of the polysemous word "cool(1)" and the category ID "α" is "L B / M B ×100". The generating unit 153 generates the second co-occurrence rate table 143b by repeating the above process for each synonym (a combination of a word and a number in parentheses).

[0075] The assignment unit 154 assigns sentence vectors to the Japanese input text included in the first text data 146a, and also assigns sentence vectors to the English input text included in the second text data 146b.

[0076] 13 is a diagram for explaining the processing of the assignment unit according to Example 1. First, the processing of the assignment unit 154 assigning a sentence vector to a Japanese sentence (input text da1) included in the first text data 146a will be explained.

[0077] The assignment unit 154 performs morphological analysis on the input text da1 to divide it into words w1-1, w1-2, and w1-3. Of the words w1-1, w1-2, and w1-3, the word w1-3 is a polysemous word. The assignment unit 154 identifies the polysemous word "sweet" by using the first dictionary data 141a.

[0078] The assigning unit 154 compares the words w1-1 and w1-2 that co-occur with the word w1-3 with the first category table 144a to identify the category ID "α (fruits)" of the word w1-1. Explanation of the category ID of the word w1-2 will be omitted.

[0079] The assignment unit 154 compares the relationship between the synonym "sweet" corresponding to the word w1-3 and the co-occurring category ID "α" of w1-1 with the first co-occurrence rate table 143a, and identifies the co-occurrence rate for each semantic category. In FIG. 7, the co-occurrence rate between the synonym "sweet (1)" and the category ID "α" is "78%". On the other hand, the co-occurrence rate between the synonym "sweet (2)" and the category ID "α" is "1%". The assignment unit 154 identifies that the word w1-3 corresponds to the polysynonym "sweet (1)" because the co-occurrence rate between "sweet (1)" and the category ID "α" is the highest.

[0080] The allocation unit 154 compares the words w1-1, w1-2, and w1-3 with the first vector table 145a to determine the word vectors V corresponding to the words w1-1, w1-2, and w1-3. 1-1 ,V 1-2 ,V (1)Although not shown in the figure, the word vector V 1-1 ,V 1-2 ,V (1) is a 200-dimensional vector.

[0081] The assignment unit 154 assigns the word vector V 1-1 ,V 1-2 ,V (1) The assignment unit 154 calculates the sentence vector "V1" by accumulating the sentences. The assignment unit 154 assigns the sentence vector "V1" to the input text da1. The assignment unit 154 assigns sentence vectors by repeatedly executing the above process for other input texts included in the first text data 146a.

[0082] Next, a process in which the assignment unit 154 assigns a sentence vector to an English sentence (input text da3) included in the second text data 146b will be described.

[0083] The assignment unit 154 performs morphological analysis on the input text da3 to divide it into words w3-1, w3-2, and w3-3. Of the words w3-1, w3-2, and w3-3, the word w3-3 is a polysemous word. The assignment unit 154 identifies the polysemous word "cool" by using the second dictionary data 141b.

[0084] The assignment unit 154 compares the words w3-1 and w3-2 that co-occur with the word w3-3 with the second category table 144b. For example, the category ID of the word w3-1 is set to "η (person)." Explanation of the category ID of the word w3-2 will be omitted.

[0085] The assignment unit 154 compares the relationship between the synonym "cool" corresponding to the word w3-3 and the category ID "η" of the co-occurring w3-1 with the second co-occurrence rate table 143b, and identifies the co-occurrence rate for each semantic category. In FIG. 8, the co-occurrence rate between the synonym "cool(1)" and the category ID "η" is "1%". On the other hand, the co-occurrence rate between the synonym "cool(2)" and the category ID "η" is "77%". The assignment unit 154 identifies that the word w3-3 corresponds to the synonym "cool(2)" because the co-occurrence rate between "cool(2)" and the category ID "η" is the highest.

[0086] The allocation unit 154 compares the words w3-1, w3-2, and w3-3 with the second vector table 145b to determine the word vectors V corresponding to the words w3-1, w3-2, and w3-3. 3-1 ,V 3-2 ,V (3) Although not shown in the figure, the word vector V 3-1 ,V 3-2 ,V (3) is a 200-dimensional vector.

[0087] The assignment unit 154 assigns the word vector V 3-1 ,V 3-2 ,V (3) The assignment unit 154 calculates the sentence vector "V3" by accumulating the sentences "V1" and "V2". The assignment unit 154 assigns the sentence vector "V1" to the input text da3. The assignment unit 154 assigns sentence vectors to the other input texts included in the second text data 146b by repeatedly performing the above process.

[0088] Next, an example of a processing procedure of the information processing device 100 according to the present embodiment 1 will be described. Fig. 14 is a flowchart (1) showing an example of a processing procedure of the information processing device according to the present embodiment 1. As shown in Fig. 14, the allocation unit 154 of the information processing device 100 acquires input text from the first text data 146a (step S101).

[0089] The assignment unit 154 performs morphological analysis on the input text and divides it into a plurality of words (step S102). The assignment unit 154 identifies polysemous words from the plurality of words based on the first dictionary data 141a (step S103). The assignment unit 154 identifies category IDs of the plurality of words based on the first category table 144a (step S104).

[0090] The assignment unit 154 identifies the semantic categories of the synonymous words based on the synonymous words, the co-occurring category IDs, and the first co-occurrence rate table 143a (step S105). The assignment unit 154 identifies the word vectors of each word and synonymous word based on the first vector table 145a (step S106).

[0091] The assignment unit 154 calculates a sentence vector by accumulating the word vectors of each word and each synonym (step S107). The assignment unit 154 assigns the sentence vector to the input text (step S108).

[0092] Fig. 15 is a flowchart (2) illustrating an example of the processing procedure of the information processing device according to Example 1. As shown in Fig. 14, the allocation unit 154 of the information processing device 100 acquires input text from the second text data 146b (step S201).

[0093] The assignment unit 154 performs morphological analysis on the input text and divides it into multiple words (step S202). The assignment unit 154 identifies polysemous words from the multiple words based on the second dictionary data 141b (step S203). The assignment unit 154 identifies category IDs of the multiple words based on the second category table 144b (step S204).

[0094] The assignment unit 154 identifies the semantic categories of the synonymous words based on the synonymous words, the co-occurring category IDs, and the second co-occurrence rate table 143b (step S205). The assignment unit 154 identifies the word vectors of each word and synonymous word based on the second vector table 145b (step S206).

[0095] The assignment unit 154 calculates a sentence vector by accumulating the word vectors of each word and each synonym (step S207). The assignment unit 154 assigns the sentence vector to the input text (step S208).

[0096] Next, the effects of the information processing device 100 according to the first embodiment will be described. The information processing device 100 identifies the meanings of the polysemous words included in the input text using the first co-occurrence rate table 143a (second co-occurrence rate table 143b) that defines the co-occurrence rates between polysemous words classified by semantic classification and categories of other words. The information processing device 100 assigns word vectors according to the meanings of the polysemous words based on the identification results. In this way, when the input text includes polysemous words, word vectors according to the meanings of the polysemous words are assigned, so that the accuracy of the sentence vectors corresponding to the input text can be improved.

[0097] The information processing device 100 classifies words into category IDs based on a thesaurus, and performs processing using a first co-occurrence table 143a (second co-occurrence table 143b) that defines the co-occurrence rates between synonymous words classified into semantic categories and category IDs. This makes it possible to reduce the amount of data in the first co-occurrence table 143a (second co-occurrence table 143b) compared to a conventional HMM that defines the co-occurrence rate for each word. Furthermore, the HMM associated with a category reduces the average number of matching operations, thereby enabling faster processing.

[0098] The information processing device 100 calculates the word vector of each word by performing Poincaré embedding. This allows for the assignment of word vectors according to meaning. It is also possible to assign a single word vector according to meaning to a phrase consisting of multiple words.

[0099] Here, a description will be given of another process 1 of the information processing device 100 described in the first embodiment. The information processing device 100 may perform RNN (Recurrent Neural Network) machine learning using training data in which a first sentence in Japanese is associated with a second sentence obtained by translating the first sentence into English, and generate a machine learning model that translates Japanese into English.

[0100] For example, the information processing device 100 performs morphological analysis on the first sentence included in the training data and assigns a word vector to each word. Furthermore, by performing the above processing, if the first sentence includes a polysemous word, the information processing device 100 assigns a word vector corresponding to the semantic classification of the polysemous word.

[0101] Similarly, the information processing device 100 performs morphological analysis on the second sentence included in the training data and assigns a word vector to each word. Furthermore, by performing the above processing, if the second sentence includes a polysemous word, the information processing device 100 assigns a word vector corresponding to the semantic classification of the polysemous word.

[0102] The information processing device 100 performs RNN machine learning using the relationship between the word vector assigned to each word in the first sentence and the word vector assigned to each word in the second sentence.

[0103] Next, a description will be given of other processing 2 of the information processing device 100 described in the first embodiment. The word vectors in the first vector table 145a and the second vector table 145b described in the first embodiment are 200-dimensional vectors, but they may be converted into lower-dimensional (e.g., three-dimensional) word vectors by performing dimensional compression.

[0104] 16 and 17 are diagrams for explaining the dimensionality reduction of a vector. Referring to FIG. 16, the calculation unit 152 of the information processing device 100 calculates 200 basis vectors a i e i (i=1 to 200) are distributed equally in a circle (semicircle). The vector A before decomposition and each decomposed basis vector a ie i The relationship between is defined by equation (1).

[0105]

number

[0106] 17 will be described. The calculation unit 152 calculates the remaining basis vectors a2e2 to a1e1. 200 e 200 are orthogonally transformed, and the orthogonally transformed basis vectors a2e2~a 200 e 200 The value of the basis vector a1e1 is calculated by accumulating the values of

[0107] The calculation unit 152 calculates the basis vector a 67 e 67 The remaining basis vectors a1e1 (solid line + arrow), a2e2, a3e3~a 66 e 66 , a 68 e 68 ~a 200 e 200 are orthogonally transformed, and the orthogonally transformed basis vectors a1e1 to a 66 e 66 , a 68 e 68 ~a 200 e 200 By accumulating the values of 67 e 67 Calculate the value of

[0108] The calculation unit 152 calculates the basis vector a 131 e 131 For the remaining basis vectors a1e1~a 130 e 130 , a 132 e 132 ~a 200 e 200 are orthogonally transformed, and the orthogonally transformed basis vectors a1e1 to a 130 e 130 , a 132 e 132 ~a 200 e 200By accumulating the values of 131 e 131 Calculate the value of

[0109] The calculation unit 152 calculates each component of the compressed vector obtained by compressing the 200-dimensional vector as the "value of the basis vector a1e1, the value of the basis vector a 67 e 67 The value of the basis vector a 131 e 131 The calculation unit 152 calculates other dimensions in the same manner. The calculation unit 152 may perform dimensional compression using KL expansion or the like. The calculation unit 152 performs the above-mentioned dimensional compression on each of the word vectors in the first vector table 145a and the second vector table 145b, thereby reducing the dimension of the word vectors.

[0110] By performing dimensionality reduction as described above, it is possible to reduce the amount of calculations related to word vectors compared to handling 200-dimensional word vectors. Note that dimensionality reduced word vectors can be restored to 200 dimensions, although this is irreversible. [Example]

[0111] The information processing device according to the second embodiment handles a "base file." The base file is information in which a plurality of base symbols A, G, C, and T (or U) are arranged, and a codon consisting of a combination of three bases corresponds to a predetermined amino acid. Furthermore, a combination of a plurality of consecutive amino acids corresponds to a predetermined protein, and a combination of a plurality of proteins corresponds to a primary structure. Furthermore, a combination of a plurality of primary structures becomes a higher-order structure.

[0112] In this Example 2, as an example, a case where a vector is assigned to a protein will be described. Fig. 18 is a diagram for explaining the processing of the information processing device according to this Example 2. In Fig. 18, it is assumed that the information processing device performs processing using a protein HMM 246, a category table 250, and a vector table 251.

[0113] Protein HMM246 holds the relationship between the co-occurrence rate of proteins and protein categories. For example, it shows that the co-occurrence rate of protein P1 and a protein identified by category ID "CL1" is "78%." It shows that the co-occurrence rate of protein P1 and a protein identified by category ID "CL2" is "63%." It shows that the co-occurrence rate of protein P1 and a protein identified by category ID "CL3" is "1%." It shows that the co-occurrence rate of protein P1 and a protein identified by category ID "CL4" is "2%."

[0114] It indicates that the co-occurrence rate between protein P2 and the protein identified by category ID "CL1" is "1%." It indicates that the co-occurrence rate between protein P2 and the protein identified by category ID "CL2" is "2%." It indicates that the co-occurrence rate between protein P2 and the protein identified by category ID "CL3" is "81%." It indicates that the co-occurrence rate between protein P2 and the protein identified by category ID "CL4" is "71%."

[0115] The category table 250 is a table that associates category IDs with proteins. Proteins with the same characteristics are classified into the same category ID. Protein A1, protein A2, protein A3, etc. are classified into category ID "CL1." Protein B1, protein B2, protein B3, etc. are classified into category ID "CL2." Although not shown in the figure, "thrombin," "chymotrypsin," and "nattokinase" are classified into the same category ID.

[0116] The vector table 251 holds vectors assigned to each protein. The vectors of each protein are assumed to be calculated in advance by a conventional technique called Poincare Embeddings.

[0117] The information processing device 100 identifies protein delimiters and protein types from the beginning of the base file 241 using various dictionary data. The various dictionary data will be described later. In the process of identifying the protein type, the information processing device may encounter multiple protein types as candidates.

[0118] In the example shown in FIG. 18, the candidate protein following protein A1 is either protein P1 or protein P2.

[0119] The information processing device identifies the category ID "CL1" of protein A1 based on protein A1 and category table 250. The information processing device identifies the co-occurrence rate "78%" between category ID "CL1" and protein P1 based on protein HMM246. The information processing device identifies the co-occurrence rate "1%" between category ID "CL1" and protein P2 based on protein HMM246.

[0120] The information processing device identifies the protein following protein A1 as protein P1 because the co-occurrence rate between category ID "CL1" and protein P1 is greater than the co-occurrence rate between category ID "CL1" and protein P2. The information processing device also repeatedly performs the process of identifying the protein type for the proteins following protein P1 based on the co-occurrence rate.

[0121] After completing the identification of the proteins, the information processing device assigns vectors to the proteins based on the vector table 251. In the example shown in Fig. 18, the information processing device assigns vector Vp1 to protein A1 and vector Vp2 to protein A1. The information processing device calculates the vectors of the base file 241 by accumulating the vectors of each protein included in the base file 241.

[0122] As described above, the information processing device according to the second embodiment identifies the type of protein included in the base file 241 and assigns a vector based on the protein HMM 246 that defines the co-occurrence rate between a protein and a protein category. As a result, even if the type of protein included in the base file 241 cannot be uniquely identified, the accurate type of protein can be identified using the co-occurrence rate, and an appropriate vector can be assigned.

[0123] Furthermore, the information processing device classifies proteins into category IDs based on the similarity of the proteins, and performs processing using a protein HMM246 that defines the co-occurrence rate between the protein and the category ID. This allows the amount of data for the protein HMM246 to be reduced compared to when the co-occurrence rate is defined for each protein and when using an HMM.

[0124] Next, a description will be given of the configuration of an information processing device according to Example 2. Fig. 19 is a functional block diagram showing the configuration of an information processing device according to Example 2. As shown in Fig. 19, this information processing device 200 has a communication unit 210, an input unit 220, a display unit 230, a storage unit 240, and a control unit 260.

[0125] The communication unit 210 is connected to an external device or the like via a wired or wireless connection, and transmits and receives information to and from the external device or the like. For example, the communication unit 210 is realized by a NIC or the like. The communication unit 210 may be connected to a network (not shown).

[0126] The input unit 220 is an input device that inputs various types of information to the information processing device 200. The input unit 220 corresponds to a keyboard, a mouse, a touch panel, or the like.

[0127] The display unit 230 is a display device that displays information output from the control unit 260. The display unit 230 corresponds to a liquid crystal display, an organic EL display, a touch panel, or the like.

[0128] The storage unit 240 includes a base file 241, a conversion table 242, a codon compressed file 243, a codon transposition index 244, a protein dictionary 245, and a protein HMM 246. The storage unit 240 also includes a dictionary index 247, a protein compressed file 248, a protein transposition index 249, a category table 250, and a vector table 251. The storage unit 240 is realized by, for example, a semiconductor memory element such as RAM or flash memory, or a storage device such as a hard disk or optical disk.

[0129] The base file 241 is a file that holds information on the arrangement of multiple bases. Figure 20 is a diagram showing an example of the data structure of a base file. There are four types of bases in DNA or RNA, which are represented by the symbols "A," "G," "C," "T," or "U." A group of three base sequences is called a codon, which determines 64 types of amino acids, and each determines 20 types of amino acids. Each amino acid is represented by the symbols "A" to "Y."

[0130] The conversion table 242 is a table that associates codons with the codes corresponding to the codons. FIG. 21 is a diagram showing an example of the data structure of the conversion table. As shown in FIG. 21, each codon is associated with each code. For example, the code for the codon "UUU" is "40h (01000000)". "h" indicates a hexadecimal number.

[0131] The codon compressed file 243 is a file that holds information in which a plurality of encoded codons are arranged. FIG. 22 is a diagram showing an example of the data structure of a codon compressed file. As shown in FIG. 22, the codon compressed file 243 contains information in which codes are arranged in codon units. For convenience, in this second embodiment, the base (codon) before encoding is shown in parentheses next to the code. For example, the codon "AUG" is converted to the code "63h," and the converted code is expressed as "(AUG)63h." "h" indicates that it is a hexadecimal number.

[0132] The codon transposition index 244 is information that associates an offset from the beginning of the codon compressed file 243 with a codon type (codon code). FIG. 23 is a diagram showing an example of the data structure of a codon transposition index. In FIG. 23, the horizontal axis of the codon transposition index 244 corresponds to the offset. The vertical axis of the codon transposition index 244 corresponds to the codon type (codon code). The codon transposition index 244 is represented by a bitmap of "0" or "1", and in the initial state, all bitmaps are set to "0".

[0133] For example, the offset of the code of the first codon in codon compressed file 243 is "0." If the codon code "(AUG)63h" is contained in the seventh position from the beginning of codon compressed file 243, the bit at the position where the column of offset "6" in codon transposition index 244 intersects with the row of codon code "(AUG)63h" is "1."

[0134] The protein dictionary 245 is information that associates protein information with the codon code sequences corresponding to the protein. Fig. 24 is a diagram showing an example of the data structure of the protein dictionary. As shown in Fig. 24, this protein dictionary 245 associates protein information, amino acid code sequences, and codon code sequences.

[0135] Protein information includes the protein's "code," the "group" to which the protein belongs, and the protein's "name." The amino acid code sequence is the sequence of amino acid codes corresponding to the protein code (protein type). The codon code sequence is the sequence of codon codes corresponding to the protein code (protein type).

[0136] For example, the protein "type 1 collagen" belongs to the group "collagen" and has the code "8000h". The amino acid code sequence for the code "8000h" is "02h46h59h···03h", and the codon code sequence is "02h63h78h···03h".

[0137] The protein HMM 246 holds information about the co-occurrence rate between a protein and the category ID to which the protein following it belongs. Fig. 25 is a diagram showing an example of the data structure of a protein HMM. As shown in Fig. 25, the protein HMM 246 associates protein information with the co-occurrence rate.

[0138] The protein information includes the protein's "code," the "group" to which the protein belongs, and the protein's "name." The co-occurrence rate is set to the co-occurrence rate between the protein and the category ID.

[0139] For example, consider the record in the first row of protein HMM246. The probability (co-occurrence rate) that the protein following the protein code "8000h" is a protein in category ID "CL1" is "78%". The probability (co-occurrence rate) that the protein following the protein code "8000h" is a protein in category ID "CL2" is "63%". The probability (co-occurrence rate) that the protein following the protein code "8000h" is a protein in category ID "CL3" is "1%". The probability (co-occurrence rate) that the protein following the protein code "8000h" is a protein in category ID "CL4" is "2%".

[0140] The dictionary index 247 is information that holds the offset of a break in each codon code sequence (a group of codon code sequences corresponding to a protein) included in the codon compressed file 243. For example, in the dictionary index 247, each break is indicated by an offset from the beginning of the codon compressed file 243. In the second embodiment, as an example, the break is indicated by the offset of the codon code at the beginning of the subsequent codon code sequence. In addition to the codon code sequence, the break may also be associated with an amino acid code sequence (omitted hereafter).

[0141] The protein compressed file 248 is a file that holds information in which the codes of multiple proteins are arranged. Fig. 26 is a diagram showing an example of the data structure of the protein compressed file. As shown in Fig. 26, the protein compressed file 248 contains information in which the codes of each protein are arranged.

[0142] The protein transposition index 249 is information that associates an offset from the beginning of the protein compressed file 248 with the type of protein (protein code). FIG. 27 is a diagram showing an example of the data structure of the protein transposition index. In FIG. 27, the horizontal axis of the protein transposition index 249 corresponds to the offset. The vertical axis of the protein transposition index 249 corresponds to the type of protein (protein code). The protein transposition index 249 is represented by a bitmap of "0" or "1", and in the initial state, all bitmaps are set to "0".

[0143] For example, the offset of the code of the first protein in the protein compressed file 248 is set to "0." If the protein code "8000h (type I collagen)" is included in the eighth position from the beginning of the protein compressed file 248, the bit at the position where the column of offset "7" in the protein transposition index 249 intersects with the row of the protein code "8000h (type I collagen)" is set to "1."

[0144] The category table 250 is a table that defines the category ID to which a protein (protein code) belongs. FIG. 28 is a diagram showing an example of the data structure of the category table. As shown in FIG. 28, the category table 250 associates category IDs with protein codes. For example, protein codes "8000h", "8001h", "8002h", etc. are associated with the category ID "CL1". Proteins associated with the same category ID have similar properties.

[0145] The vector table 251 holds vectors assigned to protein codes. Fig. 29 is a diagram showing an example of the data structure of the vector table. As shown in Fig. 29, the vector table 251 associates protein codes with vectors. It is assumed that the vectors of protein codes have been calculated in advance using a technique called Poincaré embedding.

[0146] The control unit 260 includes a reception unit 261, a first encoding unit 262, a second encoding unit 263, and an allocation unit 264. The control unit 260 is realized by, for example, a CPU or an MPU. Alternatively, the control unit 260 may be implemented by, for example, an integrated circuit such as an ASIC or an FPGA.

[0147] The receiving unit 261 is a processing unit that acquires various types of information from an external device (not shown) connected to the network via the communication unit 110. For example, when the receiving unit 261 acquires a base file 241 from the external device, the receiving unit 261 stores the base file 241 in the storage unit 240. Note that when the base file 241 is compressed using ZIP or the like, the receiving unit 261 decompresses the compressed base file 241.

[0148] The first encoding unit 262 is a processing unit that generates a codon-compressed file 243 based on the base file 241 and the conversion table 242. The first encoding unit 262 extracts three bases from the base file 241, compares the extracted three bases with the conversion table 242, identifies the code corresponding to the three bases (codons), and converts the three bases into the code. For example, the first encoding unit 262 converts the codon "AUG" into the code "63h." The first encoding unit 262 generates the codon-compressed file 243 by repeatedly executing the above process.

[0149] When generating the codon-compressed file 243, the first encoding unit 262 generates the codon permutation index 244. For example, the first encoding unit 262 sets "1" to the bitmap of the codon permutation index 244 that corresponds to the code of the converted codon and the offset of the code in the codon-compressed file 243.

[0150] The second encoding unit 263 is a processing unit that generates the protein compressed file 248 and the protein transposition index 249 .

[0151] The second encoding unit 263 identifies breaks in the codon code sequence of each protein included in the codon compressed file 243 based on the dictionary index 247. The second encoding unit 263 identifies the protein code corresponding to the codon code sequence between each break based on the codon code sequence between each break and the protein dictionary 245, and converts the codon code sequence into the protein code.

[0152] Here, if the codon code sequence following the protein code (gap) corresponds to codes for multiple proteins, the second encoding unit 263 identifies the code for the protein with the highest co-occurrence rate among the codes for the multiple corresponding proteins based on the protein HMM 246.

[0153] 30 is a diagram for explaining the processing of the second encoding unit. As shown in FIG. 30, from offset P to offset N at a certain break in the codon-compressed file 243 A The codon code sequence from offset P to offset N corresponds to the code of protein A (e.g., 8011h), and B The code sequence of the codons up to may match the code of protein B (for example, 8225h). Also, the code of the immediately preceding protein is "8000h."

[0154] The second encoding unit 263 compares the code "8011h" of protein A with the category table 250 and determines that the category of protein A is the category ID "CL1." The second encoding unit 263 compares the code "8225h" of protein B with the category table 250 and determines that the category of protein A is the category ID "CL4."

[0155] The second encoding unit 263 compares the linear protein code "8000h" and category ID "CL1" with the protein HMM 246 to determine a co-occurrence rate of "78%." The second encoding unit 263 compares the linear protein code "8000h" and category ID "CL4" with the protein HMM 246 to determine a co-occurrence rate of "2%."

[0156] The second encoding unit 263 identifies the protein code following the code "8000h" as "8011h" because the co-occurrence rate between the protein code "8000h" and the category ID "CL1" is greater than the co-occurrence rate between the protein code "8000h" and the category ID "CL4". The second encoding unit 263 converts the codon code sequence using the identified code "8011h". For example, the second encoding unit 263 converts the offsets P to P+N in FIG. 30 A The code of the codon is the code of protein A, and the offset is P+N A The above process is repeated at +1 to generate a compressed protein file 248.

[0157] When generating the protein compressed file 248, the second encoding unit 263 generates a protein transposition index 249. The protein transposition index 249 is information that associates an offset from the beginning of the protein compressed file 248 with a protein code.

[0158] The assignment unit 264 is a processing unit that compares the code of each protein included in the protein compressed file 248 with the vector table 251 and assigns a vector to the code of the protein. The assignment unit 264 may calculate the vectors of the protein compressed file 248 by accumulating the vectors assigned to the code of each protein included in the protein compressed file 248.

[0159] Next, an example of a processing procedure of the information processing device 200 according to the present embodiment 2 will be described. Fig. 31 is a flowchart showing the processing procedure of the information processing device according to the present embodiment 2. As shown in Fig. 31, the first encoding unit 262 of the information processing device 200 compresses the base file 241 in units of codons, and generates a codon-compressed file 243 and a codon transposition index 244 (step S301).

[0160] The second encoding unit 263 of the information processing device 200 identifies the code of the protein included in the codon-compressed file 243 based on the protein dictionary 245 and the codon transposition index 244 (step S302).

[0161] The second encoding unit 263 registers the breaks between proteins included in the codon-compressed file 243 in the dictionary index 247 (step S303). The second encoding unit 263 identifies the code of the subsequent protein included in the codon-compressed file 243 based on the protein dictionary 245 and the dictionary index 247 (step S304).

[0162] When there are multiple candidates for the code of the subsequent protein, the second encoding unit 263 identifies the code of the protein based on the protein HMM 246 and the category table 250 (step S305).

[0163] The second encoding unit 263 updates the protein compressed file 248, the protein transposition index 249, and the dictionary index 247 (step S306). The assignment unit 264 of the information processing device 200 assigns a vector to the protein code based on the vector table 251 (step S307).

[0164] If the end has not been reached (step S308, No), the information processing device 200 proceeds to step S304. On the other hand, if the end has been reached (step S308, Yes), the information processing device 200 ends the process.

[0165] Next, the effects of the information processing device 200 according to the second embodiment will be described. The information processing device 200 identifies the type of protein included in the base file 241 based on the protein HMM 246 that defines the co-occurrence rate between proteins and protein categories, and assigns a vector. As a result, even if the type of protein included in the base file 241 cannot be uniquely identified, the accurate type of protein can be identified using the co-occurrence rate, and an appropriate vector can be assigned.

[0166] Furthermore, the information processing device 200 classifies proteins into category IDs based on protein similarity, and performs processing using a protein HMM 246 that defines the co-occurrence rate between the protein and the category ID. This reduces the amount of data in the protein HMM 246 compared to when the co-occurrence rate is defined for each protein and using an HMM. Furthermore, the HMM associated with a category reduces the average number of matching operations, thereby enabling faster processing.

[0167] Note that the information processing device 200 according to the second embodiment assigns a vector to each protein included in the base file 241 using the protein HMM 246 that defines the co-occurrence rate for proteins, but is not limited to this. For example, the information processing device 200 may assign a vector to the primary structure of each protein included in the base file 241 using a primary structure HMM that defines the co-occurrence rate for the primary structure of the protein.

[0168] The present invention is also applicable not only to the base file 241 but also to a chemical structure file containing chemical structure formulas. The chemical structure file contains multiple functional groups. When allocating vectors to such functional groups, if there are multiple functional group candidates, the information processing device 200 uses a functional group HMM to identify a functional group that appears frequently and assigns a vector corresponding to the identified functional group. Furthermore, similar functional groups may be assigned the same category ID to reduce the data in the functional group HMM.

[0169] Next, a description will be given of an example of a hardware configuration of a computer that realizes the same functions as the information processing device 100 described in the above-described embodiment 1. Fig. 32 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing device according to the embodiment 1.

[0170] 32, computer 300 has CPU 301 that executes various types of arithmetic processing, input device 302 that accepts data input from a user, and display 303. Computer 300 also has communication device 304 that exchanges data with external devices via a wired or wireless network, and interface device 305. Computer 300 also has RAM 306 that temporarily stores various types of information, and hard disk drive 307. Each of devices 301 to 307 is connected to bus 308.

[0171] The hard disk device 307 stores a receiving program 307a, a calculation program 307b, a generation program 307c, and an allocation program 307d. The CPU 301 reads out each of the programs 307a to 307e and loads them into the RAM 306.

[0172] The receiving program 307a functions as the receiving process 306a. The calculation program 307b functions as the calculation process 306b. The generation program 307c functions as the generation process 306c. The allocation program 307d functions as the allocation process 306d.

[0173] The processing of the reception process 306a corresponds to the processing of the reception unit 151. The processing of the calculation process 306b corresponds to the processing of the calculation unit 152. The processing of the generation process 306c corresponds to the processing of the generation unit 153. The processing of the allocation process 306d corresponds to the processing of the allocation unit 154.

[0174] It should be noted that each of the programs 307a to 307d does not necessarily have to be stored in the hard disk drive 307 from the beginning. For example, each of the programs may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 300. Then, the computer 300 may read and execute each of the programs 307a to 307d.

[0175] Next, a description will be given of an example of a hardware configuration of a computer that realizes the same functions as the information processing device 200 described in the above-described embodiment 2. Fig. 33 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing device according to the embodiment 2.

[0176] 33, computer 400 has a CPU 401 that executes various types of arithmetic processing, an input device 402 that accepts data input from a user, and a display 403. Computer 400 also has a communication device 404 that exchanges data with external devices via a wired or wireless network, and an interface device 405. Computer 400 also has a RAM 406 that temporarily stores various types of information, and a hard disk drive 407. Each of devices 401 to 407 is connected to a bus 408.

[0177] The hard disk device 407 stores a receiving program 407a, a first encoding program 407b, a second encoding program 407c, and an allocation program 407d. The CPU 401 reads out each of the programs 407a to 407d and loads them into the RAM 406.

[0178] The receiving program 407a functions as the receiving process 406a. The first encoding program 407b functions as the first encoding process 406b. The second encoding program 407c functions as the second encoding process 406c. The allocation program 407d functions as the allocation process 406d.

[0179] The processing of the reception process 406a corresponds to the processing of the reception unit 261. The processing of the first encoding process 406b corresponds to the processing of the first encoding unit 262. The processing of the second encoding process 406c corresponds to the processing of the second encoding unit 263. The processing of the allocation process 406d corresponds to the processing of the allocation unit 264.

[0180] It should be noted that each of the programs 407a to 407d does not necessarily have to be stored in the hard disk drive 307 from the beginning. For example, each of the programs may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 400. Then, the computer 400 may read and execute each of the programs 407a to 407d. [Explanation of symbols]

[0181] 100,200 Information processing equipment 110,210 Communications Department 120,220 Input section 130,230 Display section 140,240 storage section 141a First dictionary data 141b Second dictionary data 142a First training data 142b Second training data 143a First Co-occurrence Table 143b Second Co-occurrence Table 144a First Category Table 144b Second Category Table 145a First Vector Table 145b Second Vector Table 146a First text data 146b Second text data 150,260 Control unit 151,261 Reception Department 152 Calculation Unit 153 Generation part 154,264 Allocation 241 base files 242 Conversion Table 243 codon compressed file 244 Codon Transposition Index 245 Protein Dictionary 246 Protein HMMs 247 Dictionary Index 248 protein compressed files 249 Protein Transposition Index 250 Category Table 251 Vector Table 262 1st encoding section 263 2nd encoder

Claims

1. On the computer, Identifying multiple protein candidates starting from any position included in a codon file in which multiple codons are arranged; Identifying a category to which each of the plurality of protein candidates belongs; identifying the frequency of appearance of each category to which the plurality of protein candidates belong based on a combination of a category to which each of the plurality of protein candidates belongs and a protein preceding the start position, and a table defining the frequency of appearance of a category to which a protein subsequent to a certain protein belongs in proteins identified by the codon sequence, and identifying a protein candidate that belongs to the category with the highest frequency of appearance; Assigning vectors to identified protein candidates An information processing program characterized by causing a process to be executed.

2. 1. A computer-implemented information processing method, comprising: Identifying multiple protein candidates starting from any position included in a codon file in which multiple codons are arranged; Identifying a category to which each of the plurality of protein candidates belongs; identifying the frequency of appearance of each category to which the plurality of protein candidates belong based on a combination of a category to which each of the plurality of protein candidates belongs and a protein preceding the start position, and a table defining the frequency of appearance of a category to which a protein subsequent to a certain protein belongs in proteins identified by the codon sequence, and identifying a protein candidate that belongs to the category with the highest frequency of appearance; Assigning vectors to identified protein candidates An information processing method characterized by executing processing.

3. Identifying multiple protein candidates starting from any position included in a codon file in which multiple codons are arranged; Identifying a category to which each of the plurality of protein candidates belongs; identifying the frequency of appearance of each category to which the plurality of protein candidates belong based on a combination of a category to which each of the plurality of protein candidates belongs and a protein preceding the start position, and a table defining the frequency of appearance of a category to which a protein subsequent to a certain protein belongs in proteins identified by the codon sequence, and identifying a protein candidate that belongs to the category with the highest frequency of appearance; An assignment section that assigns vectors to identified protein candidates An information processing device comprising:

Citation Information

Patent Citations

  • Apparatus and method for generation of morphological analyzer, and program

    JP2015022398A

  • Predicate term structure model generation apparatus, predicate term structure analysis apparatus, method and program

    JP2018206263A

  • Display control program, display control device, and display control method

    JP2019159826A

  • Processing program, processing method, and information processing device

    JP2019215660A

  • Identification method, identification program, and identification apparatus

    JP2020140514A