(57)【特許請求の範囲】
【請求項１】
表示文書を解析に向けて準備する装置（１００）であって、前記装置は、
前記表示文書から、前記表示文書中の言語については表示からは分からないままの状態で、文字データを抽出する、抽出器（１０２）と、
前記文字データに関連する少なくとも１つの言語を識別する、言語識別器（１０５）と、
前記文字データの処理に関連する第１順序と、前記文字データの論理順序に関連する第２順序とを判断し、前記第２順序を判断するために、前記文書の前記文字データを照合する対象のルールを特定するのに、前記識別された言語を用いるように動作可能であり、さらに前記第１順序と前記第２順序とが異なるかどうかを判断する、順序識別器（１１０）と、
前記第１順序と前記第２順序とは異なるという前記順序識別器の判断に応答して、前記文字データを逆順にする、逆順コンポーネント（１１５）と、
を含み、
前記言語識別器（１０５）および前記順序識別器（１１０）のうちの少なくとも１つが、前記識別された言語および前記判断された第２順序のうちの少なくとも１つにそれぞれ関連する信頼値を生成するように動作可能である、装置。
【請求項２】
前記順序識別器は、：
位置依存性文字データを特定すること；
前記位置依存性文字データをルールと照合すること；および
前記照合に応答して、前記第２順序を判断すること、
を行うように動作可能である、請求項１に記載の装置。
【請求項３】
前記位置依存性文字データは、句読記号文字および表現データのうちの少なくとも１つを含む、請求項２に記載の装置。
【請求項４】
前記順序識別器は、：
前記文字データにおいてよく出現する単語を特定すること；
前記よく出現する単語をルールと照合すること；および
前記照合に応答して、前記第２順序を判断すること、
を行うように動作可能である、請求項１に記載の装置。
【請求項５】
前記順序識別器は、：
前記文字データを一連の辞書と照合すること；および
前記照合に応答して、前記第２順序を判断すること、
を行うように動作可能である、請求項１に記載の装置。
【請求項６】
前記言語識別器は、前記文字データに関連する語彙；前記文字データに関連する少なくとも１つの文字エンコーディング；および、前記文字データの書記体系に関連する書記体系データ、のうちの少なくとも１つを解析するように動作可能である、請求項１に記載の装置。
【請求項７】
前記信頼値を、信頼閾値と照合する手段をさらに含む、請求項１に記載の装置。
【請求項８】
前記逆順コンポーネントは、前記文書の前記文字データは多数を占める第１順序を有するかどうかを判断するように動作可能である、請求項１に記載の装置。
【請求項９】
前記文書の前記文字データは多数を占める第１順序を有するという判断に応答して、前記逆順コンポーネントが、：
前記第２順序に関連する、前記データの少なくとも１つのサブセットを特定すること；および
前記特定されたサブセットを逆順にすること、
を行うように動作可能である、請求項８に記載の装置。
【請求項１０】
前記文書の前記文字データは多数を占める第１順序を有さないという判断に応答して、前記逆順コンポーネントが、：
前記文字データを逆順にすること；
前記文字データの逆順化に応答して、前記第１順序に関連する、前記文字データの少なくとも１つのサブセットを特定すること；および
前記特定されたサブセットを逆順にすること、
を行うように動作可能である、請求項８に記載の装置。
【請求項１１】
前記逆順コンポーネントが前記文書の前記文字データを逆順にすることに応答して、テキスト検索システム、テキスト解析システム、およびテキスト処理システムのうちの少なくとも１つが、前記文字データを受信するように動作可能である、請求項１に記載の装置。
【請求項１２】
前記第１順序は、前記文字データの取り出しに関連する、請求項１に記載の装置。
【請求項１３】
コンピュータを用いて表示文書を解析に向けて準備する方法であって、前記方法は、コンピュータに実行させるステップとして、
前記表示文書から、前記表示文書中の言語については表示からは分からないままの状態で、文字データを抽出するステップと、
前記文字データの言語を識別するステップと、
前記文書の前記文字データに関連する少なくとも１つの言語を識別するステップと、
前記文字データの処理に関連する第１順序と、前記文書の前記文字データを照合する対象のルールを特定するのに前記識別された言語を用いて前記文字データの論理順序に関連する第２順序とを判断するステップと、
前記識別された言語および前記判断された第２順序のうちの少なくとも１つにそれぞれ関連する信頼値を生成するステップと、
前記第１順序と前記第２順序とが異なるかどうかを判断するステップと、
前記第１順序と前記第２順序とは異なるという判断に応答して、前記文字データを逆順にするステップと、
を含む、方法。
【請求項１４】
位置依存性文字データを特定するステップと、
前記位置依存性文字データをルールと照合するステップと、
前記照合するステップに応答して、前記第２順序を判断するステップと、
をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記位置依存性文字データは、句読記号文字および表現データのうちの少なくとも１つを含む、請求項１４に記載の方法。
【請求項１６】
前記文字データにおいてよく出現する単語を特定するステップと、
前記よく出現する単語をルールと照合するステップと、
前記照合するステップに応答して、前記第２順序を判断するステップと、
をさらに含む、請求項１３に記載の方法。
【請求項１７】
前記文字データを一連の辞書と照合するステップと、
前記照合するステップに応答して、前記第２順序を判断するステップと、
をさらに含む、請求項１３に記載の方法。
【請求項１８】
前記文字データに関連する語彙；前記文字データに関連する少なくとも１つの文字エンコーディング；および、前記文字データの書記体系に関連する書記体系データ、のうちの少なくとも１つを解析するステップをさらに含む、請求項１３に記載の方法。
【請求項１９】
前記信頼値を、信頼閾値と照合するステップをさらに含む、請求項１３に記載の方法。
【請求項２０】
前記文書の前記文字データは多数を占める第１順序を有するかどうかを判断するステップをさらに含む、請求項１３に記載の方法。
【請求項２１】
前記文書の前記文字データは多数を占める第１順序を有するという判断に応答して、
前記第２順序に関連する、前記データの少なくとも１つのサブセットを特定するステップと、
前記特定されたサブセットを逆順にするステップと、
をさらに含む、請求項２０に記載の方法。
【請求項２２】
前記文書の前記文字データは多数を占める第１順序を有さないという判断に応答して、
前記文字データを逆順にするステップと、
前記第１順序に関連する、前記文字データの少なくとも１つのサブセットを特定するステップと、
前記特定されたサブセットを逆順にするステップと、
をさらに含む、請求項２０に記載の方法。
【請求項２３】
前記文書の前記文字データを逆順にするステップに応答して、テキスト検索システム、テキスト解析システム、およびテキスト処理システムのうちの少なくとも１つが、前記文字データを受信するステップをさらに含む、請求項１３に記載の方法。
【請求項２４】
前記第１順序は、前記文字データの取り出しに関連する、請求項１３に記載の方法。
【請求項２５】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されると請求項１３乃至２４のいずれかに記載の方法の複数のステップを全て実行させるプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示文書を解析に向けて準備する装置に関する。
【背景技術】
【０００２】
テキスト解析の実施に先立ち、文書（例えば、ＰＤＦファイル）に関連するテキストがその文書から抽出される。
【０００３】
抽出されたテキストは、テキスト解析が実施されるより前に、論理的な（言い換えれば、読み出しの）順序になることが望ましい。
【０００４】
一部の文書書式、特に、表示の用途に向けられた文書書式（例えば、ＰＤＦ）は、当該テキストに関連する言語が左から右（ＬｔＲ：ｌｅｆｔ−ｔｏ−ｒｉｇｈｔ）の関連論理順序を有する（例えば、英語）のか右から左（ＲｔＬ：ｒｉｇｈｔ−ｔｏ−ｌｅｆｔ）の関連論理順序を有する（例えば、アラビア語）のかにかかわらず、テキストをＬｔＲの順序で表示する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
テキストがＲｔＬの論理順序に関連していて、関連文書がＬｔＲの順序に表示される場合、現行のテキスト抽出ツールは、当該テキストを、表示される順序（例を挙げると、ＬｔＲの順序）で抽出する。従って、抽出されたテキストは、このテキストが（逆順である）ＬｔＲの順序になっているために、テキスト解析には不適切である。
【課題を解決するための手段】
【０００６】
第１態様によれば、表示文書を解析に向けて準備する装置が提供され、本装置は以下を含む：表示文書から文字データを抽出する抽出器；文字データの処理に関連する第１順序と文字データの論理順序に関連する第２順序とを判断し、さらに第１順序と第２順序とが異なるかどうかを判断する、順序識別器；および、第１順序と第２順序とは異なるという順序識別器の判断に応答して、文字データを逆順にする、逆順コンポーネント。
【０００７】
第２態様によれば、表示文書を解析に向けて準備する方法が提供され、本方法は以下のステップ群を含む：表示文書から文字データを抽出するステップ；文字データの処理に関連する第１順序と文字データの論理順序に関連する第２順序とを判断するステップ；第１順序と第２順序とが異なるかどうかを判断するステップ；および、第１順序と第２順序とは異なるという判断に応答して、文字データを逆順にするステップ。
【０００８】
第３態様によれば、コンピュータ・プログラムが提供され、本コンピュータ・プログラムは、上記プログラムがコンピュータ上で実行されると上述の方法のステップ群を全て実施するようになっているプログラム・コード手段を含む。
【０００９】
以下、単なる例示として添付の図面に示される好適な実施形態に関連して、本発明を説明する。
【図面の簡単な説明】
【００１０】
【図１】好適な実施形態の装置のブロック図である。
【図２】表示文書を解析に向けて準備するプロセスに必要な動作ステップを示すフロー図である。
【図３】少なくとも１つの言語を特定するプロセスに必要な動作ステップを示すフロー図である。
【図４】抽出されたテキストにおいて論理順序が逆順であるかどうかを判断するプロセスに必要な動作ステップのフロー図である。
【図５】抽出されたテキストにおいて論理順序が逆順であるという判断に応答して、テキストを修正するプロセスに必要な動作ステップを示すフロー図である。
【発明を実施するための形態】
【００１１】
好適な実施形態の装置（１００）を図１に示す。
【００１２】
前処理ステップにて、抽出器（１０２）が文書（例えば、文書はＰＤＦファイルに保存されている）に関連するテキストを抽出することが好ましい。
【００１３】
本明細書における最初の例では、抽出されたテキストは保存される。
【００１４】
装置（１００）は、１つ以上の文書（１３０）にアクセスするように動作可能な言語識別器（１０５）を含む。
【００１５】
本明細書における最初の例では、処理順序は、テキストの先頭から末尾（実際上、ＬｔＲの順序）である。
【００１６】
上記の処理順序が順序識別器（１１０）へ送信されることが好ましい。
【００１７】
順序識別器（１１０）は、第１ストレージ・コンポーネント（１２０）および逆順コンポーネント（１１５）にアクセスするように動作可能である。
【００１８】
以下、図面を参照して、好適な実施形態のプロセスを説明する。
【００１９】
図２を参照すると、ステップ２００にて、抽出されたテキストを解析して少なくとも１つの言語を特定する。
【００２０】
ステップ２００は、図３に示す複数のステップを含む。ステップ３００にて、言語識別器（１０５）が、解析ツール（例えば、ＬａｎｇｕａｇｅＷａｒｅ（ＬａｎｇｕａｇｅＷａｒｅは、インターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標））を呼び出すことが好ましい。
【００２１】
一例では、解析ツールは、或る文書に関連する抽出されたテキストを（処理順序、例えばＬｔＲ順序で）解析し、抽出されたテキストを一連の辞書と照合する。辞書は、言語に関連付けられている。上記の照合に応答して、解析ツールは、抽出されたテキストに関連する少なくとも１つの言語を示す結果を特定する。解析ツールが言語を特定できない場合、抽出されたテキストを逆順にし、解析ツールへ入力することが好ましい。そうすると一般に、解析ツールが言語（例えば、アラビア語など）を特定する可能性が高まる。
【００２２】
解析ツールが、言語識別器（１０５）に、（例えば、統計的なデータを用いて）上記の結果に関連する信頼値を与えることが好ましい。
【００２３】
ステップ３０５にて、言語識別器（１０５）は、与えられた信頼値が事前設定可能な信頼閾値を満たすかどうかを判断する。与えられた信頼値が事前設定可能な信頼閾値を満たす場合、上記の結果は保存される。
【００２４】
言語識別器（１０５）は、上記の結果を順序識別器（１１０）へ渡す。
【００２５】
図３のプロセスは終了し、図２のステップ２０５が実行される。
【００２６】
与えられた信頼値が事前設定可能な信頼閾値を満たさない場合、言語識別器（１０５）が、１つ以上の機能を呼び出す（ステップ３１０）ことが好ましい。
【００２７】
文字は、例えばＩＳＯ８８５９またはＵＴＦ−１６（Ｕｎｉｃｏｄｅ）といったいくつかのエンコーディング・スキームのうちの１つを用いて、保存することができる。エンコーディング・スキームを用いると、書き表されている各言語の各文字が、当該エンコーディング・スキームの中で各自に割り当てられる一意の「コード」、言い換えれば一意の「番号」を有することになる。
【００２８】
エンコーディング・スキームは、自体と明示的に関連する言語を有する場合があり、例を挙げると、ＩＳＯ８８５９−６は、アラビア語に関連している。別のエンコーディング・スキーム（例えば、Ｕｎｉｃｏｄｅ）は、複数の言語をサポートし得る。
【００２９】
一例では、言語識別器（１０５）が、抽出されたテキストに関連する一連の文字エンコーディングを得る第１機能を呼び出す（ステップ３１０）。第１機能は、文字エンコーディングを言語にマッピングする知識ベースに対し、上記の一連の文字エンコーディングを照合する。この照合に応答して、第１機能は、抽出されたテキストに関連する少なくとも１つの言語を示す結果を特定する。
【００３０】
第１機能が、言語識別器（１０５）に、上記の結果に関連する信頼値を与えることが好ましい。
【００３１】
特定された言語は少なくとも２つの言語のうちの１つであると第１機能が判断する場合、言語識別器（１０５）が第２機能を呼び出す（ステップ３１０）ことが好ましい。
【００３２】
一例では、第２機能は、文字エンコーディングを書記体系にマッピングする知識ベースに対し、上記一連の文字エンコーディングを照合する。例えば、２つの言語は別々の書記体系を有することがあり、故に、第２機能を用いて、上記の少なくとも２つの言語のうちのいずれの言語が、抽出されたテキストに関連するのかを判断することができる。この照合に応答して、第２機能は、抽出されたテキストに関連する少なくとも１つの言語を示す結果を特定する。
【００３３】
第２機能が、言語識別器（１０５）に、上記の結果に関連する信頼値を与えることが好ましい。
【００３４】
好適な実施形態では、解析ツールからおよび１つ以上の機能から得られた、１つ以上の特定された言語を含んだ複数の結果が、結合される。
【００３５】
任意に、ステップ３１５にて、言語識別器（１０５）は、解析ツールからおよび１つ以上の機能から得られた、１つ以上の特定された言語を含んだ複数の結果を結合すべきかどうかを、判断する。
【００３６】
一例では、言語識別器（１０５）は、解析ツールおよび１つ以上の機能から受信した信頼値の各々が、事前設定可能な信頼閾値を満たさない場合に、結果を結合すべきであると判断する。
【００３７】
結果を結合すべきであるという判断に応答して、言語識別器（１０５）は、結果を結合する（ステップ３２０）。
【００３８】
言語識別器（１０５）は、上記の結合された結果を順序識別器（１１０）へ渡す。
【００３９】
図３のプロセスは終了し、図２のステップ２０５が実行される。
【００４０】
結果を結合すべきではないという判断に応答して、１つ以上の機能によって特定された結果が保存される。
【００４１】
言語識別器（１０５）は、上記の結果を順序識別器（１１０）へ渡す
【００４２】
図３のプロセスは終了し、図２のステップ２０５が実行される。
【００４３】
最初の例では、結果は次を含む：英語およびアラビア語
【００４４】
図２を参照すると、ステップ２０５にて、順序識別器（１１０）が、抽出されたテキストにおいて或る論理順序が逆順であるかどうか、言い換えれば、その論理順序が処理順序に対して逆であるかどうかを判断する。
【００４５】
一例では、解析ツールならびに１つ以上の機能のうちの少なくとも１つが、抽出されたテキストにおいて論理順序が逆順であるかどうかを判断することが可能であるとよい。例えば、或る論理順序（例えば、ＲｔＬ）を有するがその論理順序が逆順（例えば、ＬｔＲ）になっている抽出されたテキストが解析ツールへ入力されても、解析ツールは、言語を特定することができないだろう。一方、この抽出されたテキスト（例えば、そのサブセット）を逆順にしてから解析ツールへ入力すれば、解析ツールが言語（例えば、アラビア語）を特定する可能性は高まる。
【００４６】
一方、抽出されたテキストにおいて論理順序が逆順であるかどうかについて判断することができない場合、図４のプロセッサが実行されることが好ましい。
【００４７】
図４を参照すると、ステップ４００にて、順序識別器（１１０）が、抽出されたテキストに関連する句読記号を解析する。
【００４８】
例えば、抽出されたテキストが、下記のサブセットを含む。当然理解されるように、この抽出されたテキストには、ＬｔＲの論理順序を有するテキスト（例を挙げると、「ｃｏｗｓ  ｄｒｉｎｋ  ｗａｔｅｒ．」）と、ＲｔＬの論理順序を有するテキスト（例を挙げると、「．ｄｏｏｆ  ｅｍｏｓ  ｔａｅ  ｓｔａｃ  ｅｈｔ」）とが含まれる。当然理解されるように、本明細書における例では、ＲｔＬの論理順序を有するテキストとはアラビア語のテキストを表す。当然理解されるように、下記の例では、大文字を使用しない：
ｃｏｗｓ  ｄｒｉｎｋ  ｗａｔｅｒ．  ．ｄｏｏｆ  ｅｍｏｓ  ｔａｅ  ｓｔａｃ  ｅｈｔ
【００４９】
最初に、順序識別器（１１０）は、抽出されたテキストをＬｔＲの順序で処理する。そうすると順序識別器（１１０）は、句読記号に関連する文字（例えば、位置依存性文字）を識別する。
【００５０】
上述のテキストに関して、順序識別器（１１０）は、１番目のピリオド（「．」）を識別する。句読記号文字の識別に応答して、順序識別器（１１０）は、句読記号文字の両側の文字を識別する。上述のテキストに関しては、順序識別器（１１０）は、ピリオドの左側にアルファベット文字（例と挙げると、「ｒ」）を識別し、ピリオドの右側に空白文字を識別する。従って、順序識別器（１１０）は、以下の種類の文字をＬｔＲの順序で含んだセットを識別する：
［アルファベット文字］［句読記号文字］［空白文字］
【００５１】
上記のテキストに関して、順序識別器（１１０）は、２番目のピリオド（「．」）を識別し、このピリオドの左側に空白文字を識別し、さらにピリオドの右側にアルファベット文字（例を挙げると、「ｄ」）を識別する。従って、順序識別器（１１０）は、以下の種類の文字をＬｔＲの順序で含んだセットを識別する：
［空白文字］［句読記号文字］［アルファベット文字］
【００５２】
順序識別器（１１０）が、上記のセットを、第１ストレージ・コンポーネント（１２０）に保存されているルールの第１セットと照合することが好ましい。ルールは、句読記号文字の使われ方に関連するデータを、論理順序と、抽出されたテキストにおいてこの論理順序が逆順であるかどうかについての指示とに対して、マッピングすることが好ましい。
【００５３】
ルールの一例を以下に示す。このルールは、テキストがＬｔＲの論理順序を有するかＲｔＬの論理順序を有するかにかかわらず、句読記号文字は一般に単語の論理上の末尾に出現するという書式に関連付けられている：
ｉｆ：
［空白文字］［句読記号文字］［アルファベット文字］
ｔｈｅｎ：
論理順序＝ＲｔＬ；順序＝逆順
ｉｆ：
［アルファベット文字］［句読記号文字］［空白文字］
ｔｈｅｎ：
論理順序＝ＬｔＲ
【００５４】
上記ルールとの照合に応答して、順序識別器（１１０）は、当該テキストはＬｔＲおよびＲｔＬの論理順序を含むということを示す結果を生成する。この結果はさらに、抽出されたテキストにおいてＲｔＬの論理順序は逆順であるということをも示す。
【００５５】
順序識別器（１１０）がさらに、ＬｔＲの論理順序を有するテキストとＲｔＬの論理順序を有するテキストとの出現頻度に関する指示を、上記の結果に入れて提供することが好ましい。最初の例では、順序識別器（１１０）は、ＬｔＲの論理順序を有するテキスト（例を挙げると、１番目の句読記号文字）の１回の出現と、ＲｔＬの論理順序を有するテキスト（例を挙げると、２番目の句読記号文字）の１回の出現とを示す。
【００５６】
順序識別器（１１０）は、上記の結果に関連する関連信頼値を特定し、その信頼値が事前設定可能な信頼閾値を満たすかどうかを判断する（ステップ４０５）ことが好ましい。与えられた信頼値が事前設定可能な信頼閾値を満たす場合、上記の結果は保存される。
【００５７】
図４のプロセスは終了する。
【００５８】
抽出されたテキストの少なくともサブセットの論理順序が逆順である場合、順序識別器（１１０）は、上記の結果を逆順コンポーネント（１１５）へ渡し、図２のステップ２１０が実行される。
【００５９】
抽出されたテキストの少なくともサブセットの論理順序が逆順ではない場合、図２のプロセスは終了する。
【００６０】
ルールを言語に関連付けることが可能であることが好ましい。順序識別器（１１０）は、有利に、ステップ２００を経て得られる（単数または複数の）結果（すなわち、少なくとも１つの特定された言語を示す結果）を使用して、抽出されたテキストを照合する対象のルール（例えば、英語に関連するルール）を選択することができる。故に、特定の言語の特質に関連付けられたルールを、有利に選択することができる（これによりひいては、順序識別器（１１０）によって特定される結果の精度を向上させることができる）。
【００６１】
位置依存性文字の解析の別の例では、文字に関連する表現データの解析を用いることができる。例えば、アラビア語など一部の言語の文字は、文字エンコーディングに加え、表現形式に関連するエンコーディングを有する。
【００６２】
これはなぜならば、文字が、単語の中でどのように出現するか（例えば、単語の中頃に（「語中」）；単語の冒頭に（「語頭」）；単語の末尾に（「語尾」）；あるいは、単独で（「独立」）によって、異なって表示されるためである。
【００６３】
例えば、順序識別器（１１０）が抽出されたテキストを処理し、最初の文字に関連する表現データを特定する。一例では、表現データが「語頭」を含む。順序識別器（１１０）は、最初の文字の両側の文字を特定する。一例では、左側の文字はアルファベット文字であり、右側の文字は空白文字である。順序識別器（１１０）は、見つかった文字の種類（例を挙げると、［アルファベット文字］［頭語］［空白文字］）をルールと照合する。
【００６４】
ルールが、表現データに関連するデータを、論理順序と、抽出されたテキストにおいてこの論理順序が逆順であるかどうかについての指示とに対して、マッピングすることが好ましい。
【００６５】
ルールの一例を下記に示す。このルールは、テキストがＬｔＲの論理順序を有するかＲｔＬの論理順序を有するかにかかわらず、語頭の文字は一般に左側に空白文字を、右側にアルファベット文字を有するという書式に関連付けられている：
ｉｆ：
［アルファベット文字］［語頭］［空白文字］
ｔｈｅｎ：
論理順序＝ＲｔＬ；順序＝逆順
【００６６】
上記ルールに基づいた照合に応答して、順序識別器（１１０）は、当該テキストはＲｔＬの論理順序を含むこと、および抽出されたテキストにおいてＲｔＬの論理順序は逆順であることを示す結果を生成する。
【００６７】
上述のような機構は、特定の言語（例えば、アラビア語）が、単語の中で文字がどこに出現するかに応じて異なって表現され得る文字を有することがあるという事実を、有利に利用している。
【００６８】
与えられた信頼値が事前設定可能な信頼閾値を満たさない場合、順序識別器（１１０）は、抽出されたテキストにおいてよく出現する単語を解析する（ステップ４２０）。
【００６９】
例えば、順序識別器（１１０）が、第１ストレージ・コンポーネント（１２０）に保存された、一連のよく出現する単語（例えば、複数の言語でよく出現する単語が好ましい）にアクセスする。
【００７０】
「ｔｈｅ」などといったよく出現する単語が、ＬｔＲの論理順序（例を挙げると、「ｔｈｅ」）と、その逆順である論理順序（例を挙げると、「ｅｈｔ」）とで、保存されていることが好ましい。論理順序に関連する識別子が、よく出現する単語に関連付けられていることが好ましい。さらに、抽出されたテキストにおいて論理順序が逆順であるかどうかに関連する指示が、よく出現する単語に関連付けられていることが好ましい。一例を以下に示す：
「ｔｈｅ」；論理順序＝ＬｔＲ
「ｅｈｔ」；順序＝逆順である論理順序
【００７１】
よく出現する単語が、境界文字の両側に空間文字を備えて保存されることが好ましい。例えば、「ｔｈｅ」は「  ｔｈｅ  」のようにして保存される。こうすると順序識別器（１１０）が、他の単語の中におけるよく出現する単語の出現を、決して検出しないようになる。例えば順序識別器（１１０）は、「ｏｔｈｅｒ」の中にある「ｔｈｅ」は検出しない。
【００７２】
当初の単語が逆順になると別のもう１つの単語になるような単語（例えば、逆順になると「ｍｏｏｒ」となる「ｒｏｏｍ」）は、使用しないことが好ましい。なぜならば、順序識別器（１１０）が、逆順になった当初の単語の出現であるのか、別のもう１つの単語の出現であるのかを区別することができなくなるからである。一方、そのような単語が使用されている場合には、逆順になった当初の単語の出現と別のもう１つの単語の出現とを順序識別器（１１０）によって区別できるようにするために、順序識別器（１１０）が、文法的解析を呼び出すことが好ましい。
【００７３】
順序識別器（１１０）は、ＬｔＲの論理順序の抽出されたテキストを処理し、ＬｔＲの論理順序と、その逆順である論理順序とで保存されている１つ以上のよく出現する単語がないか、テキストを調べる。
【００７４】
上述のテキストに関して、順序識別器（１１０）は、「ｅｈｔ」を識別する。
【００７５】
それに応答して、順序識別器（１１０）は、よく出現する単語の出現に合わせて保存されているデータを使用することで、抽出されたテキストにおいて論理順序が逆順であるということを示す結果を特定する。
【００７６】
順序識別器（１１０）がさらに、ＬｔＲの論理順序を有するテキストと、逆順である論理順序を有するテキストとの出現頻度の指示を、上記の結果に入れて提供することが好ましい。
【００７７】
最初の例では、順序識別器（１１０）は、逆順である論理順序を有するテキスト（例を挙げると、よく出現する単語「ｅｈｔ」）の１回の出現を示す。
【００７８】
順序識別器（１１０）は、上記の結果に関連する関連信頼値を特定し、その信頼値が事前設定可能な信頼閾値を満たすかどうかを判断する（ステップ４２５）ことが好ましい。与えられた信頼値が事前設定可能な信頼閾値を満たす場合、上記の結果は保存される。
【００７９】
図４のプロセスは終了する。
【００８０】
抽出されたテキストの少なくともサブセットの論理順序が、抽出されたテキストにおいて逆順である場合、順序識別器（１１０）は、上記の結果を逆順コンポーネント（１１５）へ渡し、図２のステップ２１０が実行される。
【００８１】
抽出されたテキストの少なくともサブセットの論理順序が、抽出されたテキストにおいて逆順ではない場合、図２のプロセスは終了する。
【００８２】
与えられた信頼値が事前設定可能な信頼閾値を満たさない場合、順序識別器（１１０）は、１つ以上の辞書の参照を呼び出す（ステップ４３０）。
【００８３】
例えば、抽出されたテキストが特定の分野（例えば、特許明細書；コンピュータ技術関連文書など）に関連しているために、先行のステップにおいて信頼閾値を満たす結果をもたらせなかった可能性もある。
【００８４】
辞書には、ＬｔＲの論理順序ならびに逆順である論理順序で保存された単語と、論理順序に関連する識別子と、抽出されたテキストにおいて論理順序が逆順であるかどうかについての指示と、が含まれることが好ましい。
【００８５】
あるいは、ＬｔＲの論理順序に関連する単語を辞書に入力することができる。辞書が結果を特定できない場合に、単語を逆順にして辞書に入力する。そうすると一般に、辞書が結果を特定する可能性が高まる。これにより有利に、保存しなければならないデータが少ない辞書がもたらされる。
【００８６】
ステップ４３０に応答して、順序識別器（１１０）が、ＬｔＲの論理順序を有するテキストおよびＲｔＬの論理順序を有するテキストがあるかどうかを示し、抽出されたテキストにおいて論理順序が逆順であるかどうかを示し、さらにＬｔＲの論理順序とＲｔＬの論理順序との出現頻度の指示を示す結果を、特定することが好ましい。
【００８７】
上記の結果が保存されることが好ましい。
【００８８】
図４のプロセスは終了する。
【００８９】
抽出されたテキストの少なくともサブセットの論理順序が、抽出されたテキストにおいて逆順である場合、順序識別器（１１０）は、上記の結果を逆順コンポーネント（１１５）に渡し、図２のステップ２１０が実行される。
【００９０】
抽出されたテキストの少なくともサブセットの論理順序が、抽出されたテキストにおいて逆順ではない場合、図２のプロセスは終了する。
【００９１】
１つ以上の辞書の参照は、参照にはさらなる処理および時間が必要であるという理由から、先行の１つ以上の機構を経てから用いられることが好ましい。
【００９２】
１つ以上の辞書の参照は、先行の機構群に関連する信頼値に従って用いられることが好ましい。
【００９３】
当然のことながら、ＬｔＲの論理順序を有するテキストおよびＲｔＬの論理順序を有するテキストがあるかどうかを示し、抽出されたテキストにおいて論理順序が逆順であるかどうかを示し、さらにＬｔＲの論理順序とＲｔＬの論理順序との出現頻度の指示を示す結果を特定するために、任意の数のその他の機構を実行することができる。
【００９４】
当然のことながら、上述のような機構は、ステップ２００を経て得られた（単数または複数の）結果（すなわち、少なくとも１つの特定された言語を示す結果）に従って選択されることが好ましい。故に、特定の言語の特質に関連付けられた機構を、有利に選択することができる。
【００９５】
一例では、文法的解析を用いることができる。
【００９６】
図２を参照すると、抽出されたテキストにおいて論理順序が逆順である場合、図２のステップ２１０が実行され、それに従い逆順コンポーネント（１１５）が、抽出されたテキストに関連する１つ以上のテキスト部を逆順にする。
【００９７】
ステップ２１０は、図５に示される複数のステップを含む。
【００９８】
逆順コンポーネント（１１５）は、順序識別器（１１０）から受信した結果を使用する。
【００９９】
本明細書における例では、逆順コンポーネント（１１５）は、ＬｔＲの論理順序を有するテキストおよびＲｔＬの論理順序を有するテキストがあるかどうかを示し、抽出されたテキストにおいて論理順序が逆順であるかどうかを示し、さらにＬｔＲの論理順序とＲｔＬの論理順序との出現頻度の指示を示す１つ以上の結果を、用いる。
【０１００】
ステップ５００にて、逆順コンポーネント（１１５）は、１つ以上の結果を用いて、論理順序付けはＲｔＬが多数を占めるかどうかを（例えば、ＲｔＬの論理順序を有するテキストがあるという指示、ならびにＬｔＲの論理順序を有するテキストとＲｔＬの論理順序を有するテキストとの出現頻度の指示を用いることによって）判断する。
【０１０１】
最初の例では、逆順コンポーネント（１１５）は、ＲｔＬの論理順序を有するテキストがあることと、ＬｔＲの論理順序を有するテキストの出現が１回あって（例を挙げると、１番目の句読記号文字）ＲｔＬの論理順序を有するテキストの出現が２回ある（例を挙げると、２番目の句読記号文字、および、よく出現する単語「ｅｈｔ」）ことと、を判断する。
【０１０２】
この最初の例では、逆順コンポーネント（１１５）は、論理順序はＲｔＬが多数を占めると判断し、好ましくは、抽出されたテキストの１つ以上のテキスト部を逆順にする（ステップ５０５）。
【０１０３】
逆順コンポーネント（１１５）がテキスト部を特定するのに、抽出されたテキストに関連する位置データを用いることが好ましい。例えば、各行が適正な論理順序になっていることを位置データが明示する場合、逆順コンポーネント（１１５）は、該当するテキスト部は行であると判断し、それに応答して、一度に１行を逆順にする。故に、この逆順化を受けて、テキストは上から下まで適正に読めるようになる。
【０１０４】
当然のことながら、いくらでも別のテキスト部の特定が生じ得る（例えば、段落）。
【０１０５】
最初の例では、逆順化の結果は以下に示す通りである：
ｔｈｅ  ｃａｔｓ  ｅａｔ  ｓｏｍｅ  ｆｏｏｄ．  ．ｒｅｔａｗ  ｋｎｉｒｄ  ｓｗｏｃ
【０１０６】
ステップ５１０にて、逆順コンポーネント（１１５）は、１つ以上の結果を用いて、ＬｔＲの論理順序を有するテキストがあるかどうかを判断する。
【０１０７】
ＬｔＲの論理順序を有するテキストは何もないと逆順コンポーネント（１１５）が判断する場合、図５のプロセスは終了する（さらに、図２のプロセスが終了する）。処理されたテキストは、例えば解析に向けて、１つ以上のツールへ送信することができる。
【０１０８】
ＬｔＲの論理順序を有するテキストがあると逆順コンポーネント（１１５）が判断する場合、逆順コンポーネント（１１５）は、ＬｔＲの論理順序を有する１つ以上のテキスト部を特定する。
【０１０９】
一般に、文字には、文字エンコーディングに加えて方向（言い換えれば、論理順序）に関連する特性がある。一般に、空白文字は「中性」の特性を有しており、ＲｔＬの論理順序もＬｔＲの論理順序も有さないことを示している。
【０１１０】
逆順コンポーネント（１１５）が、関連論理順序を判断するために、抽出されたテキストを処理して各々の文字の特性を調べることが好ましい。
【０１１１】
最初の例では、抽出されたテキストの各文字および関連する特性は以下に示す通りであり、この場合「ｒ」はＲｔＬの論理順序を示し、「ｌ」はＬｔＲの論理順序を示し、「ｎ」は中性を示している：
ｔｈｅ  ｃａｔｓ  ｅａｔ  ｓｏｍｅ  ｆｏｏｄ．  ．ｒｅｔａｗ  ｋｎｉｒｄ  ｓｗｏｃ
ｒｒｒｎｒｒｒｒｎｒｒｒｎｒｒｒｒｎｒｒｒｒｒｎｌｌｌｌｌｌｎｌｌｌｌｌｎｌｌｌｌ
【０１１２】
この最初の例では、逆順コンポーネント（１１５）は、ＬｔＲの論理順序を有するテキスト部が３つあると判断する。
【０１１３】
それに応答して、逆順コンポーネント（１１５）は、ＬｔＲの論理順序を有するテキスト部を逆順にする（ステップ５１５）。３つのテキスト部を含んだ部分全体（３つのテキスト部の内にある中性特性を有する文字を含め）逆順にされることが好ましい。ただし、部分全体の境界（例えば、冒頭または末尾）にある中性特性を有する文字については、逆順にされない。例えば、下記にて下線で示す空白文字は、逆順にされない：
ｆｏｏｄ． ．ｒｅｔａｗ
【０１１４】
最初の例では、逆順化の結果は以下に示す通りである：
ｔｈｅ  ｃａｔｓ  ｅａｔ  ｓｏｍｅ  ｆｏｏｄ．  ｃｏｗｓ  ｄｒｉｎｋ  ｗａｔｅｒ．
【０１１５】
図５のプロセスは終了する（さらに、図２のプロセスが終了する）。処理されたテキストは、例えば解析に向けて、１つ以上のツールへ送信することができる。
【０１１６】
抽出されたテキストにおいて、ＲｔＬの論理順序を有するテキストが多数を占める場合、有利に、ステップ５０５にてテキストの一括逆順化を実行すれば、単一実行でテキストの大部分の逆順が修正される。この一括逆順化を行ってから、ＬｔＲの論理順序を有する一部の（言い換えれば、少数の）テキスト部の逆順を修正することにより、効率が向上する。
【０１１７】
論理順序はＲｔＬが多数を占めないと逆順コンポーネント（１１５）が判断する場合、好ましくはステップ５２０にて、逆順コンポーネント（１１５）が、１つ以上の結果を用いて、ＲｔＬの論理順序を有するテキストがあるかどうかを判断する。
【０１１８】
ＲｔＬの論理順序を有するテキストは何もないと逆順コンポーネント（１１５）が判断する場合、図５のプロセスは終了する（さらに図２のプロセスが終了する）。処理されたテキストは、例えば解析に向けて、１つ以上のツールへ送信することができる。
【０１１９】
ＲｔＬの論理順序を有するテキストがあると逆順コンポーネント（１１５）が判断する場合、逆順コンポーネント（１１５）は、（例えば、文字の方向に関連する特性を解析することによって）ＲｔＬの論理順序を有する１つ以上のテキスト部を特定する。
【０１２０】
それに応答して、逆順コンポーネント（１１５）は、ＲｔＬの論理順序を有するテキスト部を逆順にする（ステップ５１５）。
【０１２１】
図５のプロセスは終了する（さらに、図２のプロセスが終了する）。処理されたテキストは、例えば解析に向けて、１つ以上のツールへ送信することができる。
【０１２２】
抽出されたテキストにおいて、ＲｔＬの論理順序を有するテキストが多数を占めない場合、有利に、ＲｔＬの論理順序を有する一部の（言い換えれば、少数の）テキスト部の逆順化が実行され、故に、効率が向上する。
【０１２３】
当然のことながら、抽出されたテキストがＲｔＬの順序で処理される場合には、１つ以上の変更が施される。
【０１２４】
例えば、上述のルールのセットで指定される論理順序では不適切であろうことから、もう１つ別のルールのセットが用いられる。例えば、以下の種類の文字が特定される場合に、関連論理順序がＲｔＬではなくＬｔＲとなる：
［空白文字］［句読記号文字］［アルファベット文字］
【０１２５】
例えば、単語が辞書にＲｔＬの論理順序と、その逆順である論理順序とで保存されるなど、さらなる変更を施すことも可能である。
【０１２６】
本発明は有利に、関連する第１順序を有するテキストが含まれた入力文書を受信して、別の第２の論理順序を有するテキストを、このテキストが効率的に解析可能となるように処理する。
【０１２７】
発見的方法に関連した複数の機構を用いることにより、および信頼閾値を用いることにより、本発明の装置によって生成される結果の頑健性を有利に高めることができる。
【０１２８】
本発明は、有利に、任意の数の表示文書に関して使用することができる。例えば、表示に向けてＬｔＲの順序にテキストを保存するＰＤＦファイルを使用することができる。別の例では、光学式文字認識（ＯＣＲ：ｏｐｔｉｃａｌ  ｃｈａｒａｃｔｅｒ  ｒｅｃｏｇｎｉｔｉｏｎ）を用いてスキャンされ処理されている文書を含んだファイルを使用することができる。別の例では、テキストの論理順序が不適切に指定されるかまたは指定されることのないマークアップ（例えば、ＨＴＭＬ）を含んだファイルを使用することができる。
【０１２９】
本発明は、有利に、複数のアプリケーションに使用することができる。例を挙げると、テキスト解析に向けたテキストの準備において；例えばワード・プロセッシング・システムなどのテキスト処理システムによる使用に向けたテキストの準備において；および、例えばデータベースまたはコンテンツ管理システムなどのテキスト検索システムへの保存に向けたテキストの準備において、などである。
【０１３０】
本発明は、有利に、双方向性テキスト（すなわち、ＲｔＬの論理順序を有するテキストおよびＬｔＲの論理順序を有するテキスト）を含んだ文書に対処するように動作可能である。
【０１３１】
当業者には明らかであるように、本発明の好適な実施形態の方法の全てまたは一部は、本方法のステップ群を実施するように構成された論理要素を含んだ単数または複数の論理装置にて適切かつ有用に具現化することもでき、そのような論理要素には、ハードウェア・コンポーネント、ファームウェア・コンポーネント、あるいはそれらの組み合わせが含まれるとよい。
【０１３２】
同様に当業者には明らかであるように、本発明の好適な実施形態による論理構成の全てあるいは一部は、上記方法のステップ群を実施する論理要素を含んだ論理装置にて適切に具現化することもでき、そのような論理要素には、例えばプログラマブル論理アレイまたは特定用途向け集積回路にある論理ゲートなどのコンポーネントが含まれるとよい。上述のような論理構成は、さらに、例えば仮想ハードウェア記述言語などを用いて、要素が上述のようなアレイまたは回路に一時的あるいは恒久的に論理構造を構築可能になるように具現化されてもよく、この論理構造は、固定式のまたは伝送可能な搬送媒体を用いて保存され伝送されてもよい。
【０１３３】
当然のことながら、上述の方法および構成は、１つ以上のプロセッサ（図には示さず）上で動作しているソフトウェアにおいても適切に全面的あるいは部分的に実行することができ、さらに上記のソフトウェアが、磁気または光ディスクなどといった任意の適切なデータ搬送体（同様に図には示さず）で搬送される１つ以上のコンピュータ・プログラム要素の形で提供されてもよい。同様に、データ伝送用のチャネルには、有線あるいはワイヤレスの信号搬送媒体などといった信号搬送媒体のほか、あらゆる種類のストレージ媒体を含めることができる。
【０１３４】
本発明はさらに、コンピュータ・システムで使用するコンピュータ・プログラム製品として適切に具現化することもできる。そのような実装には、一連のコンピュータ可読命令が含まれるとよく、これらの命令は、例えばディスケット、ＣＤ−ＲＯＭ、ＲＯＭ、またはハード・ディスクといったコンピュータ可読媒体などの有形的媒体上に固定されているか、あるいは、光またはアナログ通信線を含むがこれらに限定されない有形的媒体によって、もしくはマイクロ波、赤外線または他の伝送技術を含むがこれらに限定されないワイヤレス技術を用いて無形的に、モデムまたは他のインターフェース・デバイスを介してコンピュータ・システムへ伝送可能となっているか、のいずれかである。一連のコンピュータ可読命令は、本明細書にて前述した機能の全てまたは一部を具現化する。
【０１３５】
当業者には当然のことながら、上述のようなコンピュータ可読命令は、多数のコンピュータ・アーキテクチャまたはオペレーティング・システムでの使用に向けて、複数のプログラミング言語で書くことができる。さらに、そのような命令は、半導体、磁気あるいは光学を含むがこれらに限定されない現在あるいは未来の任意のメモリ技術を用いて保存されてもよく、あるいは光学、赤外線またはマイクロ波を含むがこれらに限定されない現在あるいは未来の任意の通信技術を用いて伝送されてもよい。上述のようなコンピュータ・プログラム製品は、例えばシュリンクラップ・ソフトウェアのように、印刷または電子化されたドキュメンテーションを伴った取り外し可能媒体として配布されてもよいし、例えばシステムＲＯＭまたは固定ディスク上などにてコンピュータ・システムに予め組み込まれてもよいし、あるいは例えばインターネットまたはワールド・ワイド・ウェブなどのネットワークを介してサーバまたは電子掲示板から配布されてもよいことが考えられている。
【０１３６】
あるいは、本発明の好適な実施形態が、コンピュータ・プログラム・コードをデプロイするステップ群を含んだサービスをデプロイする、コンピュータ実装された方法という形で実現されてもよく、上記のコンピュータ・プログラム・コードは、コンピュータ・インフラにデプロイされてそこで実行されると、記載された方法の全ステップを上述のコンピュータ・システムに実施させるように動作可能である。
【０１３７】
当業者には明らかであるように、前述の例示的な実施形態には、本発明の範囲を逸脱することなく、多数の改善および変更を施すことができる。
【図１】
0005390522.tif 000002
【図２】
0005390522.tif 000003
【図３】
0005390522.tif 000004
【図４】
0005390522.tif 000005
【図５】
0005390522.tif 000006