(57)【特許請求の範囲】
【請求項１】
適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則と、
予め定められた最大入力長より長い文字列が入力された場合に、問題の生じる危険性の少ないレベルの分割規則から順に前記分割規則を適用することによって入力文字列に対する分割点候補を生成する分割点候補生成手段と、
前記分割点候補生成手段で生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整手段と、
前記分割点調整手段によって決定された分割点で入力文字列を分割する分割手段とを備え、
前記分割点調整手段が、
分割単位候補の先頭から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に、当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析装置。
【請求項２】
適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則と、
予め定められた最大入力長より長い文字列が入力された場合に、問題の生じる危険性の少ないレベルの分割規則から順に前記分割規則を適用することによって入力文字列に対する分割点候補を生成する分割点候補生成手段と、
前記分割点候補生成手段で生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整手段と、
前記分割点調整手段によって決定された分割点で入力文字列を分割する分割手段とを備え、
前記分割点調整手段が、
分割単位候補の末尾から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に、当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析装置。
【請求項３】
適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則と、
予め定められた最大入力長より長い文字列が入力された場合に、問題の生じる危険性の少ないレベルの分割規則から順に前記分割規則を適用することによって入力文字列に対する分割点候補を生成する分割点候補生成手段と、
前記分割点候補生成手段で生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整手段と、
前記分割点調整手段によって決定された分割点で入力文字列を分割する分割手段とを備え、
前記分割点調整手段が、
分割単位候補の中で短い分割単位候補から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に、当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析装置。
【請求項４】
前記分割点調整手段が、前記分割単位候補の長さが前記最大入力長を超えると判定すると、前記分割点候補生成手段は、前回の分割規則より低いレベルの分割規則を適用して前記分割単位候補に対する新たな分割点候補を生成することを特徴とする請求項１から請求項３の何れか1項に記載の言語解析装置。
【請求項５】
言語解析装置による言語解析方法であって、
前記言語解析装置の分割点候補生成手段が、予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成ステップを実行し、
前記言語解析装置の分割点調整手段が、前記分割点候補生成ステップで生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整ステップを実行し、
前記言語解析装置の分割手段が、前記分割点調整ステップによって決定された分割点で入力文字列を分割する分割ステップを実行し、
前記分割点調整ステップにおいて、
分割単位候補の先頭から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析方法。
【請求項６】
言語解析装置による言語解析方法であって、
前記言語解析装置の分割点候補生成手段が、予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成ステップを実行し、
前記言語解析装置の分割点調整手段が、前記分割点候補生成ステップで生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整ステップを実行し、
前記言語解析装置の分割手段が、前記分割点調整ステップによって決定された分割点で入力文字列を分割する分割ステップを実行し、 
前記分割点調整ステップにおいて、
分割単位候補の末尾から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析方法。
【請求項７】
言語解析装置による言語解析方法であって、
前記言語解析装置の分割点候補生成手段が、予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成ステップを実行し、
前記言語解析装置の分割点調整手段が、前記分割点候補生成ステップで生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整ステップを実行し、
前記言語解析装置の分割手段が、前記分割点調整ステップによって決定された分割点で入力文字列を分割する分割ステップを実行し、
前記分割点調整ステップにおいて、
分割単位候補の中で短い分割単位候補から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析方法。
【請求項８】
前記分割点調整ステップで、前記分割単位候補の長さが前記最大入力長を超えると判定すると、前記分割点候補生成ステップにおいて、前回の分割規則より低いレベルの分割規則を適用して前記分割単位候補に対する新たな分割点候補を生成することを特徴とする請求項５から請求項７の何れか1項に記載の言語解析方法。
【請求項９】
コンピュータ上で動作し、言語解析処理を行なう言語解析プログラムであって、
コンピュータに、
予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成処理と、
前記分割点候補生成処理で生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整処理と、
前記分割点調整処理によって決定された分割点で入力文字列を分割する分割処理を、実行させ、
前記分割点調整処理において、
分割単位候補の先頭から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析プログラム。
【請求項１０】
コンピュータ上で動作し、言語解析処理を行なう言語解析プログラムであって、
コンピュータに、
予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成処理と、
前記分割点候補生成処理で生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整処理と、
前記分割点調整処理によって決定された分割点で入力文字列を分割する分割処理を、実行させ、
前記分割点調整処理において、
分割単位候補の末尾から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析プログラム。
【請求項１１】
コンピュータ上で動作し、言語解析処理を行なう言語解析プログラムであって、
コンピュータに、
予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成処理と、
前記分割点候補生成処理で生成した分割点候補によって前記文字列を分割して得られる分割単位候補の長さが前記最大入力長より短い場合に、個々の分割単位が前記最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整処理と、
前記分割点調整処理によって決定された分割点で入力文字列を分割する分割処理を、実行させ、
前記分割点調整処理において、
分割単位候補の中で短い分割単位候補から順に隣接する分割単位候補の長さの和を計算し、前記長さの和が前記最大入力長を超えない場合に当該隣接する分割単位候補の間の分割点候補を分割点として選択しない
ことを特徴とする言語解析プログラム。
【請求項１２】
前記分割点調整処理で、前記分割単位候補の長さが前記最大入力長を超えると判定すると、前記分割点候補生成処理において、前回の分割規則より低いレベルの分割規則を適用して前記分割単位候補に対する新たな分割点候補を生成することを特徴とする請求項９から請求項１１の何れか1項に記載の言語解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、自然言語に対して構文解析等の言語解析を行なう方法に関し、特に、長文を分割しつつ効率的に言語解析処理を行なう言語解析装置、言語解析方法及び言語解析プログラムに関する。
【背景技術】
【０００２】  一般に構文解析等の言語解析では、入力された文字列を文単位に分割し、各々の文単位に解析処理を施す方法が取られている。しかし、例えば特許出願の明細書等に見られるような、１文の長さが非常に長い文を解析する場合には、単純な文単位での解析処理では問題が生じる場合がある。【０００３】  通常、構文解析等の言語解析装置は、入力された文字列を単語単位に分割し、その単語の組み合わせの各々について単語間の関係を調べることによって解析処理を行なう。従って、入力文の長さが長くなるということは、考慮すべき単語の組み合わせ数が飛躍的に増加することを意味する。【０００４】  このように、非常に長い文を解析する場合には、大量の単語の組み合わせを計算する必要が生じるため、解析時間が長くなる、あるいは解析処理に大量のメモリ容量が必要になるといった問題が生じることになる。【０００５】  また、考慮すべき単語の組み合わせが増えるということは、解釈の可能性が増えることにもなるため、解析誤りも多くなる傾向にある。そこで、長文が入力された場合には解析処理に先立って、入力文を分割する方法が種々提案されている。【０００６】  例えば、特許文献１には、機械翻訳処理の時間が予め指定された一定時間を超える場合に、予め与えられた分割規則を適用して入力された文を分割し、個々の分割単位毎に機械翻訳処理を実行する方法が開示されている。【０００７】  さらに、特許文献２には、分割規則を適応単語数と共に記憶し、適応単語数の大きい順に順次適応することで、より適切な単位に入力文を分割する方法が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開昭６１−２５５４６８号公報
【特許文献２】特許第００３１７３５１４号
【発明の概要】
【発明が解決しようとする課題】
【０００９】  上述した構文解析等の言語解析における入力文の分割方法の問題について述べる。【００１０】  まず、解析処理が受け入れ可能な最大入力長が与えられた場合に、長文を当該最大入力長に応じて適切な長さの処理単位に分割することができない点である。【００１１】  分割規則には、比較的大まかな区切りとなる言語表現に注目して分割する分割規則と、比較的細かな区切りとなる言語表現に着目して分割する分割規則が存在する。一般に、前者の分割規則は、それを適用して得られた分割点で分割した各々の分割単位はそのまま解析処理を行なっても正しく解析することができる。しかし、その反面、比較的少ない特定の言語表現に着目した規則であるため、全ての入力文から必ず分割点が得られるとは限らず、また分割点が得られたとしても各々の分割単位が充分に短くならない場合があるという問題点がある。【００１２】  また、後者の分割規則は、比較的頻繁に使われる言語表現に着目して分割点を得るため、比較的多くの文で分割点を得ることができ、また得られた分割単位が充分に短くなる可能性が高い。しかし、その反面、個々の分割単位が短くなりすぎるために各々の分割単位が正しく解析できなくなり解析精度が落ちるという問題点がある。【００１３】  特許文献２に記載の分割方法は、分割規則を適応単語数と共に記憶し、適応単語数の多い順に分割規則を適用することで前述の問題を解決しようと試みたものである。しかし、個々の分割規則に対して適切な適応単語数を設定することが難しく、また適応単語数の少ない分割規則を適用せざるを得ない段階に至ると分割単位が短くなりすぎて、やはり各々の分割単位が正しく解析できなくなり解析精度が落ちるという問題点がある。【００１４】（発明の目的）  本発明の目的は、解析処理が受け入れ可能な最大入力長に応じて、長文を適切な長さの処理単位に分割することができる言語解析装置、言語解析方法を提供することにある。
【課題を解決するための手段】
【００１５】  本発明による言語解析装置は、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則と、予め定められた最大入力長より長い文字列が入力された場合に、問題の生じる危険性の少ないレベルの分割規則から順に分割規則を適用することによって入力文字列に対する分割点候補を生成する分割点候補生成手段と、分割点候補生成手段で得られた分割点候補によって得られる分割単位候補が最大入力長より短い場合に、個々の分割単位が最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整手段と、分割点調整手段によって決定された分割点で入力文字列を分割する分割手段とを含む。【００１６】  本発明による言語解析方法は、予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成ステップと、分割点候補生成ステップで得られた分割点候補によって得られる分割単位候補が最大入力長より短い場合に、個々の分割単位が最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整ステップと、分割点調整ステップによって決定された分割点で入力文字列を分割する分割ステップとを含む。【００１７】  本発明による言語解析プログラムは、コンピュータ上で動作し、言語解析処理を行なう言語解析プログラムであって、コンピュータに、予め定められた最大入力長より長い文字列が入力された場合に、適用によって解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を、問題の生じる危険性の少ないレベルの分割規則から順に適用することによって、入力文字列に対する分割点候補を生成する分割点候補生成処理と、分割点候補生成処理で得られた分割点候補によって得られる分割単位候補が最大入力長より短い場合に、個々の分割単位が最大入力長を超えないように、同一レベルの分割規則によって得られた分割点候補の中から分割点の組み合わせを選択する分割点調整処理と、分割点調整処理によって決定された分割点で入力文字列を分割する分割処理を、実行させる。
【発明の効果】
【００１８】  本発明によれば、解析処理が受け入れ可能な最大入力長が設定された場合に、その最大入力長に応じて長文を適切な長さの処理単位に分割することができる。【００１９】  その理由は、解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を順次適用しつつ、個々の分割単位が最大入力長以下の最大の長さとなるように分割点を調整するためである。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態による言語解析装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態による言語解析装置における動作を示すフローチャートである。
【図３】本発明の第１の実施の形態による言語解析装置における動作を示すフローチャートである。
【図４】本発明の第２の実施の形態による言語解析装置の構成を示すブロック図である。
【図５】本発明の第１の実施の形態に対応する実施例１における分割規則記憶部のデータ構造例を示す図である。
【図６】本発明の第１の実施の形態に対応する実施例１における動作の具体例を示す画面例である。
【図７】本発明の第１の実施の形態による言語解析装置のデータ処理装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】（第１の実施の形態）  次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００２２】  図１を参照すると、本発明の第１の実施の形態による言語解析装置は、キーボードやマウス等の入力装置１と、プログラム制御により動作するデータ処理装置２と、情報を記憶する記憶装置３と、ディスプレイ装置や印刷装置等の出力装置４とを含む。
【００２３】  記憶装置３は、分割規則記憶部３１を備えている。分割規則記憶部３１は、入力された文字列に適用することで分割点となりうる箇所を認定するための分割規則を格納する。
【００２４】  ここで、分割規則記憶部３１には、個々の分割規則を、その分割規則の適用によって解析精度に問題を生じる危険性の程度に応じて、少なくとも２つ以上のレベルに分けて格納する。
【００２５】  例えば、個々の分割規則は、その分割規則を適用することで得られる個々の分割単位に対して言語解析を行なった結果と、入力文字列を分割せずに言語解析を行なった結果とを比べた場合に、各々の分割単位に対応する解析結果が原理的に変化しない場合には「危険性なし」（高レベル）、変化する可能性が低い場合には「危険性小」（中レベル）、変化する可能性が高い場合には「危険性大」（低レベル）といったレベルに分けられて格納される。
【００２６】  データ処理装置２は、分割点候補生成手段２１と、分割点調整手段２２と、分割手段２３とを含む。
【００２７】  分割点候補生成手段２１は、処理対象として入力された文字列が予め定められた最大入力長より長い場合に、分割規則記憶部３１に格納されている分割規則を問題の生じる危険性の低い順に読み出し、その分割規則を適用することによってその入力文字列中に分割点候補を生成する。
【００２８】  ここで分割点候補とは、入力文字列中に認定された分割点となりうる箇所を意味する。また最大入力長は、許容される入力文字列の最大長を意味する。なお、最大入力長は、言語解析に要する処理時間や使用メモリ量に対する許容量に応じて決定される値であり、例えば、入力文字列に含まれる文字の数や形態素の数で定義することが可能である。
【００２９】  分割点調整手段２２は、分割点候補生成手段２１で生成された分割点候補を受け取り、入力文字列を当該分割点候補で分割して得られる個々の分割単位候補を順次チェックしつつ、当該分割点候補を分割点として採用するかどうかを決定する。
【００３０】  分割点調整手段２２は、特に最終的に得られる個々の分割単位の全てが最大入力長を超えないように、必要な分割点候補を選択することで分割点を決定する。
【００３１】  分割手段２３は、分割点調整手段２２で決定された分割点を受け取り、入力文字列を当該分割点で分割することによって分割単位を生成する。
【００３２】（実施の形態による動作）  次に、図１及び図２のフローチャートを参照して、本実施の形態の動作について詳細に説明する。
【００３３】  データ処理装置２の分割点候補生成手段２１は、入力装置１から入力文字列を受け取ると、まず当該入力文字列の長さを計算し、予め与えられた最大入力長と比較することで、入力文字列の長さが最大入力長以上かどうかを判定する（ステップＡ１）。ここで、入力装置１からの入力は単純な文字列でもよいが、より好適には当該文字列を構成する形態素や原型、品詞といった各々の形態素の属性情報を含んでいることが望ましい。
【００３４】  ステップＡ１で入力文字列の長さが最大入力長よりも小さい場合には、分割する必要がないため全ての処理を終了する。
【００３５】  また、入力文字列の長さが最大入力長以上である場合には、当該入力文字列を分割対象に設定する（ステップＡ２）。
【００３６】  次に、分割規則のレベルを初期化し、最も危険性の小さいレベル（高レベル）に設定する（ステップＡ３）。
【００３７】  分割点候補生成手段２１は、分割対象と設定した文字列について、設定されたレベルの分割規則を用いて分割点生成処理を開始する（ステップＡ４）。この分割点生成処理については後述する。
【００３８】  さらに、分割手段２３は、分割点候補生成手段２１の分割点生成処理によって得られた分割点に基づいて分割対象の文字列を分割する（ステップＡ５）。
【００３９】  次に、分割点候補生成手段２１と分割点調整手段２２による分割点生成処理について、図３のフローチャートを参照して詳細に説明する。
【００４０】  分割点候補生成手段２１は、設定されたレベルの分割規則を分割規則記憶部３１から取得し、分割対象として設定した文字列に適用することで分割点候補を生成する（ステップＢ１）。
【００４１】  ここで、当該分割規則を適用しても分割対象から分割点候補が得られなかった場合には、分割規則のレベルを１レベル下げ（ステップＢ２とステップＢ３）、新たなレベルの分割規則を用いて再度分割点候補の生成を試みる。すなわち、危険性のレベルが１レベル低い（初期の分割規則より危険性の大きい）分割規則を用いて分割点候補の生成を行う。
【００４２】  なお、図３には図示しないが、分割規則のレベルを下げることができない場合にはその分割点生成処理を終了する。
【００４３】  図３のステップＢ１において分割点候補が設定された場合は、設定された分割点候補を分割点調整手段２２に引き渡す。
【００４４】  分割点調整手段２２は、分割点候補生成手段２１が設定した分割点候補を受け取ると、入力文字列を当該分割点候補で分割単位候補に分割する（ステップＢ４）。
【００４５】  そして、分割点調整手段２２は、得られた分割単位候補の中から、チェック処理を行なっていない分割単位候補を１つ選択する（ステップＢ５）。
【００４６】  ここで、分割単位候補の選択方法としては、例えば、現在の分割対象から得られた分割単位候補の中の最も先頭に近い未チェックの分割単位候補から順番に選択する方法を用いることができる。また、最も末尾に近い未チェックの分割単位候補から順番に選択する方法や、最も短い未チェックの分割単位候補から順番に選択する方法を用いてもよい。
【００４７】  次に、分割点調整手段２２は、ステップＢ４においてチェックを行なっていない分割単位候補が選択できたか否かを調べる（ステップＢ６）。
【００４８】  ステップＢ４において未チェックの分割単位候補が選択できない場合には、既に全ての分割単位候補に対してチェック処理を完了しているため、その時点で削除されずに残っている分割点候補を分割点として採用し、得られた分割点を出力して処理を終了する（ステップＢ７）。
【００４９】  また、ステップＢ６において未チェックの分割単位候補が選択できた場合、分割点調整手段２２は、選択された分割単位候補の長さを計算し、予め定められた最大入力長と比較し、分割単位候補の長さが最大入力長以上であるかどうかを判定する（ステップＢ８）。
【００５０】  ここで、ステップＢ８において選択された分割単位候補の長さが最大入力長以上であると判定された場合、分割点調整手段２２は、当該分割単位候補を新たな分割対象に設定し（ステップＢ９）、分割規則のレベルをさらに１レベル下げる（ステップＢ１０）。
【００５１】  次に、分割点調整手段２２は、分割点候補生成手段２１に処理を引き渡し、この新たなレベルの分割規則を用いて当該分割単位候補に対する分割点候補の生成を行なう（ステップＢ１１）。
【００５２】  その後、分割点候補生成手段２１から処理が戻ると、分割点調整手段２２は、ステップＢ５に戻って処理を継続する。
【００５３】  また、ステップＢ８において、選択された分割単位候補の長さが最大入力長より小さいと判定された場合には、分割点調整手段２２は、選択された分割単位候補に隣接する新たな分割単位候補を現在の分割対象内から取得する（ステップＢ１２）。
【００５４】  次に、分割点調整手段２２は、隣接する分割単位候補が取得できたか否かを調べ（ステップＢ１３）、取得できない場合はステップＢ５に戻り、処理を継続する。
【００５５】  また、隣接する分割単位候補が取得できた場合には、分割点調整手段２２は、選択された分割単位候補の長さと取得された隣接する分割単位候補の長さの和を計算し、予め定められた最大入力長と比較することで、長さの和が最大入力長以上であるかどうかを判定する（ステップＢ１４）。
【００５６】  ここで、ステップＢ１４において計算された長さの和が最大入力長以上であると判定された場合、分割点調整手段２２は、選択中の分割単位候補をチェック済みとして確定し、ステップＢ５に戻って処理を継続する。
【００５７】  また、ステップＢ１４において計算された長さの和が最大入力長より小さいと判定された場合には、分割点調整手段２２は、選択した分割単位候補と取得した隣接する分割単位候補の間の分割点候補を削除する（ステップＢ１５）。次いで、選択した分割単位候補と取得した隣接する分割単位候補の２つの分割単位候補を繋ぎ合わせた分割単位を新たな処理対象として設定し（ステップＢ１６）、ステップＢ１２に戻って処理を継続する。
【００５８】（第１の実施の形態による効果）  次に、本実施の形態の効果について説明する。
【００５９】  本実施の形態では、解析精度に問題を生じる危険性に応じてレベル分けされた分割規則を順次適用しつつ、個々の分割単位が最大入力長以下の範囲で長さが小さくなりすぎないように分割点を調整するように構成されている。このため、解析処理が受け入れ可能な最大入力長が設定された場合に、その最大入力長に応じて長文を適切な長さの処理単位に分割することができる。
【００６０】  また、本実施の形態では、個々の分割規則には解析精度に問題を生じる危険性に応じたレベルという大まかな分類規則を設定することにより、個々の分割単位が前記最大入力長以下の範囲で長さが小さくなりすぎないように分割点を調整するように構成されている。このため、個々の分類規則に対してそれを適用すべき単語数の下限といった厳格な優先順位情報を付与する必要がなく、比較的容易に分割規則を作成することができる。
【００６１】（第２の実施の形態）  次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００６２】  図４を参照すると、本発明の第２の実施の形態は、本発明の第１の実施の形態と同様に、入力装置１、データ処理装置６、記憶装置３、出力装置４を備える。
【００６３】  言語解析用プログラム５は、データ処理装置６に読み込まれデータ処理装置６の動作を制御し、記憶装置３に分割規則記憶部３２を生成する。
【００６４】  また、データ処理装置６は、言語解析用プログラム５の制御により第１の実施の形態におけるデータ処理装置２による処理と同様の処理を実行する。
【００６５】  データ処理装置６は、図７に示すようなハードウェア構成を有している。
【００６６】  図７を参照すると、データ処理装置２は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Central Processing Unit）６１、ＲＡＭ（Random Access Memory）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部６２、入力装置１、出力装置４及び記憶装置３と接続してデータの送受信を行う入出力インタフェース部６３、上記各構成要素を相互に接続するシステムバス６４を備えている。記憶装置３は、例えば、ＲＯＭ（ReadOnly Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
【００６７】  本実施の形態によるデータ処理装置６は、上述した言語解析用プログラム５を組み込んだ、ＬＳＩ（Large Scale Integration）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、言語解析用プログラム５を、記憶装置３に格納し、そのプログラムを主記憶部６２にロードしてＣＰＵ６１で実行することにより、ソフトウェア的に実現することも可能である。
【実施例１】
【００６８】  次に、本発明の実施例１について図面を参照して説明する。本実施例は、本発明の第１の実施の形態に対応するものである。【００６９】  本実施例は、入力装置１としてキーボードを、データ処理装置２としてパーソナルコンピュータを、記憶装置３として磁気ディスク記録装置を、出力装置４としてディスプレイを備えている。【００７０】  パーソナルコンピュータは、分割点候補生成手段２１、分割点調整手段２２、分割手段２３の機能を実行する中央演算部（ＣＰＵ）を有しており、また、磁気ディスク記憶装置には、分割規則記憶部３１として機能する記憶領域が確保されている。【００７１】  ここで、分割規則記憶部３１には、図５に示すような分割規則が格納されている場合を考える。図５は、分割規則記憶部３１に格納される分割規則を模式的に表形式で表したものであり、各行が個々の分割規則を表している。【００７２】  図５において、最初の「レベル」の列には、その分割規則の適用によって解析精度に問題を生じる危険性の程度を示すレベルの情報が格納されている。次の「分割点認定パタン」の列には、分割点を認定するためのパタンの情報が格納されており、最後の「分割点」の列には、分割点認定パタンとの相対位置で分割点と認定される場所を表す情報が格納されている。【００７３】  例えば、図５の表の１行目の分割規則は、この分割規則がその適用によって解析精度に問題を生じる危険性が最も小さい「レベル１」の分割規則である。この「レベル１」の分割規則においては、入力文字列中に分割点認定パタンとして句点「。」がある場合に、その句点（パタン）「。」の直後を分割点として認定できることが示されている。【００７４】  また、図５の表の２行目の分割規則は、この分割規則がその適用によって解析精度に問題を生じる危険性が比較的小さい「レベル２」の分割規則である。この「レベル２」の分割規則においては、入力文字列中に分割点認定パタンとして接続助詞「が」と読点「、」がその順に隣接しているパタンがある場合に、そのパタンの直後を分割点として認定できることが示されている。同様に、図５の表の３行目以下に、レベル３、４の分割規則が記述されている。分割規則のレベルは、レベル１が最も高く、レベル２、レベル３、レベル４の順に低くなる。【００７５】  以下では、最大入力長が「１００」に設定されているものとする。そして、入力文字列として、図６のａ）に示す長さが３００の入力文「〜〜〜する。〜〜〜するので、〜〜し、〜〜し、さらに〜〜する。」が入力され、図５に示す分割規則を用いた場合の動作例について説明する。【００７６】  入力装置１であるキーボード等からデータ処理装置２としてのパーソナルコンピュータに、図６のａ）の入力文が入力されると、分割点候補生成手段２１が、入力文を受け付けてその長さを計算する。その結果、分割点候補生成手段２１は、入力文の長さが「３００」であり、最大入力長「１００」以上であることを検出して、その入力文を分割対象として設定する。さらに、分割規則のレベルを初期化して最も高い「レベル１」に設定し、分割点生成処理を実行する。【００７７】  分割点生成処理において、分割点候補生成手段２１は、まず「レベル１」の分割規則を���割規則記憶部３１から取得し、分割対象である図６のａ）に示す入力文全体に適用する。ここで、分割点候補生成手段２１は、分割対象中の句点「。」を検出し、その後ろに分割点候補を設定する。【００７８】  次に、分割点調整手段２２は、分割点候補生成手段２１が設定した分割点候補を受け取り、分割対象である入力文を分割単位候補に分割する。その状態を、図６のｂ）に示す。【００７９】  そして、分割点調整手段２２は、分割対象内から未処理の分割単位候補を１つ選択する。ここでは、未チェックの分割単位候補の選択方法として、分割単位候補の中の最も先頭に近い未チェックの分割単位候補から順番に選択する方法を採用するものとする。【００８０】  すると、まず図６のｂ）の最初の長さ「６０」の分割単位候補「〜〜〜する。」が選択される。さらに、分割点調整手段２２は、その分割単位候補の長さを計算し、得られた分割単位候補の長さ「６０」が最大入力長「１００」よりも小さいことを判定する。【００８１】  そこで、分割点調整手段２２は、分割対象内から現在選択されている分割単位候補「〜〜〜する。」に隣接する分割単位候補「〜〜〜するので、〜〜し、〜〜し、さらに〜〜する。」を取得する。【００８２】  この２つの長さの和を計算すると「３００」であるため、現在選択中の分割単位候補「〜〜〜する。」を処理済として確定し、分割点調整手段２２は、次の未処理の分割単位候補「〜〜〜するので、〜〜し、〜〜し、さらに〜〜する。」を新たな処理対象として選択する。【００８３】  すると、この分割単位候補は長さが「２４０」であり、最大入力長「１００」以上であるため、分割点調整手段２２は、この分割単位候補を分割対象とし、また分割規則のレベルを１つ下の「レベル２」として分割点生成処理を再帰的に呼び出す。【００８４】  分割点候補生成手段２１は、上記と同様に、図５に示す「レベル２」の分割規則を分割規則記憶部３１から取得し、分割対象である、図６のｂ）の２番目の分割単位候補に適用する。【００８５】  ここで、分割点候補生成手段２１は、分割対象中の接続助詞「ので」と読点「、」が連続するパタンを検出し、その後ろに分割点候補を設定する。その状態を、図６のｃ）に示す。【００８６】  そして、分割点調整手段２２は、さらに上記と同様にして、長さが最大入力長より小さい分割単位候補「〜〜〜するので、」（長さ「８０」）を処理済として確定する。その後、分割点調整手段２２は、長さが最大入力長以上の分割単位候補「〜〜し、〜〜し、さらに〜〜する。」（長さ「１６０」）を分割対象とし、また、分割規則のレベルを１つ下の「レベル３」として再度、分割点生成処理を再帰的に呼び出す。【００８７】  分割点候補生成手段２１は、上記と同様に、「レベル３」の分割規則を分割規則記憶部３１から取得し、分割対象である、図６のｃ）の３番目の分割単位候補に適用する。ここで、分割点候補生成手段２１は、分割対象中の動詞連用中止形の「し」と読点「、」が連続するパタンを２箇所検出し、その各々の後ろに分割点候補を設定する。その状態を、図６のｄ）に示す。【００８８】  次に、分割点調整手段２２は、未処理の分割単位候補としてまず１番目の分割単位候補「〜〜し、」（長さ「５０」）を選択し、その長さ「５０」が最大入力長「１００」よりも小さいことを判定する。【００８９】  そして、分割点調整手段２２は、分割対象内から現在選択されている１番目の分割単位候補「〜〜し、」に隣接する２番目の分割単位候補「〜〜し、」を取得する。【００９０】  さらに、分割点調整手段２２は、この２つの分割単位候補の長さの和を計算し、その長さの和「８０」が最大入力長１００よりも小さいことを判定する。【００９１】  そこで、分割点調整手段２２は、この２つの分割単位候補の間の分割点候補を削除し、２つの分割単位候補を繋ぎ合わせた「〜〜し、〜〜し、」の単位（長さ「８０」）を新たな処理対象とする。その状態を、図６のｅ）に示す。【００９２】  そして、分割点調整手段２２は、次の隣接する分割単位候補「さらに〜〜する。」（長さ「８０」）を取得するが、処理対象との長さの和が「１６０」となり、最大入力長「１００」以上となるため、分割単位候補「〜〜し、〜〜し、」（長さ「８０」）を処理済として確定し、次の未処理の分割単位候補「さらに〜〜する。」（長さ「８０」）を新たな処理対象として選択する。【００９３】  しかし、この分割単位候補は、その長さが最大入力長「１００」より小さく、かつ、隣接する未処理の分割単位候補が存在しないため、分割点調整手段２２は得られた分割点候補を確定し分割点を生成する。【００９４】  さらに分割点調整手段２２は、再帰的に処理を戻すが既に未処理の分割単位候補が存在しないため得られた分割点候補を次々に確定し分割点を生成する。【００９５】  最後に、分割手段２３は、得られた分割点で入力文を分割し、「〜〜〜する。」「〜〜〜するので、」「〜〜し、〜〜し、」「さらに〜〜する。」の４つの分割単位を出力する。【００９６】  以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。【００９７】  この出願は、２００９年３月３０日に出願された日本出願特願２００９−０８１４３１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００９８】  本発明の言語解析装置は、第１の言語で記述された文書を解析して各文の構文構造を出力する構文解析装置や、第１の言語（ある言語）で記述された文書を第２の言語（別の言語）に翻訳する機械翻訳装置といった用途に適用することができる。
【図１】
0005464209.tif 000002
【図２】
0005464209.tif 000003
【図３】
0005464209.tif 000004
【図４】
0005464209.tif 000005
【図５】
0005464209.tif 000006
【図６】
0005464209.tif 000007
【図７】
0005464209.tif 000008