WO2014188555A1 - テキスト処理装置、及び、テキスト処理方法 - Google Patents

テキスト処理装置、及び、テキスト処理方法 Download PDF

Info

Publication number
WO2014188555A1
WO2014188555A1 PCT/JP2013/064340 JP2013064340W WO2014188555A1 WO 2014188555 A1 WO2014188555 A1 WO 2014188555A1 JP 2013064340 W JP2013064340 W JP 2013064340W WO 2014188555 A1 WO2014188555 A1 WO 2014188555A1
Authority
WO
WIPO (PCT)
Prior art keywords
expression
text
repeated
enumeration
extracted
Prior art date
Application number
PCT/JP2013/064340
Other languages
English (en)
French (fr)
Inventor
康嗣 森本
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/064340 priority Critical patent/WO2014188555A1/ja
Publication of WO2014188555A1 publication Critical patent/WO2014188555A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Definitions

  • the present invention relates to a text processing apparatus.
  • question answering technology has attracted attention as a next-generation search technology.
  • Current search technology outputs a file that best matches the search query specified by the keyword to the user.
  • the next-generation question answering technology outputs the answer to the question itself to the user. For example, in response to the question “What kind of dog is the smallest?”, A computer using question answering technology outputs the answer itself such as “Chihuahua” to the user.
  • Non-Patent Document 1 a method of extracting a word pair having a high-order subordinate relationship by analyzing a repeated expression such as an HTML table is known (see Non-Patent Document 1).
  • this method when extracting high-order and low-order relationships, first, focusing on a repetitive structure (for example, a table) included in an HTML document, a set of low-order words (hyponyms) is extracted. Next, a candidate for a high-order word (hypernym) is statistically determined from the set of extracted low-order words, and a high-level and low-level relationship is acquired by determining similarity between the high-order word and the low-order word based on context.
  • a repetitive structure for example, a table
  • a candidate for a high-order word hypernym
  • a high-level and low-level relationship is acquired by determining similarity between the high-order word and the low-order word based on context.
  • a set of words obtained from a repeated expression such as a table is a set of subordinate words of a word. Since tables are highly general expressions, they are often used for purposes other than listing similar information. For this reason, even a table is not necessarily used as a knowledge source for extracting a set of narrower terms. Further, even when the lower term can be extracted, in order to extract the upper term corresponding to the lower term from the text, a method different from the method for extracting the repeated expression is necessary.
  • Non-Patent Document 1 extracts a low-order word, then checks the low-order word by a statistical method, and thereby extracts a high-order and low-order relationship. However, since the technique described in Non-Patent Document 1 extracts the broader words from the extracted lower-order words, the accuracy of extracting the upper-lower relations is low.
  • Non-Patent Document 1 when extracting upper and lower relations based on repeated expressions, the accuracy of extracting repeated expressions and the completeness of extractable repeated expressions are important. However, in Non-Patent Document 1, it is assumed that a predetermined repetitive expression is extracted as in an HTML table. When the technique of Non-Patent Document 1 is used, upper-lower relations are derived from text other than HTML. Can not be extracted.
  • the present invention has an object to provide a method for extracting higher-order subordinate relationships from a more general text with high accuracy.
  • a typical example of the present invention is as follows. That is, a text processing apparatus that processes text including a plurality of character strings, and has a processor and a memory, and enumeration expression information related to an enumeration expression expressed to enumerate lower words corresponding to upper words, An enumeration expression extraction unit that holds in the memory and determines whether or not the enumeration expression is extracted from the text based on the enumeration expression information, and contents related to one theme from the text including the enumeration expression A repeated expression extracting unit for extracting at least one repeated expression to be expressed repeatedly, and a narrower word corresponding to the broader word indicated by the enumerated expression included in the text from among the character strings included in the extracted repeated expression A low-order word determining unit for determining.
  • the present invention relates to a method for extracting a word pair including two words that are in a high-level and low-level relationship, and more particularly to a method for extracting a high-level and low-level relationship based on a repeated expression such as a table.
  • the broader term and the narrower term in the present embodiment indicate two words that are in a broader and lowerer relationship.
  • the method of this embodiment determines whether or not an enumerated expression is included in a document, and extracts a repeated expression after the enumerated expression.
  • An enumeration expression is an expression that explicitly indicates a broader term and enumerating lower terms corresponding to the broader term.
  • the repeated expression of this embodiment is an expression that repeatedly shows the contents of one theme.
  • the method of the present embodiment determines whether or not the extracted repeated expression includes a plurality of low-order words corresponding to the broader word, and extracts a plurality of low-order words from the repeated expression. High-order subordinate relations based on the above are extracted with high accuracy.
  • FIG. 1 is a block diagram showing the configuration of the higher-level / lower-level relationship extraction apparatus 100 of this embodiment.
  • the upper / lower relationship extraction apparatus 100 is a computer that extracts a broad word and a narrow word from the text 113.
  • the upper / lower relationship extraction apparatus 100 includes a CPU 101, a main memory 102, an input / output device 103, and a disk device 110.
  • the CPU 101 is a processor that realizes the function of the higher-level / lower-level relationship extraction apparatus 100 by executing a program held in the main memory 102. Specifically, the CPU 101 loads a program stored in the disk device 110 into the main memory 102 and executes the program loaded in the main memory 102.
  • the CPU 101 may be any processor other than a CPU (Central Processor Unit) as long as it has a processor function, and may be a single processor or a plurality of processors.
  • CPU Central Processor Unit
  • the main memory 102 stores programs executed by the CPU 101, data required by the CPU 101, and the like.
  • the input / output device 103 receives information input from the user, and further outputs information according to instructions from the CPU 101.
  • the input / output device 103 is an input device such as a keyboard and a mouse, and an output device such as a display.
  • the disk device 110 stores programs and data. Specifically, the disk device 110 has an OS 111 and an upper / lower relationship extraction program 112 as programs. In addition, the disk device 110 includes, as data, an enumeration expression dictionary 114, a synonym dictionary 115, a broader word lower word dictionary 116, an identification model 117, and at least one text 113.
  • the OS 111 is an operating system that controls the entire processing executed by the upper-lower relationship extraction apparatus 100.
  • the upper / lower relationship extraction program 112 extracts a word pair having a higher / lower relationship from words included in the input text 113.
  • the upper / lower relationship extraction program 112 includes an enumeration expression extraction program 1121, a repeated expression extraction program 1122, and a lower word determination program 1123.
  • Text 113 is a document file including text. Although the text 113 shown in FIG. 1 is one, the disk device 110 may have a plurality of texts 113.
  • the text 113 is input to the upper / lower relationship extraction program 112, and two words having a higher / lower relationship are extracted by the upper / lower relationship extraction program 112.
  • the text 113 may hold a character string in any format.
  • the text 113 is input by the user via the input / output device 103.
  • the enumeration expression dictionary 114 holds information on the enumeration expression that explicitly indicates enumerating lower-order words corresponding to the higher-order words.
  • information related to the enumeration expression is set in advance by the user.
  • the synonym dictionary 115 shows a plurality of word pairs having the same or similar meaning.
  • identifiers indicating words are set in advance by the user.
  • the broader word narrower word dictionary 116 indicates a plurality of word pairs having a broader and lowerer relationship.
  • identifiers indicating the broader terms and the narrower terms are preset by the user.
  • the identification model 117 is data used by the repeated expression extraction program 1122 and indicates a rule for determining whether or not it is a synonym.
  • information indicating a rule is set in advance by the user.
  • FIG. 2 is an explanatory diagram showing an outline of the upper / lower relationship extraction process executed by the upper / lower relationship extraction apparatus 100 of this embodiment.
  • the enumeration expression extraction program 1121 of this embodiment extracts the enumeration expression from the text 113 by using the enumeration expression dictionary 114 (processing 151). Further, the enumeration expression extraction program 1121 identifies a broader word candidate from the extracted enumeration expression in the process 151.
  • the enumeration expression extraction program 1121 uses the enumeration expression dictionary 114 to extract “a dog list is shown below” as the enumeration expression from the text 113 shown in FIG.
  • the enumeration expression extraction program 1121 extracts a character string included in the enumeration expression, for example, “dog” as a broader word candidate.
  • the repeated expression extraction program 1122 extracts the repeated expression included in the text 113 (process 152).
  • the text 113 shown in FIG. 2 includes a repeated expression 1131.
  • the repeated expression extraction program 1122 extracts the elements of each line of the repeated expression 1131 from the text 113.
  • Each line in the repeated expression 1131 is the largest unit of repetition. Elements in each row are included in columns in the repeat representation 1131.
  • the repeated expression 1131 shown in FIG. 2 includes three lines each including “Beagle, UK, 38 cm or less”, “Shiba Inu, Japan, 41 cm or less”, and “Boxer, Germany, 63 cm or less”. Include as one unit.
  • units such as these three lines may be repeatedly stored in addition to the lines shown in FIG.
  • the first element of each row is included in column 1, and “beagle”, “shiba inu”, and “boxer” are the elements in column 1.
  • the elements in column 1 are elements indicating the lower word of the broader word candidate “dog”.
  • the upper / lower relationship extracting apparatus 100 can extract the upper / lower relationship.
  • the low-order word determination program 1123 compares the broad-word candidate “dog” with each element in the repeated expression 1131, and uses the broad-word low-word dictionary 116 to include “beagle”, “ It is determined that “Shiba Inu” and “Boxer” are narrower terms corresponding to the broader term candidate “dog”. Then, the low-order word determination program 1123 outputs “dog”-“beagle”, “dog”-“shiba-inu”, and “dog”-“boxer” as a plurality of word pairs having a high-level and low-level relationship (processing 153). .
  • FIG. 3 is a flowchart showing details of the upper / lower relationship extraction processing by the upper / lower relationship extraction program 112 of this embodiment.
  • the upper / lower relationship extraction program 112 determines whether or not S13 has been executed for all the texts 113 included in the disk device 110 (S11). If it is determined in S11 that S13 has been executed for all the texts 113, the upper-lower relationship extraction program 112 ends the processing shown in FIG.
  • the upper-lower relationship extraction program 112 acquires one text 113 for which S13 has not yet been executed. (S12).
  • the upper / lower relationship extraction program 112 determines whether or not the enumeration expression is included in the character string included in the acquired text 113 based on the processing result of the enumeration expression extraction program 1121 (S13).
  • the processing of the enumerated expression extraction program 1121 in S13 corresponds to the processing 151 shown in FIG.
  • the processing of the enumeration expression extraction program 1121 and the enumeration expression dictionary 114 will be described below.
  • FIG. 4 is an explanatory diagram showing the enumeration expression dictionary 114 of the present embodiment.
  • the enumeration expression dictionary 114 indicates at least one enumeration expression, and holds an enumeration expression template for extracting the enumeration expression.
  • the enumeration expression dictionary 114 illustrated in FIG. 4 includes an entry 1141.
  • the enumeration expression dictionary 114 indicates the enumeration expression by a template defined by a regular expression, for example.
  • the enumeration expression dictionary 114 shown in FIG. 4 shows an enumeration expression by a regular expression including a fixed character string portion and a portion corresponding to a variable.
  • the variables included in the regular expression correspond to broader word candidates included in the enumerated expression.
  • X [NP] is a variable, and indicates an enumeration expression such as “XXX list”.
  • XXX list indicates an enumeration expression such as “XXX list”.
  • the text “The following is a list of symptoms of colds” is an enumerated expression indicated by the regular expression of the entry 1141.
  • the character string corresponding to the variable X [NP] is “cold symptom”, and “cold symptom” is a broad term.
  • An enumeration expression such as “list of XXX” is an expression described to enumerate specific examples or instances of “XXX” without omission as much as possible. For this reason, the enumeration expression extraction program 1121 can extract a clue for extracting the upper / lower relationship from the text 113 by extracting such an enumeration expression from the text 113.
  • the upper-lower relationship extraction program 112 determines that the enumeration expression is not included in the text 113. If the upper-lower relationship extraction program 112 determines that the text 113 does not include an enumerated expression, the program returns to S11.
  • the upper-lower relationship extraction program 112 determines that the enumeration expression is included in the text 113. Then, the upper-lower relationship extraction program 112 holds the upper-word candidates extracted by the enumeration expression extraction program 1121 in the main memory 102, and proceeds to S14.
  • the upper and lower relationship extraction program 112 holds a plurality of broader word candidates in the main memory 102.
  • the upper / lower relationship extraction program 112 determines whether or not the repeated expression is included immediately after the enumerated expression of the text 113 by executing the repeated expression extracting program 1122 (S14).
  • the upper-lower relationship extraction program 112 determines that the text 113 does not include the repeated expression, and returns to S11.
  • the upper-lower relationship extraction program 112 holds a plurality of elements in the repeated expression extracted by the repeated expression extraction program 1122 in S13.
  • the high-order word candidates are stored in the main memory 102, and the process proceeds to S15.
  • S14 corresponds to the process 152 shown in FIG. The extraction of the repeated expression in S14 will be described in detail later.
  • the upper / lower relationship extraction program 112 causes the lower word determination program 1123 to determine the lower word from a plurality of elements in the repeated expression extracted by the repeated expression extraction program 1122.
  • the extracted repeated expression includes a plurality of units (corresponding to rows in the table) repeated a plurality of times in the repeated expression, and each of the plurality of units includes a plurality of elements. Items (corresponding to columns in the table) are defined for the plurality of elements included in the unit in the order included in the unit.
  • the low-order word determination program 1123 in S15 determines a low-order word in each of a plurality of units by determining an item including the low-order word corresponding to the high-order word candidate. Then, the low-order word determination program 1123 generates a set of word pairs having a high-order low-order relationship between the high-order word candidates held in the main memory 102 and each of the determined low-order words (S15). The process of S15 corresponds to the process 153.
  • the low-order word determination program 1123 obtains, from the high-order word low-order word dictionary 116, low-order words that generally correspond to the high-order word candidates specified in S13 in order to determine the low-order words in the repeated expression. Then, the low-order word determination program 1123 determines the item including the most acquired low-order words as the item including the low-order words.
  • the lower word determination program 1123 is selected from the items “type”, item “country of origin”, and item “body height” shown in FIG.
  • the item “type” that contains the broadest term corresponding to the word candidate “dog” in general is determined as the item that contains the term.
  • the low-order word determination program 1123 obtains a low-order word generally corresponding to “dog” from the high-order word low-order word dictionary 116.
  • the low-order word determination program 1123 is, for example, L. van der Plas and J.V. Tiedemann, “Finding Synonyms using Automatic Word Alignment and Measurements of Distributional Similarity”, Proceedings of the COING / ACL. 866-873, 2006.
  • the item including the lower term may be determined by a method using the similarity of the context in which the word appears as disclosed in the above.
  • the method using the above-mentioned context similarity is generally difficult to correctly determine all upper and lower relationships.
  • the elements in the repetitive expression are already grouped as candidates for the narrower terms.
  • the low-order word determination program 1123 can correctly determine the low-order word even by using a method using the similarity of context.
  • the low-order word determination program 1123 may determine items including the low-order word by other methods.
  • the simplest repeated expression is an HTML document table.
  • the table of the HTML document is expressed by a ⁇ TABLE> tag, and the elements in the table are ⁇ TR> tags that define rows, ⁇ TD> tags that define elements in the rows, and ⁇ TH> tags that define table headings. Etc.
  • the HTML table is processed by an HTML analyzer.
  • the repeated expression extraction program 1122 can extract arbitrary rows, columns, and elements using an HTML analyzer.
  • the repeated expression extraction program 1122 may analyze the HTML document of the text 113 using an HTML analyzer. In step S14, the repeated expression extraction program 1122 may extract, as a repeated expression, elements in each row and each column other than the headings in the table included in the HTML document.
  • a general format of the text 113 includes a format such as plain text.
  • FIG. 5 is a flowchart showing the repeated expression extraction process of this embodiment.
  • the repetitive expression extracting program 1122 first divides the character string of the text 113 determined to contain the enumerated expression in S13 into a plurality of tokens. Then, the repeated expression extraction program 1122 generates a token string including a plurality of tokens (S141).
  • the repeated expression extraction program 1122 divides the character string following the enumerated expression specified in S13 into a plurality of tokens.
  • the repeated expression extraction program 1122 divides the character string between the enumerated expressions and the enumerated expressions into a plurality of tokens. , Generate multiple token sequences. Then, the repeated expression extraction program 1122 repeats the processes of S142 to S144 for each of the plurality of token strings.
  • the repeated expression extraction program 1122 divides the tag into one token in the text 113 and divides the text between the tags as one token. .
  • the repeated expression extraction program 1122 splits the text 113 into a token by dividing the text 113 into characters indicating delimiters such as a space, a tab character, a line feed character, a colon, a semicolon, a punctuation mark, and a reading mark. To divide.
  • the repeated expression extraction program 1122 divides the text 113 shown in FIG. 2 into horizontal and vertical lines for separating each element, thereby obtaining “beagle”, “UK”, and “38 cm or less”. Divide into tokens like Then, the repeated expression extraction program 1122 acquires a token string including the plurality of divided tokens in the order described in the text 113 in S141.
  • the repeated expression extraction program 1122 extracts all combinations of two tokens from the acquired token sequence, and calculates the similarity between the two tokens according to the extracted combinations (S142). In this embodiment, the repeated expression extraction program 1122 may calculate the similarity by any method.
  • the repeated expression extraction program 1122 calculates 1 as the degree of similarity when the character strings of two tokens completely match, and when the character strings of two tokens partially match, (Numerical value from 0 to 1) is calculated as the similarity.
  • the iterative expression extraction program 1122 uses the synonym dictionary 115 and the synonym identification model 117, and assigns predetermined tokens to two tokens having similar meanings and different character strings. The degree of similarity may be determined.
  • the repeated expression extraction program 1122 combines two types of similarity, that is, a similarity calculated based on the number of matching character strings and a similarity determined based on the similarity of meanings, thereby calculating the similarity. May be calculated.
  • the repeated expression extraction program 1122 may calculate two types of similarity for each of a token set that matches even a part of the character string and a token set that does not match the character string. Then, the repeated expression extraction program 1122 uses the calculated two kinds of similarities as the feature amount, and sets 2 when the character strings match even partially and -1 when the character strings do not match 2
  • a value discriminator may be configured to define the similarity based on the distance from the identification boundary.
  • the repeated expression extraction program 1122 extracts the local correspondence of the token string (S143).
  • the repeated expression extraction program 1122 extracts a repeated expression by extracting the local correspondence of the token string. A method for extracting the local correspondence of the token string will be described with reference to FIG.
  • FIG. 6 is an explanatory diagram showing a matrix 200 of similarity between tokens according to the present embodiment.
  • the matrix 200 is a matrix showing two tokens that are higher than a predetermined threshold among the similarities between tokens, that is, two tokens that are more similar than a predetermined reference.
  • the iterative expression extraction program 1122 causes the token 113 (“dog”, “of”, “list”, “to”, “below”, “ “”, “Show”, “.”, “Type”, “origin”, “body height”, “beagle”, “UK”, “38cm or less”, “Shiba Inu”, “Japan”, “41cm or less”, " An example in the case of generating “Boxer”, “Germany”, “63 cm or less”) is shown.
  • each token of the acquired token string may include an HTML tag such as ⁇ TABLE>, but here, it is assumed that the token string is acquired only from the text 113.
  • the matrix 200 shown in FIG. 6 includes rows 201a to 212a and columns 201b to 212b. Each row and each column corresponds to each token included in the token column.
  • the iterative expression extraction program 1122 generates the matrix 200 based on the token string acquired in S141 and the similarity calculated in S142.
  • the repeated expression extraction program 1122 of this embodiment stores a symbol or an identifier indicating similarity to cells corresponding to two tokens for which a degree of similarity higher than a predetermined threshold is calculated.
  • the repeated expression extraction program 1122 corresponds to the token “beagle”.
  • the black circles indicating similarities are stored in the “Beagle” column, the “Shiba Inu” column, and the “Boxer” column in the row.
  • the repeated expression extraction program 1122 may express the high degree of similarity in the matrix 200 according to the size of the black circle.
  • the diagonal component of the matrix 200 indicates the similarity between one token and the same token as the token, and thus indicates that the similarity is always higher than a predetermined threshold.
  • the matrix 200 shown in FIG. 6 indicates that tokens from the token “beagle” to the token “63 cm or less” are included in the repeated expression.
  • a cell from which local correspondence is extracted is a cell having a rectangle 213 centered on a diagonal line as shown in FIG.
  • Japanese Unexamined Patent Application Publication No. 2012-059100 local correspondence extraction apparatus and local correspondence extraction method
  • a local correspondence extraction method Japanese Unexamined Patent Application Publication No. 2012-059100
  • the similarity between the tokens included in the repeated expression and other tokens changes periodically in the order of the token string. Specifically, in the rows of the matrix 200 corresponding to the tokens included in the repetitive expression, the similarity distribution stored in each column is periodic.
  • the local correspondence in the present embodiment indicates the state of the token string in which the similarity is periodically distributed as described above.
  • the repeated expression extraction program 1122 first extracts a plurality of cells whose similarity distributions are periodically changed from the matrix 200 as locally corresponding token strings. Specifically, the repeated expression extraction program 1122 extracts a plurality of cells whose similarity changes periodically in each row of the matrix 200, and extracts a rectangle 213 including the extracted cells.
  • the row 201a (corresponding to the token “type”) includes only one cell having the same degree of similarity, so that the repeated expression extraction program 1122 is to be extracted from the row 201a. Judge that there is no.
  • the row 205a (corresponding to the token “UK”) periodically includes cells having similar degrees of similarity, the iterative expression extraction program 1122 determines that there is a cell to be extracted from the row 205a. .
  • the row 203a (corresponding to the token “body height”) periodically includes cells having a high degree of similarity, but the degree of similarity is not the same, so the repeated expression extraction program 1122 extracts from the row 204a. It is determined that the cell is not to be used.
  • the iterative expression extraction program 1122 is surrounded by rows 204a to 212a and columns 204b to 212b corresponding to rows 204a to 212a in order to determine that cells from rows 204a to 212a should be extracted.
  • the rectangle 213 is extracted as a cell indicating local correspondence.
  • the repeated expression extraction program 1122 specifies that the plurality of tokens corresponding to the extracted rectangle 213 are a plurality of tokens included in the repeated expression, and extracts the repeated expression from the text 113.
  • the repetitive expression extraction program 1122 specifies a unit in which the similar similarity appears repeatedly in the repetitive expression after specifying a plurality of tokens included in the repetitive expression in S143.
  • the unit specified here corresponds to a line in the repeated expression.
  • the repeated expression extraction program 1122 collects tokens by extracting lines in the repeated expression (S144).
  • the repeated expression extraction program 1122 continues to update the token of the partial token sequence included in the rectangle 213, and determines whether or not the updated partial token sequence is a repeated expression.
  • a specific example of a method for specifying a line in a repeated expression is shown below.
  • one arbitrary partial token sequence included in the rectangle 213 is described as a partial token sequence a.
  • at least one partial token string other than the partial token string a having a distribution similar to the distribution of similarity in the partial token string a is described as a partial token string b.
  • the partial token sequence a and the partial token sequence b satisfy the following two conditions.
  • Partial token sequence a and (all) partial token sequence b continuously cover all or part of the token sequence in rectangle 213.
  • the repeated expression extraction program 1122 extracts “Beagle, UK, 38 cm or less” from the rectangle 213 as the partial token string a.
  • This partial token sequence a locally corresponds to a plurality of partial token sequences b (“Shiba Inu, Japan, 41 cm or less”, “Boxer, Germany, 63 cm or less”).
  • the partial token string a and the plurality of partial token strings b continuously cover the token string in the rectangle 213 of “Beagle, UK, 38 cm or less, Shiba Inu, Japan, 41 cm or less, Boxer, Germany, 63 cm or less”.
  • the partial token sequence a and the plurality of partial token sequences b do not overlap each other, and no other token is included between the partial token sequences. Therefore, the partial token sequence a and the plurality of partial token sequences b satisfy the above-described condition 1.
  • the repeated expression extraction program 1122 extracts “Beagle, UK, 38 cm or less, Shiba Inu” from the rectangle 213 as the partial token string a.
  • this partial token sequence a one partial token sequence b (“Shiba Inu, Japan, 41 cm or less, boxer") corresponds locally.
  • the partial token string a and the partial token string b overlap in the token “Shiba Inu”. In such a case, the partial token string a and the partial token string b do not satisfy the condition 1 described above.
  • the repeated expression extraction program 1122 extracts “Beagle, UK” from the rectangle 213 as the partial token string a.
  • This partial token sequence a locally corresponds to a plurality of partial token sequences b (“Shiba Inu, Japan”, “Boxer, UK”).
  • the token “38 cm or less” and the token “41 cm or less” are included between the partial token sequence a and the plurality of partial token sequences b, and the partial token a and the plurality of partial token sequences b are not continuous. .
  • the partial token sequence a and the plurality of partial token sequences b do not satisfy the condition 1 described above.
  • the repeated expression extraction program 1122 extracts “United Kingdom, 38 cm or less, Shiba Inu” from the rectangle 213 as the partial token string a.
  • This partial token sequence a locally corresponds to one partial token sequence b (“Japan, 41 cm or less, boxer”).
  • the partial token sequence a and the partial token sequence b continuously cover the token sequence of the rectangle 213. In such a case, the partial token sequence a and one partial token sequence b satisfy the above-described condition 1.
  • partial token sequence a satisfying the condition 1 is “beagle, UK, 38 cm or less” (hereinafter, partial token sequence a1) and “UK, 38 cm or less, Shiba Inu” (hereinafter, partial token sequence a2). is there.
  • the partial token sequence a1 and the partial token sequence b of the partial token sequence a1 cover the partial token sequence from the token “beagle” (column 204b) to the token “63 cm or less” (column 212b).
  • the partial token sequence a2 and the partial token sequence b of the partial token sequence a2 cover only the partial token sequence from the token “UK” (column 205b) to the token “boxer” (column 210b).
  • the repeated expression extraction program 1122 determines that the partial token sequence a1 “beagle, UK, 38 cm or less” has the largest range in the rectangle 213 that the partial token sequence a1 and the partial token sequence b continuously cover. It is determined that the condition 2 is satisfied. Then, the repeated expression extraction program 1122 determines that the partial token string a1 is a line in the repeated expression, and the partial token string a1 and a plurality of partial token strings b of the partial token string a1 (“Shiba Inu, Japan, 41 cm or less”). , “Boxer, Germany, 63 cm or less”) as a line in the repeated expression.
  • the repetitive expression extraction program 1122 collects the tokens included in the specified line in the order in which they are included in step S144, thereby adding the tokens included in the line to the item (column). Summarize each. For example, the repeated expression extraction program 1122 converts a partial token sequence a1 and a plurality of partial token sequences b of the partial token sequence a1 into a column 1 ("Beagle”, “Shiba Inu", “Boxer"), and a column 2 ("UK”). “,“ Japan ”,“ Germany ”) and column 3 (“ 38 cm or less ”,“ 41 cm or less ”,“ 63 cm or less ”). Then, the iterative expression extraction program 1122 ends the processing shown in FIG.
  • the iterative expression extraction program 1122 can extract columns 1 to 3 in the iterative expression 1131 shown in FIG. 2. Then, the low-order word determination program 1123 determines items of low-order words from columns 1 to 3 (corresponding to processing 153 and S15).
  • processing in S143 is processing for a table in which the upper-lower relationship is only one hierarchy of the broader terms and the narrower terms, like the repeated expression 1131 in FIG.
  • processing in S143 can also be applied to multi-layered repetitive expressions such as a tree structure.
  • FIG. 7 is an explanatory diagram showing an example of the text 113 including the multi-layered repeated expression of the present embodiment.
  • the text 113 shown in FIG. 7 includes a repeating structure with indented bullets.
  • the difference between the repeated expression such as a table in HTML and the repeated expression in the text 113 shown in FIG. 7 is that the text 113 shown in FIG. 7 further includes a lower word corresponding to the lower word.
  • “hunting dog” and “serving dog” shown in FIG. 7 are low-level words corresponding to the broader term “dog”, and further high-level terms corresponding to low-level terms such as “beagle”, “shiba inu”, and “shepard”. It is also a word. Therefore, the upper and lower relationship in the text 113 shown in FIG. 7 is a multi-level relationship such as “dog” ⁇ “hunting dog” ⁇ “beagle”.
  • the format shown in FIG. 7 is a structure document such as an HTML document, but is a format in which a repeated expression is not described with a ⁇ TABLE> tag.
  • a different number of subordinate words corresponds to each of the words indicating intermediate meanings (subordinate words for the uppermost word and upper words for the lowest word). Also good. For example, “hunting dog” shown in FIG. 7 corresponds to three subordinate words, and “serving dog” shown in FIG. 7 corresponds to two subordinate words.
  • Such repeated expressions in text are represented by a tree structure disclosed by conventional techniques such as Y.Zhai, B.Liu., Web Data Extraction Based on Partial Tree Alignment, WWW2005, 2005.
  • conventional techniques such as Y.Zhai, B.Liu., Web Data Extraction Based on Partial Tree Alignment, WWW2005, 2005.
  • a repeated expression is extracted by expressing a repeated element with a tree structure and structurally associating each of a plurality of trees.
  • such repeated expressions cannot be accurately extracted unless the tree structure and meaning are acquired, and cannot be extracted with high accuracy only by the process of extracting the tree structure.
  • the upper / lower relationship extraction program 112 of the present embodiment can accurately extract the upper / lower relationship of multiple layers.
  • the repeated expression extraction program 1122 executes S141 and S142 also on the text 113 shown in FIG.
  • the repeated expression extraction program 1122 generates the matrix 200 based on the text 113 shown in FIG. 7 and the calculated similarity.
  • the repeated expression extraction program 1122 When the matrix 200 is generated based on the text 113 shown in FIG. 7 and the local correspondence is extracted from the generated matrix 200, the repeated expression extraction program 1122 generates a plurality of repeated expressions (rectangles 213) including the lowest-order lower-order word. Extract. Specifically, the repeated expression extraction program 1122 includes the token string “Beagle, native to the UK, body height 38 cm or less”, the token string “Shiba Inu, native to Japan, body height 41 cm or less”, and the token string “Dachshund, Germany native, height.
  • Matrix 200 represents two repetitive representations of a rectangle 213a including “15 cm or less”, and a rectangle 213b including a token sequence “Shepard, native to Germany, height 65 cm or less” and a rectangle 213 b including a token sequence “boxer, native to Germany, height 63 cm or less”. Extract from
  • the repeated expression extraction program 1122 identifies the lines in each of the rectangle 213a and the rectangle 213b using the above-described conditions 1 and 2.
  • the repeated expression extracting program 1122 determines that the matrix 200 includes a multilevel hierarchical repeated expression, and is a higher repetition than the extracted multiple repeated expressions. An expression is extracted from the matrix 200. A method for extracting the upper repeated expression is described below.
  • the repeated expression extraction program 1122 contracts the token string included in the rectangle 213a and the rectangle 213b extracted as the repeated expression into one virtual token (virtual token). For example, the repeated expression extraction program 1122 converts the three partial token sequences of “Beagle,...”, “Shiba Inu,...” And “Dachshund,. Reduce to 1 ". In addition, the repeated expression extraction program 1122 reduces the two partial token strings “Shepherd,...”, “Boxer,...” Included in the rectangle 213 b to the virtual token “Shepard 1”.
  • the iterative expression extraction program 1122 determines the similarity between the newly obtained virtual token and other tokens in the matrix 200, and each of the plurality of tokens included in the virtual token and other tokens in the matrix 200. Calculate based on similarity.
  • the repeated expression extraction program 1122 calculates the average value of the similarity between each of the plurality of tokens included in the virtual token and the other tokens in the matrix 200 as the similarity between the virtual token and the other tokens. Also good. Then, the repeated expression extraction program 1122 converts the token string of the matrix 200 into a token string “hunting dog, beagle 1, working dog, shepherd 1” obtained as a result of contraction.
  • the repetitive expression extraction program 1122 extracts repetitive expressions from the converted matrix 200 using the above-described method of extracting local correspondence.
  • the repeated expression extracted from the result matrix 200 is the token string “hunting dog, beagle 1, working dog, shepherd 1”. Since one repeated expression is extracted, and no higher repeated expression is extracted, the repeated expression extracting program 1122 specifies the line of the token string “hunting dog, beagle 1, service dog, shepherd 1”.
  • the repeated expression extraction program 1122 specifies the row in the token string “hunting dog, beagle 1, working dog, shepherd 1” using the above-described conditions 1 and 2.
  • the identified rows are “Hunting Dog, Beagle 1” and “Working Dog, Shepherd 1”.
  • the repeated expression extraction program 1122 summarizes the lines identified as described above in S144. The summarized results are “hunting dog, service dog” and “beagle 1, shepherd 1”. The repeated expression extraction program 1122 further collects tokens based on the lines specified in “Beagle 1” (corresponding to the rectangle 213a) and “Shepard 1” (corresponding to the rectangle 213b).
  • the repeated expression extraction program 1122 can accurately extract the upper and lower relations from the text 113 including the multi-layered repeated expression.
  • the processing described above is based on the premise that the repeated expression has information in the row direction, that is, the repeated expression is written horizontally.
  • the repeated expression has information in the column direction, that is, the repeated expression is vertically written in the text 113.
  • the repeated expression extraction program 1122 refers to the matrix 200 in S143 and determines whether the extracted repeated expression is horizontal writing or vertical writing. If the result of determination is vertical writing, the order of token strings in the repeated expression of the matrix 200 is converted to horizontal writing order.
  • the repeated expression extraction program 1122 uses the synonym dictionary 115 or the like to determine whether it is horizontal writing or vertical writing as follows. When the repeated expression is horizontal writing, tokens belonging to the same category are included in the column direction in the repeated expression. When the repeated expression is vertical writing, tokens belonging to the same category are included in the line direction in the repeated expression. Therefore, in the matrix 200, when cells with high similarity occur continuously in the row direction and column direction, the repeated expression extraction program 1122 performs vertical processing on tokens at locations where cells with high similarity occur continuously. Convert the tokens so that they are split.
  • the upper-lower relationship extraction apparatus 100 can extract higher-order words by extracting enumerated expressions included in the text 113, and further searches for lower-order words corresponding to the extracted higher-order words. Can get a clue.
  • the upper-lower relationship extraction apparatus 100 of the present embodiment can extract a repeated expression including a lower-word corresponding to the extracted higher-order word with high accuracy. Since the extracted repeated expression is likely to include a plurality of lower-order words, the upper-lower relationship extracting apparatus 100 according to the present embodiment can extract the upper-lower relationship accurately and with high completeness. For example, it is possible to extract more subordinate terms than to extract a superordinate relationship by extracting only a fixed sentence such as “to”.
  • the upper / lower relationship extraction apparatus 100 can extract not only a repeated expression described in HTML but also a higher / lower relationship from a more general document.
  • each of the above-described configurations, functions, programs, processing methods, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD. .
  • the above-described upper-lower relationship extraction program 112 has three programs (an enumeration expression extraction program 1121, a repeated expression extraction program 1122, and a lower-word determination program 1123).
  • the functions of these three programs may be implemented by one program, or may be implemented by two or four or more programs.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. In practice, it can be considered that almost all configurations are connected to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 複数の文字列を含むテキストを処理するテキスト処理装置であって、プロセッサ及びメモリを有し、上位語に対応する下位語を列挙するために表現される列挙表現に関する列挙表現情報を、前記メモリに保持し、前記テキストから前記列挙表現が抽出されるか否かを、前記列挙表現情報に基づいて判定する列挙表現抽出部と、前記列挙表現が含まれるテキストから、一つのテーマに関する内容を繰り返して表現する繰返し表現を抽出する繰返し表現抽出部と、前記テキストに含まれる列挙表現が示す上位語に対応する下位語を、前記抽出された繰返し表現に含まれる文字列の中から決定する下位語決定部と、を有する。

Description

テキスト処理装置、及び、テキスト処理方法
 本発明は、テキスト処理装置に関する。
 パソコン及びインターネットの普及によって、ユーザがアクセス可能な電子化文書の量が増大している。これに伴い、大量の電子化文書を有効に活用するための技術である自然言語処理に対する期待が高まっている。自然言語処理を高度化するためには、単語の意味を適切に扱うことが必要であり、同義語、上位下位関係、又は、対義語のような単語間の意味関係を抽出することが必要である。
 近年、次世代の検索技術として、質問応答技術が注目されている。現在の検索技術は、キーワードによって指定された検索クエリに最も適合するファイルを、ユーザに出力する。一方で、次世代の質問応答技術は、質問に対する答えそのものを、ユーザに出力する。例えば、"最も小さい犬の種類は?"という質問に対し、質問応答技術を用いた計算機は、"チワワ"のような答えそのものを、ユーザに出力する。
 質問応答技術を用いるためには多くの重要な知識が必要である。重要な知識の一つには、言葉の上位下位関係がある。上位下位関係とは、例えば、上位語として"犬"が該当し、下位語として"チワワ"が該当する、上位語と下位語との関係である。このような知識の重要性を鑑み、上位下位関係を自動的に抽出する従来の技術が存在する。
 従来の技術には、HTMLのテーブルのような繰返し表現を解析することで上位下位関係にある単語ペアを抽出する方法が知られている(非特許文献1参照)。この方法では、上位下位関係の抽出に際し、まずHTML文書に含まれる繰返し構造(例えば、テーブル等)に着目し、下位語(hyponym)の集合を抽出する。次に、抽出された下位語の集合から上位語(hypernym)の候補を統計的に決定し、上位語及び下位語の類似性を文脈に基づいて判定することで上位下位関係を獲得する。
Keiji Shinzato, Kentaro Torisawa, "Acquiring hyponymy relations from web documents" In Proceedings of HLT-NAACL, pages 73-80, 2004.
 テーブルのような繰返し表現から得られる単語の集合が、ある単語の下位語の集合であるか否かは自明ではない。テーブルは一般性の高い表現であるため、類似する情報を列挙する場合以外にも多く使われる。このため、テーブルであっても、下位語の集合を抽出するための知識源として必ず利用される訳ではない。また、下位語を抽出できた場合も、下位語に対応する上位語をテキストから抽出するためには、繰返し表現を抽出するための方法とは別の方法が必要である。
 非特許文献1に記載された技術は、下位語を抽出した後に、統計的な方法によって下位語をチェックし、これによって、上位下位関係を抽出する。しかし、非特許文献1に記載された技術は、抽出された下位語から上位語を抽出するため、上位下位関係を抽出する精度が低い。
 また、非特許文献1のように繰返し表現に基づいて上位下位関係を抽出する場合、繰返し表現を抽出する精度、及び、抽出可能な繰返し表現の網羅性が重要である。しかし、非特許文献1では、HTMLのテーブルのように、予め定められた繰返し表現を抽出することが想定されており、非特許文献1の技術を用いた場合、HTML以外のテキストから上位下位関係を抽出することができない。
 このような課題を鑑み、本願発明は、より一般的なテキストから高い精度で上位下位関係を抽出する方法の提供を目的とする。
 本発明の代表的な一例を示せば以下の通りである。すなわち、複数の文字列を含むテキストを処理するテキスト処理装置であって、プロセッサ及びメモリを有し、上位語に対応する下位語を列挙するために表現される列挙表現に関する列挙表現情報を、前記メモリに保持し、前記テキストから前記列挙表現が抽出されるか否かを、前記列挙表現情報に基づいて判定する列挙表現抽出部と、前記列挙表現が含まれるテキストから、一つのテーマに関する内容を繰り返して表現する少なくとも一つの繰返し表現を抽出する繰返し表現抽出部と、前記テキストに含まれる列挙表現が示す上位語に対応する下位語を、前記抽出された繰返し表現に含まれる文字列の中から決定する下位語決定部と、を有する。
 本発明の一実施形態によると、HTMLのみならずより一般的なテキストから、高い精度で上位下位関係を抽出することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本実施例の上位下位関係抽出装置の構成を示すブロック図である。 本実施例の上位下位関係抽出装置によって実行される上位下位関係抽出処理の概略の説明図である。 本実施例の上位下位関係抽出プログラムによる上位下位関係抽出処理のフローチャートである。 本実施例の列挙表現辞書を示す説明図である。 本実施例の繰返し表現抽出処理を示すフローチャートである。 本実施例のトークン間の類似度のマトリクスを示す説明図である。 本実施例のテキストに含まれるテキストファイルの例を示す説明図である。
 本発明は、上位下位関係にある二つの単語を含む単語ペアを抽出する方法に関し、特に、表のような繰返し表現に基づいて上位下位関係を抽出する方法に関する。本実施例における上位語及び下位語とは、上位下位関係にある二つの単語を示す。
 本実施例の方法は、文書に列挙表現が含まれるか否かを判定し、列挙表現の後の繰返し表現を抽出する。列挙表現とは、上位語と、当該上位語に対応する下位語を列挙することとを、明示的に示す表現である。また、本実施例の繰返し表現とは、一つのテーマの内容を繰返して示す表現である。
 さらに、本実施例の方法は、抽出された繰返し表現が、上位語に対応する複数の下位語を、含むか否かを判定し、繰返し表現から複数の下位語を抽出することによって、繰返し表現に基づいた上位下位関係を高精度に抽出する。
 以下の図を用いて、本実施例を説明する。本実施例では、テキストから上位下位関係を抽出する方法について説明する。
 図1は、本実施例の上位下位関係抽出装置100の構成を示すブロック図である。
 上位下位関係抽出装置100は、テキスト113から上位語及び下位語を抽出する計算機である。上位下位関係抽出装置100は、CPU101、主メモリ102、入出力装置103、及び、ディスク装置110を備える。
 CPU101は、主メモリ102が保持するプログラムを実行することによって上位下位関係抽出装置100の機能を実現するプロセッサである。具体的には、CPU101は、ディスク装置110に記憶されたプログラムを主メモリ102にロードし、主メモリ102にロードされたプログラムを実行する。CPU101は、プロセッサの機能を有すれば、CPU(Central Processor Unit)以外のいずれのプロセッサでもよく、また、一つのプロセッサでも、複数のプロセッサであってもよい。
 主メモリ102は、CPU101によって実行されるプログラム及びCPU101によって必要とされるデータ等を保持する。
 入出力装置103は、ユーザから入力された情報を受け付け、さらに、CPU101の指示に従って情報を出力する。例えば、入出力装置103は、キーボード及びマウス等の入力装置、並びに、ディスプレイ等の出力装置である。
 ディスク装置110は、プログラム及びデータを格納する。具体的には、ディスク装置110は、プログラムとして、OS111、上位下位関係抽出プログラム112を有する。また、ディスク装置110は、データとして、列挙表現辞書114、同義語辞書115、上位語下位語辞書116、識別モデル117及び少なくとも一つのテキスト113を有する。
 OS111は、上位下位関係抽出装置100が実行する処理全体を制御するオペレーティングシステムである。
 上位下位関係抽出プログラム112は、入力されたテキスト113に含まれる単語から上位下位関係を持つ単語ペアを抽出する。上位下位関係抽出プログラム112は、列挙表現抽出プログラム1121、繰返し表現抽出プログラム1122、及び、下位語決定プログラム1123を含む。
 テキスト113は、テキストを含む文書ファイルである。図1に示すテキスト113は一つであるが、ディスク装置110は複数のテキスト113を有してもよい。テキスト113は、上位下位関係抽出プログラム112へ入力され、上位下位関係抽出プログラム112によって上位下位関係を持つ二つの単語を抽出される。
 テキスト113は、いかなる形式によって文字列を保持してもよい。テキスト113は、ユーザによって入出力装置103を介して入力される。
 列挙表現辞書114は、上位語に対応する下位語を列挙することを明示的に示す列挙表現に関する情報を保持する。列挙表現辞書114には、列挙表現に関する情報が、ユーザによってあらかじめ設定される。
 同義語辞書115は、同じ又は類似する意味を持つ単語ペアを複数示す。同義語辞書115には、単語を示す識別子がユーザによってあらかじめ設定される。
 上位語下位語辞書116は、上位下位関係がある単語ペアを複数示す。上位語下位語辞書116には、上位語及び下位語を示す識別子がユーザによってあらかじめ設定される。
 識別モデル117は、繰返し表現抽出プログラム1122が使用するデータであり、同義語であるか否かを判定するルールを示す。識別モデル117には、ルールを示す情報がユーザによってあらかじめ設定される。
 図2は、本実施例の上位下位関係抽出装置100によって実行される上位下位関係抽出処理の概略を示す説明図である。
 本実施例の列挙表現抽出プログラム1121は、列挙表現辞書114を用いて、テキスト113から列挙表現を抽出する(処理151)。また、列挙表現抽出プログラム1121は、処理151において、抽出された列挙表現から上位語候補を特定する。
 例えば、列挙表現抽出プログラム1121は、列挙表現辞書114を用い、図2に示すテキスト113から列挙表現として"犬の一覧を以下に示す"を抽出する。そして、列挙表現抽出プログラム1121は、上位語候補として、列挙表現に含まれる文字列、例えば、"犬"を抽出する。
 処理151の後、繰返し表現抽出プログラム1122は、テキスト113に含まれる繰返し表現を抽出する(処理152)。図2に示すテキスト113は、繰返し表現1131を含む。繰返し表現抽出プログラム1122は、この繰返し表現1131の各行の要素をテキスト113から抽出する。
 繰返し表現1131における各行は、繰返しの最も大きな単位である。各行における要素は、繰返し表現1131における列に含まれる。例えば、図2に示す繰返し表現1131は、"ビーグル、イギリス、38cm以下"、"柴犬、日本、41cm以下"、及び、"ボクサー、ドイツ、63cm以下"を各々含む三つの行を、繰返しの三つの単位として含む。繰返し表現1131には、この三つの行のような単位が、図2に示す行以外にも繰り返し格納されてもよい。
 更に、繰返し表現1131において、各行の1番目の要素は、列1に含まれており、"ビーグル"、"柴犬"、及び、"ボクサー"が列1の要素である。図2において、列1の要素が上位語候補の"犬"の下位語を示す要素である。
 一般的に、情報を漏れなく列挙する場合には、繰返し表現が使用されることが多い。このため、列挙表現と繰返し表現との組み合わせを発見することで、本実施例の上位下位関係抽出装置100は、上位下位関係を抽出することが可能である。
 処理152の後、下位語決定プログラム1123は、上位語候補"犬"と繰返し表現1131における各要素とを比較し、上位語下位語辞書116を用いて、列1に含まれる"ビーグル"、"柴犬"及び"ボクサー"が、上位語候補"犬"に対応する下位語であると決定する。そして、下位語決定プログラム1123は、"犬"-"ビーグル"、"犬"-"柴犬"及び"犬"-"ボクサー"を、上位下位関係にある複数の単語ペアとして出力する(処理153)。
 図3は、本実施例の上位下位関係抽出プログラム112による上位下位関係抽出処理の詳細を示すフローチャートである。
 まず、上位下位関係抽出プログラム112は、ディスク装置110が有するすべてのテキスト113にS13が実行されたか否かを判定する(S11)。すべてのテキスト113にS13が実行されたとS11において判定された場合、上位下位関係抽出プログラム112は、図3に示す処理を終了する。
 一方、S11において、ディスク装置110が有するテキスト113にS13が実行されていないテキスト113があると判定された場合、上位下位関係抽出プログラム112は、S13がまだ実行されていないテキスト113を一つ取得する(S12)。
 S12の後、上位下位関係抽出プログラム112は、取得されたテキスト113に含まれる文字列に列挙表現が含まれるか否かを、列挙表現抽出プログラム1121の処理結果に基づいて判定する(S13)。
 S13の列挙表現抽出プログラム1121の処理は、図2に示す処理151に対応する。以下に、列挙表現抽出プログラム1121の処理と、列挙表現辞書114とを説明する。
 図4は、本実施例の列挙表現辞書114を示す説明図である。
 列挙表現辞書114は、少なくとも一つの列挙表現を示し、列挙表現を抽出するための列挙表現のテンプレートを保持する。図4に示す列挙表現辞書114は、エントリ1141を含む。
 列挙表現辞書114は、例えば、正規表現によって定義されたテンプレートによって列挙表現を示す。図4に示す列挙表現辞書114は、固定の文字列部分と変数に相当する部分とを含む正規表現によって列挙表現を示す。本実施例において、正規表現に含まれる変数は、列挙表現に含まれる上位語候補に相当する。
 図4に示すエントリ1141は、"X[NP]"が変数であり、"XXXの一覧"のような列挙表現を示す。このため、例えば、テキスト"下記は、風邪の症状の一覧である"は、エントリ1141の正規表現が示す列挙表現である。そして、この例において、変数X[NP]に対応する文字列が"風邪の症状"であり、"風邪の症状"が上位語である。
 "XXXの一覧"のような列挙表現は、"XXX(上位語)"の下位語、すなわち"XXX"の具体例又はインスタンスをできるだけ漏れなく列挙するために記載される表現である。このため、列挙表現抽出プログラム1121は、このような列挙表現をテキスト113から抽出することで、上位下位関係を抽出する手掛かりをテキスト113から抽出できる。
 列挙表現抽出プログラム1121が列挙表現をテキスト113から抽出しない場合、上位下位関係抽出プログラム112は、テキスト113に列挙表現が含まれないと判定する。そして、上位下位関係抽出プログラム112は、テキスト113に列挙表現が含まれないと判定した場合、S11に戻る。
 列挙表現抽出プログラム1121が列挙表現をテキスト113から抽出した場合、上位下位関係抽出プログラム112は、テキスト113に列挙表現が含まれると判定する。そして、上位下位関係抽出プログラム112は、列挙表現抽出プログラム1121によって抽出された上位語候補を主メモリ102に保持し、S14に進む。
 なお、列挙表現抽出プログラム1121が一つのテキスト113から複数の列挙表現を抽出する場合、上位下位関係抽出プログラム112は、複数の上位語候補を主メモリ102に保持する。
 S13の後、上位下位関係抽出プログラム112は、テキスト113の列挙表現の直後に繰返し表現が含まれるか否かを、繰返し表現抽出プログラム1122を実行することによって判定する(S14)。
 繰返し表現抽出プログラム1122が、テキスト113の列挙表現の直後から繰返し表現を抽出しない場合、上位下位関係抽出プログラム112は、テキスト113に繰返し表現が含まれないと判定し、S11に戻る。
 繰返し表現抽出プログラム1122が、テキスト113の列挙表現の直後から繰返し表現を抽出した場合、上位下位関係抽出プログラム112は、繰返し表現抽出プログラム1122によって抽出された繰返し表現における複数の要素を、S13において保持された上位語候補に対応させて主メモリ102に保持し、S15に進む。
 S14は、図2に示す処理152に対応する。S14における繰返し表現の抽出に関しては、後で詳細に説明する。
 S14の後、上位下位関係抽出プログラム112は、繰返し表現抽出プログラム1122によって抽出された繰返し表現における複数の要素から、下位語決定プログラム1123に下位語を決定させる。
 抽出される繰返し表現は、繰返し表現において複数回繰り返される複数の単位(テーブルにおける行に対応)を含み、この複数の単位の各々には複数の要素が含まれる。単位に含まれる複数の要素は、単位に含まれる順に項目(テーブルにおける列に対応)が定められている。
 このため、S15における下位語決定プログラム1123は、上位語候補に対応する下位語が含まれる項目を決定することによって、複数の単位の各々において下位語を決定する。そして、下位語決定プログラム1123は、主メモリ102に保持される上位語候補と、決定された下位語の各々との、上位下位関係を持つ単語ペアの集合を生成する(S15)。S15の処理は、処理153に対応する。
 下位語決定プログラム1123は、繰返し表現における下位語を決定するため、S13において特定された上位語候補に一般的に対応する下位語を、上位語下位語辞書116から取得する。そして、下位語決定プログラム1123は、取得された下位語を最も多く含む項目を、下位語が含まれる項目に決定する。
 例えば、図2に示す"犬"が上位語候補として保持されていた場合、下位語決定プログラム1123は、図2に示す項目"種類"、項目"原産国"及び項目"体高"のうち、上位語候補"犬"に一般的に対応する下位語を最も多く含む項目"種類"を、下位語が含まれる項目に決定する。ここで、下位語決定プログラム1123は、"犬"に一般的に対応する下位語を、上位語下位語辞書116から取得する。
 また、下位語決定プログラム1123は、例えば、L.van der Plas and J. Tiedemann, "Finding Synonyms using Automatic Word Alignment and Measures of Distributional Similarity", Proceedings of the COLING/ACL 2006, pp. 866-873, 2006.に開示されているような、単語が出現する文脈の類似度を用いた方法等によって、下位語が含まれる項目を決定してもよい。
 前述の文脈の類似度を用いる方法は、一般的に、全ての上位下位関係を正しく判定することが困難である。しかし、本実施例において、繰返し表現における要素は、既に下位語の候補としてグルーピングされている。このため、下位語決定プログラム1123は、文脈の類似度を用いた方法を用いても下位語を正しく決定することができる。
 なお、下位語決定プログラム1123は、他の方法によって、下位語を含む項目を決定してもよい。
 以下では、S14の繰返し表現抽出処理を詳細に説明する。
 最も単純な繰返し表現は、HTML文書のテーブルである。HTML文書のテーブルは、<TABLE>タグで表現され、テーブル内の要素は、行を定義する<TR>タグ、行内の要素を定義する<TD>タグ、テーブルの見出しを定義する<TH>タグ等により表現される。
 HTMLのテーブルは、HTMLの解析器によって処理される。繰返し表現抽出プログラム1122は、HTMLの解析器を用いて、任意の行、列及び要素を抽出することが可能である。
 このため、繰返し表現抽出プログラム1122は、テキスト113に含まれる繰返し表現が、HTML文書のテーブルである場合、テキスト113のHTML文書をHTML解析器を用いて解析してもよい。そして、繰返し表現抽出プログラム1122は、S14において、HTML文書に含まれるテーブルの、見出しを除く各行各列の要素を繰返し表現として抽出してもよい。
 しかし、テキスト113がより一般的な書式によって記載された場合にも繰返し表現を抽出できる処理を、以下に示す。テキスト113の一般的な書式には、例えばプレーンテキストのような書式がある。
 図5は、本実施例の繰返し表現抽出処理を示すフローチャートである。
 繰返し表現抽出プログラム1122は、まず、S13において列挙表現が含まれると判定されたテキスト113の文字列を、複数のトークンに分割する。そして、繰返し表現抽出プログラム1122は、複数のトークンを含むトークン列を生成する(S141)。
 なお、S141において繰返し表現抽出プログラム1122は、S13において特定された列挙表現に後続する文字列を、複数のトークンに分割する。また、S13において、一つのテキスト113に複数の列挙表現が含まれると判定された場合、繰返し表現抽出プログラム1122は、列挙表現と列挙表現との間の文字列を、各々複数のトークンに分割し、複数のトークン列を生成する。そして、繰返し表現抽出プログラム1122は、複数のトークン列の各々にS142~S144の処理を繰り返す。
 例えば、テキスト113がHTML文書又はXML文書等の構造化文書を含む場合、繰返し表現抽出プログラム1122は、テキスト113において、タグを1トークンとして分割し、また、タグ間のテキストを1トークンとして分割する。また、テキスト113がプレーンテキストである場合、繰返し表現抽出プログラム1122は、空白、タブ文字、改行文字、コロン、セミコロン、句点及び読点等の区切りを示す文字において分割することによって、テキスト113をトークンに分割する。
 例えば、繰返し表現抽出プログラム1122は、S141において、図2に示すテキスト113を、各要素を区切るための横線及び縦線において分割することによって、"ビーグル"、"イギリス"、及び"38cm以下"のようなトークンに分割する。そして、繰返し表現抽出プログラム1122は、S141において、分割された複数のトークンを、テキスト113に記載された順番に含むトークン列を取得する。
 繰返し表現抽出プログラム1122は、取得されたトークン列の中から二つのトークンの組合せをすべて抽出し、抽出された複数の組合せに従って、二つのトークン間の類似度を算出する(S142)。本実施例において、繰返し表現抽出プログラム1122は、いずれの方法によって類似度を算出してもよい。
 例えば、繰返し表現抽出プログラム1122は、二つのトークンの文字列が完全一致する場合に、類似度として1を算出し、二つのトークンの文字列が部分的に一致する場合、文字列が一致する割合(0から1の数値)を類似度として算出する。
 例えば、図2に示すテキスト113において、"38cm以下"と"41cm以下"とは、"cm以下"が一致している。このため、"38cm以下"と"41cm以下"とには、1より小さく、かつ、0より大きい類似度が算出される。
 また、"ビーグル"と"柴犬"とは、文字列がすべて異なるため、類似度として0が算出される。類似度に0が算出された場合、繰返し表現抽出プログラム1122は、同義語辞書115及び同義語の識別モデル117を用い、意味が類似し、かつ、文字列がすべて異なる二つのトークンに、所定の類似度を定めてもよい。
 また、繰返し表現抽出プログラム1122は、文字列の一致数に基づいて算出された類似度と、意味の類似性により定められた類似度との、2種類の類似度を合成することによって、類似度を算出してもよい。
 具体的には、繰返し表現抽出プログラム1122は、文字列が一部でも一致するトークンの組、及び、文字列が一致しないトークンの組の各々について2種類の類似度を算出してもよい。そして、繰返し表現抽出プログラム1122は、算出された2種類の類似度を特徴量として、文字列が一部でも一致する場合を1、文字列が一致していない場合を-1とするような2値の識別器を構成し、識別境界からの距離に基づいて、類似度を定義してもよい。
 S142の後、繰返し表現抽出プログラム1122は、トークン列の局所対応を抽出する(S143)。繰返し表現抽出プログラム1122は、トークン列の局所対応を抽出することによって、繰返し表現を抽出する。トークン列の局所対応を抽出する方法について、図6を用いて説明する。
 図6は、本実施例のトークン間の類似度のマトリクス200を示す説明図である。
 マトリクス200は、トークン間の類似度のうち、所定の閾値よりも高い類似度、すなわち、所定の基準よりも類似する二つのトークンを示すマトリクスである。図6に示すマトリクス200は、S141において、繰返し表現抽出プログラム1122が、図2に示すテキスト113から、トークン列("犬"、"の"、"一覧"、"を"、"以下"、"に"、"示す"、"。"、"種類"、"原産"、"体高"、"ビーグル"、"イギリス"、"38cm以下"、"柴犬"、"日本"、"41cm以下"、"ボクサー"、"ドイツ"、"63cm以下")を生成した場合の例を示す。
 ここで、取得されたトークン列の各トークンには、<TABLE>のようなHTMLタグが含まれる場合もあり得るが、ここでは、テキスト113からのみトークン列が取得されたものとする。
 図6に示すマトリクス200は、行201a~行212a及び列201b~212bを含む。各行及び各列は、トークン列に含まれる各トークンに対応する。
 繰返し表現抽出プログラム1122は、S143において、S141において取得されたトークン列とS142において算出された類似度に基づいて、マトリクス200を生成する。本実施例の繰返し表現抽出プログラム1122は、所定の閾値よりも高い類似度が算出された二つのトークンに対応するセルに、類似していることを示す記号又は識別子等を格納する。
 例えば、S143において算出された、トークン"ビーグル"、"柴犬"及び"ボクサー"の類似度が所定の閾値よりも高いと判定された場合、繰返し表現抽出プログラム1122は、トークン"ビーグル"に対応する行の、"ビーグル"の列、"柴犬"の列及び"ボクサー"の列に、類似することを示す黒丸を格納する。繰返し表現抽出プログラム1122は、黒丸の大きさによって、類似度の高さをマトリクス200に表現してもよい。
 なお、マトリクス200の対角成分は、一つのトークンと、当該トークンと同じトークンとの類似度を示すため、常に類似度が所定の閾値よりも高いことを示す。
 図6に示すマトリクス200は、トークン"ビーグル"からトークン"63cm以下"までが繰返し表現に含まれるトークンであることを示す。このような場合に、局所対応が抽出されるセルは、図6に示すような対角線を中心とした矩形213のセルである。局所対応の抽出方法については、例えば、特開2012-059100号公報(局所対応抽出装置及び局所対応抽出方法)がある。
 以下に局所対応を抽出することによって繰返し表現を抽出する処理の概略を示す。
 繰返し表現に含まれるトークンと他のトークンとの類似度は、トークン列の順に周期的に変化する。具体的には、繰返し表現に含まれるトークンに対応するマトリクス200の行において、各列に格納される類似度の分布は周期的である。
 本実施例における局所対応とは、このように周期的に類似度が分布するトークン列の状態を示す。
 繰返し表現抽出プログラム1122は、S143において、まず、マトリクス200から類似度の分布が周期的に変化している複数のセルを、局所対応するトークン列として抽出する。具体的には、繰返し表現抽出プログラム1122は、マトリクス200の各行において、類似度が周期的に変化する複数のセルを抽出し、抽出されたセルを含む矩形213を抽出する。
 例えば、マトリクス200において、行201a(トークン"種類"に対応)には、同程度の類似度を含むセルが一つしか含まれないため、繰返し表現抽出プログラム1122は、行201aから抽出すべきセルはないと判定する。一方、行205a(トークン"イギリス"に対応)には、同程度の類似度を含むセルが周期的に含まれるため、繰返し表現抽出プログラム1122は、行205aから抽出すべきセルがあると判定する。
 なお、行203a(トークン"体高"に対応)には、高い類似度を示すセルが周期的に含まれるが、類似度の程度が同様ではないため、繰返し表現抽出プログラム1122は、行204aから抽出すべきセルではないと判定する。
 繰返し表現抽出プログラム1122は、行204a~行212aまでのセルを抽出すべきであると判定するため、行204a~行212aと、行204a~行212aに対応する列204b~列212bとに囲まれた矩形213を、局所対応を示すセルとして抽出する。そして、繰返し表現抽出プログラム1122は、抽出された矩形213に対応する複数のトークンが、繰返し表現に含まれる複数のトークンであると特定し、繰返し表現をテキスト113から抽出する。
 繰返し表現抽出プログラム1122は、S143において繰返し表現に含まれる複数のトークンを特定した後、繰返し表現の中で同様の類似度が繰返して出現する単位を特定する。ここで特定される単位が、繰返し表現における行に対応する。そして、繰返し表現抽出プログラム1122は、繰返し表現における行を抽出することによって、トークンをまとめる(S144)。
 ここで、トークン列に含まれる二つ以上の連続したトークンを部分トークン列と記載する。繰返し表現抽出プログラム1122は、S144において、矩形213に含まれる部分トークン列のトークンを更新し続け、更新された部分トークン列が繰返し表現であるか否か判定する。以下に、繰返し表現における行を特定する方法の具体例を示す。
 ここで、矩形213に含まれる一つの任意の部分トークン列を部分トークン列aと記載する。また、部分トークン列aにおける類似度の分布と同様の分布を有する、(すなわち、部分トークン列aと局所対応する)部分トークン列a以外の少なくとも一つの部分トークン列を、部分トークン列bと記載する。そして、部分トークン列a及び部分トークン列bの各々が繰返し表現における行である場合、部分トークン列a及び部分トークン列bは、以下の2つの条件を満たす。
 (条件1)部分トークン列aと(すべての)部分トークン列bとが、矩形213におけるトークン列の全体又は一部を連続的に被覆する
 (条件2)(条件1)に該当する部分トークン列aが複数抽出された場合、複数の部分トークン列aの中で、部分トークン列aと(すべての)部分トークン列bとが連続して被覆する範囲が矩形213において最も大きい部分トークン列a。
 例えば、繰返し表現抽出プログラム1122は、部分トークン列aとして、"ビーグル、イギリス、38cm以下"を矩形213から抽出する。この部分トークン列aは、複数の部分トークン列b("柴犬、日本、41cm以下"、"ボクサー、ドイツ、63cm以下")と局所対応する。これらの部分トークン列a及び複数の部分トークン列bは、"ビーグル、イギリス、38cm以下、柴犬、日本、41cm以下、ボクサー、ドイツ、63cm以下"という矩形213におけるトークン列を連続的に被覆する。
 すなわち、部分トークン列a及び複数の部分トークン列bは、相互に重ならず、部分トークン列間に他のトークンが含まれない。このため、この部分トークン列a及び複数の部分トークン列bは、前述の条件1を満たす。
 また、繰返し表現抽出プログラム1122は、部分トークン列aとして、"ビーグル、イギリス、38cm以下、柴犬"を矩形213から抽出する。この部分トークン列aは、一つの部分トークン列b("柴犬、日本、41cm以下、ボクサー")が局所対応する。しかし、この部分トークン列aと、部分トークン列bとは、トークン"柴犬"において重複する。このような場合、この部分トークン列a及び部分トークン列bは、前述の条件1を満たさない。
 また、繰返し表現抽出プログラム1122は、部分トークン列aとして、"ビーグル、イギリス"を矩形213から抽出する。この部分トークン列aは、複数の部分トークン列b("柴犬、日本"、"ボクサー、イギリス")と局所対応する。しかし、これらの部分トークン列a及び複数の部分トークン列bの間には、トークン"38cm以下"及びトークン"41cm以下"が含まれており、部分トークンa及び複数の部分トークン列bが連続しない。このような場合、この部分トークン列a及び複数の部分トークン列bは、前述の条件1を満たさない。
 また、繰返し表現抽出プログラム1122は、部分トークン列aとして、"イギリス、38cm以下、柴犬"を矩形213から抽出する。この部分トークン列aは、一つの部分トークン列b("日本、41cm以下、ボクサー")と局所対応する。また、これらの部分トークン列a及び部分トークン列bは、矩形213のトークン列を連続的に被覆する。このような場合、この部分トークン列a及び一つの部分トークン列bは、前述の条件1を満たす。
 以上において、条件1を満たした部分トークン列aは、"ビーグル、イギリス、38cm以下"(以下、部分トークン列a1)、及び、"イギリス、38cm以下、柴犬"(以下、部分トークン列a2)である。
 ここで、部分トークン列a1と部分トークン列a1の部分トークン列bとは、トークン"ビーグル"(列204b)からトークン"63cm以下"(列212b)までの部分トークン列を被覆する。しかし、部分トークン列a2と部分トークン列a2の部分トークン列bとは、トークン"イギリス"(列205b)からトークン"ボクサー"(列210b)までの部分トークン列しか被覆しない。
 このため、繰返し表現抽出プログラム1122は、部分トークン列a1"ビーグル、イギリス、38cm以下"は、部分トークン列a1とその部分トークン列bとが連続して被覆する範囲が矩形213において最も大きいと判定し、条件2に該当すると判定する。そして、繰返し表現抽出プログラム1122は、部分トークン列a1が繰返し表現における行であると判定し、部分トークン列a1と、部分トークン列a1の複数の部分トークン列b("柴犬、日本、41cm以下"、"ボクサー、ドイツ、63cm以下")とを、繰返し表現における行として特定する。
 以上によって、繰返し表現における行の特定が終了した後、繰返し表現抽出プログラム1122は、S144において、特定された行に含まれるトークンを含まれる順にまとめることによって、行に含まれるトークンを項目(列)ごとにまとめる。例えば、繰返し表現抽出プログラム1122は、部分トークン列a1と、部分トークン列a1の複数の部分トークン列bとを、列1("ビーグル"、"柴犬"、"ボクサー")、列2("イギリス"、"日本"、"ドイツ")、及び、列3("38cm以下"、"41cm以下"、"63cm以下")にまとめる。そして、繰返し表現抽出プログラム1122は、まとめた結果を出力した後、図5に示す処理を終了する。
 図5に示す処理によって、繰返し表現抽出プログラム1122は、図2に示す繰返し表現1131における列1~列3を抽出できる。そして、下位語決定プログラム1123は、列1~列3から下位語の項目を決定する(処理153及びS15に対応)。
 なお、S143における前述の処理は、図2の繰返し表現1131のように、上位下位関係が上位語及び下位語の1階層のみのテーブルに対する処理である。しかし、S143における処理は、木構造のような、多階層の繰返し表現にも適用することができる。
 図7は、本実施例の多階層の繰返し表現を含むテキスト113の例を示す説明図である。
 図7に示すテキスト113は、インデントされた箇条書きによって繰返し構造を含む。
 HTMLにおけるテーブルのような繰返し表現と図7に示すテキスト113における繰返し表現との相違点は、図7に示すテキスト113が下位語に対応する下位語をさらに含む点である。例えば、図7に示す"猟犬"及び"使役犬"は、上位語"犬"に対応する下位語であり、さらに、"ビーグル"、"柴犬"及び"シェパード"等の下位語に対応する上位語でもある。このため、図7に示すテキスト113における上位下位関係は、"犬"-"猟犬"-"ビーグル"のような多階層の関係である。
 なお、図7に示す書式は、HTML文書のような構造文書ではあるが、<TABLE>タグで繰返し表現が記載されない書式である。
 図7に示すテキスト113における、中間的な意味を示す言葉(最も上位の言葉にとって下位の言葉であり、最も下位の言葉にとって上位の言葉)の各々には、異なる数の下位語が対応してもよい。例えば、図7に示す"猟犬"には三つの下位語が対応し、図7に示す"使役犬"には二つの下位語が対応する。
 このようなテキストにおける繰返し表現は、例えば、Y.Zhai, B.Liu., Web Data Extraction Based on Partial Tree Alignment, WWW2005, 2005.のような従来技術によって開示された木構造で表現されるのが一般的であるが、このような木構造を精度良く抽出することは難しい。具体的には、従来技術を用いた場合、繰返しの要素を木構造で表現し、複数の木の各々を構造的に対応付けることで、繰返し表現を抽出する。しかし、このような繰返し表現は、木構造と意味とを取得しなければ正確に抽出することができず、木構造を抽出する処理だけでは精度よく抽出することができない。
 これに対し、本実施例の図5に示す処理を用いることによって、本実施例の上位下位関係抽出プログラム112は、多階層の上位下位関係についても精度よく抽出することができる。
 まず、図7に示すテキスト113にも、繰返し表現抽出プログラム1122は、S141及びS142を実行する。そして、繰返し表現抽出プログラム1122は、S143において、図7に示すテキスト113と算出された類似度とに基づいてマトリクス200を生成する。
 図7に示すテキスト113に基づいてマトリクス200を生成し、生成されたマトリクス200から局所対応を抽出した場合、繰返し表現抽出プログラム1122は、最も下位の下位語を含む繰返し表現(矩形213)を複数抽出する。具体的には、繰返し表現抽出プログラム1122は、トークン列"ビーグル、イギリス原産、体高38cm以下"、トークン列"柴犬、日本原産、体高41cm以下"、及び、トークン列"ダックスフント、ドイツ原産、体高15cm以下"を含む矩形213a、並びに、トークン列"シェパード、ドイツ原産、体高65cm以下"、及び、トークン列"ボクサー、ドイツ原産、体高63cm以下"を含む矩形213bの、二つの繰返し表現をマトリクス200から抽出する。
 矩形213aと矩形213bとの間には、トークン"使役犬"に対応する行及び列が含まれる。繰返し表現抽出プログラム1122は、S144において、矩形213a及び矩形213bの各々における行を、前述の条件1及び2を用いて特定する。
 一方、繰返し表現抽出プログラム1122は、マトリクス200から複数の繰返し表現を抽出したため、マトリクス200が多階層の段階的な繰返し表現を含むと判定し、抽出された複数の繰返し表現よりもさらに上位の繰返し表現をマトリクス200から抽出する。以下に、上位の繰返し表現を抽出する方法を記載する。
 ここで、繰返し表現抽出プログラム1122は、繰返し表現として抽出された矩形213a及び矩形213bに含まれるトークン列を、仮想的な一つのトークン(仮想トークン)に縮約する。例えば、繰返し表現抽出プログラム1122は、矩形213aに含まれる"ビーグル、・・・"、"柴犬、・・・"及び"ダックスフント、・・・"の三つの部分トークン列を、仮想トークン"ビーグル1"に縮約する。また、繰返し表現抽出プログラム1122は、矩形213bに含まれる"シェパード、・・・"、"ボクサー、・・・"の二つの部分トークン列を、仮想トークン"シェパード1"に縮約する。
 そして、繰返し表現抽出プログラム1122は、新たに得られた仮想トークンと、マトリクス200における他のトークンとの類似度を、仮想トークンに含まれる複数のトークンの各々と、マトリクス200における他のトークンとの類似度に基づいて算出する。
 例えば、繰返し表現抽出プログラム1122は、仮想トークンに含まれる複数のトークンの各々と、マトリクス200における他のトークンとの類似度の平均値を、仮想トークンと他のトークンとの類似度として算出してもよい。そして、繰返し表現抽出プログラム1122は、マトリクス200のトークン列を、縮約の結果得られたトークン列"猟犬、ビーグル1、使役犬、シェパード1"に変換する。
 繰返し表現抽出プログラム1122は、変換されたマトリクス200から、前述の局所対応を抽出する方法を用いて、繰返し表現を抽出する。この結果マトリクス200から抽出される繰返し表現は、トークン列"猟犬、ビーグル1、使役犬、シェパード1"である。抽出される繰返し表現は一つであり、これ以上上位の繰返し表現は抽出されないため、繰返し表現抽出プログラム1122は、トークン列"猟犬、ビーグル1、使役犬、シェパード1"の行を特定する。
 具体的には、繰返し表現抽出プログラム1122は、トークン列"猟犬、ビーグル1、使役犬、シェパード1"における行を、前述の条件1及び2を用いて特定する。この結果特定された行は、"猟犬、ビーグル1"、及び、"使役犬、シェパード1"である。
 以上によって特定された行を、繰返し表現抽出プログラム1122は、S144においてまとめる。まとめた結果は、"猟犬、使役犬"及び"ビーグル1、シェパード1"である。また、繰返し表現抽出プログラム1122は、"ビーグル1"(矩形213aに対応)、及び、"シェパード1"(矩形213bに対応)において特定された行に基づいて、さらに、トークンをまとめる。
 以上のように繰返し表現がマトリクス200から複数抽出されなくなるまで、繰返し表現の抽出、及び、トークンの縮約処理を行う。これによって、繰返し表現抽出プログラム1122は、多階層の繰返し表現を含むテキスト113からも上位下位関係を精度よく抽出することができる。
 なお、前述における処理は、繰返し表現は行方向に情報を有する、すなわち、繰返し表現は横書きであることが前提である。しかし、繰返し表現が列方向に情報を有する場合、すなわち、繰返し表現がテキスト113において縦書きである場合もある。この場合、繰返し表現抽出プログラム1122は、S143においてマトリクス200を参照し、抽出された繰返し表現が横書きであるか縦書きであるかを判定する。そして、判定の結果、縦書きである場合、マトリクス200の繰返し表現におけるトークン列の順番を横書きの順番に変換する。
 繰返し表現抽出プログラム1122は、同義語辞書115等を用いて、横書きであるか縦書きであるかを以下のように判定する。繰返し表現が横書きである場合、繰返し表現における列方向に同じカテゴリに属するトークンが含まれる。繰返し表現が縦書きである場合、繰返し表現における行方向に同じカテゴリに属するトークンが含まれる。よって、マトリクス200において、類似度が高いセルが行方向及び列方向に連続して発生する場合、繰返し表現抽出プログラム1122は、類似度が高いセルが連続して発生する箇所のトークンについて、縦にトークンが分割された結果となるように変換する。
 本実施例によれば、上位下位関係抽出装置100は、テキスト113に含まれる列挙表現を抽出することによって、上位語を抽出でき、さらに、抽出された上位語に対応する下位語を検索するための手がかりを取得することができる。
 また、これによって、本実施例の上位下位関係抽出装置100は、抽出された上位語に対応する下位語を含む繰返し表現を、高精度に抽出することが可能である。抽出される繰返し表現は、下位語を複数含む可能性が高いため、本実施例の上位下位関係抽出装置100は、上位下位関係を正確かつ高い網羅性により抽出することが可能となる。これは、例えば、"~とは、~である。"というような定型文のみを抽出することにより上位下位関係を抽出するよりも、多くの下位語を抽出することができる。
 さらに、本実施例の上位下位関係抽出装置100は、HTMLにより記述された繰返し表現のみならず、より一般的な文書からの上位下位関係の抽出が可能である。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
 また、上記の各構成、機能、プログラム、処理方法等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアによって実現してもよい。各機能を実現するプログラム、テーブル、及びファイル等の情報は、メモリ、ハードディスク若しくはSSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、若しくはDVD等の記録媒体に置くことができる。
 また、前述の上位下位関係抽出プログラム112は、三つのプログラム(列挙表現抽出プログラム1121、繰返し表現抽出プログラム1122、及び、下位語決定プログラム1123)を有した。しかし、これら三つのプログラムの機能は、一つのプログラムによって実装されてもよく、また、二つ又は四つ以上のプログラムによって実装されてもよい。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんどすべての構成が相互に接続されていると考えてよい。
 クエリに対して回答を出力するような計算機システムに利用できる。

Claims (10)

  1.  複数の文字列を含むテキストを処理するテキスト処理装置であって、
     プロセッサ及びメモリを有し、
     上位語に対応する下位語を列挙するために表現される列挙表現に関する列挙表現情報を、前記メモリに保持し、
     前記テキストから前記列挙表現が抽出されるか否かを、前記列挙表現情報に基づいて判定する列挙表現抽出部と、
     前記列挙表現が含まれるテキストから、一つのテーマに関する内容を繰り返して表現する少なくとも一つの繰返し表現を抽出する繰返し表現抽出部と、
     前記テキストに含まれる列挙表現が示す上位語に対応する下位語を、前記抽出された繰返し表現に含まれる文字列の中から決定する下位語決定部と、を有することを特徴とするテキスト処理装置。
  2.  請求項1に記載のテキスト処理装置であって、
     前記列挙表現情報は、前記列挙表現のテンプレートを含み、
     前記列挙表現抽出部は、前記列挙表現情報が含むテンプレートと一致する文字列を前記テキストが含む場合、前記テキストに列挙表現が含まれると判定することを特徴とするテキスト処理装置。
  3.  請求項2に記載のテキスト処理装置であって、
     前記繰返し表現抽出部は、
     前記列挙表現が含まれるテキストの文字列を、複数のトークンに分割し、
     前記列挙表現が含まれるテキストにおける文字列の順番に従って、前記分割された複数のトークンを含むトークン列を生成し、
     前記トークン列に含まれる複数のトークン間の相互の類似度を算出し、
     前記算出された複数の類似度に基づいて前記トークン列における局所対応を抽出することによって、前記繰返し表現を前記テキストから抽出することを特徴とするテキスト処理装置。
  4.  請求項3に記載のテキスト処理装置であって、
     前記繰返し表現抽出部は、前記繰返し表現において繰り返される複数の単位を、前記算出された複数の類似度に基づいて抽出し、
     前記下位語決定部は、前記抽出された複数の単位の各々において、前記下位語を決定することを特徴とするテキスト処理装置。
  5.  請求項3又は4に記載のテキスト処理装置であって、
     前記繰返し表現抽出部は、
     前記テキストから複数の繰返し表現を抽出した場合、前記複数の繰返し表現の各々に含まれる前記複数のトークンの各々に算出された前記類似度に基づいて、前記複数の繰返し表現の各々の類似度を算出し、
     前記算出された複数の繰返し表現の各々の類似度と、前記算出された複数のトークン間の相互の類似度と、に基づいて前記トークン列における局所対応を抽出することによって、前記抽出された繰返し表現より上位の繰返し表現を、前記テキストから抽出することを特徴とするテキスト処理装置。
  6.  複数の文字列を含むテキストを処理するテキスト処理装置によるテキスト処理方法であって、
     前記テキスト処理装置は、
     プロセッサ及びメモリを有し、
     上位語に対応する下位語を列挙するために表現される列挙表現に関する列挙表現情報を、前記メモリに保持し、
     前記方法は、
     前記プロセッサが、前記テキストから前記列挙表現が抽出されるか否かを、前記列挙表現情報に基づいて判定する列挙表現抽出手順と、
     前記プロセッサが、前記列挙表現が含まれるテキストから、一つのテーマに関する内容を繰り返して表現する少なくとも一つの繰返し表現を抽出する繰返し表現抽出手順と、
     前記プロセッサが、前記テキストに含まれる列挙表現が示す上位語に対応する下位語を、前記抽出された繰返し表現に含まれる文字列の中から決定する下位語決定手順と、を含むことを特徴とするテキスト処理方法。
  7.  請求項6に記載のテキスト処理方法であって、
     前記列挙表現情報は、前記列挙表現のテンプレートを含み、
     前記列挙表現抽出手順は、前記プロセッサが、前記列挙表現情報が含むテンプレートと一致する文字列を前記テキストが含む場合、前記テキストに列挙表現が含まれると判定する手順を含むことを特徴とするテキスト処理方法。
  8.  請求項7に記載のテキスト処理方法であって、
     前記繰返し表現抽出手順は、
     前記プロセッサが、前記列挙表現が含まれるテキストの文字列を、複数のトークンに分割する手順と、
     前記プロセッサが、前記列挙表現が含まれるテキストにおける文字列の順番に従って、前記分割された複数のトークンを含むトークン列を生成する手順と、
     前記プロセッサが、前記トークン列に含まれる複数のトークン間の相互の類似度を算出する手順と、
     前記プロセッサが、前記算出された複数の類似度に基づいて前記トークン列における局所対応を抽出することによって、前記繰返し表現を前記テキストから抽出する手順と、を含むことを特徴とするテキスト処理方法。
  9.  請求項8に記載のテキスト処理方法であって、
     前記繰返し表現抽出手順は、前記プロセッサが、前記繰返し表現において繰り返される複数の単位を、前記算出された複数の類似度に基づいて抽出する手順を含み、
     前記下位語決定手順は、前記プロセッサが、前記抽出された複数の単位の各々において、前記下位語を決定する手順を含むことを特徴とするテキスト処理方法。
  10.  請求項8又は9に記載のテキスト処理方法であって、
     前記繰返し表現抽出手順は、
     前記プロセッサが、前記テキストから複数の繰返し表現を抽出した場合、前記複数の繰返し表現の各々に含まれる前記複数のトークンの各々に算出された前記類似度に基づいて、前記複数の繰返し表現の各々の類似度を算出する手順と、
     前記プロセッサが、前記算出された複数の繰返し表現の各々の類似度と、前記算出された複数のトークン間の相互の類似度と、に基づいて前記トークン列における局所対応を抽出することによって、前記抽出された繰返し表現より上位の繰返し表現を、前記テキストから抽出する手順とを含むことを特徴とするテキスト処理方法。
PCT/JP2013/064340 2013-05-23 2013-05-23 テキスト処理装置、及び、テキスト処理方法 WO2014188555A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/064340 WO2014188555A1 (ja) 2013-05-23 2013-05-23 テキスト処理装置、及び、テキスト処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/064340 WO2014188555A1 (ja) 2013-05-23 2013-05-23 テキスト処理装置、及び、テキスト処理方法

Publications (1)

Publication Number Publication Date
WO2014188555A1 true WO2014188555A1 (ja) 2014-11-27

Family

ID=51933139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/064340 WO2014188555A1 (ja) 2013-05-23 2013-05-23 テキスト処理装置、及び、テキスト処理方法

Country Status (1)

Country Link
WO (1) WO2014188555A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204221A (ja) * 2018-05-22 2019-11-28 日本電信電話株式会社 検索ワードサジェスト装置、固有表現情報の作成方法、および、固有表現情報の作成プログラム
WO2021053511A1 (en) * 2019-09-18 2021-03-25 International Business Machines Corporation Hypernym detection using strict partial order networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213158A (ja) * 2002-12-27 2004-07-29 Hiroshima Pref Gov 情報加工用自動検索サーバ、並びに自動情報加工システム及び自動情報加工プログラム
JP2010272006A (ja) * 2009-05-22 2010-12-02 Nec Corp 関係抽出装置、関係抽出方法、及びプログラム
WO2011105113A1 (ja) * 2010-02-26 2011-09-01 独立行政法人情報通信研究機構 関係情報拡張装置、関係情報拡張方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213158A (ja) * 2002-12-27 2004-07-29 Hiroshima Pref Gov 情報加工用自動検索サーバ、並びに自動情報加工システム及び自動情報加工プログラム
JP2010272006A (ja) * 2009-05-22 2010-12-02 Nec Corp 関係抽出装置、関係抽出方法、及びプログラム
WO2011105113A1 (ja) * 2010-02-26 2011-09-01 独立行政法人情報通信研究機構 関係情報拡張装置、関係情報拡張方法、及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204221A (ja) * 2018-05-22 2019-11-28 日本電信電話株式会社 検索ワードサジェスト装置、固有表現情報の作成方法、および、固有表現情報の作成プログラム
WO2019225560A1 (ja) * 2018-05-22 2019-11-28 日本電信電話株式会社 検索ワードサジェスト装置、固有表現情報の作成方法、および、固有表現情報の作成プログラム
WO2021053511A1 (en) * 2019-09-18 2021-03-25 International Business Machines Corporation Hypernym detection using strict partial order networks
US11068665B2 (en) 2019-09-18 2021-07-20 International Business Machines Corporation Hypernym detection using strict partial order networks
GB2602762A (en) * 2019-09-18 2022-07-13 Ibm Hypernym detection using strict partial order networks

Similar Documents

Publication Publication Date Title
Vijaymeena et al. A survey on similarity measures in text mining
JP5356197B2 (ja) 単語意味関係抽出装置
EP3016002A1 (en) Non-factoid question-and-answer system and method
US10878233B2 (en) Analyzing technical documents against known art
US9483460B2 (en) Automated formation of specialized dictionaries
JP5544602B2 (ja) 単語意味関係抽出装置及び単語意味関係抽出方法
US10002188B2 (en) Automatic prioritization of natural language text information
Sawalha et al. SALMA: standard Arabic language morphological analysis
JP6462970B1 (ja) 分類装置、分類方法、生成方法、分類プログラム及び生成プログラム
US20210049169A1 (en) Systems and methods for text based knowledge mining
US9262400B2 (en) Non-transitory computer readable medium and information processing apparatus and method for classifying multilingual documents
Eder et al. An open stylometric system based on multilevel text analysis
Sameen et al. Measuring short text reuse for the Urdu language
Selamat et al. Word-length algorithm for language identification of under-resourced languages
Weerasinghe et al. Feature Vector Difference based Authorship Verification for Open-World Settings.
WO2016067396A1 (ja) 文の並び替え方法および計算機
WO2019163642A1 (ja) 要約評価装置、方法、プログラム、及び記憶媒体
Khan et al. A clustering framework for lexical normalization of Roman Urdu
WO2014188555A1 (ja) テキスト処理装置、及び、テキスト処理方法
CN114969385B (zh) 基于文档属性赋值实体权重的知识图谱优化方法及装置
JP2009277099A (ja) 類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
JP2007164635A (ja) 同義語彙獲得方法及び装置及びプログラム
Yahya et al. Arabic text categorization based on Arabic Wikipedia
JP2017021523A (ja) 用語意味コード判定装置、方法、及びプログラム
US20210073258A1 (en) Information processing apparatus and non-transitory computer readable medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13885443

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13885443

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP