WO2013128684A1 - 辞書生成装置、方法、及びプログラム - Google Patents

辞書生成装置、方法、及びプログラム Download PDF

Info

Publication number
WO2013128684A1
WO2013128684A1 PCT/JP2012/072350 JP2012072350W WO2013128684A1 WO 2013128684 A1 WO2013128684 A1 WO 2013128684A1 JP 2012072350 W JP2012072350 W JP 2012072350W WO 2013128684 A1 WO2013128684 A1 WO 2013128684A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
dictionary
unit
text
boundary
Prior art date
Application number
PCT/JP2012/072350
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 CN201280030052.2A priority Critical patent/CN103608805B/zh
Priority to KR1020137030410A priority patent/KR101379128B1/ko
Priority to JP2013515598A priority patent/JP5373998B1/ja
Publication of WO2013128684A1 publication Critical patent/WO2013128684A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Definitions

  • One embodiment of the present invention relates to an apparatus, a method, a program, and a computer-readable recording medium for generating a word dictionary.
  • Japanese Patent Application Laid-Open No. 2004-228561 searches for a word to be matched with a partial character string of an input text from a word dictionary and generates it as a word candidate. Is selected as an unknown word candidate, and the unknown word model is used to estimate the word appearance probability of each unknown part of speech using the unknown word model, and the word sequence that maximizes the joint probability is determined using dynamic programming. The required technology is described.
  • a dictionary generation apparatus is a model generation unit that generates a word division model using a corpus and a word group prepared in advance, and each text included in the corpus indicates a word boundary.
  • the model generation unit to which boundary information is given, and an analysis unit that executes word division with a word division model incorporated into the collected set of texts and gives boundary information to each text;
  • a selection unit that selects a word to be registered in the dictionary from the text to which boundary information is given by the analysis unit, and a registration unit that registers the word selected by the selection unit in the dictionary.
  • a dictionary generation method is a dictionary generation method executed by a dictionary generation device, and includes a model generation step of generating a word division model using a corpus and a word group prepared in advance. Each text included in the corpus is provided with boundary information indicating word boundaries, and the model generation step and word division incorporating a word division model are executed on the collected text set.
  • a dictionary generation program is a model generation unit that generates a word division model using a corpus and a word group prepared in advance, and each text included in the corpus indicates a word boundary.
  • the model generation unit to which boundary information is given, and an analysis unit that executes word division with a word division model incorporated into the collected set of texts and gives boundary information to each text;
  • a computer executes a selection unit that selects a word to be registered in the dictionary from the text to which boundary information is given by the analysis unit, and a registration unit that registers the word selected by the selection unit in the dictionary.
  • a computer-readable recording medium is a model generation unit that generates a word division model using a corpus and a word group prepared in advance, and each text included in the corpus includes a word The model generation unit to which boundary information indicating a boundary is given, and an analysis for giving boundary information to each text by executing word division incorporating a word division model on the collected text set
  • a dictionary generation program that causes a computer to execute a selection unit that selects a word to be registered in the dictionary from the text to which boundary information is provided by the analysis unit, and a registration unit that registers the word selected by the selection unit in the dictionary
  • a word division model is generated using a corpus to which boundary information is given and a word group, and the word division incorporating the model is applied to the text set. Then, a word is selected from the text set to which boundary information is given by this application and registered in the dictionary. In this way, by adding boundary information to a text set by analysis using a corpus with boundary information, a word dictionary extracted from the text set is registered to easily build a large-scale word dictionary. be able to.
  • the selection unit may select a word to be registered in the dictionary based on the appearance frequency of each word calculated from the boundary information given by the analysis unit.
  • the accuracy of the dictionary can be increased by considering the appearance frequency calculated in this way.
  • the selection unit may select a word whose appearance frequency is equal to or higher than a predetermined threshold.
  • the selection unit extracts words having an appearance frequency equal to or higher than a threshold as registration candidates, selects a predetermined number of words from the registration candidates in order from the word having the highest appearance frequency, and registers them.
  • the unit may add the word selected by the selection unit to the dictionary in which the word group is recorded. By registering only words with a relatively high appearance frequency in the dictionary, the accuracy of the dictionary can be improved. Further, by adding words to a word group dictionary prepared in advance, the configuration of the dictionary can be simplified.
  • the selection unit extracts words having an appearance frequency equal to or higher than a threshold as registration candidates, selects a predetermined number of words from the registration candidates in order from the word having the highest appearance frequency, and registers them.
  • the unit may register the word selected by the selection unit in a dictionary different from the dictionary in which the word group is recorded. By registering only words with a relatively high appearance frequency in the dictionary, the accuracy of the dictionary can be improved. Further, by adding words to a dictionary different from the dictionary of existing word groups (existing dictionary), it is possible to generate a dictionary having characteristics different from those of the existing dictionary.
  • the registration unit may register the word selected by the selection unit in a dictionary different from the dictionary in which the word group is recorded.
  • the selection unit extracts words whose appearance frequency is equal to or higher than a threshold as registration candidates, groups the registration candidate words according to the appearance frequency, and the registration unit
  • the plurality of groups generated by the selection unit may be individually registered in a plurality of dictionaries different from the dictionary in which the word group is recorded.
  • each of the collected texts is associated with information indicating the field of the text
  • the registration unit includes the word selected by the selection unit. It may be individually registered in a dictionary prepared for each field based on the field of the text. By generating a dictionary for each field, a plurality of dictionaries having different characteristics can be generated.
  • the boundary information includes first information indicating that no boundary exists at the position between characters, second information indicating that a boundary exists at the position between characters, and characters And the third information indicating that the boundary is probabilistically present at the interposition, and the appearance frequency of each word may be calculated based on the first, second, and third information.
  • the text can be more appropriately divided into a plurality of words by introducing the third information indicating an intermediate concept instead of simply selecting whether or not a boundary exists.
  • the analysis unit includes a first binary classifier and a second binary classifier, and the first binary classifier has a first position for each character position. Whether to allocate information other than the first information, or whether the second binary classifier assigns information other than the first information by the first binary classifier For the inter-position, it may be determined whether the second information or the third information is assigned.
  • the collected text set is divided into a plurality of groups, and the analysis unit, the selection unit, and the registration unit perform processing based on one of the plurality of groups.
  • the model generation unit generates a word division model using the corpus, the word group, and the word registered by the registration unit, and then the analysis unit, the selection unit, and the registration unit are another one of the plurality of groups.
  • One process may be executed.
  • a large-scale word dictionary can be easily constructed.
  • the dictionary generation apparatus 10 extracts a word from the text set by analyzing a set of collected large amounts of text (hereinafter also referred to as “large-scale text”), and adds the extracted word to the dictionary It is.
  • large-scale text a set of collected large amounts of text
  • the dictionary generation apparatus 10 includes a CPU 101 that executes an operating system, application programs, and the like, a main storage unit 102 that includes a ROM and a RAM, an auxiliary storage unit 103 that includes a hard disk, and the like.
  • 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 dictionary generation device 10 to be described later reads predetermined software on the CPU 101 and 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.
  • the operation is realized by reading and writing data in the main storage unit 102 and the auxiliary storage unit 103. Data and databases necessary for processing are stored in the main storage unit 102 and the auxiliary storage unit 103.
  • the dictionary generation device 10 is illustrated as being configured by a single computer, but the functions of the dictionary generation device 10 may be distributed to a plurality of computers.
  • the dictionary generation apparatus 10 includes a model generation unit 11, an analysis unit 12, a selection unit 13, and a registration unit 14 as functional components.
  • the dictionary generation device 10 refers to the learning corpus 20, the existing dictionary 31, and the large-scale text 40 prepared in advance, and stores the extracted words in the word dictionary 30.
  • the word dictionary 30 includes at least the existing dictionary 31 and may further include one or more additional dictionaries 32.
  • the learning corpus 20 is a set of texts to which boundary information (annotations) indicating word boundaries (division positions when a sentence is divided into words) is attached (associated), and is prepared in advance as a database.
  • Text is a sentence or character string consisting of a plurality of words.
  • a predetermined number of texts randomly extracted from the titles and descriptions of the products stored in the website of the virtual shopping street are used as the material of the learning corpus 20.
  • Boundary information is given to each extracted text manually by the evaluator.
  • the setting of boundary information is performed based on two techniques of word division by point estimation and a three-stage word division corpus.
  • the value indicated by this tag b i can be said to be the intensity of the split.
  • the value of the word boundary tag is determined by referring to the feature obtained from the characters existing around it.
  • the value of the word boundary tag is set using three types of features, that is, a character feature, a character type feature, and a dictionary feature.
  • Character feature is in contact with the boundary b i, or the boundary b i all characters length n of the enclosing (n-gram), is a feature represented by a combination of relative positions with respect to the position b i.
  • n 3 in FIG. 3
  • “ ⁇ 1 / n (n)” “1 /” is set for the boundary b i between “n (n)” and “wo (wo)”.
  • (Wo) ""-2 / pen “"-1 / n (n wo) "" 1 / buy (wo ka) ""-3 / rupen "”-2 / pen (( 9 features of “pen wo”, “-1 / buy (n wo ka)”, “1 / buy (wo kat)”.
  • the character type feature is the same as the character type feature described above except that the character type is handled instead of the character.
  • the character types eight types of hiragana, katakana, kanji, upper case alphabet, lower case alphabet, arabic numerals, kanji numerals, and middle black (•) were considered.
  • the character type to be used and the number of the types are not limited at all.
  • the dictionary feature is a feature representing whether or not a word having a length j (1 ⁇ j ⁇ k) located around the boundary exists in the dictionary.
  • the dictionary feature is a flag indicating whether the boundary b i is located at the end point of the word (L), whether it is located at the start point (R) or contained in the word (M), It is shown in combination with the length j of the word. If the words “pen” and “wo” are registered in the dictionary, dictionary features L2 and R1 are created for the boundary bi in FIG. As will be described later, when a plurality of dictionaries are used, a dictionary identifier is assigned to the dictionary feature.
  • the maximum n-gram length n in the character feature and the character type feature is 3 and the maximum word length k in the dictionary feature is 8, but these values may be arbitrarily determined.
  • a three-stage word segmentation corpus that introduces the concept of “half segmentation” as well as the binary of “segmentation” and “non-segmentation” as described above is used.
  • the three-stage word division corpus is a technique that develops probabilistic word division that indicates a division mode with a probabilistic value.
  • the three-stage word division corpus is used because the number of word division strengths that humans can actually recognize is only a few levels at most, and it is not necessary to indicate the mode of division with continuous probability values.
  • Half-splitting is an aspect indicating that a boundary is probabilistically present (within a probability range greater than 0 and less than 1) at the position between characters.
  • This is a corpus generated by division.
  • a compound noun such as “ball / pen (bo-ru / pen)”, a compound verb such as “ori / tatama” (“fold” in English), “o / sume (o / ”) (" Recommendation "in English)
  • “rechargeable battery” in English, “rechargeable battery” means “rechargeable” (in English, “recharge”) and “denchi” (in English, “battery”). Although it can be said that it is a compound word of the type “AB + BC ⁇ ABC”, such a word is divided in half as “charge / electricity / pond (juu / den / chi)”.
  • Each word is given a word boundary tag as boundary information and stored in the database as a learning corpus 20.
  • the method for adding the boundary information to the text is arbitrary.
  • boundary information may be embedded in each text so that “divided” is indicated by a space, “half-divided” is indicated by a hyphen, and the display of “non-divided” is omitted.
  • the text with the boundary information can be recorded as a character string.
  • the existing dictionary 31 is a set of a predetermined number of words, and is prepared in advance as a database.
  • the existing dictionary 31 may be a generally used electronic dictionary, for example, a UniDic morphological analysis dictionary.
  • the large-scale text 40 is a collection of collected text and is prepared in advance as a database.
  • the large-scale text 40 may include an arbitrary sentence or character string according to the word to be extracted and the field of the word. For example, a large number of product titles and explanations may be collected from a virtual shopping street website, and the large-scale text 40 may be constructed from these raw data.
  • the number of texts prepared as the large-scale text 40 is overwhelmingly larger than the number of texts included in the learning corpus 20.
  • the model generation unit 11 is means for generating a word division model using the learning corpus 20 and the word dictionary 30.
  • the model generation unit 11 includes a support vector machine (SVM), and generates a word division model by inputting a learning corpus 20 and a word dictionary 30 to the machine and executing learning processing. To do.
  • This word segmentation model shows the rules on how to segment text, and is output as a parameter group used for word segmentation.
  • the algorithm used for machine learning is not limited to SVM, and may be a decision tree or logistic regression.
  • the model generation unit 11 causes the SVM to perform learning based on the learning corpus 20 and the existing dictionary 31, thereby generating an initial word division model (baseline model). Then, the model generation unit 11 outputs this word division model to the analysis unit 12.
  • the model generation unit 11 performs learning (re-execution) based on the learning corpus 20 and the entire word dictionary 30.
  • a corrected word division model is generated by causing the SVM to execute (learning) processing.
  • the whole word dictionary 30 means all the words stored in the existing dictionary 31 from the beginning and the words obtained from the large-scale text 40.
  • the analysis unit 12 is means for executing analysis (word division) in which the word division model is incorporated on the large-scale text 40 and adding (associating) boundary information to each text. As a result, a large amount of text as shown in FIG. 3 is obtained.
  • the analysis unit 12 performs such word division on each text constituting the large-scale text 40, so that the “division” (second information), “half-division” (third information), and Boundary information indicating “non-divided” (first information) is assigned to each text, and all processed texts are output to the selection unit 13.
  • the analysis unit 12 includes two binary classifiers, and uses these classifiers in order to give three types of boundary information to each text.
  • the first classifier is means for determining whether the inter-character position is “non-divided” or otherwise, and the second classifier is whether the boundary determined not to be “non-divided” is “divided” or “ It is a means for determining whether it is “half-split”. In reality, since the majority of the inter-character positions are “non-divided”, it is first determined whether or not the inter-character positions are “non-divided”, and then determined to be other than “non-divided”. By determining the division mode for, boundary information can be efficiently given to a large amount of text. Moreover, the structure of the analysis part 12 can be simplified by combining a binary classifier.
  • the selection unit 13 is a means for selecting a word to be registered in the word dictionary 30 from the text to which boundary information is given by the analysis unit 12.
  • the selection part 13 calculates
  • This calculation means that the appearance frequency can be obtained from the boundary information b i given to each inter-character position.
  • O 1 indicates the appearance of the notation of the word w and is defined as follows.
  • the selection part 13 calculates
  • the selection unit 13 selects only words having a total appearance frequency equal to or higher than the first threshold value THa from the word group in the large-scale text 40 as a registration candidate V (word truncation by frequency). Then, the selection unit 13 selects a word to be finally registered in the word dictionary 30 from the registration candidates V, and determines a dictionary (database) for storing the word as necessary.
  • the method of determining the word to be finally registered and the dictionary of the storage destination is not limited to one, and various methods can be used as described below.
  • the selection unit 13 may determine to add only words having a total appearance frequency equal to or higher than a predetermined threshold among the registration candidates V to the existing dictionary 31. In this case, the selection unit 13 may select only words whose total appearance frequency is the second threshold THb (where THb> THa), or may select only words whose total appearance frequency is the top n. Hereinafter, such processing is also referred to as “APPEND”.
  • the selection unit 13 may determine to register only words whose total appearance frequency is greater than or equal to a predetermined threshold among the registration candidates V in the additional dictionary 32. Also in this case, the selection unit 13 may select only words whose total appearance frequency is the second threshold THb (where THb> THa), or may select only words whose total appearance frequency is the top n. Hereinafter, such processing is also referred to as “TOP”.
  • the selection unit 13 may determine to register all the registration candidates V in the additional dictionary 32. Hereinafter, such processing is also referred to as “ALL”.
  • the selection unit 13 may determine to divide the registration candidates V into a plurality of subsets according to the total appearance frequency and register each subset in the individual additional dictionary 32.
  • a subset having the total appearance frequency up to the top n is represented as V n .
  • the selection unit 13 sets the subset V 1000 composed of the words up to the top 1000, the subset V 2000 composed of the words up to the top 2000, and the subset V 3000 composed of the words up to the top 3000. And generate Then, the selection unit 13 determines to register the subsets V 1000 , V 2000 , and V 3000 in the first additional dictionary 32, the second additional dictionary 32, and the third additional dictionary 32.
  • the number of subsets to be generated and the size of each subset may be arbitrarily determined. Hereinafter, such processing is referred to as “MULTI”.
  • the selection unit 13 When the word to be finally registered is selected and the storage destination dictionary is determined, the selection unit 13 outputs the selection result to the registration unit 14.
  • the registration unit 14 is a means for registering the word selected by the selection unit 13 in the word dictionary 30. Which dictionary to register the word in the word dictionary 30 depends on the processing in the selection unit 13, so the registration unit 14 may register the word only in the existing dictionary 31, or the word only in one additional dictionary 32. May register. In the case of the above “MULTI” process, the registration unit 14 divides the selected word into a plurality of additional dictionaries 32 and registers them.
  • the word added to the word dictionary 30 is used for correcting the word division model, but the word dictionary 30 may be used for purposes other than word division.
  • the word dictionary 30 may be used for morphological analysis, display of input candidate words in an input box having an automatic input function, a knowledge database for extracting proper nouns, and the like.
  • the model generation unit 11 generates an initial word division model (baseline model) by causing the SVM to perform learning based on the learning corpus 20 and the existing dictionary 31 (step S11, model generation step).
  • the analysis unit 12 performs an analysis (word division) in which the baseline model is incorporated on the large-scale text 40, and indicates a boundary indicating “division”, “half-division”, or “non-division”. Information is assigned (associated) to each text (step S12, analysis step).
  • the selection unit 13 selects a word to be registered in the dictionary (selection step). Specifically, the selection unit 13 calculates the total appearance frequency of each word based on the text with boundary information (step S13), and selects a word whose frequency is a predetermined threshold or more as a registration candidate (step S14). ). Then, the selection unit 13 selects a word to be finally registered in the dictionary from registration candidates and determines a dictionary in which the word is registered (step S15). The selection unit 13 can select a word and designate a dictionary by using the above-described techniques such as APPEND, TOP, ALL, and MULTI.
  • the registration unit 14 registers the selected word in the designated dictionary based on the processing in the selection unit 13 (step S16, registration step).
  • the word division model is corrected using the expanded word dictionary 30. That is, the model generation unit 11 generates a corrected word division model by relearning based on the learning corpus 20 and the entire word dictionary 30 (step S17).
  • the dictionary generation program P1 includes a main module P10, a model generation module P11, an analysis module P12, a selection module P13, and a registration module P14.
  • the main module P10 is a part that comprehensively controls the dictionary generation function.
  • the functions realized by executing the model generation module P11, the analysis module P12, the selection module P13, and the registration module P14 are the functions of the model generation unit 11, the analysis unit 12, the selection unit 13, and the registration unit 14, respectively. It is the same.
  • the dictionary generation program P1 is provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, DVD-ROM, or semiconductor memory. Further, the dictionary generation program P1 may be provided via a communication network as a data signal superimposed on a carrier wave.
  • a word division model is generated using the learning corpus 20 to which boundary information is given and the existing dictionary 31, and the word division incorporating the model is large-scale. Applies to text 40. Then, by this application, a word is selected from the text set to which boundary information is given and registered in the word dictionary 30. As described above, by adding boundary information to a text set by analysis using the learning corpus 20 and registering words extracted from the text set, a large-scale word dictionary 30 can be easily constructed. Can do.
  • “sumahoke-su” (“smartphone case” in English) is divided into “sumaho” and “case” (ke-su). sumaho) can be registered in the dictionary.
  • “sumaho” is an abbreviation for “suma-tofon” in Japanese.
  • the phrase “uttororin” (an unknown word corresponding to “uttori” in Japanese (“fascinated” in English)) can be registered in the dictionary. Then, by performing text analysis using the constructed dictionary, word segmentation of sentences containing registered words (for example, sentences containing “sumaho” or “uttororin”) can be performed more accurately. Executed.
  • the UniDic headword list (304,267 different) was used as an existing dictionary, and LIBLINEAR was used as a default parameter as a support vector machine. All the half-width characters in the learning corpus and large text were unified, but no further normalization was performed.
  • the field is a concept for grouping sentences and words based on style, contents (genre), and the like.
  • learning in the same field from the title and description of 590 products randomly extracted from the website of the virtual shopping mall A without genre bias, and the description of 50 products randomly extracted from the website of the virtual shopping mall B A learning corpus with three-level word division was created.
  • the number of words in this learning corpus was about 110,000 and the number of characters was about 340,000. The performance was evaluated using this learning corpus.
  • Table 1 shows the learning result by the baseline model, the result of relearning using the word dictionary obtained by the two-stage word division, and the result of relearning using the word dictionary obtained by the three-stage word division. All values in Table 1 are percentages (%).
  • the F-value is improved no matter which method (APPEND / TOP / ALL / MULTI) is used, which means that the proposed large text It shows that the learning used is effective.
  • the increment of the F value was larger in the order of APPEND ⁇ TOP ⁇ ALL ⁇ MULTI. From this result, when adding a word, it is more effective to add it to another dictionary than to add it to an existing dictionary, and furthermore, it appears more than registering the word to be added to one additional dictionary. It was found that it was more effective to add to different dictionaries according to frequency.
  • the classifier automatically learns different contributions and weights depending on the appearance frequency of words. Furthermore, when re-learning using three-stage word division, performance improved in all cases over the baseline model and two-stage word division. Specifically, by taking into account half-division, improvements such as accurately acquiring words with affixes were obtained.
  • the learning corpus used was the same as that used for learning in the same field.
  • the large-scale text used a user review in the travel reservation site C, an accommodation facility name, an accommodation plan name, and a response from the accommodation facility.
  • the number of texts was 348,564, and the number of characters was about 126 million.
  • 150 and 50 reviews were randomly extracted and manually divided into words, which were used as a test corpus and an active learning corpus (additions to the learning corpus), respectively.
  • Table 2 shows the results of adding these obtained words to the dictionary and re-learning the model using the learning corpus and the field adaptation corpus. All values in Table 2 are percentages (%).
  • the selection unit 13 selects a word based on the appearance frequency.
  • the selection unit 13 may register all the words in the existing dictionary 31 or the additional dictionary 32 without referring to the appearance frequency.
  • word truncation is not an essential process.
  • the processing by the selection unit 13 and the registration unit 14 is performed after the analysis unit 12 analyzes the entire large-scale text 40.
  • the analysis unit 12 analyzes a large amount of collected text in multiple times. May be.
  • a series of processes including a model generation step, an analysis step, a selection step, and a registration step are repeated a plurality of times.
  • group 1 is analyzed by the first loop process and the word is registered
  • group 2 is analyzed by the second loop process to further add the word.
  • Registered group 3 is analyzed in the process of the third loop, and further words are registered.
  • the model generation unit 11 refers to the entire word dictionary 30 and generates a corrected word division model.
  • the mode of the boundary information is not limited to this example.
  • two-stage word division may be performed using only two types of boundary information “division” and “non-division”.
  • word division may be performed in four or more stages using “division”, “non-division”, and a plurality of types of probabilistic division.
  • a large-scale word dictionary can be easily constructed.
  • DESCRIPTION OF SYMBOLS 10 ... Dictionary production

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

 辞書生成装置は、予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部と、収集されたテキストの集合に対して、単語分割モデルが組み込まれた単語分割を実行して、各テキストに境界情報を付与する解析部と、解析部により境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、選択部により選択された単語を辞書に登録する登録部とを備える。コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている。

Description

[規則37.2に基づきISAが決定した発明の名称] 辞書生成装置、方法、及びプログラム
 本発明の一形態は、単語辞書を生成するための装置、方法、プログラム、及びコンピュータ読取可能な記録媒体に関する。
 従来から、単語辞書を用いて文章を分割することで複数の単語を得る技術(単語分割)が知られている。これに関連して下記特許文献1には、入力テキストの部分文字列と照合する単語を単語辞書から検索して単語候補として生成し、その単語辞書と照合しない入力テキストの部分文字列から未知語である可能性があるものを未知語候補として選択し、未知語モデルを用いて未知語候補の品詞別単語出現確率を推定し、動的計画法を用いて同時確率が最大となる単語列を求める技術が記載されている。
特開2001-051996号公報
 テキストを正しく分割するためには、語彙的な知識を充実させるために辞書内に大量の単語を用意しておくことが望ましい。しかし、大規模な辞書を人手により構築するのは容易ではない。そこで、大規模な単語辞書を容易に構築することが要請されている。
 本発明の一形態に係る辞書生成装置は、予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部であって、コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成部と、収集されたテキストの集合に対して、単語分割モデルが組み込まれた単語分割を実行して、各テキストに境界情報を付与する解析部と、解析部により境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、選択部により選択された単語を辞書に登録する登録部とを備える。
 本発明の一形態に係る辞書生成方法は、辞書生成装置により実行される辞書生成方法であって、予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成ステップであって、コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成ステップと、収集されたテキストの集合に対して、単語分割モデルが組み込まれた単語分割を実行して、各テキストに境界情報を付与する解析ステップと、解析ステップにおいて境界情報が付与されたテキストから辞書に登録する単語を選択する選択ステップと、選択ステップにおいて選択された単語を辞書に登録する登録ステップとを含む。
 本発明の一形態に係る辞書生成プログラムは、予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部であって、コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成部と、収集されたテキストの集合に対して、単語分割モデルが組み込まれた単語分割を実行して、各テキストに境界情報を付与する解析部と、解析部により境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、選択部により選択された単語を辞書に登録する登録部とをコンピュータに実行させる。
 本発明の一形態に係るコンピュータ読取可能な記録媒体は、予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部であって、コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成部と、収集されたテキストの集合に対して、単語分割モデルが組み込まれた単語分割を実行して、各テキストに境界情報を付与する解析部と、解析部により境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、選択部により選択された単語を辞書に登録する登録部とをコンピュータに実行させる辞書生成プログラムを記憶する。
 このような形態によれば、境界情報が付与されているコーパスと、単語群とを用いて単語分割モデルが生成され、そのモデルが組み込まれた単語分割がテキスト集合に適用される。そして、この適用により境界情報が付与されたテキスト集合から単語が選択されて辞書に登録される。このように、境界情報付きのコーパスを用いた解析によりテキスト集合にも境界情報を付与した上で、そのテキスト集合から抽出された単語を登録することで、大規模な単語辞書を容易に構築することができる。
 別の形態に係る辞書生成装置では、選択部が、解析部により付与された境界情報から算出される各単語の出現頻度に基づいて、辞書に登録する単語を選択してもよい。このように算出される出現頻度を考慮することで辞書の精度を上げることができる。
 さらに別の形態に係る辞書生成装置では、選択部が、出現頻度が所定の閾値以上である単語を選択してもよい。一定の回数以上出現した単語のみを辞書に登録することで、辞書の精度を上げることができる。
 さらに別の形態に係る辞書生成装置では、選択部が、出現頻度が閾値以上である単語を登録候補として抽出し、出現頻度が高い単語から順に該登録候補から所定数の単語を選択し、登録部が、選択部により選択された単語を単語群が記録されている辞書に追加してもよい。出現頻度が相対的に高い単語のみを辞書に登録することで、辞書の精度を上げることができる。また、予め用意されている単語群の辞書に単語を追加することで、辞書の構成を簡単にすることができる。
 さらに別の形態に係る辞書生成装置では、選択部が、出現頻度が閾値以上である単語を登録候補として抽出し、出現頻度が高い単語から順に該登録候補から所定数の単語を選択し、登録部が、選択部により選択された単語を、単語群が記録されている辞書とは別の辞書に登録してもよい。出現頻度が相対的に高い単語のみを辞書に登録することで、辞書の精度を上げることができる。また、予め用意されている単語群の辞書(既存辞書)とは別の辞書に単語を追加することで、既存辞書とは異なる特性の辞書を生成することができる。
 さらに別の形態に係る辞書生成装置では、登録部が、選択部により選択された単語を、単語群が記録されている辞書とは別の辞書に登録してもよい。予め用意されている単語群の辞書(既存辞書)とは別の辞書に単語を追加することで、既存辞書とは異なる特性の辞書を生成することができる。
 さらに別の形態に係る辞書生成装置では、選択部が、出現頻度が閾値以上である単語を登録候補として抽出し、出現頻度の高さに応じて該登録候補の単語をグループ化し、登録部が、選択部により生成された複数のグループを、単語群が記録されている辞書とは別の複数の辞書に個別に登録してもよい。出現頻度の高さに応じて単語をグループ化し、生成された各グループを別々の辞書に登録することで、出現頻度に起因して特性が互いに異なる複数の辞書を生成することができる。
 さらに別の形態に係る辞書生成装置では、収集されたテキストのそれぞれには、該テキストの分野を示す情報が関連付けられており、登録部が、選択部により選択された単語を、該単語が含まれていたテキストの分野に基づいて、分野毎に用意された辞書に個別に登録してもよい。分野毎に辞書を生成することで、特性が互いに異なる複数の辞書を生成することができる。
 さらに別の形態に係る辞書生成装置では、境界情報が、文字間位置に境界が存在しないことを示す第1の情報と、文字間位置に境界が存在することを示す第2の情報と、文字間位置に境界が確率的に存在することを示す第3の情報とを含み、各単語の出現頻度が第1、第2、及び第3の情報に基づいて算出されてもよい。単に境界が存在するかしないかという二択ではなく、その中間の概念を示す第3の情報を導入することで、より適切にテキストを複数の単語に分割することができる。
 さらに別の形態に係る辞書生成装置では、解析部が、第1の二値分類器及び第2の二値分類器を備え、第1の二値分類器が、各文字間位置について、第1の情報を割り当てるか第1の情報以外の情報を割り当てるかを判定し、第2の二値分類器が、第1の二値分類器により第1の情報以外の情報を割り当てると判定された文字間位置について、第2の情報を割り当てるか第3の情報を割り当てるかを判定してもよい。二値分類器を複数用いて段階的に境界情報を確定することで、高速且つ効率的にテキストに境界情報を付与することができる。
 さらに別の形態に係る辞書生成装置では、収集されたテキストの集合が複数のグループに分割され、解析部、選択部、及び登録部が複数のグループのうちの一つに基づく処理を実行した後に、モデル生成部がコーパス、単語群、及び登録部により登録された単語を用いて単語分割モデルを生成し、続いて、解析部、選択部、及び登録部が複数のグループのうちの別の一つに基づく処理を実行してもよい。
 本発明の一側面によれば、大規模な単語辞書を容易に構築することができる。
実施形態に係る辞書生成装置のハードウェア構成を示す図である。 図1に示す辞書生成装置の機能構成を示すブロック図である。 境界情報(単語境界タグ)の設定を説明するための図である。 図1に示す辞書生成装置の動作を示すフローチャートである。 実施形態に係る辞書生成プログラムの構成を示す図である。
 以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
 まず、図1~3を用いて、実施形態に係る辞書生成装置10の機能構成を説明する。辞書生成装置10は、収集された大量のテキストから成る集合(以下では「大規模テキスト」ともいう)を解析することでそのテキスト集合から単語を抽出し、抽出された単語を辞書に追加するコンピュータである。
 図1に示すように、辞書生成装置10は、オペレーティングシステムやアプリケーション・プログラムなどを実行するCPU101と、ROM及びRAMで構成される主記憶部102と、ハードディスクなどで構成される補助記憶部103と、ネットワークカードなどで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイなどの出力装置106とを備えている。
 後述する辞書生成装置10の各機能的構成要素は、CPU101や主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102や補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102や補助記憶部103内に格納される。なお、図1では辞書生成装置10が1台のコンピュータで構成されているように示しているが、辞書生成装置10の機能を複数台のコンピュータに分散させてもよい。
 図2に示すように、辞書生成装置10は機能的構成要素としてモデル生成部11、解析部12、選択部13、及び登録部14を備えている。辞書生成装置10は、単語抽出処理を実行する際に、予め用意されている学習コーパス20、既存辞書31、及び大規模テキスト40を参照し、抽出された単語を単語辞書30に格納する。なお、単語辞書30は少なくとも既存辞書31を含んでおり、1以上の追加辞書32を更に含んでいてもよい。辞書生成装置10について詳細に説明する前に、これらのデータについて説明する。
 学習コーパス20は、単語の境界(文を単語に分割した際の分割位置)を示す境界情報(アノテーション)が付与された(関連付けられた)テキストの集合であり、データベースとして予め用意されている。テキストは複数の単語から成る文や文字列である。本実施形態では、仮想商店街のウェブサイト内に蓄積されている商品のタイトル及び説明文からランダムに抽出した所定数のテキストを学習コーパス20の材料とする。
 抽出した各テキストには、評価者の人手により境界情報が付与される。境界情報の設定は、点推定による単語分割と3段階単語分割コーパスという二つの技術に基づいて実施される。
 [点推定による単語分割]
 テキスト(文字列)x=x…x(x,x,…,xは文字)には、単語境界タグb=b…bが割り当てられる。ここで、bは文字xとxi+1との間(文字間位置)に単語境界が存在するか否かを表すタグであり、b=1は分割を、b=0は非分割を、それぞれ意味する。ここで、このタグbで示される値は分割の強度であるとも言える。
 図3に、「ボールペンを買った。」(bo-rupen wo katta)という日本語の文(英語では「(I) bought a ballpoint pen.」)において「ん(n)」と「を(wo)」との間のタグを決定する例を示す。単語境界タグの値は,その周辺に存在する文字から得られる素性(feature)を参照して決定される。例えば、文字素性、文字種素性、及び辞書素性という3種類の素性を用いて単語境界タグの値が設定される。
 文字素性は、境界bに接する、もしくは境界bを内包する長さn以下のすべての文字(n-gram)と、その位置bに対する相対位置との組合せで示される素性である。例えば図3においてn=3とした場合には、「ん(n)」と「を(wo)」との間の境界bに対して、「-1/ン(n)」「1/を(wo)」「-2/ペン(pen)」「-1/ンを(n wo)」「1/を買(wo ka)」「-3/ルペン(rupen)」「-2/ペンを(pen wo)」「-1/ンを買(n wo ka)」「1/を買っ(wo kat)」という9個の素性が得られる。
 文字種素性は、文字の代わりに文字種を扱うという点以外は、上記の文字素性と同様である。文字種として、ひらがな、カタカナ、漢字、アルファベット大文字、アルファベット小文字、アラビア数字、漢数字、及び中黒(・)の8種類を考慮した。なお、用いる文字種及びその種類数は何ら限定されない。
 辞書素性は、境界の周辺に位置する長さj(1≦j≦k)の単語が辞書に存在するか否かを表す素性である。辞書素性は、境界bが単語の終点に位置しているのか(L)、その始点に位置しているのか(R)、それともその単語に内包されているのか(M)を示すフラグと、その単語の長さjとの組合せで示される。もし、辞書に「ペン(pen)」「を(wo)」という単語が登録されていれば、図3における境界biに対してL2及びR1という辞書素性が作成される。なお、後述するように複数の辞書を用いる場合には、辞書素性には辞書の識別子が付与される。例えば、識別子がDIC1である辞書Aに「ペン(pen)」が登録されており、識別子がDIC2である辞書Bに「を(wo)」が登録されていれば、辞書素性はDIC1-L2、DIC2-R1等のように表される。
 なお、本実施形態では、文字素性及び文字種素性におけるn-gramの最大長nを3とし、辞書素性における単語の最大長kを8としたが、これらの値は任意に定めてよい。
 [3段階単語分割コーパス]
 日本語には、単語境界を一意に決めるのが難しい単語が存在し、適切な単語分割の態様が場面によって異なるという問題がある。一例として、「ボールペン(bo-rupen)」(英語では「ballpoint pen」)という単語を含んだテキスト集合に対してキーワード検索を行う場合を想定する。もし「ボールペン(bo-rupen)」を分割しない場合には、「ペン(pen)」(英語では「pen」)というキーワードで検索してもテキストが抽出されないことになる(再現率の低下)。一方、「ボールペン(bo-rupen)」を「ボール(bo-ru)」(英語では「ball」)と「ペン(pen)」とに分割した場合には、スポーツ用品である「ボール(bo-ru)」をキーワードとした検索により、「ボールペン(bo-rupen)」を含むテキストが抽出されてしまう(精度の低下)。
 そこで、上記のように「分割」「非分割」の2値だけでなく「半分割」という概念を導入した3段階単語分割コーパスを用いる。3段階単語分割コーパスは、確率的な値で分割の態様を示す確率的単語分割を発展させた手法である。人間が実際に認識できる単語分割の強さは多くても数段階に過ぎず、連続的な確率値で分割の態様を示す必要性は低いという理由から、この3段階単語分割コーパスが用いられる。半分割を含む単語については、その単語全体と、その単語の構成要素との両方が抽出されるので、人間にとって分割か非分割かの判断が難しい単語をとりあえず半分割として記録することが可能になると共に、境界情報の付与が容易になる。「半分割」は、文字間位置に境界が確率的に(0より大きく1より小さい確率の範囲で)存在することを示す一態様である。
 3段階単語分割コーパスは、「分割」(b=1)及び「非分割」(b=0)に「半分割」(b=0.5)を加えた3段階の離散確率的単語分割により生成されるコーパスである。例えば、「ボール/ペン(bo-ru/pen)」のような複合名詞や、「折り/たたむ(ori/tatamu)」(英語では「fold」)のような複合動詞、「お/すすめ(o/susume)」(英語では「recommendation」)のような、接辞も含めて語彙化しているような単語の中の分割(これらの例では”/”で示している)は、半分割として定義するのが自然である。また、「充電池(juudenchi)」(英語では「rechargeable battery」)は、「充電(juuden)」(英語では「recharge」)と「電池(denchi)」(英語では「battery」)のような「AB+BC→ABC」型の複合語といえるが、このような単語は「充/電/池(juu/den/chi)」というように半分割される。
 「ボールペンを買った。」(bo-rupen
wo katta)というテキストは、上記の点推定による単語分割と3段階単語分割コーパスとを用いて例えば図3に示すように分割される。図3の例では、「分割」(b=1)の単語境界タグは、テキストの先頭や、「ン(n)」と「を(wo)」の間などに付与されている。「半分割」(b=0.5)の単語境界タグは「ル(ru)」と「ペ(pe)」の間に付与されている。図3では「非分割」(b=0)の単語境界タグを省略しているが、文字間に境界が表されていない箇所(例えば「ペ(pe)」と「ン(n)」の間)には当該タグが付与される。
 各テキストには単語境界タグが境界情報として付与されて、学習コーパス20としてデータベースに格納される。境界情報をテキストに付与する方法は任意である。一例として、「分割」をスペースで示し、「半分割」をハイフンで示し、「非分割」の表示を省略するように各テキストに境界情報を埋め込んでもよい。この場合には、境界情報が付与されたテキストを文字列のまま記録することができる。
 既存辞書31は、所定数の単語の集合であり、データベースとして予め用意されている。既存辞書31は一般に用いられている電子化辞書でもよく、例えばUniDicという形態素解析辞書であってもよい。
 大規模テキスト40は、収集されたテキストの集合であり、データベースとして予め用意されている。大規模テキスト40には、抽出しようとする単語やその単語の分野などに応じて、任意の文や文字列を含めてよい。例えば、仮想商店街のウェブサイトから商品のタイトル及び説明文を大量に収集し、これらの生データから大規模テキスト40を構築してもよい。大規模テキスト40として用意されるテキストの数は、学習コーパス20に含まれるテキストの数よりも圧倒的に多い。
 以上を前提として辞書生成装置10の機能的構成要素を説明する。
 モデル生成部11は、学習コーパス20及び単語辞書30を用いて単語分割モデルを生成する手段である。モデル生成部11は、サポート・ベクトル・マシン(SVM:Support vector machine)を備えており、学習コーパス20及び単語辞書30をこのマシンに入力して学習処理を実行させることで、単語分割モデルを生成する。この単語分割モデルは、テキストをどのように区切るべきかというルールを示しており、単語分割に用いられるパラメータ群として出力される。なお、機械学習に用いるアルゴリズムはSVMに限定されず、決定木やロジスティック回帰などであってもよい。
 大規模テキスト40を解析するために、モデル生成部11は学習コーパス20及び既存辞書31に基づく学習をSVMに実行させることで、最初の単語分割モデル(ベースライン・モデル)を生成する。そして、モデル生成部11はこの単語分割モデルを解析部12に出力する。
 その後、後述する解析部12、選択部13、及び登録部14の処理により単語辞書30に単語が追加されると、モデル生成部11は学習コーパス20と単語辞書30の全体とに基づく学習(再学習)処理をSVMに実行させることで、修正された単語分割モデルを生成する。ここで、単語辞書30の全体とは、既存辞書31に最初から記憶されていた単語、及び大規模テキスト40から得られた単語のすべてを意味する。
 解析部12は、単語分割モデルが組み込まれた解析(単語分割)を大規模テキスト40に対して実行して、各テキストに境界情報を付与する(関連付ける)手段である。この結果、図3に示すようなテキストが大量に得られる。解析部12は大規模テキスト40を成している各テキストについてそのような単語分割を実行することで、上記「分割」(第2の情報)、「半分割」(第3の情報)、及び「非分割」(第1の情報)を示す境界情報を各テキストに付与し、処理されたすべてのテキストを選択部13に出力する。
 解析部12は二つの二値分類器を備えており、これらの分類器を順に用いて3種類の境界情報を各テキストに付与する。第1の分類器は、文字間位置が「非分割」かそれ以外かを判定する手段であり、第2の分類器は、「非分割」ではないと判定された境界が「分割」か「半分割」かを判定する手段である。現実には文字間位置の過半数が「非分割」であることから、まず文字間位置が「非分割」であるか否かを判定し、続いて「非分割」ではない以外と判定された箇所について分割の態様を判定することで、効率的に境界情報を大量のテキストに付与することができる。また、二値分類器を組み合わせることで、解析部12の構造を単純化することができる。
 選択部13は、解析部12により境界情報が付与されたテキストから、単語辞書30に登録する単語を選択する手段である。
 まず、選択部13は入力されたテキスト群に含まれている各単語wの合計出現頻度f(w)を下記式(1)により求める。この計算は、各文字間位置に付与された境界情報bから出現頻度が得られることを意味する。
Figure JPOXMLDOC01-appb-M000001
 
ここで、Oは単語wの表記の出現を示しており、下記の通りに定義される。
Figure JPOXMLDOC01-appb-M000002
 
 図3に示す「ボールペンを買った。」(bo-rupen wo katta)という一つの文における単語「ボールペン(bo-rupen)」の出現頻度は、1.0*1.0*1.0*0.5*1.0*1.0=0.5となり、その文における単語「ペン(pen)」の出現頻度は、0.5*1.0*1.0=0.5となる。これらは、その文の中に「ボールペン(bo-rupen)」及び「ペン(pen)」という単語がそれぞれ0.5回ずつ出現したものとみなされることを意味する。選択部13は、各テキストに含まれている各単語の出現頻度を求めて、単語毎にその出現頻度を集計することで、各単語の合計出現頻度を得る。
 続いて、選択部13は大規模テキスト40内の単語群から、合計出現頻度が第1の閾値THa以上である単語のみを登録候補Vとして選択する(頻度による単語の足切り)。そして、選択部13は最終的に単語辞書30に登録する単語をその登録候補Vの中から選択し、必要に応じてその単語を格納する辞書(データベース)を決定する。最終的に登録する単語及び格納先の辞書の決定方法は一つに限定されるものではなく、下記の通り様々な手法を用いうる。
 選択部13は、登録候補Vのうち合計出現頻度が所定の閾値以上である単語のみを既存辞書31に追加すると決定してもよい。この場合に、選択部13は合計出現頻度が第2の閾値THb(ただしTHb>THa)である単語のみを選んでもよいし、合計出現頻度が上位n位までの単語のみを選んでもよい。以下では、このような処理を「APPEND」ともいう。
 あるいは、選択部13は、登録候補Vのうち合計出現頻度が所定の閾値以上である単語のみを追加辞書32に登録すると決定してもよい。この場合にも、選択部13は合計出現頻度が第2の閾値THb(ただしTHb>THa)である単語のみを選んでもよいし、合計出現頻度が上位n位までの単語のみを選んでもよい。以下では、このような処理を「TOP」ともいう。
 あるいは、選択部13は、登録候補Vのすべてを追加辞書32に登録すると決定してもよい。以下では、このような処理を「ALL」ともいう。
 あるいは、選択部13は登録候補Vを合計出現頻度に応じて複数の部分集合に分け、各部分集合を個別の追加辞書32に登録すると決定してもよい。登録候補Vのうち、合計出現頻度が上位n位までの部分集合をVと表すとする。この場合に選択部13は、例えば、上位1000位までの単語から成る部分集合V1000と、上位2000位までの単語から成る部分集合V2000と、上位3000位までの単語から成る部分集合V3000とを生成する。そして、選択部13は部分集合V1000、V2000、及びV3000を第1の追加辞書32、第2の追加辞書32、及び第3の追加辞書32に登録すると決定する。なお、生成する部分集合の個数や、各部分集合の大きさは任意に定めてよい。以下では、このような処理を「MULTI」という。
 最終的に登録する単語を選択するとともに格納先の辞書を決定すると、選択部13はその選択結果を登録部14に出力する。
 登録部14は、選択部13により選択された単語を単語辞書30に登録する手段である。単語辞書30のうちどの辞書に単語を登録するかは選択部13での処理に依存するので、登録部14は既存辞書31にのみ単語を登録するかもしれないし、一つの追加辞書32にのみ単語を登録するかもしれない。上記の「MULTI」処理の場合には、登録部14は選択された単語を複数の追加辞書32に分けて登録する。
 上述したように、単語辞書30に追加された単語は単語分割モデルの修正に用いられるが、単語辞書30を単語分割以外の目的で用いてもよい。例えば、形態素解析や、自動入力機能を備える入力ボックスにおける入力候補語句の表示や、固有名詞を抽出するための知識データベースなどのために単語辞書30を用いてもよい。
 次に、図4を用いて、辞書生成装置10の動作を説明するとともに本実施形態に係る辞書生成方法について説明する。
 まず、モデル生成部11が、学習コーパス20及び既存辞書31に基づく学習をSVMに実行させることで最初の単語分割モデル(ベースライン・モデル)を生成する(ステップS11、モデル生成ステップ)。続いて、解析部12がそのベースライン・モデルが組み込まれた解析(単語分割)を大規模テキスト40に対して実行して、「分割」、「半分割」、又は「非分割」を示す境界情報を各テキストに付与する(関連付ける)(ステップS12、解析ステップ)。
 続いて、選択部13が、辞書に登録する単語を選択する(選択ステップ)。具体的には、選択部13は境界情報付きのテキストに基づいて各単語の合計出現頻度を算出し(ステップS13)、その頻度が所定の閾値以上である単語を登録候補として選択する(ステップS14)。そして、選択部13は最終的に辞書に登録する単語を登録候補から選択すると共に、単語を登録する辞書を決定する(ステップS15)。選択部13は上記のAPPEND,TOP,ALL,MULTIなどの手法を用いて、単語を選択し辞書を指定することができる。
 続いて、登録部14が選択部13での処理に基づいて、選択した単語を指定の辞書に登録する(ステップS16、登録ステップ)。
 以上の処理により、単語辞書30への単語の追加が完了する。本実施形態では、拡張された単語辞書30を用いて単語分割モデルが修正される。すなわち、モデル生成部11が、学習コーパス20と単語辞書30の全体とに基づく再学習により、修正された単語分割モデルを生成する(ステップS17)。
 次に、図5を用いて、コンピュータを辞書生成装置10として機能させるための辞書生成プログラムP1を説明する。
 辞書生成プログラムP1は、メインモジュールP10、モデル生成モジュールP11、解析モジュールP12、選択モジュールP13、及び登録モジュールP14を備えている。
 メインモジュールP10は、辞書生成機能を統括的に制御する部分である。モデル生成モジュールP11、解析モジュールP12、選択モジュールP13、及び登録モジュールP14を実行することにより実現される機能はそれぞれ、上記のモデル生成部11、解析部12、選択部13、及び登録部14の機能と同様である。
 辞書生成プログラムP1は、例えば、CD-ROMやDVD-ROM、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供される。また、辞書生成プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
 以上説明したように、本実施形態によれば、境界情報が付与されている学習コーパス20と、既存辞書31とを用いて単語分割モデルが生成され、そのモデルが組み込まれた単語分割が大規模テキスト40に適用される。そして、この適用により境界情報が付与されたテキスト集合から単語が選択されて単語辞書30に登録される。このように、学習コーパス20を用いた解析によりテキスト集合にも境界情報を付与した上で、そのテキスト集合から抽出された単語を登録することで、大規模な単語辞書30を容易に構築することができる。
 例えば「スマホケース」(sumahoke-su)(英語では「smartphone case」)が「スマホ」(sumaho)と「ケース」(ke-su)とに分けられて、それまで未知語であった「スマホ」(sumaho)が辞書に登録され得る。なお、「スマホ」(sumaho)は、日本語の「スマートフォン」(suma-tofon)の略語である。また、「うっとろりん」(uttororin)という語句(日本語の「うっとり」(uttori)(英語では「fascinated」)に相当する未知語)も辞書に登録され得る。そして、構築された辞書を用いてテキスト解析を行うことで、登録された単語を含む文(例えば「スマホ」(sumaho)又は「うっとろりん」(uttororin)を含む文)の単語分割がより精度良く実行される。
 次に、本実施形態における辞書生成装置10による単語分割性能の評価の一例を示す。単語分割性能の評価の指標には、精度(Prec)、再現率(Rec)、及びF値を用いた.正解コーパスに含まれる延べ単語数をNREF、解析結果に含まれる延べ単語数をNSYS、解析結果及び正解コーパスの両者に含まれる延べ単語数をNCORとすると、上記の3指標は下記のように定義される。
Prec=NCOR/NSYS
Rec=NCOR=NREF
F=2Prec・Rec/(Prec+Rec)
 既存辞書としてUniDicの見出し語リスト(異なり304,267語)を用い、サポート・ベクトル・マシンとしてLIBLINEARをデフォルトパラメータで使用した。学習コーパスおよび大規模テキスト内の半角文字はすべて全角に統一したが、それ以上の正規化は行わなかった。
 まず、学習コーパス及び大規模テキストが同じ分野である場合(同一分野の学習)の有効性について説明する。ここで、分野とは、文体、内容(ジャンル)などに基づいて文及び単語をグループ化するための概念である。同一分野の学習では、仮想商店街Aのウェブサイトからジャンルの偏り無くランダムに抽出した590商品のタイトルおよび説明文と、仮想商店街Bのウェブサイトからランダムに抽出した50商品の説明文とから3段階単語分割の学習コーパスを作成した。この学習コーパスの単語数は約11万であり、文字数は約34万であった。この学習コーパスを用いて性能を評価した。
 大規模テキストとして、上記仮想商店街A内の全商品データのタイトルおよび説明文を用いた。商品数は約2700万であり、文字数は約160億であった。
 この大規模テキストをベースライン・モデルにより解析して2段階単語分割を実行した場合には、異なり576,954語が抽出され、当該解析後に3段階単語分割を実行した場合には、異なり603,187語が抽出された。ここで、単語の足切りのために用いた頻度の閾値は20とした。上記「MULTI」を採用した際には、合計出現頻度の上位10万語、上位20万語、上位30万語、上位40万語、及び全体を別々の辞書として追加した。上記「TOP」を採用した際には上位10万語のみを用いた。
 ベースライン・モデルによる学習結果、2段階単語分割により得られた単語辞書を用いた再学習の結果、及び3段階単語分割により得られた単語辞書を用いた再学習の結果を表1に示す。表1中の数値はすべて百分率(%)である。
Figure JPOXMLDOC01-appb-T000003
 
 2段階単語分割を使って再学習した場合には、どの手法(APPEND/TOP/ALL/MULTI)を用いて単語を追加してもF値が向上し、このことは、提案する大規模テキストを用いた学習が有効であることを示している。F値の増加幅は、APPEND<TOP<ALL<MULTIの順で大きかった。この結果から、単語を追加する際には、既存辞書に追加するよりも別の辞書に追加した方がより効果的であり、更には、追加する単語を一つの追加辞書に登録するよりも出現頻度に応じて別々の辞書に追加した方がより効果的であることが分かった。
 表1より、分類器が単語の出現頻度に応じて異なる貢献度及び重みを自動的に学習していると考えられる。さらに、3段階単語分割を使って再学習した場合には、すべての場合においてベースライン・モデルおよび2段階単語分割よりも性能が向上した。具体的には、半分割を考慮することにより、接辞を伴う単語を正確に獲得するなどの改善が得られた。
 次に、学習コーパスと大規模テキストとが異なる分野である場合の有効性について説明する。用いた学習コーパスは、上記同一分野の学習におけるものと同じとした。一方、大規模テキストは、旅行予約サイトC内のユーザレビュー、宿泊施設名、宿泊プラン名、及び宿泊施設からの返答を用いた。テキスト数は348,564であり、その文字数は約1億2600万であった。この大規模テキストのうち、150件及び50件のレビューをランダムに抽出して人手による単語分割を行い、それぞれテストコーパス及び能動学習用コーパス(学習コーパスに対する追加分)として用いた。
 まず、上記の商品分野の学習コーパスから学習したベースライン・モデルを用いて旅行分野の大規模テキストを解析した。この解析性能が下記表2の「ベースライン」である。
 次に、商品分野の学習コーパスに分野適応用のコーパスを加えて単語分割モデルを学習した後、それを用いて大規模テキストを解析した。この解析性能が下記表2の「分野適応」である.大規模テキストを解析した後に2段階単語分割を用いると異なり41,671語が抽出され、3段階単語分割を用いると異なり44,247語が抽出された。いずれの場合も、合計出現頻度が5以上の単語のみを用いた。
 これらの得られた単語を辞書に追加し、学習コーパスおよび分野適応用コーパスを用いてモデルを再学習した結果を表2に示す。表2中の数値はすべて百分率(%)である。
Figure JPOXMLDOC01-appb-T000004
 
 この表から分かるように、学習コーパスと大規模テキストで分野が異なる場合には、3段階単語分割の場合において性能の向上が見られた。
 以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
 上記実施形態では選択部13が出現頻度に基づいて単語を選択したが、選択部13は、この出現頻度を参照することなく、すべての単語を既存辞書31又は追加辞書32に登録してもよい。また、単語の足切りは必須の処理ではない。
 上記実施形態では解析部12が大規模テキスト40の全体を解析した後に選択部13及び登録部14による処理が行われたが、解析部12は収集された大量のテキストを複数回に分けて解析してもよい。この場合には、モデル生成ステップ、解析ステップ、選択ステップ、及び登録ステップから成る一連の処理が複数回繰り返される。例えば、大規模テキスト40をグループ1~3に分けた場合には、1ループ目の処理でグループ1が解析されて単語が登録され、2ループ目の処理でグループ2が解析されて単語が更に登録され、3ループ目の処理でグループ3が解析されて単語が更に登録される。2ループ目以降の処理では、モデル生成部11は単語辞書30の全体を参照して、修正された単語分割モデルを生成する。
 上記実施形態では3段階分割の手法を用いたので境界情報は3種類であったが、境界情報の態様はこの例に限定されない。例えば、「分割」「非分割」という2種類の境界情報のみを用いて2段階の単語分割を行ってもよい。また、「分割」「非分割」と、複数種類の確率的分割とを用いて、4段階以上の単語分割を行ってもよい。例えば、b=0.33とb=0.67という確率的分割(第3の情報)を用いた4段階の単語分割を行ってもよい。いずれにしても、第3の情報に相当する分割の強度は、境界情報が「非分割」の場合の強度(例えばb=0)より大きく、境界情報が「分割」の場合の強度(例えばb=1)より小さい。
 本実施形態によれば、大規模な単語辞書を容易に構築することができる。
 10…辞書生成装置、11…モデル生成部、12…解析部、13…選択部、14…登録部、20…学習コーパス、30…単語辞書、31…既存辞書(単語群)、32…追加辞書、40…大規模テキスト(収集されたテキストの集合)、P1…辞書生成プログラム、P10…メインモジュール、P11…モデル生成モジュール、P12…解析モジュール、P13…選択モジュール、P14…登録モジュール。

Claims (14)

  1.  予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部であって、前記コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成部と、
     収集されたテキストの集合に対して、前記単語分割モデルが組み込まれた単語分割を実行して、各テキストに前記境界情報を付与する解析部と、
     前記解析部により前記境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、
     前記選択部により選択された単語を前記辞書に登録する登録部と
    を備える辞書生成装置。
  2.  前記選択部が、前記解析部により付与された前記境界情報から算出される各単語の出現頻度に基づいて、前記辞書に登録する単語を選択する、
    請求項1に記載の辞書生成装置。
  3.  前記選択部が、前記出現頻度が所定の閾値以上である単語を選択する、
    請求項2に記載の辞書生成装置。
  4.  前記選択部が、前記出現頻度が前記閾値以上である単語を登録候補として抽出し、前記出現頻度が高い単語から順に該登録候補から所定数の単語を選択し、
     前記登録部が、前記選択部により選択された単語を前記単語群が記録されている辞書に追加する、
    請求項3に記載の辞書生成装置。
  5.  前記選択部が、前記出現頻度が前記閾値以上である単語を登録候補として抽出し、前記出現頻度が高い単語から順に該登録候補から所定数の単語を選択し、
     前記登録部が、前記選択部により選択された単語を、前記単語群が記録されている辞書とは別の辞書に登録する、
    請求項3に記載の辞書生成装置。
  6.  前記登録部が、前記選択部により選択された単語を、前記単語群が記録されている辞書とは別の辞書に登録する、
    請求項3に記載の辞書生成装置。
  7.  前記選択部が、前記出現頻度が前記閾値以上である単語を登録候補として抽出し、前記出現頻度の高さに応じて該登録候補の単語をグループ化し、
     前記登録部が、前記選択部により生成された複数のグループを、前記単語群が記録されている辞書とは別の複数の辞書に個別に登録する、
    請求項3に記載の辞書生成装置。
  8.  前記収集されたテキストのそれぞれには、該テキストの分野を示す情報が関連付けられており、
     前記登録部が、前記選択部により選択された単語を、該単語が含まれていたテキストの分野に基づいて、前記分野毎に用意された辞書に個別に登録する、
    請求項3に記載の辞書生成装置。
  9.  前記境界情報が、文字間位置に前記境界が存在しないことを示す第1の情報と、文字間位置に前記境界が存在することを示す第2の情報と、文字間位置に前記境界が確率的に存在することを示す第3の情報とを含み、
     各単語の出現頻度が前記第1、第2、及び第3の情報に基づいて算出される、
    請求項2~8のいずれか一項に記載の辞書生成装置。
  10.  前記解析部が、第1の二値分類器及び第2の二値分類器を備え、
     前記第1の二値分類器が、各文字間位置について、前記第1の情報を割り当てるか前記第1の情報以外の情報を割り当てるかを判定し、
     前記第2の二値分類器が、前記第1の二値分類器により前記第1の情報以外の情報を割り当てると判定された文字間位置について、前記第2の情報を割り当てるか前記第3の情報を割り当てるかを判定する、
    請求項9に記載の辞書生成装置。
  11.  前記収集されたテキストの集合が複数のグループに分割され、
     前記解析部、前記選択部、及び前記登録部が前記複数のグループのうちの一つに基づく処理を実行した後に、前記モデル生成部が前記コーパス、前記単語群、及び前記登録部により登録された単語を用いて前記単語分割モデルを生成し、続いて、前記解析部、前記選択部、及び前記登録部が前記複数のグループのうちの別の一つに基づく処理を実行する、
    請求項1~10のいずれか一項に記載の辞書生成装置。
  12.  辞書生成装置により実行される辞書生成方法であって、
     予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成ステップであって、前記コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成ステップと、
     収集されたテキストの集合に対して、前記単語分割モデルが組み込まれた単語分割を実行して、各テキストに前記境界情報を付与する解析ステップと、
     前記解析ステップにおいて前記境界情報が付与されたテキストから辞書に登録する単語を選択する選択ステップと、
     前記選択ステップにおいて選択された単語を前記辞書に登録する登録ステップと
    を含む辞書生成方法。
  13.  予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部であって、前記コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成部と、
     収集されたテキストの集合に対して、前記単語分割モデルが組み込まれた単語分割を実行して、各テキストに前記境界情報を付与する解析部と、
     前記解析部により前記境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、
     前記選択部により選択された単語を前記辞書に登録する登録部と
    をコンピュータに実行させる辞書生成プログラム。
  14.  予め用意されたコーパス及び単語群を用いて単語分割モデルを生成するモデル生成部であって、前記コーパスに含まれる各テキストには、単語の境界を示す境界情報が付与されている、該モデル生成部と、
     収集されたテキストの集合に対して、前記単語分割モデルが組み込まれた単語分割を実行して、各テキストに前記境界情報を付与する解析部と、
     前記解析部により前記境界情報が付与されたテキストから辞書に登録する単語を選択する選択部と、
     前記選択部により選択された単語を前記辞書に登録する登録部と
    をコンピュータに実行させる辞書生成プログラムを記憶するコンピュータ読取可能な記録媒体。
PCT/JP2012/072350 2012-02-28 2012-09-03 辞書生成装置、方法、及びプログラム WO2013128684A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280030052.2A CN103608805B (zh) 2012-02-28 2012-09-03 辞典产生装置及方法
KR1020137030410A KR101379128B1 (ko) 2012-02-28 2012-09-03 사전 생성 장치, 사전 생성 방법 및 사전 생성 프로그램을 기억하는 컴퓨터 판독 가능 기록 매체
JP2013515598A JP5373998B1 (ja) 2012-02-28 2012-09-03 辞書生成装置、方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261604266P 2012-02-28 2012-02-28
US61/604266 2012-02-28

Publications (1)

Publication Number Publication Date
WO2013128684A1 true WO2013128684A1 (ja) 2013-09-06

Family

ID=49081915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/072350 WO2013128684A1 (ja) 2012-02-28 2012-09-03 辞書生成装置、方法、及びプログラム

Country Status (5)

Country Link
JP (1) JP5373998B1 (ja)
KR (1) KR101379128B1 (ja)
CN (1) CN103608805B (ja)
TW (1) TWI452475B (ja)
WO (1) WO2013128684A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018073047A (ja) * 2016-10-27 2018-05-10 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701133B (zh) * 2014-11-28 2021-03-30 方正国际软件(北京)有限公司 一种地址输入的方法和设备
JP6707483B2 (ja) * 2017-03-09 2020-06-10 株式会社東芝 情報処理装置、情報処理方法、および情報処理プログラム
CN108391446B (zh) * 2017-06-20 2022-02-22 埃森哲环球解决方案有限公司 基于机器学习算法对针对数据分类器的训练语料库的自动提取
JP2019049873A (ja) * 2017-09-11 2019-03-28 株式会社Screenホールディングス 同義語辞書作成装置、同義語辞書作成プログラム及び同義語辞書作成方法
CN109033183B (zh) * 2018-06-27 2021-06-25 清远墨墨教育科技有限公司 一种可编辑的云词库的解析方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288673A (ja) * 1996-04-23 1997-11-04 Nippon Telegr & Teleph Corp <Ntt> 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置
JP2002351870A (ja) * 2001-05-29 2002-12-06 Communication Research Laboratory 形態素の解析方法
JP2008257511A (ja) * 2007-04-05 2008-10-23 Yahoo Japan Corp 専門用語抽出装置、方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1086821C (zh) * 1998-08-13 2002-06-26 英业达股份有限公司 汉语语句切分的方法及其系统
CN100530171C (zh) * 2005-01-31 2009-08-19 日电(中国)有限公司 字典学习方法和字典学习装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288673A (ja) * 1996-04-23 1997-11-04 Nippon Telegr & Teleph Corp <Ntt> 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置
JP2002351870A (ja) * 2001-05-29 2002-12-06 Communication Research Laboratory 形態素の解析方法
JP2008257511A (ja) * 2007-04-05 2008-10-23 Yahoo Japan Corp 専門用語抽出装置、方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TETSURO SASADA ET AL.: "Kana-Kanji Conversion by Using Unknown Word-Pronunciation Pairs with Contexts", JOURNAL OF NATURAL LANGUAGE PROCESSING, vol. 17, no. 4, 30 July 2010 (2010-07-30), pages 131 - 153 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018073047A (ja) * 2016-10-27 2018-05-10 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム

Also Published As

Publication number Publication date
CN103608805A (zh) 2014-02-26
TWI452475B (zh) 2014-09-11
KR20130137048A (ko) 2013-12-13
JPWO2013128684A1 (ja) 2015-07-30
TW201335776A (zh) 2013-09-01
KR101379128B1 (ko) 2014-03-27
JP5373998B1 (ja) 2013-12-18
CN103608805B (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
Kadhim et al. Text document preprocessing and dimension reduction techniques for text document clustering
JP5373998B1 (ja) 辞書生成装置、方法、及びプログラム
US8239188B2 (en) Example based translation apparatus, translation method, and translation program
Tkaczyk et al. Cermine--automatic extraction of metadata and references from scientific literature
JP5834883B2 (ja) 因果関係要約方法、因果関係要約装置及び因果関係要約プログラム
CN110472043B (zh) 一种针对评论文本的聚类方法及装置
CN108875065B (zh) 一种基于内容的印尼新闻网页推荐方法
CN109558482B (zh) 一种基于Spark框架的文本聚类模型PW-LDA的并行化方法
Selamat et al. Word-length algorithm for language identification of under-resourced languages
CN111400584A (zh) 联想词的推荐方法、装置、计算机设备和存储介质
Gunawan et al. Multi-document summarization by using textrank and maximal marginal relevance for text in Bahasa Indonesia
JP6186198B2 (ja) 学習モデル作成装置、翻訳装置、学習モデル作成方法、及びプログラム
Kotenko et al. Evaluation of text classification techniques for inappropriate web content blocking
CN113986950A (zh) 一种sql语句处理方法、装置、设备及存储介质
CN113076748A (zh) 弹幕敏感词的处理方法、装置、设备及存储介质
CN106570196B (zh) 视频节目的搜索方法和装置
CN114912425A (zh) 演示文稿生成方法及装置
CN103218388A (zh) 文档相似性评价系统、文档相似性评价方法以及计算机程序
Ashari et al. Document summarization using TextRank and semantic network
JP2011227749A (ja) 略語完全語復元装置とその方法と、プログラム
CN113449063B (zh) 一种构建文档结构信息检索库的方法及装置
CN113157857B (zh) 面向新闻的热点话题检测方法、装置及设备
CN111581162B (zh) 一种基于本体的海量文献数据的聚类方法
JP4567025B2 (ja) テキスト分類装置、テキスト分類方法及びテキスト分類プログラム並びにそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013515598

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: 12869894

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20137030410

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: 12869894

Country of ref document: EP

Kind code of ref document: A1