(57)【特許請求の範囲】
【請求項１】
ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法であって、
基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するステップであって、
該基準エンコーディングフォーマットによって該基準文書を読取って障害コードストリングを取得し、
該障害コードストリング内の無効判定コードを除去するとともに有効判定コードを取得し、該無効判定コードは英語文字、数字、及びブランク文字であり、該有効判定コードは該無効判定コードを除いたその他のコードのすべてであり、
障害コードパターンを取得するべく障害コードが該有効判定コード内において出現する回数をカウントし、閾値を上回る回数だけ出現したすべての障害コードを障害コードパターンとして保存する、
ステップと、
毎回、一つのエンコーディングフォーマットによって該ターゲット文書を読取るステップと、
それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるデータと該判定された障害コードパターンとを比較し、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードを判定するステップと、
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードの割合をカウントし、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットを該ターゲット文書を読取るために使用される該エンコーディングフォーマットとして選択するステップと、
を具備することを特徴とする方法。
【請求項２】
該基準エンコーディングフォーマットは、すべて又はいくつかのエンコーディングフォーマットを含むエンコーディングフォーマットの組に属し、且つ、該基準エンコーディングフォーマットは、このエンコーディングフォーマットによって該基準文書を読取った際に障害コードが生成され得るような該エンコーディングフォーマットの組内のエンコーディングフォーマットである、
ことを特徴とする、請求項１に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項３】
該基準文書は、すべての基準エンコーディングフォーマットによって該基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するべく、すべての基準エンコーディングフォーマットによって読取られる、
ことを特徴とする、請求項１に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項４】
障害コードが該有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、障害コードは、その出現回数の逆転された順序においてソートされ、いくつかの上位の障害コードが、選択され、且つ、該障害コードパターンとして保存される、
ことを特徴とする、請求項１に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項５】
該障害コードの上位のｋ％が、選択され、且つ、該障害コードパターンとして保存され、ｋは、正の整数であり、且つ、５０≦ｋ≦１００であることを特徴とする、請求項４に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項６】
既定数の有効判定コードが取得される時点まで、該ターゲット文書の一部分のみが、毎回、エンコーディングフォーマットによって読取られるか、或いは、該文書のすべてのコンテンツが読取られた後においても、該既定数の有効判定コードが取得され得ない場合に、実際に取得された有効判定コードの数が、代わりに、使用されることを特徴とする、請求項１から請求項５までのいずれか一項に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項７】
該有効判定コードの数は、５０〜１０００であることを特徴とする、請求項６に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項８】
このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるデータと該判定された障害コードパターンとを比較し、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードを判定するプロセスは、
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるそれぞれのデータアイテムと該障害コードパターン内の障害コードとを一つずつ比較するプロセスであって、該障害コードが該データアイテムを有する場合に、該データアイテムは、障害コードとして判定され、そうでない場合に、該データアイテムは、障害コードではないと判定される、プロセス、
を具備する、
ことを特徴とする、請求項１から請求項６までのいずれか一項に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項９】
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、障害コードの最低の割合を有するエンコーディングフォーマットを、該ターゲット文書を読取るべく使用される該エンコーディングフォーマットとして選択する、
ことを特徴とする、請求項１に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項１０】
該障害コードの割合は、該有効判定コードに対する該障害コードの割合であることを特徴とする、請求項１に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項１１】
毎回該ターゲット文書を読取るべく使用される該エンコーディングフォーマットは、該エンコーディングフォーマットの組に属することを特徴とする、請求項１から請求項１０までのいずれか一項に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法。
【請求項１２】
ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムであって、
基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定する障害コードパターン生成モジュールであって、
該基準エンコーディングフォーマットによって該基準文書を読取って障害コードストリングを取得し、
該障害コードストリング内の無効判定コードを除去するとともに有効判定コードを取得し、該無効判定コードは英語文字、数字、及びブランク文字であり、該有効判定コードは該無効判定コードを除いたその他のコードのすべてであり、
障害コードパターンを取得するべく障害コードが該有効判定コード内において出現する回数をカウントし、閾値を上回る回数だけ出現したすべての障害コードを障害コードパターンとして保存する、
障害コードパターン生成モジュールと、
毎回、一つのエンコーディングフォーマットによって該ターゲット文書を読取るターゲット文書読取モジュールと、
それぞれのエンコーディングフォーマットとの関係において、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるデータと該判定された障害コードパターンとを比較し、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードを判定する障害コード読取モジュールと、
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードの割合をカウントし、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットを該ターゲット文書を読取るために使用される該エンコーディングフォーマットとして選択する読取ＣＣＦＦ選択モジュールと、
を具備するシステム。
【請求項１３】
該基準エンコーディングフォーマットは、すべて又はいくつかのエンコーディングフォーマットを含むエンコーディングフォーマットの組に属し、且つ、該基準エンコーディングフォーマットは、このエンコーディングフォーマットによって該基準文書を読取った際に障害コードが生成され得るような該エンコーディングフォーマットの組内のエンコーディングフォーマットである、
ことを特徴とする、請求項１２に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項１４】
該基準文書は、すべての基準エンコーディングフォーマットによって該基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するべく、すべての基準エンコーディングフォーマットによって読取られる、
ことを特徴とする、請求項１２に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項１５】
障害コードが該有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、障害コードは、その出現回数の逆転された順序においてソートされ、いくつかの上位の障害コードが、選択され、且つ、該障害コードパターンとして保存される、
ことを特徴とする、請求項１２に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項１６】
既定数の有効判定コードが取得される時点まで、該ターゲット文書の一部分のみが、毎回、エンコーディングフォーマットによって読取られるか、或いは、該文書のすべてのコンテンツが読取られた後においても、該既定数の有効判定コードが取得され得ない場合に、実際に取得された有効判定コードの数が、代わりに、使用される、
ことを特徴とする、請求項１２から請求項１５までのいずれか一項に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項１７】
このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるデータと該判定された障害コードパターンとを比較し、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードを判定するプロセスは、
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるそれぞれのデータアイテムと該障害コードパターン内の障害コードとを一つずつ比較するプロセスであって、該障害コードが該データアイテムを有する場合に、該データアイテムは、障害コードとして判定され、そうでない場合に、該データアイテムは、障害コードではないと判定される、プロセス、
を具備する、ことを特徴とする、請求項１２から請求項１５までのいずれか一項に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項１８】
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、障害コードの最低の割合を有するエンコーティングフォーマットを、該ターゲット文書を読取るべく使用される該エンコーディングフォーマットして選択すること、
を特徴とする、請求項１２に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項１９】
該有効判定コードの数は、５０〜１０００である、
ことを特徴とする、請求項１６に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項２０】
該障害コードの割合は、該有効判定コードに対する該障害コードの割合である、
ことを特徴とする、請求項１２に記載のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステム。
【請求項２１】
実行された際に、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を実行することを特徴とするコンピュータ実行可能命令が保存されている一つ又は複数のコンピュータ可読媒体であって、該方法は、
基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するステップであって、
該基準エンコーディングフォーマットによって該基準文書を読取って障害コードストリングを取得し、
該障害コードストリング内の無効判定コードを除去するとともに有効判定コードを取得し、該無効判定コードは英語文字、数字、及びブランク文字であり、該有効判定コードは該無効判定コードを除いたその他のコードのすべてであり、
障害コードパターンを取得するべく障害コードが該有効判定コード内において出現する回数をカウントし、閾値を上回る回数だけ出現したすべての障害コードを障害コードパターンとして保存する、
ステップと、
毎回、一つのエンコーディングフォーマットによって該ターゲット文書を読取るステップと、
それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成されるデータと該判定された障害コードパターンとを比較し、このエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードを判定するステップと、
それぞれのエンコーディングフォーマットによって該ターゲット文書を読取った際に生成される障害コードの割合をカウントし、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットを該ターゲット文書を読取るために使用される該エンコーディングフォーマットとして選択するステップと、
を具備する、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターゲット文書を読取るためのエンコーディングフォーマットを選択する方法及びシステムに関し、且つ、電子デジタルデータ処理の分野に属する。
【背景技術】
【０００２】
エンコーディングフォーマットとは、既定の方法に従って、文字、数字、及びその他のオブジェクトをコードにエンコードする概念である。電子コンピュータ、テレビ、及び関連する分野において広く採用されている多数のエンコーディングフォーマットが存在している。又、ファイルエンコーディングフォーマットは、文字エンコーディングフォーマットとも呼称されており、これは、テキスト文書が処理される際に文字を表す方法を規定するべく使用される。中国語テキスト文書を読取る際に、マッチングしていないファイルエンコーディングフォーマットは、例外又はその他の誤った結果を生成する場合がある。一般的な中国語エンコーディングフォーマットは、ＧＢ２３１２、ＢＩＧ５、ＧＢＫ、ＵＴＦ−８を有し、ここで、ＧＢ２３１２及びＵＴＦ−８は、簡体字用の最も一般的に使用されているエンコーディングフォーマットである。
【０００３】
Ｗｉｎｄｏｗｓシステムにおいては、テキスト文書が広く使用されている。開発者は、しばしば、文書を読取るためのプログラムを作成する際に、中国語エンコーディングフォーマットに関する問題に遭遇する。例えば、後続の処理のために文書を読取った際に、プログラムの結果が、その予想された結果と異なっていることが判明する場合があり、その理由は、デバッグ作業や追跡作業を通じて判定される単純なものであって、プログラム内において文書を読取るべく使用されているエンコーディングフォーマットが、文書自体のエンコーディングフォーマットと矛盾しており、これにより、障害コードがプログラムによって取得されると共に、後続のエラーが生成されるというものである。この状況は、開発プロセスにおいて一般的なものである。これに加えて、大量の文書の読取りが必要とされている際に、これらの文書が、異なるエンコーディングフォーマットを有しており、その結果、開発効率を改善するべく、ターゲット文書を読取るためのエンコーディングフォーマットを選択する方法を提供することが望ましい場合もある。
【０００４】
従来技術におけるテキスト文書を読取るためのエンコーディングフォーマットを選択する方法によれば、テキスト文書内の最初のいくつかのバイトを読出することにより、これらのバイトの値を判定し、これにより、そのエンコーディングフォーマットを判定している。但し、いくつかのケースにおいては、これらのバイト内において保持されたテキスト文書のエンコーディングフォーマットに関する情報が存在しておらず、従って、このような方式によってテキスト文書のエンコーディングフォーマットを取得することが不可能である。文書を読取るための正しいエンコーディングフォーマットを選択するメカニズムが存在すれば、ファイルエンコーディングフォーマットに由来する問題が大幅に低減され得ると共に、開発効率が改善され得る。
【発明の概要】
【０００５】
本発明において解決される技術的問題は、従来技術におけるテキスト文書を読取るためのエンコーディングフォーマットを選択する方法においては、テキスト文書内の最初のいくつかのバイトのみを読出すことにより、これらのバイトの値を判定し、且つ、これにより、そのエンコーディングフォーマットを判定しているが、いくつかのケースにおいては、これらのバイト内において保持されたテキスト文書のエンコーディングフォーマットに関する情報が存在しておらず、従って、このような方式によってテキスト文書のエンコーディングフォーマットを取得することが不可能であるというものである。
【０００６】
上述の技術的問題を解決するべく、本発明は、以下の技術的解決策を提供する。
【０００７】
ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法であって、方法は、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべての又はいくつかの障害コードパターンを判定するステップと、毎回、一つのエンコーディングフォーマットによってターゲット文書を読取るステップと、それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定するステップと、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定するステップと、を有する。
【０００８】
任意選択により、基準エンコーディングフォーマットは、すべて又はいくつかのエンコーディングフォーマットを含むエンコーディングフォーマットの組に属し、且つ、基準エンコーディングフォーマットは、このエンコーディングフォーマットによって基準文書を読取った際に障害コードが生成され得るようなエンコーディングフォーマットの組内のエンコーディングフォーマットである。
【０００９】
任意選択により、基準文書は、すべての基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するべく、すべての基準エンコーディングフォーマットによって読取られる。
【００１０】
任意選択により、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するプロセスは、基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから、障害コードストリング内の無効判定コードを除去し、且つ、有効な判定コードを取得し、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するステップを有する。
【００１１】
任意選択により、無効判定コードは、英語文字、数字、及びブランク文字であり、有効判定コードは、無効判定コードを除いたその他のコードのすべてである。
【００１２】
任意選択により、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、閾値が事前に規定され、この場合に、閾値を上回る回数だけ出現したすべての障害コードが、障害コードパターンとして保存される。
【００１３】
任意選択により、障害コードが有効な判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、障害コードは、その出現回数の逆転された順序においてソートされ、いくつかの最上位の障害コードが、選択され、且つ、障害コードパターンとして保存される。
【００１４】
任意選択により、障害コードの最上位のｋ％が、選択され、且つ、障害コードパターンとして保存され、この場合に、ｋは、正の整数であり、且つ、５０≦ｋ≦１００である。
【００１５】
任意選択により、既定数の有効判定コードが取得される時点まで、ターゲット文書の一部分のみが、毎回、エンコーディングフォーマットによって読取られるか、或いは、文書のすべてのコンテンツが読取られた後においても、既定数の有効判定コードが取得され得ない場合に、実際に取得された有効判定コードの数が、代わりに、使用される。
【００１６】
有効判定コードの数は、５０〜１０００である。
【００１７】
任意選択により、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定するプロセスは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成されるそれぞれのデータアイテムと障害コードパターン内の障害コードとを一つずつ比較するステップであって、障害コードがデータアイテムを有する場合に、データアイテムは、障害コードとして判定され、さもなければ、データアイテムは、障害コードではない、ステップを有する。
【００１８】
任意選択により、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定するプロセスは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、障害コードの最低の割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択するステップ、或いは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングファイルとして選択するステップを有する。
【００１９】
任意選択により、障害コードの割合は、有効判定コードに対する障害コードの割合である。
【００２０】
任意選択により、毎回ターゲット文書を読取るべく使用されるエンコーディングフォーマットは、エンコーディングフォーマットの組に属する。
【００２１】
ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムは、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定する障害コードパターン生成モジュールと、毎回、一つのエンコーディングフォーマットによってターゲット文書を読取るターゲット文書読取モジュールと、それぞれのエンコーディングフォーマットとの関係において、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定する障害コード読取モジュールと、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定する読取ＣＣＦＦ選択モジュールと、を有する。
【００２２】
任意選択により、基準エンコーディングフォーマットは、すべて又はいくつかのエンコーディングフォーマットを含むエンコーディングフォーマットの組に属し、且つ、基準エンコーディングフォーマットは、このエンコーディングフォーマットによって基準文書を読取った際に障害コードが生成され得るエンコーディングフォーマットの組内のエンコーディングフォーマットである。
【００２３】
任意選択により、基準文書は、すべての基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するべく、すべての基準エンコーディングフォーマットによって読取られる。
【００２４】
任意選択により、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するプロセスは、基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから、障害コードストリング内の無効判定コードを除去し、且つ、有効判定コードを取得し、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するステップを有する。
【００２５】
任意選択により、無効判定コードは、英語文字、数字、及びブランク文字であり、有効判定コードは、無効判定コードを除いたその他のコードのすべてである。
【００２６】
任意選択により、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、閾値が事前に規定され、閾値を上回る回数だけ出現したすべての障害コードが、障害コードパターンとして保存される。
【００２７】
任意選択により、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、障害コードは、その出現回数の逆転された順序においてソートされ、いくつかの最上位の障害コードが、選択され、且つ、障害コードパターンとして保存される。
【００２８】
任意選択により、障害コードの最上位のｋパーセントが、選択され、且つ、障害コードパターンとして保存され、ここで、ｋは、正の整数であり、且つ、５０≦ｋ≦１００である。
【００２９】
任意選択により、既定数の有効判定コードが取得される時点まで、ターゲット文書の一部分のみが、毎回、エンコーディングフォーマットによって読取られるか、或いは、文書のすべてのコンテンツが読取られた後においても、既定数の有効判定コードが取得され得ない場合に、実際に取得された有効判定コードの数が、代わりに、使用される。
【００３０】
有効判定コードの数は、５０〜１０００である。
【００３１】
任意選択により、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定するプロセスは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成されるそれぞれのデータアイテムを障害コードパターン内の障害コードと一つずつ比較するステップであって、障害コードがデータアイテムを有する場合に、データアイテムは、障害コードとして判定され、さもなければ、データアイテムは、障害コードではない、ステップを有する。
【００３２】
任意選択により、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定するプロセスは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、障害コードの最低の割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択するステップ、或いは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択するステップを有する。
【００３３】
任意選択により、障害コードの割合は、有効判定コードに対する障害コードの割合である。
【００３４】
任意選択により、毎回ターゲット文書を読取るべく使用されるエンコーディングフォーマットは、エンコーディングフォーマットの組に属する。
【００３５】
実行された際に、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を実行するコンピュータ実行可能命令をその上部に保存された状態において有する一つ又は複数のコンピュータ可読媒体であって、方法は、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するステップと、毎回、一つのエンコーディングフォーマットによってターゲット文書を読取るステップと、それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定するステップと、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定するステップと、を有する。
【００３６】
本開示の上述の技術的解決策は、従来技術との比較において、一つ又は複数の以下の利点を有する。
【００３７】
（１）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法及びシステムにおいては、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するステップと、毎回、一つのエンコーディングフォーマットによってターゲット文書を読取るステップと、それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定するステップと、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定するステップと、を通じて、従来技術における問題が、即ち、テキスト文書内の最初の数バイトのみを読出すことにより、これらのバイトの値を判定し、且つ、これにより、そのエンコーディングフォーマットを判定しているが、いくつかのケースにおいては、これらのバイト内において保持されたテキスト文書のエンコーディングフォーマットに関する情報が存在しておらず、従って、このような方式によってテキスト文書のエンコーディングフォーマットを取得することが不可能であるということが、事実上、回避され得る。
【００３８】
（２）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、障害コードパターンを取得するプロセスにおいて、無効判定コードを基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから除去することにより、処理対象の文字の数を低減し、これにより、障害コードを取得する処理速度及び精度を改善している。
【００３９】
（３）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、相対的に大きな出現回数を有する障害コードを特定の割合に従って選択することにより、いくつかの共通的ではない障害コードをフィルタリングによって除去し、これにより、その後にターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率を改善している。
【００４０】
（４）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、エンコーディングフォーマットは、独創的であり、単純であり、且つ、実装が容易である障害コードの割合を極小化する方式によってターゲット文書を読取るべく選択されている。
【００４１】
（５）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、既定の閾値未満の障害コードの割合を生成するエンコーティングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択するステップを通じて、すべてのエンコーディングフォーマットによってターゲット文書を読取った結果として適切なエンコーディングフォーマットを選択するべく消費を要する長い時間が回避され、これにより、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率が改善され得る。
【００４２】
（６）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、代表的なコードが取得されると共にターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率が更に改善され得るように、既定数の有効判定コードが取得される時点まで、ターゲット文書の一部分のみが、毎回、エンコーディングフォーマットによって読取られている。
【００４３】
（７）本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムにおいては、本開示において記述されているターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を使用することにより、従来技術における問題点が、即ち、テキスト文書の最初の数バイトのみを読出すことにより、これらのバイトの値を判定し、且つ、これにより、そのエンコーディングフォーマットを判定しているが、いくつかのケースにおいては、これらのバイト内において保持されたテキスト文書のエンコーディングフォーマットに関する情報が存在しておらず、従って、このような方式によってテキスト文書のエンコーディングフォーマットを取得することが不可能であるということが、事実上、回避され得る。
【図面の簡単な説明】
【００４４】
本発明の更に容易且つ明瞭な理解のために、以下、添付図面を参照し、本発明の更なる説明を付与することとする。
【００４５】
【図１】本発明の一実施形態によるターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法のフローチャートである。
【図２】本発明の一実施形態によるターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムの構造図である。
【発明を実施するための形態】
【００４６】
実施形態１
本実施形態は、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を提供する。図１は、方法のフローチャートを示しており、方法は、以下のステップを有する。
【００４７】
Ｓ１：少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定する。この実施形態においては、文書は、テキスト文書である。基準エンコーディングフォーマットは、すべてのエンコーディングフォーマットを含むエンコーディングフォーマットの組に属する。
【００４８】
一実施形態においては、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するプロセスは、基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから、障害コードストリング内の無効判定コードを除去し、且つ、有効判定コードを取得し、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するステップを有する。この場合に、無効判定コードは、英語文字、数字、及びブランク文字であり、且つ、有効判定コードは、無効判定コードを除いたその他のコードのすべてである。
【００４９】
この実施形態の障害コードパターンを取得するプロセスにおいては、無効判定コードを基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから除去することにより、処理対象の文字の数を低減し、これにより、障害コードを取得する処理速度及び精度を更に改善している。
【００５０】
好ましくは、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、閾値が事前に規定されており、閾値を上回る回数だけ出現したすべての障害が、障害コードパターンとして保存される。
【００５１】
この実施形態においては、相対的に大きな出現回数を有する障害コードを特定の割合に従って選択することにより、いくつかの共通的ではない障害コードをフィルタリングによって除去し、これにより、その後にターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率を改善している。
【００５２】
好ましくは、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいて、障害コードは、その出現回数の逆転された順序においてソートされ、いくつかの最上位の障害コードが、選択され、且つ、障害コードパターンとして保存される。例えば、障害コードの最上位のｋパーセントが、選択され、且つ、障害コードパターンとして保存されており、ここで、ｋは、正の整数であり、且つ、５０≦ｋ≦１００である。この実施形態においては、最上位の障害コードの８０％が選択されており、且つ、これらの障害コードが、取得されるべき障害コードパターンである。
【００５３】
代替実施形態においては、障害コードの最上位のｋパーセントが、選択され、且つ、障害コードパターンとして保存されている。ここで、ｋは、６０≦ｋ≦９０の範囲内の正の整数である。Ｋは、６０、７０、７５、９０の値、或いは、ユーザによって必要に応じて選択されるその他の異なる値を有してもよい。
【００５４】
Ｓ２：既定数の有効判定コードが取得される時点まで、毎回、エンコーディングフォーマットによってターゲット文書の一部分を読取る。エンコーディングフォーマットは、エンコーディングフォーマットの組に、即ち、基準エンコーディングフォーマットが属する上述のエンコーディングフォーマットの組に、属する。基準エンコーディングフォーマット及びターゲット文書を読取るべく選択されるエンコーディングフォーマットは、確立された障害コードパターンを有するエンコーディングフォーマットの場合には、同一の組に属していることから、選択及び読取プロセスにおいて、障害コードパターンに基づいて、相対的に大きな障害コードの識別率が実現され得る。文書のすべてのコンテンツが読取られた後においても、既定数の有効判定コードが取得され得ない場合には、既定数の有効判定コードの代わりに、実際に取得された有効判定コードの数が使用される。有効判定コードの数は、５０〜１０００である。好ましくは、有効判定コードの数は、１００である。代替実施形態においては、有効判定コードの数は、７０、１５０、２００、３００、５００、７００、１０００、或いは、ユーザによって必要に応じて選択されるその他の異なる値であってもよい。
【００５５】
本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、代表的なコードが取得されると共にターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率が更に改善され得るように、既定数の有効判定コードが取得される時点まで、ターゲット文書の一部分のみが、毎回、エンコーディングフォーマットによって読取られている。
【００５６】
Ｓ３：それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンを比較し、このエンコーディングフォーマットによってターゲット文書を読取る際に生成される障害コードを判定する。
【００５７】
一実施形態においては、このプロセスは、具体的には、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成されるそれぞれのデータアイテムと障害コードパターン内の障害コードを一つずつ比較するステップであって、障害コードがデータアイテムを有する場合に、データアイテムは、障害コードとして判定され、さもなければ、データアイテムは、障害コードではない、ステップを有する。
【００５８】
Ｓ４：それぞれのエンコーディングフォーマットによってターゲット文書を読取る際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定する。
【００５９】
一実施形態においては、このプロセスは、具体的には、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合をカウントし、且つ、障害コードの最低の割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットをとして選択するステップを有する。この場合に、障害コードの割合は、有効判定コードに対する障害コードの割合である。
【００６０】
本実施形態のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、エンコーディングフォーマットは、独創的であり、簡単であり、且つ、実装が容易である障害コードの割合を極小化する方式によってターゲット文書を読取るべく選択されている。
【００６１】
好ましくは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合がカウントされ、且つ、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットが、ターゲット文書を読取るべく使用されるエンコーディングフォーマットして選択される。
【００６２】
本実施形態のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法においては、既定の閾値未満の障害コードの割合を生成するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択するステップを通じて、すべてのエンコーディングフォーマットによってターゲット文書を読取った結果として適切なエンコーディングフォーマットを選択するべく消費を要する長い時間が回避され、これにより、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率が改善され得る。
【００６３】
本開示のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法及びシステムにおいては、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するステップと、毎回、一つのエンコーディングフォーマットによってターゲット文書を読取るステップと、それぞれのエンコーディングフォーマットごとに、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定するステップと、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定するステップと、を通じて、従来技術における問題が、即ち、テキスト文書内の最初の数バイトのみを読出すことにより、これらのバイトの値を判定し、且つ、これにより、そのエンコーディングフォーマットを判定しているが、いくつかのケースにおいては、これらのバイト内において保持されたテキスト文書のエンコーディングフォーマットに関する情報が存在しておらず、且つ、このような方式によってテキスト文書のエンコーディングフォーマットを取得することが不可能であるということが、事実上、回避され得る。
【００６４】
実施形態２
第一ステップ：５００個の基準文書を収集し、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定する。
【００６５】
上述の基準文書から選択された文書が、ＵＴＦ−８エンコーディングフォーマットによって読取られる。例えば、オリジナルの文書は、テキスト、
【数１】
0006280211.tif 000002
を有する。このテキスト文書のエンコーディングフォーマットは、ＵＴＦ−８であり、且つ、文書がＧＢ２３１２エンコーディングフォーマットによって読取られた場合に、
【数２】
0006280211.tif 000003
が取得される。無効判定コード“yhappy”が削除され、且つ、残りのコードが、有効判定コード、
【数３】
0006280211.tif 000004
である。この後に、これらのコードが障害コードであるかどうかが判定され、且つ、対応する計算が実行される。
【００６６】
上述の基準文書から選択された文書が、ＧＢ２３１２エンコーディングフォーマットによって読取られる。例えば、オリジナルの文書は、テキスト、
【数４】
0006280211.tif 000005
を有する。このテキスト文書のエンコーディングフォーマットは、ＧＢ２３１２であり、且つ、文書がＵＴＦ−８によって読取られた場合に、
【数５】
0006280211.tif 000006
が得られる。無効判定コード“7538”が削除され、且つ、残りのコードが、有効判定コード、
【数６】
0006280211.tif 000007
である。この後に、これらのコードが障害コードであるかどうかが判定され、且つ、対応する計算が実行される。
【００６７】
これらの５００個の基準文書は、それぞれ、ＵＴＦ−８及びＧＢ２３１２により、一つずつ、読取られ、且つ、障害コードが有効判定コード内において出現した回数がカウントされる。最上位の障害コード、
【数７】
0006280211.tif 000008
の８０％が選択され、且つ、これらの障害コードが、障害コードパターンとして保存される。
【００６８】
第二ステップ：ＵＴＦ−８エンコーディングフォーマットによってターゲット文書を読取り、且つ、１１２番目の文字が読取られた際に、１００個の有効判定コードが取得され、次いで、ＧＢ２３１２エンコーディングフォーマットによってターゲット文書を読取って１００個の有効判定コードを取得する。
【００６９】
第三ステップ：ＵＴＦ−８エンコーディングフォーマット及びＧＢ２３１２エンコーディングフォーマットのそれぞれによってターゲット文書を読取った際に生成されるそれぞれのデータアイテムと障害コードパターン内の障害コードとを比較し、且つ、エンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定する。
【００７０】
第四ステップ：ＵＴＦ−８エンコーディングフォーマットによってターゲット文書を読取った際に取得されるデータについて、障害コードパターンに基づいて、１００個の有効判定コードのうちにおける障害コードの数が８６であり、且つ、障害コードの割合が８６％であり、且つ、ＧＢ２３１２エンコーディングフォーマットによってターゲット文書を読取った際に取得されるデータについては、障害コードの割合が０％であると判定され、これにより、障害コードの最低の割合を有するＧＢ２３１２エンコーディングフォーマットが、ターゲット文書のエンコーディングフォーマットとして選択される。
【００７１】
実施形態３
本実施形態は、中国語テキスト文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を提供し、この方法は、統計によって障害コードパターンを取得する第一ステージ及びターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する第二ステージという二つのステージを有する。
【００７２】
この実施形態においては、無効判定コードは、英語文字（大文字及び小文字を含む）、数字、及びブランク文字（スペース、タブ、改行文字を含む）であり、有効判定コードは、非英語文字（大文字及び小文字を含む）、非数字、及び非ブランク文字（スペース、タブ、改行文字を含む）である。この実施形態においては、ファイルエンコーディングフォーマットが、エンコーディングフォーマットの組から、基準エンコーディングフォーマットとして選択され、エンコーディングフォーマットの組は、C＝｛c1,c2,・・・,ck｝であり、ここで、ci は、中国語テキスト文書のエンコーディングフォーマットであり、且つ、基準文書を読取るための基準エンコーディングフォーマットとして使用される。
【００７３】
第一ステージ：統計によって障害コードパターンを取得する。
【００７４】
ステップ１：中国語トレーニング文書を収集し、且つ、中国語トレーニングコーパスD＝{d1,d2, ・・・,dn} から基準文書の組を形成し、ここで、di は、中国語テキスト文書、即ち、この実施形態における基準エンコーディングフォーマットである。ファイル di のエンコーディングフォーマットは、f(di) として表され、ここで、f(di)∈C である。ファイル di がこのエンコーディングフォーマットによって読取られた際に障害コードを生成するエンコーディングフォーマットは、基準エンコーディングフォーマットであり、且つ、基準エンコーディングフォーマットの組は、C'iとして表され、ここで、C'i⊆C＼f(di)であり、即ち、障害コードは、ファイル di が C'i 内のエンコーディングフォーマットによって読取られた際に生成され得る。
【００７５】
ステップ２：基準文書 di が付与された場合に、C'i 内の異なるエンコーディングフォーマットによってこの文書を読取って複数の障害コードストリングを取得する。
【００７６】
ステップ３：障害コードストリング内の無効判定コードを削除する。
【００７７】
ステップ４：それぞれの障害コードが障害コードストリング内において出現する回数をカウントする。
【００７８】
ステップ５：それぞれの基準文書 di∈D ごとに、ステップ２〜ステップ４を反復し、それぞれの障害コードの出現の回数をカウントする。
【００７９】
ステップ６：その出現回数の逆転された順序において障害コードをソートする。
【００８０】
ステップ７：最上位のｍ％の障害コードを取得されるべき障害コードパターンとして選択する。この障害コードパターンは、エンコーディングフォーマットの組 C＝{c1,c2,・・・,ck} との関係において障害コードの共通特徴を有する。ｍの値は、５０以上であり、且つ、１００未満である。ｍの値は、６０〜９０である。
【００８１】
第二ステージ：ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する。ここでも、基準文書は、中国語テキスト文書である。このステージは、二つの方法で実装されてもよい。第一の方法は、以下のとおりである。
【００８２】
ステップ１：エンコーディングフォーマットの組 C からエンコーディングフォーマット ci を選択し、エンコーディングフォーマット ci によってターゲット文書の一部分を読取って最初のｎ個の有効判定コードを取得する。すべての文書が読取られた時点においても、有効判定コードの数が依然としてｎ未満である場合には、具体的に取得されたコードの数が、代わりに、使用される。ｍ個の有効判定コードが、このステージにおいて取得された場合には、ｎの値は、１０以上であり、且つ、[50,1000] の範囲内である。
【００８３】
ステップ２：障害コードパターンに基づいてｍ個の有効判定コード内の障害コードの数ｍ’をカウントし、且つ、障害コードの割合ｍ’／ｍを算出し、エンコードフォーマット ci 及び障害コードの割合ｍ’／ｍをリストＬ内に追加する。障害コードをカウントする方法は、ｍ’を０に設定するステップと、ｍ個のコードのうちのそれぞれのコードを読取るステップと、コードが障害コードパターンに属している場合に、ｍ’を１だけ増大させるステップと、ｍ個のコードを調査してｍ’の値である障害コードの数を取得するステップと、を有する。
【００８４】
ステップ３：エンコーディングフォーマットの組 C 内のその他のエンコーディングフォーマットについて、ステップ１〜ステップ２を反復する。
【００８５】
ステップ４：リストＬ内の障害コードの最小割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして返す。
【００８６】
一代替方法として、第二ステージは、以下のように実装されてもよい。
【００８７】
ステップ１：エンコーディングフォーマットの組 C からエンコーディングフォーマット ci を選択し、エンコーディングフォーマット ci によってターゲット文書を読取って最初のｎ個の有効判定コードを取得する。有効判定コードの数が、すべての文書が読取られた時点においても、依然として、ｎ未満である場合には、具体的に取得されたコードの数が、代わりに、使用される。ｍ個の有効判定コードが、このステージにおいて得られた場合には、ｎの値は、１０以上であり、且つ、[50,1000] の範囲内である。
【００８８】
ステップ２：障害コードパターンに基づいてｍ個の有効判定コード内の障害コードの数ｍ’をカウントし、且つ、障害コードの割合ｍ’／ｍを算出する。障害コードをカウントする方法は、ｍ’を０に設定するステップと、ｍ個のコードのうちのそれぞれのコードを読取り、コードが障害コードパターンに属している場合に、ｍ’を１だけ増大させるステップと、ｍ個のコードを調査してｍ’の値である障害コードの数を取得するステップと、を有する。
【００８９】
ステップ３：障害コードの割合ｍ’／ｍが閾値ξ以上である場合には、ステップ１及び２が反復される。障害コードの割合ｍ’／ｍが閾値ξ未満である場合には、エンコーディングフォーマット ci を返す。閾値ξの値は、１％以上である。閾値ξの値は、５％〜５０％の範囲内である。この実施形態においては、閾値ξの値は、１５％である。
【００９０】
この実施形態においては、障害コードパターンは、統計的に取得され、且つ、ターゲット文書（中国語テキスト文書）を読取るべく使用されるエンコーディングフォーマットは、障害コードパターンに基づいて自動的に選択される。
【００９１】
実施形態４
本実施形態は、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を提供し、この方法は、具体的には、以下のように、二つのステージを有する。
【００９２】
第一ステージ：統計によって障害コードパターンを取得する。関係するエンコーディングフォーマットの組は、｛ＵＴＦ−８，ＧＢ２３１２｝である。
【００９３】
ステップ１：１０００個の中国語テキスト文書を基準文書として収集し、これらは、中国語トレーニングリソースとして使用され、この場合に、５００個の文書は、ＵＴＦ８エンコードされており、且つ、その他の５００個の文書は、ＧＢ２３１２エンコードされている。この実施形態においては、これらの中国語テキスト文書は、「.txt」というサフィックスを有するテキスト文書である。
【００９４】
ステップ２：ＵＴＦ−８文書を選択し、且つ、この文書をＧＢ２３１２エンコーディングフォーマットによって読取って障害コードストリングを取得する。
【００９５】
ステップ３：障害コードストリングから無効判定コードを削除する。
【００９６】
ステップ４：障害コードストリング内の様々なコードの出現回数をカウントする。
【００９７】
ステップ５：それぞれの文書ごとに、ステップ２〜ステップ４を反復し、且つ、様々な障害コードの出現回数をカウントする。
【００９８】
ステップ６：その出現回数の逆転された順序において障害コードをソートする。
【００９９】
ステップ７：最上位の８０％の障害コードを選択し、且つ、これらの障害コードは、取得されるべき障害コードパターンである。この障害コードパターンは、関係するエンコーディングフォーマットの組｛ＵＴＦ−８，ＧＢ２３１２｝との関係における障害コードの共通特徴を有する。取得された障害コードパターンが、
【数８】
0006280211.tif 000009
である。
【０１００】
第二ステージ：ターゲット文書用のエンコーディングフォーマットを選択する。
【０１０１】
ステップ１：関係するエンコーディングフォーマットの組｛ＵＴＦ−８，ＧＢ２３１２｝からＵＴＦ−８を選択し、且つ、ＵＴＦ−８によってターゲット文書の最初の１００個の有効判定コードを読取る。
【０１０２】
ステップ２：障害コードパターンに基づいて１００個の有効判定コード内の障害コードの数（８６）をカウントし、且つ、計算を通じて障害コードの割合（８６％）を取得し、エントリ（ＵＴＦ−８，８６％）をリストＬ内において追加する。
【０１０３】
ステップ３：エンコーディングフォーマットＧＢ２３１２により、ステップ１及びステップ２を反復し、且つ、エントリ（ＧＢ２３１２，０％）をリストＬ内において追加する。
【０１０４】
ステップ４：リストＬ内の障害コードの最小割合を有するエンコーディングフォーマットを、即ち、ＧＢ２３１２を、ターゲット文書を読取るべく使用されるエンコーディングフォーマットとして返す。これにより、ターゲット文書のコンテンツがＧＢ２３１２によって正しく読取られる可能性が高い。
【０１０５】
又、一代替実施形態として、第二ステージは、以下のような方式によって実装されてもよい。
【０１０６】
ステップ１：関係するエンコーディングフォーマットの組｛ＵＴＦ−８，ＧＢ２３１２｝からＵＴＦ−８を選択し、且つ、ＵＴＦ−８によってターゲット文書の最初の１００個の有効判定コードを読取る。
【０１０７】
ステップ２：障害コードパターンに基づいて１００個の有効判定コード内の障害コードの数（８６）をカウントし、且つ、計算を通じて障害コードの割合（８６％）を取得する。
【０１０８】
ステップ３：閾値ξを１５％に設定し、障害コードの割合が、８６％であり、且つ、閾値ξを上回っていることから、エンコーディングフォーマットＧＢ２３１２により、ステップ１及びステップ２を反復し、０％の障害コードの割合が取得され、これは、閾値ξを下回っており、従って、エンコーディングフォーマットＧＢ２３１２が、ターゲット文書を読取るべく使用されるエンコーディングフォーマットとして返される。
【０１０９】
実施形態５
図２は、本発明によるターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムの構造図である。本実施形態は、ターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムを提供し、システムは、少なくとも一つの基準エンコーディングフォーマットによって基準文書を読取り、且つ、基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定する障害コードパターン生成モジュール２１を有する。基準エンコーディングフォーマットは、すべて又はいくつかのエンコーディングフォーマットを含むエンコーディングフォーマットの組に属しており、且つ、基準エンコーディングフォーマットは、このエンコーディングフォーマットによって基準文書を読取った際に障害コードが生成され得るようなエンコーディングフォーマットの組内のエンコーディングフォーマットである。
【０１１０】
基準エンコーディングフォーマットによって基準文書を読取った際に取得されるすべて又はいくつかの障害コードパターンを判定するプロセスは、基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから、障害コードストリング内の無効判定コードを除去し、且つ、有効判定コードを取得し、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するステップを有する。この場合に、無効判定コードは、英語文字、数字、及びブランク文字であり、有効判定コードは、無効判定コードを除いたその他のコードのすべてである。
【０１１１】
この実施形態における障害コードパターンを取得するプロセスにおいては、無効判定コードを基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから除去することにより、処理対象の文字の数を低減し、これにより、障害コードを取得する処理速度及び精度を更に改善している。
【０１１２】
任意選択により、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいては、閾値が事前に規定され、閾値を上回る回数だけ出現したすべての障害コードが、障害コードパターンとして保存される。
【０１１３】
この実施形態においては、相対的に大きな出現回数を有する障害コードを特定の割合に従って選択することにより、いくつかの共通的ではない障害コードをフィルタリングによって除去し、これにより、その後にターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する効率を改善している。
【０１１４】
任意選択により、障害コードが有効判定コード内において出現する回数をカウントして障害コードパターンを取得するプロセスにおいては、障害コードは、その出現回数の逆転された順序においてソートされ、いくつかの最上位の障害コードが、選択され、且つ、障害コードパターンとして保存される。任意選択により、障害コードの最上位のｋパーセントが、選択され、且つ、障害コードパターンとして保存され、ここで、ｋは、正の整数であり、且つ、５０≦ｋ≦１００である。この実施形態においては、最上位の障害コードの８０％が選択されており、且つ、これらの障害コードが、取得されるべき障害コードパターンである。
【０１１５】
その他の実施形態においては、障害コードの最上位のｋパーセントが、選択され、且つ、障害コードパターンとして保存されている。ここで、ｋは、６０≦ｋ≦９０の範囲内の正の整数である。Ｋは、６０、７０、７５、９０の値、或いは、ユーザによって必要に応じて選択されるその他の異なる値を有してもよい。
【０１１６】
ターゲット文書読取モジュール２２は、毎回、一つのエンコーディングフォーマットによってターゲット文書を読取る。このモジュールは、既定数の有効判定コードが取得される時点までターゲット文書を読取る。エンコーディングフォーマットは、基準エンコーディングフォーマットが属するエンコーディングフォーマットの組に属する。
【０１１７】
すべての文書のすべてのコンテンツが読取られた後においても、既定数の有効判定コードが取得されえない場合には、既定数の有効判定コードの代わりに、実際に取得された有効判定コードの数が使用される。有効判定コードの数は、５０〜１０００である。好ましくは、有効判定コードの数は、１００である。代替実施形態においては、有効判定コードの数は、７０、１５０、２００、３００、５００、７００、１０００、或いは、ユーザによって必要に応じて選択されるその他の異なる値であってもよい。
【０１１８】
障害コード読取モジュール２３は、それぞれのエンコーディングフォーマットとの関係において、このエンコーディングフォーマットによってターゲット文書を読取った際に生成されるデータと判定された障害コードパターンとを比較し、このエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードを判定する。
【０１１９】
このプロセスは、具体的には、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成されるそれぞれのデータアイテムと障害コードパターン内の障害コードとを一つずつ比較するステップであって、障害コードがデータアイテムを有する場合には、データアイテムは、障害コードとして判定され、さもなければ、データアイテムは、障害コードではない、ステップを有する。
【０１２０】
好ましくは、基準エンコーディングフォーマットによって基準文書を読取った際に取得される障害コードストリングから、障害コードストリング内の無効判定コードを除去することにより、有効判定コードを取得し、障害コードが有効判定コード内において出現する回数をカウントすることにより、障害コードパターンを取得する。
【０１２１】
読取ＣＣＦＦ選択モジュール２４は、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードをカウントし、且つ、比較を実行してターゲット文書を読取るべく使用されるエンコーディングフォーマットを判定する。
【０１２２】
このプロセスは、具体的には、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合をカウントするステップと、障害コードの最低の割合を有するエンコーディングフォーマットをターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択するステップと、を有する。
【０１２３】
好ましくは、それぞれのエンコーディングフォーマットによってターゲット文書を読取った際に生成される障害コードの割合がカウントされ、且つ、既定の閾値未満の障害コードの割合を有するエンコーディングフォーマットが、ターゲット文書を読取るべく使用されるエンコーディングフォーマットとして選択される。ここで、障害コードの割合は、読取られた有効判定コードに対する障害コードの割合である。
【０１２４】
この実施形態のターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択するシステムにおいては、本開示において記述されているターゲット文書を読取るべく使用されるエンコーディングフォーマットを選択する方法を使用することにより、従来技術における問題が、即ち、テキスト文書内の最初のいくつかのバイトのみを読出すことにより、これらのバイトの値を判定し、且つ、これにより、そのエンコーディングフォーマットを判定しているが、いくつかのケースにおいては、これらのバイト内において保持されたテキスト文書のエンコーディングフォーマットに関する情報が存在しておらず、従って、このような方式によってテキスト文書のエンコーディングフォーマットを取得することが不可能であるということが、事実上、回避され得る。
【０１２５】
上述の実施形態は、本発明の限定ではなく、説明をわかりやすくするべく付与された例に過ぎないことが明らかである。当業者であれば、上述の説明に基づいて、そのすべてが本明細書において列挙されていないと共にそうすることができないその他の変更又は変形を実施し得る。導出されるこれらの明白な変更又は変形は、依然として本発明の保護範囲に含まれる。
【０１２６】
当業者は、本出願の実施形態は、方法、システム、又はコンピュータプログラムのプロダクトとして提供され得ることを理解するであろう。従って、本出願は、全体的にハードウェア実施形態、全体的にソフトウェア実施形態、或いは、ソフトウェアとハードウェアとの組合せの実施形態という形態を使用し得る。更には、本出願は、コンピュータによって実行され得るプログラミングコードを有する（限定を伴うことなしに、ディスクメモリ、ＣＤ−ＲＯＭ、光メモリなどを含む）一つ又は複数のストレージ媒体上において実行されるコンピュータプログラムのプロダクトの形態をも使用し得る。
【０１２７】
本出願は、本発明の実施形態による方法、機器（システム）、及びコンピュータプログラムプロダクトのフローチャート及び／又はブロックダイアグラムを参照して記述されている。フローチャート及び／又はブロックダイアグラム内のそれぞれのフロー及び／又はブロックのみならず、フローチャート及び／又はブロックダイアグラム内のフロー及び／又はブロックの組合せは、コンピュータプログラムプロダクトコマンドを通じて実現され得ることを理解されたい。このようなコンピュータプログラムコマンドは、フローダイアグラム内の一つ又は複数のフロー及び／又はブロックダイアグラムの一つのブロック又は複数のブロック内において規定された機能を実現する装置が、コンピュータ又はプログラム可能なデータ処理機器の任意のその他のプロセッサによって実行されるコマンドにより、生成されるように、機械を生成するべく、汎用コンピュータ、特殊目的コンピュータ、埋込み型プロセッサ、或いは、プログラム可能なデータ処理機器の任意のその他のプロセッサに対して提供することができる。
【０１２８】
又、このようなコンピュータプログラムコマンドは、コンピュータの読取可能なメモリ内において保存されているコマンドがコマンド装置のプロダクトを生成するように、コンピュータ又はその他のプログラム可能なデータ処理機器を特定のスタイルの動作にリードし得るコンピュータの読取可能なメモリ内において保存することが可能であり、このようなコマンド装置は、フローチャート内の一つ又は複数のフロー及び／又はブロックダイアグラムの一つ又は複数のブロック内において規定された機能を実現することができる。
【０１２９】
又、このようなコンピュータプログラムコマンドは、コンピュータ又はその他のプログラム可能な機器によって実行されるコマンドが、フローチャート内の一つ又は複数のフロー及び／又はブロックダイアグラムの一つのブロック又は複数のブロック内において規定された機能を実現するように、コンピュータ又はその他のプログラム可能な機器上において一連の動作ステップを実行してコンピュータによって実現されるプロセスを生成するべく、コンピュータ又はその他のプログラム可能なデータ処理機器上において読込むことができる。
【０１３０】
以上、本出願の好適な実施形態について説明したが、当業者は、基本的な創造的概念を理解したら、これらの実施形態に対して更なる変更及び変形を実施することができる。従って、添付の請求項は、好適な実施形態及び本出願の範囲内のすべての変更及び変形を包含するものとして解釈されるべく意図されている。
【図１】
0006280211.tif 000010
【図２】
0006280211.tif 000011