ここでは、開示される例示的な実施形態を詳細に参照し、その例が添付の図面に示される。可能な限り、図面全体を通じて、同じ参照番号を使用して、同じまたは同様の部分を言及する。
開示される実施形態に関連する方法、システムおよび製造品は、特にジャーナル出版業界における、雑誌記事、学術論文、ブログ記事、新聞記事、ウェブベースの記事またはコンテンツなどの様々な文書の構成を評価するための特徴を提供する。
図1は、ある特定の開示される実施形態と一致する例示的な自動構成評価システム100を示す。一態様では、自動構成評価システム100は、自動構成評価器110と、1つ以上のプロセッサ120と、メモリ124とを含み得る。自動構成評価器110は、リーダー112と、インタプリタ114と、評価器116と、ルールエンジン122とを含み得る。
本開示と一致して、リーダー110は、そのフォーマットを評価する必要がある科学文書などの外部のファイルを入力する(読み取る、受信するまたは入手するなど)ための様々な機能を実行することができる。ファイルを入力するため、リーダー110は、例えば、ディスク読み取りインターフェース、ネットワークインターフェース(Ethernet(登録商標)インターフェース、Wi−Fiインターフェース、Bluetooth(登録商標)インターフェース、セルラインターフェースなど)、USBインターフェース、HDMI(登録商標)インターフェース、Lightning(商標)インターフェース、または、外部のファイルの読み取りもしくはインポートが可能な他の同様のインターフェースを含み得る。リーダー110が外部のファイルを入力すると、リーダー110は、入力ファイルをインタプリタ114に送信または伝送することができる。インタプリタ114は、入力ファイルを解釈、変換またはそうでなかれば変化し、評価可能フォーマットであるファイルを生成することができ、それについては、以下で、図2に対応して詳細に論じられる。簡潔に、評価可能フォーマットを有するファイルは、評価器116によって処理することができる構成情報を含み得る。評価器116は、ルールエンジン122で定義される一連の構成ルールに基づいて構成情報を評価することができる。評価プロセスの詳細については、図2〜8を参照して論じられる。
開示される実施形態と一致して、自動構成評価システム100のコンポーネントは、自動構成評価器110を含めて、図1に例示的な形式で示される1つ以上のプロセッサ120を含み得る。プロセッサは、IntelのCore(商標)、Xeon(商標)およびAtom(商標)ファミリー、または、AMDのTurion(商標)、Phenom(商標)、Athlon(商標)およびSempron(商標)ファミリーからのマイクロプロセッサなどの1つ以上の処理デバイスを含み得る。プロセッサは、同時に並行プロセスを実行する能力を提供するシングルコアまたはマルチプルコアプロセッサシステムを含み得る。
例えば、プロセッサは、当業者に知られている仮想処理技術で構成されたシングルコアプロセッサを含み得る。ある特定の実施形態では、プロセッサは、複数のプロセスを同時に実行したり制御したりする論理プロセッサを含み得る。プロセッサは、仮想マシン技術または他の同様の公知の技術を実装して、複数のソフトウェアプロセス、アプリケーション、プログラムなどの実行、制御、起動、操作、格納などを行う能力を提供することができる。いくつかの実施形態では、プロセッサは、自動構成評価システム100のコンピュータコンポーネントが複数のプロセスを同時に実行できるようにするため、並行処理機能性を提供するように構成されたマルチプルコアプロセッサ構成(例えば、デュアルまたはクアドコア)を含み得る。
本明細書で開示される能力を提供する他のタイプのプロセッサ構成を実装することができる。例えば、プロセッサは、自動構成評価システム100と関連付けられた1つ以上のサーバまたは他のコンピューティングデバイスを表し得る。例えば、プロセッサは、ローカルエリアネットワークまたは広域ネットワーク上で一緒に動作するように構成されたプロセッサの分散型ネットワークを表し得る。あるいは、プロセッサは、自動構成評価器110と関連付けられた他の処理デバイスから/他の処理デバイスに、または、自動構成評価システム100の他のコンポーネントから/他のコンポーネントに、情報、命令などを受信および送信するというソフトウェア命令を実行するように構成された処理デバイスを含み得る。ある特定の態様では、プロセッサ120は、開示される実施形態と一致する1つ以上のプロセスを実行するため、メモリに格納されたソフトウェア命令を実行するように構成することができる。
開示される実施形態と一致して、自動構成評価システム100のコンポーネントは、自動構成評価器110を含めて、図1に例示的な形式で示される1つ以上のメモリデバイス(メモリ124など)も含み得る。メモリデバイスは、1つ以上のアプリケーション、ネットワーク通信プロセス、オペレーティングシステムソフトウェア、開示される実施形態に関連するソフトウェア命令、および、処理デバイスによって実行可能であることが知られている他の任意のタイプのアプリケーションまたはソフトウェアと関連付けられた命令など、プロセッサ120によってそれぞれ実行されるソフトウェア命令を格納することができる。メモリデバイスは、揮発性もしくは不揮発性、磁気、半導体、テープ、光学、取り外し可能、取り外し不可能、または、他のタイプの記憶装置もしくは有形のコンピュータ可読媒体を含み得る。メモリデバイスは、ローカルエリアネットワークまたは広域ネットワーク上で分散された2つ以上のメモリデバイスを含むことも、単一のメモリデバイスを含むこともあり得る。開示される実施形態では、メモリデバイスは、記憶装置に格納された情報のアクセス、処理および送信を行うための命令を受信するように構成された、データベース記憶装置などのデータベースシステムを含み得る。
いくつかの実施形態では、自動構成評価器110は、ネットワーク(図示せず)または他の任意の適切な通信インフラストラクチャを通じてなど、自動構成評価システム100の他のコンポーネントとの通信を提供する1つ以上の追加のコンポーネント(図示せず)も含み得る。
そのようなネットワークは、例えば、自動構成評価器110、プロセッサ120、メモリ123、データベース(図示せず)、外部の記憶装置(図示せず)、ユーザ入力デバイス(図示せず)、出力デバイス(図示せず)などの自動構成評価システム100のコンポーネント間の通信およびデータ転送を促進するいかなるタイプのネットワークも含み得る。
ネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)(インターネットなど)を含み得、単一のネットワークまたはネットワークの組合せを含み得る。さらに、ネットワークは、単一タイプのネットワークまたは異なるタイプのネットワークの組合せ(インターネットならびに有線および/または無線通信のための公衆交換網など)を反映し得る。ネットワークは、クラウドコンピューティング技術を利用することができる。その上、ネットワークのいかなる部分も、図1に示される様々な実体によって手動でまたは直接実行される金融口座と関連付けられた操作を許可するために、取引のインフラストラクチャまたはチャネルを通じて実装することができる。ネットワークは、上記の例に限定されず、自動構成評価システム100は、図1に含まれる実体(および図示されない他のもの)がデータおよび情報を交換できるようにするいかなるタイプのネットワークも実装することができる。
図1は、自動構成評価システム100内のある特定の数の実体および処理/演算コンポーネントについて説明しているが、いかなる数のコンポーネントまたはコンポーネントのいかなる組合せも、開示される実施形態の範囲から逸脱することなく実装することができる。上記で説明されるように、例えば、リーダー112、インタプリタ114、評価器116、ルールエンジン122は、ネットワークを通じて互いに通信することもできる。それに加えて、自動構成評価器110、プロセッサ120およびメモリ124は、相互排他的なものではない。例えば、開示される一実施形態では、自動構成評価器110、プロセッサ120およびメモリ124は、別々のコンポーネントによって実装することができ、同じ実体または異なる実体と関連付けることができる。その上、リーダー112、インタプリタ114、評価器116およびルールエンジン122は、相互排他的なものではない場合がある。例えば、リーダー112およびインタプリタ114は、同じ実体、同じ実体の異なる場所、同じ実体の子実体、または、親実体およびその子実体と関連付けることができる。同様に、評価器116およびルールエンジン122は、同じ実体、同じ実体の異なる場所、同じ実体の子実体、または、親実体およびその子実体と関連付けることができる。したがって、説明される実体は、上記の離散的な記述に限定されない。さらに、自動構成評価システム100の異なるコンポーネントが組み合わされる場合(例えば、評価器116およびルールエンジン122など)、演算および処理デバイスならびにこれらのコンポーネントによって実行されるソフトウェアは、ローカルまたは分散型システムに組み込むことができる。
開示されるように、本明細書のコンポーネント、プロセスおよび実施形態は、自動構成評価システム100が科学文書などのファイルの構成の評価、調整および編集を行えるようにする。図2は、ある特定の開示される実施形態と一致する例示的な自動構成評価プロセス140のフローチャートである。ある特定の実施形態では、自動構成評価システム100の自動構成評価器110、プロセッサ120、メモリ124および他のコンポーネント(図示せず)は、図2のファイル構成評価プロセス140を実行するためのソフトウェア命令を実行することができる。プロセス140の各ステップについては、以下でさらに詳細に説明する。
一態様では、自動構成評価システム100は、評価のため、文書などのファイルを受信する(ステップ150)ためのソフトウェア命令を実行する。ファイルは、テキスト、表、方程式、グラフィック、チャート、および、文書に存在し得る他の任意のオブジェクトを含む科学文書であり得る。ファイルは、Microsoft Word、Microsoft PowerPoint、Adobe PDF、マークアップ言語ファイルのフォーマットまたは別のフォーマットであり得る。
マークアップ言語ファイルは、テキストとは構文的に区別可能な方法でテキスト文書に注釈を付けるためにマークアップ言語を使用する。マークアップ言語の例は、拡張可能マークアップ言語(XML)およびハイパーテキストマークアップ言語(HTML)を含む。多くの場合、マークアップ言語は、注釈を示すためのタグなどの特殊文字を含む。例として、XMLでは、マークアップ文字列は、開始タグ「<」で始まり、終了タグ「>」で終了する。タグは、マークアップファイルのセクションを示すために使用することもできる。したがって、例えば、「文書を評価する」に関連するセクションは、<eval_document 1>で始め、</eval_document 1>で終了することができる。
一実施形態では、プロセッサ120は、ファイル変換プロセス(ステップ160)を実行するためにメモリ124からソフトウェア命令を実行する。ステップ160のファイル変換プロセスの一部として、ステップ150で受信されたファイルは、自動構成評価器110が処理できる評価可能ファイルに変換または変化することができる。例として、ステップ150で受信されたファイルは、アプリケーション生成XML文書であり得、ステップ160のファイル変換プロセスの間に評価器標準XMLファイルに変換することができる。評価器標準XMLファイルなどの評価可能ファイルは、以降、メトリクスファイルと呼ばれる場合もある。変換は、例えば、拡張可能スタイルシート言語変換(XSLT)によって実装することができる。XSLTは、XML文書を、他のXML文書およびHTML(ウェブページ用)などの他のオブジェクトに、または、XSLフォーマット化オブジェクトに変換するための言語であり、次いで、同オブジェクトは、ポータブルドキュメントフォーマット(PDF)、PostScriptおよびポータブルネットワークグラフィックス(PNG)フォーマットに変化することができる。XSLTによって実装することができるステップ160のファイル変換プロセスによって得られる例示的なXMLファイルが以下に示される。
上記の例では、メトリクスファイルは、標準アプリケーション生成XMLファイルのものと同様のフォーマットを有し得るが、評価されている文書に関係するいくつかの追加情報も含み得る。標準アプリケーション生成XMLファイルと同様に、メトリクスファイルは、マークアップ部分を構成する文字列、文字およびオブジェクトを含み得る。例として、マークアップ部分を構成する文字列は、文字「<」で始め、「>」で終了することができる。これらの文字列は、タグと呼ばれる。これらのタグは、例えば、開始タグ、終了タグおよび空要素タグを含み得る。上記の例示的な評価器標準XMLファイルの図解では、<eval_document mse_new”zz0101010”sz_units=”mm”>が開始タグであり、</eval_document>が終了タグである。論理文書コンポーネントは、開始タグで始まり、一致する終了タグで終了するか、または、<line−break/>などの空要素タグのみからなる。
一実施形態では、ステップ160のファイル変換プロセスの間、プロセッサ120は、抽出、分類、再構成またはそうでなければステップ150で受信したファイルを評価器標準XMLファイルなどのメトリクスファイルに変換するためのソフトウェア命令をメモリ124から実行する。例として、上記の例示的なメトリクスファイルでは、テキスト行と関連付けられたパラメータは、「eval_line」タグによって示され、ページと関連付けられたパラメータは、「eval_page」タグによって示されるなど、以下同様である。上記の例示的なメトリクスファイルのパラメータについては、図3Aおよび3Bに対応して詳細に説明する。要するに、パラメータは、テキスト行、表、方程式、グラフィック、ページおよび文書などのオブジェクトの特性を表し得る。パラメータは、上記の例示的なメトリクスファイルに示される行パラメータの「x」および「y」座標などの数値パラメータを含み得る。また、パラメータは、テキスト形式、ブール形式、質的形式または他の任意の望ましい形式も含み得る。上記の例示的なメトリクスファイルは、ある特定の数のオブジェクトと関連付けられたある特定の数のパラメータを明示しているが、メトリクスファイルは、いかなる数のパラメータも、いかなる数のオブジェクトも含み得る。
メトリクスファイルに含まれるオブジェクトのタイプは、テキスト行、パラグラフ、表、方程式、グラフィック、列、ページ、文書、および/または、フレームなどの前述のオブジェクトの任意の組合せを含み得る。フレームは、同じタイプまたは異なるタイプのオブジェクトのうちの1つ以上を含み得る。例えば、フレームは、互いの近くにあるテキストまたはパラグラフのいくつかの行を含み得る。また、フレームは、いくつかの表も含み得る。メトリクスファイルは、オブジェクト、フレームまたはその2つの組合せを含み得る。
マークアップ部分に加えて、メトリクスファイルは、タグとは関連付けられないコンテンツ部分を構成する文字列、文字、オブジェクトおよびフレームも含み得る。コンテンツは、オリジナル文書のテキスト、表、方程式およびグラフィックの構成など、ステップ150の間に受信されたファイルの実質的な材料を含む。メトリクスファイルは、マークアップ部分およびコンテンツ部分のうちの1つまたはその両方を含み得る。
ステップ160のファイル変換プロセスの間、プロセッサ120は、異なる形でステップ150において受信されたファイルの構成情報を処理するための、メモリ124に格納されたソフトウェア命令を実行することができる。例として、受信されたファイルがすべての利用可能な構成情報を含む標準アプリケーション生成XMLファイルであれば、プロセッサ120は、構成情報を表、方程式、グラフィック、列、ページおよび文書などの多くのオブジェクトに抽出、ソート、コピー、分類またはそうでなければ変換し、対応するメトリクスを生成するためのソフトウェア命令を実行することができる。あるいは、ステップ150で受信されたファイルが、例えば、プレーンテキストファイル、Microsoft WordファイルまたはAdobe PDFファイルであれば、プロセッサ120は、最初に、例えば、標準XMLファイルに変換することによって、ファイルの異なるオブジェクトを識別するタグを作成し、次いで、メトリクスファイルを生成することができる。それに加えて、プロセッサ120は、ステップ150で受信されたファイルに存在し得るいかなるフォーマットエラーも訂正することもできる。いくつかの実施形態では、ステップ160のファイル変換プロセスは、プロセッサ120およびメモリ124のあるなしに関わらず、自動構成評価器110によって(インタプリタ114によってなど)実行することもできる。
一実施形態では、自動構成評価器110のリーダー112は、ファイル読み取りプロセス(ステップ170)を実行するためのソフトウェア命令を実行することができる。リーダー112は、ステップ160のファイル変換プロセスで生成されたメトリクスファイルを入手することができる。リーダー112は、自動構成評価システム100のメモリ124または他の任意の格納コンポーネントにメトリクスファイルを格納することができる。
いくつかの実施形態では、インタプリタ114は、ファイル解釈プロセス(ステップ200)を実行することができる。インタプリタ114は、ステップ160のファイル変換プロセスで生成されたメトリクスファイルを入力ファイルとして取り入れることも、メトリクスファイルとステップ150で受信されたファイルの両方を入力ファイルとして取り入れることもできる。例として、インタプリタ114は、最初に、メトリクスファイルを取り入れ、評価のため、メトリクスファイルが所望の構成情報を含むかどうかを判断することができる。すべての所望の構成情報が利用可能であれば、インタプリタ114は、メトリクスファイルの解釈を進めることができる。しかし、いくつかの所望の構成情報が欠けているとインタプリタ114が判断すれば、インタプリタ114は、欠いた情報自体の解釈を試みることも(以下で説明される)、ステップ150で受信されたファイルから欠いた情報の入手を試みることもできる。例えば、メトリクスファイルが表オブジェクトの幅情報を含まない場合、インタプリタ114は、ステップ150で受信されたファイルから直接その情報を入手することができる。しかし、インタプリタ114が必要な情報を得ることができない場合、インタプリタ114は、ステップ200の解釈プロセスを終結することも、解釈プロセスを続行するが、エラーメッセージを報告することもできる。
すべての所望の構成情報がメトリクスファイルで利用可能である、ステップ150で受信されたファイルから入手できる、または、解釈できるとインタプリタ114が判断すれば、インタプリタ114は、ファイル解釈プロセス(ステップ200)を実行することができる。ステップ200については、図3A〜3Bに対応して詳細に説明する。簡潔に、インタプリタ114は、メトリクスファイルの複数のオブジェクトと関連付けられた構成情報を入手し、1つ以上のパラメータを生成することができ、1つ以上のパラメータは、評価およびコンプライアンス判断プロセス(ステップ300)で使用することができる。例として、いくつかの所望のパラメータ(最大連続ハイフン(maxConsecutiveHyphens)または最大行間間隔(maxInterlineSpacing)など)がメトリクスファイルで欠けているとインタプリタ114が判断すれば、インタプリタ114は、メトリクスファイルから欠いた情報の計算または導出を試みることができる。メトリクスファイルが、各連続ハイフンインスタンスに対する連続ハイフンの数を含むか、または、すべての行に対する行間間隔の数を含む場合、インタプリタ114は、その数に対応する最大値を計算して、欠いたmaxConsecutiveHyphensおよびmaxInterIineSpacingを得ることができる。しかし、メトリクスファイルが前述の数情報を含まない場合、インタプリタ114は、最大値を計算する前に、ステップ150で受信されたファイルからその情報の入手を試みることができる。
いくつかの実施形態では、評価器116は、評価およびコンプライアンス判断プロセス(ステップ300)を実行することができる。ステップ300の評価およびコンプライアンス判断プロセスについては、図5A〜5Eおよび6〜8に対応して詳細に説明する。簡潔に、評価器116は、ルールエンジン122によって提供される複数の構成ルールに基づいて、ステップ200のファイル解釈プロセスによって生成されたパラメータを評価することができる。構成ルールは、例えば、ステップ150で受信されたファイルが事前に設定された規格に準拠するかどうかを判断するために使用することができる。構成ルールは、ルールエンジン122によって事前に設定し、自動構成評価システム100のメモリ124にロードすることができる。また、構成ルールは、要望通りに更新することもできる。
評価器116は、例えば、パラメータを構成ルールと比較することによって、パラメータを評価することができる。例としてパラメータmaxConsecutiveHyphensを使用すると、maxConsecutiveHyphensに対する構成ルールが4の閾値を設定すれば、4つを超える連続ハイフンの発生は、最大連続ハイフンが閾値を超えているという結果をもたらす。次いで、評価器116は、結果に基づいて結論を生成し、ステップ150で受信されたファイルが構成ルールに準拠するかどうかを判断することができる。
図3Aは、ある特定の開示される実施形態と一致する例示的なファイル解釈プロセス200のフローチャートである。ファイル解釈プロセス200およびその中の個々のステップのいずれかまたはすべては、リーダー112、インタプリタ114、評価器116およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図3Aは、インタプリタ114によって実行されるものとして開示される。
自動構成評価システム100は、インタプリタ114を介して、テキストオブジェクトの1つ以上のパラメータを決定する(プロセス200)ためのソフトウェア命令を実行することができる。テキストオブジェクトの1つ以上のパラメータは、時折、テキストパラメータとも呼ばれる。テキストオブジェクトは、文字、文字列、行、パラグラフ、セクション、列などのテキストを含み得る。また、自動構成評価システム100は、例えば、テキストの行またはパラグラフをテキストオブジェクトに分割または分離することもできる。したがって、テキストの行またはパラグラフは、1つ以上のテキストオブジェクトに対応し得る。いくつかの実施形態では、自動構成評価システム100は、入力文書のすべてのテキストまたは入力文書のテキストの任意の部分(ページのパラグラフまたは列中のテキストなど)を含むテキストオブジェクトの1つ以上のパラメータを決定することができる。
自動構成評価システム100は、インタプリタ114を介して、テキストオブジェクトのテキスト行の座標を決定することができる(ステップ202)。座標は、二次元のx、y座標であり得る。一態様では、座標情報は、メトリクスファイルからまたはステップ150で受信された入力ファイルから決定することができる。また、自動構成評価システム100は、テキストオブジェクトのテキスト行の行送り幅(leading)情報も決定することができる(ステップ202)。行送り幅情報は、テキストの連続行のベースライン間の距離を含み得る。例えば、Microsoft Word(商標)フォーマットでは、行送り幅は、行間隔または行間間隔(すなわち、テキスト行間の垂直の行間隔)である。また、行送り幅は、フォントサイズも含み得る。例えば、2ポイントの行間間隔を有する10ポイントのテキストは、12ポイントの行送り幅に相当し得る。行送り幅情報は、メトリクスファイルからまたは入力ファイルから決定することもできる。
自動構成評価システム100は、インタプリタ114を介して、テキストオブジェクトの見出しを特定することができる(ステップ204)。見出しのフォーマット要件は、本文行のものとは異なり得る。例えば、見出しは、より大きなフォントサイズ、より広い行送り幅の許容範囲などを有し得る。したがって、見出しに対して異なるフォーマット要件を課すことができ、テキスト行の他の部分とは異なる形で見出しを評価することができる。いくつかの実施形態では、ステップ204において、異なるレベルの見出しを特定することができる。例えば、文書は、全文書、列、セクションおよびパラグラフのトピックを要約する、複数のレベルの見出しを有する場合がある。複数のレベルの見出しの各々は、他のレベルとは異なるフォーマットを必要とし得る。自動構成評価システム100は、インタプリタ114を介して、例えば、メトリクスファイルのタグを使用することによって、異なるレベルの見出しを特定することができる。また、インタプリタ114は、テキスト行の座標、文書のテキスト行位置、テキスト行間隔および文書の他の一部との関係を解釈することによってなど、他の任意の手段で、見出しを特定することもできる。
自動構成評価システム100は、インタプリタ114を介して、コールアウトの位置を決定することができる(ステップ206)。コールアウトは、線、矢印または同様のグラフィックによってオブジェクトの特徴(図解またはグラフィックなど)とつながっているテキストの文字列を含み得、その特徴についての情報を提供することができる。また、コールアウトは、テキストの文字列と関連付けられた(しかし、必ずしもテキストの文字列とつながっているわけではない)オブジェクトを指すテキストの文字列も含み得る。コールアウトがつながっているまたはコールアウトが指すオブジェクトは、表、方程式、グラフィック(図式、チャート、図面、画像など)(「非テキストオブジェクト」と呼ばれる)および他の任意の所望のオブジェクトを含む。非テキストオブジェクトは、それを包み込むテキストがあってもなくともよく、対応するコールアウトからある程度離れていてもよいオブジェクトである。非テキストオブジェクトは、テキストの下方、テキストの上方またはテキストの同じ層内に置くことができる。また、非テキストオブジェクトは、1つ以上のコールアウトとつなげることができる。例えば、Microsoft Word(商標)フォーマットのコールアウトは、文書の異なる位置を指し得る小さな「尾」のあるなしに関わらない特別なテキストボックスであり得る。また、非テキストオブジェクトは、対応するコールアウトのうちの1つ以上を指し得る(しかし、必ずしも対応するコールアウトのうちの1つ以上とつながっているわけではない)。例えば、コールアウトは、単に、「図x」などの文字列を含み得、図xは、文書のどこかに置かれるグラフィックオブジェクトである。自動構成評価システム100は、例えば、非テキストオブジェクトを関連コールアウトの前に置くかどうかを含めて、コールアウトの位置を決定することができる。また、自動構成評価システム100は、コールアウトが非テキストオブジェクトと正しく関連付けられているかどうか、および、非テキストオブジェクトと関連付けられていないコールアウト(すなわち、オーファンコールアウト)が存在するかどうかを判断することもできる。
自動構成評価システム100は、インタプリタ114を介して、テキストオブジェクト、非テキストオブジェクトおよびメトリクスファイルの他の任意のオブジェクトを含むオブジェクトの位置を決定することができる(ステップ208)。中でも特に、自動構成評価システム100は、メジャーおよびマイナーオブジェクト、浮動および固定オブジェクトの位置、ならびに、オブジェクトもしくは配列されたオブジェクトの位置および/または順番を決定することができる。メジャーおよびマイナーオブジェクトは、オブジェクトのサイズを指し得る。例えば、ページ幅を有するオブジェクトは、メジャーオブジェクトと呼ぶことができ、列幅を有するオブジェクトは、マイナーオブジェクトと呼ぶことができる。メジャーオブジェクトおよびマイナーオブジェクトは、固定オブジェクトでも浮動オブジェクトでもあり得る。固定オブジェクトは、改ページの間、他のいくつかのオブジェクトに対するその位置が同じ状態のままであるように、位置が固定される。例えば、グラフィックオブジェクトは、グラフィックオブジェクトとテキストオブジェクトが常に一緒に現れるように、テキストオブジェクトに固定することができる。他方では、浮動オブジェクトは、その位置を変化することができる。
自動構成評価システム100が非テキストオブジェクトの位置を決定する際、自動構成評価システム100は、その関連コールアウトまでの非テキストオブジェクトの距離を決定することもできる(コールアウトの位置は、ステップ206で決定される)。例えば、浮動オブジェクトなどの非テキストオブジェクトは、そのコールアウトから数テキスト行または時折数ページも離れたところに置くことができる。したがって、自動構成評価システム100は、コールアウトと対応する浮動オブジェクトとの間の行またはページの数を決定することができる。一態様では、いくつかのオブジェクトは、ある特定の順番で置くことができる。例えば、「図2」と呼ばれるグラフィックオブジェクトは、オブジェクト「図1」の後に置かなくともよい。自動構成評価システム100は、例えば、「図1」と「図2」との間の行またはページの数、ならびに、「図1」および「図2」オブジェクトの相対位置を決定することができる。
自動構成評価システム100は、インタプリタ114を介して、見出しおよび脚注の位置を決定することもできる(ステップは図示せず)。見出しの位置を決定する際、自動構成評価システム100は、特定した見出し(例えば、ステップ204から)の後の行の数を計算することができる。また、自動構成評価システム100は、異なるレベルの見出しが分けられたかどうかについての表示を入手することができる。その上、自動構成評価システム100は、列の終わり近くに置かれた見出しが見出しの後に最低限必要な数のテキスト行を有するかどうかを判断することもできる。また、自動構成評価システム100は、他の任意のタイプの所望の位置を含む、上記で説明されないオブジェクトの位置を決定することもできる。
自動構成評価システム100は、インタプリタ114を介して、XPathコンテンツを決定することができる(ステップ210)。評価可能XMLファイルなどのメトリクスファイルは、XPathコンテンツを含み得る。XPath(すなわち、XMLパス言語)は、XML文書からノードを選択するため、および、XML文書のコンテンツから値(例えば、文字列、数またはブール値)を演算するための照会言語である。XPath式は、コンテキストノードに対して評価することができる。例として、XPathは、ロケーションパスと呼ばれる式タイプを含み得る。ロケーションパスは、一連のロケーションステップからなり、各ロケーションステップは、3つのコンポーネント(すなわち、軸、ノードテスト、および、ゼロまたは複数の述語)を有し得る。軸は、「子」または「子孫」などの指定子を有し、指定子は、コンテキストノードからナビゲートする方向を指定する。次いで、ノードテストおよび述語は、どのノードがナビゲートされるかをさらに定義する。例えば、ノードテスト「A」は、ナビゲートされるすべてのノードがラベル「A」を有さなければならないことを必要とする。述語は、選択されたノードがある特性を有することをさらに必要とする。メトリクスファイルがXPathコンテンツを含む場合、自動構成評価システム100は、XPath式に従って評価プロセスを実行することができる。すなわち、評価器は、事前に定義されたシーケンスに従って評価を実行する。
いくつかの実施形態では、自動構成評価システム100は、メトリクスファイルのタグに基づいて評価プロセスを実行することができる。例えば、例示的なメトリクスファイルに示されるように、メトリクスファイルは、「<eval_line…/>」などのタグを含めることによってテキストオブジェクトを示すことができ、したがって、自動構成評価システム100は、テキストオブジェクトとしてオブジェクトを特定し、テキストオブジェクトの1つ以上のパラメータを決定し、1つ以上のパラメータをテキストオブジェクトの関連構成ルールと比較することによって評価プロセスを実行することができる。
自動構成評価システム100は、インタプリタ114を介して、システムハイフネーション情報を決定することができる(ステップ212)。例として、システムハイフネーションは、1つの単語を2つの連続行に分割するハイフンを含み得る。いくつかの実施形態では、システムハイフネーションは、1つの単語内に無作為に追加したり置いたりすることはできず、ハイフネーションルールに従って置かなければならない。いくつかの実施形態では、例えば、システムハイフネーションは、許容できない音節に置くことはできず、都市名などの中にはハイフネーションがない。ステップ212では、自動構成評価システム100は、例えば、テキストオブジェクトの行がハイフンを含むかどうかを判断し、ハイフンと関連付けられた関連情報(連続ハイフンの数、ハイフンの分割位置、ハイフンを含むテキストなど)を入手することができる。
また、自動構成評価システム100は、インタプリタ114を介して、行端揃え情報を決定することもできる(ステップ214)。行端揃えは、列中のテキストもしくは画像の文字揃え設定、または、列の左右のマージンに沿って位置合わせする処置である。例として、列が左右両方のマージンに沿って位置合わせされる場合、「行端が揃った」と呼ばれる。行端が揃ったテキストでは、テキストを左右両方のマージンと位置合わせするため、単語間の間隔は、引き伸ばされるかまたは時折縮められる。自動構成評価システム100は、例えば、すべてのテキスト行の行端が揃ったかどうか、行端揃えの不具合(すなわち、行端が揃っていない行)があるかどうか、および、行端揃えが事前に定義された規格に従うものかどうかを判断することができる。行端揃え情報を決定するため、自動構成評価システム100は、例えば、ステップ202で決定された座標および行送り幅情報を使用することができる。
当業者であれば、ステップ202〜214に対応して説明されるファイル解釈プロセス200は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、インタプリタ114を介して、ステップ202〜214で説明されないかまたはステップ202〜214に含まれない情報を決定または解釈することができる。例えば、自動構成評価システム100は、空白情報、ラベルタグ情報、行の最後の文字の情報、下付きおよび上付き文字情報、ならびに、テキストオブジェクトに関連する他の任意の情報を決定することもできる。また、自動構成評価システム100は、ステップ202〜214に含まれるいくつかの(ただし、すべてではない)ステップを実行することもできる。その上、自動構成評価システム100は、図3Aに示される順番に関わらず、ファイル解釈プロセス200を実行することもできる。
図3Bは、ある特定の開示される実施形態と一致する別の例示的なファイル解釈プロセス240のフローチャートである。ファイル解釈プロセス240およびその中の個々のステップのいずれかまたはすべては、リーダー112、インタプリタ114、評価器116およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図3Bは、インタプリタ114によって実行されるものとして開示される。
自動構成評価システム100は、インタプリタ114を介して、表オブジェクトの1つ以上のパラメータを決定する(プロセス240)ためのソフトウェア命令を実行することができる。表オブジェクトは、行と列に配列されたデータを含み得る。例えば、スプレッドシートは表である。表は、行および列のテキストを含み得る。
自動構成評価システム100は、インタプリタ114を介して、表オブジェクトのガターの全幅を決定することができる(ステップ242)。表ガターは、表の2つの隣接するセル、行または列間の間隔である。自動構成評価システム100は、例えば、メトリクスファイルのマークアップタグを通じて、表のガターのいくつかまたはすべてを特定することができる。表ガターが特定された後、自動構成評価システム100は、表ガターの総数を数え、また、表ガターの全幅(または他の所望の寸法)を返すことができる。さらに、自動構成評価システム100は、全ガター幅を表の幅と比較し、例えば、表幅に対するガター幅の比率を決定することができる。
自動構成評価システム100は、インタプリタ114を介して、表の列のいずれかがコンテンツを有さないかどうかを判断することができる(ステップは図示せず)。すなわち、自動構成評価システム100は、空の表列を検索することができる。例えば、表の特定の列が空であることが分かった場合、自動構成評価システム100は、その列は不要であるため、取り除くことを提案することができる。
自動構成評価システム100は、インタプリタ114を介して、表オブジェクトの列データ幅またはデータの任意のパラメータを決定することができる(ステップ244)。列データ幅は、表の列に含まれるデータ幅である。例えば、自動構成評価システム100は、ある特定の列のデータ幅が対応する列幅より長いまたは短いと判断することができる。そして、その結果に応じて、データがその対応する列に望ましく適合するように、列幅もしくはデータ幅またはその両方を調整する必要がある場合がある。
自動構成評価システム100は、インタプリタ114を介して、表オブジェクトを置く再試行回数を決定することができる(ステップ246)。いくつかの実施形態では、メトリクスファイルは、表オブジェクトのレイアウトを数回試みていることを示す情報を含み得る。このことは、例えば、表オブジェクトがページ幅を超える幅を有するため、その対応するコールアウトの近くに表オブジェクトを置く必要があるがスペースが不足しているため、または、表オブジェクトを最初に正しくレイアウトすることを阻止する他の任意の理由のために起こり得る。表オブジェクトが最初に正しくレイアウトされていないときは、表オブジェクトを正しくレイアウトするいくつかの後続の試みがあり得る。自動構成評価システム100は、起こったレイアウトの再試行回数を決定することができる。その上、自動構成評価システム100は、方程式オブジェクトおよびグラフィックオブジェクトなどの他の非テキストオブジェクトの各々に対する再試行回数を決定することもできる。
自動構成評価システム100は、インタプリタ114を介して、表オブジェクトの行と列の数を決定し(ステップ248)、表オブジェクトおよび/または表オブジェクトの列の座標情報(x、y座標など)および寸法情報を決定することができる(ステップ250)。例えば、自動構成評価システム100は、表オブジェクトの行および列の総数、表オブジェクトの各行および列の幅および高さ、ならびに、各表オブジェクトの位置を決定することができる。
自動構成評価システム100は、インタプリタ114を介して、表オブジェクトの各セルのテキスト行の数を決定することができる(ステップ252)。また、自動構成評価システム100は、表オブジェクトの空白数を決定することもできる(ステップは図示せず)。また、自動構成評価システム100は、フォント、行端揃え、行送り幅、見出し、ハイフネーション、行分割、字揃えなどのセルのテキスト行のレイアウトを決定することもできる(ステップは図示せず)。
当業者であれば、自動構成評価システム100は、インタプリタ114を介して、図3Aおよび3Bに対応して説明されるもの以外のパラメータを決定できることが理解されよう。自動構成評価システム100は、いかなる順番でも、テキストオブジェクト、表オブジェクト、グラフィックオブジェクト、方程式オブジェクト、列、ページおよび文書全体に関連するパラメータを決定することもできる。例として、自動構成評価システム100は、文字間の間隔、単語間の間隔、テキストブロック間の行送り幅の変動、行の終わり(ただし、パラグラフの終わりではない)の空白、および、物理的ハイフンまたは任意のハイフンで終わる連続行の数を含むテキストオブジェクトのパラメータを決定することもできる。また、自動構成評価システム100は、ラベルタグがラベル付けされたアイテムから分割されているかどうか、ある特殊文字が行の最初のまたは最後の文字として現れているかどうか、システムハイフンがある特殊文字の後に続くかどうかなどを判断することもできる。ここで説明されるテキストオブジェクトは、例えば、プレーンテキスト、後付テキストおよびメタデータを含み得る。プレーンテキストオブジェクトは、入力文書の本文を含み得る。後付テキストオブジェクトは、結論、付属書、用語集、索引などを含み得る。メタデータは、基礎データ(本文または他のオブジェクトなど)についての情報を提供する。例えば、メタデータは、データが作成された手段、データの目的、データ作成の時間および日付、データの著者などを含み得る。
別の例として、自動構成評価システム100は、様々なメジャー、マイナー、固定または浮動オブジェクトの配置を決定することもできる。例えば、自動構成評価システム100は、メジャーオブジェクトが他の同様のオブジェクトと順を追って配置されているかどうか、付属書のオブジェクトコールアウトが付属書の後に配置されているかどうかなどを判断することができる。
別の例として、自動構成評価システム100は、表の向き(回転されたかどうかなど)、方程式が表に現れているかどうか、表が積み重なることなく次の列またはページに折り返しているかどうかなどを含む表オブジェクトのパラメータを決定することもできる。その上、自動構成評価システム100は、方程式の寸法、方程式が複数の行を有するかどうか、方程式がオーバーフローを起こしているかどうかなどを含む方程式オブジェクトのパラメータを決定することもできる。
その上、いくつかの実施形態では、自動構成評価システム100は、ある特定のタイプのタグが存在するかどうかを含むタグのパラメータを決定することもできる。例えば、自動構成評価システム100は、オーバーラインタグ、等幅タグ、プロダクトタグ、マルチセクション表、引用などがあるかどうかを判断することができる。
その上、いくつかの実施形態では、自動構成評価システム100は、オブジェクト間の関係を判断することもできる。例えば、自動構成評価システム100は、ある特定のテキストオブジェクト、表オブジェクト、方程式オブジェクトまたはグラフィックオブジェクトが単一の列またはページの中に位置し得る、あるいは、複数の列またはページにわたって位置し得ると判断することができる。それに加えて、自動構成評価システム100は、表オブジェクトをコールアウト、別の表オブジェクト、関連する方程式オブジェクトまたは関連するグラフィックオブジェクトの近くに置く必要があると判断することもできる。
当業者であれば、ステップ242〜252に対応して説明されるファイル解釈プロセス240は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、インタプリタ114を介して、ステップ242〜252で説明されないかまたはステップ242〜252に含まれない情報を決定または解釈することができ、それらのいくつかは上記で論じられる。自動構成評価システム100は、ステップ242〜252に含まれるいくつかの(ただし、すべてではない)ステップを実行することもできる。その上、自動構成評価システム100は、図3Bに示される順番に関わらず、ファイル解釈プロセス240を実行することもできる。
図4は、ある特定の開示される実施形態と一致する例示的な評価およびコンプライアンス判断プロセス300のフローチャートである。評価およびコンプライアンス判断プロセス300ならびにその中の個々のステップのいずれかまたはすべては、リーダー112、インタプリタ114、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図4は、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、テキストオブジェクト評価プロセス(ステップ400)、コールアウト評価プロセス(ステップ410)、表オブジェクト評価プロセス(ステップ420)、方程式オブジェクト評価プロセス(ステップ440)および列評価プロセス(ステップ460)を実行するためのソフトウェア命令を実行することができる。ステップ400、410、420、440および460は、図5A〜5Eに対応して詳細に説明される。簡潔に、自動構成評価システム100は、複数の対応する構成ルールに基づいて1つ以上の結果を得るために評価プロセス400、410、420、440および460を実行することができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、ページ評価プロセス(ステップ500)および文書評価プロセス(ステップ600)を実行するためのソフトウェア命令を実行することもできる。ステップ500および600は、図6〜7に対応して詳細に説明される。簡潔に、自動構成評価システム100は、複数の対応する構成ルールに基づいて1つ以上の結果を得るために評価プロセス500および600を実行することができる。
当業者であれば、評価プロセス400、410、420、440、460、500および600は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価プロセスを実行することができる。例えば、自動構成評価システム100は、メトリクスファイルに含まれる他の任意のオブジェクトの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、ステップ400、410、420、440、460、500および600のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図4に示される順番に関わらず、ステップ400、410、420、440、460、500および600を実行することもできる。例えば、自動構成評価システム100は、テキストオブジェクト評価プロセス400を実行する前に、ステップ420の表オブジェクト評価プロセスを実行することができる。
その上、ステップ500のページ評価プロセスおよびステップ600の文書評価プロセスを実行する前に、ステップ400、410、420、440および460のうちの1つ以上を実行する必要はない。例として、自動構成評価システム100は、ある特定のページのすべてのテキストおよび非テキストオブジェクトを評価し、次いで、そのページのテキストおよび非テキストオブジェクトの評価結果を考慮することによって、そのページの評価プロセスを実行することができる。また、自動構成評価システム100は、そのページのテキストおよび非テキストオブジェクトを評価することなく、ページを最初に評価することもできる。別の例として、自動構成評価システム100は、入力文書全体のすべてのテキストおよび非テキストオブジェクトを評価し、次いで、入力文書のページの各々に対してページ評価プロセスを実行することができる。言い換えれば、図4に示されるプロセス300のすべてのステップは、所望されるいかなる順番でも実行することができる。
図5Aは、ある特定の開示される実施形態と一致する例示的なテキストオブジェクト評価プロセス400のフローチャートである。テキストオブジェクト評価プロセス400およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図5Aは、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、テキストオブジェクトの連続ハイフンの数が第1のテキスト閾値条件を満たすかどうかを判断するなど、連続ハイフンを評価する(ステップ402)ためのソフトウェア命令を実行することができる。例えば、自動構成評価システム100は、評価されているパラグラフまたはテキストブロックなどのテキストオブジェクトに4つを超える連続ハイフンがある場合、結果を生成、記録および/または格納することができる(ステップ409)と判断することができる。結果は、評価プロセスの結果を示すいかなる数値またはテキストデータでもあり得る。例えば、結果は、「失敗」、「警告」および「情報提供のみ」などのテキスト文字列であり得る。したがって、4つ未満の連続ハイフンがあると自動構成評価システム100が判断した場合、自動構成評価システム100は、「情報提供のみ」として結果を生成および記録することができる。しかし、4つを超える連続ハイフンがあると自動構成評価システム100が判断した場合、自動構成評価システム100は、「警告」として結果を生成および記録することができる。結果は、評価結果を示すスコアまたはポイントなどの数値でもあり得る。例えば、4つ未満の連続ハイフンがあると自動構成評価システム100が判断した場合、自動構成評価システム100は、初期のスコア(100ポイントなど)からポイントを差し引かないか、または、少数のポイント(合計100ポイントのうちの20ポイントなど)を差し引き、メモリ124などの記憶装置にスコアを格納することができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、テキストオブジェクトの文字間間隔が第2のテキスト閾値条件を満たすかどうかを判断するなど、文字間間隔を評価する(ステップ404)ためのソフトウェア命令を実行することができる。例として、自動構成評価システム100は、文字間間隔が、構成ルールで定義される最大許容値(2.1mmなど)より大きいかどうか、または、構成ルールで定義される最小許容値(0mmなど)より小さいかどうかを判断し、対応する結果を生成、記録および/または格納することができる(ステップ409)。文字間間隔が構成ルールに準拠すると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、テキストオブジェクトの単語間間隔が第3のテキスト閾値条件を満たすかどうかを判断するなど、単語間間隔を評価する(ステップ406)ためのソフトウェア命令を実行することができる。例として、自動構成評価システム100は、単語間間隔が、構成ルールで定義される最大許容値(4mmなど)より大きい、または、構成ルールで定義される最小許容値(0.5mmなど)より小さいと判断した場合、自動構成評価システム100は、それ相応に結果を生成、記録および/または格納することができる(ステップ409)。単語間間隔が構成ルールに準拠すると評価器が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、テキストオブジェクトの行間間隔が第4のテキスト閾値条件を満たすかどうかを判断するなど、行間間隔を評価する(ステップ408)ためのソフトウェア命令を実行することができる。例として、自動構成評価システム100は、行間間隔が、構成ルールで定義される最大許容値(10mmなど)より大きい、または、構成ルールで定義される最小許容値(0mmなど)より小さいと判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ409)。行間間隔が構成ルールに準拠すると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス400の終了に進むこともできる。
上記の例は、テキスト閾値条件の各々が単一の値であることを示すが、構成ルールで定義されるテキスト閾値条件は、複数の数値を有することもあり得る。例として、行が本文行であるかまたは見出しであるかに応じて、行間間隔に対するテキスト閾値条件は、複数の値を有し得る。例えば、レベル1の見出しと本文行との間の間隔に対する行間間隔閾値は、最大10mmおよび最小5mmを有し得、本文行と本文行との間の間隔に対する行間間隔閾値は、最大5.3mmおよび最小0mmを有し得る。それに加えて、評価ステップは、評価されている同じオブジェクトの複数の態様における結果など、複数の結果を生成することもできる。
当業者であれば、テキストオブジェクト評価プロセス400のステップ402、404、406および408は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。例えば、自動構成評価システム100は、メトリクスファイルに含まれる他の任意のパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、テキストオブジェクト評価プロセス400のステップ402、404、406および408のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図4Aに示される順番に関わらず、テキストオブジェクト評価プロセス400のステップ402、404、406および408を実行することもできる。例えば、自動構成評価システム100は、ステップ402を実行する前に、ステップ408を実行することができる。
図5Bは、ある特定の開示される実施形態と一致する例示的なコールアウト評価プロセス410のフローチャートである。コールアウト評価プロセス410およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図5Bは、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、1つ以上のオブジェクト(表オブジェクト、方程式オブジェクトおよびグラフィックオブジェクトなど)の寸法(長さなど)が第1のコールアウト閾値条件を満たすかどうかを判断するなど、オブジェクトの寸法を評価する(ステップ412)ためのソフトウェア命令を実行することができる。例えば、オブジェクトの長さがオブジェクトを含むページの長さより大きい場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ419)。オブジェクトの長さがページの長さ以下であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。1つ以上のオブジェクトは、1つ以上のコールアウトと関連付けることができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、1つ以上のオブジェクト(表オブジェクト、方程式オブジェクトおよびグラフィックオブジェクトなど)を置くことができないかどうかを判断するなど、「グラフィックを置くことに失敗」エラーを評価する(ステップ414)ためのソフトウェア命令を実行することができる。例えば、自動構成評価システム100は、「グラフィックを置くことに失敗」エラーコードが存在するかどうかを判断することができる。図3Bに示されるステップ246で論じられるように、いくつかの実施形態では、メトリクスファイルは、オブジェクト(表オブジェクト、方程式オブジェクトおよびグラフィックオブジェクトなど)のレイアウトを数回試みていることを示す情報を含み得る。このことは、例えば、オブジェクトがページの幅/長さを超える幅/長さを有するため、その対応するコールアウトの近くにオブジェクトを置く必要があるがスペースが不足しているため、配置メカニズムが入力文書によって言及された必要なグラフィックオブジェクトをロードできないため、方程式オブジェクトが分割されているかまたは正しく生成されなかったため、IDによって言及された要素が見つからないために配置メカニズムがバックオーダーアイテムを生成できないため、オブジェクトを置く前に入力文書の終わりに達したため、または、オブジェクトを最初に正しく置くことを阻止する他の任意の理由のために起こり得る。
オブジェクトが最初に正しく置かれていないときは、オブジェクトを正しくレイアウトするいくつかの後続の再試行があり得る。自動構成評価システム100は、起こった再試行回数を決定することができる。事前に定義された再試行回数だけオブジェクトを置くことを試みたが、依然として置くことができないときは、「グラフィックを置くことに失敗」コードを生成し、メトリクスファイルに含めることができる。したがって、自動構成評価システム100は、「グラフィックを置くことに失敗」エラーコードが存在するかどうかを判断することができる。そのようなエラーコードが存在する場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ419)。そのようなエラーコードまたは他の任意のエラーコードは存在しないと自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、コールアウトとその関連オブジェクトとの間の距離が1つ以上のコールアウト閾値条件を満たすかどうかを判断するなど、コールアウト距離ページの数を評価する(ステップ416)ためのソフトウェア命令を実行することができる。上記で論じられるように、オブジェクトは、そのコールアウトから数テキスト行または数ページも離れたところに位置し得る。行またはページの数が第2のコールアウト閾値条件より多いと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ419)。同様に、行またはページの数が第3のコールアウト閾値条件より少ないと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ419)。コールアウトとその関連オブジェクトとの間の距離が構成ルールで定義される許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス410の終了に進むこともできる。
当業者であれば、コールアウト評価プロセス410のステップ412、414、416および418は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意のパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、コールアウト評価プロセス410のステップ412、414および416のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図5Bに示される順番に関わらず、コールアウト評価プロセス410のステップ412、414および416を実行することもできる。例えば、自動構成評価システム100は、ステップ412を実行する前に、ステップ416を実行することができる。
図5Cは、ある特定の開示される実施形態と一致する例示的な表評価プロセス420のフローチャートである。表評価プロセス420およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図5Cは、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、表オブジェクトの寸法(表幅など)が第1の表閾値条件を満たすかどうかを判断するなど、表幅を評価する(ステップ422)ためのソフトウェア命令を実行することができる。例えば、表オブジェクトの幅が表オブジェクトを含むページの幅より大きい場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ429)。表オブジェクトの幅がページの幅以下であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、表オブジェクトが積み重なっているかどうかを判断するなど、表の積み重なり(table banking)を評価する(ステップ424)ためのソフトウェア命令を実行することができる。表オブジェクトは、時折、列よりも多くの行を含むことがあり、その逆も同様である。例えば、表オブジェクトは、10行であるが、2列である場合がある。したがって、表オブジェクトの形状またはレイアウトは、その垂直寸法が長く、その水平寸法が短いものであり得る。長い表オブジェクトは、望ましくなく、文書に正しく置くこともできない場合がある。したがって、表オブジェクトは、例えば、行のいくつかを分離し、分離した行を分離しなかった行の横に置くことによって、積み重ねることができる。例として、10行および2列を有する表オブジェクトは、5行および4列を有するように積み重ねることができる。したがって、積み重ねた表は、文書に正しく置くことができる。したがって、自動構成評価システム100は、表が積み重なっているかどうかを判断することができる。例えば、表が積み重なっておらず、正しくまたは望ましく置かれていない場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ429)。また、自動構成評価システム100は、正しく置くために表を積み重ねることを試みることもできる。表オブジェクトが積み重なっており、および/または、正しくもしくは望ましく置かれていると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、列データ幅が第2の表閾値条件および/または第3の表閾値条件を満たすかどうかを判断するなど、列データ幅を評価する(ステップ426)ためのソフトウェア命令を実行することができる。上記で論じられるように、列データ幅は、表オブジェクトの列に含まれるデータ幅である。例えば、自動構成評価システム100は、ある特定の列のデータ幅が対応する列幅より長いまたは短いと判断することができる。そして、その結果に応じて、列データがその対応する列に望ましく適合するように、列および列データの幅の一方またはその両方を調整する必要がある場合がある。その上、列データは、表オブジェクトの複数の列に及ぶ場合がある。しかし、列データ幅は、表全体の幅または表を含むページの幅ほど大きくない場合がある。したがって、列データ幅が第2の表閾値条件(表全体の幅など)より大きい、および/または、第3の表閾値条件(ページの幅など)より大きいと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ429)。列データ幅が構成ルールで定義される許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス420の終了に進むこともできる。
当業者であれば、表評価プロセス420のステップ422、424および426は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意のパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、表評価プロセス420のステップ422、422および426のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図5Cに示される順番に関わらず、表評価プロセス420のステップ422、422および426を実行することもできる。例えば、自動構成評価システム100は、ステップ422を実行する前に、ステップ424を実行することができる。
図5Dは、ある特定の開示される実施形態と一致する例示的な方程式評価プロセス440のフローチャートである。方程式評価プロセス440およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図5Dは、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、方程式オブジェクトの寸法(方程式幅など)が第1の方程式閾値条件を満たすかどうかを判断するなど、方程式の寸法を評価する(ステップ442)ためのソフトウェア命令を実行することができる。例えば、方程式オブジェクトの幅が方程式オブジェクトを含むページの幅より大きい場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ449)。方程式オブジェクトの幅がページの幅以下であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、行分割時の文字が第2の方程式閾値条件を満たすかどうかを判断するなど、分割時の文字を評価する(ステップ444)ためのソフトウェア命令を実行することができる。行分割は、行を次の行に分割する。方程式オブジェクトは、複数の行を含み得るため、あるポイントで分割する必要がある場合がある。しかし、方程式オブジェクトの分割ポイントは、どこにでも置けるわけではない。例えば、分割ポイントは、配列の中央またはルートもしくはスクリプトに置くことはできない。したがって、方程式オブジェクトの分割ポイントにおける文字が不適切な行分割を構成していると自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ449)。そうでなければ、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス440の終了に進むこともできる。
当業者であれば、方程式評価プロセス440のステップ442および444は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意のパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、方程式評価プロセス440のステップ442および444のいくつか(ただし、両方ではない)を実行することもできる。その上、自動構成評価システム100は、図5Dに示される順番に関わらず、方程式評価プロセス440のステップ442および444を実行することもできる。例えば、自動構成評価システム100は、ステップ442を実行する前に、ステップ444を実行することができる。
図5Eは、ある特定の開示される実施形態と一致する例示的なグラフィック評価プロセス450のフローチャートである。グラフィック評価プロセス450およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図5Eは、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、グラフィックオブジェクトの寸法(グラフィック幅など)が第1のグラフィック閾値条件を満たすかどうかを判断するなど、グラフィックの寸法を評価する(ステップ452)ためのソフトウェア命令を実行することができる。例えば、グラフィックオブジェクトの幅がグラフィックオブジェクトを含むページの幅より大きい場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ445)。グラフィックオブジェクトの幅がページの幅以下であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、チャート、画像、曲線などのグラフィックオブジェクトが回転されているかどうか、回転方向および回転度を判断するなど、グラフィックの回転を評価する(ステップ454)ためのソフトウェア命令を実行することができる。グラフィックオブジェクトは、回転して置くことができるが、グラフィックオブジェクトの向きに影響を及ぼし得る。したがって、グラフィックオブジェクトが回転されていると自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ459)。そうでなければ、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス450の終了に進むこともできる。
当業者であれば、グラフィック評価プロセス450のステップ452および454は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意のパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、方程式評価プロセス450のステップ452および454のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図5Eに示される順番に関わらず、グラフィック評価プロセス450のステップ452および454を実行することもできる。例えば、自動構成評価システム100は、ステップ452を実行する前に、ステップ454を実行することができる。
図5Fは、ある特定の開示される実施形態と一致する例示的な列評価プロセス460のフローチャートである。文書では、列は、テキストオブジェクトのために確保された垂直領域であり得る。例えば、科学記事は、1ページを2つの垂直領域または列に分離することができる。しかし、列は、表、方程式およびグラフィックオブジェクトなどの他のオブジェクトも含み得る。列評価プロセス460およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図5Fは、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、空白ブロックが第1の列閾値条件を満たすかどうかを判断するなど、空白ブロックを評価する(ステップ464)ためのソフトウェア命令を実行することができる。空白は、表示画面またはプリンタ上に空欄として現れるすべての文字を指し得る。空白は、空白文字、タブ文字、および時折、視覚形態を有さない他の特殊文字(例えば、ベル文字およびヌル文字)を含み得る。例えば、列オブジェクトの終わりの空白ブロックが構成ルールで定義される第1の列閾値条件(22ポイントなど)より大きいと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ479)。空白ブロックが第1の列閾値条件以下であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、列の終了位置が第2の列閾値条件および第3の列閾値条件を満たすかどうかを判断するなど、終了位置を評価する(ステップ466)ためのソフトウェア命令を実行することができる。列の終了位置は、1ページまたは複数のページ上の列がバランスの取れたものであるように、ある範囲内である必要があり得る。最後のページの列は、他のページのようにバランスの取れたものである必要はない。列オブジェクトの終了位置が第2の列閾値条件より大きいか、または、第3の列閾値条件より小さいと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ479)。列オブジェクトの終了位置が構成ルールで定義される許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス460の終了に進むこともできる。
当業者であれば、列評価プロセス460のステップ464および466は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意のパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、表評価プロセス460のステップ464および466のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図5Fに示される順番に関わらず、列評価プロセス460のステップ464および466を実行することもできる。例えば、自動構成評価システム100は、ステップ464を実行する前に、ステップ466を実行することができる。
図6は、ある特定の開示される実施形態と一致する例示的なページ評価プロセス500のフローチャートである。ページ評価プロセス500およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図6は、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、ページのテキストオブジェクトの行間間隔の差が第1および第2のページ閾値条件を満たすかどうかを判断するなど、行間間隔の差を評価する(ステップ504)ためのソフトウェア命令を実行することができる。図5Aに対応して上記で論じられるように、自動構成評価システム100は、ある特定のテキストオブジェクト内の行間間隔が対応する閾値条件を満たすかどうかを判断する。ステップ504では、自動構成評価システム100は、テキストオブジェクト間の行間間隔の差が第1のページ閾値条件を満たすかどうかを判断することができる。第1のページ閾値条件は、例えば、単一の最小もしくは最大値、最小値と最大値の両方、または、ある範囲の値であり得る。第1のページ閾値条件は、構成ルールで定義される。差が許容範囲外である場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ509)。差が許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、列終了位置の差が第2のページ閾値条件を満たすかどうかを判断するなど、列終了位置の差を評価する(ステップ506)ためのソフトウェア命令を実行することができる。第2のページ閾値条件は、例えば、単一の最小もしくは最大値、最小値と最大値の両方、または、ある範囲の値であり得る。図5Fに対応して上記で論じられるように、自動構成評価システム100は、ある特定の列オブジェクトの終了位置が対応する閾値条件を満たすかどうかを判断する。しかし、異なる列の終了位置は、バランスの取れたものである必要もある。したがって、列終了位置の差が第2の閾値条件を満たす(最小値より大きいまたは最大値より小さいなど)と自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ509)。差が構成ルールで定義される許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、フレームが重複しているかどうかを判断するなど、重複フレームを評価する(ステップ508)ためのソフトウェア命令を実行することができる。フレームは、文書の1ページまたは数ページのパーティションである。上記で論じられるように、フレームは、同じタイプまたは異なるタイプのオブジェクトのうちの1つ以上を含み得る。例えば、フレームは、互いの近くにあるテキストまたはパラグラフのいくつかの行を含み得る。また、フレームは、いくつかの表も含み得る。したがって、自動構成評価システム100は、フレームが互いに重複しているかどうかを判断することができる。例えば、第1のフレームが第2のフレームにも含まれるオブジェクトを含む場合、自動構成評価システム100は、第1のフレームと第2のフレームの重複があると判断し、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ509)。フレームの重複はないと自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス500の終了に進むこともできる。
当業者であれば、ページ評価プロセス500のステップ504、506および508は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。行間間隔の差、列終了位置の差および重複フレームなどのパラメータは、ページパラメータとも呼ばれる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意のページパラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、ページ評価プロセス500のステップ504、506および508のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図6に示される順番に関わらず、ページ評価プロセス500のステップ504、506および508を実行することもできる。例えば、自動構成評価システム100は、ステップ504を実行する前に、ステップ506を実行することができる。
図7は、ある特定の開示される実施形態と一致する例示的な文書評価プロセス600のフローチャートである。文書評価プロセス600およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図7は、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、複数の構成ルールに基づいてパラメータを評価する際に少なくとも1つのエラーが発生したかどうかを判断するなど、エラー発生を評価する(ステップ604)ためのソフトウェア命令を実行することができる。図5A〜5Fおよび6に対応して上記で論じられるように、自動構成評価システム100は、テキスト評価プロセス400、コールアウト評価プロセス410、表評価プロセス420、方程式評価プロセス440、グラフィック評価プロセス450、列評価プロセス460およびページ評価プロセス500などの評価プロセスのうちの1つ以上を実行することができる。ステップ604では、自動構成評価システム100は、これらの評価プロセスの間にエラーまたは例外が発生したかどうかを判断することができる。自動構成評価システム100は、図5A〜5Fおよび6に対応して説明されるそれぞれの評価プロセスを実行する間にいくつかのエラーおよび例外を判断することができる。しかし、他のいくつかのエラーおよび例外は、それらのプロセスの間に判断、捕捉またはそうでなければ検出されない場合がある。したがって、これらのエラーは、ステップ604で判断することができる。そのようなエラーまたは例外が発生したと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ609)。そのようなエラーまたは例外が発生しなかったと自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、他のオブジェクトの領域(少なくとも1つの表オブジェクト、少なくとも1つの方程式オブジェクトおよび少なくとも1つのグラフィックオブジェクトのうちの1つ以上など)に対するテキスト領域(少なくとも1つのテキストオブジェクトを含む)の領域比が第1および第2の文書閾値条件を満たすかどうかを判断するなど、浮動領域に対するテキスト領域の比率を評価する(ステップ606)ためのソフトウェア命令を実行することができる。例えば、自動構成評価システム100は、単一のページ、複数のページまたは文書全体に対して、すべてのテキストオブジェクトの領域の合計およびすべての非テキストオブジェクトの領域の合計を計算することができる。領域比が第1のファイル閾値条件(1など)より小さい、または、第2のファイル閾値条件より大きいと自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ609)。領域比が構成ルールで定義される許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進むことができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、最後のページ上の列終了位置が第3のファイル閾値条件を満たすかどうかを判断するなど、最後のページ上の列終了位置を評価する(ステップ608)ためのソフトウェア命令を実行することができる。上記で論じられるように、最後のページ上のコンテンツが全ページを占めていない場合があるため、最後のページ上の列終了位置は、他のページとは異なり得る。例えば、最後のページは、ページの垂直長さの半分を占める1つの列のみを有し得る。最後のページ上のすべての列終了位置の最大が第3のファイル閾値条件以下であると自動構成評価システム100が判断した場合、自動構成評価システム100は、対応する結果を生成、記録および/または格納することができる(ステップ609)。最後のページ上のすべての列終了位置の最大が許容範囲内であると自動構成評価システム100が判断した場合、自動構成評価システム100は、次のステップに進み、構成ルールに基づいてメトリクスファイルに含まれる他のパラメータを評価することも、プロセス600の終了に進むこともできる。
当業者であれば、文書評価プロセス600のステップ604、606および608は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。エラー発生の数、領域比および文書の最後のページ上の列終了位置は、時折、文書パラメータとも呼ばれる。例えば、自動構成評価システム100は、図3Aおよび3Bに対応して説明されるものなど、メトリクスファイルに含まれる他の任意の文書パラメータの評価プロセスを実行することもできる。それに加えて、自動構成評価システム100は、ページ評価プロセス600のステップ604、606および608のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図7に示される順番に関わらず、ページ評価プロセス660のステップ604、606および608を実行することもできる。例えば、自動構成評価システム100は、ステップ604を実行する前に、ステップ606を実行することができる。
図8は、ある特定の開示される実施形態と一致する例示的なコンプライアンス判断プロセス700のフローチャートである。コンプライアンス判断プロセス700およびその中の個々のステップのいずれかまたはすべては、評価器116、ルールエンジン122およびプロセッサ120を含む、自動構成評価システム100のいかなるコンポーネントによっても実行することができる。例示目的のため、図8は、評価器116およびルールエンジン122によって実行されるものとして開示される。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、テキストオブジェクト、表オブジェクト、方程式オブジェクト、グラフィックオブジェクト、列、ページおよび文書全体の少なくとも1つなどのオブジェクトのうちの1つ以上に対応する少なくとも1つの結果を調査する(得るなど)(ステップ720)ためのソフトウェア命令を実行することができる。図5A〜5F、6および7に対応して上記で論じられるように、自動構成評価システム100は、1つ以上の評価プロセスを実行し、これらのプロセスに関連する1つ以上の結果を得ることができる。ステップ720では、自動構成評価システム100は、コンプライアンスを判断するためにこれらの結果のいくつかを選択的に得ることができる。上記で論じられるように、結果のいくつかは、許容できない結果を示す「失敗」状態を含み得る。したがって、ステップ720で得られた特定の結果が「失敗」状態を示す場合、自動構成評価システム100は、文書は構成ルールに準拠しないと判断することができ、したがって、コンプライアンスを判断するために他の結果を得る必要はない。しかし、いくつかの実施形態では、得られた結果が「失敗」状態以外の状態(「情報提供用」状態など)を示す場合、自動構成評価システム100は、依然として、他の結果を得ることができる。いくつかの実施形態では、自動構成評価システム100は、結果のいずれかが「失敗」状態を示すかどうかに関わらず、すべての結果を得ることができる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、結果の優先データを決定する(ステップ740)ため、および、優先データに基づいて、評価されている文書が構成ルールに準拠するかどうかを判断する(ステップ760)ためのソフトウェア命令を実行することができる。例として、特定の結果または結果の組合せに対する優先データは、結果が「決定的」または「非決定的」であることを示し得る。決定的な結果は、特定の結果またはいくつかの結果の組合せが、自動構成評価システム100がコンプライアンスの決定論的な結論を出すのに十分であることを示し得る。例として、自動構成評価システム100は、すべてが「失敗」状態(または、「警告」もしくは「情報提供のみ」などの他の任意の状態)を示す3つの結果を得たことが考えられる。自動構成評価システム100は、3つの結果の各々に対する優先は個別に「非決定的」であると判断することができる。しかし、自動構成評価システム100は、3つの結果の組合せはその優先を「決定的」なものにすると判断することができる。
いくつかの実施形態では、優先データは、2つ(上記で説明される「決定的」および「非決定的」状態など)を超えるタイプを示し得る。代わりに、優先データは、いかなる所望の数のタイプ(「決定的」、「早期の」、「中期の」および「非決定的」など)も示し得る。その上、ルールエンジン122は、結果の決定性が任意の所望の形であるように、構成ルールを定義することができる。例えば、ルールエンジン122は、評価プロセスが「失敗」状態の2つの結果と「警告」状態の1つの結果をもたらす場合、優先は決定的であることを定義することができる。当業者であれば、いかなるタイプの優先データも示すために結果のいかなる組合せも可能であることが理解されよう。
優先データに基づいて、自動構成評価システム100は、文書が構成ルールに準拠するかどうかを判断することができる(ステップ760)。例えば、優先データが1つ以上の決定的な優先データを含む場合、自動構成評価システム100は、文書が構成ルールに準拠していないと判断することができる。いくつかの実施形態では、文書が準拠していないと自動構成評価システム100が判断した場合、自動構成評価システム100は、ステップ780に進み、そのようなノンコンプライアンスを示す結論を含むレポートを生成することができる。
しかし、いくつかの実施形態では、文書が準拠していないと自動構成評価システム100が判断した場合でも、自動構成評価システム100は、ルールエンジン122を介して、構成ルールを調整し、図5A〜5E、6および7に対応して説明されるものなどの二度目の評価プロセスを実行することができる。例として、自動構成評価システム100は、ノンコンプライアンスは、決定的ではあるが、単に関連構成ルールの小さな違反に起因する可能性があると判断することができる。したがって、自動構成評価システム100は、ルールがより許容可能なものであるように、構成ルールのいくつかを更新する(緩和するなど)ことができる。次いで、自動構成評価システム100は、前述の評価プロセスのいずれかまたはすべてを再起動して、文書が更新された構成ルールに準拠するかどうかを判断することができる。その上、構成ルールは、例えば、新たに開発された規格を反映するために時々更新することもできる。したがって、構成ルールの新しいセットが利用可能な場合に、自動構成評価システム100は、評価プロセスのいずれかまたはすべてを再起動することもできる。
自動構成評価システム100は、評価器116およびルールエンジン122を介して、コンプライアンスの結論を生成する(ステップ780)ためのソフトウェア命令を実行することができる。上記で論じられるように、ステップ760では、自動構成評価システム100は、入力文書が構成ルールに準拠するかどうかを判断することができる。いくつかの実施形態では、自動構成評価システム100は、評価されている文書が準拠するかどうかをユーザに示すため、レポート、メッセージまたは画面表示などの結論も生成する。結論を生成することに加えて、いくつかの実施形態では、自動構成評価システム100は、文書を構成ルールに準拠するものにするため、結果に従って、評価されている文書の編集、変更または調整も行うことができる。
当業者であれば、コンプライアンス判断プロセス700のステップ720、740、760および780は、単なる例示を目的とし、排他的なものでも制限するものでもないことが理解されよう。自動構成評価システム100は、他の任意の所望の評価ステップを実行することができる。それに加えて、自動構成評価システム100は、ページ評価プロセス700のステップ720、740、760および780のいくつか(ただし、すべてではない)を実行することもできる。その上、自動構成評価システム100は、図8に示される順番に関わらず、ページ評価プロセス700のステップ720、740、760および780を実行することもできる。
他の特徴および機能性は、本明細書を考慮することや、開示される実施形態の実践から、当業者に明らかになるであろう。例えば、図2〜8のプロセスは、上記で説明される順番に限定されない。除去および/または他のプロセスステップの追加など、これらの順番の変形例は、開示される実施形態の精神および範囲から逸脱することなく実装することができる。
開示される実施形態の特徴、他の態様および原理は、様々な環境で実装することができる。そのような環境および関連アプリケーションは、開示される実施形態の様々なプロセスおよび動作を実行するために具体的に構築することも、必要な機能性を提供するためにプログラムコードによって選択的に起動または構成された汎用コンピュータまたはコンピューティングプラットホームを含むこともできる。本明細書に開示されるプロセスは、ハードウェア、ソフトウェアおよび/またはファームウェアの適切な組合せによって実装することができる。例えば、開示される実施形態は、開示される実施形態と一致するプロセスの実行を専門にするソフトウェアプログラムを実行するように構成することができる汎用マシンを実装することができる。あるいは、開示される実施形態は、開示される実施形態と一致するプロセスを実行するソフトウェアプログラムを実行するように構成された専門の装置またはシステムを実装することができる。
また、開示される実施形態は、1つ以上のプロセッサによって実行されると、1つ以上のコンピュータ実装動作を実行するプログラム命令またはプログラムコードを含む、有形の非一時的なコンピュータ可読媒体にも関連する。プログラム命令またはプログラムコードは、特別に設計および構築された命令またはコード、ならびに/あるいは、コンピュータソフトウェア分野の当業者によってよく知られ、同当業者が利用可能な命令およびコードを含み得る。例えば、開示される実施形態は、例えば、マシンコード(例えば、コンパイラによって生成されたものなど)および/またはインタプリタを使用してプロセッサによって実行することができる高レベルのコードなどの高レベルおよび/または低レベルのソフトウェア命令を実行することができる。
それに加えて、開示される実施形態は、異なるタイプのプロセスおよび動作に適用することができる。複雑なタスクを引き受けるいかなる実体も、タスクの計画、分析、監視および完了を行う開示される実施形態に関連するある特定の原理と一致するシステム、方法および製造品を使用することができる。それに加えて、記事評価または出版の任意の段階と関連付けられたいかなる実体もまた、ある特定の開示される実施形態と一致するシステム、方法および製造品を使用することができる。
その上、開示される実施形態の態様は、メモリおよび他の有形のコンピュータ可読記憶媒体に格納されたデータと関連付けられるものとして説明されているが、当業者であれば、これらの態様は、ハードディスク、フロッピー(登録商標)ディスク、CD−ROM、または、他の形式のRAMもしくはROMのような二次記憶装置などの多くのタイプの有形のコンピュータ可読媒体上に格納したり、同コンピュータ可読媒体から実行したりすることもできることが理解されよう。それに従って、開示される実施形態は、上記で説明される実施例に限定されないが、代わりに、添付の特許請求の範囲によって、その均等物の全範囲を踏まえて、定義される。