以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としての文境界推定装置1の機能ブロック構成を図1に示す。図1において、文境界推定装置1は、第1辞書11と、第2辞書12と、テキスト展開部13と、文境界推定部14とを備える。
ここで、文境界推定装置1は、図2に示すようなハードウェア要素によって構成可能である。図2において、文境界推定装置1は、CPU(Central Processing Unit)1001、メモリ1002、出力装置1003、および、入力装置1004を含む。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。出力装置1003は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置1004は、キーボードやマウス、OCR(Optical Character Reader)装置等のように、ユーザ操作や情報の入力を受け付ける装置によって構成される。この場合、文境界推定装置1の各機能ブロックは、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するとともに出力装置1003、入力装置1004の各部を制御するCPU1001によって構成される。なお、文境界推定装置1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
次に、各機能ブロックの詳細について説明する。
第1辞書11は、単語列を格納する。単語列とは、1つ以上の単語からなる意味のある文字列である。なお、複数の単語からなる単語列は、いわゆる複合語である。第1辞書11は、単独の単語や複合語等、対象分野において一般的に使用される単語列を格納している。特に、第1辞書11には、文末記号を含む単語列と同等の意味を表すよう文末記号を含まないで表された単語列そのものや、そのような単語列をさらに含む複合語が格納されていることが望ましい。ただし、第1辞書11は、そのような単語列だけでなく、その他の単語列を格納していてもよい。第1辞書11としては、対象分野における単独の単語だけでなく複合語も見出し語として含むような一般的な辞書を適用可能である。
図3は、文境界を推定する対象として英文が想定される場合に、第1辞書11に格納される情報の一例である。ここでは、「United States」、「United States President」、「United States Senate」、「Post Office」、「Post Office Box」等の単語列が登録されている。これらは、文末記号を含む単語列「U.S.」や「P.O.」と同等の意味を表すよう文末記号を含まないで表された単語列「United States」や「Post Office」そのものまたはそのような単語列を含む複合語である。英文では、頭字語、省略形または短縮形等と呼ばれる、文末記号であるピリオドを含む単語が用いられることが多い。そこで、このように、第1辞書11には、ピリオドを含む頭字語、省略形または短縮形として表現され得るフルスペル表記の単語列そのものや、そのようなフルスペル表記の単語列をさらに含む複合語が格納されている。
なお、図3では、説明のため、第1辞書11の各エントリにIDを付与している。IDがXのエントリを、以降、ID:Xのエントリとも記載する。
第2辞書12は、置換元単語列および置換先単語列を関連付けて格納する。置換元単語列とは、少なくとも1つの単語に文末記号が含まれる1つ以上の単語からなる意味のある文字列である。置換先単語列は、置換元単語列と同等の意味を表すよう、文末記号を含まずに表された1つ以上の単語からなる意味のある文字列である。
図4は、文境界を推定する対象として英文が想定される場合に、第2辞書12に格納される情報の一例である。ここでは、置換元単語列として「U.S.」というピリオドを含む省略形の単語に関連付けて、その省略形をスペルアウトしたフルスペル表記である「United States」という置換先単語列が格納されている。また、置換元単語列として「P.O.」というピリオドを含む省略形の単語に関連付けて、その省略形のフルスペル表記である「Post Office」という置換先単語列が格納されている。
この例のように、第2辞書12は、文末記号を含んで表現される最小単位の単語列(例えば、「U.S.」)を置換元単語列とするエントリを少なくとも格納すればよい。つまり、第2辞書12は、そのような置換元単語列をさらに含む複合語(例えば、「U.S. President」)を置換元単語列とするエントリを格納しなくてもよい。
なお、図4では、説明のため、第2辞書12の各エントリにIDを付与している。IDがXのエントリを、以降、ID:Xのエントリとも記載する。
テキスト展開部13は、第2辞書12に基づいて、オリジナルテキストにおける置換元単語列を、関連付けられた置換先単語列に置換した置換後テキストを生成する。
なお、テキスト展開部13は、入力装置1004を介して入力されるテキストを、オリジナルテキストとして取得してもよい。あるいは、テキスト展開部13は、メモリ1002に格納されたテキストを、オリジナルテキストとして取得してもよい。また、この場合、テキスト展開部13は、対象となるテキストのメモリ1002における格納位置を表す情報を、入力装置1004を介して取得してもよい。また、テキスト展開部13は、ネットワークを介して接続された装置から入力されるテキストを、オリジナルテキストとして取得してもよい。その他、テキスト展開部13は、可搬型記憶媒体に記憶されたテキストを、オリジナルテキストとして取得してもよい。
文境界推定部14は、置換後テキストおよび第1辞書11に基づいて、オリジナルテキストにおける文境界を推定する。このとき、文境界推定部14は、オリジナルテキストの文末記号が、置換後テキストにおいて第1辞書11に登録された単語列にマッチする範囲に含まれる置換先単語列に置換された置換元単語列の内部にある場合、その文末記号の直後は文境界でないと推定する。
具体的には、例えば、文境界推定部14は、置換後テキストにおいて第1辞書11に登録されている単語列にマッチする範囲を検出しておく。そして、文境界推定部14は、次の条件3および4がいずれも満たされる場合に、その直後が文境界でないと判断すればよい。
・条件3:オリジナルテキストにおける文末記号が、置換された置換元単語列に含まれる。
・条件4:置換後テキストにおいてその置換元単語列から置換された置換先単語列が、先に検出しておいた第1辞書11に登録された単語列にマッチする範囲に含まれる。
なお、文境界推定部14は、オリジナルテキストにおける文末記号が、上記条件3および4のいずれか1つでも満たさない場合は、通常の文境界の推定処理を行う。通常の文境界の推定処理には、公知の技術を適用してもよい。
ただし、文境界推定部14は、オリジナルテキストの文末記号が、置換後テキストにおいて第1辞書11の単語列にマッチする範囲に含まれる置換先単語列に置換された置換元単語列の内部にあっても、次の場合には、その直後が文境界でないとの判断を保留する。その場合とは、次の条件5および6がいずれも満たされる場合である。
・条件5:該当する文末記号が、オリジナルテキストにおいて、置換された置換元単語列の末尾の文字である。
・条件6:置換後テキストにおいて、その置換元単語列から置換された置換先単語列の末尾の単語と、その置換先単語列を含む第1辞書11の単語列にマッチする範囲の末尾の単語とが一致する。
この場合、文境界推定部14は、通常の文境界の推定処理によって、その文末記号の直後における文境界の有無を推定すればよい。
以上のように構成された文境界推定装置1の動作を、図5を参照して説明する。
図5では、まず、テキスト展開部13は、オリジナルテキストを取得する(ステップS1)。
次に、テキスト展開部13は、第2辞書12を参照して、オリジナルテキストにおいて置換元単語列に一致する文字列を検索する。そして、テキスト展開部13は、検索した置換元単語列に一致する文字列を、関連付けられた置換先単語列に置換することにより、置換後テキストを生成する(ステップS2)。
ここで、オリジナルテキストにおけるある文字列について、適用可能な複数の置換元単語列のエントリが、第2辞書12にあるとする。この場合、テキスト展開部13は、その箇所をそれぞれの置換先単語列で置換することにより、複数の置換後テキストを生成してもよい。適用可能な複数の置換元単語列があるケースとしては、例えば、次のようないくつかのケースが考えられる。1つ目は、同一の置換元単語列について、異なる置換先単語列が関連付けられた複数のエントリがあるケースである。例えば、「U.S.」という置換元単語列に対して「United States」を置換先単語列として関連付けたエントリと、「Universal Studios」を置換先単語列として関連付けたエントリとがある場合等である。2つ目は、文字列として包含関係にある異なる置換元単語列に関する複数のエントリがあるケースである。例えば、「U.S.」という置換元単語列のエントリと、「U.S. Japan」という置換元単語列のエントリがある場合等である。
次に、文境界推定部14は、置換後テキストにおいて、第1辞書11に登録された単語列にマッチする文字列を検出し、その範囲を記録する(ステップS3)。
次に、文境界推定部14は、オリジナルテキスト中の各文末記号に対して、その直後に文境界の有無を判断するステップS4〜S6の処理を実行する。
ここでは、文境界推定部14は、当該文末記号が、オリジナルテキストにおいて置換された置換元単語列の一部である場合、さらに次の判断を行う。この場合、文境界推定部14は、置換後テキストにおいてその置換元単語列から置換された置換先単語列が、先に検出しておいた第1辞書11に登録済みの単語列にマッチする範囲に含まれるか否かを判断する(ステップS4)。
ただし、文境界推定部14は、該当する置換先単語列が第1辞書11に登録済みの単語列にマッチする範囲に含まれる場合でも、次のケースには、ステップS4の判断結果をNoとする。そのようなケースとは、この文末記号が、置換元単語列の末尾の文字であり、かつ、置換先単語列の最後の単語と、置換先単語列を含む第1辞書11に登録済みの単語列にマッチする範囲の最後の単語とが一致する場合である。
また、ステップS2において複数の置換後テキストが生成されている場合、文境界推定部14は、ステップS4における判断処理を、各々の置換後テキストを対象として実施してもよい。そして、この場合、文境界推定部14は、少なくとも1つの置換後テキストにおいての判断結果がYesとなった場合は、ステップS4全体としての判断結果をYesとしてもよい。一方、文境界推定部14は、全ての置換後テキストでの判断結果がNoとなった場合は、ステップS4全体としての判断結果をNoとしてもよい。
ここで、ステップS4でYesとなった場合について説明する。この場合、文境界推定部14は、オリジナルテキストにおいてこの文末記号の直後に文境界は無いと判断する(ステップS5)。
一方、ステップS4でNoとなった場合について説明する。この場合、文境界推定部14は、この文末記号について通常の文境界の推定処理を実行することにより、その直後における文境界の有無を推定する(ステップS6)。
前述のように、通常の文境界の推定処理には、公知の技術を適用してもよい。例えば、通常の文境界の推定処理としては、背景技術で説明した条件1および条件2を共に満たす場合に、その直後に文境界があると判断する処理を適用してもよい。
ステップS4〜S6の処理を、オリジナルテキストにおける全ての文末記号について完了すると、文境界推定部14は、推定した文境界の位置を表す情報を出力する(ステップS7)。
以上で、文境界推定部14は、動作を終了する。
次に、文境界推定装置1の動作を具体例で示す。ここでは、オリジナルテキストは英文であり、文末記号はピリオドである。また、第1辞書11および第2辞書12には、それぞれ、図3および図4に示した情報が格納されているものとする。また、各機能ブロックは、テキストにおける空白を単語の境界として認識するものとする。
まず、テキスト展開部13は、図6に示すオリジナルテキストを取得したとする(ステップS1)。
次に、テキスト展開部13は、第2辞書12を参照することにより、図6に示すように、オリジナルテキストから置換後テキストを生成する(ステップS2)。
ここで、図6のオリジナルテキストにおいて、下線部は、置換元単語列の部分を示している。すなわち、このオリジナルテキストには、図4に示した第2辞書12におけるID:1の置換元単語列「U.S.」が、2箇所に出現している。この置換元単語列の出現位置は、オリジナルテキストの3単語目および10単語目である。テキスト展開部13は、これらの2箇所の「U.S.」を、第2辞書12において関連付けられた置換先単語列である「United States」に置換する。
図6の置換後テキストにおいて、二重下線部は、オリジナルテキストの置換元単語列から置換された置換先単語列の部分を示している。1つ目の「United States」は、置換後テキストの3〜4単語目に位置し、2つ目の「United States」は、置換後テキストの11〜12単語目に位置している。
次に、文境界推定部14は、置換後テキストにおいて、第1辞書11に登録された単語列にマッチする範囲を検出する(ステップS3)。図6では、破線の矩形で囲んだ部分が、第1辞書11に登録された単語列にマッチする範囲を示している。1つ目の3〜5単語目は、第1辞書11におけるID:2の単語列「United States President」にマッチする範囲である。2つ目の11〜13単語目は、第1辞書11におけるID:3の単語列「United States Senate」にマッチする範囲である。
次に、文境界推定部14は、オリジナルテキストの文末記号の各々に対して、当該文末記号の直後が文境界であるか否かの判断を繰り返す。
まず、文境界推定部14は、オリジナルテキストにおける1つ目のピリオドとして、3単語目の「U.S.」のUの直後のピリオドに注目する。このピリオドは、テキスト展開部13によって置換された3単語目の置換元単語列「U.S.」に含まれている。また、この置換元単語列は、置換後テキストにおける3〜4単語目の置換先単語列「United States」に置換されている。さらに、置換後テキストにおいて、3〜5単語目は、第1辞書11に登録されたID:2の単語列「United States President」にマッチしている。
つまり、注目しているピリオドは、「置換後テキストにおいて第1辞書11に登録された単語列にマッチする範囲に含まれる置換先単語列に置換された置換元単語列の内部」に存在する。また、当該ピリオドは、置換元単語列の末尾の文字ではない。これにより、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Yesとなる。
そこで、文境界推定部14は、1つ目のピリオドの直後は文境界ではないと判断する(ステップS5)。
次に、文境界推定部14は、オリジナルテキストにおける2つ目のピリオドとして、3単語目の「U.S.」のSの直後のピリオドに注目する。このピリオドも、1つ目のピリオドと同様に、置換後テキストにおいて第1辞書11に登録された単語列にマッチする範囲「United States President」に含まれる置換先単語列「United States」に置換された置換元単語列「U.S.」の内部」に存在する。また、このピリオドは、置換元単語列「U.S.」の末尾の文字であるが、置換先単語列の最後の単語「States」は、第1辞書11に登録された単語列にマッチする範囲の最後の単語「President」とは異なる。これにより、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Yesとなる。
そこで、文境界推定部14は、2つ目のピリオドの直後は文境界ではないと判断する(ステップS5)。
同様に、文境界推定部14は、オリジナルテキストにおける3〜4番目のピリオドとして、10単語目の「U.S.」の中の2つのピリオドにそれぞれ注目する。これらのピリオドは、置換後テキストにおいて第1辞書11に登録された単語列にマッチする範囲「United States Senate」に含まれる置換先単語列「United States」に置換された置換元単語列「U.S.」の内部」に存在する。また、これらのピリオドは、それぞれ、置換元単語列の末尾の文字ではないか、または、置換先単語列の最後の単語「States」が、第1辞書11に登録された単語列にマッチする範囲の最後の単語「Senate」とは異なる。そこで、これらのピリオドについて、文境界推定部14によるステップS4の判断結果は、それぞれYesとなる。
そこで、文境界推定部14は、これらの3〜4つ目のピリオドの直後は、それぞれ文境界でないと判断する。
次に、文境界推定部14は、オリジナルテキストにおける5つ目のピリオドとして、「yesterday」の直後のピリオドに注目する。このピリオドは、テキスト展開部13によって置換された置換元単語列に含まれていない。そのため、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Noとなる。
そこで、文境界推定部14は、このピリオドについて、通常の文境界の推定処理を行う(ステップS6)。
ここでは、文境界推定部14は、通常の文境界の推定処理として、該当するピリオドが、背景技術で説明した条件1および2を共に満たす場合に、その直後に文境界があると判断するものとする。この「yesterday」の直後のピリオドは、その直後が空白文字であるため、条件1を満たす。また、このピリオドは、その直後の単語「The」が大文字で始まっているため、条件2を満たす。そこで、文境界推定部14は、5つ目のピリオドの直後に文境界が存在すると判断する。
次に、文境界推定部14は、オリジナルテキストにおける6つ目のピリオドとして、「everyone」の直後のピリオドに注目する。このピリオドは、テキスト展開部13によって置換された置換元単語列に含まれていない。そのため、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Noとなる。
そこで、文境界推定部14は、このピリオドについて、通常の文境界の推定処理を行う(ステップS6)。この「everyone」の直後のピリオドは、その直後に文字も単語も存在しないため、条件1および条件2を共に満たす。そこで、文境界推定部14は、6つ目のピリオドの直後に文境界が存在すると判断する。
そして、文境界推定部14は、図6に示すように、推定結果を表す情報を出力する。図6では、オリジナルテキストにおいて文境界があると判断された箇所に、「{文境界}」の文字列を挿入したテキストを、推定結果を表す情報として出力している。つまり、オリジナルテキストにおいて、「yesterday」の次のピリオドの直後の位置、および、「everyone」の次のピリオドの直後の位置に、文境界が存在することが推定されている。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態としての文境界推定装置は、処理負荷の増大および辞書登録にかかる手間の増大を抑えながら、より精度よく文の境界を推定することができる。
その理由について説明する。本実施の形態では、第1辞書が単語列を格納している。また、第2辞書が、文末記号を含む単語列である置換元単語列、および、置換元単語列と同等の意味を表すよう文末記号を含まずに表された単語列である置換先単語列を関連付けて記憶している。そして、テキスト展開部が、入力されたオリジナルテキストにおける置換元単語列を、関連付けられた置換先単語列に置換した置換後テキストに展開する。そして、文境界推定部が、置換後テキストおよび第1辞書に基づいてオリジナルテキストにおける文境界を推定する。このとき、文境界推定部が、オリジナルテキストの文末記号が、置換後テキストにおいて第1辞書の単語列にマッチする範囲に含まれる置換先単語列に置換された置換元単語列の内部にある場合には、その文末記号の直後は文境界でないと推定するからである。
このように、本実施の形態は、文末記号を含む単語列についてその内部または直後に文境界があると推定されたくない場合、文末記号を含むその単語列をさらに含む様々な複合語を辞書に登録しておく必要がない。本実施の形態は、文末記号を含むその単語列と、同等の意味を表す文末記号を含まない単語列とを関連付けて第2辞書に登録しておき、文末記号を含まない表記の複合語を第1辞書に登録しておけばよい。したがって、本実施の形態は、辞書登録の手間を大幅に削減する。また、本実施の形態は、そのような第1辞書および第2辞書に基づいて文境界を推定するので、各単語について品詞推定処理等の高負荷な処理を必要としない。
このような本実施の形態の効果について、上述した具体例を用いて具体的に説明する。
上述の具体例では、オリジナルテキスト中の2か所に現れる「U.S.」におけるSの直後のピリオドは、直後が空白文字であり、直後の単語(「President」および「Senate」)が大文字で始まる。つまり、一般的な技術を適用した通常の文境界の推定処理だけでは、条件1および2が満たされることになる。このため、本実施の形態を用いない場合、これらのピリオドは、その直後に本来は文境界が存在しないにも関わらず、存在すると認定されてしまう。
ここで、一般的な技術を適用した通常の文境界の推定処理でこれを防ぐためには、「U.S. President」「U.S. Senate」を単語列として辞書に登録しておく必要がある。また、「United States」を含む別の複合語(例えば「United States Ministry of Defense」)があり、その内部に文境界があると推定されたくない場合、一部を頭字語表記とした「U.S. Ministry of Defense」も合わせて辞書に登録しておく必要がある。このように、文末記号を含む単語列をさらに含む複合語は、膨大な数となることが多く、それらを全て辞書に登録するのに大変手間がかかる。
これに対して、本実施の形態の具体例は、「U.S. President」「U.S. Senate」といった、文末記号を含む単語をさらに含む複合語を、いずれの辞書にも登録しなくてよい。本実施の形態は、これらをスペルアウトした単語列「United States President」および「United States Senate」を第1辞書に登録すればよい。また、本実施の形態は、文末記号を含む単語「U.S.」およびそれをスペルアウトした単語列「United States」を関連付けて第2辞書に登録すればよい。つまり、本実施の形態は、「United States」を含む別の複合語(例えば「United States Ministry of Defense」)があり、その内部に文境界があると推定したくない場合にも、第2辞書への登録を増やす必要はない。この場合、本実施の形態は、スペルアウトした正書法である単語列「United States Ministry of Defense」を第1辞書に登録しておけばよい。
このように、本実施の形態は、内部に文境界があると推定されることを避けたい複合語について、文末記号を含む表記を全て辞書登録しておく必要がない。本実施の形態は、文末記号を含む頭字語等の表記と、そのスペルアウト表記との関連付けを1つ、第2辞書に登録しておけば、その他は、スペルアウトした複合語のみを第1辞書に登録すればよい。
これにより、本実施の形態は、品詞推定処理等の負荷の高い処理を必要とせず、かつ、辞書登録にかかる手間を抑えながら、より精度よく文境界を推定することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としての文境界推定装置2の構成を図7に示す。図7において、文境界推定装置2は、本発明の第1の実施の形態としての文境界推定装置1に対して、第2辞書12に替えて第2辞書22と、テキスト展開部13に替えてテキスト展開部23とを備え、さらに、置換先単語列検出部25を備える点が異なる。なお、文境界推定装置2およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。ただし、文境界推定装置2およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
第2辞書22は、置換元単語列に対して、置換先単語列に加えて出現制約の有無を表す情報を関連付けて記憶している。つまり、第2辞書22の各エントリには、置換元単語列、置換先単語列、および、出現制約の有無を表す情報が含まれる。以下、出現制約が有る(または無い)ことを表す情報を含むエントリや、そのエントリに含まれる置換元単語列または置換先単語列を、単に、出現制約が有り(または無し)となっているエントリ、置換元単語列または置換先単語列とも記載する。
置換先単語列検出部25は、第2辞書22において、出現制約が有りとなっている各置換先単語列について、オリジナルテキストに含まれるか否かを判定する。
テキスト展開部23は、オリジナルテキストに出現する置換元単語列のうち、出現制約が有るものについては、関連付けられた置換先単語列がオリジナルテキストに含まれている場合に、その置換先単語列への置換処理を実行する。また、テキスト展開部23は、オリジナルテキストに出現する置換元単語列のうち、出現制約が有るものについて、関連付けられた置換先単語列がオリジナルテキストに含まれていない場合には、その置換先単語列への置換処理を実行しない。また、テキスト展開部23は、オリジナルテキストに出現する置換元単語列のうち、出現制約が無いものについては、関連付けられた置換先単語列がオリジナルテキストに出現しているか否かに関わらず、その置換先単語列への置換処理を実行する。
なお、置換先単語列検出部25による判定処理の際に、オリジナルテキストにおいて置換先単語列が出現する位置については、特に制約はない。例えば、置換先単語列の出現位置は、その置換先単語列に関連付けられた置換元単語列の出現位置と同じ文中または同じ段落中に出現していてもよいし、異なる文中または異なる段落中に出現していてもよい。
なお、英文等では、一般に、頭字語等の省略形には曖昧性があり、その省略形に対応する複合語(フルスペル表記の単語列)が、複数存在することが多い。そのため、頭字語等の省略形は、高頻度で使われる一部の省略形を除き、最初の出現箇所において省略形でないフルスペル表記と併記されることが多い。例えば、初出の箇所ではフルスペル語が記載され、その直後に括弧書き等で省略形が記載される。このように、英文では、当該の省略形がどのような単語列に対応しているかを示すことが、各種のスタイルガイド等で推奨されている。このやり方に従えば、人間がテキストを読む際には、省略形が何を意味するのかが容易に理解される。テキスト展開部23は、このような事情に鑑み、頭字語等の省略形としての置換先単語列をそのフルスペル表記である置換元単語列に置換するにあたり、置換先単語列検出部25による判定結果に基づいて、置換処理を行う。
つまり、オリジナルテキストが英文である場合、置換元単語列として頭字語等の省略形が第2辞書22に格納され、置換先単語列としてフルスペル表記の単語列が格納されている。この場合、テキスト展開部23は、オリジナルテキストにおいて頭字語をフルスペル表記の単語列で置換するのは、そのフルスペル表記の単語列がオリジナルテキストのどこかに出現している場合に限ることになる。一方、テキスト展開部23は、フルスペル表記の単語列がオリジナルテキストのどこにも出現していない頭字語は、フルスペル表記に置換しない。
以上のように構成された文境界推定装置2の動作について、図8を参照して説明する。
図8では、まず、テキスト展開部23は、本発明の第1の実施の形態と同様にステップS1を実行し、オリジナルテキストを取得する。
次に、置換先単語列検出部25は、第2辞書22において出現制約が有りとなっている各置換先単語列について、オリジナルテキストに出現しているか否かを判定する(ステップS21)。
次に、テキスト展開部23は、第2辞書22を参照して、オリジナルテキストにおいて置換元単語列に一致する文字列を検索する。そして、テキスト展開部23は、検索した置換元単語列に一致する文字列を、置換先単語列に置換することにより、置換後テキストを生成する。ただし、このとき、テキスト展開部23は、第2辞書22において出現制約が有りとなっている置換元単語列については、関連付けられた置換先単語列がステップS21において検出されていた場合に、置換先単語列への置換処理を行う。また、この場合、テキスト展開部23は、関連付けられた置換先単語列がステップS21において検出されなかった場合には、置換処理を行わない(ステップS22)。
以降、文境界推定装置2は、ステップS3〜S7まで、本発明の第1の実施の形態と同様に動作する。
以上で、文境界推定装置2は、動作を終了する。
次に、本発明の第2の実施の形態の動作を具体例で示す。ここでは、オリジナルテキストが英文であり、文末記号はピリオドである。また、各機能ブロックは、テキストにおける空白を単語の境界として認識するものとする。また、第1辞書11には、図9に示す情報が格納されているものとする。また、第2辞書22には、図10に示す情報が格納されているものとする。
図10に示すように、第2辞書22は、置換元単語列および置換先単語列に加えて、出現制約の有無を示す情報を格納している。例えば、「U.S.」を置換元単語列とし、「Universal Studios」を置換先単語列とするエントリ(ID:3)は、出現制約として「有り」を表す情報を含んでいる。前述したように、出現制約が有りとなっているエントリについては、テキスト展開部23による置換処理には、置換先単語列検出部25により置換先単語列がオリジナルテキストに出現したことが検出済みであることが条件となる。また、「U.S.」を置換元単語列とし、「United States」を置換先単語列とするエントリ(ID:1)は、出現制約として「無し」を表す情報を含んでいる。前述したように、出現制約が無しとなっているエントリについては、オリジナルテキストにおける置換先単語列の有無に関わらず、テキスト展開部23による置換処理が実施される。
例えば、「United States」の省略形としての「U.S.」は、使用頻度が非常に高く、必ずしも「U.S.」が「United States」の省略形であることを別途明示せずに単独で使用されることが多い。このため、第2辞書22におけるこの省略形に関するエントリでは、出現制約が無しとなっている。同様に、「Post Office」の省略形としての「P.O.」も、特に明示されることなく使用されることが多い。このため、第2辞書22におけるこの省略形に関するエントリでも、出現制約が無しとなっている。
このような前提において、2つの具体例について説明する。
<具体例1>
この具体例では、まず、テキスト展開部23は、図11に示すオリジナルテキスト1を取得したとする(ステップS1)。
次に、置換先単語列検出部25は、第2辞書22において出現制約が有りとなっている各置換先単語列について、オリジナルテキスト1に出現するか否かを判定する(ステップS21)。
ここでは、図10に示したエントリのうち、ID:3のエントリにおいて、出現制約が有りとなっている。ここで、ID:3のエントリの置換先単語列「Universal Studios」は、オリジナルテキスト1に出現していない。そこで、置換先単語列検出部25は、ID:3のエントリの置換先単語列について、「オリジナルテキスト1に出現していない」と判定する。
次に、テキスト展開部23は、第2辞書22を参照することにより、図11に示すように、オリジナルテキスト1から置換後テキスト1を生成する(ステップS2)。
ここで、第2辞書22のID:1のエントリの置換元単語列「U.S.」は、オリジナルテキスト1の7単語目とマッチする。図11のオリジナルテキスト1では、下線部が、置換元単語列の部分を表している。また、このエントリは出現制約が「無し」である。そこで、テキスト展開部23は、オリジナルテキスト1の7単語目を、置換先単語列「United States」で置換する処理を行う。また、第2辞書22のID:3のエントリの置換元単語列「U.S.」も、オリジナルテキスト1の7単語目とマッチする。しかしながら、このエントリは出現制約が「有り」であり、置換先単語列検出部25による判定結果が「出現しない」となっている。そこで、テキスト展開部23は、このエントリに基づく置換処理を行わない。その結果、図11に示す置換後テキスト1が生成される。図11の置換後テキスト1において、二重下線部は、オリジナルテキスト1の置換元単語列から置換された置換先単語列の部分を示している。
次に、文境界推定部14は、置換後テキスト1において、第1辞書11に登録された単語列にマッチする範囲を検出する(ステップS3)。図11の置換後テキスト1では、破線の矩形で囲んだ部分は、図9の第1辞書11に登録された単語列にマッチする範囲を示している。ここでは、7〜8単語目が、第1辞書11におけるID:1の単語列「United States」にマッチする範囲である。
次に、文境界推定部14は、オリジナルテキスト1の各文末記号に対して、その直後に文境界が有るか否かの判断を繰り返す。
まず、文境界推定部14は、オリジナルテキスト1における1つ目のピリオドとして、単語「U.S.」のUの直後のピリオドに注目する。このピリオドは、「United States」に置換された置換元単語列「U.S.」に含まれている。また、この置換元単語列「U.S.」は、テキスト展開部23により置換後テキスト1における7〜8単語目の置換先単語列「United States」に置換されている。さらに、置換後テキスト1において、7〜8単語目は、第1辞書11に登録されたID:1の単語列「United States」にマッチする範囲でもある。つまり、置換された置換先単語列は、第1辞書11の単語列にマッチする範囲に含まれている。また、注目しているピリオドは、置換元単語列「U.S.」の末尾の文字ではない。これにより、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Yesとなる。
そこで、文境界推定部14は、1つ目のピリオドの直後は文境界ではないと判断する(ステップS5)。
次に、文境界推定部14は、オリジナルテキスト1における2つ目のピリオドとして、単語「U.S.」のSの直後のピリオドに注目する。このピリオドは、「United States」に置換された置換元単語列「U.S.」に含まれている。また、この置換元単語列「U.S.」は、テキスト展開部23により置換後テキスト1における7〜8単語目の置換先単語列「United States」に置換されている。さらに、置換後テキスト1において、7〜8単語目は、第1辞書11に登録されたID:1の単語列「United States」にマッチする範囲でもある。つまり、置換された置換先単語列は、第1辞書11の単語列にマッチする範囲に含まれている。しかしながら、このピリオドは、置換元単語列「U.S.」の末尾の文字である。また、置換後テキスト1における置換先単語列「United States」の末尾の単語(8単語目)と、この置換先単語列を含む第1辞書11のエントリにマッチする範囲の末尾の単語(8単語目)とが一致する。これにより、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Noとなる。
そこで、文境界推定部14は、このピリオドについて、通常の文境界の推定処理を行う(ステップS6)。ここでは、文境界推定部14は、本発明の第1の実施の形態における具体例と同様に、通常の文境界の推定処理として、該当するピリオドが、背景技術で説明した条件1および2を共に満たす場合に、その直後に文境界があると判断するものとする。ここで、このピリオドは、その直後が空白文字であるため、条件1を満たす。また、このピリオドは、その直後の単語「Japan」が大文字で始まるため、条件2を満たす。そこで、文境界推定部14は、2つ目のピリオドの直後に文境界が存在すると判断する。
次に、文境界推定部14は、オリジナルテキスト1における3つ目のピリオドとして、「China」の直後のピリオドに注目する。このピリオドは、テキスト展開部23によって置換された置換元単語列に含まれていない。そのため、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Noとなる。
そこで、文境界推定部14は、このピリオドについて、通常の文境界の推定処理を行う(ステップS6)。ここでは、このピリオドは、その直後に文字も単語も存在しないため、条件1および条件2を共に満たす。そこで、文境界推定部14は、3つ目のピリオドの直後に文境界が存在すると判断する。
そして、文境界推定部14は、図11に示すように、オリジナルテキスト1に関する文境界の推定結果1を表す情報を出力する。図11では、オリジナルテキスト1において文境界があると判断された箇所に、「{文境界}」の文字列を挿入したテキストを、推定結果1を表す情報として出力している。つまり、オリジナルテキスト1において、「U.S.」のSの次のピリオドの直後の位置、および、「China」の次のピリオドの直後の位置に、文境界が存在することが推定されている。
以上で、文境界推定装置2は、オリジナルテキスト1に関する文境界の推定動作を終了する。
<具体例2>
この具体例では、まず、テキスト展開部23は、図12に示すオリジナルテキスト2を取得したとする(ステップS1)。
次に、置換先単語列検出部25は、第2辞書22において出現制約が有りとなっている各置換先単語列について、オリジナルテキスト2に出現するか否かを判定する(ステップS21)。
ここでは、出願制約が「有り」となっているID:3のエントリの置換先単語列「Universal Studios」は、オリジナルテキスト2の2〜3単語目に出現している。図12のオリジナルテキスト2では、一点鎖線の矩形で囲んだ部分は、出現制約が有りの置換先単語列を示している。そこで、置換先単語列検出部25は、ID:3のエントリの置換先単語列について、「オリジナルテキスト2に出現している」と判定する。
次に、テキスト展開部23は、第2辞書22を参照することにより、オリジナルテキスト2から置換後テキストを生成する(ステップS2)。
ここで、第2辞書22のID:1のエントリの置換元単語列「U.S.」は、オリジナルテキスト2の20単語目とマッチする。図12のオリジナルテキスト2では、下線部が、置換元単語列の部分を示している。また、このエントリは、出現制約が「無し」である。そこで、テキスト展開部23は、オリジナルテキスト2の20単語目を置換先単語列「United States」で置換する処理を行う。これにより、図12の置換後テキスト2−1が生成される。
また、第2辞書22のID:3のエントリの置換元単語列「U.S.」は、オリジナルテキスト2の20単語目とマッチする。また、このエントリは、出現制約が「有り」である。さらに、このエントリの置換先単語列「Universal Studios」は、オリジナルテキスト2に出現している。そこで、テキスト展開部23は、オリジナルテキスト2の20単語目をこのエントリに基づき置換する処理を行う。ただし、該当する置換元単語列「U.S.」は、先ほど置換後テキスト2−1を生成した際に置換を実行した置換元単語列と同一の位置にある。そこで、テキスト展開部23は、オリジナルテキスト2の20単語目をこのエントリの置換先単語列「Universal Studios」で置換する処理を行い、置換後テキスト2−1とは異なる置換後テキスト2−2を生成する。これにより、図12の置換後テキスト2−2が生成される。
なお、図12に示す置換後テキスト2−1および2−2において、二重下線部は、オリジナルテキスト2の置換元単語列から置換された置換先単語列の部分を示している。
次に、文境界推定部14は、置換後テキスト2−1および2−2において、第1辞書11に登録された単語列にマッチする範囲を検出する(ステップS3)。図12の置換後テキスト2−1および2−2では、破線の矩形で囲んだ部分は、第1辞書11に登録された単語列にマッチする範囲を示している。
ここでは、置換後テキスト2−1において、2〜3単語目が、第1辞書11におけるID:6の単語列「Universal Studios」にマッチする範囲である。また、20〜21単語目が、第1辞書11におけるID:1の単語列「United States」にマッチする範囲である。
また、置換後テキスト2−2において、2〜3単語目が、第1辞書11におけるID:6の単語列「Universal Studios」にマッチする範囲である。また、20〜22単語目が、ID:7の単語列「Universal Studios Japan」にマッチする範囲である。
次に、文境界推定部14は、オリジナルテキスト2の各文末記号に対して、その直後に文境界が有るか否かの判断を繰り返す。
まず、オリジナルテキスト2における1つ目のピリオドとして、「yesterday」の直後のピリオドに注目する。このピリオドは、テキスト展開部23によって置換された置換元単語列に含まれていない。そのため、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Noとなる。
そこで、文境界推定部14は、このピリオドについて、通常の文境界の推定処理を行う(ステップS6)。
ここで、この「yesterday」の直後のピリオドは、その直後が空白文字であるため、条件1を満たす。また、このピリオドは、その直後の単語「If」が大文字で始まっているため、条件2を満たす。そこで、文境界推定部14は、1つ目のピリオドの直後に文境界が存在すると判断する。
次に、文境界推定部14は、オリジナルテキスト2における2つ目のピリオドとして、「U.S.」のUの直後にあるピリオドに注目する。この例では、この箇所について、置換先単語列が異なる置換後テキスト2−1および2−2が生成されている。そこで、文境界推定部14は、このピリオドについて、置換後テキスト2−1および2−2に基づいて、順次ステップS4の判断を試みる。
まず、置換後テキスト2−1では、このピリオドは、「United States」に置換された置換元単語列「U.S.」に含まれている。また、この置換元単語列「U.S.」は、置換後テキスト2−1における20〜21単語目の置換先単語列「United States」に置換されている。さらに、置換後テキスト2−1において、20〜21単語目は、第1辞書11に登録されたID:1の単語列「United States」にマッチする範囲でもある。つまり、置換された置換先単語列は、第1辞書11の単語列にマッチする範囲に含まれている。また、注目しているピリオドは、置換元単語列「U.S.」の末尾の文字ではない。これにより、このピリオドについて、文境界推定部14による置換後テキスト2−1に基づくステップS4の判断結果は、Yesとなる。
ここで、前述のように、文境界推定部14は、複数の置換後テキストが生成されている場合、少なくとも1つの置換後テキストにおいてステップS4の判断結果がYesとなった場合、ステップS4全体としての判断結果をYesとする。つまり、置換後テキスト2−1に基づくステップS4の判断結果がYesとなったので、文境界推定部14は、このピリオドについて、置換後テキスト2−2に基づくステップS4の判断処理を行うことなく、ステップS4全体の判断結果をYesとする。
そこで、文境界推定部14は、2つ目のピリオドの直後は文境界ではないと判断する(ステップS5)。
次に、文境界推定部14は、オリジナルテキスト2における3つ目のピリオドとして、「U.S.」のSの直後にあるピリオドに注目する。この例では、この箇所について、置換先単語列が異なる置換後テキスト2−1および2−2が生成されている。そこで、文境界推定部14は、このピリオドについて、置換後テキスト2−1および2−2に基づいて、順次ステップS4の判断を試みる。
まず、置換後テキスト2−1では、このピリオドは、「United States」に置換された置換元単語列「U.S.」に含まれている。また、この置換元単語列「U.S.」は、置換後テキスト2−1における20〜21単語目の置換先単語列「United States」に置換されている。さらに、置換後テキスト2−1において、20〜21単語目は、第1辞書11に登録されたID:1の単語列「United States」にマッチする範囲でもある。つまり、置換された置換先単語列は、第1辞書11の単語列にマッチする範囲に含まれている。しかしながら、注目しているピリオドは、置換元単語列「U.S.」の末尾の文字である。また、置換後テキスト2−1における置換先単語列「United States」の最後の単語(21単語目)と、この置換先単語列を含む第1辞書11のエントリにマッチする範囲の最後の単語(21単語目)とが一致する。これにより、このピリオドについて、文境界推定部14による置換後テキスト2−1に基づくステップS4の判断結果は、Noとなる。
また、置換後テキスト2−2では、このピリオドは、「Universal Studios」に置換された置換元単語列「U.S.」に含まれている。また、この置換元単語列「U.S.」は、置換後テキスト2−2における20〜21単語目の置換先単語列「Universal Studios」に置換されている。さらに、置換後テキスト2−2において、20〜22単語目は、第1辞書11に登録されたID:7の単語列「Universal Studios Japan」にマッチする範囲である。つまり、置換された置換先単語列は、第1辞書11の単語列にマッチする範囲に含まれている。また、注目しているピリオドは、置換元単語列「U.S.」の末尾の文字である。しかしながら、置換後テキスト2−2における置換先単語列「Universal Studios」の最後の単語(21単語目)と、この置換先単語列を含む第1辞書11のエントリにマッチする範囲「Universal Studios Japan」の最後の単語(22語目)とが異なる。これにより、このピリオドについて、文境界推定部14による置換後テキスト2−2に基づくステップS4の判断結果は、Yesとなる。
ここで、このピリオドについて、少なくとも1つの置換後テキストにおいてステップS4の判断結果がYesとなったので、文境界推定部14は、ステップS4全体としての判断結果をYesとする。
そこで、文境界推定部14は、3つ目のピリオドの直後は文境界ではないと判断する(ステップS5)。
次に、文境界推定部14は、オリジナルテキスト2における4つ目のピリオドとして、「Japan」の直後のピリオドに注目する。このピリオドは、テキスト展開部23によって置換された置換元単語列に含まれていない。そのため、このピリオドについて、文境界推定部14によるステップS4の判断結果は、Noとなる。
そこで、文境界推定部14は、このピリオドについて、通常の文境界の推定処理を行う(ステップS6)。ここでは、このピリオドは、その直後に文字も単語も存在しないため、条件1および2を共に満たす。そこで、文境界推定部14は、4つ目のピリオドの直後に文境界が存在すると判断する。
そして、文境界推定部14は、図12に示すように、オリジナルテキスト2に関する文境界の推定結果2を表す情報を出力する。図12では、オリジナルテキスト2において文境界があると判断された箇所に、「{文境界}」の文字列を挿入したテキストを、推定結果2を表す情報として出力している。つまり、オリジナルテキスト2において、「yesterday」の次のピリオドの直後の位置と、「Japan」の次のピリオドの直後の位置とに、文境界が存在することが推定されている。
以上で、文境界推定装置2は、オリジナルテキスト2に関する文境界の推定動作を終了する。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態としての文境界推定装置は、文末記号が含まれる単語列が、本来とは異なる意味に解釈されることによる文境界の推定精度の低下を防止する。
その理由について説明する。本実施の形態では、本発明の第1の実施の形態と同様の構成に加えて、第2辞書が、置換元単語列および置換先単語列のエントリに対して、出現制約の有無を表す情報を格納している。そして、置換先単語列検出部が、出現制約が有りとなっているエントリの置換先単語列が、オリジナルテキストに出現しているか否かを判定する。そして、テキスト展開部が、出現制約が有りとなっているエントリの置換元単語列については、その置換先単語列がオリジナルテキストに出現している場合に、置換先単語列へ置換して置換後テキストを生成するからである。
これにより、本実施の形態は、オリジナルテキストにおいて文末記号を含む置換元単語列を、より適切な置換先単語列に置換することができる。その結果、本実施の形態は、文末記号を含む置換元単語列が意図しない置換先単語列に置換されることにより、その置換先単語列を含む複合語に意図せずマッチしてしまい、本来は文境界があるはずの位置に文境界がないと推定されてしまう事態を回避できる。
このような本実施の形態の効果について、上述した具体例を用いて具体的に説明する。
上述の具体例のオリジナルテキスト1および2に対して、文末記号を含む単語を辞書に登録しておく文境界の推定手法を用いて文境界の推定処理を行ったとする。ここで、文末記号を含む単語を辞書に登録しておく文境界の推定手法は、「U.S. Japan」という単語列が辞書に登録されていれば、その内部に文境界がないと推定し、辞書に登録されていない単語については、通常の文境界の推定処理を行う。このように、文末記号を含む単語を辞書に登録しておく文境界の推定手法は、同じ単語列に対して一律の推定結果しか得られない。つまり、「U.S. Japan」の登録がなければ、オリジナルテキスト1では「U.S.」の直後に文境界があると正しく推定されるが、オリジナルテキスト2では「U.S.」の直後に文境界があるとされてしまい、正しい推定結果が得られない。一方で、「U.S. Japan」の登録があれば、オリジナルテキスト2では「U.S.」の直後に文境界がないと正しく推定されるが、オリジナルテキスト1では「U.S.」の直後に文境界がないとされてしまい、正しい推定結果が得られない。
これに対して、本実施の形態は、各オリジナルテキストにおける「U.S. Japan」という単語列を、「Universal Studios Japan」の省略形であると解釈してよいかどうかを、次のように判断する。すなわち、本実施の形態は、該当するオリジナルテキストに「Universal Studios」というスペルアウトされた置換先単語列が含まれるかどうかで、「Universal Studios Japan」の省略形であると解釈するかどうかを判断する。これにより、本実施の形態は、オリジナルテキスト1に対しても、オリジナルテキスト2に対しても、文境界の正しい推定結果を得ることができる。
このように、本実施の形態は、文末記号を含む頭字語等の単語列が本来の意味とは異なる文末記号を含まない単語列に置換されてしまうことにより、適切でない文境界の推定結果が得られることを避けることができる。
なお、上述した本発明の各実施の形態において、オリジナルテキストが英文である例を中心に説明したが、オリジナルテキストの言語は、これに限定されない。
また、上述した本発明の各実施の形態において、文末記号としてピリオドを適用する例を中心に説明したが、文末記号は、セミコロンやその他の文字、または、文字列であってもよい。また、文末記号として、複数種類の文字または文字列が想定されてもよい。
また、上述した本発明の各実施の形態において、第1辞書は、文末記号を含む単語と同等の意味を表すよう文末記号を含まないで表された単語列を格納するだけでなく、さらに、文末記号を含む単語またはそのような単語を含む単語列を格納していてもよい。これは、本発明の各実施の形態と、背景技術で説明した、文末記号を含む単語または複合語を辞書に登録しておく手法とを組み合わせることに相当する。例えば、第1辞書は、文末記号を含む単語が文末に出現することがない単語であれば、その単語を単独で種別1として格納してもよい。また、第1辞書は、文末記号を含む単語が文の途中にも文末にも出現し得る単語であれば、その単語を含む単語列(複合語)を種別2として格納してもよい。この場合、各実施の形態の文境界推定部は、オリジナルテキストの文末記号が、置換された置換元単語列の内部に含まれていない場合でも、第1辞書に登録された種別1または種別2の単語列に含まれる場合には、背景技術で述べたように推定処理を行ってもよい。
このように、上述した本発明の各実施の形態は、他の公知の文境界の推定技術と組み合わせて実施されることも可能である。
さらには、機械学習ベースの文境界推定装置において、上述した本発明の各実施の形態による文境界の推定結果を、推定装置に対する素性の一つとして入力するように実施することも可能である。これにより、各実施の形態は、機械学習ベースの文境界推定装置の推定精度を高めることができる。
また、上述した本発明の各実施の形態において、第1辞書に格納される情報の一例を図3および図9に示したが、第1辞書に格納される情報の内容および形式は、これに限定されない。
また、上述した本発明の各実施の形態において、第2辞書に格納される情報の一例を図4および図10に示したが、第2辞書に格納される情報の内容および形式は、これに限定されない。
また、上述した本発明の各実施の形態において、文境界の推定結果として出力される情報の一例を図6、図11および図12に示したが、出力される情報の内容およびその形式は、これに限定されない。
また、上述した本発明の各実施の形態において、文境界推定装置の各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせは、専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、文境界推定装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した文境界推定装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。