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

By identifying terminal subjects and applying computational relationships to calculate XBRL tag vectors, the method improves vector accuracy for XBRL documents, addressing the limitations of conventional methods.

JP7750380B2Active Publication Date: 2025-10-07FUJITSU LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024504328
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-04
Publication Date
2025-10-07
Estimated Expiration
2042-03-04

AI Technical Summary

Technical Problem

Conventional methods for vectorizing XBRL documents result in decreased accuracy due to the removal of XBRL tags and incorrect vector calculation when different tags are attached to similar sentences, and Poincaré embedding fails to distinguish between items with different concepts.

Method used

The method identifies terminal subjects based on parent-child relationships in XBRL taxonomies, calculates tag vectors using word vectors, and applies operations based on computational relationships to accurately determine vectors for both terminal and non-terminal subjects.

Benefits of technology

This approach enhances the accuracy of vector calculation for XBRL documents by distinguishing between tags with different concepts and enables precise document comparison.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007750380000001
    Figure 0007750380000001
  • Figure 0007750380000002
    Figure 0007750380000002
  • Figure 0007750380000003
    Figure 0007750380000003
Patent Text Reader

Abstract

This information processing device uses a parent-child relationship between subjects corresponding to a plurality of tags used in a document to identify the subject of an end node. The information processing device calculates a vector of a tag corresponding to the subject of the end node on the basis of each word included in definition information set for the subject of the end node and a word vector dictionary defining a vector of each word.
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] In the field of document search technology, there is a technology that assigns a vector to each document registered in a document database (DB), and when a search query is received, searches the DB for documents whose vectors correspond to the vector of the search query.

[0003] When assigning a vector to a document, conventional techniques such as Word2Vec or Poincaré embedding are used to calculate the vector of each word contained in the document, and the vector of the document is calculated by adding up the vectors of each word, and the calculated vector is assigned.

[0004] In addition, the document database may also contain tagged documents such as HTML (HyperText Markup Language) documents and XBRL (eXtensible Business Reporting Language) documents, and it is necessary to assign vectors to tagged documents and search them. For example, an XBRL document is a securities report.

[0005] In conventional technology, when calculating vectors for tagged documents, preprocessing is performed to remove non-text information such as tags from the tagged documents, and then the vectors for the documents are calculated in the same way as for normal documents. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-343843 Summary of the Invention [Problem to be solved by the invention]

[0007] However, in the above-mentioned conventional technology, there is a problem that the accuracy of the vector of the tagged document decreases.

[0008] For example, the documents described in securities reports are various, and there are fluctuations in notation. The XBRL tags used in securities reports are used to correctly extract information even with fluctuations in notation, and the XBRL tags mean items defined by rules and laws in financial accounting. Therefore, as in the conventional technology, simply deleting the XBRL tags makes it impossible to distinguish, for example, <Sales Revenue>100< / Sales Revenue> and <Cost of Goods Sold>100< / Cost of Goods Sold>. Therefore, it is required to vectorize the tagged document without deleting the XBRL tags.

[0009] Here, it is also possible to vectorize the XBRL tags using Word2Vec. However, since Word2Vec calculates vectors from the context of words, when different XBRL tags are attached to similar sentences, the vectors cannot be calculated correctly.

[0010] Also, it is possible to calculate vectors by learning the relationships between items included in the definition information of XBRL using Poincaré embedding. However, since similar vectors are assigned to items of different concepts, it cannot be used for comparing documents including XBRL tags.

[0011] In one aspect, an object of the present invention is to provide an information processing program, an information processing method, and an information processing apparatus capable of improving the accuracy of the vector of a tagged document.

Means for Solving the Problems

[0012] In the first proposal, the computer executes the following process: The computer identifies a terminal subject among the subjects corresponding to multiple tags used in a document based on the parent-child relationships of the subjects corresponding to the multiple tags. The computer calculates the tag vector corresponding to the terminal subject based on each word included in the definition information set for the terminal subject and a word vector dictionary that defines the vectors of each word. [Effects of the Invention]

[0013] The accuracy of vectors for tagged documents can be improved. [Brief explanation of the drawings]

[0014] [Figure 1A] FIG. 1A is a diagram showing an example of a definition sentence of a subject defined in a law, a guideline, or the like. [Figure 1B] FIG. 1B is a diagram showing an example of a definition sentence for cost of sales extracted from FIG. 1A as an example of a tag. [Figure 2] FIG. 2 is a diagram showing an example of the relationships between subjects included in a taxonomy. [Figure 3] FIG. 3 illustrates an example of an instance. [Figure 4] FIG. 4 is a diagram (1) for explaining an example of processing of the information processing device according to the present embodiment. [Figure 5] FIG. 5 is a diagram (2) for explaining an example of the process of the information processing device according to the present embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of the data structure of the tag vector table. [Figure 7] FIG. 7 is a diagram illustrating an example of a process for calculating a sentence vector. [Figure 8] FIG. 8 is a diagram illustrating an example of an inverted index. [Figure 9] FIG. 9 is a functional block diagram illustrating the configuration of an information processing device according to this embodiment. [Figure 10] FIG. 10 is a flowchart of the pre-processing executed by the information processing device. [Figure 11] FIG. 11 is a flowchart of the search process executed by the information processing device. [Figure 12] FIG. 12 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus of the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0015] 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]

[0016] Before describing the information processing device according to this embodiment, we will explain XBRL documents. XBRL is a computer language based on XML (eXtensible Markup Language) that has been standardized to enable the creation, distribution, and use of information for various financial reports. A document created based on XBRL is called an XBRL document.

[0017] For example, an XBRL document includes a taxonomy and instances. The taxonomy is a data specification that defines the definitions of subjects, the relationships between subjects, and the parent-child relationships of subjects. The parent-child relationships of subjects are, for example, the calculation relationships between subjects.

[0018] The definition of a subject is a definition found in laws, guidelines, regulations, etc. corresponding to the subject. For example, the definition of operating profit is shown in Figure 1A or Figure 1B. Figure 1A is a diagram showing an example of the definition of a subject defined in laws, guidelines, etc. Figure 1B is a diagram showing an example of the definition of cost of sales extracted from Figure 1A as an example of a tag. The definitions shown in Figures 1A and 1B are part of the definition of operating profit. Explanation of the definitions for other subjects will be omitted.

[0019] The relationships between items are information that defines the hierarchical relationships between items in a hierarchical structure. Figure 2 is a diagram showing an example of the relationships between items included in a taxonomy. In the example shown in Figure 2, the item "Comprehensive Income" is connected under the item "Consolidated Statement of Income (and Comprehensive Income)." The item "Net Income or Net Loss (△)" is connected under the item "Comprehensive Income."

[0020] The item "Net income or loss before taxes (△)" is connected under the item "Net income or loss before taxes (△)". The item "Ordinary income or loss (△)" is connected under the item "Net income or loss before taxes (△)". The item "Operating income or loss (△)" is connected under the item "Ordinary income or loss (△)".

[0021] The item "Gross profit or gross loss (△)" is connected under the item "Operating profit or operating loss (△)". The items "Sales" and "Cost of sales" are connected under the item "Gross profit or gross loss (△)". Since there are no other items under the item "Sales" and item "Cost of sales", the items "Sales" and "Cost of sales" are "terminal items".

[0022] The calculation relationship between items defines the calculation of an item using the items under it. For example, the calculation relationship for the item "Gross profit or gross loss (△)" is defined in the taxonomy by formula (1). In formula (1), the calculation relationship for the item "Gross profit or gross loss (△)" is defined by the end items "Net sales" and "Cost of sales."

[0023] Gross profit or gross loss (△) = sales revenue - cost of sales (1)

[0024] An instance is the data itself, and is created by the submitter based on the taxonomy described above. An account value is set in the instance. The account value can be an amount, a string, a ratio, etc.

[0025] FIG. 3 is a diagram showing an example of an instance. The information included in instance 10 is associated with the items of the taxonomy by XBRL tags. For example, in FIG. 3, the value "300" between the XBRL tags <Sales> and < / Sales> is the value of the item "Sales". The value "100" between the XBRL tags <Cost of Goods Sold> and < / Cost of Goods Sold> is the value of the item "Cost of Goods Sold". The value "200" between the XBRL tags <Gross Profit or Loss on Sales> and < / Gross Profit or Loss on Sales> is the value of the item "Gross Profit or Loss on Sales (△)". In the following description, the XBRL tags are appropriately referred to as "tags".

[0026] Next, an example of the processing of the information processing apparatus according to this embodiment will be described. FIGS. 4 and 5 are diagrams for explaining an example of the processing of the information processing apparatus according to this embodiment. First, FIG. 4 will be described. As shown in FIG. 4, the information processing apparatus has an XBRL taxonomy 141. The XBRL taxonomy 141 has, for each item, information on the definition text of the item, the relationship between items, and the calculation relationship between items, which are defined by the above-described taxonomy.

[0027] The description of the definition text of the item is the same as the content described in FIGS. 1A and 1B. The description of the relationship between items is the same as the content described in FIG. 2. The description of the calculation relationship between items is the same as the above-described description.

[0028] Note that when the definition text of the item is not included in the taxonomy, definition text information created based on reference information of the item definition included in the taxonomy, laws, guidelines, documents, etc. related to the taxonomy may be used as the definition text of the item.

[0029] The extraction unit 151 of the information processing apparatus analyzes the XBRL taxonomy 141 and extracts information on the definition text of the item for each item. The extraction unit 151 associates the item with the definition text and registers it in the definition text information table 143.

[0030] The tag vector calculation unit 152 of the information processing device calculates the vectors of subjects and generates a tag vector table T2 by executing the following processes: The tag vector calculation unit 152 executes processes to identify terminal subjects, calculate vectors of terminal subjects, and calculate vectors of subjects other than terminal subjects.

[0031] The process of identifying end-level items will be explained. The tag vector calculation unit 152 identifies end-level items defined by the calculation relationships of a certain item based on the calculation relationships of the items in the XBRL taxonomy 141 and the relationships between items. Here, the explanation will be given assuming that a certain item is "gross profit or gross loss (△)." The calculation relationship of the item "gross profit or gross loss (△)" is defined by the above formula (1). The items included in formula (1) (items other than gross profit or gross loss (△)) are "sales revenue" and "cost of sales."

[0032] When the tag vector calculation unit 152 compares the item "Sales" and the item "Cost of Sales" with the relationships between the items, it finds that no other items are connected under the item "Sales" and the item "Cost of Sales," as shown in Fig. 2. Therefore, the tag vector calculation unit 152 identifies the end-level items "Sales" and "Cost of Sales" from the calculation relationship of the item "Gross Profit or Gross Loss (△)."

[0033] The process of calculating the vector of a terminal subject will be described. After identifying a terminal subject, the tag vector calculation unit 152 acquires a definition sentence corresponding to the terminal subject from the definition sentence information table 143. The tag vector calculation unit 152 performs morphological analysis on the definition sentence corresponding to the terminal subject, thereby dividing the definition sentence into multiple words.

[0034] The tag vector calculation unit 152 identifies vectors corresponding to words in definition sentences corresponding to end-stage subjects based on the word vector table T1. The word vector table T1 is a table that associates words with vectors corresponding to the words. The vectors corresponding to the words are assumed to have been learned in advance using conventional techniques such as Word2Vec or Poincaré embedding.

[0035] The tag vector calculation unit 152 calculates the vector of the terminal subject by integrating the vectors corresponding to each word in the definition sentence of the terminal subject. For example, the tag vector calculation unit 152 calculates the vector of the terminal subject "sales" by integrating the vectors corresponding to each word in the definition sentence of the terminal subject "sales." The tag vector calculation unit 152 calculates the vector of the terminal subject "cost of sales" by integrating the vectors corresponding to each word in the definition sentence of the terminal subject "cost of sales."

[0036] The tag vector calculation unit 152 registers the relationship between the end-level subject and the vector in the tag vector table T2.

[0037] The process of calculating vectors for non-terminal subjects will be explained. Here, the explanation will be given using the subject "gross profit or gross loss (△)" as a non-terminal subject. The calculation relationship for the subject "gross profit or gross loss (△)" is shown in formula (1), and is defined by the operations (arithmetic operations, etc.) of the terminal subjects. The tag vector calculation unit 152 obtains the vectors of the terminal subjects from the tag vector table T2.

[0038] The tag vector calculation unit 152 calculates the vector of the item "gross profit or gross loss (△)" by subtracting the vector of the item "cost of sales" from the vector of the item "sales" based on equation (1).

[0039] When calculating a vector for a non-terminal subject, the tag vector calculation unit 152 calculates the vector preferentially from the descendant subject. For example, if the relationship between subjects is as shown in Figure 2, the tag vector calculation unit 152 calculates the vector for the subject "gross profit or gross loss (△)" and then calculates the vector for the subject "operating profit or operating loss (△)".

[0040] Similarly, the tag vector calculation unit 152 calculates vectors in the following order: item "operating profit or operating loss (△)", item "net income before taxes or net loss before taxes (△)", item "net income or net loss (△)", and item "comprehensive income".

[0041] When the computational relationship of a non-terminal subject is defined by a descendant subject, the tag vector calculation unit 152 calculates the vector of the non-terminal subject by performing an operation using the vector of the descendant subject.

[0042] Here, the tag vector calculation unit 152 may calculate the vector of a subject, among a plurality of subjects for which vectors have not yet been calculated, with priority given to calculating the vector of a subject for which all of the vectors of descendant subjects defined in the computational relationships of the subject have been calculated.

[0043] If no computational relationship is defined for a subject other than the terminal subject, the tag vector calculation unit 152 calculates the subject vector based on the results of morphological analysis of the definition sentence corresponding to the subject and the word vector table T1, in the same manner as for the terminal subject.

[0044] The tag vector calculation unit 152 registers the relationship between the subject and the vector of the subject calculated from the calculation relationship in the tag vector table T2.

[0045] By performing the above process, the tag vector calculation unit 152 registers the relationship between the subject and the subject vector in the tag vector table T2. The subject registered in the tag vector table T2 corresponds to the tag included in the instance.

[0046] Fig. 6 is a diagram showing an example of the data structure of a tag vector table. As shown in Fig. 6, the tag vector table T2 associates subjects (tags) with vectors.

[0047] Proceed to the description of FIG. 5. In FIG. 5, the information processing apparatus calculates the vector of the sentence registered in the XBRL instance 142 by using the word vector table T1 and the tag vector table T2 created in FIG. 4. In the XBRL instance 142, the instance 10 (sentence including tags, document) described in FIG. 3 and the like are registered.

[0048] The vector calculation unit 153 of the information processing apparatus extracts the sentence including tags from the XBRL instance 142, and executes morphological analysis on the sentence to divide the sentence into a plurality of words and tags. For the words included in the sentence, the vector calculation unit 153 identifies the vector of each word based on the word vector table T1.

[0049] The vector calculation unit 153 extracts the part sandwiched between "<string corresponding to the subject>" and the part sandwiched between "< / string corresponding to the subject>" as tags. For the tags included in the sentence, the vector calculation unit 153 identifies the vector of each tag based on the tag vector table T2. For example, the vector calculation unit 153 assigns the vector of the subject "Sales" in the tag vector table T2 as the vector of the tag <Sales>. The vector calculation unit 153 assigns the vector of the subject "Sales" in the tag vector table T2 as the vector of the tag < / Sales>.

[0050] The vector calculation unit 153 calculates the vector of the sentence by integrating the vectors of each word and each tag included in the sentence. In the following description, the vector of the sentence is referred to as "sentence vector".

[0051] FIG. 7 is a diagram for explaining an example of the process of calculating the vector of a sentence. For example, the case where the vector calculation unit 153 calculates the vector of sentence 20 will be described. Let sentence 20 be "The amount of sales is <Sales> 300 < / Sales> yen."

[0052] The vector calculation unit 153 performs morphological analysis on the sentence 20 to divide it into words 20-1, 20-2, 20-3, 20-4, 20-5, 20-6, and 20-7. The vector calculation unit 153 also identifies tags 20-8 and 20-9 from the sentence 20.

[0053] The vector calculation unit 153 identifies the vectors of each of the words 20-1 to 20-7 based on the word vector table T1. The vector calculation unit 153 identifies the vectors of each of the tags 20-8 and 20-9 based on the tag vector table T2. The vector calculation unit 153 calculates the sentence vector of the sentence 20 by multiplying the vectors of the words 20-1 to 20-7 and the vectors of the tags 20-8 and 20-9.

[0054] The vector calculation unit 153 calculates a sentence vector for each sentence by repeatedly executing the above process for each sentence included in the XBRL instance 142. The vector calculation unit 153 registers the sentence vector in a sentence vector table T3.

[0055] Furthermore, the vector calculation unit 153 generates an inverted index In1 that associates the sentence position (offset) of the XBRL instance 142 with the sentence vector. FIG. 8 is a diagram showing an example of an inverted index. The horizontal axis of the inverted index In1 corresponds to the offset. The horizontal axis of the inverted index In1 corresponds to the sentence vector. The inverted index In1 is represented by a bitmap of "0" or "1", and in the initial state, all bitmaps are set to "0".

[0056] For example, a "1" is set at the intersection of the row of the sentence vector "Svec1" and the column of the offset "7." This indicates that the position of the first word of the sentence in sentence vector "Svec1" is the eighth position from the first word of XBRL instance 142.

[0057] As described above, the information processing device according to this embodiment identifies a terminal subject defined by a computational relationship between certain subjects based on the computational relationships between subjects and the relationships between subjects in XBRL taxonomy 141. For the terminal subject, the information processing device calculates a vector for the terminal subject based on a definition statement corresponding to the terminal subject and the word vector table T1. This allows for accurate calculation of the vector of the tag corresponding to the terminal subject.

[0058] For subjects other than the terminal subjects, the information processing device calculates vectors by operations corresponding to the terminal subjects defined by the computational relationships of the subjects. This makes it possible to accurately calculate vectors for tags corresponding to subjects other than the terminal subjects.

[0059] In the example, a transposed index associated with a sentence vector has been described, but a transposed index associated with a vector of the granularity of a word or tag may also be used.

[0060] Next, a configuration example of an information processing device that executes the processes described in Figures 4 and 5 will be described. Figure 9 is a functional block diagram showing the configuration of an information processing device according to this embodiment. As shown in Figure 9, this information processing device 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.

[0061] The communication unit 110 executes data communication with an external device via a network, and may receive an XBRL taxonomy 141 and an XBRL instance 142 from the external device.

[0062] The input unit 120 is an input device that accepts operations from a user, and is realized by, for example, a keyboard, a mouse, etc. The user may operate the input unit 120 to input a search query.

[0063] The display unit 130 is a display device for outputting the processing results of the control unit 150, and is realized by, for example, a liquid crystal monitor, a printer, etc. The display unit 130 may display search results based on a search query.

[0064] The storage unit 140 is a storage device that stores various types of information, and 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.

[0065] The storage unit 140 stores an XBRL taxonomy 141, an XBRL instance 142, and a definition statement information table 143. The storage unit 140 also stores a word vector table T1, a tag vector table T2, a sentence vector table T3, and an inverted index In1.

[0066] XBRL taxonomy 141 has information for each item, such as definition statements of items, relationships between items, and calculation relationships between items, which are defined in the taxonomy. The explanation of XBRL taxonomy 141 is the same as that explained in FIG.

[0067] The XBRL instance 142 is registered with the instance 10 described in Fig. 3. The instance has multiple sentences including tags.

[0068] Definition statement information table 143 is a table that associates and holds the subjects extracted from XBRL taxonomy 141 with the definition statements of the subjects. Information in definition statement information table 143 is extracted from XBRL taxonomy 141 by extraction unit 151.

[0069] The word vector table T1 is a table that stores words and vectors corresponding to the words in association with each other. The vectors corresponding to the words are assumed to have been learned in advance by the word dictionary generation unit 155 using conventional techniques such as Word2Vec or Poincaré embedding.

[0070] The tag vector table T2 is a table that associates vectors with subjects defined in the XBRL taxonomy 141 that correspond to tags included in the XBRL instance 142. The data structure of the tag vector table T2 corresponds to the data structure described in FIG.

[0071] The sentence vector table T3 is a table that holds sentence vectors of sentences that include tags included in the XBRL instance 142.

[0072] The inverted index In1 associates a sentence vector with the position (offset) of a sentence in the XBRL instance 142. The data structure of the inverted index In1 corresponds to the data structure described with reference to FIG.

[0073] The control unit 150 is realized by a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) executing various programs stored in a storage device inside the information processing device 100 using RAM or the like as a working area. The control unit 150 may also be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

[0074] The control unit 150 includes an extraction unit 151 , a tag vector calculation unit 152 , a vector calculation unit 153 , a search unit 154 , and a word dictionary generation unit 155 .

[0075] The extraction unit 151 analyzes the XBRL taxonomy 141 and extracts information on the definition statement of each subject. The extraction unit 151 associates the extracted subjects with the definition statements and registers them in the definition statement information table 143. Note that the user may operate the input unit 120 to input information on the subjects and the definition statements into the definition statement information table 143.

[0076] The tag vector calculation unit 152 executes a process of identifying terminal subjects, a process of calculating vectors of terminal subjects, and a process of calculating vectors of subjects other than terminal subjects, and generates a tag vector table T2. The processes executed by the tag vector calculation unit 152 to identify terminal subjects, a process of calculating vectors of terminal subjects, and a process of calculating vectors of subjects other than terminal subjects are the same as the processes described using FIG.

[0077] If the absolute value of the calculated subject (tag) vector is greater than 1, the tag vector calculation unit 152 normalizes the word and subject vectors.

[0078] The vector calculation unit 153 uses the word vector table T1 and the tag vector table T2 to calculate the vector of a sentence registered in the XBRL instance 142. The vector calculation unit 153 generates an inverted index In1 that associates the sentence position (offset) with the sentence vector in the XBRL instance 142. The processing by the vector calculation unit 153 is similar to the processing described using FIG. 5.

[0079] When receiving a search query from the input unit 120, the search unit 154 searches for a sentence corresponding to the search query. The sentence specified as the search query is, for example, a sentence having a tag. The search unit 154 performs a morphological analysis on the search query and divides the sentence included in the search query into words and tags.

[0080] The search unit 154 identifies a vector corresponding to a word based on the word vector table T1. The search unit 154 identifies a vector corresponding to a tag based on the tag vector table T2. The search unit 154 calculates the vector of the search query by integrating the vectors of each word and each tag of the search query. The process by which the search unit 154 calculates the vector of a sentence in the search query is similar to the process by which the vector calculation unit 153 calculates the vector of a sentence including a tag. In the following description, the vector of the search query will be referred to as a "search vector."

[0081] The search unit 154 calculates the similarity (such as cosine similarity) between the search vector and each sentence vector set on the vertical axis of the transposed index In1. The search unit 154 obtains, from the XBRL instance 142, a sentence corresponding to an offset in the transposed index In1 that corresponds to the sentence vector with the highest similarity, and outputs the obtained sentence to the display unit 130 as a search result.

[0082] The word dictionary generation unit 155 learns the vectors of each word using conventional techniques such as Word2Vec or Poincaré embedding. The word dictionary generation unit 155 registers the learned relationships between words and vectors in a word vector table T1. Note that the information processing device 100 may obtain a generated (trained) word vector table T1 from an external device or the like and register it in the storage unit 140.

[0083] Next, an example of the processing procedure of the information processing device 100 according to this embodiment will be described. Here, the processing procedure of the pre-processing and the processing procedure of the search processing executed by the information processing device 100 will be described.

[0084] Fig. 10 is a flowchart of the pre-processing executed by the information processing device 100. As shown in Fig. 10, the word dictionary generation unit 155 of the information processing device 100 learns word vectors and registers them in a word vector table T1 (step S101).

[0085] The extraction unit 151 of the information processing device 100 extracts definition statements of subjects from the XBRL taxonomy 141 and registers them in a definition statement information table (step S102). The tag vector calculation unit 152 of the information processing device 100 identifies end-level subjects based on the computational relationships between the subjects (step S103).

[0086] The tag vector calculation unit 152 calculates the vector of the end-of-term subject based on the definition sentence corresponding to the end-of-term subject and the word vector table T1 (step S104).

[0087] The tag vector calculation unit 152 calculates vectors by giving priority to subjects whose vectors have not yet been calculated, and whose descendant subjects' vectors have all been calculated in the calculation relationship of the subjects (step S105).The tag vector calculation unit 152 registers the vectors of subjects whose absolute values ​​are greater than 1 in the tag vector table T2 (step S106).

[0088] Fig. 11 is a flowchart of the search process executed by the information processing device. As shown in Fig. 11, the search unit 154 of the information processing device 100 receives a search query from the input unit 120 (step S201).

[0089] The search unit 154 calculates a search vector for the search query based on the word vector table T1 and the tag vector table T2 (step S202). The search unit 154 calculates the similarity between the search vector and each sentence vector of the inverted index In1 (step S203).

[0090] The search unit 154 searches the XBRL instance 142 for a sentence based on the offset of the sentence vector that maximizes the similarity (step S204). The search unit 154 outputs the search results to the display unit 130 (step S205).

[0091] Next, the effects of the information processing device 100 according to this embodiment will be described. The information processing device 100 identifies a terminal subject defined by a computational relationship between a certain subject based on the computational relationships between subjects in the XBRL taxonomy 141 and the relationships between subjects. For the terminal subject, the information processing device 100 calculates a vector for the terminal subject based on a definition statement corresponding to the terminal subject and the word vector table T1. This makes it possible to accurately calculate the vector of a tag corresponding to the terminal subject.

[0092] For subjects other than the terminal subjects, the information processing device 100 calculates vectors by operations corresponding to the terminal subjects defined by the computational relationships between the subjects. This makes it possible to accurately calculate vectors for tags corresponding to subjects other than the terminal subjects.

[0093] For example, in an XBRL document, even if tags (different tags) refer to subjects with different concepts, the sentences in which the tags are written (the context of the sentence) may be similar (e.g., sales and cost of sales in Figure 3). In such cases, when applying Word2Vec to an XBRL document to calculate tag vectors, the vectors are calculated based on the context of the tags. Therefore, when similar sentences are tagged with different tags, it is not possible to calculate vectors that can distinguish between tags with different concepts. It is also possible to use Poincaré embedding to calculate tag vectors based on the relationships between subjects contained in the XBRL definition information. However, in this case, similar vectors are assigned even to subjects with concepts different from those defined in a taxonomy, etc. This is because, in the conceptual structure of tags in the XBRL definition information, which is defined in a hierarchical relationship as shown in Figure 2, subjects with different concepts may exist in similar positions or hierarchies in the conceptual structure (e.g., sales and cost of sales in Figure 2). Therefore, the calculated vectors cannot be used to compare documents containing tags. In contrast, an information processing device calculates the vector of a tag based on a definition statement that defines the subject corresponding to the tag and a calculation relationship, so that the vector of the tag corresponding to the subject can be calculated with high accuracy.

[0094] When calculating vectors for subjects other than terminal subjects, the information processing device 100 preferentially selects subjects for which vectors for all subjects defined by the computational relationships between the subjects have been calculated. This allows for efficient calculation of vectors for subjects other than terminal subjects.

[0095] The information processing device 100 generates an inverted index In1 that associates the position (offset) of a sentence in the XBRL instance 142 with a sentence vector, and calculates the search vector of the search query when a search query is received. The information processing device 100 searches for a sentence corresponding to the search query based on the search vector and the inverted index In1. This makes it possible to accurately search for sentences that include tags from a search query that includes tags.

[0096] The above-described processing of the information processing device 100 is an example, and other processing may be executed. Here, other processing 1 and 2 of the information processing device 100 according to this embodiment will be described.

[0097] Other processing 1 will now be described. The vector calculation unit 153 of the information processing device 100 may calculate a sentence vector for each sentence included in an XBRL document such as a tagged securities report, and create a transition table that associates the sentence position with the sentence vector. The vector calculation unit 153 refers to the transition table, compares the sentence vectors of adjacent sentences, and identifies sentences between which the difference in sentence vector is equal to or greater than a threshold as sentence breaks. The vector calculation unit 153 may automatically generate multiple terms by dividing each sentence included in the XBRL document at the sentence breaks.

[0098] Other processing 2 will now be described. The vector calculation unit 153 of the information processing device 100 has been described as calculating the sentence vector of each sentence included in an XBRL document, but the vector of a sentence including multiple sentences may also be calculated. In the following description, the vector of a sentence will be referred to as a "sentence vector." The vector calculation unit 153 calculates the sentence vector by accumulating the sentence vectors of each sentence included in the sentence. The vector calculation unit 153 may generate a sentence transposition index that associates the sentence vector with the sentence offset. The search unit 154 may accept a sentence as a search query, and search for the sentence from the XBRL instance 142 based on the sentence vector and the sentence transposition index.

[0099] Incidentally, the information processing device 100 according to the present embodiment has been described as processing an XBRL document, but the processing is not limited to XBRL documents. The process of calculating vectors by the information processing device 100 can also be applied to documents based on ontologies and thesauruses that clearly define vocabulary concepts (equivalent to definition statements) and lexical systems (hierarchical relationships of vocabulary). For example, an example of an ontology lexical system is the Japanese WordNet. Also, information equivalent to ontology definition statements is the Simple Knowledge Organization System (SKOS) reference, etc.

[0100] For example, the information processing device 100 calculates the vector of a leaf item among the ontology items by using vocabulary concept data corresponding to the leaf item and the word vector table T1. Furthermore, for an item among the ontology items defined by an operation on a descendant item, the information processing device 100 calculates a vector by an operation on the vector of the descendant item.

[0101] Next, an example of the hardware configuration of a computer that realizes the same functions as the information processing device 100 described in the above embodiment will be described. Fig. 12 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing device of the embodiment.

[0102] 12, computer 200 has CPU 201 that executes various types of arithmetic processing, input device 202 that accepts data input from a user, and display 203. Computer 200 also has communication device 204 that exchanges data with external devices via a wired or wireless network, and interface device 205. Computer 200 also has RAM 206 that temporarily stores various types of information, and hard disk drive 207. Each of devices 201 to 207 is connected to bus 208.

[0103] The hard disk drive 207 stores an extraction program 207a, a tag vector calculation program 207b, a vector calculation program 207c, a search program 207d, and a word dictionary generation program 207e. The CPU 201 reads out each of the programs 207a to 207e and loads them into the RAM 206.

[0104] The extraction program 207a functions as the extraction process 206a. The tag vector calculation program 207b functions as the tag vector calculation process 206b. The vector calculation program 207c functions as the vector calculation process 206c. The search program 207d functions as the search process 206d. The word dictionary generation program 207e functions as the word dictionary generation process 206e.

[0105] The processing of the extraction process 206a corresponds to the processing of the extraction unit 151. The processing of the tag vector calculation process 206b corresponds to the processing of the tag vector calculation unit 152. The processing of the vector calculation process 206c corresponds to the processing of the vector calculation unit 153. The processing of the search process 206d corresponds to the processing of the search unit 154. The processing of the word dictionary generation process 206e corresponds to the processing of the word dictionary generation unit 155.

[0106] It should be noted that each of the programs 207a to 207e does not necessarily have to be stored in the hard disk drive 207 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 200. Then, the computer 200 may read and execute each of the programs 207a to 207e. [Explanation of symbols]

[0107] 100 Information processing device 110 Communications Department 120 Input section 130 Display section 140 Storage section 141 XBRL Taxonomy 142 XBRL Instances 143 Definition Statement Information Table 150 control section 151 Extraction part 152 Tag vector calculation unit 153 Vector Calculation Unit 154 Search Department 155 Word Dictionary Generation Unit

Claims

1. Identifying end subjects based on the parent-child relationships of subjects corresponding to multiple tags used in the document; Calculating a vector for a tag corresponding to the end subject based on each word included in the definition information set for the end subject and a word vector dictionary that defines the vector for each word. An information processing program that causes a computer to execute a process.

2. The information processing program of claim 1, further comprising causing the computer to execute a process of calculating a vector of a tag corresponding to a subject that is not an end-of-terminal subject based on the vector corresponding to the end-of-terminal subject and the parent-child relationship of the subject that is not an end-of-terminal subject.

3. 3. The information processing program according to claim 2, further comprising: registering a relationship between the tag and the vector of the tag in a tag vector dictionary; and causing the computer to execute a process of calculating a vector of the document based on the word vector dictionary and the tag vector dictionary.

4. The information processing program described in claim 3, characterized in that the process of calculating the vector of a tag corresponding to a subject that is not a terminal subject prioritizes calculating the vector of a subject for which all vectors of subjects included in the parent-child relationship of the subject that is not a terminal subject have been calculated.

5. The information processing program of claim 4, further comprising: generating an index that associates the vector of the document with the registration location of the document; and, when a search query is received, causing the computer to execute a process of searching for a document corresponding to the search query based on the vector of the search query and the index.

6. The information processing program described in claim 1, characterized in that the parent-child relationship is a calculation relationship between subjects corresponding to the multiple tags, and is a calculation relationship that derives the value of an subject using the value of the terminal subject among the subjects corresponding to the multiple tags.

7. The information processing program according to claim 6, characterized in that the process of identifying the end-level subject identifies the end-level subject based on the calculation relationship of the subject defined in the taxonomy of the XBRL (eXtensible Business Reporting Language) document.

8. Identifying end subjects based on the parent-child relationships of subjects corresponding to multiple tags used in the document; Calculating a vector for a tag corresponding to the end subject based on each word included in the definition information set for the end subject and a word vector dictionary that defines the vector for each word. An information processing method characterized in that the processing is executed by a computer.

9. Identifying end subjects based on the parent-child relationships of subjects corresponding to multiple tags used in the document; Calculating a vector for a tag corresponding to the end subject based on each word included in the definition information set for the end subject and a word vector dictionary that defines the vector for each word. An information processing device having a control unit that executes processing.

Citation Information

Patent Citations

  • Method and device for extracting item

    JP1995200693A

  • Machine operation learning apparatus

    JP2003186590A

  • Similar document set extraction device, similar document set extraction method, similar document set extraction program and storage medium

    JP2006343843A

  • Structured document generation device, and program and recording medium therefor

    JP2010186325A

  • Information recommendation device, recommendation information determination method, recommendation information determination program, and information recommendation program

    JP2014191501A