WO2018135023A1 - 情報処理システム、情報処理方法、およびコンピュータプログラム - Google Patents
情報処理システム、情報処理方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- WO2018135023A1 WO2018135023A1 PCT/JP2017/028632 JP2017028632W WO2018135023A1 WO 2018135023 A1 WO2018135023 A1 WO 2018135023A1 JP 2017028632 W JP2017028632 W JP 2017028632W WO 2018135023 A1 WO2018135023 A1 WO 2018135023A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- word
- dictionary
- subject
- character string
- subject word
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
Definitions
- the present invention relates to data processing technology, and more particularly to an information processing system, an information processing method, and a computer program.
- search index data may be created.
- the present invention has been made in view of the above problems, and a main object thereof is to provide a technique for supporting the realization of a suitable dictionary for natural language processing such as morphological analysis.
- an information processing system is a dictionary used in natural language processing by a computer, and stores a subject word that is a single word that has meaning. Extracted by a dictionary storage unit to be stored, a phrase extraction unit that extracts a plurality of phrases from a character string of the first document, with at least a remaining character string excluding a subject word stored in the dictionary as a phrase, and a phrase extraction unit When the same character string exists at the beginning of a predetermined number or more of the plurality of phrases, the subject word extraction unit that extracts the same character string as a subject word and the subject word extraction unit A dictionary updating unit for storing the subject word in the dictionary.
- This method is a dictionary used in natural language processing by a computer, in which an information processing apparatus that stores a dictionary that stores a subject word that is a word that has a meaning alone is obtained from a character string of a first document, A phrase extraction step for extracting a plurality of phrases using at least the remaining character string excluding the subject word stored in the dictionary as a phrase, and a leading portion of a predetermined number or more of the plurality of phrases extracted in the phrase extraction step If there is an identical character string, a subject word extraction step for extracting the same character string as a subject word and a step of storing the subject word extracted in the subject word extraction step in a dictionary are executed.
- FIG. 4A, FIG. 4B, and FIG. 4C are diagrams showing examples of phrase division. It is a figure which shows the example of the several 2nd phrase output from the phrase division part. It is a figure which shows the example of a subject word dictionary. It is a figure which shows the example of an accompanying word dictionary. It is a block diagram which shows the function structure of the natural language processing apparatus of FIG. It is a figure which shows the example of a candidate entry. It is a figure which shows the example of the character string of word extraction process target. It is a flowchart which shows operation
- the information processing system of the embodiment supports natural language processing, for example, morpheme analysis, for patent documents described in various languages.
- the dictionaries used in natural language processing by computers are required to have no missing words, that is, completeness is required.
- many technical terms are described in patent literature, and a dictionary created manually is sufficient. It is difficult to provide complete coverage.
- a first technique for automatically creating a dictionary with high completeness by eliminating human involvement in the process of creating a dictionary for natural language processing based on a large number of patent documents is proposed.
- the embodiment proposes a second technique for extracting words from a patent document with high accuracy as natural language processing using a dictionary automatically created by the first technique.
- FIG. 1 shows a configuration of an information processing system 10 of the embodiment.
- the information processing system 10 includes a patent document DB 12, a dictionary creation device 14, and a natural language processing device 16. 1 are connected via a communication network 18 including a LAN, a WAN, and the Internet.
- the patent document DB 12 is a database server that holds data of a plurality of patent documents, for example, data of a large number of patent documents that have been published.
- the dictionary creation device 14 is an information processing device that creates a dictionary (hereinafter also referred to as “morpheme dictionary”) used in the morphological analysis processing by the natural language processing device 16, and may be a PC / server, for example.
- the natural language processing device 16 uses the morpheme dictionary created by the dictionary creation device 14 to execute a morpheme analysis process on the patent document data held in the patent document DB 12. Specifically, the natural language processing device 16 extracts words from each patent document data, and transmits extracted word data including a list of words extracted from each patent document to a predetermined external device (not shown).
- the device that is the transmission destination of the extracted word data may be a device that creates index data for patent search based on the extracted word data of each patent document.
- the apparatus which provides a patent search service to a user terminal not shown using the index data may be sufficient.
- the natural language processing device 16 may further include an index data creation function and / or a patent search service providing function, and may be implemented as a patent search device, for example.
- each device shown in FIG. there is no limit to the physical number of each device shown in FIG.
- the functions of the dictionary creation device 14 according to the embodiment may be executed by a plurality of devices in a distributed manner.
- the functions of the dictionary creation device 14 may be executed by a plurality of devices in a distributed manner.
- one information processing apparatus may collectively provide both the function of the dictionary creation apparatus 14 and the function of the natural language processing apparatus 16 of the embodiment.
- FIG. 2 is a block diagram showing a functional configuration of the dictionary creation device 14 of FIG.
- the dictionary creation device 14 includes a control unit 20, a storage unit 22, and a communication unit 24.
- the control unit 20 executes various data processes for creating a morpheme dictionary.
- the storage unit 22 is a data storage area that is updated or referred to by the control unit 20.
- the communication unit 24 communicates with an external device according to a predetermined communication protocol.
- the control unit 20 exchanges data with the patent document DB 12 and the natural language processing device 16 via the communication unit 24.
- Each block shown in the block diagram of the present specification can be realized in terms of hardware by an element such as a CPU and a memory of a computer or a mechanical device, and in terms of software, it can be realized by a computer program or the like.
- a computer program including modules corresponding to each block in the control unit 20 may be installed in the storage of the dictionary creation device 14 via a predetermined recording medium or network. Then, the CPU of the dictionary creation device 14 may exhibit functions corresponding to each block in the control unit 20 by appropriately reading and executing the computer program from the storage to the main memory.
- the storage unit 22 includes a dictionary storage unit 26.
- the dictionary storage unit 26 stores a subject word dictionary and an accompanying word dictionary as two types of morpheme dictionaries.
- the subject word dictionary stores words (hereinafter also referred to as “subject words”) whose meaning is established alone.
- the subject word is typically an independent word (noun, verb, adjective, etc.) and includes, for example, character strings such as “canteen”, “patent”, and “state”.
- the subject word in the embodiment is limited to two or more characters.
- the accompanying word dictionary stores words used in association with the subject word (hereinafter also referred to as “accompanying words”).
- the accompanying word is typically an attached word (particle, auxiliary verb).
- the accompanying words include “no”, “ha”, “is”, “department” of “development department”, “meeting” of “social gathering”, “no” of “your”.
- the accompanying word may be a word in which a phrase is established only when combined with the subject word. Further, the accompanying word may be a word whose meaning is not established until it is combined with the subject word (in other words, the meaning is fixed).
- the control unit 20 includes a phrase reading unit 28, a phrase dividing unit 30, a subject word extracting unit 32, a dictionary updating unit 34, an accompanying word extracting unit 36, and a dictionary output unit 38.
- the phrase reading unit 28 and the phrase dividing unit 30 function as a phrase extracting unit in cooperation with each other, and from the character strings described in the patent document, at least the remaining character strings excluding the subject words stored in the subject word dictionary Are identified as phrases and multiple phrases are extracted.
- the phrase reading unit 28 reads a character string described in each patent document from a plurality of patent documents stored in the patent document DB 12. Phrase reading unit 28 extracts a character string from a processing target position in the character string (for example, the first character in the initial state) to a predetermined delimiter (such as a punctuation mark, a punctuation mark, a period, or a comma) as a first phrase. And the process of advancing the processing target position by the amount of the extracted phrase.
- a predetermined delimiter such as a punctuation mark, a punctuation mark, a period, or a comma
- the phrase dividing unit 30 extracts a plurality of second phrases obtained by dividing the first phrase from the first phrases extracted by the phrase reading unit 28 with reference to the subject word dictionary and the accompanying word dictionary.
- the phrase dividing unit 30 identifies at least the remaining character string excluding the subject words stored in the subject word dictionary as the second phrase, and extracts a plurality of second phrases.
- the phrase dividing unit 30 outputs both the phrase indicating the subject word stored in the subject word dictionary and the remaining character string excluding the subject word as the second phrase.
- the processing of the phrase dividing unit 30 will be described with reference to FIG.
- One box in FIG. 3 indicates one character.
- X is a certain character
- b is each character of the subject word stored in the subject word dictionary
- C is a character of the accompanying word stored in the accompanying word dictionary.
- Ps is a set of information indicating a position where it should be determined whether or not it is a subject word.
- the element of Ps (that is, information indicating the position) may be information indicating the number of bytes in the entire document, or information indicating the distance from the beginning of the first phrase (character unit, byte unit, etc.).
- Ps ⁇ P0, P1 ⁇ .
- the phrase dividing unit 30 searches for the next word from the minimum position of Ps (P0 in FIG. 3). In FIG. 3, the subject word “bbbb” is found. (3) The phrase dividing unit 30 outputs a character string (“XX” in FIG. 3) from P0 to the found subject word as a phrase, and outputs the found subject word “bbbb” as a phrase. In the example of FIG. 3, “XX” corresponds to a character string obtained by excluding the subject word from the first phrase.
- FIG. 4A shows the first phrase that is the original data before division.
- the phrase dividing unit 30 recognizes “Japan” and “Promotion” as subject words because they exist in the subject word dictionary, and outputs them as second phrases. Also, the phrase dividing unit 30 searches from the position of “word”, and since the start of the subject word immediately after is “shake”, the character string from “word” to “previous”, that is, “word” is searched. Output as the second phrase.
- FIG. 4C shows five second phrases output from the phrase dividing unit 30.
- the phrase dividing unit 30 performs the above process on all detected words. In this case, a plurality of second phrases including a second phrase partially overlapping are extracted.
- the subject word extraction unit 32 determines that the same character Extract columns as candidates for subject words. Specifically, the subject word extraction unit 32 arranges the plurality of second phrases output from the phrase division unit 30 in the order of the character codes. The subject word extraction unit 32 outputs the leading character string as a subject word candidate when the leading character string is common across the plurality of second phrases. In other words, when two or more identical character code values continue from the beginning of each of the plurality of second phrases, the character string indicated by the same character code value is set as a candidate for the subject word.
- FIG. 5 shows an example of a plurality of second phrases output from the phrase divider 30.
- all of “Japan”, “Nihon University”, and “Japanese cuisine” repeatedly appear at the beginning of phrases that are equal to or greater than a predetermined threshold value (5 in the embodiment).
- the subject word extraction unit 32 extracts “Japan”, “Nihon University”, and “Japanese cuisine” as candidates for subject words.
- the threshold value may be set to an appropriate value based on the knowledge of the system developer, an experiment using the information processing system 10, or the like. For example, the threshold value may be reduced when the completeness of the subject word is strongly determined, and the threshold value may be increased when a certain degree of accuracy is required together with the completeness.
- the phrase dividing unit 30 or the subject word extracting unit 32 may permanently store information indicating a plurality of second phrases (herein referred to as “extracted phrase list”) in the storage unit 22.
- the extracted phrase list may store a plurality of dictionary creation timings and second phrases extracted over a plurality of patent documents.
- the subject word extracting unit 32 adds the second phrase output from the phrase dividing unit 30 to the extracted phrase list, and then the same as the head part of a predetermined number or more of the second phrases recorded in the extracted phrase list If the character string exists, the same character string may be extracted as a candidate for the subject word.
- the subject word can be extracted with higher accuracy based on the plurality of dictionary creation timings and the second phrase extracted over the plurality of patent documents.
- the phrase dividing unit 30 may suppress the extraction of the subject word stored in the subject word dictionary as the second phrase from the first phrase.
- the subject word extraction unit 32 also selects a second phrase indicating the subject word stored in the subject word dictionary from a plurality of second phrases output from the phrase division unit 30 from the subject of the subject word extraction process. It may be excluded.
- the dictionary update unit 34 stores the subject word extracted by the subject word extraction unit 32 in the subject word dictionary of the dictionary storage unit 26.
- the dictionary updating unit 34 determines this candidate as a subject word if a part including the head in one subject word candidate extracted by the subject word extracting unit 32 does not hold as another subject word. Register in the subject language dictionary.
- the dictionary updating unit 34 stores the first character string in the subject word dictionary. , Storing the second character string in the subject word dictionary is suppressed.
- the dictionary updating unit 34 selects a subject word dictionary for candidates composed of a combination of a plurality of subject words (hereinafter also referred to as “compound words”) among the subject word candidates extracted by the subject word extracting unit 32. Suppresses storing in As described above, in order to improve the completeness of the search, relatively short subject words are preferentially stored in the subject word dictionary of the embodiment.
- the dictionary updating unit 34 stores “Japan” in the subject language dictionary, while “Japanese cuisine” is stored in the subject language dictionary. Discard without storing, in other words ignore. It should be noted that “dish” can be expected to be separately registered in the subject language dictionary. If “Japanese cuisine” is already stored in the subject word dictionary and “Japan” is newly extracted as a candidate for the subject word, the dictionary updating unit 34 stores “Japan” in the subject word dictionary and “Japanese cuisine” may be deleted from the subject language dictionary. In this case, for the number of appearances described later, the number of appearances of “Japanese cuisine” may be taken over as the number of appearances of “Japan”.
- FIG. 6 shows an example of a subject word dictionary.
- the dictionary update unit 34 newly stores candidates that are not stored in the subject word dictionary (that is, new subject word candidates) among the subject word candidates, and sets 1 as the number of appearances.
- the dictionary updating unit 34 suppresses the redundant storage of the candidates stored in the subject word dictionary (that is, the subject words detected in the past) among the candidate candidates, Increment the number of appearances of the subject word.
- an index value of the appearance frequency based on the number of appearances may be recorded.
- the accompanying word extraction unit 36 has a character count equal to or less than a predetermined threshold among the remaining character strings obtained by excluding subject words stored in the subject word dictionary from character strings read from a plurality of patent documents.
- a character string is extracted as a candidate for an accompanying word.
- the accompanying word extraction unit 36 selects a character string having a length equal to or less than a predetermined threshold among character strings sandwiched between two subject words in a character string read from a plurality of patent documents. Extract as Further, if the length of the partial character string after the last subject word in the character string is equal to or less than a predetermined threshold, the accompanying word extraction unit 36 extracts the partial character string as a candidate for the accompanying word.
- the threshold value in the embodiment is “2”.
- the character string read from the patent document may be the first phrase read by the phrase reading unit 28.
- the accompanying word extraction unit 36 determines a character string having the number of extractions as a candidate as a candidate among the extracted accompanying word candidates as an accompanying word. Specifically, the accompanying word extraction unit 36 maintains a table in which a plurality of candidate associated words and the number of extractions of each candidate are associated with each other, and each time an associated word candidate is extracted, the associated word extraction unit 36 associates with the candidate. Increment the number of extractions. The number of extractions can be said to be a value indicating the number of appearances or the appearance frequency of the accompanying word candidates over a plurality of documents. The accompanying word extraction unit 36 determines that the candidate having the highest extraction frequency of 5% is the accompanying word. Note that the timing for determining the accompanying word may be the time when the subject word extraction process or the subject word dictionary update process for one or more patent documents is completed.
- the accompanying word determination threshold may be set to appropriate values based on the knowledge of the system developer, experiments using the information processing system 10, or the like. For example, when the comprehensiveness of accompanying words is strongly determined, the accompanying word determination threshold may be increased (for example, the top 10%), and when a certain degree of accuracy is required together with the coverage, the accompanying word determination threshold is decreased (for example, the top 3 %).
- the dictionary updating unit 34 stores the candidate character string determined as the accompanying word by the accompanying word extracting unit 36 in the accompanying word dictionary.
- FIG. 7 shows an example of an accompanying word dictionary.
- the dictionary updating unit 34 newly stores candidates that are not stored in the associated word dictionary (that is, new associated word candidates) among the associated word candidates, and sets 1 as the number of appearances.
- the dictionary update unit 34 suppresses redundantly storing the candidates already stored in the accompanying word dictionary among the accompanying word candidates (that is, the accompanying words detected in the past) in the accompanying word dictionary. Increment the number of appearances of the associated word.
- the dictionary output unit 38 outputs at least updated dictionary data to a predetermined external device when at least one of the subject word dictionary and the accompanying word dictionary is updated by the dictionary update unit 34.
- the updated latest dictionary data is transmitted to the natural language processing device 16, but as a modification, the latest subject word dictionary and associated word dictionary may be output to other types of servers and storages.
- FIG. 8 is a block diagram showing a functional configuration of the natural language processing device 16 of FIG.
- the natural language processing device 16 includes a control unit 20 of the dictionary creation device 14, a storage unit 22, a control unit 40 corresponding to the communication unit 24, a storage unit 42, and a communication unit 44.
- the control unit 40 exchanges data with the patent document DB 12 and the dictionary creation device 14 via the communication unit 44.
- the storage unit 42 includes a dictionary storage unit 46 and an analysis result storage unit 48.
- the dictionary storage unit 46 corresponds to the dictionary storage unit 26 of the dictionary creation device 14 and holds a subject word dictionary and an accompanying word dictionary created by the dictionary creation device 14.
- the analysis result storage unit 48 holds data indicating the result of natural language processing performed by the control unit 40. Specifically, extracted word data for each patent document including a list of words extracted from each of a plurality of patent documents is held.
- the control unit 40 includes a document reading unit 50, a score setting unit 52, a word extraction unit 54, and an analysis result providing unit 56.
- the document reading unit 50 reads a character string described in the document from a document to be subjected to natural language processing (patent document stored in the patent document DB 12 in the embodiment). For example, a character string may be read in units of sentences with a period or period as a delimiter, and may be read in units of phrases similarly to the phrase reading unit 28.
- the score setting unit 52 specifies a subject word starting from each character in the character string read by the document reading unit 50 with reference to the subject word dictionary in the dictionary storage unit 46.
- the score setting unit 52 assigns a score corresponding to the attribute of each subject word to each subject word starting from each character according to the subject word dictionary, the accompanying word dictionary, and a predetermined score assignment criterion.
- the scoring standard of the embodiment is intended to extract a natural word from the viewpoint of humans, and is a combination of the following three standards. As a modification, any one criterion or two criteria may be used.
- the score of the subject word having a relatively large number of appearances associated with the subject word dictionary is set to be higher than the score of the subject word having a relatively small number of appearances. Enlarge. You may adjust so that a subject word with many appearance frequency may become a big score. This is because a subject word having a large number of appearances is used in many documents and is considered appropriate as an extraction target.
- the score setting unit 52 of the embodiment creates one candidate entry for each character in the character string read by the document reading unit 50.
- FIG. 9 shows an example of a candidate entry.
- the position “e0” in the figure indicates the processing target position (in other words, the current processing position) in the read character string.
- “E0 + n” (n is a positive integer) in the figure indicates the distance (for example, the number of characters) from the processing target position.
- the score setting unit 52 specifies a subject word (hereinafter referred to as “word candidate”) starting from each character, and sets the number of characters of each word candidate in the candidate entry.
- the score setting unit 52 sets the score calculated for each word candidate in the candidate entry.
- the score setting unit 52 decreases the score element (P) of the word candidate as the number of accompanying words included in each word candidate increases according to the above criterion 1. Furthermore, the score setting unit 52 further reduces the score element (P) when the first character of the word candidate corresponds to the accompanying word.
- the calculation formula of the score element (P) is shown below.
- “W” in Equation 1 is a word candidate character string.
- “L” in Equation 1 and Equation 2 is a set of all accompanying words.
- “C” in Expression 1 is a function for acquiring the number of appearances of the letters a and b as accompanying words from the accompanying word dictionary. Therefore, “C (a)” and “C (b)” are the numbers of appearances of the letters a and b as the accompanying words, respectively.
- “P0” in Expression 2 is a special penalty value when the first character (W0) of the word candidate is the accompanying word (L), and is set in the range of 0 ⁇ P0 ⁇ 1.
- ⁇ in Equation 1 is a constant. The fraction in Equation 1 is evaluated for each accompanying word in the word candidate.
- the score element (P) is a value reflecting a penalty based on the inclusion of the accompanying word.
- the score setting unit 52 determines the score (Q) of the word candidate based on P (W) of the word candidate obtained by Expression 1, the number of characters (r) of the word candidate, and the number of appearances of the word candidate (t). To do.
- the formula for calculating the score (Q) is shown below.
- the function f in Equation 3 is positively correlated with three parameters, ie, word candidate P (W), word candidate character count (r), word candidate appearance count (t), and word candidate score (Q). In this way, the score (Q) of the word candidate is determined.
- the score setting unit 52 increases the word candidate P (W), increases the word candidate character count (r), and increases the word candidate appearance count (t).
- a candidate's score (Q) is largely calculated.
- the word extraction unit 54 refers to the score of each word candidate set by the score setting unit 52, the score given to the first word candidate starting from the processing target position in the character string, and the first word candidate The first word candidate is extracted as a word according to the magnitude relationship with the score given to the second word candidate starting from the second character onward.
- the word extraction unit 54 of the embodiment also uses the score given to the third word candidate starting from the character immediately after the first word candidate as the comparison target of the magnitude relationship.
- the word extraction unit 54 identifies a score assigned to a word candidate (referred to herein as a “current candidate”) starting from a processing target position in the character string as a “current candidate score”.
- the word extraction unit 54 identifies a score given to a word candidate (referred to as “next candidate” here) starting from a character immediately after the current candidate in the character string as a “next candidate score”.
- a score given to a word candidate hereinafter referred to as “intermediate candidate” starting from the second character in the current candidate is identified as an “intermediate candidate score” ( ⁇ ).
- the word extracting unit 54 Since the current candidate score and the next candidate score are calculated by the score setting unit 52, the word extracting unit 54 newly calculates the intermediate candidate score ⁇ .
- the calculation formula of the intermediate candidate score ⁇ is shown below.
- Equation 4 e0 is a candidate entry for the processing target position (that is, the current candidate), and
- T is all candidate entries after the current candidate.
- S separates T into a plurality of words from (processing target position + 1) to (processing target position +
- the function S of Expression 4 can be said to be a function that provides an intermediate candidate score when the word at the processing target position (that is, e0) is not extracted.
- the word extraction unit 54 recognizes that the character at the processing target position does not constitute the subject word, discards one character at the processing target position, and advances the processing target position by one. If the current candidate score is 0, the character at the processing target position may be recognized as a word (for example, an accompanying word), and one character at the processing target position may be extracted as a word.
- the word extraction unit 54 calculates ⁇ according to Equation 4 when the current candidate score is greater than zero. When ⁇ ⁇ current candidate score or ⁇ ⁇ next candidate score is satisfied, the word extraction unit 54 extracts a word starting from the processing target position (that is, the current candidate), and advances the processing target position by the number of characters of the current candidate. On the other hand, when ⁇ > current candidate score and ⁇ > next candidate score are satisfied, the word extraction unit 54 discards one character of the processing target position and advances the processing target position by one. This is because the score is higher when a word starting from a character in the middle of the current candidate is extracted.
- FIG. 10 shows an example of a character string subject to word extraction processing. This figure corresponds to FIG. 9 and the processing target position is indicated by e0.
- the word extraction unit 54 identifies the score “15” of the candidate entry of e0 in FIG. 9 as the current candidate score, and the score “11” of the candidate entry of e0 + 5 in FIG. 9 (because the number of characters of the word candidate of e0 is 5). Is identified as the next candidate score.
- the combined value “18” of the score “8” of the candidate entry e0 + 1 in FIG. 9 and the score “10” of the candidate entry e0 + 3 in FIG. 9 is identified as the intermediate candidate score ( ⁇ ).
- the word extraction unit 54 discards the character “new” at the processing target position and advances the processing target position by one.
- the word extraction unit 54 adds the intermediate candidate starting from the third character of the current candidate, the sum of the scores of words starting immediately after the intermediate candidate, the intermediate candidate starting from the fourth character of the current candidate, The total score of words starting immediately after the intermediate candidate is also calculated. Then, as shown in Expression 4, the maximum value among the plural types of combined values is adopted as the value of ⁇ .
- the word extraction unit 54 records a plurality of words extracted from a character string read from a certain patent document in the extracted word data of the analysis result storage unit 48 in association with the patent document.
- the analysis result providing unit 56 is extracted word data stored in the analysis result storage unit 48, that is, data obtained by decomposing the character string of each patent document into words is determined in advance or on demand.
- the data is transmitted to an external device (for example, a patent document search device).
- FIG. 11 is a flowchart showing the operation of the dictionary creation device 14.
- the dictionary creating apparatus 14 executes the dictionary creating process shown in FIG. 11 when receiving an instruction from the user and / or periodically at a predetermined timing.
- the subject word dictionary and the accompanying word dictionary in the dictionary storage unit 26 are both empty. That is, in the initial state of the dictionary creation process, a dictionary in which subject words and accompanying words are predetermined is not necessary.
- the phrase reading unit 28 of the dictionary creation device 14 acquires a plurality of patent documents from the patent document DB 12, and reads the first phrase from each patent document (S10).
- the phrase dividing unit 30 divides the character string indicated by the first phrase into a character string indicating the subject word stored in the subject word dictionary of the dictionary storage unit 26 and a character string excluding the subject word.
- a plurality of second phrases are extracted (S12). If the subject word is not detected in the first phrase, such as when the subject word dictionary is empty, the phrase dividing unit 30 outputs the first phrase as it is as the second phrase.
- the subject word extraction unit 32 converts the leading character string into Extracted as candidates for subject words (S16).
- the dictionary updating unit 34 selects candidates that are candidates for the subject words extracted by the subject word extracting unit 32 from which compound words are excluded and that indicate new subject words that are not stored in the subject word dictionary. Store in the dictionary (S18). At that time, the dictionary updating unit 34 also updates the number of appearances associated with each subject word. If there is no common character string starting from the top in the predetermined number of second phrases (N in S14), the processes in S16 and S18 are skipped.
- the incidental word extraction unit 36 refers to the subject word dictionary and includes a character string of two characters or less (that is, a character string that does not constitute the subject word) between two subject words in the first phrase (Y in S20). ), The character string is extracted as a candidate for the accompanying word, and the number of extractions of each candidate is added (S22). The accompanying word extraction unit 36 determines a candidate having a relatively higher number of extractions as an accompanying word among a plurality of accompanying word candidates.
- the dictionary updating unit 34 stores the candidate character string determined as the accompanying word by the accompanying word extracting unit 36 in the accompanying word dictionary (S24). If there is no character string of two characters or less between the two subject words in the first phrase (N in S20), the processes in S22 and S24 are skipped.
- the dictionary output unit 38 stores the dictionary.
- the subject word dictionary and the accompanying word dictionary stored in the unit 26 are transmitted to the natural language processing device 16 (S28).
- the accompanying word extraction process may be executed every time the subject word extraction process of each of the plurality of patent documents ends, or may be executed after the subject word extraction process of all patent documents ends.
- the dictionary output unit 38 may upload the subject word dictionary and the accompanying word dictionary to a predetermined server, and the natural language processing device 16 may download the subject word dictionary and the accompanying word dictionary from the server.
- FIG. 12 is a flowchart showing the operation of the natural language processing device 16.
- the natural language processing device 16 executes the natural language processing shown in FIG. 12 when receiving an instruction from the user and / or periodically at a predetermined timing.
- the natural language processing in the embodiment is processing for extracting words (particularly subject words) from character strings described in patent documents.
- the document reading unit 50 of the natural language processing device 16 receives the patent document DB12.
- a plurality of patent documents are obtained from the character strings, and character strings of the respective patent documents are read (S32).
- the score setting unit 52 specifies a subject word starting from each character in the read character string.
- the score setting unit 52 derives a score of each subject word starting from each character according to a predetermined scoring criterion, and creates a plurality of candidate entries corresponding to the plurality of characters (S34).
- the word extraction unit 54 compares the scores of the candidate entries, extracts words from the character string of the patent document based on the result, and updates the extracted word data in the analysis result storage unit 48 (S36). If there remains a patent document in which the word extraction process has not been completed (N in S38), the process returns to S32.
- the analysis result providing unit 56 transmits the extracted word data in the analysis result storage unit 48 to the patent search device (S40).
- the patent search device updates index data for patent document search using the extracted word data provided from the natural language processing device 16, for example. If it is not the update timing of the search index data in the patent search device (N in S30), the subsequent processing is skipped and the flow of this figure is ended.
- the information processing system 10 of the embodiment it is possible to automatically extract a subject word and an accompanying word and automatically create a subject word dictionary and an accompanying word dictionary even if there is no data in which the subject word and the accompanying word are predetermined. it can.
- the first character string common to a plurality of phrases is automatically extracted as a subject word
- a short character string between subject words is automatically extracted as an accompanying word.
- an erroneously spelled character string is normally excluded from the dictionary.
- it if it is actually described in a document, it can be extracted as a subject word or an accompanying word, and a morphological dictionary with high completeness. Can provide.
- the subject word dictionary and the accompanying word dictionary can be updated quickly and efficiently.
- a score is assigned to each subject word starting from each character of the character string in the process of extracting the word from the character string of the document. Then, according to the magnitude relationship between the score of the first subject word starting from the processing target position and the score of the second subject word starting from the second character in the first subject word, the first subject word Decide whether to extract. This makes it easy to cut out words from an appropriate position. Furthermore, in the embodiment, the word can be extracted at a more appropriate position by including the score of the third subject word starting from the character immediately after the first subject word as a comparison target.
- a first modification will be described.
- the dictionary updating unit 34 of the dictionary creation device 14 receives a first character string (for example, “Japan”) and a second character string (for example, “Japanese food”) including the first character string.
- a first character string for example, “Japan”
- a second character string for example, “Japanese food”
- both the first character string and the second character string may be stored in the subject word dictionary.
- compound words are also recorded in the subject word dictionary.
- the natural language processing device 16 there may be a plurality of subject words (that is, current candidate e0) starting from a specific processing target position, such as “Japan” and “Japanese cuisine”.
- the score setting unit 52 of the natural language processing device 16 calculates a score for each of one or more subject words (for example, “Japan”, “Japanese cuisine”) starting from each character in the character string.
- D0 in Expression 5 is a set of one or more current candidates e0 existing at the beginning of T.
- the word extraction unit 54 calculates the maximum value of the function S by performing the same calculation as the expression 4 in the embodiment for each of one or more current candidates, and further calculates the maximum of the function S across one or more current candidates. Let the value be the intermediate candidate score ⁇ . For example, it is assumed that there are two current candidates (current candidate 1 and current candidate 2), and two next candidates (next candidate 1 and next candidate 2). When ⁇ > current candidate 1 score, ⁇ > next candidate 1 score, ⁇ > current candidate 2 score, and ⁇ > next candidate 2 score are satisfied, the word extraction unit 54 discards one character at the processing target position and sets the processing target. The position may be advanced by one. If the above condition is not satisfied and current candidate 1 score ⁇ current candidate 2 score, current candidate 1 is extracted as a word. If current candidate 1 score ⁇ current candidate 2 score, current candidate 2 is selected as a word. May be extracted as
- the subject word that is not a compound word is registered in the subject word dictionary as in the embodiment, and the completeness of the dictionary does not deteriorate.
- the phrase reading unit 28 of the dictionary creating device 14 identifies the character code classification (for example, Latin characters, CJK characters, Arabic characters, Russian characters, etc.) corresponding to the character code value of the character string read from the patent document as the target language. May be.
- the phrase reading unit 28 may identify the character code classification of the character string read from the patent document with reference to the UNICODE code table.
- the phrase reading unit 28 reads a continuous character string of the target language as a phrase, while ignoring characters (character code values) that do not correspond to the target language, You may replace it with characters that you don't have.
- the phrase reading unit 28 of the dictionary creation device 14 may allow a plurality of character code categories.
- the phrase reading unit 28 may read a character string spanning a plurality of character code sections as the first phrase.
- the phrase reading unit 28 belongs to the character string belonging to the first classification and the second classification when the character code classification changes from the first classification to the second classification in the middle of the character string of the patent document.
- the character string may be extracted as a different first phrase.
- the phrase dividing unit 30 divides the first phrase extracted by the phrase reading unit 28 based on a known subject word, and further, the character code classification is changed from the first classification in the middle of the first phrase.
- the character string belonging to the first category and the character string belonging to the second category may be extracted as different second phrases.
- search history for patent documents may be fed back to the dictionary.
- an index value hereinafter referred to as “search frequency value” indicating the frequency used for the search is recorded in association with each subject word.
- the dictionary creation device 14 periodically acquires data (hereinafter referred to as “search history”) indicating keywords or key phrases used for patent search from a patent search device (not shown), and searches the storage unit 22.
- search history acquisition unit to be stored in the history storage unit is further provided.
- the dictionary updating unit 34 of the dictionary creation device 14 refers to the search history stored in the search history storage unit and the subject word dictionary, identifies the subject words included in the search history, and searches each subject word in the search history. Specify the number of times.
- the dictionary update unit 34 derives a search frequency value of each subject word (or the number of searches itself) based on the number of searches of each subject word, and stores it in the subject word dictionary.
- a search frequency value may be stored together with the number of appearances of each subject word in the patent document of the patent document DB 12, or a search frequency value may be stored instead of the number of appearances.
- the score setting unit 52 of the natural language processing device 16 may use the search frequency value instead of the number of appearances of the embodiment when determining the score of the word starting from each character in the read character string.
- the search frequency value may be used together with the number of appearances of the embodiment. For example, the score setting unit 52 may adjust the score of a word having a relatively large search frequency value to be larger than the score of a word having a relatively small search frequency value.
- the dictionary creation device 14 acquires a wording history indicating the number of times or frequency of use of each word in the wording of the patent document from the natural language processing device 16, and the wording history storage unit of the storage unit 22.
- a wording history acquisition unit is further provided.
- the dictionary update unit 34 of the dictionary creation device 14 refers to the wording history stored in the wording history storage unit, and identifies the number of times or the frequency of use of each subject word in the wording history.
- the dictionary update unit 34 stores the use frequency or use frequency of each subject word in the subject word dictionary.
- the score setting unit 52 of the natural language processing device 16 determines the score of a word starting from each character in the read character string, instead of the number of appearances at the time of dictionary creation described in the embodiment, The number of uses or frequency of use may be used.
- the score setting unit 52 may adjust the score of a word having a relatively high use frequency value to be larger than the score of a word having a relatively low use frequency.
- the subject word dictionary and the accompanying word dictionary are empty, that is, the subject word and the accompanying word are not registered in advance.
- an existing dictionary for example, a subject word dictionary and an accompanying word dictionary created in advance by hand
- a manually created dictionary has high accuracy and accuracy of recorded words but low coverage.
- the dictionary update unit 34 of the dictionary creation device 14 adds the subject word automatically extracted by the subject word extraction unit 32 to the existing subject word dictionary, and adds the accompanying word automatically extracted by the accompanying word extraction unit 36 to the existing associated word. Add to dictionary.
- a dictionary excellent in both accuracy and completeness can be created, and the accuracy and completeness of natural language processing in the natural language processing device 16 can be further improved.
- a sixth modification will be described.
- the technology described in the embodiments can be applied to (1) tag cloud.
- it is a dictionary created by the dictionary creation device 14 based on a large number of documents, referring to a dictionary in which words (subject words and / or accompanying words) are associated with the number of appearances, An image expressed in a mode (shape, pattern, color, etc.) corresponding to the number of appearances can be generated.
- the technique described in the embodiment can be applied to (2) creating a report on word fluctuation.
- it is a dictionary created by the dictionary creation device 14 based on a large number of documents in a specific field, and refers to a dictionary in which words (subject words and / or accompanying words) are associated with the number of appearances, and a word is used for a certain period of time. By graphing fluctuations in the number of appearances, information indicating trends and changes in the specific field can be generated.
- the technique described in the embodiments can be applied to (3) creation of a national language dictionary.
- the dictionary creation device 14 can automatically generate a subject language dictionary and an accompanying word dictionary for each language based on documents written in each language.
- the subject word dictionary and the accompanying word dictionary are created based on the patent document, but the subject word dictionary and the accompanying word dictionary can be created based on documents of various types and various fields and document data.
- the dictionary creation device 14 extracts a subject word and an accompanying word from the document in the specific field, so that the document in the specific field.
- a subject word dictionary and an accompanying word dictionary suitable for natural language processing may be created.
- the present invention can be applied to a computer that performs natural language processing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
辞書作成装置14は、自然言語処理装置16による自然言語処理において使用される辞書であって、単体で意味が成立する単語である主体語が格納される辞書を記憶する。辞書作成装置14は、特許文献DB12に保持された特許文献の文字列から、少なくとも辞書に格納済の主体語を除外した残りの文字列を句として、複数の句を抽出する。辞書作成装置14は、抽出した複数の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語として抽出する。辞書作成装置14は、抽出した主体語を辞書へ格納する。
Description
本発明はデータ処理技術に関し、特に情報処理システム、情報処理方法、およびコンピュータプログラムに関する。
多数の文献の中からキーワードに合致する文献を効率的に検索するために、予め検索母集団の文献に対する形態素解析が実行され、検索用のインデックスデータが作成されることがある。
形態素解析には単語等が記録された解析用の辞書を予め用意する必要がある。この辞書には単語の漏れが少ないこと、すなわち網羅性が要求される。特に検索対象が特許文献等の技術文書の場合、専門用語が多く記述されることがあり、辞書の網羅性を人手により担保することは容易でなかった。
本発明は、上記課題に鑑みてなされたものであり、主な目的は、形態素解析等の自然言語処理のための好適な辞書の実現を支援する技術を提供することにある。
上記課題を解決するために、本発明のある態様の情報処理システムは、コンピュータによる自然言語処理において使用される辞書であって、単体で意味が成立する単語である主体語が格納される辞書を記憶する辞書記憶部と、第1文書の文字列から、少なくとも辞書に格納済の主体語を除外した残りの文字列を句として、複数の句を抽出する句抽出部と、句抽出部により抽出された複数の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語として抽出する主体語抽出部と、主体語抽出部により抽出された主体語を辞書へ格納する辞書更新部と、を備える。
本発明の別の態様は、情報処理方法である。この方法は、コンピュータによる自然言語処理において使用される辞書であって、単体で意味が成立する単語である主体語が格納される辞書を記憶する情報処理装置が、第1文書の文字列から、少なくとも辞書に格納済の主体語を除外した残りの文字列を句として、複数の句を抽出する句抽出ステップと、句抽出ステップで抽出された複数の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語として抽出する主体語抽出ステップと、主体語抽出ステップで抽出された主体語を辞書へ格納するステップと、を実行する。
なお、以上の構成要素の任意の組合せ、本発明の表現を、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、形態素解析等の自然言語処理のための好適な辞書の実現を支援することができる。
まず実施例の概要を説明する。実施例の情報処理システムは、様々な言語で記述された特許文献に対する自然言語処理、例えば形態素解析を支援する。コンピュータによる自然言語処理で使用される辞書には、収録する単語に漏れがないこと、すなわち網羅性が要求されるが、特許文献には専門用語が多く記述され、人手により作成された辞書では十分な網羅性を提供することが難しい。そこで実施例では、多数の特許文献に基づいて自然言語処理用の辞書を作成する過程における人の関与をなくし、網羅性の高い辞書を自動的に作成する第1の技術を提案する。さらに実施例では、第1の技術により自動的に作成した辞書を使用した自然言語処理として、特許文献から高精度に単語を抽出する第2の技術も提案する。
図1は、実施例の情報処理システム10の構成を示す。情報処理システム10は、特許文献DB12、辞書作成装置14、自然言語処理装置16を備える。図1の各装置は、LAN・WAN・インターネットを含む通信網18を介して接続される。
特許文献DB12は、複数の特許文献のデータ、例えば出願公開済の多数の特許文献のデータを保持するデータベースサーバである。辞書作成装置14は、自然言語処理装置16による形態素解析処理で使用される辞書(以下「形態素辞書」とも呼ぶ。)を作成する情報処理装置であり、例えばPC・サーバ等であってもよい。
自然言語処理装置16は、辞書作成装置14により作成された形態素辞書を使用して、特許文献DB12に保持された特許文献データに対する形態素解析処理を実行する。具体的には、自然言語処理装置16は、各特許文献データから単語を抽出し、各特許文献から抽出した単語のリストを含む抽出単語データを所定の外部装置(不図示)へ送信する。
抽出単語データの送信先となる装置は、各特許文献の抽出単語データに基づいて特許検索用のインデックスデータを作成する装置であってもよい。また、そのインデックスデータを用いて特許検索サービスを不図示のユーザ端末へ提供する装置であってもよい。なお、自然言語処理装置16は、インデックスデータの作成機能および/または特許検索サービスの提供機能をさらに備えてもよく、例えば特許検索装置として実装されてもよい。
なお、図1に示す各装置の物理的な個数に制限はない。例えば、実施例の辞書作成装置14の機能は複数台の装置が分散実行してもよく、同様に辞書作成装置14の機能も複数台の装置が分散実行してもよい。また、実施例の辞書作成装置14の機能と自然言語処理装置16の機能の両方を1台の情報処理装置が一括して提供してもよい。
図2は、図1の辞書作成装置14の機能構成を示すブロック図である。辞書作成装置14は、制御部20、記憶部22、通信部24を備える。制御部20は、形態素辞書を作成するための各種データ処理を実行する。記憶部22は、制御部20により更新または参照されるデータの記憶領域である。通信部24は、所定の通信プロトコルにしたがって外部装置と通信する。制御部20は、通信部24を介して、特許文献DB12および自然言語処理装置16とデータを交換する。
本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、制御部20内の各ブロックに対応するモジュールを含むコンピュータプログラムが、所定の記録媒体またはネットワークを介して、辞書作成装置14のストレージへインストールされてもよい。そして、辞書作成装置14のCPUが、ストレージからメインメモリへコンピュータプログラムを適宜読み出し、実行することにより、制御部20内の各ブロックに対応する機能を発揮してもよい。
記憶部22は、辞書記憶部26を含む。辞書記憶部26は、2種類の形態素辞書として主体語辞書と付随語辞書を記憶する。主体語辞書には、単体で意味が成立する単語(以下「主体語」とも呼ぶ。)が格納される。主体語は、典型的には自立語(名詞、動詞、形容詞等)であり、例えば「食堂」、「特許」、「国家」等の文字列を含む。なお、実施例における主体語は2文字以上に制限される。
付随語辞書には、主体語に付随して使用される単語(以下「付随語」とも呼ぶ。)が格納される。付随語は、典型的には付属語(助詞、助動詞)である。例えば付随語は、「を」、「は」、「です」、「開発部」の「部」、「懇談会」の「会」、「貴方の」の「の」を含む。付随語は、主体語と結合して初めて文節が成立する単語であってもよい。また、付随語は、主体語と結合して初めて意味が成立する(言い換えれば意味が確定する)単語であってもよい。
制御部20は、句読込部28、句分割部30、主体語抽出部32、辞書更新部34、付随語抽出部36、辞書出力部38を含む。句読込部28と句分割部30は、互いに連携して句抽出部として機能し、特許文献に記載された文字列から、少なくとも主体語辞書に格納されている主体語を除外した残りの文字列を句と識別し、複数の句を抽出する。
句読込部28は、特許文献DB12に格納された複数の特許文献から、各特許文献に記載された文字列を読み込む。句読込部28は、文字列中の処理対象位置(初期状態では例えば先頭文字)から、所定の区切り文字(句点、読点、ピリオド、カンマ等)までの文字列を第1の句として抽出する処理と、抽出した句の分だけ処理対象位置を先に進める処理とを繰り返す。
句分割部30は、主体語辞書と付随語辞書を参照して、句読込部28により抽出された第1の句から、当該第1の句を分割した複数の第2の句を抽出する。句分割部30は、少なくとも主体語辞書に格納済の主体語を除外した残りの文字列を第2の句として識別し、複数の第2の句を抽出する。実施例の句分割部30は、主体語辞書に格納済の主体語を示す句と、その主体語を除外した残りの文字列の両方を第2の句として出力する。
句分割部30の処理を図3を参照しつつ説明する。図3の1つの箱は1文字を示す。Xは某かの文字であり、bは主体語辞書に格納された主体語の各文字であり、Cは付随語辞書に格納された付随語の文字である。(1)句分割部30は、次の検索位置集合Ps(初期は先頭位置0)を保持する。Psは、主体語か否かを判定すべき位置を示す情報の集合である。Psの要素(すなわち位置を示す情報)は、文書全体の何バイト目かを示す情報でもよく、第1の句の先頭からの距離(文字単位、バイト単位等)を示す情報でもよい。図3ではPs={P0,P1}とする。
(2)句分割部30は、Psの最小位置(図3ではP0)から次の単語を探す。図3では主体語「bbbb」が見つかる。(3)句分割部30は、P0から、見つかった主体語までの文字列(図3では「XX」)を句として出力するとともに、見つかった主体語「bbbb」を句として出力する。図3の例では、「XX」が、第1の句から主体語を除外した文字列に該当する。
上記(2)で1つ以上の主体語が見つかった場合、全ての主体語に対して以下の(4)(5)を順次もしくは並行して実行する。(4)句分割部30は、1つの主体語(図3では「bbbb」の終了直後の位置(図3の例では文字「C」の位置であり、すなわちP2)をPsを入れる。(5)上記(4)における主体語の直後が付随語である場合、その付属語の終了直後の位置(図3の例では文字「X」)の位置であり、すなわちP3)をPsに入れる。(6)上記(2)で主体語が見つからなかった場合、そのときの処理位置(例えばP0)から文字列の最後までを句として出力する。(7)Psがからになるまで、上記(2)~(6)を繰り返す。例えば、P0の処理が終了すると、PS={P1,P2,P3}となり、次の(2)ではP1から次の単語を探す。
図4(a)、図4(b)、図4(c)は句の分割の例を示す。ここでは、主体語辞書に「日本」、「振興」が記録され、付随語辞書に「語」、「会」が記録されているとする。図4(a)は、分割前の元データである第1の句を示している。句分割部30は、「日本」と「振興」は主体語辞書に存在するため主体語として認識し、第2の句として出力する。また、句分割部30は、「語」の位置から探索し、直後の主体語の開始は「振」であるため、「語」から「振」の前までの文字列、すなわち「語」を第2の句として出力する。「語」は付随語であるため、「語」の位置と「振」の位置の両方から次の主体語を探す。同様に「会」は付随語であるため、「会」の位置と「日」の位置の両方から次の主体語を探す(図4(b))。
「会」から後の文字列には辞書登録済みの主体語がないため、探索位置から文字列の最後までを第2の句として出力する。図4(c)は、句分割部30から出力された5個の第2の句を示している。なお、同一位置から複数の主体語を検出した場合、句分割部30は、検出した全単語に対して上記処理を実行する。この場合、一部が重複する第2の句を含む複数の第2の句が抽出されることになる。
図2に戻り、主体語抽出部32は、句分割部30から出力された複数の第2の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語の候補として抽出する。具体的には、主体語抽出部32は、句分割部30から出力された複数の第2の句を文字コード順に並べる。主体語抽出部32は、複数の第2の句に亘って先頭の文字列が共通する場合にその先頭の文字列を主体語の候補として出力する。言い換えれば、複数の第2の句それぞれの先頭から、同一の文字コード値が2文字分以上連続している場合、その同一の文字コード値が示す文字列を主体語の候補とする。
図5は、句分割部30から出力された複数の第2の句の例を示す。図5の例では、「日本」「日本大学」「日本料理」のいずれも、予め定められた閾値(実施例では5個)以上の句の先頭部分に繰り返し出現している。したがって、主体語抽出部32は、「日本」「日本大学」「日本料理」を主体語の候補として抽出する。上記の閾値は、システム開発者の知見や、情報処理システム10を用いた実験等に基づいて適切な値に設定されればよい。例えば、主体語の網羅性を強く求める場合、閾値を小さくしてもよく、網羅性とともにある程度の正確性を求める場合、閾値を大きくしてもよい。
なお、句分割部30または主体語抽出部32は、複数の第2の句を示す情報(ここでは「抽出句リスト」と呼ぶ。)を、記憶部22に永続的に記憶させてもよい。抽出句リストには、複数の辞書作成タイミングおよび複数の特許文献に亘って抽出された第2の句が蓄積されてもよい。主体語抽出部32は、句分割部30から出力された第2の句を抽出句リストへ追加した上で、その抽出句リストに記録された所定個数以上の第2の句の先頭部分に同一の文字列が存在すれば、その同一の文字列を主体語の候補として抽出してもよい。この態様によると、複数の辞書作成タイミングおよび複数の特許文献に亘って抽出された第2の句に基づいて、一層精度よく主体語を抽出できる。
また、句分割部30は、第1の句から、主体語辞書に格納済の主体語を第2の句として抽出することを抑制してもよい。また、主体語抽出部32は、句分割部30から出力された複数の第2の句のうち、主体語辞書に格納済の主体語を示す第2の句を、主体語抽出処理の対象から除外してもよい。
図2に戻り、辞書更新部34は、主体語抽出部32により抽出された主体語を辞書記憶部26の主体語辞書へ格納する。辞書更新部34は、主体語抽出部32により抽出された1つの主体語の候補における先頭を含む一部が、他の主体語として成立することがなければ、この候補を主体語と確定して主体語辞書へ登録する。辞書更新部34は、第1の文字列と、その第1の文字列を含む第2の文字列の両方が主体語として抽出された場合、第1の文字列を主体語辞書へ格納する一方、第2の文字列を主体語辞書へ格納することを抑制する。言い換えれば、辞書更新部34は、主体語抽出部32により抽出された主体語の候補うち、複数の主体語の組み合わせにより構成された候補(以下「複合語」とも呼ぶ。)については主体語辞書へ格納することを抑制する。既述したように検索の網羅性を向上させるため、実施例の主体語辞書には相対的に短い主体語が優先して格納される。
例えば、「日本」と「日本料理」の両方が主体語の候補として抽出された場合、辞書更新部34は、「日本」を主体語辞書へ格納する一方、「日本料理」を主体語辞書へ格納せず廃棄し、言い換えれば無視する。なお、「料理」は別途主体語辞書へ登録されることが期待できる。また、主体語辞書に「日本料理」が格納済で、新たに「日本」が主体語の候補として抽出された場合、辞書更新部34は、「日本」を主体語辞書へ格納するとともに、「日本料理」を主体語辞書から削除してもよい。この場合、後述の出現回数については「日本料理」の出現回数を「日本」の出現回数として引き継いでもよい。
図6は主体語辞書の例を示す。実施例の主体語辞書では、複数の主体語と、各主体語が複数の文書に亘って出現した回数とが対応付けて記録される。辞書更新部34は、主体語の候補のうち主体語辞書に未格納の候補(すなわち新たな主体語の候補)を主体語辞書へ新たに格納し、その出現回数に1を設定する。また、辞書更新部34は、主体語の候補のうち主体語辞書に格納済の候補(すなわち過去に検出済の主体語)については主体語辞書へ重複して格納することを抑制しつつ、当該主体語の出現回数をインクリメントする。変形例として、出現回数そのものを記録することに代えて、出現回数に基づく出現頻度の指標値を記録してもよい。
図2に戻り、付随語抽出部36は、複数の特許文献から読み込まれた文字列から、主体語辞書に格納された主体語を除外した残りの文字列のうち、文字数が所定の閾値以下の文字列を付随語の候補として抽出する。言い換えれば、付随語抽出部36は、複数の特許文献から読み込まれた文字列において、2つの主体語に挟まれた文字列のうち、長さが所定の閾値以下の文字列を付随語の候補として抽出する。また付随語抽出部36は、文字列における最後の主体語以降の部分文字列の長さが所定の閾値以下であれば、その部分文字列を付随語の候補として抽出する。実施例における上記閾値は「2」である。特許文献から読み込まれた文字列は、句読込部28により読み込まれた第1の句であってもよい。
付随語抽出部36は、抽出した付随語の候補のうち、候補としての抽出回数が所定順位以上の文字列を付随語と判定する。具体的には、付随語抽出部36は、複数の付随語の候補と、各候補の抽出回数とを対応付けたテーブルを保持し、付随語の候補を抽出する都度、その候補に対応付けられた抽出回数をインクリメントする。抽出回数は、複数の文書に亘る付随語候補の出現回数または出現頻度を示す値と言える。付随語抽出部36は、抽出回数が上位5%の候補を付随語と判定する。なお、付随語を判定するタイミングは、1つまたは複数の特許文献に対する主体語抽出処理または主体語辞書更新処理の完了時点でもよい。
このように、付随語の長さの閾値(2文字等)と付随語判定閾値(上位5%等)を設けることにより、付随語抽出の網羅性を高めることができる。これらの閾値は、システム開発者の知見や、情報処理システム10を用いた実験等に基づいて適切な値に設定されればよい。例えば、付随語の網羅性を強く求める場合、付随語判定閾値を大きく(例えば上位10%)してもよく、網羅性とともにある程度の正確性を求める場合、付随語判定閾値を小さく(例えば上位3%)してもよい。
辞書更新部34は、付随語抽出部36により付随語と判定された候補文字列を付随語辞書へ格納する。図7は付随語辞書の例を示す。実施例の付随語辞書では、複数の付随語と、各付随語が複数の文書に亘って出現した回数とが対応付けて記録される。辞書更新部34は、付随語の候補のうち付随語辞書に未格納の候補(すなわち新たな付随語の候補)を付随語辞書へ新たに格納し、その出現回数に1を設定する。その一方、辞書更新部34は、付随語の候補のうち付随語辞書に格納済の候補(すなわち過去に検出済の付随語)については付随語辞書へ重複して格納することを抑制しつつ、当該付随語の出現回数をインクリメントする。
辞書出力部38は、辞書更新部34により主体語辞書と付随語辞書の少なくとも一方が更新された場合に、少なくとも更新された辞書データを所定の外部装置へ出力する。実施例では、更新された最新の辞書データを自然言語処理装置16へ送信するが、変形例として、他の種類のサーバやストレージへ最新の主体語辞書と付随語辞書を出力してもよい。
図8は、図1の自然言語処理装置16の機能構成を示すブロック図である。自然言語処理装置16は、辞書作成装置14の制御部20、記憶部22、通信部24に対応する制御部40、記憶部42、通信部44を備える。制御部40は、通信部44を介して、特許文献DB12および辞書作成装置14とデータを交換する。
記憶部42は、辞書記憶部46と解析結果記憶部48を含む。辞書記憶部46は、辞書作成装置14の辞書記憶部26に対応し、辞書作成装置14により作成された主体語辞書および付随語辞書を保持する。解析結果記憶部48は、制御部40による自然言語処理の結果を示すデータを保持する。具体的には、複数の特許文献のそれぞれから抽出された単語のリストを含む特許文献ごとの抽出単語データを保持する。
制御部40は、文書読込部50、スコア設定部52、単語抽出部54、解析結果提供部56を含む。文書読込部50は、自然言語処理の対象となる文書(実施例では特許文献DB12に格納された特許文献)から、当該文書に記載された文字列を読み込む。例えば、句点・ピリオド等をデリミタとして文単位で文字列を読み込んでもよく、句読込部28と同様に句単位で文字列を読み込んでもよい。
スコア設定部52は、文書読込部50により読み込まれた文字列中の各文字から始まる主体語を辞書記憶部46の主体語辞書を参照して特定する。スコア設定部52は、主体語辞書、付随語辞書、および予め定められたスコア付与基準にしたがって、各文字から始まる各主体語に対して、各主体語の属性に応じたスコアを付与する。実施例のスコア付与基準は、人間から見て自然な単語の抽出であることを目的としており、以下に示す3つの基準の組み合わせである。変形例として、いずれか1つの基準または2つの基準を用いてもよい。
(基準1)文字列中の各文字から始まる主体語のうち、内包する付随語の個数が相対的に少ない主体語のスコアを、内包する付随語の個数が相対的に多い主体語のスコアより大きくする。内包する付随語の個数が少ない主体語ほど、スコアを大きくするよう調整してもよい。多くの付随語を内包する主体語は、本来複合語である可能性が高く、単語として抽出することが好ましくないと考えられるからである。
(基準2)文字列中の各文字から始まる主体語のうち、文字数が相対的に多い主体語のスコアを、文字数が相対的に少ない主体語のスコアより大きくする。文字数が多い主体語ほど大きなスコアになるよう調整してもよい。文字数が多い主体語は、文書内で特徴的な単語と考えられ、抽出対象として適切と考えられるからである。
(基準3)文字列中の各文字から始まる主体語のうち、主体語辞書で対応付けられた出現回数が相対的に多い主体語のスコアを、出現回数が相対的に少ない主体語のスコアより大きくする。出現回数が多い主体語ほど大きなスコアになるよう調整してもよい。出現回数が多い主体語は、多くの文献で使用されたものであり、抽出対象として適切と考えられるからである。
実施例のスコア設定部52は、文書読込部50により読み込まれた文字列中の文字ごとに1つの候補エントリを作成する。図9は候補エントリの例を示す。同図の位置「e0」は、読み込まれた文字列中の処理対象位置(言い換えれば現在処理位置)を示す。同図の「e0+n」(nは正の整数)は、処理対象位置からの距離(例えば文字数)を示している。スコア設定部52は、各文字から始まる主体語(ここでは「単語候補」と呼ぶ。)を特定し、各単語候補の文字数を候補エントリへ設定する。またスコア設定部52は、単語候補ごとに算出したスコアを候補エントリへ設定する。
スコアの算出方法を説明する。スコア設定部52は、上記の基準1にしたがって、各単語候補の中に含まれる付随語の個数が多いほど単語候補のスコア要素(P)を小さくする。さらにスコア設定部52は、単語候補の1文字目が付随語に該当する場合、スコア要素(P)をさらに小さくする。スコア要素(P)の算出式を以下に示す。
式1の「W」は単語候補の文字列である。式1および式2の「L」は全付随語の集合である。式1の「C」は、文字a、bの付随語としての出現回数を付随語辞書から取得する関数である。したがって、「C(a)」、「C(b)」はそれぞれ、文字a、bの付随語としての出現回数である。式2の「P0」は、単語候補の1文字目(W0)が付随語(L)である場合の特別ペナルティ値であり、0<P0<1の範囲で設定される。式1のβは定数である。式1内の分数は、単語候補内の付随語ごとに評価され、内包する付随語の個数が多いほどPは小さくなり、1文字目が付随語であればPはさらに小さくなる。また、単語候補内の付随語に対応付けられた出現回数(C(a))が大きいほど、言い換えれば、使用頻度が高い付随語が内包されているほどPは小さくなる。スコア要素(P)は、付随語を内包したことに基づくペナルティを反映した値になる。
式3の関数fは、3つのパラメータ、すなわち単語候補のP(W)、単語候補の文字数(r)、単語候補の出現回数(t)と、単語候補のスコア(Q)とが正相関するように単語候補のスコア(Q)を決定する関数である。スコア設定部52は、式3にしたがって、単語候補のP(W)が大きいほど、かつ、単語候補の文字数(r)が多いほど、かつ、単語候補の出現回数(t)が多いほど、単語候補のスコア(Q)を大きく算出する。例えば、式3の関数fは、単語候補のP(W)、単語候補の文字数(r)、単語候補の出現回数(t)を乗じる関数であってもよい。すなわち「Q = P(W)×r×t」であってもよい。
単語抽出部54は、スコア設定部52により設定された各単語候補のスコアを参照して、文字列中の処理対象位置から始まる第1の単語候補に付与されたスコアと、第1の単語候補の中の2文字目以降から始まる第2の単語候補に付与されたスコアとの大小関係に応じて、第1の単語候補を単語として抽出する。実施例の単語抽出部54は、大小関係の比較対象として、第1の単語候補の直後の文字から始まる第3の単語候補に付与されたスコアも使用する。
具体的には、単語抽出部54は、文字列中の処理対象位置から始まる単語候補(ここでは「現在候補」と呼ぶ。)に付与されたスコアを「現在候補スコア」として識別する。また、単語抽出部54は、文字列中において現在候補の直後の文字から始まる単語候補(ここでは「次回候補」と呼ぶ。)に付与されたスコアを「次回候補スコア」として識別する。さらに、現在候補内の2文字目以降から始まる単語候補(ここでは「中間候補」と呼ぶ。)に付与されたスコアを「中間候補スコア」(ν)として識別する。
式4のe0は処理対象位置の候補エントリ(すなわち現在候補)であり、|e0|は現在候補の文字数である。Tは現在候補以降の全候補エントリである。Sは、(処理対象位置+1)から、(処理対象位置+|e0|-1)までを単語の開始位置(i)として、Tを複数の単語に分解し、各単語のスコアを合算する。式4の関数Sは、処理対象位置(すなわちe0)の単語を抽出しない場合の中間候補スコアを提供する関数と言える。
単語抽出部54は、現在候補スコアが0の場合、処理対象位置の文字が主体語を構成しないと認識し、処理対象位置の1文字を捨てて、処理対象位置を1つ進める。なお、現在候補スコアが0の場合、処理対象位置の文字を単語(例えば付随語)と認識して、処理対象位置の1文字を単語として抽出してもよい。
単語抽出部54は、現在候補スコアが0より大きい場合、式4にしたがってνを算出する。ν≦現在候補スコアまたはν≦次回候補スコアが成立する場合、単語抽出部54は、処理対象位置から始まる単語(すなわち現在候補)を抽出し、現在候補の文字数分、処理対象位置を進める。一方、ν>現在候補スコアかつν>次回候補スコアが成立する場合、単語抽出部54は、処理対象位置の1文字を捨てて、処理対象位置を1つ進める。現在候補の途中の文字から始まる単語を抽出した方がスコアが大きいからである。
図10は、単語抽出処理対象の文字列の例を示す。同図は、図9に対応し、処理対象位置をe0で示している。単語抽出部54は、図9のe0の候補エントリのスコア「15」を現在候補スコアとして識別し、図9のe0+5(e0の単語候補の文字数が5であるため)の候補エントリのスコア「11」を次回候補スコアとして識別する。そして、図10では、図9のe0+1の候補エントリのスコア「8」と、図9のe0+3の候補エントリのスコア「10」との合算値「18」を中間候補スコア(ν)として識別する。図10の例では、ν>現在候補スコアかつν>次回候補スコアが成立するため、単語抽出部54は、処理対象位置の文字「新」を捨てて、処理対象位置を1つ進める。
実際には、単語抽出部54は、現在候補の3文字目から始まる中間候補と、その中間候補の直後から始まる単語のスコアの合算値、および、現在候補の4文字目から始まる中間候補と、その中間候補の直後から始まる単語のスコアの合算値も算出する。そして式4で示すように、複数種類の合算値の中で最大の値をνの値として採用する。
単語抽出部54は、或る特許文献から読み込まれた文字列から抽出した複数の単語をその特許文献に対応付けて、解析結果記憶部48の抽出単語データの中へ記録する。解析結果提供部56は、解析結果記憶部48に記憶された抽出単語データであり、すなわち、各特許文献の文字列を単語に分解したデータを、定期的または要求に応じて、予め定められた外部装置(例えば特許文献の検索装置)へ送信する。
以上の構成による情報処理システム10の動作を説明する。
図11は、辞書作成装置14の動作を示すフローチャートである。辞書作成装置14は、ユーザからの指示を受け付けた場合、および/または、予め定められたタイミングで定期的に、図11に示す辞書作成処理を実行する。辞書作成処理の開始時点では、辞書記憶部26の主体語辞書と付随語辞書はいずれも空である。すなわち、辞書作成処理の初期状態において、主体語と付随語を予め定めた辞書は不要である。
図11は、辞書作成装置14の動作を示すフローチャートである。辞書作成装置14は、ユーザからの指示を受け付けた場合、および/または、予め定められたタイミングで定期的に、図11に示す辞書作成処理を実行する。辞書作成処理の開始時点では、辞書記憶部26の主体語辞書と付随語辞書はいずれも空である。すなわち、辞書作成処理の初期状態において、主体語と付随語を予め定めた辞書は不要である。
辞書作成装置14の句読込部28は、特許文献DB12から複数の特許文献を取得し、それぞれの特許文献から第1の句を読み込む(S10)。句分割部30は、第1の句が示す文字列を、辞書記憶部26の主体語辞書に格納済の主体語を示す文字列と、その主体語を除外した文字列とに分割することにより複数の第2の句を抽出する(S12)。なお、主体語辞書が空の場合等、第1の句において主体語が未検出であれば、句分割部30は、第1の句をそのまま第2の句として出力する。
所定個数以上の第2の句において先頭から始まる文字列(すなわち第2の句の少なくとも一部の文字列)が共通する場合(S14のY)、主体語抽出部32は、その先頭文字列を主体語の候補として抽出する(S16)。辞書更新部34は、主体語抽出部32により抽出された主体語の候補のうち、複合語を除外した候補であり、かつ、主体語辞書に未格納の新たな主体語を示す候補を主体語辞書へ格納する(S18)。その際に辞書更新部34は、各主体語に対応付けられた出現回数も更新する。所定個数以上の第2の句において先頭から始まる共通文字列が存在しない場合(S14のN)、S16とS18の処理をスキップする。
付随語抽出部36は、主体語辞書を参照して、第1の句において2つの主体語間に2文字以下の文字列(すなわち主体語を構成しない文字列)が存在する場合(S20のY)、その文字列を付随語の候補として抽出し、各候補の抽出回数を加算する(S22)。付随語抽出部36は、複数の付随語の候補のうち抽出回数が相対的に上位の候補を付随語と判定する。辞書更新部34は、付随語抽出部36により付随語と判定された候補文字列を付随語辞書へ格納する(S24)。第1の句において2つの主体語間に2文字以下の文字列が存在しなければ(S20のN)、S22とS24の処理をスキップする。
文字列読み込みが未完了の特許文献が残存すれば(S26のN)、S10に戻り、全ての特許文献からの文字列読み込みが完了すれば(S26のY)、辞書出力部38は、辞書記憶部26に記憶された主体語辞書と付随語辞書を自然言語処理装置16へ送信する(S28)。なお、付随語抽出処理は、複数の特許文献それぞれの主体語抽出処理が終了する都度実行してもよく、全ての特許文献の主体語抽出処理が終了した後に実行してもよい。また、辞書出力部38は、主体語辞書と付随語辞書を所定のサーバへアップロードしてもよく、自然言語処理装置16は、主体語辞書と付随語辞書をそのサーバからダウンロードしてもよい。
図12は、自然言語処理装置16の動作を示すフローチャートである。自然言語処理装置16は、ユーザからの指示を受け付けた場合、および/または、予め定められたタイミングで定期的に、図12に示す自然言語処理を実行する。実施例での自然言語処理は、特許文献に記載された文字列から単語(特に主体語)を抽出する処理である。
不図示の外部装置(ここでは特許検索装置とする。)における検索インデックスデータの更新タイミングに達したことを検出すると(S30のY)、自然言語処理装置16の文書読込部50は、特許文献DB12から複数の特許文献を取得し、それぞれの特許文献の文字列を読み込む(S32)。スコア設定部52は、読み込まれた文字列中の各文字から始まる主体語を特定する。スコア設定部52は、所定のスコア付与基準にしたがって、各文字から始まる主体語それぞれのスコアを導出し、複数の文字に対応する複数の候補エントリを作成する(S34)。
単語抽出部54は、各候補エントリのスコアを大小比較し、その結果に基づいて特許文献の文字列から単語を抽出して、解析結果記憶部48の抽出単語データを更新する(S36)。単語抽出処理が未完了の特許文献が残存すれば(S38のN)、S32に戻る。全ての特許文献からの単語抽出処理が終了すれば(S38のY)、解析結果提供部56は、解析結果記憶部48の抽出単語データを特許検索装置へ送信する(S40)。特許検索装置は、例えば、自然言語処理装置16から提供された抽出単語データを使用して、特許文献検索用のインデックスデータを更新する。特許検索装置における検索インデックスデータの更新タイミングでなければ(S30のN)、以降の処理をスキップして、本図のフローを終了する。
実施例の情報処理システム10によると、主体語および付随語を予め定めたデータがなくても、主体語および付随語を自動的に抽出し、主体語辞書および付随語辞書を自動作成することができる。また、複数の句に亘り共通する先頭文字列を主体語として自動抽出するとともに、主体語間の短い文字列を付随語として自動抽出することにより、網羅性の高い主体語辞書および付随語辞書を作成できる。例えば、誤った綴りの文字列は通常辞書から除外されるが、実施例の情報処理システム10では、実際に文献に記載されていれば主体語または付随語として抽出でき、網羅性の高い形態素辞書を提供できる。また、新たな文献が追加された場合(例えば新たに特許公開公報が発行された場合)に、迅速かつ効率的に主体語辞書および付随語辞書を更新することができる。
また、実施例の情報処理システム10によると、文献の文字列から単語を抽出する処理において、文字列の各文字から始まる各主体語にスコアを付与する。そして、処理対象位置から始まる第1の主体語のスコアと、第1の主体語の中の2文字目以降から始まる第2の主体語のスコアとの大小関係に応じて、第1の主体語を抽出するか否かを決定する。これにより、適切な位置からの単語の切り出しを実現しやすくなる。さらに実施例では、第1の主体語の直後の文字から始まる第3の主体語のスコアも比較対象に含めることで、より一層適切な位置で単語を抽出することができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
第1変形例を説明する。第1変形例では、複数の主体語の組み合わせにより構成された複合語を辞書へ登録することを許可する。具体的には、辞書作成装置14の辞書更新部34は、第1の文字列(例えば「日本」)と、その第1の文字列を含む第2の文字列(例えば「日本料理」)が主体語の候補として抽出された場合、第1の文字列と第2の文字列の両方を主体語辞書へ格納してもよい。この結果、主体語辞書には複合語も収録される。
自然言語処理装置16が処理対象とする文字列では、「日本」と「日本料理」のように、特定の処理対象位置から始まる主体語(すなわち現在候補e0)が複数存在しうる。自然言語処理装置16のスコア設定部52は、文字列中の各文字から始まる1つ以上の主体語(例えば「日本」、「日本料理」)のそれぞれに対してスコアを算出する。
式5のD0は、Tの先頭に存在する1つ以上の現在候補e0の集合である。単語抽出部54は、1つ以上の現在候補のそれぞれについて実施例の式4と同じ計算を実行して関数Sの最大値を求め、さらに1つ以上の現在候補に跨っての関数Sの最大値を中間候補スコアνとする。例えば、2つの現在候補(現在候補1、現在候補2)があり、2つの次回候補(次回候補1、次回候補2)があるとする。単語抽出部54は、ν>現在候補1スコア、ν>次回候補1スコア、ν>現在候補2スコア、ν>次回候補2スコアが成立する場合、処理対象位置の1文字を捨てて、処理対象位置を1つ進めてもよい。また、上記の条件が成立せず、現在候補1スコア≧現在候補2スコアであれば、現在候補1を単語として抽出し、現在候補1スコア<現在候補2スコアであれば、現在候補2を単語として抽出してもよい。
第1変形例によると、複合語としての単語の抽出に対応することができる。なお、第1変形例においても、複合語でない主体語が主体語辞書に登録されることは実施例と同様であり、辞書の網羅性は低下しない。
第2変形例を説明する。辞書作成装置14の句読込部28は、特許文献から読み込んだ文字列の文字コード値が該当する文字コード区分(例えば、ラテン文字、CJK文字、アラビア文字、ロシア文字等)を対象言語として識別してもよい。例えば、特許文献の文字コードがUNICODEの場合、句読込部28は、UNICODEのコード表を参照して、特許文献から読み込んだ文字列の文字コード区分を識別してもよい。第2変形例の一態様として、句読込部28は、対象言語の連続文字列を句として読み込む一方、対象言語に該当しない文字(文字コード値)を無視してもよく、空白等の意味を持たない文字に置き換えて読み込んでもよい。
第2変形例の別の態様として、辞書作成装置14の句読込部28は、複数の文字コード区分を許容してもよい。例えば、句読込部28は、複数の文字コード区分に亘る文字列を第1の句として読み込んでもよい。この場合、句読込部28は、特許文献の文字列の途中で文字コード区分が第1の区分から第2の区分に変わる場合に、第1の区分に属する文字列と第2の区分に属する文字列を異なる第1の句として抽出してもよい。または、句分割部30は、句読込部28により抽出された第1の句を既知の主体語に基づいて分割しつつ、さらに、第1の句の途中で文字コード区分が第1の区分から第2の区分に変わる場合に、第1の区分に属する文字列と第2の区分に属する文字列を異なる第2の句として抽出してもよい。
第3変形例を説明する。上記実施例では言及していないが、特許文献への検索履歴を辞書へフィードバックしてもよい。具体的には、辞書作成装置14の主体語辞書では、各主体語に、検索に使用された頻度を示す指標値(以下「検索頻度値」と呼ぶ。)が対応付けて記録される。辞書作成装置14は、特許検索に使用されたキーワードまたはキーフレーズを示すデータ(以下「検索履歴」と呼ぶ。)を特許検索装置(不図示)から定期的に取得して、記憶部22の検索履歴記憶部へ格納する検索履歴取得部をさらに備える。辞書作成装置14の辞書更新部34は、検索履歴記憶部に記憶された検索履歴と、主体語辞書とを参照して検索履歴に含まれる主体語を特定し、検索履歴における各主体語の検索回数を特定する。辞書更新部34は、各主体語の検索回数に基づいて各主体語の検索頻度値(検索回数そのものでもよい)を導出し、主体語辞書へ格納する。
主体語辞書には、特許文献DB12の特許文献における各主体語の出現回数とともに検索頻度値が格納されもよく、出現回数に代えて検索頻度値が格納されてもよい。自然言語処理装置16のスコア設定部52は、読み込まれた文字列内の各文字から始まる単語のスコアを決定する際に、実施例の出現回数に代えて検索頻度値を使用してもよく、実施例の出現回数とともに検索頻度値を使用してもよい。例えば、スコア設定部52は、検索頻度値が相対的に大きい単語のスコアが、検索頻度値が相対的に小さい単語のスコアより大きくなるように調整してもよい。
第4変形例を説明する。上記実施例では言及していないが、特許文献の単語化における各単語の使用頻度を辞書へフィードバックしてもよい。具体的には、辞書作成装置14は、特許文献の単語化における各単語の使用回数または使用頻度を示す単語化履歴を自然言語処理装置16から取得して、記憶部22の単語化履歴記憶部へ格納する単語化履歴取得部をさらに備える。辞書作成装置14の辞書更新部34は、単語化履歴記憶部に記憶された単語化履歴を参照して、単語化履歴における各主体語の使用回数または使用頻度を特定する。辞書更新部34は、各主体語の使用回数または使用頻度を主体語辞書へ格納する。自然言語処理装置16のスコア設定部52は、読み込まれた文字列内の各文字から始まる単語のスコアを決定する際に、実施例に記載の辞書作成時の出現回数に代えて、単語化における使用回数または使用頻度を使用してもよい。例えば、スコア設定部52は、使用頻度値が相対的に高い単語のスコアが、使用頻度が相対的に低い単語のスコアより大きくなるように調整してもよい。
第5変形例を説明する。上記実施例では、辞書作成の初期状態において、主体語辞書と付随語辞書が空であるとし、すなわち、主体語と付随語が予め登録されていない構成とした。変形例として、辞書作成の初期状態において、辞書作成装置14の辞書記憶部26に既存辞書(例えば予め人手で作成された主体語辞書および付随語辞書)を格納してもよい。人手で作成された辞書は、収録単語の正確性・精度は高いが網羅性が低い。辞書作成装置14の辞書更新部34は、主体語抽出部32により自動抽出された主体語を既存の主体語辞書へ追加し、付随語抽出部36により自動抽出された付随語を既存の付随語辞書へ追加する。これにより、正確性と網羅性の両方に優れる辞書を作成でき、自然言語処理装置16における自然言語処理の正確性と網羅性を一層向上させることができる。
第6変形例を説明する。上記実施例では形態素解析を支援する技術を提案したが、ここでは他の利用例を挙げる。実施例に記載の技術は(1)タグクラウドに適用できる。例えば、多数の文献に基づいて辞書作成装置14が作成した辞書であり、単語(主体語および/または付随語)と出現回数を対応付けた辞書を参照して、複数の単語を、文献での出現回数に応じた態様(形状、模様、色彩等)で表現した画像を生成することができる。
また、実施例に記載の技術は、(2)単語の変動に関するレポート作成に適用できる。例えば、特定分野の多数の文献に基づいて辞書作成装置14が作成した辞書であり、単語(主体語および/または付随語)と出現回数を対応付けた辞書を参照して、一定期間において、単語の出現回数の変動等をグラフ化することにより、上記特定分野のトレンドや変化を示す情報を生成できる。また、実施例に記載の技術は、(3)各国語辞書の作成に適用できる。例えば、辞書作成装置14は、各国語で書かれた文献に基づいて、各国語の主体語辞書および付随語辞書を自動生成することができる。
第7変形例を説明する。上記実施例では、特許文献に基づいて主体語辞書および付随語辞書を作成したが、様々な種類、様々な分野の文献、文書データに基づいて主体語辞書および付随語辞書を作成可能であることはもちろんである。なお、自然言語処理装置16が、特定分野の文献に対する自然言語処理を実行する場合、辞書作成装置14は、その特定分野の文献から主体語および付随語を抽出することにより、その特定分野の文献に対する自然言語処理に好適な主体語辞書および付随語辞書を作成してもよい。
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
10 情報処理システム、14 辞書作成装置、16 自然言語処理装置、 26 辞書記憶部、 32 主体語抽出部、 34 辞書更新部、 36 付随語抽出部、 46 辞書記憶部、 52 スコア設定部、 54 単語抽出部。
本発明は、自然言語処理を行うコンピュータに適用することができる。
Claims (10)
- コンピュータによる自然言語処理において使用される辞書であって、単体で意味が成立する単語である主体語が格納される辞書を記憶する辞書記憶部と、
第1文書の文字列から、少なくとも前記辞書に格納済の主体語を除外した残りの文字列を句として、複数の句を抽出する句抽出部と、
前記句抽出部により抽出された複数の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語として抽出する主体語抽出部と、
前記主体語抽出部により抽出された主体語を前記辞書へ格納する辞書更新部と、
を備えることを特徴とする情報処理システム。 - 第1の文字列と、前記第1の文字列を含む第2の文字列の両方が主体語として抽出された場合、前記辞書更新部は、前記第1の文字列を前記辞書へ格納する一方、前記第2の文字列を前記辞書へ格納することを抑制することを特徴とする請求項1に記載の情報処理システム。
- 付随語抽出部をさらに備え、
前記辞書記憶部は、前記主体語が格納される辞書である主体語辞書と、前記主体語に付随して使用される単語である付随語が格納される辞書である付随語辞書を記憶し、
前記付随語抽出部は、前記第1文書の文字列から前記主体語辞書に格納された主体語を除外した残りの文字列のうち、文字数が所定値以下の文字列を付随語として抽出し、
前記辞書更新部は、前記付随語抽出部により抽出された付随語を前記辞書へ格納することを特徴とする請求項1または2に記載の情報処理システム。 - 前記付随語抽出部は、前記残りの文字列のうち長さが所定値以下の文字列を付随語の候補として抽出し、候補としての抽出回数が所定順位以上の文字列を付属語と判定することを特徴とする請求項3に記載の情報処理システム。
- スコア設定部と単語抽出部とをさらに備え、
前記辞書記憶部は、前記主体語が格納される辞書である主体語辞書と、前記主体語に付随して使用される単語である付随語が格納される辞書である付随語辞書を記憶し、
前記スコア設定部は、自然言語処理の対象となる第2文書から読み込まれた文字列中の各文字から始まる主体語を前記主体語辞書を参照して特定し、各文字から始まる主体語のうち、内包する付随語の個数が相対的に少ない主体語に、内包する付随語の個数が相対的に多い主体語よりも大きなスコアを付与し、
前記単語抽出部は、前記第2文書から読み込まれた文字列中の処理対象位置から始まる第1の主体語に付与されたスコアと、前記第1の主体語の中の2文字目以降から始まる第2の主体語に付与されたスコアとの大小関係に応じて、前記第1の主体語を単語として抽出することを特徴とする請求項1に記載の情報処理システム。 - スコア設定部と単語抽出部とをさらに備え、
前記スコア設定部は、自然言語処理の対象となる第2文書から読み込まれた文字列中の各文字から始まる主体語を前記辞書を参照して特定し、各文字から始まる主体語のうち、文字数が相対的に多い主体語に、文字数が相対的に少ない主体語よりも大きなスコアを付与し、
前記単語抽出部は、前記第2文書から読み込まれた文字列中の処理対象位置から始まる第1の主体語に付与されたスコアと、前記第1の主体語の中の2文字目以降から始まる第2の主体語に付与されたスコアとの大小関係に応じて、前記第1の主体語を単語として抽出することを特徴とする請求項1に記載の情報処理システム。 - スコア設定部と単語抽出部とをさらに備え、
前記辞書更新部は、前記第1文書における各主体語の出現回数を前記辞書に記録し、
前記スコア設定部は、自然言語処理の対象となる第2文書から読み込まれた文字列中の各文字から始まる主体語を前記辞書を参照して特定し、各文字から始まる主体語のうち、前記出現回数が相対的に多い主体語に、前記出現回数が相対的に少ない主体語よりも大きなスコアを付与し、
前記単語抽出部は、前記第2文書から読み込まれた文字列中の処理対象位置から始まる第1の主体語に付与されたスコアと、前記第1の主体語の中の2文字目以降から始まる第2の主体語に付与されたスコアとの大小関係に応じて、前記第1の主体語を単語として抽出することを特徴とする請求項1に記載の情報処理システム。 - 前記単語抽出部は、前記第2文書から読み込まれた文字列中の処理対象位置から始まる第1の主体語に付与されたスコアと、前記第1の主体語の中の2文字目以降から始まる第2の主体語に付与されたスコアと、前記第1の主体語の直後の文字から始まる第3の主体語に付与されたスコアとの大小関係に応じて、前記第1の主体語を単語として抽出することを特徴とする請求項5から7のいずれかに記載の情報処理システム。
- コンピュータによる自然言語処理において使用される辞書であって、単体で意味が成立する単語である主体語が格納される辞書を記憶する情報処理装置が、
第1文書の文字列から、少なくとも前記辞書に格納済の主体語を除外した残りの文字列を句として、複数の句を抽出する句抽出ステップと、
前記句抽出ステップで抽出された複数の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語として抽出する主体語抽出ステップと、
前記主体語抽出ステップで抽出された主体語を前記辞書へ格納するステップと、
を実行することを特徴とする情報処理方法。 - コンピュータによる自然言語処理において使用される辞書であって、単体で意味が成立する単語である主体語が格納される辞書を記憶する情報処理装置に、
第1文書の文字列から、少なくとも前記辞書に格納済の主体語を除外した残りの文字列を句として、複数の句を抽出する句抽出機能と、
前記句抽出機能により抽出された複数の句のうち所定個数以上の句の先頭部分に同一の文字列が存在する場合、その同一の文字列を主体語として抽出する主体語抽出機能と、
前記主体語抽出機能により抽出された主体語を前記辞書へ格納する機能と、
を実現させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780084260.3A CN110235127B (zh) | 2017-01-20 | 2017-08-07 | 一种信息处理系统、信息处理方法、及计算机程序 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017008054A JP6782644B2 (ja) | 2017-01-20 | 2017-01-20 | 情報処理システム、情報処理方法、およびコンピュータプログラム |
JP2017-008054 | 2017-01-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018135023A1 true WO2018135023A1 (ja) | 2018-07-26 |
Family
ID=62907865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/028632 WO2018135023A1 (ja) | 2017-01-20 | 2017-08-07 | 情報処理システム、情報処理方法、およびコンピュータプログラム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6782644B2 (ja) |
CN (1) | CN110235127B (ja) |
WO (1) | WO2018135023A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297589A (ja) * | 2001-03-30 | 2002-10-11 | Ricoh Co Ltd | 未知語収集方法 |
JP2010140107A (ja) * | 2008-12-09 | 2010-06-24 | Nippon Telegr & Teleph Corp <Ntt> | 未知語登録方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05225174A (ja) * | 1992-02-07 | 1993-09-03 | Nippon Telegr & Teleph Corp <Ntt> | 漢字読み付与装置 |
JP6554791B2 (ja) * | 2014-03-14 | 2019-08-07 | オムロン株式会社 | 文字入力予測のための情報処理システムおよび情報処理方法 |
JP6277921B2 (ja) * | 2014-09-25 | 2018-02-14 | 京セラドキュメントソリューションズ株式会社 | 用語集管理装置および用語集管理プログラム |
CN105095665B (zh) * | 2015-08-13 | 2018-07-06 | 易保互联医疗信息科技(北京)有限公司 | 一种中文疾病诊断信息的自然语言处理方法及系统 |
-
2017
- 2017-01-20 JP JP2017008054A patent/JP6782644B2/ja active Active
- 2017-08-07 WO PCT/JP2017/028632 patent/WO2018135023A1/ja active Application Filing
- 2017-08-07 CN CN201780084260.3A patent/CN110235127B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297589A (ja) * | 2001-03-30 | 2002-10-11 | Ricoh Co Ltd | 未知語収集方法 |
JP2010140107A (ja) * | 2008-12-09 | 2010-06-24 | Nippon Telegr & Teleph Corp <Ntt> | 未知語登録方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2018116591A (ja) | 2018-07-26 |
JP6782644B2 (ja) | 2020-11-11 |
CN110235127A (zh) | 2019-09-13 |
CN110235127B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649783B (zh) | 一种同义词挖掘方法和装置 | |
US9195738B2 (en) | Tokenization platform | |
KR102268875B1 (ko) | 전자 장치에 텍스트를 입력하는 시스템 및 방법 | |
US8612206B2 (en) | Transliterating semitic languages including diacritics | |
US8745065B2 (en) | Query parsing for map search | |
JP4986919B2 (ja) | タグ付きデータを有する完全形式レキシコンおよびタグ付きデータを構成し使用する方法 | |
US20140289238A1 (en) | Document creation support apparatus, method and program | |
US8799268B2 (en) | Consolidating tags | |
Saharia et al. | Analysis and evaluation of stemming algorithms: a case study with Assamese | |
JP6867963B2 (ja) | 要約評価装置、方法、プログラム、及び記憶媒体 | |
CN109923538B (zh) | 文本检索装置、文本检索方法以及计算机程序 | |
WO2018135023A1 (ja) | 情報処理システム、情報処理方法、およびコンピュータプログラム | |
JP6106489B2 (ja) | 語義解析装置、及びプログラム | |
US10572592B2 (en) | Method, device, and computer program for providing a definition or a translation of a word belonging to a sentence as a function of neighbouring words and of databases | |
US20110106849A1 (en) | New case generation device, new case generation method, and new case generation program | |
JP5112416B2 (ja) | 用語抽出装置、方法及び用語辞書のデータ構造 | |
JP2007200252A (ja) | 省略語生成・妥当性評価方法、同義語データベース生成・更新方法、省略語生成・妥当性評価装置、同義語データベース生成・更新装置、プログラム、記録媒体 | |
Melinamath | Rule based methodology for recognition of Kannada named entities | |
Raj et al. | Malayalam text summarization: Minimum spanning tree based graph reduction approach | |
JP7022789B2 (ja) | 文書検索装置、文書検索方法およびコンピュータプログラム | |
Kasthuri et al. | An improved rule based iterative affix stripping stemmer for Tamil language using K-mean clustering | |
Gurusamy et al. | Stemming techniques for tamil language | |
Demir | Context tailoring for text normalization | |
Bashir et al. | A word stemming algorithm for Hausa language | |
US11875141B2 (en) | System and method for training a neural machine translation model |
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: 17892867 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: 17892867 Country of ref document: EP Kind code of ref document: A1 |