(57)【特許請求の範囲】
【請求項１】
電子化テキストデータ中で，引用符又は括弧で囲われた特殊範囲を抽出する特殊範囲抽出装置であって，
２つの引用符又は括弧間の範囲が特殊範囲であるか否かを判定する判定条件を記憶する特殊範囲定義記憶部と，
電子化テキストデータ中に出現する２つの引用符又は括弧間の範囲が前記特殊範囲定義記憶部に記憶された判定条件を満たす場合，該２つの引用符又は括弧間の範囲を特殊範囲として設定する特殊範囲設定部と、
該特殊範囲設定部により設定された特殊範囲を記憶する特殊範囲記憶部とを備え、
前記判定条件は，
(1)  ２つの引用符又は括弧は，いずれも他の特殊範囲の開始位置にも終了位置にもなっていない。
(2)  ２つの引用符又は括弧の間には，少なくとも１文字が存在する。
(3)  ２つの引用符又は括弧の間には，他の引用符又は括弧がない。
又は，２つの引用符又は括弧の間にある引用符又は括弧は全て他の特殊範囲に含まれる。
(4)  ２つの引用符又は括弧の，テキストの先頭に近い方の引用符又は括弧は開始記号であり，他の引用符又は括弧は終了記号である。
の全てを満たす場合，該２つの引用符又は括弧間の範囲は特殊範囲であるとするものであり，
前記特殊範囲設定部は，前記特殊範囲記憶部に記憶された特殊範囲を参照し，前記特殊範囲定義記憶部に記憶された判定条件を満たす範囲が存在しなくなるまで，特殊範囲を繰り返し設定することを特徴とする特殊範囲抽出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は文書処理および自然言語処理における、引用符又は括弧で囲われた特殊範囲を設定、抽出する特殊範囲抽出装置および、複数の文を含む電子化テキストデータから文の区切りを特定する文抽出装置に関するものである。
【０００２】
【従来の技術】
従来、自然言語のテキストデータの引用、括弧、台詞などの特殊領域の判定はテキストの先頭から見ていって引用符の出現の度に引用内、引用外を切り替える方法などがあった。
【０００３】
また、テキストを１文毎に分割して自然言語処理を行うような場合、ピリオドやクエスションマークなどの終端記号が出現する場所を無条件で区切りとするなどの方法がとられていた。また関連する技術として、言語コンパイラなどでは、ＢＮＦ記法などの形式で記述された規則をテキストデータに適用することによって、括弧や引用符の対応関係を決定する方法があった。
【０００４】
【発明が解決しようとする課題】
引用符の出現によって引用範囲の内と外を切り替える方法を用いた場合、引用符自体が別の引用符や括弧で囲われている可能性を無視するため、誤った範囲を抽出することがあった。それゆえ自然言語に出現する多種類の引用や括弧を高精度に抽出することはできなかった。また、クォーテーションマークで囲われた引用部分の抽出などにおいては、一度あるマークが開始記号であるか終了記号であるかを取り違えると、その誤りによって他の引用部分の判定まで間違える場合が多かった。
【０００５】
一方、計算機言語のコンパイラなどで使用される、文法規則によって括弧などの対応関係を決定する方法は、入力の形式を限定するために、任意の自然言語のテキストに適用することはできなかった。
【０００６】
また、文抽出処理において、引用を考慮しないと、引用符によって囲まれた文をその一部として含む文が出現した場合に複数の文に分割されてしまうという問題があった。特に引用領域内に複数の文が存在する場合には、それらの文同士の区切りの位置は周辺の状況が一般の文の区切りとかわらないため、区切りとして認識されてしまい、引用を含む文全体が１つの文として認識できなかった。
【０００７】
これをさける為に従来の方法による引用や括弧の範囲を認識する方法をとろうとしても、上記の引用範囲抽出における問題によって引用の範囲を間違う場合が多いため、その影響により高精度な文の切り出しができなかった。
【０００８】
なお、まとまった文章に対する従来の方法での文切り出しの例を図９に示す。ここでは、「  ”．”  か  ”？”  か  ”！”  のどれかがが出現し、かつ空白を挟んだ次の文字が大文字か引用符であるときに限り文の区切りを設定する」という規則を用いている。その結果切り出された文を図１０に示す。
【０００９】
このうち、文１、文２、文３、文５、文７、文８は、正しく切り出されているが、文４、文６、文１１は引用符の片方だけがついた、文として不自然な形で切り出されている。また、文９は、引用の途中で区切られてしまっている。文４、文６、文９、文１１のように不自然な形の「文」は、構文解析して情報抽出などの計算機による処理を行おうとするとき、重大な阻害要因となる。
【００１０】
【課題を解決するための手段】
上記課題を解決するための本願発明による特殊範囲抽出装置は、引用や括弧の範囲決定に際し、種類を問わず、間にそれを囲っている引用符や括弧記号が存在しないものだけを引用／括弧範囲として設定し、以後は、既に設定された引用／括弧範囲と矛盾しないようにより外側の引用／括弧を決定することによって、高精度に引用／括弧範囲を決定することができる。このことは範囲を設定する度にその範囲を記憶し、以降の処理でそれにアクセスできるように構成することによって実現できる。
【００１１】
また、文抽出装置は、上記の手段により抽出された引用や括弧の範囲を用いて、この範囲の途中を文の区切りとすることを禁止することにより、台詞などの引用符などに挾まれた別の文を含む文をも途中で切断されることなく高精度に抽出する。
【００１２】
【作用】
特殊範囲設定部は、入力テキスト中の特定の条件を満たす範囲を条件を満たす領域が存在しなくなるまで繰り返し設定する。そのときテキスト中のある位置にすでにそのような範囲が設定されているかどうかを条件中に書くことができるように構成する。特殊範囲設定部は範囲を設定する度に設定範囲記憶部に設定範囲を登録し、以後の処理で条件を満たすかどうかを判定する際に設定された領域を参照して判定する。特殊範囲設定部は、条件を満たす領域が存在しなくなった時点で、それまでに設定したすべての領域を出力する。
【００１３】
また、文抽出装置では、特殊範囲設定部の出力情報が文区切設定部へ送られる。文区切設定部では、括弧区切り範囲設定部で設定された範囲の途中の位置を除外して、残りの範囲の終端文字列だけを文区切りの候補とし、他の条件を調べて文区切りを設定する。
【００１４】
【実施例】
図１は本発明の一実施例である。本実施例では対象言語を英語とする。図１において、１はテキストを入力する入力部、７は特定の記号を用いた条件により特殊範囲の再帰的な定義を記憶した特殊範囲定義記憶部、２は入力されたテキスト中の引用や括弧等、７の定義に基づき特殊範囲を推定する特殊範囲設定部、３は抽出した引用や括弧等の範囲及び文を出力する出力部、４は「ｉｔ’ｓ」のように引用を囲う以外の目的でシングルクオートが使用されるパターンを記憶しておくＳＱ除外リスト、５は設定した引用や括弧の範囲を記憶する設定範囲記憶部である。
【００１５】
８は、文末になりうる文字または文字列情報を格納した文末情報格納部、６は、設定した引用や括弧の範囲と文末情報格納部８に格納された文末情報とから文の区切りを設定する文区切り設定部であるが、これを用いた動作は後述し、ここでの実施例では特殊範囲設定部の出力をそのまま出力して特殊範囲抽出装置として用いる。
【００１６】
入力は一般的な英文のテキストである。特殊範囲設定部２は、入力された英語テキストに対して後述するアルゴリズムを用いて括弧や引用の範囲を推定し、設定する。以後、このように設定された範囲を特殊範囲と呼ぶことにする。設定した範囲の最終結果は、ファイルの先頭からの位置を表す数値のペアの集合によって表され、入力されたテキストと共に出力部３へ送られる。出力部３では、得られた情報に基づいて切り出された引用部分を表示する。
【００１７】
以後の説明の便宜の為に、文字の集合をいくつか定義する。これを（表１）に示す。また、特殊範囲定義記憶部７に記憶されている特殊範囲の判定条件を（表２）に示す。
【００１８】
【表１】
0003616126.tif 000002
【００１９】
【表２】
0003616126.tif 000003
【００２０】
（表２）中では、スペース文字、タブ文字、改行文字のいづれかであることを「空白である」、そうでないことを「空白でない」と呼ぶ。図２に特殊範囲設定部の動作を表すフローチャートを示す。これは（表２）の条件を満たすような特殊範囲設定だけを設定するためのアルゴリズムとなっている。
【００２１】
図２に従って括弧／引用範囲推定部の動作を説明する。動作は、基本的には入力された電子化テキストファイルに対して特殊範囲定義記憶部７に定義１〜定義６として格納された６つの判定条件にマッチする範囲があるかどうかを捜し、あればそこを特殊範囲として登録する、ということを条件を満たすような範囲がなくなるまで繰り返す。
【００２２】
配列変数  ｓｔａｔ［］  はファイル内の各位置が特殊範囲内であるかどうかを示す変数である。位置ｉが特殊範囲内であれば  ｓｔａｔ［ｉ］  ＝  １  となり、そうでなければ  ｓｔａｔ［ｉ］  ＝  ０  となる。なお、ｓｔａｔ［］  は、図１における設定範囲記憶部５に相当する記憶領域である。最初に  ｓｔａｔ［］の要素に全て０を代入しておく。２次元配列変数ａｎｓ［］［］  は特殊範囲を登録するためのものである。Ｘ番目設定された各特殊範囲について、その開始位置が  ａｎｓ［Ｘ］［１］に、終了位置に  ａｎｓ［Ｘ］［２］  に登録されることになる。登録されていないときはー１にすると定義しておく。最初にすべてのａｎｓの要素にー１を代入する。また、ａｎｓ［］［］用のポインタａｎｓ＿ｍａｘに０を代入しておく。
【００２３】
次の「初期設定」というサブルーチンは、各種の特殊範囲の設定サブルーチン内で使用する変数の初期化などを行うものであり、「””」に関する処理を例として後述する。
【００２４】
変数  ｃｈａｎｇｅ  は図２におけるループの過程で設定が行われたかどうかを表すフラグである。処理の始めにこれを０（設定が行われていない）に初期化しておく。順番は問わないが、ここでは「””」にはさまれた部分の処理から始まって、各種の引用、括弧記号について順番に設定を行う。
【００２５】
これらのサブルーチン内の具体的な動作については後述するが、これらはその時点で表２の各条件を満たすような範囲を抽出するサブルーチンである。結果として設定される場合もされない場合もありうる。各サブルーチンでは、設定が行われた場合にのみ変数ｃｈａｎｇｅに１を設定する。
【００２６】
全ての種類の特殊範囲の設定を試みたあと、ｃｈａｎｇｅが０であれば、それ以上は特殊範囲が設定できないことになるので、処理を終了する。ｃｈａｎｇｅ  が１であれば、少なくとも１回は設定が行われたことになるので、ｃｈａｎｇｅ  を０に設定し直してもう一度処理を始める。以上はループが終わってもｃｈａｎｇｅが０のままであるような状態になるまで繰り返す。
【００２７】
なお、判定条件１〜６は再帰的に記述されているので、設定が行われるにつれて、今まで条件を満たさないような領域が条件を満たすようになることがありうる。
【００２８】
例として、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”，  ｔｈｅ  ｍａｎ  ｓａｉｄ．  」という部分を含むテキストの入力に対して条件１（定義１）を考える。テキストが入力された時点では、特殊範囲は１つも設定されていないので、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」という部分は定義１の条件１［４］を満たさないので、条件１全体も満たさない。しかし、「”Ｗｈａｔ  ａ  ｐｉｔｙ”」という部分は条件１を満たすので、その範囲が特殊範囲として設定される。この結果、これを設定したあとでは、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」という部分中の両端の「”」の間にある「”」は全て「”Ｗｈａｔ  ａ  ｐｉｔｙ”」という「他の特殊範囲」に含まれることとなり、条件１の［４］は今度は満たされ、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」が特殊範囲として設定される。
【００２９】
次に、図２中の各サブルーチンの動作について説明する。図３が「””にはさまれた特殊範囲の設定」の処理のための「初期設定」のフローチャートであり、図４が「””にはさまれた特殊範囲の設定」のサブルーチン本体のフローチャートである。これらを例として動作を説明する。他のサブルーチン及び初期化もほぼ同様にして実現できる。
【００３０】
図３では、初期設定として、テキスト中の全ての「”」の出現する位置をテキストの先頭位置からの文字数によってあらわしたものを配列  ｄｑ［］に先頭から順番に代入していく。また出現した「”」の個数を変数  ｄｑ＿ｍａｘ  に代入する。
【００３１】
次に図４に即して「””にはさまれた特殊範囲の設定」のサブルーチンの動作を説明する。  ４−１，４−２，４−３，４−４の部分では、間に「特殊範囲内ではない位置にある「”」記号が存在しないような２つの「”」のペアを捜す。そのようなペアが存在すれば処理４−５が始まる時点で、それらの位置がｄｑ［ｉ］とｄｑ［ｊ］に代入されている。
【００３２】
処理４−５ではその「”」のペアが表１の定義１を満たしているかどうかを調べる。これは入力テキスト中のその前後の文字を調べることによ
って容易に実現できる。
【００３３】
なお、「”」の場合は発生しないが「’」や「｀」に囲まれた特殊範囲を設定する場合にはここで、テキストの周囲の状況が、図１のＳＱ除外リスト４に登録されているパターンに一致するかどうかを判定する処理が必要である。
【００３４】
ＳＱ除外リストは、正規表現などでパターンを記述しておき、それと周囲の文字列のマッチングをとるには、文字列パターンマッチングに関する従来の技術を用いればよい。
【００３５】
処理4-5の結果、条件を満たせばそのdq[i]とdq[j]を特殊範囲 としてans に登録し、stat[]のdq[i]番目の要素からdq[j]番目の要素までを全て１（「特殊範囲内である」）にする。その後、他の「"」のペアを捜して処理を続行し、すべての間に「特殊範囲内ではない位置にある「"」記号」が存在しないような「"」のペアについて処理してサブルーチンを終了する。以上のようにして各サブルーチンが実現される。
【００３６】
図２の処理を全体としてみれば、最初は間に同種の引用／括弧記号がないような範囲のみが特殊範囲として登録され、引用や括弧が多重になっている時は、外側の引用／括弧は内側のものが特殊範囲として設定された後に特殊範囲として設定されていくことになる。このようにして多種類の引用や括弧が同時に出現し、かつそれらが多重になっていた場合も、最も外側の範囲まで必ず設定することができる。
【００３７】
上記のようにして決定された設定範囲のデータはファイル中における位置の形で出力部に送られる。出力部では、この数値から設定された各引用部分を表示する。
【００３８】
次に、前述の「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”，  ｔｈｅ  ｍａｎ  ｓａｉｄ．  」という例を用いて全体の動作を説明する。
【００３９】
特殊範囲が１つも設定されていない状態で設定できる特殊範囲は「”Ｗｈａｔ    ａ  ｐｉｔｙ”」という範囲だけである。「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”」は（表２）の定義１［６］に、「”？”」は（表２）の定義１［５］に、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”」や「”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」や「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」は（表２）の定義１［４］に、それぞれ抵触するからである。（なお、最後の３つは定義に抵触するだけでなく、図４のアルゴリズムを用いた場合はそもそもｄｑ［ｉ］，ｄｑ［ｊ］のペアとして選択されない）ところが「”Ｗｈａｔ  ａ  ｐｉｔｙ”」という範囲が特殊範囲として設定された後では、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」が（表２）の定義１［４］に抵触しなくなる。
【００４０】
従って、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」は特殊範囲として設定される。なお、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”」や「”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」は今度は（表２）の定義１［２］に抵触するので切り出されないことになる。（「ｐｉｔｙ”」の部分は既に他の特殊範囲の終了位置に、「”Ｗｈａｔ」の部分は既に他の特殊範囲の開始位置になっている。なお、この２つは定義に抵触するだけでなく、図４のアルゴリズムを用いた場合はそもそもｄｑ［ｉ］，ｄｑ［ｊ］のペアとして選択されない）。
【００４１】
以上のようにして「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”」、「”？”」、「”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」といった間違った引用範囲はは切り出されずに「”Ｗｈａｔ  ａ  ｐｉｔｙ”」という範囲と「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」という２つの範囲が書き手の意図どおりに切り出されるような処理が実現される。
【００４２】
また、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ’Ｗｈａｔ  ａ  ｐｉｔｙ’？”，  ｔｈｅ  ’Ｖｉｓｉｔｏｒ’  ｓａｉｄ．  」のように２種類以上の引用や括弧が組み合わされた表現でも、内部のものから決定されていくので、全く問題なく設定できる。
【００４３】
次に文抽出装置としての動作について述べる。図１において、６は文の区切りを設定する文区切り設定部である。７には（表１）に示す＜複合文末文字列＞、＜文末文字列＞が、文末表現として格納されているものとする。本実施例では、特殊範囲設定部によって推定された特殊範囲の情報は文区切り設定部６に送られる。
【００４４】
図５に文区切り設定部の動作を説明するフローチャートを示す。図５において、「位置」は入力ファイル中の先頭から何文字めかを表す数値であり、初期値は１（ファイルの先頭）である。まず、その位置が表１の「文末文字列」の終端になっているかを調べる（図中５−２）。なっていなければ、区切りとしないて次の位置へ進む。なっていれば、さらにその位置が特殊範囲内かどうかを判定し、特殊範囲でなければ処理５−５へ進む。
【００４５】
特殊範囲であれば、区切りとしないで次の位置に進むが、英語においては引用や括弧が文の終端にあるとき「…．”」のようにピリオドが引用範囲の内側に書かれるので、その場合は例外的に処理５−５へ進む（図中５−４）。５−５では、その位置以降で最初に現われるアルファベット文字が大文字か小文字かを調べる。小文字であれば文中に出現する「Ｕ．Ｓ．」などの省略表現などであると考えられるので区切りとしないで次の位置の処理へ進む。大文字であれば、そこ（文末文字列の終締）を文同士の区切りとして設定して、次の位置の処理に進む。
【００４６】
以上のようにしてたとえ複数の文からなる台詞などを含む文であっても、台詞の途中で分断されることなく全体を抽出することができる。
【００４７】
次に文切り出しの動作を簡単な例文を用いて説明する。前述の  「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”，  ｔｈｅ  ｍａｎ  ｓａｉｄ．  」という例を含む、「Ｉｔ  ｗａｓ  ｓｔｒａｎｇｅ．  ”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”，  ｔｈｅ  ｍａｎ  ｓａｉｄ．  Ｓｈｅ  ｃｏｕｌｄｎ’ｔ  ａｎｓｗｅｒ．」という部分がテキスト中にあったとする。一般の文切り出し処理では「ｐｉｔｙ”？”」のところの「？」が文の終端を表す記号であるため、ここで文が区切られ、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？」や「”，  ｔｈｅ  ｍａｎ  ｓａｉｄ．  」といった「文］が抽出されてしまう。これに対し、本実施例を用いれば、「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”」という部分が特殊範囲として設定されるので、「？」が文の終端を表す記号であっても区切りとされない。（図５の５−４の部分で「唯一」でないため除外される。）従って、「Ｉｔ  ｗａｓ  ｓｔｒａｎｇｅ．」「”Ｄｉｄ  ｙｏｕ  ｓａｙ，  ”Ｗｈａｔ  ａ  ｐｉｔｙ”？”，  ｔｈｅ  ｍａｎ      ｓａｉｄ．  」「  Ｓｈｅ  ｃｏｕｌｄｎ’ｔ  ａｎｓｗｅｒ．」という３つの文が正しく抽出できる。
【００４８】
また、「Ｈｅ  ｓａｉｄ，  ”Ｉｔ  ｉｓ  ｖｅｒｙ  ｅａｓｙ．  Ｃｏｍｅ  ｏｎ！”」  のように引用や台詞が複数の文から構成されている場合も、引用中の部分が特殊範囲となるので途中で分断されずに引用を含む文全体を抽出することができる。
【００４９】
更に、上記のような方法で引用や括弧を設定すれば、書き手が誤るなどの原因によって開始記号と終了記号のうち片方しかなかったような場合には範囲が設定されないため、誤った記号や例外的な記号によって文の抽出範囲が大きく乱されるのを防ぐことができる、という効果もある。例えば間違って入力された「”」記号があってもそれと相呼応する「”」記号が出現しなかったならば、それ以降は普通に文が切り出される。「  Ｔｈｉｓ  ｉｓ  ａ  ”ｐｅｎ．  ．．．（多数の文からなる長いテキスト）．．．．    Ｈｅ  ｓａｉｄ，  ”Ｉ  ｗａｎｔ  ｔｏ  ｇｏ  ｔｈｅｒｅ．”」といった形が出現し、ｐｅｎの前の「”」記号が間違って入力されたものであったとする。従来は引用内で文が区切られるのを防ごうとすると、「”ｐｅｎ．  ．．．（多数の文からなる長いテキスト）．．．．  Ｈｅ  ｓａｉｄ，  ”」のような部分が全部つなぎ合わされてしまうという問題があった。
【００５０】
これに対し本発明を用いると  ｐｅｎの前の「”」に対応する「”」記号が出現しないため、ここから始まる特殊範囲は  設定されない。「”ｐｅｎ．  ．．．（多数の文からなる長いテキスト）．．．．    Ｈｅ  ｓａｉｄ，  ”」は（表２）の定義１［６］に抵触するのである。特殊範囲  ”Ｉ  ｗａｎｔ  ｔｏ  ｇｏ  ｔｈｅｒｅ．”だけが設定されることになる。
【００５１】
このため、「（多数の文からなる長いテキスト）」の部分は普通に文切り出し処理が行われ、誤抽出を防げる。
【００５２】
最後にまとまった文章に対する動作を示す。前述のように従来の方法で一連の文章の区切り位置を設定した例を図９に示し、そこを区切り位置として切り出した文を図１０に示す。図１０では  、文４、文６、文９、文１１のように引用を含む文の一部分だけが切り出されてしまっている。  同じ例文に対して特殊範囲設定を行った結果を図６に示す。図６では引用の前後の空白などを考慮することにより、引用符の範囲が正しく切り出されている。その結果を用いて文区切りを設定した様子を図７に示す。図７は、図９と比べると、特殊範囲の内部の区切りが設定されていない点が異なっている。図８は図６の区切り位置を区切りとして、切り出された文である。図８においては、全ての文が引用の途中で切り離されることなく抽出されている。
【００５３】
【発明の効果】
本発明は以上のように、多重の引用、台詞、括弧が混在していてもそれらを高精度に抽出する手段を提供する。また、これらの表現を含むドキュメントを文毎に正確に区切っていく手段をも提供する。しかも、これらの処理を単語の意味を知るために辞書を引くといった重い処理を用いずに高速に実現できる。引用部分や文の切り出しは、文書の編集に、また計算機による実用的な自然言語処理の前処理として活用することができる。
【図面の簡単な説明】
【図１】本発明の一実施例における文抽出装置の構成を示す概念図
【図２】本発明の特殊範囲設定部の動作を示すフローチャート
【図３】本発明の一実施例における定義１による特殊範囲設定の初期化ルーチンを示すフローチャート
【図４】本発明の一実施例における定義１による特殊範囲設定処理の動作を示すフローチャート
【図５】本発明の一実施例における文区切設定部の動作を表すフローチャート
【図６】本発明の一実施例による特殊範囲設定結果図
【図７】本発明の一実施例による文抽出処理結果図
【図８】本発明の一実施例による文切り出し結果図
【図９】入力電子化テキストデータ図
【図１０】従来技術による図９の処理結果図
【符号の説明】
１  入力部
２  特殊範囲設定部
３  出力部
４  ＳＱ除外リスト
５  設定範囲記憶部
６  文区切設定部
７  特殊範囲定義記憶部
８  文末情報格納部
【図１】
0003616126.tif 000004
【図２】
0003616126.tif 000005
【図３】
0003616126.tif 000006
【図４】
0003616126.tif 000007
【図５】
0003616126.tif 000008
【図６】
0003616126.tif 000009
【図７】
0003616126.tif 000010
【図８】
0003616126.tif 000011
【図９】
0003616126.tif 000012
【図１０】
0003616126.tif 000013