JP2006277674A - Sentence division computer program - Google Patents
Sentence division computer program Download PDFInfo
- Publication number
- JP2006277674A JP2006277674A JP2005100017A JP2005100017A JP2006277674A JP 2006277674 A JP2006277674 A JP 2006277674A JP 2005100017 A JP2005100017 A JP 2005100017A JP 2005100017 A JP2005100017 A JP 2005100017A JP 2006277674 A JP2006277674 A JP 2006277674A
- Authority
- JP
- Japan
- Prior art keywords
- sentence
- analogy
- database
- program
- division
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
Description
この発明は、自然言語処理に関し、特に、単語等を単位とする所定単位に文字列を分割する技術に関する。 The present invention relates to natural language processing, and more particularly to a technique for dividing a character string into predetermined units each including a word or the like.
自然言語の文章をコンピュータで処理するためには、まず、処理対象の文章を単語又は形態素等の単位に分割し、個々の要素がどのようなものであるかを同定する処理が必要となる。例えば、単語と単語との境界を記号「|」で表した場合、日本語の文「来週出発したいと思っています。」を単語単位で分割すると、「来週|出発|したい|と|思って|います|。」となる。特に、日本語、中国語、タイ語等の言語の文は、英語等の言語のように単語ごとに分かち書きされることなく一続きに表記されるため、文を単語等の単位に分割する処理は必須の処理といえる。 In order to process a natural language sentence with a computer, first, it is necessary to divide the sentence to be processed into units such as words or morphemes and to identify what individual elements are. For example, if the boundary between words is represented by the symbol “|”, the Japanese sentence “I want to leave next week” is divided into words, then “Next week | "There is." Especially, sentences in languages such as Japanese, Chinese, Thai, etc. are written in a single line without being divided into words as in languages such as English, so the process of dividing the sentence into units such as words Is an essential process.
文を単語単位に分割するための手法として、大別して次の2種類の手法が知られている。すなわち、一つは辞書を用いる技術であり、もう一つは統計的な手法である。 As methods for dividing a sentence into words, the following two types of methods are known. That is, one is a technique using a dictionary and the other is a statistical technique.
辞書を用いる手法で分割を行なう場合、一般的にはまず有限状態オートマトンとして構成された辞書を用意する。そして、文頭から順に文中の文字と辞書中の文字とを照合し、先行する単語を構成する最後の文字と、その次の単語を構成する最初の文字との境界を決定する。この処理を文末に向かって順次行ない、単語と単語との境界を決定する。 When division is performed by a method using a dictionary, generally a dictionary configured as a finite state automaton is first prepared. Then, the characters in the sentence and the characters in the dictionary are collated in order from the beginning of the sentence, and the boundary between the last character constituting the preceding word and the first character constituting the next word is determined. This process is sequentially performed toward the end of the sentence to determine the boundary between words.
統計的な手法で分割を行なう場合、まず、事前に用意した学習データを処理して確率モデルを推論するための統計情報を得る、いわゆる学習段階の処理を行なう。確率モデルには様々なものが存在するが、通常、N−グラム頻度に依存するモデルを用いる。確率モデルは、例えばGood−Turingの評価法等を用いて平滑化され評価される。このような学習の結果、状態遷移という形態の情報が得られる。この状態遷移を使えば、処理中の文字又は処理予定の文字についての知識が与えられるので、処理中の文字が単語の最後の文字であるか否か、すなわちその位置に空白を置くべきか否かを決定することができる。学習段階の処理は、学習データが適切に処理され、確率モデルより知識が得られるまで実行される。その後に、学習で得られた知識を用いて単語と単語との境界を決定する。 When the division is performed by a statistical method, first, a so-called learning stage process is performed in which learning data prepared in advance is processed to obtain statistical information for inferring a probability model. There are various probabilistic models, but a model that depends on the N-gram frequency is usually used. The probability model is smoothed and evaluated using, for example, the Good-Turing evaluation method. As a result of such learning, information in the form of state transition is obtained. This state transition gives knowledge about the character being processed or to be processed, so whether or not the character being processed is the last character of a word, i.e. whether a blank should be placed at that position. Can be determined. The process in the learning stage is executed until the learning data is appropriately processed and knowledge is obtained from the probability model. After that, the boundary between words is determined using the knowledge obtained by learning.
辞書を用いる手法では、処理は非決定性を有する。すなわち、同じ文が異なる分割の仕方で分割されることがある。また、この手法で分割を行なうには、処理対象の言語の文法的知識等に基づき予め大規模かつ適切な辞書を編集しておく必要がある。 In the method using a dictionary, the processing is nondeterministic. That is, the same sentence may be divided in different ways. Further, in order to perform division by this method, it is necessary to edit a large-scale and appropriate dictionary in advance based on grammatical knowledge of the language to be processed.
統計的な手法に基づく技術では、用意したデータを前処理しておかなければならない。すなわち、処理に先立ち、膨大な量の学習データを用いて学習を行なう必要がある。また、確率モデルにN−グラムモデルを用いた場合、分割の処理対象となる文脈は所定の長さに固定されてしまい、長い文脈での処理に適さない。 In the technique based on the statistical method, the prepared data must be preprocessed. That is, it is necessary to perform learning using a huge amount of learning data prior to processing. Further, when the N-gram model is used as the probability model, the context to be processed for division is fixed to a predetermined length, which is not suitable for processing in a long context.
それゆえに、本発明の目的は、膨大な量の前処理やデータの編集を必要とせず、コンピュータに、様々な文を正確かつ迅速に分割させるコンピュータプログラムを提供することである。 Therefore, an object of the present invention is to provide a computer program that allows a computer to divide various sentences accurately and quickly without requiring an enormous amount of preprocessing and data editing.
本発明の第1の局面に係る文分割コンピュータプログラムは、文と、その文を所定単位で分割した分割文字列とからなる対を3個以上含む、コンピュータ読取可能なデータベースとともに用いられるコンピュータプログラムである。この文分割コンピュータプログラムは、処理対象の文が与えられると、データベースを用いて処理対象の文に対する分割文字列を生成するための文分割プログラム部分と、外部から与えられる入力文を文分割プログラム部分に与え、入力文に対して文分割プログラム部分が出力する分割文字列を、入力文に対する分割文字列として出力するための入出力プログラム部分とを含む。文分割プログラム部分は、処理対象の文が与えられると、データベースから任意の二つの文を選択し、当該二つの文と処理対象の文とから所定の第1の類推式を生成し、第1の類推式を解いて類推文を生成するための第1の類推プログラム部分と、類推文がデータベースに存在するか否かを判定するための判定プログラム部分と、判定プログラム部分により類推文がデータベースに存在すると判定されたことに応答して、データベース中で類推文と対になっている分割文字列、及びデータベース中で二つの文とそれぞれ対になっている二つの分割文字列を、データベースから読出すための読出プログラム部分と、読出プログラム部分により読出された3つの分割文字列を用いて、第1の類推式と所定の関係を有する第2の類推式を生成し、第2の類推式を解いて類推分割文字列を生成して文分割プログラム部分の戻り値として出力するための第2の類推プログラム部分とを含む。 The sentence division computer program according to the first aspect of the present invention is a computer program that is used together with a computer-readable database that includes three or more pairs of a sentence and a divided character string obtained by dividing the sentence by a predetermined unit. is there. When a sentence to be processed is given, the sentence dividing computer program uses a database to generate a divided character string part for generating a divided character string for the sentence to be processed, and an input sentence given from the outside as a sentence dividing program part. And an input / output program part for outputting a divided character string output by the sentence dividing program part for the input sentence as a divided character string for the input sentence. When a sentence to be processed is given, the sentence division program part selects arbitrary two sentences from the database, generates a predetermined first analogy from the two sentences and the sentence to be processed, A first analogy program part for generating an analogy sentence by solving the analogy formula, a determination program part for determining whether the analogy sentence exists in the database, and an analogy sentence in the database by the determination program part In response to being determined to exist, it reads from the database the split character string that is paired with the analogy sentence in the database and the two split character strings that are paired with two sentences in the database. A second analogical equation having a predetermined relationship with the first analogical equation is generated using the read program portion for the output and the three divided character strings read by the read program portion; And generating an analogy divided character string by solving the analogy equation and a second analogy program part for outputting as the return value of the sentence divided program parts.
好ましくは、第1の類推プログラム部分は、処理対象の文が与えられると、データベース中の文の順序対(A,B)を全て選択するためのプログラム部分と、選択された順序対の各々に対し、処理対象の文Dとの間で第1の類推式「A:B::x:D」を生成し、第1の類推式を解いて解x=Cを生成することを試み、生成された解Cを全て出力するための類推式解決プログラム部分とを含む。 Preferably, when a sentence to be processed is given, the first analogizing program part includes a program part for selecting all order pairs (A, B) of sentences in the database, and each of the selected order pairs. On the other hand, the first analogical expression “A: B :: x: D” is generated with the sentence D to be processed, and the first analogical expression is solved to generate a solution x = C. And an analog reasoning solution program part for outputting all the solutions C.
より好ましくは、データベース中の文A、B、及びCは、データベース中ではそれぞれ分割文字列A’、B’、及びC’と対になっており、第2の類推プログラム部分は、読出プログラム部分により読出された3つの分割文字列A’、B’、及びC’を用いて、第1の類推式における順序と一致する順序でこれらを配置した第2の類推式「A’:B’::C’:y」を生成し、この第2の類推式を解いて類推分割文字列y=D’を生成して文分割プログラム部分の戻り値として出力するためのプログラム部分を含む。 More preferably, sentences A, B, and C in the database are paired with divided character strings A ′, B ′, and C ′, respectively, in the database, and the second analogy program part is the read program part. Using the three divided character strings A ′, B ′, and C ′ read out by the second analogy formula “A ′: B ′: : C ′: y ”is generated, a program part for solving the second analogy formula and generating an analogy split character string y = D ′ and outputting it as a return value of the sentence split program part is included.
文分割プログラム部分は、判定プログラム部分により類推文がデータベースに存在していないと判定されたことに応答して、類推文を処理対象の文として文分割プログラム部分を再帰的に呼出すための再帰呼出プログラム部分と、類推文と、再帰呼出プログラム部分により呼出された文分割プログラム部分により出力される分割文字列とを対にして、データベースに追加するためのプログラム部分とをさらに含んでもよい。 The sentence split program part is a recursive call for recursively calling the sentence split program part using the analogy sentence as a processing target sentence in response to the judgment program part determining that the analog reason sentence does not exist in the database. The program part may further include a program part for adding to the database a pair of the program part, the analogy sentence, and the split character string output by the sentence split program part called by the recursive call program part.
本発明の第2の局面に係る記録媒体は、本発明の第1の局面に係るいずれかの文分割コンピュータプログラムを記録した、コンピュータ読取可能な記録媒体である。 A recording medium according to a second aspect of the present invention is a computer-readable recording medium on which any sentence division computer program according to the first aspect of the present invention is recorded.
[概要]
以下、図面を参照しつつ、本発明の一実施の形態について説明する。なお、本明細書では、単語単位で区切られることなく表記される言語の例として日本語を挙げるが、以下の説明からも明らかなように、本発明は、言語、文字、文法構造等に関係なく適用可能である。また、この実施の形態を説明するにあたり、図面及び明細書において、日本語における単語間の境界を記号「|」で表す。また、英語における単語間の境界は、通例どおり空白で表す。
[Overview]
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In this specification, Japanese is given as an example of a language written without being divided in units of words. As is clear from the following description, the present invention relates to a language, a character, a grammatical structure, and the like. It is applicable. In describing this embodiment, the boundary between words in Japanese is represented by the symbol “|” in the drawings and specification. Moreover, the boundary between words in English is represented by a blank as usual.
この実施の形態の文分割システムは、文字列により構成された文と、文中の単語同士の境界にそれぞれ境界を表す境界記号を挿入した記号列(以下、この記号列を「分割文字列」と呼ぶ。)との対からなる多数の用例を用いて、記号列類推によって単語単位の分割を行なう。記号列類推については、特許文献1を参照されたい。
The sentence division system according to this embodiment includes a sentence composed of a character string and a symbol string in which boundary symbols representing the boundaries are inserted at the boundaries between words in the sentence (hereinafter, this symbol string is referred to as a “divided character string”). The word unit is divided by symbol string analogy using a number of examples consisting of pairs. Refer to
特許文献1では、所定の順序で与えられた3つの記号列から別の記号列を類推生成する手法が開示されている。この手法では、まず、与えられた3つの記号列を構成する二つの記号列の間に成立する類推関係を特定する。続いて、3つの記号列を構成する残りの一つの記号列との間にその類推関係と同様の関係が成立する、別の記号列を生成する。二つの記号列の間に成立する類推関係と同様の類推関係が、残りの一つの記号列と生成される記号列との間に成立する。ここでは、記号列A、記号列B、及び記号列Cから、類推関係により記号列Dが生成されることを「A:B::C:D」と表すものとする。 Japanese Patent Application Laid-Open No. 2004-151561 discloses a method of generating another symbol string by analogy from three symbol strings given in a predetermined order. In this method, first, an analogy relation established between two symbol strings constituting three given symbol strings is specified. Subsequently, another symbol string is generated in which the same relationship as the analogy relationship is established with the remaining one symbol string constituting the three symbol strings. An analogy relationship similar to the analogy relationship established between two symbol strings is established between the remaining one symbol string and the generated symbol string. Here, the generation of the symbol string D from the symbol string A, the symbol string B, and the symbol string C by analogy is expressed as “A: B :: C: D”.
この実施の形態では、まず分割の対象となる文字列を文Dとした場合に、A:B::C:Dが成立する文A、B、及びCを探索する。文A、B、及びCが探索されると、用例を用いて文A、B、及びCに対応する分割文字列A’、分割文字列B’、及び分割文字列C’を準備する。分割文字列A’、B’、及びC’もまた記号列であり、記号列類推に用いることができる。そこで、分割文字列A’、B’、及びC’から、A’:B’::C’:D’が成立する記号列D’を記号列類推により生成する。 In this embodiment, first, when a character string to be divided is a sentence D, sentences A, B, and C that satisfy A: B :: C: D are searched. When the sentences A, B, and C are searched, a divided character string A ′, a divided character string B ′, and a divided character string C ′ corresponding to the sentences A, B, and C are prepared using an example. The divided character strings A ′, B ′, and C ′ are also symbol strings and can be used for symbol string analogy. Therefore, a symbol string D ′ that satisfies A ′: B ′ :: C ′: D ′ is generated from the divided character strings A ′, B ′, and C ′ by symbol string analogy.
分割文字列A’、B’、及びC’は分割文字列であるため、記号列D’も同様に分割文字列となる。また、分割文字列A’、B’、及びC’はそれぞれ文A、B、及びCに対応するものであるため、記号列D’も同様に文Dに対応するものとなる。したがって、記号列D’は、文Dに対応する分割文字列となる。 Since the divided character strings A ′, B ′, and C ′ are divided character strings, the symbol string D ′ is similarly divided character strings. Since the divided character strings A ′, B ′, and C ′ correspond to the sentences A, B, and C, respectively, the symbol string D ′ also corresponds to the sentence D. Therefore, the symbol string D ′ is a divided character string corresponding to the sentence D.
この実施の形態の文分割システムはさらに、文A、B、及びCの探索の過程で生成される文を対象とした再帰的な処理により、用例の補充を行なう。 The sentence division system of this embodiment further replenishes the example by recursive processing for sentences generated in the process of searching for sentences A, B, and C.
[構成]
この実施の形態の文分割システムは、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図1はこのコンピュータシステム30の外観を示し、図2はコンピュータシステム30の内部構成を示す。
[Constitution]
The sentence division system of this embodiment is realized by computer hardware, a program executed by the computer hardware, and data stored in the computer hardware. FIG. 1 shows the external appearance of the
図1を参照して、このコンピュータシステム30は、CD−ROM(コンパクトディスク読出専用メモリ)ドライブ50及びFD(フレキシブルディスク)ドライブ52を有するコンピュータ40と、モニタ42と、キーボード46と、マウス48とを含む。
Referring to FIG. 1, a
図2を参照して、コンピュータ40は、FDドライブ52及びCD−ROMドライブ50に加えて、ハードディスク54と、CPU(中央処理装置)56と、CPU56、ハードディスク54、FDドライブ52、及びCD−ROMドライブ50に接続されたバス66と、バス66に接続され、ブートアッププログラム等を記憶する読出専用メモリ(ROM)58と、バス66に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)60とを含む。コンピュータシステム30はさらに、プリンタ44を含んでいる。
2, in addition to the
ここでは示さないが、コンピュータ40はさらにローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでもよい。
Although not shown here, the
コンピュータシステム30にこの実施の形態の文分割システムとしての動作を行なわせるためのコンピュータプログラムは、CD−ROMドライブ50又はFDドライブ52に挿入されるCD−ROM62又はFD64に記憶され、さらにハードディスク54に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ40に送信されハードディスク54に記憶されてもよい。プログラムは実行の際にRAM60にロードされる。CD−ROM62から、FD64から、又はネットワークを介して、直接にRAM60にプログラムをロードしてもよい。
A computer program for causing the
このプログラムは、コンピュータ40にこの実施の形態の文分割システムとして動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ40上で動作するオペレーティングシステム(OS)又はサードパーティのプログラム、若しくはコンピュータ40にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態の文分割システムを実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記した文分割システムとしての動作を実行する命令のみを含んでいればよい。コンピュータシステム30の動作は周知であるので、ここでは繰返さない。
This program includes a plurality of instructions that cause the
図3に、この実施の形態の文分割システムの機能的構成をブロック図形式で示す。図3を参照して、この実施の形態の文分割システム80は、文字列で構成された入力文82を受け、単語間の境界を表す記号を入力文82中に挿入した分割文字列を生成し、出力文84として出力するための単語分割装置86と、単語分割装置86の処理に用いるデータとして、文とその文に対応する分割文字列とからなる対を多数記憶するためのデータベース88とを含む。
FIG. 3 shows a functional configuration of the sentence division system of this embodiment in a block diagram form. Referring to FIG. 3, the
図4にデータベース88に記憶されたデータの構造を示す。図4を参照して、データベース88は、文字列により構成された文を多数含む第1ファイル100と、第1ファイルに含まれる文にそれぞれ対応する多数の分割文字列からなる第2ファイル102とを含む。図4に示す第1ファイル100は、リスト形式のデータであり、多数のエントリを含む。第1ファイル100の各エントリは、そのエントリの識別番号と分割されていない文とを含む。第2ファイル102もまた第1ファイル100と同様のリスト形式のデータであり、多数のエントリを含む。各エントリは、そのエントリの識別番号と分割文字列とを含む。第1ファイル100と第2ファイル102とにおける同一の識別番号のエントリには、それぞれ文とその文に対応する分割文字列とが格納される。
FIG. 4 shows the structure of data stored in the
再び図3を参照して、単語分割装置86は、文を引数として呼出されると、引数とデータベース88内の用例とを用いて、引数に対応する分割文字列を生成して戻り値として返すとともに、データベース88に用例を補充する処理を実行するための分割プログラム90と、分割プログラム90による処理で生成される分割文字列とその処理に対応する引数とを対にして一時保持するためのメモリ94と、入力文82が入力されたことに応答して、入力文82を引数として分割プログラム90を呼出し、その結果分割プログラム90から返される分割文字列を出力文84として出力するための入出力部92とを含む。
Referring to FIG. 3 again, when the
図5に、分割プログラム90のフローチャートを示す。図5を参照して、分割プログラム90は、文を引数Dとして呼出される。分割プログラム90が開始されると、ステップ120Aとステップ120Bとで囲まれた、ステップ122、ステップ124、及びステップ126の処理を、第1ファイル内の、順序を含めて考えられる互いに異なる全ての文のペア(順序対)(A,B)について処理が完了するまで繰返す。
FIG. 5 shows a flowchart of the
ステップ122では、特許文献1に記載の手法で、処理対象の文のペアを構成する2文A及びBと引数Dとからなる3文をもとに記号列類推を行なう。すなわち、類推関係A:B::x:Dの成立する文x=C(以下、この文を「第1類推文」と呼ぶ。)の生成を試みる。ステップ124では、ステップ122において第1類推文Cが生成されたか否かを判定する。生成されたならばステップ126に進む。さもなければ、ステップ120Bに進む。
In
ステップ126では、ステップ122で生成された第1類推文Cを用いた処理を実行する。すなわち、データベース88(図4参照)内での第1類推文Cの検索と、第1類推文、文のペア(A,B)、及びデータベース88の第2ファイル102を用いて、引数Dに対応する分割文字列となる第2類推文D’を生成する処理とを行なう。ステップ126の処理が終了すると、ステップ120Bに進む。ステップ126での処理については、図6を用いて後述する。
In
全ての文のペアについてステップ120Aとステップ120Bとで囲まれた一連の処理が完了すると、ステップ128に進む。ステップ128では戻り値を設定する。すなわち一連の処理により引数Dに対応する分割文字列D’が生成され、引数Dと分割文字列D’との対がメモリ94(図3参照)に格納されていたならば、正常終了を表す値(例えば「0」)とメモリ94上における文と分割文字列との対の格納位置を表すアドレスとを、戻り値として設定する。引数Dに対応する分割文字列D’が生成されていなければ、エラーを表す所定の値(例えば「1」)を戻り値として設定する。そして、分割プログラム90を終了する。
When a series of processes surrounded by
図6に、ステップ126(図5参照)において実行される処理のフローチャートを示す。図6を参照して、ステップ126の処理が開始されると、図5に示すステップ122において生成される全ての第1類推文Cに対し、ステップ140Aとステップ140Bとで囲まれたステップ142〜ステップ158の処理を実行する。
FIG. 6 shows a flowchart of processing executed in step 126 (see FIG. 5). Referring to FIG. 6, when the process of
ステップ142では、第1ファイル100(図4参照)内で、第1類推文Cと一致する文を検索する。ステップ144では、ステップ142での検索の結果について判定を行なう。すなわち、検索により第1ファイル100から一致する文が得られたならば、ステップ146に進む。さもなければステップ154に進む。
In
ステップ146では、処理対象の文のペア(A,B)及び処理対象の第1類推文Cからなる3文と、第1ファイル100(図4参照)と、第2ファイル102(図4参照)とを照合して、この3文に対応する3つの分割文字列A’、B’、及びC’を第2ファイル102から読出す。ステップ148では、ステップ146で読出した3つの分割文字列A’、B’、及びC’をもとにステップ122(図5参照)と同様の記号列類推を行なう。すなわち、類推式A’:B’::C’:yの成立する第2類推文y=D’の生成を試みる。ここで生成される第2類推文D’が、引数Dに対応する分割文字列となる。ステップ150では、ステップ148において第2類推文D’が生成されたか否かを判定する。生成されたならばステップ152に進む。さもなければステップ140Bに進む。ステップ152では、引数Dと第2類推文D’との対をメモリ94(図3参照)に格納し、ステップ140Bに進む。
In
ステップ144からステップ154へ処理が進むと、ステップ154において、第1類推文を引数として、分割プログラム90の再帰呼出を行なう。この再帰呼出により、第1類推文Cに対応する分割文字列C’が生成され、戻り値として、正常終了を表す値(0)と第1類推文Cに対応する分割文字列C’との対のメモリ94上でのアドレスとが返される。又は、第1類推文Cに対応する分割文字列C’が生成されず、戻り値としてエラーを表す値(1)が返される。戻り値が返されるとステップ156に進む。ステップ156では、ステップ154での戻り値の判定を行なう。戻り値がエラーを表す値(1)であれば、ステップ140Bに進む。さもなければステップ158に進む。ステップ158では、その時点でメモリ94に格納されている全ての文と分割文字列との対をデータベース88(図4参照)に補充する。すなわち第1類推文を第1ファイル100(図4参照)に格納し、第1類推文に対する分割文字列を第2ファイルに格納する。補充が完了するとステップ140Bに進む。
When the process proceeds from
以上の一連の処理が全ての第1類推文について完了すると、図5に示すステップ126の処理が完了する。処理は、上記の通り図5のステップ120Bに進む。
When the above series of processing is completed for all the first kind inferences, the processing of
[動作]
この実施の形態の文分割システム80は、以下のように動作する。
[Operation]
The
−第1類推文の生成と検索−
まず、文分割システム80が第1類推文を生成しデータベース88内で第1類推文を検索する動作について説明する。図7に、第1類推文を生成しデータベース88内で第1類推文を検索する動作を概略的に示す。図7を参照して、単語分割装置86(図3参照)に「もっと淡いいろはありますか。」という入力文82が与えられたものとする。入出力部92(図3参照)は、この入力文82を引数D200として、分割プログラム90を呼出す。
-Generation and retrieval of first kind reasoning-
First, an operation in which the
分割プログラム90が呼出されると、図5に示すステップ120Aにおいて、データベース88(図3及び図4参照)の第1ファイル100(図4参照)から、任意の二つの文A及びBを選び、文A及びBからなる文のペア202を形成する。ここでは、図4に示す第1ファイル100から、文Aとして識別番号2の「もっと濃いいろはありますか。」が選ばれ、文Bとして識別番号4の「もっと淡い色はありますか。」という文が選ばれたものとする。
When the dividing
文のペア202を選択すると、続くステップ122において、引数D200と文のペア202を構成する文A及びBとからなる3文の組204を形成する。そして記号列類推によって、この3文からA:B::C:Dの成立する第1類推文C206の生成を試みる。例えば、図7に示す3文の組204においては、文Bは、文A中の「濃」という文字を「淡」という文字に、「いろ」という文字列を「色」という文字に、それぞれ置換した文である。文Bにおけるこれら2箇所の文字列を除く部分の文字列は、文Aにおける当該部分の文字列に共通する。引数Dは、「淡」という文字と「いろ」という文字列とを含み、この2箇所の文字列を除く部分の文字列は、文A及び文Bにおける当該箇所の文字列に共通する。特許文献1に記載の手法では、文A、文B、及び文Dに共通する部分と、文Dにおける文字「淡」と置換の関係にある文字「濃」と、文Dにおける文字「いろ」と置換の関係にある文字「色」とから、新たな文が生成される。生成される文は、「もっと濃い色はありますか。」という文である。この実施の形態では、この文が第1類推文C206となる。
When the
なお、特許文献1に記載の手法では、3文の組204において類推的な類似関係が成立せず、第1類推文Cが生成できない場合がある。この場合、第1ファイル100(図4参照)から文を選びなおして新たに文のペア202を形成する。また、特許文献1に記載の手法では、第1類推文が複数生成される場合がある。この場合、生成された第1類推文の各々について、以下に説明する処理を行なう。
In the method described in
第1類推文C206が生成されると、ステップ126が開始される。ステップ126が開始されると、第1類推文C206と一致する文をデータベース88(図4参照)の第1ファイル100内で検索する。図4に示すデータベース88においては、第1ファイル100の識別番号3の文が第1類推文206と一致する。
When the first analog reasoning C206 is generated,
第1類推文206と一致する文が第1ファイル100内に存在した場合、文のペア202(図7参照)を構成する文A及びB、並びに第1類推文C206は、いずれもデータベース88(図4参照)の第1ファイル100内に存在することになる。そこで、文A、文B、及び第1類推文C206の3文からなる3文の組220を探索の結果とする。
When a sentence that matches the
第1類推文と一致する文が第1ファイル100(図4参照)内になかった場合、第1類推文C206に対応する分割文字列もまた、データベース88には存在しない。この場合、第1類推文C206を引数として分割プログラム90を再帰的に呼出し、データベース88への用例の補充を行なう。この動作については後述する。
If there is no sentence in the first file 100 (see FIG. 4) that matches the first kind inference, the divided character string corresponding to the first kind inference C206 also does not exist in the
−第2類推文の生成−
図8に、探索された3文の組220と用例とを用いて、第2類推文を生成する動作を概略的に示す。図8を参照して、探索された3文の組220を構成する文A、文B、及び第1類推文C206(図7参照)と、引数D200との間には、上記のとおり類推関係A:B::C:Dが成立する。すなわち、3文の組220から引数D200を類推できる。また3文の組220を構成する文A、文B、及び第1類推文Cの各々は、第1ファイル100(図4参照)内に存在する。すなわち、これらの文に対応する分割文字列を、第2ファイル102(図4参照)からそれぞれ得ることができる。ステップ146(図6参照)においてはさらに、第2ファイル102から、3文の組220を構成する文A、B、及びCに対応する分割文字列A’、B’、及びC’を読出し、分割文字列A’、B’、及びC’の3つからなる分割文字列の組224を形成する。本例においては、図4に示すデータベース88の第2ファイル102から、識別番号2、4、及び3の文を読出し、分割文字列の組224を形成する。
-Generation of second analogy-
FIG. 8 schematically shows an operation of generating a second analog reasoning using the searched three sentence set 220 and an example. Referring to FIG. 8, between the sentence A, sentence B, and first class reasoning sentence C206 (see FIG. 7) constituting the searched three
分割文字列の組224が形成されると、ステップ148において、分割文字列の組224から、記号列類推により第2類推文D’226を生成する。例えば図8に示す分割文字列の組224からは、「もっと|淡い|いろ|は|あります|か|。」という分割文字列が生成される。分割文字列A’、B’、及びC’は、文A、B、及びCに対応する。したがって、第2類推文D’226は引数D200に対応する分割文字列となる。第2類推文D’226の生成に成功すると、引数D200と第2類推文D’226との対228をメモリ94(図3参照)に格納する。第2類推文D’226の類推生成に失敗した場合、メモリ94には何も格納せずに、第1類推文C206に対する一連の処理を完了する。
When the divided character string set 224 is formed, in
図5に示すステップ122の処理で生成された全ての第1類推文について以上の処理が完了すると、図5に示すステップ120Aにおいて、第1ファイル100(図4参照)から文を選びなおして新たに文のペアを形成し、新たな文のペアに対する処理を開始する。
When the above processing is completed for all the first kind inferences generated in
全ての文のペアについて以上の処理が完了すると、分割プログラム90の戻り値の設定を行なう。すなわち、メモリ94(図3参照)に文と分割文字列との対228が格納されていれば、正常終了を表す値(0)とメモリ94上で文と分割文字列との対228の格納位置を表すアドレスとを分割プログラム90(図3)の戻り値に設定する。メモリ94に文と分割文字列との対が格納されていれなければ、エラーを表す値(1)を戻り値に設定する。
When the above processing is completed for all sentence pairs, the return value of the
図3を参照して、入出力部92に、正常終了を表す値(0)とメモリ94上で文と分割文字列との対228の格納位置を表すアドレスとが戻り値として与えられると、入出力部92(図3参照)は、戻り値に基づきメモリに格納された文と分割文字列との対228を読出し、文と分割文字列との対228を構成する分割文字列226を出力文84として出力する。
Referring to FIG. 3, when a value (0) indicating normal termination and an address indicating the storage position of a
−用例の補充−
以下、第1類推文C206と一致する文が第1ファイル100(図4参照)内になかった場合の動作について説明する。第1類推文と一致する文が第1ファイル100(図4参照)内になかった場合、第1類推文C206とその分割文字列との対は、データベース88には格納されていないことになる。
-Supplementation of examples-
Hereinafter, an operation in a case where a sentence that matches the first analogy sentence C206 is not in the first file 100 (see FIG. 4) will be described. If there is no sentence in the first file 100 (see FIG. 4) that matches the first kind inference, the pair of the first kind inference C206 and its divided character string is not stored in the
このような第1類推文C206に対応する分割文字列が得られるならば、第1類推文C206及びその分割文字列をデータベース88の第1ファイル100及び第2ファイル102にそれぞれ追加することにより、データベース88を充実させることができる。そこで、ステップ154(図6参照)において、第1類推文C206を新たな引数として分割プログラム90の再帰呼出を行ない、第1類推文に対応する分割文字列の生成を試みる。再帰呼出によって、新たな引数に対する第2類推文すなわち新たな引数の分割文字列が生成されれば、戻り値により、その分割文字列が得られ、分割文字列が生成されなければ、エラーを表す値(1)が返される。生成された分割文字列に対応する文は、データベース88(図4参照)の第1ファイル100に格納され、生成された分割文字列は、第2ファイル102に格納される。
If such a divided character string corresponding to the first type inference C206 is obtained, the first type inference C206 and the divided character string are added to the
[実験]
−日本語の単語分割実験−
この実施の形態の手法を用いて、日本語の文を単語単位に分割する実験を行なった。実験に際し、15373文のコーパスを用意した。図9に、用意した文の一例を示す。図9を参照して、第1ファイル250は、分割されていない文を列挙したものである。第2ファイル252は、第1ファイル250に列挙された各文を分割した場合に得られる分割文字列の正解を列挙したものである。第2ファイル252においては、文中の単語間に記号「|」を挿入してある。なお、用意した15373文において、1文を構成する単語の数は、平均7.60、標準偏差3.34であった。
[Experiment]
-Japanese word segmentation experiment-
Using the method of this embodiment, an experiment was conducted to divide a Japanese sentence into words. During the experiment, a corpus of 15373 sentences was prepared. FIG. 9 shows an example of the prepared sentence. Referring to FIG. 9, the
この実験では、第1ファイル250に列挙された各文を入力文82(図3参照)として用いた。この入力に対し、出力文84が得られた場合には、出力文を第2ファイル252と照合した。
In this experiment, each sentence listed in the
用意した15373文について、この実施の形態の手法で分割を行なった結果、そのうち15370文について出力文84を得ることができた。得られた出力文84を正解と照合した結果、いずれも正しく分割されていることが判明した。
As a result of dividing the prepared 15373 sentences by the method of this embodiment, an
−英語の単語分割実験−
また、この実施の形態の手法を用いて、英語の文を単語単位に分割する実験を行なった。実験に際し、52848文のコーパスを用意した。図10に、用意した文の一例を示す。図10を参照して、英語の文は単語ごとに分かち書きされるため、用意した文が分割における正解となる。用意した文を列挙したものが第2ファイル262である。第1ファイル260は、この実験における入力文82となる文字列であり、第2ファイル262に列挙された各文から、空白文字を除去した文字列を列挙したものである。なお、用意した52848文において、1文を構成する単語の数は、平均5.69、標準偏差2.12、最大23であった。
-English word segmentation experiment-
In addition, using the method of this embodiment, an experiment was performed to divide an English sentence into words. During the experiment, a 52848 sentence corpus was prepared. FIG. 10 shows an example of the prepared sentence. Referring to FIG. 10, since the English sentence is divided for each word, the prepared sentence becomes the correct answer in the division. A list of prepared sentences is the
この実験では、第1ファイル260に列挙された文字列を入力文に用いた。言い換えれば、この実験で行なわれた分割処理は、入力文中に空白文字を挿入しなおす処理である。この処理により出力文84が得られた場合には、得られた出力文84を第2ファイル262と照合した。
In this experiment, the character strings listed in the
用意した52848文について、この実施の形態の手法で単語単位の分割を行なった結果、そのうち50897文について出力文84を得ることができた。得られた出力文と正解とを照合した結果、50897文の出力文84のうち、不正解のものはわずかに4文であった。
As a result of dividing the prepared 52848 sentences in units of words by the method of this embodiment, an
以上のように、この実施の形態における文分割の手法は、言語、文字、文法規則等に関係なく、分割されていない任意の文字列とその分割文字列との対からなる用例を用意するだけで、文の分割を行なうことができる。また、用例をデータベースに自動的に補充しながら分割を行なうため、事前に多量のデータを用意したり、学習段階の処理を行なったりしなくても、分割を行なうことができる。 As described above, the sentence division method in this embodiment is merely to prepare an example consisting of a pair of an arbitrary character string that is not divided and the divided character string, regardless of language, characters, grammatical rules, and the like. The sentence can be divided. Further, since the database is divided while automatically replenishing the database, it is possible to perform the division without preparing a large amount of data in advance or performing the learning stage process.
また、N−グラムモデルを用いた統計的手法のように、処理対象の文脈のサイズが固定されることはなく、入力文を文単位の長い文脈で処理することが可能になる。 Further, unlike the statistical method using the N-gram model, the size of the context to be processed is not fixed, and the input sentence can be processed in a long context of a sentence unit.
なお、上記の実施の形態では、図4に示すような用例のみを用いて分割を行なったが、本発明はこのような実施の形態には限定されない。例えば、辞書を用いた分割手法を併用することも可能である。 In the above embodiment, the division is performed using only the example as shown in FIG. 4, but the present invention is not limited to such an embodiment. For example, a division method using a dictionary can be used in combination.
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。 The embodiment disclosed herein is merely an example, and the present invention is not limited to the above-described embodiment. The scope of the present invention is indicated by each claim in the claims after taking into account the description of the detailed description of the invention, and all modifications within the meaning and scope equivalent to the wording described therein are intended. Including.
80 文分割システム
82 入力文
84 出力文
86 単語分割装置
88 データベース
90 分割プログラム
92 入出力部
100 第1ファイル
102 第2ファイル
80
Claims (3)
処理対象の文が与えられると、前記データベースを用いて前記処理対象の文に対する分割文字列を生成するための文分割プログラム部分と、
外部から与えられる入力文を前記文分割プログラム部分に与え、当該入力文に対して前記文分割プログラム部分が出力する分割文字列を、前記入力文に対する分割文字列として出力するための入出力プログラム部分とを含み、
前記文分割プログラム部分は、
前記処理対象の文が与えられると、前記データベースから任意の二つの文を選択し、当該二つの文と前記処理対象の文とから所定の第1の類推式を生成し、当該第1の類推式を解いて類推文を生成するための第1の類推プログラム部分と、
前記類推文が前記データベースに存在するか否かを判定するための判定プログラム部分と、
前記判定プログラム部分により前記類推文が前記データベースに存在すると判定されたことに応答して、前記データベース中で前記類推文と対になっている分割文字列と、前記データベース中で前記二つの文とそれぞれ対になっている二つの分割文字列とを前記データベースから読出すための読出プログラム部分と、
前記読出プログラム部分により読出された3つの分割文字列を用いて、前記第1の類推式と所定の関係を有する第2の類推式を生成し、当該第2の類推式を解いて類推分割文字列を生成して前記文分割プログラム部分の戻り値として出力するための第2の類推プログラム部分とを含む、文分割コンピュータプログラム。 A sentence division computer program used with a computer-readable database, including three or more pairs of sentences and divided character strings obtained by dividing the sentence by a predetermined unit,
When a sentence to be processed is given, a sentence division program part for generating a divided character string for the sentence to be processed using the database;
Input / output program part for giving an input sentence given from the outside to the sentence division program part and outputting a divided character string output by the sentence division program part for the input sentence as a divided character string for the input sentence Including
The sentence division program part is:
When the processing target sentence is given, arbitrary two sentences are selected from the database, a predetermined first analogy is generated from the two sentences and the processing target sentence, and the first analogy is generated. A first analogy program part for solving the formula and generating an analogy,
A determination program part for determining whether or not the analogy sentence exists in the database;
In response to determining that the analogy is present in the database by the determination program part, a divided character string paired with the analogy in the database, and the two sentences in the database A read program portion for reading from the database two divided character strings each paired;
Using the three divided character strings read out by the read program part, a second analogical expression having a predetermined relationship with the first analogical expression is generated, and the second analogical expression is solved to generate an analogy divided character A sentence division computer program including a second analogy program part for generating a sequence and outputting it as a return value of the sentence division program part.
前記処理対象の文が与えられると、前記データベース中の文の順序対(A,B)を全て選択するためのプログラム部分と、
選択された前記順序対の各々に対し、前記処理対象の文Dとの間で第1の類推式「A:B::x:D」を生成し、当該第1の類推式を解いて解x=Cを生成することを試み、生成された解Cを全て出力するための類推式解決プログラム部分とを含む、請求項1に記載の文分割コンピュータプログラム。 The first analogy program part is:
Given the sentence to be processed, a program portion for selecting all the ordered pairs (A, B) of sentences in the database;
For each of the selected ordered pairs, a first analogical expression “A: B :: x: D” is generated with the sentence D to be processed, and the first analogical expression is solved to solve The sentence division computer program according to claim 1, further comprising: an analogy solution program part for trying to generate x = C and outputting all the generated solutions C.
前記判定プログラム部分により前記類推文が前記データベースに存在していないと判定されたことに応答して、当該類推文を処理対象の文として前記文分割プログラム部分を再帰的に呼出すための再帰呼出プログラム部分と、
前記類推文と、前記再帰呼出プログラム部分により呼出された前記文分割プログラム部分により出力される分割文字列とを対にして、前記データベースに追加するためのプログラム部分とをさらに含む、請求項1又は請求項2に記載の文分割コンピュータプログラム。 The sentence division program part is:
A recursive call program for recursively calling the sentence division program portion using the analogy sentence as a processing target sentence in response to the determination program portion determining that the analogy sentence does not exist in the database Part,
The program part for adding the said analogy sentence and the division | segmentation character string output by the said sentence division | segmentation program part called by the said recursive calling program part as a pair to the said database is further included. The sentence division computer program according to claim 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005100017A JP2006277674A (en) | 2005-03-30 | 2005-03-30 | Sentence division computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005100017A JP2006277674A (en) | 2005-03-30 | 2005-03-30 | Sentence division computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006277674A true JP2006277674A (en) | 2006-10-12 |
Family
ID=37212327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005100017A Pending JP2006277674A (en) | 2005-03-30 | 2005-03-30 | Sentence division computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006277674A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871537A (en) * | 2019-01-31 | 2019-06-11 | 沈阳雅译网络技术有限公司 | A kind of high-precision Thai subordinate sentence method |
CN111460789A (en) * | 2020-05-15 | 2020-07-28 | 湖南工商大学 | L STM sentence segmentation method, system and medium based on character embedding |
-
2005
- 2005-03-30 JP JP2005100017A patent/JP2006277674A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871537A (en) * | 2019-01-31 | 2019-06-11 | 沈阳雅译网络技术有限公司 | A kind of high-precision Thai subordinate sentence method |
CN109871537B (en) * | 2019-01-31 | 2022-12-27 | 沈阳雅译网络技术有限公司 | High-precision Thai sentence segmentation method |
CN111460789A (en) * | 2020-05-15 | 2020-07-28 | 湖南工商大学 | L STM sentence segmentation method, system and medium based on character embedding |
CN111460789B (en) * | 2020-05-15 | 2023-07-07 | 湖南工商大学 | LSTM clause method, system and medium based on character embedding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5377889B2 (en) | Language processing apparatus and program | |
US5610812A (en) | Contextual tagger utilizing deterministic finite state transducer | |
US6684201B1 (en) | Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites | |
EP0370778A2 (en) | Method for manipulating digital text data | |
US20140350913A1 (en) | Translation device and method | |
US20060149543A1 (en) | Construction of an automaton compiling grapheme/phoneme transcription rules for a phoneticizer | |
JP2007172657A (en) | Method and system for identifying and analyzing commonly confused word with natural language parser | |
JPWO2007097208A1 (en) | Language processing apparatus, language processing method, and language processing program | |
CN110147544B (en) | Instruction generation method and device based on natural language and related equipment | |
US20220414332A1 (en) | Method and system for automatically generating blank-space inference questions for foreign language sentence | |
JP3781561B2 (en) | Natural language analysis device, system and recording medium | |
WO2020170912A1 (en) | Generation device, learning device, generation method, and program | |
WO2020170906A1 (en) | Generation device, learning device, generation method, and program | |
Rasin et al. | Approaching explanatory adequacy in phonology using Minimum Description Length | |
CN114239589A (en) | Robustness evaluation method and device of semantic understanding model and computer equipment | |
Wintner | Formal language theory | |
JP5317061B2 (en) | A simultaneous classifier in multiple languages for the presence or absence of a semantic relationship between words and a computer program therefor. | |
JP2006277674A (en) | Sentence division computer program | |
US20220004708A1 (en) | Methods and apparatus to improve disambiguation and interpretation in automated text analysis using structured language space and transducers applied on automatons | |
JP4405542B2 (en) | Apparatus, method and program for clustering phoneme models | |
JP7253951B2 (en) | natural language data processor and program | |
KR101472029B1 (en) | Natural language-based syntax analysis method using index element and system thereof | |
US7617089B2 (en) | Method and apparatus for compiling two-level morphology rules | |
Mahlow et al. | Linguistic support for revising and editing | |
CN110955748B (en) | Semantic processing method, electronic device and non-transitory computer readable recording medium |