WO2014087703A1 - 単語分割装置、単語分割方法、及び単語分割プログラム - Google Patents

単語分割装置、単語分割方法、及び単語分割プログラム Download PDF

Info

Publication number
WO2014087703A1
WO2014087703A1 PCT/JP2013/071706 JP2013071706W WO2014087703A1 WO 2014087703 A1 WO2014087703 A1 WO 2014087703A1 JP 2013071706 W JP2013071706 W JP 2013071706W WO 2014087703 A1 WO2014087703 A1 WO 2014087703A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
word candidate
transliteration
unit
score
Prior art date
Application number
PCT/JP2013/071706
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 JP2014532167A priority Critical patent/JP5646792B2/ja
Priority to KR1020157004668A priority patent/KR101544690B1/ko
Publication of WO2014087703A1 publication Critical patent/WO2014087703A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Definitions

  • One aspect of the present invention relates to a word dividing device, a word dividing method, and a word dividing program.
  • word segmentation is an important process. Since the result of word division is used for various applications such as indexing for search processing and automatic translation, accurate word division is desired.
  • the Japanese “suko-chidoreddo” corresponding to the English “scorched red” is divided into “suko-chido” and “reddo” in that sense. Is the correct answer.
  • the word is divided into “suko-chi” and “doreddo”
  • a document including “suko-chidoreddo” is searched for the keyword “reddo”. Therefore, there is a disadvantage that the search is performed using the keyword “doreddo”.
  • Non-Patent Document 1 includes word correspondence by automatically extracting a transliteration pair from a text in which a transliteration pair indicating the correspondence between the source language and the transliteration in word units is specified.
  • a technique is described in which transliteration pairs are obtained and word division is performed using the transliteration pairs with word correspondence.
  • a transliteration pair described using a parenthesis expression “junk food” (“junk fu-do (junk food)”) is extracted from a text, and “junk food (junkfu- The Japanese expression “do)” is divided into two Japanese words “junku” and “fu-do”.
  • Non-Patent Document 1 since the technique described in Non-Patent Document 1 is premised on the existence of a text in which the original word and its transliteration are written together, the character string is divided such that no transliteration pair is specified in any text. Therefore, the scene of its use is limited. Therefore, it is required to divide various compound words into words even if transliteration pairs are not specified in the text.
  • a word segmentation device performs a process of segmenting an input character string into one or more word candidates using a plurality of segmentation patterns, and a reception unit that receives an input character string described in a source language
  • the division unit for acquiring a plurality of types of word candidate sequences
  • the transliteration unit for translating each word candidate in each word candidate sequence to the translation language
  • a calculation unit that calculates the likelihood of each word candidate string as a score
  • an output unit that outputs a word candidate string selected based on the score.
  • a word segmentation method is a word segmentation method executed by a word segmentation device, the reception step of receiving an input character string described in a source language, and the input character string as one or more word candidates
  • a word division program executes a reception unit that receives an input character string described in a source language, and a process of dividing the input character string into one or more word candidates using a plurality of division patterns.
  • the division unit for acquiring a plurality of types of word candidate sequences, the transliteration unit for translating each word candidate in each word candidate sequence to the translation language A computer is caused to execute a calculation unit that calculates the likelihood of each word candidate string as a score and an output unit that outputs a word candidate string selected based on the score.
  • each of a plurality of types of word candidate strings is transliterated, and a score of each word candidate string is calculated with reference to a corpus of the same language used for the transliteration. Then, a word candidate string selected based on the score is output.
  • various transliteration patterns and comparing these patterns with a corpus to obtain plausible word sequences, various compound words can be converted into words even if transliteration pairs are not specified in the text. Can be divided.
  • the calculation unit obtains the appearance probability of the word unigram in the translation language corpus and the appearance probability of the word bigram in the corpus for each word candidate in the transliterated word candidate string.
  • the score of the word candidate string may be obtained based on these two types of appearance probabilities.
  • the calculation unit obtains the sum of the logarithms of two types of appearance probabilities for each word candidate in the word candidate string, and sums the sum of the logarithms of the appearance probabilities.
  • the score of the candidate column may be obtained. In this case, the score can be obtained by a simple calculation of adding the logarithms of the appearance probabilities of the word unigram and the word bigram.
  • the output unit may output the word candidate string having the highest score. In this case, it can be expected to obtain a word sequence considered to be the most appropriate.
  • the segmentation unit may refer to a list of prohibited characters that are not divided immediately before and divide the input character string only in front of characters other than the prohibited characters. Good.
  • the generation of a word that is impossible due to the structure of the source language can be avoided at the stage of generating the word candidate, so that the number of generated word candidate strings can be reduced.
  • the time required for the subsequent transliteration processing and score calculation processing can be shortened.
  • the transliteration unit executes a transliteration process with reference to a training corpus that stores the transliteration pair, and the output unit obtains the transliteration obtained from the selected word candidate string. Pairs may be registered with the training corpus. In this case, since the result (knowledge) obtained by the current word division can be used in the subsequent processing, an improvement in accuracy in future transliteration processing or word division processing can be expected.
  • various compound words can be divided into words without depending on transliteration pair information.
  • the word segmentation device 10 converts one or a plurality of input character strings described in Japanese (source language) that do not use division writing into English (translation language) that uses division writing and an English corpus.
  • a computer that divides it into words.
  • the word dividing device 10 can be used to appropriately divide compound words (unknown words) that exist in the sentence and are not registered in the dictionary during the morphological analysis of the sentence.
  • An example of a compound word to be processed is a foreign word that is expressed only in katakana and has no separator such as a midpoint.
  • the usage scene of this apparatus is not limited to these, and the word segmentation apparatus 10 may be used for the analysis of the compound word represented only in hiragana or only kanji.
  • FIG. This figure shows an example in which a compound word “suko-chidoreddo” written in katakana is divided into words. This compound word corresponds to “scorched red” in English.
  • the word dividing device 10 divides this compound word into various patterns (step S1).
  • the word dividing device 10 acquires a plurality of types of word candidate strings by dividing the compound word into various positions at an arbitrary number.
  • FIG. 1 shows three examples of dividing a compound word into two word candidates, one example of dividing the compound word into three word candidates, and an example of not dividing a compound word. Is not limited to these.
  • the compound word may be divided into two or three according to other division patterns, may be divided into four or more parts, or may be divided one by one.
  • the word segmentation apparatus 10 performs a process of translating the word candidates on all word candidate strings (step S2).
  • the word dividing device 10 executes transliteration from Japanese to English according to a predetermined rule.
  • a plurality of transliteration combinations may be generated in one word candidate string.
  • “red” in Japanese is transliterated into “red”, “read”, and “led” in English. Since the division in step S1 is mechanically executed without using an English dictionary, word candidates may be transliterated with spellings that do not actually exist as English words.
  • the word segmentation apparatus 10 refers to the corpus, obtains a score indicating the likelihood of each word candidate string, and outputs the word candidate string having the highest score as the final result of the word segmentation (step S3). .
  • the word segmentation device 10 calculates at least the score of each translated word candidate string with reference to an English corpus (that is, a corpus of the same language as that used for transliteration). In the example of FIG. 1, the word segmentation apparatus 10 determines that the expression “scorched red” is more likely than other expressions from the viewpoint of English, and finally determines the input character string as “suko-chido”. "And" red (dodo) ".
  • x indicates an input character string
  • Y (x) indicates all word candidate strings that can be derived from the x
  • w is a vector of weights obtained by learning from a training corpus
  • ⁇ (y) is a feature vector. This expression (1) indicates that the word candidate string y from which the feature ⁇ (y) that maximizes the content of argmax is obtained is a likely word continuation.
  • a feature is an attribute considered in word division, and what information is handled as a feature can be arbitrarily determined.
  • the feature ⁇ (y) can be rephrased as the score of the word candidate string y, and the feature ⁇ (y) finally obtained is hereinafter referred to as “score ⁇ (y)”.
  • y w 1 ... W n , which indicates that y is a sequence of n words (w 1 ,..., W n ).
  • ⁇ 1 (w i ) is a unigram feature for word w i
  • ⁇ 2 (w i ⁇ 1 , w i ) is a bigram feature for two consecutive words w i ⁇ 1 , w i . Therefore, the score ⁇ (y) in this embodiment takes into consideration both the likelihood of a certain word w i itself and the likelihood of the arrangement of the previous word w i ⁇ 1 and the word w i. The resulting index. Therefore, it is not always possible to obtain a division result corresponding to a transliteration having the largest number of appearances. Specific definitions of the two types of features ⁇ 1 and ⁇ 2 will be described later.
  • the score ⁇ (y) can be obtained by a simple calculation of adding two types of features.
  • Formula (2) is only an example.
  • the score ⁇ (y) may be obtained by using an operation other than addition for the two features ⁇ 1 and ⁇ 2 or by a combination of addition and other operations.
  • the word segmentation apparatus 10 includes a CPU 101 that executes an operating system, application programs, and the like, a main storage unit 102 that includes ROM and RAM, and an auxiliary storage unit 103 that includes hard disks.
  • the communication control unit 104 includes a network card, an input device 105 such as a keyboard and a mouse, and an output device 106 such as a display.
  • Each functional component of the word segmentation device 10 to be described later reads predetermined software on the CPU 101 or the main storage unit 102, and controls the communication control unit 104, the input device 105, the output device 106, and the like under the control of the CPU 101. This is realized by operating and reading and writing data in the main storage unit 102 or the auxiliary storage unit 103. Data and a database necessary for processing are stored in the main storage unit 102 or the auxiliary storage unit 103.
  • the word dividing device 10 is illustrated as being configured by one computer, but the function of the word dividing device 10 may be distributed to a plurality of computers.
  • the word dividing device 10 includes a receiving unit 11, a dividing unit 12, a transliterating unit 13, a calculating unit 14, and an output unit 15 as functional components.
  • the accepting unit 11 is a functional element that accepts input of a character string written in Japanese. More specifically, the accepting unit 11 accepts an input character string that does not include a delimiter such as a space or a middle point and is represented by only one type of phonogram (that is, only katakana or only hiragana). The accepting unit outputs the input character string to the dividing unit 12.
  • a delimiter such as a space or a middle point
  • the accepting unit outputs the input character string to the dividing unit 12.
  • the reception unit 11 may be a character such as “suko-chidoreddo” (corresponding to “scorched red” in English) or “online shopping mallo-ru” (corresponding to “online shopping mall” in English). Accept columns.
  • the timing at which the receiving unit 11 receives the input character string is not limited.
  • the accepting unit 11 may accept a character string included in the sentence during or after a natural language processing device (not shown) is analyzing the morpheme.
  • the receiving unit 11 may receive an input character string completely independently of morphological analysis.
  • An example of the input character string is an unknown word that is not registered in the existing dictionary database, but the word dividing device 10 may process a word that is already registered in some dictionary.
  • the dividing unit 12 is a functional element that acquires a plurality of types of word candidate strings by executing a process of dividing an input character string into one or more word candidates using a plurality of division patterns.
  • the dividing unit 12 outputs the acquired plural types of word candidate strings to the transliteration unit 13.
  • the dividing unit 12 may divide the input character string according to all the division patterns. In order to simplify the description, a case where a 4-character word is input will be described. If the individual characters represented as ⁇ c 1 c 2 c 3 c 4 ⁇ that word as c n, division unit 12 obtains the following eight word candidate string. The symbol “
  • FIG. 4 shows a lattice structure showing these eight types of division patterns.
  • BOS indicates the beginning of a sentence and EOS indicates the end.
  • each word candidate is represented by a node N, and the connection between words is represented by an edge E.
  • the dividing unit 12 may generate a word candidate string so as to avoid division before a character that cannot be taken as the start of a word (referred to as “prohibited character” in this specification). For example, for a Japanese input character string, the dividing unit 12 may generate a word candidate string so that the word candidate does not start with a stuttering sound, a prompt sound, a long sound, or “n (n)”. For example, if a long sound and a prompt sound are registered in advance as prohibited characters, the dividing unit 12 does not divide “suko-chidoreddo” into “suko” and “-chidoreddo”. Neither is it divided into “suko-chidore” and “ddo”.
  • the dividing unit 12 stores a list of prohibited characters in advance, and by referring to this list during the dividing process, the division immediately before the prohibited characters is omitted.
  • the transliteration unit 13 is a functional element that transliterates one or more word candidates in each word candidate string into English.
  • the transliteration unit 13 outputs the transliteration result of each word candidate string to the calculation unit 14.
  • the transliteration unit 13 may perform transliteration from Japanese to English using any existing method (transliteration rule).
  • a joint source channel model JSC model
  • JSC model joint source channel model
  • the input character string is s
  • the transliteration result is t.
  • the transliteration unit is a minimum unit of a pair of input character string and output character string (transliteration) (hereinafter also referred to as “transliteration pair”).
  • transliteration pair the pair “suko-chido / scorched” of the input character string “suko-chido” and the transliteration result “scorched” may be composed of the following four transliteration units.
  • the transliteration probability P JSC ( ⁇ s, t>) related to the input character string is calculated by the following equation (3) using the n-gram probability of the transliteration unit. .
  • the variable f is the number of transliteration units in the pair of input s and transliteration t.
  • u i ⁇ n + 1 ,..., U i ⁇ 1 ) of the transliteration unit is obtained using a training corpus (not shown) consisting of a large number of transliteration pairs. There is no annotation in the corpus regarding the correspondence with the characters. Therefore, the n-gram probability P is calculated by the following procedure similar to the EM algorithm.
  • the training corpus may be implemented as a database, or may be developed on a cache memory.
  • the initial alignment is set at random.
  • the alignment is a correspondence between an input character string and an output character string (transliteration).
  • the transliteration n-gram statistics are obtained using the current alignment, and the transliteration model is updated (E step).
  • the alignment is updated using the updated transliteration model (M step).
  • a transliteration candidate with a high probability may be generated using a stack decoder.
  • the input character string is given to the decoder character by character and transliterated by a reduce operation and a shift operation.
  • the reduce operation referring to the table of transliteration units, the top R transliteration units with high probability are generated and determined.
  • the shift operation the transliteration unit is not determined and is left as it is.
  • the transliteration probability for each candidate is calculated, leaving only the top B candidates with the highest probability.
  • the number of characters of the input character string in the transliteration unit and the transliteration is limited to 3 or less.
  • the calculation unit 14 is a functional element that obtains the score of each word candidate string with reference to the corpus 20.
  • the calculation unit 14 uses at least a corpus of sentences written in the same language as that used for transliteration, that is, an English corpus 21.
  • the calculation unit 14 also uses a Japanese corpus 22 that stores a large amount of Japanese sentences.
  • the Japanese corpus 22 there can be phrases (for example, “suko-chido redo”) delimited by spaces, midpoints, etc., and the calculation unit 14 uses such delimited text.
  • the score is obtained by the following procedure (second process).
  • the location of the corpus 20 is not limited.
  • the word segmentation device 10 and the corpus 20 are connected by a communication network such as the Internet, the calculation unit 14 accesses the corpus 20 via the network.
  • the word dividing device 10 itself may include the corpus 20.
  • the English corpus 21 and the Japanese corpus 22 may be provided in separate storage devices, or may be collected in one storage device.
  • the calculation unit 14 executes the following first and second processes for each word candidate string to obtain two scores ⁇ (y).
  • the calculation unit 14 obtains the score of the word candidate string ( ⁇ (y) in the expression (2)) using the English corpus 21 and the transliterated word candidate string. Therefore, the value obtained by this process is the first score.
  • the calculation unit 14 obtains a feature ⁇ 1 LMP related to an English unigram and a feature ⁇ 2 LMP related to an English bigram for each word candidate in the word candidate string.
  • the feature ⁇ 1 LMP can be said to be a value related to each node N in FIG. 4, and the feature ⁇ 2 LMP can be said to be a value related to each edge E in FIG.
  • the unigram feature is obtained by the following equation (4), and the bigram feature is obtained by the following equation (5).
  • N E is the number of occurrences of the word unigram (1 word) or word bigram (2 consecutive words) in English corpus 21.
  • N E (“scorched”) indicates the number of appearances of the word “scorched” in the English corpus 21
  • N E (“scorched”, “red”) indicates the number of appearances of the word candidate string “scorched red” in the English corpus. Show.
  • N E (w i ) indicates the number of appearances of a specific word w i
  • ⁇ N E (w) indicates the number of appearances of an arbitrary word. Therefore, p (w i ) indicates the probability that the word w i appears in the English corpus 21.
  • N E (w i ⁇ 1 , w i ) indicates the number of appearances of two consecutive words w i ⁇ 1 and w i
  • ⁇ N E (w ′, w) is an arbitrary number of consecutive 2 Indicates the number of occurrences of a word.
  • p (w i ⁇ 1 , w i ) indicates the probability that two consecutive words (w i ⁇ 1 , w i ) appear in the English corpus 21.
  • the two features ⁇ 1 LMP and ⁇ 2 LMP are logarithms of appearance probabilities.
  • the calculating unit 14 calculates a score (first score) ⁇ LMP in English by substituting the two features ⁇ 1 LMP and ⁇ 2 LMP into the above equation (2).
  • the calculation unit 14 calculates the only feature phi 1 LMP, sets the phi 2 LMP always zero.
  • the calculation unit 14 obtains the score of the word candidate string ( ⁇ (y) in Expression (2)) using the Japanese corpus 22 and the word candidate string before transliteration. Therefore, the value obtained by this processing is the second score.
  • the calculation unit 14 obtains a feature ⁇ 1 LMS related to the Japanese unigram and a feature ⁇ 2 LMS related to the Japanese bigram for each word candidate in the word candidate string.
  • the feature ⁇ 1 LMS can be said to be a value related to each node N in FIG. 4, and the feature ⁇ 2 LMS can be said to be a value related to each edge E in FIG.
  • the unigram feature is obtained by the following equation (6), and the bigram feature is obtained by the following equation (7).
  • N S is the number of occurrences of the word unigram (1 word) or word bigram (2 consecutive words) in Japanese corpus 22.
  • N S (“suko-chido”) indicates the number of occurrences of the word “suko-chido” in the Japanese corpus 22
  • N S (“suko-chido”), “red ( redo) ”)" indicates the number of occurrences of a word candidate string (for example, "suko-chido redo”) including a delimiter in the Japanese corpus 22.
  • N S (w i ) indicates the number of appearances of a specific word w i
  • ⁇ N S (w) indicates the number of appearances of an arbitrary word. Therefore, p (w i ) indicates the probability that the word w i appears in the Japanese corpus 22.
  • N S (w i ⁇ 1 , w i ) represents the number of appearances of two consecutive words w i ⁇ 1 and w i
  • ⁇ N S (w ′, w) represents any arbitrary two consecutive numbers. Indicates the number of occurrences of a word.
  • p (w i ⁇ 1 , w i ) indicates the probability that two consecutive words (w i ⁇ 1 , w i ) appear in the Japanese corpus 22.
  • the two features ⁇ 1 LMS and ⁇ 2 LMS are logarithms of appearance probabilities.
  • the calculation unit 14 calculates a score (second score) ⁇ LMS in Japanese by substituting the two features ⁇ 1 LMS and ⁇ 2 LMS into the above formula (2).
  • the calculation unit 14 calculates the only feature phi 1 LMS, sets the phi 2 LMS always zero.
  • the calculation unit 14 When the calculation unit 14 obtains two scores ⁇ LMP and ⁇ LMS for all word candidate strings, it outputs these results to the output unit 15.
  • the output unit 15 is a functional element that selects one word candidate string based on the calculated score and outputs the word candidate string as a result of dividing the input character string.
  • the output unit 15 normalizes the plurality of scores ⁇ LMP in the range of 0 to 1, and similarly normalizes the plurality of scores ⁇ LMS . Subsequently, the output unit 15 selects one word candidate string to be output as the final division result (that is, likely word continuation) based on the two normalized scores of each word candidate string.
  • the output unit 15 selects a word candidate string having the highest score ⁇ LMP in English, and when there are a plurality of such word candidate strings, the word candidate string having the highest ⁇ LMS related to Japanese is included therein. May be selected and output.
  • the output unit 15 may select a word candidate string having the largest sum of two scores ⁇ LMP and ⁇ LMS , and in this case, a value obtained by multiplying ⁇ LMP by a weight w p and a weight on ⁇ LMS A value obtained by multiplying w s may be added.
  • the output unit 15 may place importance on the score in English by setting the weight w p to be larger than the weight w s .
  • the output destination of the division result is not limited.
  • the output unit 15 may display the result on a monitor or print it via a printer.
  • the output unit 15 may store the result in a predetermined storage device.
  • the output unit 15 may generate a transliteration pair from the division result and store the transliteration pair in a training corpus used in the transliteration unit 13.
  • the new transliteration pair obtained by the word division apparatus 10 can be used in the next word division processing. As a result, it is possible to improve the accuracy of the transliteration processing or word division processing from the next time onward.
  • the output unit 15 generates two transliteration pairs ⁇ suko-chido, scorched> and ⁇ reddo, red>, and transposes these pairs. Register for a paired training corpus.
  • score normalization and word candidate string selection may be performed by the calculation unit 14 instead of the output unit 15.
  • the word dividing device 10 outputs a plausible word sequence.
  • the accepting unit 11 accepts input of a Japanese input character string (step S11, accepting step).
  • the dividing unit 12 generates a plurality of types of word candidate strings from the input character string using a plurality of division patterns (step S12, division step).
  • the transliteration unit 13 performs transliteration into English for each word candidate string (step S13, transliteration step).
  • step S14 calculation step
  • the calculation unit 14 obtains features related to the English unigram and the English bigram for each word candidate (step S142), and uses these features to determine the word candidate string. A score in English is obtained (step S143). When there are a plurality of transliteration patterns for one word candidate string, the calculation unit 14 repeats the processes of steps S142 and S143 for all the transliteration patterns (see step S144).
  • the calculation unit 14 obtains a feature related to the Japanese unigram and the Japanese bigram for each word candidate for the word candidate sequence (step S145), and uses these features to determine the Japanese for the word candidate sequence.
  • the score at is obtained (step S146).
  • the calculation unit 14 When two types of scores are obtained for one word candidate string, the calculation unit 14 performs the processing of steps S142 to S146 for the next word candidate string (see steps S147 and S148). When the calculation unit 14 performs the processing of steps S142 to S146 for all word candidate strings (step S147; YES), the processing proceeds to the output unit 15.
  • the output unit 15 selects one word candidate string based on the calculated score, and outputs the word candidate string as a result of dividing the input character string (step S15, output step).
  • the word dividing device 10 executes the processes shown in FIGS. 5 and 6 every time a new input character string is received.
  • many unknown words are divided into words, and the results are accumulated as knowledge used in various processes such as morphological analysis, translation, and search.
  • the word division program P includes a main module P10, a reception module P11, a division module P12, a transliteration module P13, a calculation module P14, and an output module P15.
  • the main module P10 is a part that comprehensively controls the word division function.
  • the functions realized by executing the reception module P11, the division module P12, the transliteration module P13, the calculation module P14, and the output module P15 are respectively the reception unit 11, the division unit 12, the transliteration unit 13, and the calculation unit. 14 and the function of the output unit 15.
  • the word division program P is provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, DVD-ROM, or semiconductor memory.
  • the word division program P may be provided via a communication network as a data signal superimposed on a carrier wave.
  • each of a plurality of types of word candidate strings is translated into English, and at least one word candidate string is obtained as a final result based on a score obtained with reference to the English corpus 21. Is output as In this way, various transliteration patterns are generated, and these patterns are compared with the corpus 20 to obtain plausible word continuations, thereby dividing various compound words into words without using transliteration pair information. Can do.
  • the present embodiment is particularly effective in dividing an unknown word described only with katakana, which cannot be properly divided by ordinary morphological analysis. For example, when analyzing a foreign word derived from English, the word is back-translated to English and the score is calculated using English knowledge, so that word segmentation with higher accuracy than before is possible. Can be expected.
  • not only the translated language but also the source language is referred to obtain a score, and a word candidate string is selected using both the first score and the second score.
  • a probable word continuity can be obtained more reliably in some cases.
  • the English corpus 21 and the Japanese corpus 22 are used to obtain the score in English and the score in Japanese for each word candidate string, but the word segmentation apparatus 10 uses only English knowledge. A plausible word sequence may be output.
  • the calculation unit 14 refers to the English corpus 21 to obtain an English score, and the output unit 15 uses only the score to provide one word candidate string (for example, the word candidate string having the highest score). Select.
  • word division can be performed by using at least the corpus 20 of the same language as that used for transliteration.
  • word division can be performed by using at least the corpus 20 of the same language as that used for transliteration.
  • the source language is Japanese and the translation language is English.
  • the present invention can be applied to other languages.
  • the present invention may be used to divide a Chinese phrase that is not separated like Japanese.
  • French may be used for transliteration and score calculation.
  • DESCRIPTION OF SYMBOLS 10 ... Word division

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

 一実施形態に係る単語分割装置は、受付部、分割部、翻字部、算出部、及び出力部を備える。受付部は、原言語で記述された入力文字列を受け付ける。分割部は、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する。翻字部は、各単語候補列内の各単語候補を翻訳言語に翻字する。算出部は、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める。出力部は、スコアに基づいて選択した単語候補列を出力する。

Description

単語分割装置、単語分割方法、及び単語分割プログラム
 本発明の一側面は、単語分割装置、単語分割方法、及び単語分割プログラムに関する。
 日本語や中国語などの分かち書きされない言語において、単語分割は重要な処理の一つである。単語分割の結果は、検索処理のためのインデックスの付与や、自動翻訳などの各種の応用に用いられるので、正確な単語分割が望まれる。
 一例として、英語の「scorched red」に相当する日本語の「スコーチドレッド(suko-chidoreddo)」は、その意味からして「スコーチド(suko-chido)」と「レッド(reddo)」とに分かれるのが正解である。しかし、これが「スコーチ(suko-chi)」と「ドレッド(doreddo)」とに単語分割されてしまうと、「スコーチドレッド(suko-chidoreddo)」を含む文書がキーワード「レッド(reddo)」では検索されずキーワード「ドレッド(doreddo)」により検索されてしまうという不都合が生じる。
 このように正確な単語分割が望まれるのであるが、これが困難な場合がある。一例として、日本語表現において片仮名のみで表現された複合語(例えば、他の言語から翻字された複合語)は空白や中点などで区切られないことが多いので、このような語をコンピュータが正確に分割するのは難しい。
 この単語分割に関して、下記非特許文献1には、単語単位での原言語と翻字との対応関係を示す翻字対が明記されたテキストからその翻字対を自動抽出することで単語対応付き翻字対を得て、この単語対応付き翻字対を用いて単語分割を実行する技術が記載されている。この手法では、例えば“ジャンクフード(junk food)”(“jankufu-do(junk food)”)という括弧表現を用いて記載されている翻字対がテキストから抽出されて、“ジャンクフード(jankufu-do)”という日本語表現が“ジャンク(janku)”と“フード(fu-do)”という二つの日本語の単語に分割される。
Kaji,N. and Kitsuregawa, M., "Splitting noun compounds via monolingual and bilingualparaphrasing: A study on japanese katakana words," Proceedings of the 2011Conference on Empirical Methods in Natural Language Processing, 2011, pages 959-969.
 しかし、上記非特許文献1に記載の手法は、原語とその翻字とが併記されたテキストの存在を前提としているので、どのテキストにも翻字対が明記されていないような文字列の分割に対応できず、したがってその活用の場面が限られる。そこで、翻字対がテキスト内に明記されていなくても様々な複合語を単語分割することが要請されている。
 本発明の一側面に係る単語分割装置は、原言語で記述された入力文字列を受け付ける受付部と、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、スコアに基づいて選択した単語候補列を出力する出力部とを備える。
 本発明の一側面に係る単語分割方法は、単語分割装置により実行される単語分割方法であって、原言語で記述された入力文字列を受け付ける受付ステップと、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割ステップと、各単語候補列内の各単語候補を翻訳言語に翻字する翻字ステップと、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出ステップと、スコアに基づいて選択した単語候補列を出力する出力ステップとを含む。
 本発明の一側面に係る単語分割プログラムは、原言語で記述された入力文字列を受け付ける受付部と、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、スコアに基づいて選択した単語候補列を出力する出力部とをコンピュータに実行させる。
 このような側面によれば、複数種類の単語候補列のそれぞれが翻字され、その翻字に用いたものと同じ言語のコーパスを参照して各単語候補列のスコアが算出される。そして、そのスコアに基づいて選択された単語候補列が出力される。このように、様々な翻字パターンを生成し、これらのパターンをコーパスと比較して尤もらしい単語連続を得ることで、翻字対がテキスト内に明記されていなくても様々な複合語を単語分割することができる。
 別の側面に係る単語分割装置では、算出部が、翻訳言語のコーパスにおける単語ユニグラムの出現確率と該コーパスにおける単語バイグラムの出現確率とを、翻字された単語候補列内の各単語候補について求め、これら二種類の出現確率に基づいて該単語候補列のスコアを求めてもよい。単語ユニグラム及び単語バイグラムの双方の出現確率に基づいてスコアを求めることで、一般に用いられている蓋然性が高い単語連続を得ることが可能になる。
 さらに別の側面に係る単語分割装置では、算出部が、単語候補列内の各単語候補について二種類の出現確率の対数の和を求め、該出現確率の対数の和を合計することで該単語候補列のスコアを求めてもよい。この場合には、単語ユニグラム及び単語バイグラムの出現確率の対数を加算するという簡単な計算によりスコアを得ることができる。
 さらに別の側面に係る単語分割装置では、出力部が、スコアが最も高い単語候補列を出力してもよい。この場合には、いちばん適切と考えられる単語連続を得ることが期待できる。
 さらに別の側面に係る単語分割装置では、分割部が、直前での分割が行われない禁止文字のリストを参照して、該禁止文字以外の文字の前でのみ入力文字列を分割してもよい。この場合には、原言語の構造上有り得ない単語の生成を、単語候補を生成する段階で回避できるので、生成される単語候補列の個数を少なくすることができる。その結果、その後の翻字処理及びスコア算出処理に掛かる時間を短縮することができる。
 さらに別の側面に係る単語分割装置では、翻字部が、翻字ペアを記憶するトレーニング・コーパスを参照して翻字処理を実行し、出力部が、選択した単語候補列から得られる翻字ペアをトレーニング・コーパスに登録してもよい。この場合には、今回の単語分割で得られた結果(知識)を次回以降の処理で用いることができるので、将来の翻字処理あるいは単語分割処理における精度の向上が期待できる。
 本発明の一側面によれば、翻字対の情報に依存することなく様々な複合語を単語分割することができる。
実施形態に係る単語分割の概念を示す図である。 実施形態に係る単語分割装置のハードウェア構成を示す図である。 実施形態に係る単語分割装置の機能構成を示すブロック図である。 ラティス構造の例を示す図である。 実施形態に係る単語分割装置の処理を示すフローチャートである。 図5におけるスコア算出処理の詳細を示すフローチャートである。 実施形態に係る単語分割プログラムの構成を示す図である。
 以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
 図1~4を用いて、実施形態に係る単語分割装置10の機能及び構成を説明する。単語分割装置10は、分かち書きを用いない日本語(原言語)で記述された入力文字列を、分かち書きを用いる英語(翻訳言語)への翻字処理と英語コーパスとを用いて、一又は複数の単語に分割するコンピュータである。一例として、単語分割装置10は、文を形態素解析している途中に、その文に存在し且つ辞書に登録されていない複合語(未知語)を適切に分割するために用いることができる。処理対象の複合語の一例として、片仮名のみで表記され且つ中点などの区切り記号が付けられていない外来語が挙げられる。もちろん、この装置の利用場面はこれらに限定されるものではなく、ひらがなのみ又は漢字のみで表された複合語の解析に単語分割装置10が用いられてもよい。
 本実施形態における単語分割の概念を図1に示す。この図では、片仮名で表記された複合語“スコーチドレッド(suko-chidoreddo)”を単語分割する例が示されている。なお、この複合語は英語の“scorched red”に相当する。
 まず、単語分割装置10はこの複合語を様々なパターンに分割する(ステップS1)。単語分割装置10はその複合語を様々な位置で且つ任意の個数に分割することで、複数種類の単語候補列を取得する。図1では複合語を二つの単語候補に分ける三つの例と、その複合語を三つの単語候補に分ける一つの例と、複合語を分けない例とが示されているが、当然ながら分割パターンはこれらに限定されない。例えば、複合語が他の分割パターンに従って二つ又は三つに分けられる場合もあるし、四つ以上の部分に分けられる場合もあるし、一文字ずつ分けられる場合もある。
 続いて、単語分割装置10は単語候補を翻字する処理をすべての単語候補列に対して実行する(ステップS2)。本実施形態では、単語分割装置10は日本語から英語への翻字を所定のルールに従って実行する。ここで、発音や表現は二言語間で1対1の対応関係を有するとは限らないので、一つの単語候補列において翻字の組合せが複数生成される場合がある。図1の例では、日本語の“レッド(reddo)”が英語の“red”、“read”、“led”に翻字されている。上記ステップS1における分割は英語の辞書を用いることなく機械的に実行されるので、英単語としては実際には存在しない綴りで単語候補が翻字される場合があり得る。
 続いて、単語分割装置10はコーパスを参照して、各単語候補列の尤もらしさを示すスコアを求め、そのスコアが最も高い単語候補列を単語分割の最終的な結果として出力する(ステップS3)。この処理において、単語分割装置10は少なくとも、翻字された各単語候補列のスコアを英語コーパス(すなわち、翻字で用いたものと同じ言語のコーパス)を参照して計算する。図1の例では、単語分割装置10は、英語の観点からすると“scorched red”という表現が他の表現よりも尤もらしいと判定して、入力文字列を最終的に“スコーチド(suko-chido)”と“レッド(reddo)”とに分割している。
 尤もらしい単語連続を得る処理は下記式(1)で示される。
 y=argmaxy∈Y(x)w・φ(y) …(1)
 ここで、xは入力文字列を示し、Y(x)はそのxから導かれ得るすべての単語候補列を示している。wはトレーニング・コーパス(training corpus)から学習することで得られる重みのベクトルである。φ(y)は素性(feature)のベクトルである。この式(1)は、argmaxの中身を最大化する素性φ(y)が得られる単語候補列yが、尤もらしい単語連続である、ということを示している。
 素性とは単語分割において考慮される属性であって、どのような情報を素性として取り扱うかは任意に決めることができる。本実施形態では、素性φ(y)は、単語候補列yのスコアと言い換えることができ、以下では最終的に得られる素性φ(y)を「スコアφ(y)」という。スコアφ(y)は次式(2)で定義される。
 φ(y)=Σ[φ(w)+φ(wi-1,w)] …(2)
 ここでy=w…wであり、これはyがn個の単語(w,…,w)の連続であることを示している。φ(w)は単語wについてのユニグラムの素性であり、φ(wi-1,w)は連続する二つの単語wi-1,wについてのバイグラムの素性である。したがって、本実施形態におけるスコアφ(y)は、ある一つの単語w自体の尤もらしさと、一つ前の単語wi-1及び単語wの並びの尤もらしさとの双方を考慮して得られる指数である。したがって、単に最も出現回数が多い翻字に対応する分割結果が得られるとは限らない。二種類の素性φ,φの具体的な定義は後述する。
 上記式(2)から明らかなように、スコアφ(y)は二種類の素性を加算するという単純な計算で得ることができる。ただし、式(2)は一例に過ぎない。二つの素性φ,φに対して加算以外の演算を用いて、あるいは加算とそれ以外の演算との組み合わせにより、スコアφ(y)を求めてもよい。
 図2を用いて、単語分割装置10のハードウェア構成を説明する。この図に示すように、単語分割装置10は、オペレーティングシステムやアプリケーション・プログラムなどを実行するCPU101と、ROM及びRAMで構成される主記憶部102と、ハードディスクなどで構成される補助記憶部103と、ネットワークカードなどで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイなどの出力装置106とを備えている。
 後述する単語分割装置10の各機能的構成要素は、CPU101又は主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102又は補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102又は補助記憶部103内に格納される。なお、図2では単語分割装置10が1台のコンピュータで構成されているように示しているが、単語分割装置10の機能を複数台のコンピュータに分散させてもよい。
 図3に示すように、単語分割装置10は機能的構成要素として受付部11、分割部12、翻字部13、算出部14、及び出力部15を備えている。
 受付部11は、日本語で記述された文字列の入力を受け付ける機能要素である。より具体的には、受付部11は、スペースや中点などの区切り記号を含まず且つ一種類の表音文字のみ(すなわち片仮名のみ又は平仮名のみ)により表記された入力文字列を受け付ける。受付部は入力文字列を分割部12に出力する。
 例えば、受付部11は「スコーチドレッド(suko-chidoreddo)」(英語の“scorched red”に相当)や「オンラインショッピングモール(onrainshoppingumo-ru)」(英語の“online shopping mall”に相当)などの文字列を受け付ける。
 受付部11が入力文字列を受け付けるタイミングは限定されない。例えば、受付部11は、自然言語処理装置(図示せず)が文を形態素解析している途中に又はした後に、その文に含まれている文字列を受け付けてもよい。あるいは、受付部11は形態素解析とは全く独立して入力文字列を受け付けてもよい。入力文字列の例として、既存の辞書データベースに登録されていない未知語が挙げられるが、既に何らかの辞書に登録されている語を単語分割装置10が処理することも有り得る。
 分割部12は、入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する機能要素である。分割部12は取得した複数種類の単語候補列を翻字部13に出力する。
 分割部12はすべての分割パターンに従って入力文字列を分割してもよい。説明を簡単にするために4文字の語が入力された場合を説明する。個々の文字をcとしてその語を{c}と表すとすれば、分割部12は下記8種類の単語候補列を得る。なお、記号「|」は区切り位置を示す。下記のリストのうち最初の単語候補列は、入力文字列の全体がそのまま一つの単語候補として扱われることを示す。
 c
 c|c
 c|c
 c|c
 c|c|c
 c|c|c
 c|c|c
 c|c|c|c
 これら8種類の分割パターンを示すラティス(lattice)構造を図4に示す。この図におけるBOSは文の始まりを示し、EOSはその終わりを示す。このラティス構造において、各単語候補はノードNで表され、単語間のつながりはエッジ(edge)Eで表される。
 分割部12は、単語の開始として取り得ない文字(本明細書では「禁止文字」という)の前の分割を避けるように単語候補列を生成してもよい。例えば、日本語の入力文字列に対して、分割部12は単語候補が拗音、促音、長音、又は「ン(n)」から始まらないように単語候補列を生成してもよい。例えば長音及び促音が禁止文字として予め登録されていれば、分割部12は「スコーチドレッド(suko-chidoreddo)」を「スコ(suko)」と「ーチドレッド(-chidoreddo)」とに分割しないし、「スコーチドレ(suko-chidore)」と「ッド(ddo)」とにも分割しない。
 この処理を行う場合には、分割部12は禁止文字のリストを予め内部に記憶しており、分割処理時にこのリストを参照することで、禁止文字の直前での分割を省略する。日本語として存在しないことが明らかである単語候補の生成をこの分割処理の時点で排除することで、図1におけるステップS2,S3に相当する処理(すなわち、翻字及びスコア算出)に掛かる時間を短縮することができる。
 翻字部13は、各単語候補列内の一以上の単語候補を英語に翻字する機能要素である。翻字部13は各単語候補列の翻字結果を算出部14に出力する。
 翻字部13は、任意の既存の手法(翻字ルール)を用いて日本語から英語への翻字を実行してよい。本実施形態では、あくまでもその手法の一例として、ジョイント・ソース・チャネル・モデル(Joint source Channel Model:JSCモデル)について以下に述べる。
 入力される文字列をsとし、翻字結果をtとする。また、日本語から英語への書換操作の単位(翻字単位)をu=<s,t>とする。翻字単位とは、入力文字列と出力文字列(翻字)とのペア(以下では「翻字ペア」ともいう)の最小単位のことである。例えば、入力文字列「スコーチド(suko-chido)」と翻字結果「scorched」とのペア「スコーチド(suko-chido)/scorched」は下記4個の翻字単位で構成されてもよい。
 「ス(su)/s」
 「コー(ko-)/cor」
 「チ(chi)/ch」
 「ド(do)/ed」
 これを前提として、JSCモデルでは、翻字単位のnグラム(n-gram)確率を用いて、入力文字列に関する翻字確率PJSC(<s,t>)を下記式(3)により計算する。
Figure JPOXMLDOC01-appb-M000001
 ここで、変数fは、入力s及び翻字tのペアにおける翻字単位の個数である。翻字単位のnグラム確率P(u|ui-n+1,…,ui-1)は、大量の翻字ペアから成るトレーニング・コーパス(図示せず)を用いて求めるが、入力と翻字との対応に関する注釈はそのコーパス中に存在しない。そこで、nグラム確率PはEMアルゴリズムに似た下記手順により算出される。なお、そのトレーニング・コーパスはデータベースとして実装されていてもよいし、キャッシュ・メモリ上に展開されていてもよい。
 まず初期アラインメント(alignment)をランダムに設定する。アラインメントとは、入力文字列と出力文字列(翻字)との対応のことである。続いて、現在のアラインメントを用いて翻字nグラム統計を求め、翻字モデルを更新する(Eステップ)。続いて、更新された翻字モデルを用いてアラインメントを更新する(Mステップ)。これらのEステップ及びMステップを、収束するまで繰り返す。
 上記式(3)は、複数の翻字単位確率が互いに独立であると仮定した上で、翻字ペアの確率を当該翻字単位確率の積で定義した場合に、翻字確率PJSC(<s,t>)が最大になる分割u…uを見つける問題に相当する。この翻字確率の対数である-logPJSC(<s,t>)を文字列sから文字列tへの書換操作のコストとみなすと、この問題は書換コストの合計の最小値を求める問題と等価である。よって、この問題は、通常の編集距離と同様に動的計画法により解くことができる。
 入力sに対する翻字tを出力するために、確率の高い翻字候補をスタック・デコーダ(stack decoder)を用いて生成してもよい。具体的には、入力文字列が一文字ずつデコーダに与えられ、リデュース(reduce)操作及びシフト(shift)操作により翻字される。reduce操作では、翻字単位の表を参照しながら、確率の高い上位R個の翻字単位が生成及び確定される。shift操作では、翻字単位は確定せずにそのまま残される。各文字が入力された後に各候補の翻字確率が計算され、確率の高い上位B個の候補のみが残される。値R,Bは任意に設定可能であるが、例えばR=16,B=64としてもよい。スタックデコーダを用いて生成された翻字候補は上記のJSCモデルで利用される。
 本実施形態では、尤もらしい翻字を得るために、あるいは4文字以上の翻字単位がそれより短い翻字単位の組み合わせで実現できることから、翻字単位内における入力文字列の文字数及び翻字の文字数を共に3以下に制限している。
 算出部14は、コーパス20を参照して各単語候補列のスコアを求める機能要素である。算出部14は少なくとも、翻字で用いたものと同じ言語で記述された文のコーパス、すなわち英語コーパス21を用いる。加えて、本実施形態では、算出部14は大量の和文を記憶する日本語コーパス22も用いる。日本語コーパス22内には、スペースや中点などで区切られた語句(例えば“スコーチド・レッド(suko-chido・reddo)”)が存在し得、算出部14はこのような区切り文字付のテキストも手掛かりとして下記手順(第2の処理)によりスコアを求める。
 なお、コーパス20の設置場所は限定されない。例えば単語分割装置10とコーパス20とがインターネットなどの通信ネットワークにより接続されていれば、算出部14はそのネットワークを経由してコーパス20にアクセスする。あるいは、単語分割装置10自体がコーパス20を備えていてもよい。英語コーパス21及び日本語コーパス22は別々の記憶装置に設けられていてもよいし、一つの記憶装置内に集められていてもよい。
 算出部14は各単語候補列について、下記第1及び第2の処理を実行して二つのスコアφ(y)を求める。
 第1の処理として、算出部14は英語コーパス21と翻字された単語候補列とを用いて単語候補列のスコア(式(2)におけるφ(y))を求める。したがって、この処理で得られる値は第1のスコアである。
 まず、算出部14は単語候補列内の各単語候補について英語ユニグラムに関する素性φ LMPと英語バイグラムに関する素性φ LMPとを求める。素性φ LMPは図4の各ノードNに関する値であるといえるし、素性φ LMPは同図の各エッジEに関する値であるといえる。ユニグラムの素性は下記式(4)で得られ、バイグラムの素性は下記式(5)で得られる。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 Nは英語コーパス21における単語ユニグラム(1単語)又は単語バイグラム(連続する2単語)の出現回数である。例えば、N(“scorched”)は英語コーパス21における単語“scorched”の出現回数を示し、N(“scorched”,“red”)は英語コーパスにおける単語候補列“scorched red”の出現回数を示す。
 式(4)において、N(w)は特定の単語wの出現回数を示し、ΣN(w)は任意の単語の出現回数を示す。したがって、p(w)は英語コーパス21中に単語wが出現する確率を示す。式(5)において、N(wi-1,w)は連続する二つの単語wi-1,wの出現回数を示し、ΣN(w´,w)は連続する任意の2単語の出現回数を示す。したがって、p(wi-1,w)は連続する2単語(wi-1,w)が英語コーパス21中に出現する確率を示す。式(4),(5)から明らかなように、二つの素性φ LMP,φ LMPは出現確率の対数である。
 続いて、算出部14は二つの素性φ LMP,φ LMPを上記式(2)に代入することで、英語でのスコア(第1のスコア)φLMPを算出する。なお、入力文字列を分割せずにそれ全体を一つの単語候補として扱う単語候補列に関しては、算出部14は素性φ LMPのみを算出し、φ LMPを常に0に設定する。
 第2の処理として、算出部14は日本語コーパス22と翻字前の単語候補列とを用いて単語候補列のスコア(式(2)におけるφ(y))を求める。したがって、この処理で得られる値は第2のスコアである。
 まず、算出部14は単語候補列内の各単語候補について日本語ユニグラムに関する素性φ LMSと日本語バイグラムに関する素性φ LMSとを求める。素性φ LMSは図4の各ノードNに関する値であるといえるし、素性φ LMSは同図の各エッジEに関する値であるといえる。ユニグラムの素性は下記式(6)で得られ、バイグラムの素性は下記式(7)で得られる。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 Nは日本語コーパス22における単語ユニグラム(1単語)又は単語バイグラム(連続する2単語)の出現回数である。例えば、N(“スコーチド(suko-chido)”)は日本語コーパス22における単語“スコーチド(suko-chido)”の出現回数を示し、N(“スコーチド(suko-chido)”,“レッド(reddo)”)は、日本語コーパス22内の、区切り文字を含む単語候補列(例えば、“スコーチド・レッド(suko-chido・reddo)”)の出現回数を示す。
 式(6)において、N(w)は特定の単語wの出現回数を示し、ΣN(w)は任意の単語の出現回数を示す。したがって、p(w)は日本語コーパス22中に単語wが出現する確率を示す。式(7)において、N(wi-1,w)は連続する二つの単語wi-1,wの出現回数を示し、ΣN(w´,w)は連続する任意の2単語の出現回数を示す。したがって、p(wi-1,w)は連続する2単語(wi-1,w)が日本語コーパス22中に出現する確率を示す。式(6),(7)から明らかなように、二つの素性φ LMS,φ LMSは出現確率の対数である。
 続いて、算出部14は二つの素性φ LMS,φ LMSを上記式(2)に代入することで、日本語でのスコア(第2のスコア)φLMSを算出する。なお、入力文字列を分割せずにそれ全体を一つの単語候補として扱う単語候補列に関しては、算出部14は素性φ LMSのみを算出し、φ LMSを常に0に設定する。
 算出部14はすべての単語候補列について二つのスコアφLMP,φLMSを求めると、これらの結果を出力部15に出力する。
 出力部15は、算出されたスコアに基づいて一の単語候補列を選択し、その単語候補列を入力文字列の分割結果として出力する機能要素である。
 まず、出力部15は複数のスコアφLMPを0から1の範囲で正規化するとともに、複数のスコアφLMSを同様に正規化する。続いて、出力部15は各単語候補列の正規化された二つのスコアに基づいて、最終的な分割結果(すなわち、尤もらしい単語連続)として出力する一つの単語候補列を選択する。
 この決定方法は一つに限定されない。例えば、出力部15は英語でのスコアφLMPが最も高い単語候補列を選択し、このような単語候補列が複数存在する場合には、日本語に関するφLMSが最も高い単語候補列をその中から選択して出力してもよい。あるいは、出力部15は二つのスコアφLMP,φLMSの和が最も大きい単語候補列を選択してもよく、この際には、φLMPに重みwを乗じた値と、φLMSに重みwを乗じた値とを足してもよい。本発明の一側面として、分かち書きを用いない原言語の知識だけでは難しい単語分割において、分かち書きを用いる翻訳言語の知識を用いるという技術的思想がある。そこで、重みを用いる場合には、出力部15は重みwを重みwよりも大きく設定することで英語でのスコアを重視してもよい。
 このように様々な決定方法が考えられるが、いずれにしても、上記二種類のスコアを用いることで尤もらしい単語連続(言い換えれば、いちばん適切と考えられる単語連続)を得ることができる。
 分割結果の出力先も限定されない。例えば、出力部15はその結果をモニタに表示してもよいしプリンタを介して印刷してもよい。あるいは、出力部15はその結果を所定の記憶装置に格納してもよい。例えば、出力部15は、分割結果から翻字ペアを生成して、翻字部13で用いられるトレーニング・コーパスにその翻字ペアを格納してもよい。この場合には、単語分割装置10で得られた新たな翻字ペアが、次回以降の単語分割処理で利用され得る。その結果、次回以降の翻字処理あるいは単語分割処理の精度を上げることが可能になる。
 例えば、入力文字列“スコーチドレッド(suko-chidoreddo)”から、分割結果{“スコーチド(suko-chido)”+レッド(reddo)”}とこれに対応する翻字{“scorched”+“red”}とが得られたとする。この場合には、出力部15は二つの翻字ペア<スコーチド(suko-chido),scorched>及び<レッド(reddo),red>を生成し、これらのペアを翻字ペアのトレーニング・コーパスに登録する。
 なお、スコアの正規化及び単語候補列の選択は出力部15ではなく算出部14により行われてもよい。いずれにしても、単語分割装置10は尤もらしい単語連続を出力する。
 次に、図5,6を用いて、単語分割装置10の動作を説明するとともに本実施形態に係る単語分割方法について説明する。
 まず、受付部11が日本語の入力文字列の入力を受け付ける(ステップS11、受付ステップ)。続いて、分割部12が複数の分割パターンを用いて、その入力文字列から複数種類の単語候補列を生成する(ステップS12、分割ステップ)。続いて、続いて、翻字部13が、各単語候補列について英語への翻字を実行する(ステップS13、翻字ステップ)。
 続いて、算出部14が、各単語候補列についてスコアを算出する(ステップS14、算出ステップ)。この処理を図6を用いてより詳細に説明する。
 算出部14は最初の単語候補列に対して(ステップS141を参照)、各単語候補についての英語ユニグラム及び英語バイグラムに関する素性を求め(ステップS142)、これらの素性を用いて、その単語候補列について英語でのスコアを求める(ステップS143)。一つの単語候補列について複数の翻字パターンが存在する場合には、算出部14はそのすべての翻字パターンについて上記ステップS142,S143の処理を繰り返す(ステップS144参照)。
 続いて、算出部14はその単語候補列に対して、各単語候補についての日本語ユニグラム及び日本語バイグラムに関する素性を求め(ステップS145)、これらの素性を用いて、その単語候補列について日本語でのスコアを求める(ステップS146)。
 一つの単語候補列について二種類のスコアを得ると、算出部14は次の単語候補列についてステップS142~S146の処理を実行する(ステップS147,S148を参照)。算出部14がすべての単語候補列についてステップS142~S146の処理を行うと(ステップS147;YES)、処理は出力部15に移る。
 図5に戻って、出力部15は算出されたスコアに基づいて一つの単語候補列を選択し、その単語候補列を入力文字列の分割結果として出力する(ステップS15、出力ステップ)。
 単語分割装置10は、新たな入力文字列を受け付ける度に、図5,6に示す処理を実行する。その結果、例えば多くの未知語が単語分割され、その結果が、形態素解析や翻訳、検索などの各種処理において用いられる知識として蓄積されていく。
 次に、図7を用いて、コンピュータを単語分割装置10として機能させるための単語分割プログラムPを説明する。
 単語分割プログラムPは、メインモジュールP10、受付モジュールP11、分割モジュールP12、翻字モジュールP13、算出モジュールP14、及び出力モジュールP15を備えている。
 メインモジュールP10は、単語分割機能を統括的に制御する部分である。受付モジュールP11、分割モジュールP12、翻字モジュールP13、算出モジュールP14、及び出力モジュールP15を実行することにより実現される機能はそれぞれ、上記の受付部11、分割部12、翻字部13、算出部14、及び出力部15の機能と同様である。
 単語分割プログラムPは、例えば、CD-ROMやDVD-ROM、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供される。また、単語分割プログラムPは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
 以上説明したように、本実施形態によれば、複数種類の単語候補列のそれぞれが英語に翻字され、少なくとも英語コーパス21を参照して求めたスコアに基づいて一つの単語候補列が最終結果として出力される。このように、様々な翻字パターンを生成し、これらのパターンをコーパス20と比較して尤もらしい単語連続を得ることで、翻字対の情報を用いることなく様々な複合語を単語分割することができる。
 一例として、通常の形態素解析では適切に分けることができない、片仮名のみで記述された未知語を単語分割する際に本実施形態は特に有効である。例えば、英語由来の外来語を解析する場合には、その語が英語に逆翻字され(back-transliterated)、英語の知識を用いてスコアが算出されるので、従来よりも精度の高い単語分割が期待できる。
 特に本実施形態では、翻訳言語だけでなく原言語についてもコーパスを参照してスコアを求め、第1のスコア及び第2のスコアの双方を用いて単語候補列を選択している。このように複数の言語の知識を利用することで、場合によっては、尤もらしい単語連続をより確実に得ることができる。
 本実施形態のように、単語ユニグラム及び単語バイグラムの双方の出現確率に基づいてスコアを求めることで、単語そのものの尤もらしさと連続する2単語の尤もらしさとの双方を考慮したスコアが得られる。このように複数種類のnグラムを考慮することで、一般に用いられている蓋然性が高い単語連続を得ることが可能になる。また、3単語以上の単語候補列について処理しないことで計算が単純になるので、処理速度の低下を避けることができる。
 以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
 上記実施形態では、英語コーパス21及び日本語コーパス22を用い、個々の単語候補列について英語でのスコアと日本語でのスコアとを求めたが、単語分割装置10は英語の知識のみを用いて尤もらしい単語連続を出力してもよい。この場合には、算出部14は英語コーパス21を参照して英語でのスコアを求め、出力部15はそのスコアのみを用いて一つの単語候補列(例えば、そのスコアが最も高い単語候補列)を選択する。
 このように、本発明では、翻字に用いるものと同じ言語のコーパス20のみを少なくとも用いることで単語分割を行うことができる。本発明の一側面として、分かち書きを用いない原言語の知識からだけでは困難な単語分割を、分かち書きを用いる翻訳言語の知識を用いて適切に実行しようという目的がある。したがって、翻訳言語のコーパスを参照して得られる当該言語のスコアのみを用いた場合でも、上記実施形態と同様の効果が得られる。
 上記実施形態では原言語が日本語であり翻訳言語が英語であったが、これら以外の言語に対しても本発明を適用し得る。例えば、日本語同様に分かち書きをしない中国語の語句を単語分割するために本発明を用いてもよい。別の例として、翻字及びスコア算出のためにフランス語を用いてもよい。
 10…単語分割装置、11…受付部、12…分割部、13…翻字部、14…算出部、15…出力部、20…コーパス、21…英語コーパス(翻訳言語のコーパス)、22…日本語コーパス(原言語のコーパス)、P…単語分割プログラム、P10…メインモジュール、P11…受付モジュール、P12…分割モジュール、P13…翻字モジュール、P14…算出モジュール、P15…出力モジュール。
 

Claims (8)

  1.  原言語で記述された入力文字列を受け付ける受付部と、
     前記入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、
     各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、
     前記翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、
     前記スコアに基づいて選択した前記単語候補列を出力する出力部と
    を備える単語分割装置。
  2.  前記算出部が、前記翻訳言語のコーパスにおける単語ユニグラムの出現確率と該コーパスにおける単語バイグラムの出現確率とを、前記翻字された単語候補列内の各単語候補について求め、これら二種類の出現確率に基づいて該単語候補列の前記スコアを求める、
    請求項1に記載の単語分割装置。
  3.  前記算出部が、前記単語候補列内の各単語候補について前記二種類の出現確率の対数の和を求め、該出現確率の対数の和を合計することで該単語候補列の前記スコアを求める、
    請求項2に記載の単語分割装置。
  4.  前記出力部が、前記スコアが最も高い前記単語候補列を出力する、
    請求項1~3のいずれか一項に記載の単語分割装置。
  5.  前記分割部が、直前での分割が行われない禁止文字のリストを参照して、該禁止文字以外の文字の前でのみ前記入力文字列を分割する、
    請求項1~4のいずれか一項に記載の単語分割装置。
  6.  前記翻字部が、翻字ペアを記憶するトレーニング・コーパスを参照して翻字処理を実行し、
     前記出力部が、前記選択した単語候補列から得られる前記翻字ペアを前記トレーニング・コーパスに登録する、
    請求項1~5のいずれか一項に記載の単語分割装置。
  7.  単語分割装置により実行される単語分割方法であって、
     原言語で記述された入力文字列を受け付ける受付ステップと、
     前記入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割ステップと、
     各単語候補列内の各単語候補を翻訳言語に翻字する翻字ステップと、
     前記翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出ステップと、
     前記スコアに基づいて選択した前記単語候補列を出力する出力ステップと
    を含む単語分割方法。
  8.  原言語で記述された入力文字列を受け付ける受付部と、
     前記入力文字列を一以上の単語候補に分割する処理を複数の分割パターンを用いて実行することで、複数種類の単語候補列を取得する分割部と、
     各単語候補列内の各単語候補を翻訳言語に翻字する翻字部と、
     前記翻訳言語のコーパスを参照して、翻字された各単語候補列の尤もらしさをスコアとして求める算出部と、
     前記スコアに基づいて選択した前記単語候補列を出力する出力部と
    をコンピュータに実行させる単語分割プログラム。
PCT/JP2013/071706 2012-12-06 2013-08-09 単語分割装置、単語分割方法、及び単語分割プログラム WO2014087703A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014532167A JP5646792B2 (ja) 2012-12-06 2013-08-09 単語分割装置、単語分割方法、及び単語分割プログラム
KR1020157004668A KR101544690B1 (ko) 2012-12-06 2013-08-09 단어 분할 장치, 단어 분할 방법 및 단어 분할 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261734039P 2012-12-06 2012-12-06
US61/734039 2012-12-06

Publications (1)

Publication Number Publication Date
WO2014087703A1 true WO2014087703A1 (ja) 2014-06-12

Family

ID=50883134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/071706 WO2014087703A1 (ja) 2012-12-06 2013-08-09 単語分割装置、単語分割方法、及び単語分割プログラム

Country Status (3)

Country Link
JP (1) JP5646792B2 (ja)
KR (1) KR101544690B1 (ja)
WO (1) WO2014087703A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815593A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 中文文本相似度的确定方法和装置
CN108664545A (zh) * 2018-03-26 2018-10-16 商洛学院 一种英语翻译学习用数据处理方法
CN108875040A (zh) * 2015-10-27 2018-11-23 上海智臻智能网络科技股份有限公司 词典更新方法及计算机可读存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251832B1 (ko) 2016-06-16 2021-05-13 삼성전자주식회사 번역 서비스를 제공하는 전자 장치 및 방법
WO2018101735A1 (ko) * 2016-11-29 2018-06-07 주식회사 닷 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램
KR102016601B1 (ko) * 2016-11-29 2019-08-30 주식회사 닷 제한된 영역을 활용한 데이터 변환 장치, 방법 및 컴퓨터 프로그램
KR102438784B1 (ko) 2018-01-05 2022-09-02 삼성전자주식회사 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
CN110502737B (zh) * 2018-05-18 2023-02-17 中国医学科学院北京协和医院 一种基于医学专业词典与统计算法的分词方法
WO2021107445A1 (ko) * 2019-11-25 2021-06-03 주식회사 데이터마케팅코리아 지식 그래프 및 국가별 음역 전환 기반 신조어 정보 서비스 제공 방법 및 그 장치
CN111241832B (zh) * 2020-01-15 2023-08-15 北京百度网讯科技有限公司 核心实体标注方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ISAO GOTO ET AL.: "Transliteration Using Optimal Segmentation to Partial Letters and Conversion Considering Context", T HE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. J92-D, no. 6, 1 June 2009 (2009-06-01), pages 909 - 920 *
YASUMUNE ADAMA ET AL.: "Acquisition of Translation Knowledge for Japanese -English Cross-lingual Information Retrieval", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN DATABASE, vol. 45, no. SIG10, 15 September 2004 (2004-09-15), pages 37 - 48 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875040A (zh) * 2015-10-27 2018-11-23 上海智臻智能网络科技股份有限公司 词典更新方法及计算机可读存储介质
CN108875040B (zh) * 2015-10-27 2020-08-18 上海智臻智能网络科技股份有限公司 词典更新方法及计算机可读存储介质
CN106815593A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 中文文本相似度的确定方法和装置
CN106815593B (zh) * 2015-11-27 2019-12-10 北京国双科技有限公司 中文文本相似度的确定方法和装置
CN108664545A (zh) * 2018-03-26 2018-10-16 商洛学院 一种英语翻译学习用数据处理方法

Also Published As

Publication number Publication date
JPWO2014087703A1 (ja) 2017-01-05
KR20150033735A (ko) 2015-04-01
JP5646792B2 (ja) 2014-12-24
KR101544690B1 (ko) 2015-08-13

Similar Documents

Publication Publication Date Title
JP5646792B2 (ja) 単語分割装置、単語分割方法、及び単語分割プログラム
KR102268875B1 (ko) 전자 장치에 텍스트를 입력하는 시스템 및 방법
US7478033B2 (en) Systems and methods for translating Chinese pinyin to Chinese characters
US20070021956A1 (en) Method and apparatus for generating ideographic representations of letter based names
Laboreiro et al. Tokenizing micro-blogging messages using a text classification approach
US20080059146A1 (en) Translation apparatus, translation method and translation program
US20060241934A1 (en) Apparatus and method for translating Japanese into Chinese, and computer program product therefor
JP2014078132A (ja) 機械翻訳装置、方法およびプログラム
WO2009035863A2 (en) Mining bilingual dictionaries from monolingual web pages
WO2005059771A1 (ja) 対訳判断装置、方法及びプログラム
JP6404511B2 (ja) 翻訳支援システム、翻訳支援方法、および翻訳支援プログラム
KR101664258B1 (ko) 텍스트 전처리 방법 및 이를 수행하는 전처리 시스템
US20050273316A1 (en) Apparatus and method for translating Japanese into Chinese and computer program product
Noaman et al. Automatic Arabic spelling errors detection and correction based on confusion matrix-noisy channel hybrid system
JP2017004127A (ja) テキスト分割プログラム、テキスト分割装置、及びテキスト分割方法
Van Der Goot et al. Lexical normalization for code-switched data and its effect on POS-tagging
KR101083455B1 (ko) 통계 데이터에 기초한 사용자 질의 교정 시스템 및 방법
Uthayamoorthy et al. Ddspell-a data driven spell checker and suggestion generator for the tamil language
Ganfure et al. Design and implementation of morphology based spell checker
Mon et al. SymSpell4Burmese: symmetric delete Spelling correction algorithm (SymSpell) for burmese spelling checking
Yang et al. Spell Checking for Chinese.
Kaur et al. Spell Checking and Error Correcting System for text paragraphs written in Punjabi Language using Hybrid approach
JP2008204399A (ja) 略語抽出方法、略語抽出装置およびプログラム
Hsieh et al. Correcting Chinese spelling errors with word lattice decoding
JP2009176148A (ja) 未知語判定システム、方法及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2014532167

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 13860598

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20157004668

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13860598

Country of ref document: EP

Kind code of ref document: A1