(57)【要約】【課題】  Ｗｅｂコンテンツにおいて、ソース中にコンテンツの構成を表す論理構造情報を持たない場合でも、レイアウト情報を用いることで、コンテンツの構成を認識し、ユーザへコンテンツの構成情報を提供する。【解決手段】  Ｗｅｂコンテンツに含まれるテキストや入力領域などのパーツのレイアウト情報を用いることで、パーツ間をグルーピングし、このグループ化されたパーツをノードに格納したコンテンツの構成を表すコンテンツ構成ツリー情報を生成する。このコンテンツ構成ツリー情報を用いて、クライアントの出力環境に応じた出力ファイルを生成する。【選択図】  図１
2008071212.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ解析装置によるコンテンツ解析方法であって、
パーツ情報取得部は、コンテンツファイルを解析し、該コンテンツファイルのテキスト情報をその位置情報と対応付けたテキストリスト情報を格納し、入力領域情報をその位置情報と対応付けた入力領域リスト情報を格納し、
グルーピング部は、前記入力領域リスト情報から、それぞれの前記入力領域情報の間の位置関係が所定の条件を満たす場合に、前記条件を満たす前記入力領域情報をグループとして抽出し、
ツリー情報生成部は、前記抽出したグループに基づき、前記入力領域情報をノードに格納したツリー構造のコンテンツ構成ツリー情報を生成し、
ラベル付与部は、前記コンテンツ構成ツリー情報の各ノードの前記入力領域情報に対応するテキスト情報を前記テキストリスト情報から取得し、前記各ノードのラベルとして前記コンテンツ構成ツリー情報に格納し、
ソース生成部は、前記コンテンツ構成ツリー情報から出力ファイルを生成する
ことを特徴とするコンテンツ解析方法。
【請求項２】
請求項１に記載のコンテンツ解析方法であって、
前記所定の条件は、それぞれの前記入力領域情報の間の距離が所定の値以下であることを特徴とするコンテンツ解析方法。
【請求項３】
請求項１又は２に記載のコンテンツ解析方法であって、
前記各ノードの前記入力領域情報に対応するテキスト情報は、前記入力領域情報との間の位置関係が所定の条件を満たすテキスト情報であることを特徴とするコンテンツ解析方法。
【請求項４】
請求項３に記載のコンテンツ解析方法であって、
前記所定の条件は、前記テキスト情報と前記入力領域情報との間の距離が所定の値以下であることを特徴とするコンテンツ解析方法。
【請求項５】
請求項１乃至４のいずれか１項に記載のコンテンツ解析方法であって、
前記コンテンツ構成ツリー情報は、前記グループをブランチとし、該グループに属する複数の前記入力領域情報をリーフとするツリー構造のコンテンツ構成ツリー情報であることを特徴とするコンテンツ解析方法。
【請求項６】
請求項１乃至５のいずれか１項に記載のコンテンツ解析方法であって、
前記出力ファイルの生成は、前記コンテンツ構成ツリー情報の各ブランチ毎に下位ノードの前記入力領域情報を表示することを特徴とするコンテンツ解析方法。
【請求項７】
請求項１乃至６のいずれか１項に記載のコンテンツ解析方法であって、
前記コンテンツファイルの生成は、前記コンテンツ構成ツリー情報の各リーフ毎に、前記入力領域情報が１行ずつ表示されるコンテンツファイルを生成することを特徴とするコンテンツ解析方法。
【請求項８】
請求項７に記載のコンテンツ解析方法であって、
１行ずつ表示される前記入力領域情報は、前記リーフの前記ラベルと対応付けて表示されることを特徴とするコンテンツ解析方法。
【請求項９】
コンテンツ解析装置であって、
コンテンツファイルを解析し、該コンテンツファイルのテキスト情報をその位置情報と対応付けたテキストリスト情報を格納し、入力領域情報をその位置情報と対応付けた入力領域リスト情報を格納するパーツ情報取得部と、
前記入力領域リスト情報から、それぞれの前記入力領域情報の間の位置関係が所定の条件を満たす場合に、前記条件を満たす前記入力領域情報をグループとして抽出するグルーピング部と、
前記抽出したグループに基づき、前記入力領域情報をノードに格納したツリー構造のコンテンツ構成ツリー情報を生成するツリー情報生成部と、
前記コンテンツ構成ツリー情報の各ノードの前記入力領域情報に対応するテキスト情報を前記テキストリスト情報から取得し、前記各ノードのラベルとして前記コンテンツ構成ツリー情報に格納するラベル付与部と、
前記コンテンツ構成ツリー情報から出力ファイルを生成するソース生成部と、
を有することを特徴とするコンテンツ解析装置。
【請求項１０】
請求項９に記載のコンテンツ解析装置であって、
前記所定の条件は、それぞれの前記入力領域情報の間の距離が所定の値以下であることを特徴とするコンテンツ解析装置。
【請求項１１】
請求項９又は１０に記載のコンテンツ解析装置であって、
前記各ノードの前記入力領域情報に対応するテキスト情報は、前記入力領域情報との間の位置関係が所定の条件を満たすテキスト情報であることを特徴とするコンテンツ解析装置。
【請求項１２】
請求項１１に記載のコンテンツ解析装置であって、
前記所定の条件は、前記テキスト情報と前記入力領域情報との間の距離が所定の値以下であることを特徴とするコンテンツ解析装置。
【請求項１３】
請求項９乃至１２のいずれか１項に記載のコンテンツ解析装置であって、
前記コンテンツ構成ツリー情報は、前記グループをブランチとし、該グループに属する複数の前記入力領域情報をリーフとするツリー構造のコンテンツ構成ツリー情報であることを特徴とするコンテンツ解析装置。
【請求項１４】
請求項９乃至１３のいずれか１項に記載のコンテンツ解析装置であって、
前記出力ファイルの生成は、前記コンテンツ構成ツリー情報の各ブランチ毎に下位ノードの前記入力領域情報を表示することを特徴とするコンテンツ解析装置。
【請求項１５】
請求項９乃至１４のいずれか１項に記載のコンテンツ解析装置であって、
前記コンテンツファイルの生成は、前記コンテンツ構成ツリー情報の各リーフ毎に、前記入力領域情報が１行ずつ表示されるコンテンツファイルを生成することを特徴とするコンテンツ解析装置。
【請求項１６】
請求項１５に記載のコンテンツ解析装置であって、
１行ずつ表示される前記入力領域情報は、前記リーフの前記ラベルと対応付けて表示されることを特徴とするコンテンツ解析装置。
【請求項１７】
コンテンツファイルを解析し、該コンテンツファイルのテキスト情報をその位置情報と対応付けたテキストリスト情報を格納し、入力領域情報をその位置情報と対応付けた入力領域リスト情報を格納し、
前記入力領域リスト情報から、それぞれの前記入力領域情報の間の位置関係が所定の条件を満たす場合に、前記条件を満たす前記入力領域情報をグループとして抽出し、
前記抽出したグループに基づき、前記入力領域情報をノードに格納したツリー構造のコンテンツ構成ツリー情報を生成し、
前記コンテンツ構成ツリー情報の各ノードの前記入力領域情報に対応するテキスト情報を前記テキストリスト情報から取得し、前記各ノードのラベルとして前記コンテンツ構成ツリー情報に格納し、
前記コンテンツ構成ツリー情報から出力ファイルを生成する
処理をコンテンツ解析装置に実現させるためのコンテンツ解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、効率よく情報を参照できるコンテンツ提供方法に関する。
【背景技術】
【０００２】
近年、Ｗｅｂシステムにおいては、情報端末機器やＷｅｂコンテンツの多様化、またブロードバンドの普及に伴い、あらゆるＷｅｂコンテンツに対して、あらゆる情報端末機器からアクセスされるようになった。これに伴い、一般的なパソコンの画面で利用するＷｅｂコンテンツを、携帯電話のような小さな画面の端末で利用しようとすると、Ｗｅｂコンテンツの内容が参照しにくいため、小さな画面でも参照しやすいように、Ｗｅｂコンテンツを携帯電話用に変換するといった技術が開発されている。また、近年のＷｅｂシステムにおいては、どのような利用者に対しても利用しやすいこと(以下、アクセシビリティと呼ぶ)が強く求められている。これに伴い、Ｗｅｂシステムにおいて、全盲のユーザが健常のユーザと同じようにサービスを利用できるように、Ｗｅｂコンテンツの内容を読み上げる音声ブラウザ技術が開発されている。
【０００３】
例えば、画面の小さな端末や音声ブラウザを用いたＷｅｂコンテンツの表示において、必要な情報に迅速にアクセスするために、サイト内の各ページで共通に使用されているテンプレート情報を削除することでＷｅｂコンテンツの簡略化を行なうもの（特許文献１）。
【０００４】
例えば、ネットワークを通じて取得したウェブページを、低解像度の表示環境での閲覧に適したウェブページに再構築して表示させるもの（特許文献２）。
【０００５】
【特許文献１】特開２００２−５５８７２公報
【特許文献２】特開２００４−３５５１５７公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１のテンプレート情報を削除するだけでは、必要な情報がそもそも多い場合に、必要な情報に迅速にアクセスできず、課題を根本的に解決しているとは言えない。また、単純な情報の削除だけでは、画面の小さな端末で利用するユーザや全盲のユーザに対しては、コンテンツの全体像を容易に把握できず、ストレスを感じさせてしまう恐れもある。
【０００７】
そこで、本発明では情報量が多いＷｅｂコンテンツを画面の小さな端末で参照する場合においても、Ｗｅｂコンテンツの全体像をユーザが容易に把握できるような情報を提供できることを第１の課題とする。また、全盲のユーザに対しても、Ｗｅｂコンテンツの全体像をユーザが容易に把握できるような情報を提供できることを第２の課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、Ｗｅｂコンテンツの全体像をユーザが容易に把握できるＷｅｂコンテンツ提供方法として、Ｗｅｂコンテンツ中に含まれるパーツの位置情報などのレイアウト情報を用いてパーツ間をグループ化するグルーピングステップと、各グループおよびパーツに対してラベルを付与するラベル付与ステップと、それらグルーピングステップとラベル付与ステップの結果からコンテンツの構成を表すツリー（以下、コンテンツ構成ツリーと呼ぶ）を生成するコンテンツ構成ツリー生成ステップを有し、生成されたコンテンツ構成ツリーを解析することで、ユーザがコンテンツの全体像を容易に把握できるようなソースを再生成するソース生成ステップを有する。
【発明の効果】
【０００９】
コンテンツファイルからコンテンツの構成を表すコンテンツ構成ツリーを生成し、生成したコンテンツ構成ツリーを用いることで、Ｗｅｂコンテンツの変換が可能になる。
【発明を実施するための最良の形態】
【００１０】
以下に実施例の説明をする。
【実施例１】
【００１１】
本実施例では、Ｗｅｂコンテンツとして、ＨＴＭＬ形式の入力フォーム（以下、コンテンツとよぶ）を例に説明する。なお、ここでいうＷｅｂコンテンツとは、ＨＴＭＬコンテンツ、独自形式のＷｅｂコンテンツ、あるいは文書作成アプリケーションで作成された電子化文書など、画像や動画を除くテキストを主体としたデジタルコンテンツとする。
【００１２】
図１は、本発明を適用したＷｅｂコンテンツ提供システムの第一の実施例における全体構成図の例である。ＣＰＵ１００、磁気ディスク装置１０１、主メモリ１０２、フロッピー（登録商標）ディスクドライブ（以下、ＦＤＤ１０３と呼ぶ）、これらを結ぶバス１０４および他の機器と本システムを接続するネットワーク１０５から構成される。
【００１３】
磁気ディスク装置１０１は二次記憶装置の一つであり、コンテンツのソースを含むコンテンツファイル１５０が格納される。ＦＤＤ１０３を介してフロッピー（登録商標）ディスク１０６に格納されている情報が、磁気ディスク装置１０１あるいは主メモリ１０２へ読み込まれる。
主メモリ１０２には、システム制御プログラム１１０、クライアント情報取得プログラム１２０、コンテンツ取得プログラム１２１、パーツ情報取得プログラム１２２、コンテンツ構成ツリー生成プログラム１２３、グルーピングプログラム１３０、ラベル付与プログラム１３１、ソース生成プログラム１２４、コンテンツ送信プログラム１２５およびワークエリア１４０が確保される。
【００１４】
システム制御プログラム１１０は、エンドユーザによるクライアント端末装置１０７からのコンテンツファイル１５０へのアクセスに応じて起動され、それぞれ、クライアント情報取得プログラム１２０、コンテンツ取得プログラム１２１、パーツ情報取得プログラム１２２、コンテンツ構成ツリー生成プログラム１２３、ソース生成プログラム１２４およびコンテンツ送信プログラム１２５の制御を行なう。
【００１５】
コンテンツ構成ツリー生成プログラム１２３は、グルーピングプログラム１３０およびラベル付与プログラム１３１の制御を行なう。
【００１６】
本実施例では、これらのプログラムを主メモリ１０２に格納するものとしたが、磁気ディスク装置１０１、フロッピー（登録商標）ディスク１０６、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納し、駆動装置を介して主メモリ１０２に読み込み、ＣＰＵ１００によって実行することも可能である。さらに、これらのプログラムをネットワーク１０５を介して主メモリ１０２に読みこみ、ＣＰＵ１００によって実行することも可能である。
【００１７】
また、これらのプログラムは各処理を行う処理部として集積回路化するなどして、システム制御部、クライアント情報取得部、コンテンツ取得部、パーツ情報取得部、コンテンツ構成ツリー生成部、グルーピング部、ラベル付与部、ソース生成部、コンテンツ配信部、としてハードウェアで実現することもできる。
【００１８】
また、本実施例ではコンテンツファイル１５０は磁気ディスク装置１０１に格納されるものとしたが、フロッピー（登録商標）ディスク１０６、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納されるものとしてもよいし、あるいはネットワーク１０５を介して、他のシステムに接続された記憶装置（図１には示していない）に格納されるものとしてもよい。また、さらにはネットワーク１０５に直接接続された記憶媒体（図１には示していない）に格納されるものとしても構わない。
【００１９】
以下に、本実施例におけるＷｅｂコンテンツ提供システムの処理手順の概要を説明する。まず、各プログラム１１０〜１３１の処理手順について説明する。
【００２０】
なお、処理手順の各処理については本来、ＣＰＵがプログラムに従って実行する。しかし、ここでは説明を簡単にするために、以降、ＣＰＵの処理に関してはプログラムを実行主体として処理手順を説明する。なお、上記のようにハードウェアで実装した場合には、各ハードウェアの処理部が各処理を実行する。
【００２１】
システム制御プログラム１１０は、クライアント端末装置１０７からネットワーク１０５を介してコンテンツファイル１５０へのアクセスを検知したら、まずクライアント情報取得プログラム１２０を起動し、クライアント端末装置１０７から送信される送信元のクライアント情報を取得する。
【００２２】
次に、パーツ情報取得プログラム１２２を起動し、コンテンツ取得プログラム１２１によって取得されたコンテンツファイル１５０のソース中に含まれるテキストや、テキストボックスやラジオボタン等（以下、まとめて入力領域と呼ぶ）と、それらのパーツの位置情報やサイズ（テキストの場合はフォントサイズ、入力領域の場合は領域サイズ）を取得する。
【００２３】
次に、コンテンツ構成ツリー生成プログラム１２３を起動し、パーツ情報取得プログラム１２２によって抽出された情報を用いて、パーツ間のグルーピング、およびパーツやグループに対するラベルを付与することで、コンテンツ構成ツリー１６０を生成する。
【００２４】
次に、ソース生成プログラム１２４を起動し、クライアント情報取得プログラム１２０によって取得されたクライアント情報、コンテンツ取得プログラム１２１で取得されたコンテンツファイル１５０およびコンテンツ構成ツリー生成プログラム１２３によって生成されたコンテンツ構成情報を用いて、コンテンツの全体像が容易に把握可能なソースを再生成する。
【００２５】
最後に、コンテンツ送信プログラム１２５を起動し、ソース生成プログラム１２４によって生成されたソースを新たなコンテンツファイルとして、ネットワーク１０５を介してクライアント端末装置１０７へ配信する。
【００２６】
クライアント情報取得プログラム１２０は、クライアント端末装置１０７から送信される送信元の端末装置種別、ネットワーク種別、ユーザが希望する表示形態種別、およびコンテンツのＵＲＬ（以下、まとめてクライアント情報と呼ぶ）を取得し、その取得結果をワークエリア１４０に格納する。
【００２７】
なお、ここでいう端末装置種別の例としては、高性能パソコン、低性能パソコンおよび小型情報端末、携帯電話、ＰＤＡ等がある。また、ネットワーク種別の例としては、ＬＡＮ、光ファイバ、ＡＤＳＬ、ＩＳＤＮおよびアナログ電話回線等がある。また、ユーザが希望する表示形態種別（以下、表示形態種別と呼ぶ）の例としては、ドリルダウン操作可能な表示形態、グループ毎にダウンロードして参照可能な表示形態、およびシリアライズされたシンプルな表示形態等がある。また、ファイル形式の例としては、ＨＴＭＬ形式や独自形式等がある。
【００２８】
コンテンツ取得プログラム１２１は、前記クライアント情報取得プログラム１２０によって取得されたクライアント情報からコンテンツのＵＲＬを抽出し、そのＵＲＬに該当するコンテンツを磁気ディスク装置１０１からコンテンツファイル１５０を取得し、その取得結果をワークエリア１４０に格納する。
【００２９】
パーツ情報取得プログラム１２２は、まず、コンテンツ取得プログラム１２１によって取得されたコンテンツファイルの中から、システムであらかじめ決められたテキストや入力領域（以下、パーツと呼ぶ）を抽出する。その取得結果を、テキストについてはテキストリスト情報１６２、入力領域については入力領域リスト情報１６３として、ワークエリア１４０に格納する。ここでいうテキストとは、ＨＴＭＬソースの場合、画面上に表示されないタグなどではなく、実際に画面上で表示されるテキストのことをいう。また、入力領域とは、ＨＴＭＬソースの場合、ＩＮＰＵＴタグ、ＳＥＬＥＣＴタグおよびＴＥＸＴＡＲＥＡタグで表現されたものなど、ユーザからの指定を受け付けるものをいう。
【００３０】
なお、テキストリスト情報１６２や入力領域リスト情報１６３はワークエリア１４０に格納されるが、磁気ディスク装置１０１に格納されてもよい。コンテンツファイルの中のどのようなものをテキストとして抽出するかを示す情報や、コンテンツファイルの中のどのようなものを入力領域として抽出するかを示す情報は、主メモリ１０２または磁気ディスク装置１０１に格納されている。
【００３１】
次に、前記で抽出されたパーツの位置情報(基準点)やサイズ情報をコンテンツファイルの中から抽出し、テキストの位置情報やフォントサイズ情報はテキストリスト情報１６２、入力領域の位置情報や領域サイズ情報は入力領域リスト情報１６３をそれぞれワークエリア１４０に格納する。
【００３２】
なお、テキストリスト情報１６２は、テーブル構造でテキスト番号７００、テキスト情報７１０、位置情報７２０およびフォントサイズ７３０を列に持ち、各情報をそれぞれ格納する（格納例を図７に示す）。また、入力領域リスト情報１６３は、テーブル構造で入力領域番号８００、入力領域情報８１０、位置情報８２０および領域サイズ８３０を列に持ち、各情報をそれぞれ格納する（格納例を図８に示す）。
【００３３】
コンテンツ構成ツリー生成プログラム１２３は、まず、グルーピングプログラム１３０を起動し、パーツ情報取得プログラム１２２によって抽出された入力領域リスト情報１６３を用いて、コンテンツファイル１５０に含まれる入力領域のグルーピングを行ない、そのグルーピング結果をワークエリア１４０に格納する。
【００３４】
次に、コンテンツ構成ツリー生成プログラム１２３はラベル付与プログラム１３１を起動し、グルーピングプログラム１３０によって生成されたグルーピング結果に対して、テキストリスト情報１６２や入力領域リスト情報１６３に格納されている位置情報を用いて、各入力領域の名前やグルーピングによって生成されたグループの名前(以下、まとめてラベルと呼ぶ)を付与することで、最終的なコンテンツ構成ツリー１６０を生成し、その生成結果をワークエリア１４０に格納する。
【００３５】
なお、コンテンツ構成ツリー１６０は、各ノードに属性情報として、ノード番号、ラベル、基準点および親ノード番号を持ち、各情報をそれぞれ格納する（コンテンツ構成ツリーの概念図と各ノードの属性情報の格納例を図１１に示す）。コンテンツ構成ツリー１６０は、ワークエリアル１４０に格納されるが、磁気ディスク装置１０１に格納されてもよい。
【００３６】
図２はソース生成プログラムの処理手順を示す図の例である。
【００３７】
ソース生成プログラム１２４は、まず、主メモリ１０２または磁気ディスク装置１０１に格納された生成ルールリスト情報の中から、クライアント情報取得プログラム１２０によって取得されたクライアント情報１６１に基づいて適用する生成ルールを選択する（ステップ２００）。たとえば、クライアント情報として、情報端末種別が携帯端末、表示形態種別がドリルダウン操作可能なコンテンツおよびファイル形式がＨＴＭＬであった場合、クライアント情報とシステムであらかじめ用意された生成ルールとの対応テーブルにより、以下に示す６つの生成ルールが適用される。
【００３８】
生成ルール０：ＨＴＭＬ形式で出力。
生成ルール１：テキストと入力領域のみが表示されるように出力（テンプレート、画像、動画は削除）。
生成ルール２：入力領域の配置は、入力順に上からシリアライズして表示されるように出力。
生成ルール３：コンテンツ構成ツリーのルートのラベルを＜Ｈ１＞タグで出力、第２階層レベルのノードのラベルを＜Ｈ２＞タグで出力（最下位層のリーフを除いて第３階層以降同様）。
生成ルール４：コンテンツ構成ツリーにおける最下位層のリーフノードに関しては、ラベルを＜ＬＡＢＥＬ＞タグで出力し、その下に該リーフノードに対応する＜ＩＮＰＵＴ＞などの入力領域情報を出力する。なお、＜ＬＡＢＥＬ＞タグのｆｏｒ属性と入力領域を示す＜ＩＮＰＵＴ＞のｉｄ属性を用いて、ラベルと入力領域の関連付けを行なって出力。
生成ルール５：各グループに含まれる複数の要素は＜ＤＩＶ＞タグの中に出力。
生成ルール６：ドリルダウン操作可能なスクリプトに関する出力。
【００３９】
次に、上記で選択された生成ルールを用いて、コンテンツ１５０に対する変換後ソースを生成し、その生成結果をワークエリア１４０に格納する。
【００４０】
以下、上記で示した生成ルールによるソース生成の処理手順として、ステップ２１０〜ステップ２２７を説明する。
【００４１】
まず、生成ルール０および生成ルール６より、変換後ソースへタイトル情報やスクリプト情報などのヘッダ情報を出力する（ステップ２１０）。
【００４２】
コンテンツ構成ツリー生成プログラム１２３によって生成されたコンテンツ構成情報を用いてルートから深さ優先によって、すべてのノードを探索するまでステップ２２２〜ステップ２２７を繰り返し実行する（ステップ２２０）。
【００４３】
探索されたノードがリーフであるか否かを判定する（ステップ２２１）。
ステップ２２１の判定の結果、探索されたノードがリーフでない場合、ステップ２２２〜ステップ２２４を実行する。
【００４４】
まず、生成ルール３より、変換後ソースへ各ブランチノードのラベルを＜Ｈ１＞タグや＜Ｈ２＞タグなどの見出しタグで出力する（ステップ２２２）。
【００４５】
生成ルール６より、変換後ソースへ表示・非表示操作のボタンを出力する（ステップ２２３）。なお、ステップ２２３で出力する表示・非表示操作のボタンについては、表示・非表示制御のスクリプト自体はシステムで固定で用意されているものとし、ステップ２２３では、ボタンの出力、スクリプトの関数名の出力および関数への引数の出力のみを行なう。
【００４６】
生成ルール５より、生成するソースへラベルの下に＜ＤＩＶ＞タグを出力する（ステップ２２４）。
【００４７】
ステップ２２１の判定の結果、探索されたノードがリーフでなくブランチノードである場合、生成ルール４より、変換後ソースへ親ノードによって出力された＜ＤＩＶ＞の下に、＜ＬＡＢＥＬ＞タグでラベルを出力し、その＜ＬＡＢＥＬ＞タグに関連付けられた入力領域を出力する（ステップ２２５）。
【００４８】
現在のノードが１つ上の階層レベルのグループにおいて最後のノードかを判定する（ステップ２２６）。
【００４９】
ステップ２２６の判定の結果、現在のノードが１つ上の階層レベルのグループにおいて最後のノードである場合、生成ルール５よりより、変換後ソースへ親ノードによって出力された＜ＤＩＶ＞の閉じタグ（＜／ＤＩＶ＞）を出力し、最終的な変換後ソースとして、ワークエリア１４０に格納する。（ステップ２２７）。
【００５０】
なお、前記で説明した生成ルールは、表示形態種別がドリルダウン操作可能なフォームコンテンツである場合の生成ルールであるが、グループ毎にダウンロードして参照可能なコンテンツ用の生成ルールやその他の表示形態用の生成ルールが別に用意されていても良い。また、前記で説明した生成ルールは、ファイル形式がＨＴＭＬである場合の生成ルールであるが、その他のファイル形式用の生成ルールが別に用意されていてもよい。これにより、ユーザへの幅広い対応が可能となる。
【００５１】
コンテンツ送信プログラム１２５は、ソース生成プログラム１２４によって生成された変換後ソースを、ネットワーク１０５を介してクライアント端末装置１０７へ配信する。
【００５２】
図３は、グルーピングプログラム１３０の処理手順を示す図の例である。
【００５３】
グルーピングプログラム１３０は、まずパーツ情報取得プログラム１２２によって抽出された入力領域リスト情報１６３に含まれるＮ個の入力領域に対して、ステップ３０１〜ステップ３０２をｎ＝１〜(Ｎ−１)まで繰り返し実行する（ステップ３００）。
【００５４】
次に、あらかじめシステムで設定されたＭ個の階層レベルに対して、ステップ３０２をｍ＝２〜(Ｍ―１)まで繰り返し実行する（ステップ３０１）。なお、階層レベルｍとは、階層レベル１がコンテンツ全体を表し、ｍが大きいほど詳細な内容に関するグルーピングを行ない、最下位階層レベルでは１グループ１入力領域となる。
【００５５】
次に、階層レベルｍにおけるグルーピング条件を、階層レベルｍに関し、ｎ番目とｎ＋１番目の入力領域間が同じグループに属するか否かの判定を行ない、判定結果をワークエリア１４０に格納する。（ステップ３０２）。なお、階層レベルｍにおいて、ｎ番目とｎ＋１番目の入力領域間が同じグループと判定され、さらにｎ＋１番目とｎ＋２番目の入力領域間が同じグループと判定された場合、ｎ番目〜ｎ＋２番目の入力領域は階層レベルｍにおいて同じグループとみなす。また、ｎ番目の入力領域とは、コンテンツ中でｎ番目に入力される入力領域を表す。
【００５６】
最後に、ステップ３０２によって階層レベル別にグルーピングされた結果をツリー構造で管理するために、コンテンツ構成ツリー１６０における各ノードに属性情報として親ノード番号を格納する（ステップ３０３）。なお、コンテンツ構成ツリー１６０は、各ノードの属性情報として、ノード番号、ラベル、コンテンツ内で該当する領域の基準点（以下、基準点と呼ぶ）および親ノードのノード番号を持ち、グルーピングプログラム１３０の処理完了時点では、ラベルおよび基準点は格納されない。
【００５７】
ここで、ステップ３０２で行なわれるｎ番目とｎ＋１番目の入力領域間のグルーピング方法について詳しく説明する。
【００５８】
ｎ番目とｎ＋１番目の入力領域間のグルーピング方法については、ｎ番目とｎ＋１番目の入力領域間の位置関係によって、以下の８つのケースで判定ルール（以下、グルーピング条件と呼ぶ）を決めて判定を行なう。なお、以下の説明で出てくる基準点は、入力領域の左上を表す。また、最右端、最左端、最上端および最下端は、それぞれ入力領域の最も端の点を表す。
【００５９】
まず、ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が真右に位置する場合（以下、第１のケースと呼ぶ）、ｎ番目の入力領域の最右端とｎ＋１番目の入力領域の最左端との水平距離が、第１のケースにおける階層レベルｍでのグルーピング条件を満たすとき、ｎ番目とｎ＋１番目の入力領域は階層レベルｍで同じグループに属するとみなす。
【００６０】
ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が真下に位置する場合（以下、第２のケースと呼ぶ）、ｎ番目の入力領域の最下端とｎ＋１番目の入力領域の最上端との垂直距離が、第２のケースにおける階層レベルｍでのグルーピング条件を満たすとき、ｎ番目とｎ＋１番目の入力領域は階層レベルｍで同じグループに属するとみなす。
【００６１】
ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が右下に位置する場合（以下、第３のケースと呼ぶ）、ｎ番目の入力領域の最右端とｎ＋１番目の入力領域の最左端との水平距離が第３のケースにおける階層レベルｍでのグルーピング条件を満たし、かつｎ番目の入力領域の最下端とｎ＋１番目の入力領域の最上端との垂直距離が第３のケースにおける階層レベルｍでのグルーピング条件を満たすとき、ｎ番目とｎ＋１番目の入力領域は階層レベルｍで同じグループに属するとみなす。
【００６２】
ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が右上に位置する場合（以下、第４のケースと呼ぶ）、ｎ番目の入力領域の最右端とｎ＋１番目の入力領域の最左端との水平距離が第４のケースにおける階層レベルｍでのグルーピング条件を満たすとき、かつｎ番目の入力領域の最上端とｎ＋１番目の入力領域の最下端との垂直距離が第４のケースにおける階層レベルｍでのグルーピング条件を満たすとき、ｎ番目とｎ＋１番目の入力領域は階層レベルｍで同じグループに属するとみなす。
【００６３】
ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が左下に位置する場合（以下、第５のケースと呼ぶ）、ｎ番目の入力領域の最下端とｎ＋１番目の入力領域の最上端との垂直距離が第５のケースにおける階層レベルｍでのグルーピング条件を満たすとき、ｎ番目とｎ＋１番目の入力領域は階層レベルｍで同じグループに属するとみなす。
その他、ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が真左に位置する場合（以下、第６のケースと呼ぶ）、ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が真上に位置する場合（以下、第７のケースと呼ぶ）、ｎ番目の入力領域の基準点に対してｎ＋１番目の入力領域の基準点が左上に位置する場合（以下、第８のケースと呼ぶ）、ｎ番目とｎ＋１番目の入力領域は階層レベル１を除くすべての階層レベルにおいて同じグループに属さないとみなす。
【００６４】
図９は、グルーピング条件９３０を格納するグルーピング条件リスト情報９００の例を示す図である。グルーピング条件情報９００は、ケース番号９１０、ｎ番目の入力領域に対するｎ＋１番目の入力領域の位置関係（以下、位置関係情報９２０と呼ぶ）およびグルーピング条件９３０を列に持つテーブル構造で格納する。たとえば、第１のケースの場合、ケース番号９１０には“１”、位置関係情報９２０には“真右”、グルーピング条件９３０には“ｎ番目の最右端とｎ＋１番目の最左端との距離が１０ｍｍ以内”、といった情報を格納する。グルーピング条件は階層レベルｍ毎に設定される。
【００６５】
図９のグルーピング条件リスト情報９００は主メモリ１０２または磁気ディスク装置１０１に格納されている。
【００６６】
なお、図９で示したグループピング条件９３０は、一般的な入力フォームコンテンツに基づいて、ｎ番目とｎ＋１番目の入力領域間の相対距離に関する閾値を設定するものとしたが、コンテンツファイル１５０に対して実際にｎ番目とｎ＋１番目の入力領域間の相対距離を抽出した上で、その平均値に基づいて動的にグルーピング条件９３０中の相対距離の閾値を設定するものとしてもよい。
【００６７】
たとえば、第２のケースの場合、グルーピング条件として“ｎ番目の最下端とｎ＋１番目の最上端との垂直距離が[垂直方向に関して、隣接する入力領域間の平均間隔]以内”としてもよい。このような動的な閾値設定（条件設定）により、最適なグルーピング条件の設定が容易になることや、コンテンツ間の作成基準における開発者の個人差を吸収することができる。
【００６８】
また、ステップ３０２では、入力領域の位置情報を用いてグルーピングを行なったが、パーツ情報取得プログラム１２２によって生成されたテキストリスト情報１６２のフォントサイズ情報を用いて、ある閾値以上のフォントサイズを持つテキストの位置を階層レベルｍにおけるｎ番目とｎ＋１番目の入力領域間をグループの境界をみなすといった方法をとってもよい。
【００６９】
また、パーツ情報取得プログラム１２２によって生成されたテキストリスト情報１６２のＨ１などの文書構造情報を用いて、階層レベルｍにおけるｎ番目とｎ＋１番目の入力領域間をグループの境界をみなすといった方法をとってもよい。これらフォントサイズや文書構造情報と、位置情報を併用してグルーピング処理を行なうことで、グルーピングの精度が高くなる。
【００７０】
図４は、ラベル付与プログラム１３０の処理手順を示す図の例である。
【００７１】
ラベル付与プログラム１３０は、まず、コンテンツ構成ツリー１６０のＭ個の階層レベルに対し、ステップ４１０〜ステップ４１７をｍ＝Ｍ〜１まで繰り返す（ステップ４００）。
【００７２】
次に、階層レベルが最下位階層レベルであるかどうか（ｍ＝Ｍであるかどうか）を判定する（ステップ４１０）。
【００７３】
ステップ４１０の判定の結果、階層レベルが最下位階層レベル（ｍ＝Ｍ）である場合、コンテンツ全体に含まれるＮ個の入力領域に対し、ステップ４１２〜ステップ４１４をｎ＝１〜Ｎまで繰り返し実行する（ステップ４１１）。
【００７４】
次に、ｎ番目の入力領域の基準点を領域の左上として設定し、ワークエリア１４０に格納する（ステップ４１２）。
【００７５】
次に、ｎ番目の入力領域の基準点に対し、テキストリスト情報１６２に格納されているコンテンツ中のテキストの中から上方向と左方向（左より上優先）で最も近い距離にあるテキストを、ｎ番目の入力領域のラベルとして抽出し、そのラベルをコンテンツ構成ツリー１６０における階層レベルＭのｎ番目のノードの属性情報として、ワークエリア１４０に格納する（ステップ４１３）。
【００７６】
次に、ラベルを含めたｎ番目の入力領域の基準点を、ラベル領域の左上とし、その基準点をコンテンツ構成ツリー１６０における階層レベルＭのｎ番目のノードの属性情報として、ワークエリア１４０に格納する（ステップ４１４）。なお、ステップ４１３でラベルが抽出できなかった場合には、ステップ４１２で設定した入力領域の左上を基準点とする。
【００７７】
次に、ステップ４１０の判定の結果、階層レベルが最下位階層レベルでない場合、階層レベルｍに含まれるＮ個のグループに対し、ステップ４１５〜ステップ４１７をｎ＝１〜Ｎまで繰り返し実行する（ステップ４１５）。
【００７８】
次に、ｎ番目のグループに含まれる要素（子ノード）の中で、最も左上（左より上優先）の基準点をもつ要素の基準点をｎ番目のグループの基準点として、ワークエリア１４０に格納する（ステップ４１６）。
【００７９】
次に、前記ステップ４１６で設定されたｎ番目のグループの基準点に対し、テキストリスト情報１６２に格納されているコンテンツ中のテキストの中から上方向と左方向（左より上優先）で最も近い距離にあるテキストであって、未だラベルとして抽出されていないテキストを、ｎ番目のグループのラベルとして抽出し、そのラベルをコンテンツ構成ツリー１６０における該ノードの属性情報として、ワークエリア１４０に格納する（ステップ４１７）。
【００８０】
なお、未だラベルとして抽出されていないテキストがｎ番目のグループではないグループに属してしまう場合や、未だラベルとして抽出されていないテキストが無い場合には、ｎ番目のグループの基準点のノードのラベルを、ｎ番目のグループのラベルとする。
【００８１】
次に、ラベルを含めたｎ番目のグループの基準点を、ラベル領域の左上とし、その基準点をコンテンツ構成ツリー１６０における該ノードの属性情報として、ワークエリア１４０に格納する（ステップ４１８）。
【００８２】
なお、隣接する入力領域間が間隔なく配置されているグループについては、ｎ行×ｍ列のテーブル（表）構造とみなし、１行目の各列に付与されたラベルを、ｎ行目以降の各列にも同じラベル付与する。例えば、１行目の１列目の入力領域に付与されたラベルは、２行目の１列目の入力領域に付与されるラベルとしても使われる。
【００８３】
また、本実施例におけるグループのラベル抽出方法は、グループ（ノード）の基準点に対し、テキストリスト情報１６２に格納されているコンテンツ中のテキストの中から上方向と左方向で最も近い距離にあるテキストをラベルとして抽出するものとしたが、距離に関する閾値を抽出条件として設定してもよい。これにより、誤ったラベル付与が少なくなる。
【００８４】
また、本実施例におけるグループのラベル抽出方法は、グループ（ノード）の基準点に対し、テキストリスト情報１６２に格納されているコンテンツ中のテキストの中から上方向と左方向で最も近い距離にあるテキストをラベルとして抽出するものとしたが、グループの中に含まれる要素（子ノード）のラベルの中から代表値として抽出してもよいし、他のコンテンツによるトレーニングデータによって、トレーニングデータ中でラベル付与したいグループと類似するグループに付与されたラベルを用いてもよい。これにより、コンテンツ中にラベルに該当するテキストが存在しない場合でも、各パーツやグループにラベルを付与することができる。
【００８５】
パーツ情報取得プログラム１２２の具体的な処理例を図５〜図８を用いて説明する。
【００８６】
図５は、クライアント端末からアクセスされたＨＴＭＬコンテンツの商品注文フォームの例（以下、コンテンツ５００と呼ぶ）である。また、図６は、図５の商品注文フォームを表示するためのコンテンツファイル中のＨＴＭＬソース（以下、ＨＴＭＬソース６００と呼ぶ）の例である。
【００８７】
まず、コンテンツ取得プログラム１２１によって取得された図６に示すＨＴＭＬソース６００に対し、ＳＰＡＮタグで囲まれたテキスト、およびそれらのテキストの位置情報（以下、基準点と呼ぶ）やフォントサイズを抽出し、テキスト番号７００、テキスト情報７１０、位置情報７２０およびフォントサイズ７３０を列に持つテーブル構造でテキストリスト情報１６２へ格納する。
【００８８】
図７はテキストリスト情報１６２の例である。テキストリスト情報１６２として全部で１３個のテキストが抽出されており、図６に示すＨＴＭＬソース６００の１１行目に対し、１番目のテキストとして、テキスト情報７１０に“---PC Parts Order form---”、基準点７２０に“Ｘ：１０ｍｍ  Ｙ：１０ｍｍ”、フォントサイズ７３０に“３０ｐｔ”が出力されている。
【００８９】
次に、コンテンツ取得プログラム１２１によって取得された図６に示すＨＴＭＬソース６００に対し、ＩＮＰＵＴタグとＳＥＬＥＣＴタグの入力領域、およびそれら入力領域の基準点や領域サイズを抽出し、テーブル構造として入力領域番号８００、入力領域情報８１０、位置情報８２０および領域サイズ８３０を列に持つテーブル構造で入力領域リスト情報１６３へ格納する。
【００９０】
図８は、入力領域リスト情報１６３の例である。入力領域リスト情報１６３として全部で９個の入力領域が抽出されており、図６に示すＨＴＭＬソース６００の１６行目に対し、１番目の入力領域として、入力領域情報８１０に“＜INPUT type=”text”＞”、基準点８２０に“Ｘ：２０ｍｍ  Ｙ：４５ｍｍ”、領域サイズ８３０に“ｗｉｄｔｈ：２０ｍｍ  ｈｅｉｇｈｔ：５ｍｍ”が出力されている。
【００９１】
本実施例におけるＷｅｂコンテンツ提供システムについて、コンテンツ５００に対し、３つの階層レベルを持つコンテンツ構成ツリーを生成する場合のコンテンツ構成ツリー生成プログラム１２３の具体的な処理の流れを図６〜図９を用いて説明する。
【００９２】
グルーピングプログラム１３０は、図８に示す入力領域リスト情報１６３を読み込み、各階層レベル(２〜Ｍ−１)に対して、入力順が隣り合う入力領域間が同じグループに属するか否かを、主メモリ１０２または磁気ディスク装置１０１に格納されたグルーピング条件リスト９００に基づいて判定する。なお、グルーピング条件リスト９００は、ケース番号９１０、位置関係情報９２０およびグルーピング条件９３０をテーブル構造で持つ。
【００９３】
図９は、階層レベル２におけるグルーピング条件リスト９００の例である。図７および図８の例では、階層レベル２のグルーピング処理に関して、まず図８に示す入力領域リスト情報１６３より、１番目の入力領域に対する２番目の入力領域の位置関係は“真右”であることから、図９に示すグルーピング条件リスト９００における第１のケースを用いる。
【００９４】
そして、入力領域リスト情報１６３に示されている基準点と領域サイズの情報より、１番目の入力領域の最右端と２番目の入力領域の最左端との水平距離が５ｍｍであることから、グルーピング条件９００における第１のケースの条件である“ｎ番目の入力領域の最右端とｎ＋１番目の入力領域の最左端との水平距離が５０ｍｍ以内”を満たす。この結果、１番目の入力領域と２番目の入力領域は階層レベル２において同じグループとみなす。
【００９５】
次に、入力領域リスト情報１６３より、２番目の入力領域に対する３番目の入力領域の位置関係は“左下”であることから、グルーピング条件９００における第５のケースを用いる。そして、入力領域リスト情報１６３に示されている基準点と領域サイズの情報より、２番目の入力領域の最下端と３番目の入力領域の最上端との垂直距離が７ｍｍであることから、グルーピング条件９００における第５のケースの条件である“ｎ番目の入力領域の最下端とｎ＋１番目の入力領域の最上端との垂直距離が１０ｍｍ以内”を満たす。この結果、２番目の入力領域と３番目の入力領域は階層レベル２において同じグループとみなす。
【００９６】
次に、入力領域リスト情報１６３により、３番目の入力領域に対する４番目の入力領域の位置関係は“右下”であることから、グルーピング条件９００における第３のケースを用いる。そして、入力領域リスト情報１６３に示されている基準点と領域サイズの情報より、１番目の入力領域の最下端と２番目の入力領域の最上端との垂直距離が２０ｍｍであることから、グルーピング条件９００における第３のケースの条件である“ｎ番目の入力領域の最下端とｎ＋１番目の入力領域の最上端との垂直距離が１０ｍｍ以内”を満たさない。この結果、３番目の入力領域と４番目の入力領域間は階層レベル２において異なるグループ、すなわちグループの境界とみなす。
【００９７】
この結果、１番目から３番目までの入力領域が階層レベル２における１つのグループとみなされ、４番目の入力領域が次のグループの先頭となる。
【００９８】
このように、入力順が隣接するすべての入力領域間に対して、上記のように各階層レベルでグルーピング判定を行ない、グループを生成していく。そして、グルーピング結果は、ノード番号、ラベル、基準点および親ノード番号を各ノードの属性情報として持つ図１０に示すようなツリー構造で管理され、グルーピングプログラム１３０終了時点におけるコンテンツ構成ツリー１０００を生成する。
【００９９】
図１０では、１番目から３番目までの入力領域をノード番号５〜７のノードとし、これを束ねるグループをブランチノードとしてノード番号２とする。また、ノード番号２〜４の３つのブランチノードはコンテンツ全体を表す階層レベル１のルートノードに束ねられる。コンテンツ構成ツリーのデータ構造は、例えば、リーフからルート方向へ順次１つ上位階層のノードのデータ格納領域へのポインタを指定してツリー構造を形成する。また、ルートからリーフ方向へ順次１つ下位階層のノードのデータ格納領域へのポインタを指定して、ツリー構造を形成することもできる。また、ルートからリーフ方向、リーフからルート方向の両方のポインタをノードが有することもできる。
【０１００】
なお、図１０で示すようにコンテンツ構成ツリー１０００の各ノードの属性情報であるラベルと基準点は、グルーピングプログラム１３０の実行完了時点ではまだ格納されない。
【０１０１】
また、本実施例では、入力領域のみを対象としてグルーピングを行なっているが、入力領域だけでなく、一般的にＷｅｂコンテンツに対してはテキストや画像などをグルーピング処理の対象としてもよい。
【０１０２】
なお本実施例では、コンテンツ構成ツリー生成プログラム１２３が、グルーピングプログラム１３０を起動し、グルーピングプログラム１３０が、グループの生成とコンテンツ構成ツリー１０００の生成を行っているが、グルーピングプログラム１３０はグループの生成だけ行い、コンテンツ構成ツリー生成プログラム１２３が、コンテンツ構成ツリー１０００の生成を行ってもよい。
【０１０３】
ラベル付与プログラム１３１は、階層レベルＭ（最下位層レベル）から階層レベル１の順で、図１０に示すコンテンツ構成ツリー１０００の各ノードにおけるラベルの抽出および基準点の設定を行なう。
【０１０４】
階層レベルが階層レベルＭ（最下位層レベル）のリーフノードの場合、各入力領域の基準点を領域の左上とした上で、テキストリスト情報１６２および入力領域リスト情報１６３を用いて、ｎ番目の入力領域の基準点に対し、上方向あるいは左方向（左より上優先）で、位置的に最も近いテキストをｎ番目の入力領域のラベルとして抽出し、ラベルを含めたｎ番目の入力領域の基準点を再設定する。
【０１０５】
図７および図８の例では、入力領域リスト情報１６３より１番目の入力領域の基準点“Ｘ：２０ｍｍ  Ｙ：４５ｍｍ”に対し、テキスト情報１６２より３番目のテキストの基準点“Ｘ：２０ｍｍ  Ｙ：４０ｍｍ”が位置的に最も近いため、１番目の入力領域のラベルとして、３番目のテキスト“First Name”が抽出され、抽出結果は図１１で示すラベル付与プログラム１３１実行時におけるコンテンツ構成ツリー（以下、コンテンツ構成ツリー１１００と呼ぶ）のノード番号５（１番目の入力領域）のノードに属性情報として格納されている。
【０１０６】
さらに、ラベルを含めた１番目の入力領域の基準点を、ラベル(４番目のテキスト)の基準点“Ｘ：２０ｍｍ  Ｙ：４０ｍｍ”として再設定され、コンテンツ構成ツリー１１００のノード番号５（１番目の入力領域）のノードに属性情報として格納されている。
【０１０７】
このように、コンテンツ５００に含まれるすべての入力領域に対して、上記示した同様の処理を行なうことで、階層レベルＭ（最下位層レベル）の各ノードのラベル名および基準点が、コンテンツ構成ツリー１１００の各ノードの属性情報として格納される。
【０１０８】
次に、階層レベルが階層レベルＭ（最下位層レベル）以外のブランチノードの場合、テキストリスト情報１６２および入力領域リスト情報１６３を用いて、ノード番号ｎの基準点に対し、上方向あるいは左方向（左より上優先）で位置的に最も近いテキストであって、未だラベルとして抽出されていないテキストをノード番号ｎのラベルとして抽出し、ラベルを含めたノード番号ｎの基準点を再設定する。
【０１０９】
図７および図８の例では、図１０に示すコンテンツ構成ツリー１０００のノード番号２に関して、ノード番号２に属する要素（子ノード）の中で、最も左上（左より上優先）の基準点をもつノード番号５（１番目の入力領域）の基準点“Ｘ：２０ｍｍ  Ｙ：４５ｍｍ”がノード番号２の基準点に設定される。そのノード番号２の基準点に対し位置的に最も近いテキストの基準点はテキストリスト情報１６２の３番目のテキスト情報“First Name”であるが、これはすでにリーフノードとしてノード番号：５のラベルに使用されている。そこで、テキストリスト情報１６２の２番目のテキストの基準点“Ｘ：１５ｍｍ  Ｙ：３０ｍｍ”が未だラベルとして抽出されておらず位置的に最も近いテキスト情報であるため、ノード番号２のラベル名として、２番目のテキスト“１．Apply person Information”が抽出され、抽出結果がコンテンツ構成ツリー１１００のノード番号２のノードに属性情報として格納されている。さらに、ラベルを含めたノード番号２の基準点をラベル(４番目のテキスト) の基準点“Ｘ：１５ｍｍ  Ｙ：３０ｍｍ”として再設定され、図１１で示すコンテンツ構成ツリー１１００のノード番号２のノードに属性情報として格納されている。
【０１１０】
このように、階層レベルが階層レベルＭ（最下位層レベル）以外のすべてのノードに対して、上記示した同様の処理を行なうことで、階層レベルが階層レベルＭ（最下位層レベル）以外の各ノードのラベルおよび基準点が、コンテンツ構成ツリー１１００の各ノードの属性情報として格納される。
【０１１１】
なお、本具体例におけるグルーピングプログラム１３０では、グルーピング方法として各入力領域の位置情報（基準点）を用いて行なったが、図７に示すテキストリスト情報１６２のフォントサイズ情報を用いて、ある閾値以上のフォントサイズを持つテキストの位置を階層レベルｍにおける入力領域間のグループ境界とみなすという方法をとってもよい。
【０１１２】
たとえば、フォントサイズが２０ｐｔ以上あるテキストの位置を階層レベル２におけるグループの境界とみなすというグルーピング条件が設定されていた場合に、図７および図８の例では、テキストリスト情報１６２の１番目のテキスト“---PC Parts Order form---”と６番目のテキスト“２．Purchase Commodity”が２０ｐｔのフォントサイズを持つので、入力領域リスト情報１６３の３番目と４番目の入力領域間が、階層レベル２におけるグループの境界とみなされ、１番目〜３番目の入力領域が階層レベル２における１つのグループとみなされる。
【０１１３】
本実施例におけるＷｅｂコンテンツ提供システムについて、ソース生成プログラム１２４の具体的な処理の流れを図７〜図１２を用いて説明する。
【０１１４】
本実施例では、クライアント情報として、情報端末種別が携帯端末、表示形態種別がドリルダウン操作可能なコンテンツおよびファイル形式がＨＴＭＬとし、図６に示すＨＴＭＬソース６００から図１２に示す変換後ＨＴＭＬソース１２００へ変換する例を示す。
【０１１５】
まず、クライアント情報取得プログラム１２０によって取得されたクライアント情報を解析することで、主メモリ１０２または磁気ディスク装置１０１に格納された生成ルールリスト情報とクライアント情報との対応テーブルにより、適用する生成ルールを選択する。本具体例では、以下に示す６つの生成ルールを適用するものとする。
【０１１６】
生成ルール０：ＨＴＭＬ形式で出力。
生成ルール１：テキストと入力領域のみが表示されるように出力（テンプレート、画像、動画は削除）。
生成ルール２：入力領域の配置は、入力順に上からシリアライズして表示されるように出力。
生成ルール３：コンテンツ構成ツリーのルートノードのラベルを＜Ｈ１＞タグで出力、第２階層レベルのブランチノードのラベルを＜Ｈ２＞タグで出力（最下位層のリーフノードを除いて第３階層以降同様）。
生成ルール４：コンテンツ構成ツリーにおける最下位層のリーフノードに関しては、ラベルを＜ＬＡＢＥＬ＞タグで出力し、その下に該ノードに対応する＜ＩＮＰＵＴ＞などの入力領域情報を出力する。なお、＜ＬＡＢＥＬ＞タグのｆｏｒ属性と入力領域を示す＜ＩＮＰＵＴ＞のｉｄ属性を用いて、ラベルと入力領域の関連付けを行なって出力。
生成ルール５：各グループに含まれる複数の要素は＜ＤＩＶ＞タグの中に出力。
生成ルール６：ドリルダウン操作可能なスクリプトに関する出力。
【０１１７】
まず、変換後ＨＴＭＬソース１２００へヘッダ情報を出力する。図１２の例では、１行目から６行目に、＜ＨＴＭＬ＞タグ、＜ＨＥＡＤ＞タグ、タイトル情報“＜TITLE＞○○ Shop Order form＜／TITLE＞”、生成ルール６よりスクリプト情報“<script type="text/javascript" src="script.js"></script>”、および＜ＢＯＤＹ＞タグが出力されている。
【０１１８】
コンテンツ構成ツリー生成プログラム１２３によって生成された図１１に示すコンテンツ構成ツリー１１００を用いてルートから深さ優先によって、すべてのノードを探索する。
【０１１９】
探索されたノードがリーフでない場合、生成ルール３より、変換後ＨＴＭＬソース１２００へノードのラベルを＜Ｈ１＞タグや＜Ｈ２＞タグなどの見出しタグで出力し、さらに生成ルール６より、表示・非表示操作のボタンを出力する。
【０１２０】
図１２の例では、図１１に示すコンテンツ構成ツリー１１００のノード番号２のブランチノードに対して、変換後ＨＴＭＬソース１２００の１０行目に“<H2>１．Apply person Information  <INPUT type="button" id="bid1" value="open" onClick="open_close('gid1','bid1')"> </H2>”が出力されている。なお、表示・非表示操作については、表示・非表示制御のスクリプトはシステム固定で用意されているものとし、ソース生成プログラム１２４では、ボタンの出力、スクリプトの関数名の出力および関数への引数の出力として“<INPUT type="button" id="bid1" value="open" onClick="open_close('gid1','bid1')">”のみの出力を行なう。図１３に表示・非表示制御スクリプトのソース例を示す。
【０１２１】
探索されたノードがリーフでない場合、生成ルール５より、変換後ＨＴＭＬソース１２００へラベル名の下に＜ＤＩＶ＞タグを出力し、さらに生成ルール６より、＜ＤＩＶタグ＞の中に表示・非表示操作に関する制御情報を出力する。図１２の例では、コンテンツ構成ツリー１１００のノード番号１のノードに対して、１２行目に“<div id="gid0" style="display:none">”が出力されており、その＜ＤＩＶ＞タグの内側である１３行目〜５４行目にノード番号１のノードにおける子ノードの情報が出力されている。
【０１２２】
探索されたノードがリーフである場合、生成ルール４より、図１１に示すコンテンツ構成ツリー１１００に格納されているノード番号順に、親ノードによって変換後ＨＴＭＬソース１２００へ出力された＜ＤＩＶ＞の内側へ、ノードの属性情報として格納されているラベルを＜ＬＡＢＥＬ＞タグで出力し、さらに図８に示す入力領域リスト情報１６３に格納されている＜ＬＡＢＥＬ＞タグに関連付けられた入力領域情報を出力する。
【０１２３】
図１２の例では、ノード番号５（１番目の入力領域）に対して、変換後ソース１２００の１４行目に“<LABEL for="gid1-1">First Name</LABEL>”、１５行目に“<INPUT type="text" id="gid1-1">”がそれぞれ出力されている。なお、１４行目の＜ＬＡＢＥＬ＞タグと１５行目の＜ＩＮＰＵＴ＞タグは、それぞれｆｏｒ属性とｉｄ属性で関連付けられている。
【０１２４】
現在のノードが１つ上の階層レベルのグループにおいて最後のノードである場合、生成ルール５より、変換後ＨＴＭＬソース１２００に対し、１つ上の親ノードによって出力された＜ＤＩＶ＞タグを閉じる（＜／ＤＩＶ＞を出力する）。図１２の例では、５５行目にノード番号１に関して出力された＜ＤＩＶ＞タグの閉じタグとして“</div>”が出力されている。
【０１２５】
コンテンツ構成ツリー１１００のすべてのノードへの探索が終了したら、変換後ＨＴＭＬソース１２００へフッダ情報を出力し、最終的な変換後ＨＴＭＬソース１２００が生成される。図１２の例では、５７行目〜５８行目に＜ＨＴＭＬ＞タグの閉じタグおよび＜ＢＯＤＹ＞タグの閉じタグが出力されており、最終的な変換後ＨＴＭＬソース１２００が生成されている。
【０１２６】
図１４は、ＨＴＭＬ形式の注文フォーム１４００が生成される例を示す図である。注文フォーム１４００では、コンテンツ構成ツリー１１００のノード番号１の子ノードに関するラベルを展開した例である。この注文フォーム１４００に配置されているノード番号２に関する” １．Apply person Information”のＯＰＥＮボタンを押下することで、図１４の注文フォーム１４０１に示すように、ノード番号２の子ノードに関するラベルや入力領域が展開され。このようにドリルダウン操作可能なコンテンツにより、ユーザはコンテンツの全体像を容易に把握できるとともに、必要な情報へ効率よくアクセスでき、かつ必要な情報のみを表示することができる。
【０１２７】
クライアント情報取得プログラム１２０によって取得されたクライアント情報１６１は、例えばクライアント端末の画面解像度や画面サイズなどの画面情報である。この場合、複数の生成ルールが画面解像度や画面サイズなどの画面情報に対応付けられて生成ルールリスト情報に格納されている。ソース生成プログラムは、クライアント情報１６１の画面情報に適合するソースを生成する生成ルールを、生成ルールリスト情報の中から取得する。例えばクライアント情報１６１が画面サイズが小さい携帯電話の画面サイズである場合には、ツリーのラベル情報を全てドリルダウン可能な形で１画面に表示できるようなソースを生成する生成ルールを選択する。
【０１２８】
本発明の第一の実施形態によれば、ソース中にコンテンツの構成を表す論理構造情報を持たない場合でも、レイアウト情報を用いることで、コンテンツの構成を認識できるため、ユーザがコンテンツの全体像を容易に把握でき、必要な情報へ効率よくアクセスできるコンテンツを提供することができる。また、新たに生成されるソースには構成情報を含むので、コンテンツの論理構造を考慮した効率のよい表示が可能なコンテンツを提供することができる。
【０１２９】
本実施例によれば、ソース中にコンテンツの構成を表す論理構造情報を持たないＷｅｂコンテンツでも、レイアウト情報からコンテンツの構成を表すコンテンツ構成ツリーを生成し、生成したコンテンツ構成ツリーを用いることで、Ｗｅｂコンテンツの全体像をエンドユーザが容易に把握できるようなソースへ変換可能である。たとえば、生成されたコンテンツ構成ツリーを用いることで、小さな画面でも一目で全体構成を把握できるようなドリルダウン可能なソース、グループ毎にダウンロードして参照することが可能なソース、または複雑なレイアウトを持つコンテンツに対し、シリアライズされたシンプルなソースへ変換可能である。
【実施例２】
【０１３０】
次に、本発明の第二の実施例について説明する。
【０１３１】
第一の実施例では、既存のコンテンツに対するコンテンツ構成ツリーを生成し、そのコンテンツ構成ツリーを用いて、ユーザがコンテンツの全体像を容易に把握できるようなソースを再生成するものであった。しかし、ユーザが全盲者の場合は、図１４に示すように表示させるだけでは、コンテンツの全体像を把握できない。
【０１３２】
そこで、第二の実施例では、ブラウザ側でコンテンツ構成ツリー生成プログラム１２３がコンテンツ構成ツリー１６０を生成し、そのコンテンツ構成ツリー１６０を用いることで、コンテンツの構成の読み上げを行なう。
【０１３３】
本実施例は、図１に示した第一の実施例とほぼ同様の構成を取るが、システム制御プログラム１１０におけるソース生成プログラム１２４およびコンテンツ送信プログラム１２５の代わりに、図１５で示すシステム制御プログラム１１０aではコンテンツ構成読み上げプログラム１２６が新たに加わる。
【０１３４】
コンテンツ構成読み上げプログラム１２６は、まずコンテンツ構成ツリー生成プログラム１２３によって生成されたコンテンツ構成ツリー１６０を解析することで、コンテンツ全体の入力領域の数、階層レベルの数、各階層レベルにおけるグループ数、各グループのラベルやグループに属する子ノードなどの情報を取得する。
【０１３５】
前記ステップの解析結果に対して、音声合成技術等を用いて、ブラウザ側で用意されているテキストなど音声への変換元情報（以下、音声値と呼ぶ）とコンテンツ構成ツリー１６０の解析結果によって動的に変更する音声値を組み合わせて、コンテンツの構成を読み上げる。
【０１３６】
本実施例におけるコンテンツ構成読み上げブラウザについて、コンテンツ構成読み上げプログラム１２６の具体的な処理例を図１１を用いて説明する。
【０１３７】
コンテンツ構成読み上げプログラム１２６は、まずコンテンツ構成ツリー生成プログラム１２３によって生成された図１１に示すコンテンツ構成ツリー１１００を解析し、コンテンツ全体の入力領域の数、階層レベルの数、各階層レベルにおけるグループ数、各グループのラベルや属する子ノードなどの情報を取得する。
【０１３８】
図１１の例では、コンテンツ全体の入力領域の数“９”、階層レベルの数“３”、階層レベル２におけるグループ数“３”、ノード番号２のノードの属性情報として、ラベル“１．Apply person Information”、ノード番号２に属する子ノード“ノード番号１〜３”といった情報が取得される。
【０１３９】
ブラウザ側で用意されている音声値とコンテンツ構成ツリー１１００の解析結果によって動的に変更する音声値を組み合わせて、コンテンツの構成を読み上げる。図１１の例では、ブラウザ側であらかじめ用意されている固定の音声値“本コンテンツは”および“グループから構成されます”と、解析結果によって動的に生成された音声値“３”を組み合わせて、“本コンテンツは３グループから構成されます”といった音声が、コンテンツを読み込んだタイミングで読み上げられる。または読み上げ可能な状態となる。
【０１４０】
このように、ブラウザ側で用意されている固定の音声値とコンテンツ構成ツリーの解析結果によって動的に変更される音声値を組み合わせることで、コンテンツ構成ツリー１６０が保持しているコンテンツの構成情報を読み上げることができる。
【０１４１】
本発明の第二の実施形態によれば、ブラウザ側でコンテンツ構成ツリーを生成し、コンテンツ構成ツリーを用いることで、コンテンツの入力領域の構成情報の概要を読み上げることができる。これにより、利用するユーザが全盲者の場合であっても、コンテンツの構成を容易に把握することができる。
【０１４２】
また、スタイルシートなどを多用した複雑なコンテンツファイルは、入力領域とそれを説明するテキスト情報とが読み上げブラウザではうまく把握できず、全盲者は入力領域に対する入力ミスをしてしまう可能性がある。このような場合にも本実施例のように複雑なコンテンツファイルの位置情報を用いて、コンテンツ構成ツリーを生成し、テキスト情報と入力領域を１行ずつ表示することで、読み上げブラウザでも確実に読み上げることが可能になり、アクセシビリティーが向上する。
【実施例３】
【０１４３】
次に、本発明の第三の実施例について説明する。第一の実施例では、既存のコンテンツファイルのソース中に、あらかじめ各テキストや入力領域の位置情報が絶対値で指定されている場合の、パーツ情報取得プログラム１２２およびコンテンツ構成ツリー生成プログラム１２３の実現方法を示した。しかし、ＨＴＭＬ形式の場合では、それらの位置情報が指定されていない場合もある。そこで、第三の実施例では、コンテンツファイルのソース中に各パーツの位置情報が指定されていない場合における実施形態ついて説明する。
【０１４４】
本実施例は、図１に示した第一の実施例と同様の構成を取るが、各パーツの位置情報やサイズを抽出するパーツ情報取得プログラム１２２の処理手順が異なる。
【０１４５】
パーツ情報取得プログラム１２２aは、まず、コンテンツ取得プログラム１２１によって取得されたコンテンツファイルの中から、システムであらかじめ決められたテキストや入力領域などのパーツを抽出する。その取得結果を、テキストについてはテキストリスト情報１６２、入力領域については入力領域リスト情報１６３として、ワークエリア１４０に格納する。
【０１４６】
前記で抽出されたパーツを、プログラム上で定義された仮想画面上に配置させることで、パーツの位置情報やサイズをピクセル単位で抽出する。コンテンツファイルのソースに基づいて、各パーツが、ピクセルを単位とした仮想画面上のどの位置に、どのサイズで配置されるかについては、主メモリ１０２または磁気ディスク装置１０１に格納された仮想画面配置ルールリスト情報１６６に示されている。以下、仮想画面配置ルールリスト情報１６６に格納されたＨＴＭＬ形式の場合の仮想画面配置ルールを示す。
【０１４７】
・コンテンツ全体の基準点は仮想画面上の左上とする（Ｘ：０ｐｘ、Ｙ：０ｐｘ）。
・サイズに関するすべてのＨＴＭＬ要素に対する仮想画面上への変換定義（たとえば、“<ＩＮＰＵＴ ｔｙｐｅ＝‘ｔｅｘｔ’ ｓｉｚｅ＝‘１０’>”に対しては、仮想画面上にｗｉｄｔｈ：３、ｈｅｉｇｈｔ：１０のサイズで変換する）。
・ソース中で隣接するテキストおよびＨＴＭＬ要素間の配置間隔に関して、想定されるすべてのケースの配置間隔を定義（例えば、ＨＴＭＬソース中の記述で隣接する“<ＩＮＰＵＴ ｔｙｐｅ＝‘ｒａｄｉｏ’>”と“＜ＬＡＢＥＬ＞”に関しては、“<ＩＮＰＵＴ ｔｙｐｅ＝‘ｒａｄｉｏ’>“の右上の点から、右方向に１ｐｘ平行移動した点を、“＜ＬＡＢＥＬ＞”の基準点とする）。
【０１４８】
以上の仮想画面配置ルールに基づいて仮想画面上に各パーツが配置された結果、仮想画面上における各パーツの位置情報をＸ：○○、Ｙ：××、サイズをｗｉｄｔｈ：△△、ｈｅｉｇｈｔ：□□の形で抽出し、テキストの位置情報やフォントサイズ情報はテキストリスト情報１６２、入力領域の位置情報や領域サイズ情報は入力領域リスト情報１６３をそれぞれワークエリア１４０に格納する。
【０１４９】
本実施例におけるＷｅｂコンテンツ提供システムについて、第一の実施例とは異なるパーツ情報取得プログラム１２２aの具体的な処理例を図１６〜図１９を用いて説明する。
【０１５０】
コンテンツ取得プログラム１２１によって取得された図１６に示すＨＴＭＬソース１６００に対し、ＦＯＮＴタグで囲まれたテキスト、およびそれらのテキストのフォントサイズを抽出することで、それらの情報をテキストリスト情報１６２へ格納する。
【０１５１】
図１８は、テキストリスト情報１６２の例である。テキストリスト情報１６２として全部で１３個のテキストが抽出されており、図１６に示すＨＴＭＬソース１６００の７行目に対し、１番目のテキストとして、テキスト“---PC Parts Order form---”、フォントサイズ“７”が出力されている。
【０１５２】
図１９は、入力領域リスト情報１６３の例である。入力領域を抽出し、入力領域リスト情報１６３へ格納する。入力領域リスト情報１６３として全部で９個の入力領域が抽出されており、図１６に示すＨＴＭＬソース１６００の１４行目に対し、１番目の入力領域として、入力領域“＜INPUT type=”text”＞”が出力されている。
【０１５３】
仮想画面配置ルール１６６に基づいて、入力領域の領域サイズを求め、仮想画面上に各パーツを配置することで、各パーツの位置情報（基準点）を抽出し、それらの情報をテキストリスト情報１６２および入力領域リスト情報１６３へそれぞれ格納する。本実施例では、以下に示す仮想画面配置ルール（本実施例で使用されるルールのみ）に基づいて、仮想画面上に各パーツを配置していくものとする。
【０１５４】
配置ルール１：コンテンツ全体の基準点は仮想画面左上の（Ｘ、Ｙ）＝（０、０）とする。
配置ルール２：＜ＦＯＮＴ＞や＜ＬＡＢＥＬ＞の領域サイズ（以下、テキスト領域と呼ぶ）に関しては、縦のサイズについては、ｗｉｄｔｈ：（ｓｉｚｅ属性の値又はデフォルト値３）ｐｘとする（横のサイズについては、ｓｉｚｅ属性、各文字の種類や文字種、領域内の余白、文字間隔によって決定する。詳細ルールについては省略）。
配置ルール３：＜ＩＮＰＵＴ＞の領域サイズは、ｗｉｄｔｈ：３、ｈｅｉｇｈｔ：（ｓｉｚｅ属性の値）、とする。
配置ルール４：＜ＩＮＰＵＴ ｔｙｐｅ＝‘ｒａｄｉｏ＞の領域サイズは、ｗｉｄｔｈ：ｐｘ、ｈｅｉｇｈｔ：３とする。
配置ルール５：＜ＳＥＬＥＣＴ＞の縦の領域サイズについては、ｗｉｄｔｈ：３ｐｘとする（横の領域サイズについては、ｓｉｚｅ属性、各文字の種類や文字種、領域内の余白、文字間隔によって決定する。詳細ルールについては省略）。
配置ルール６：＜ＢＲ＞の次の要素の基準点（左上）は、（Ｘ、Ｙ）＝（０、＜ＢＲ＞の前の要素領域における下端のＹ軸座標＋２）とする。
配置ルール７：ソース中の記載で隣接する入力領域に対する＜ＨＲ＞（入力領域の方が前）の基準点は、（Ｘ、Ｙ）＝（０、入力領域の下端のＹ座標＋２）とする。
配置ルール８：ソース中の記載で隣接する＜ＨＲ＞に対する＜ＩＮＰＵＴ＞（ＨＲ要素の方が前）の基準点は、（Ｘ、Ｙ）＝（０、＜ＨＲ＞の基準点のＹ座標＋２）とする。
配置ルール９：ソース中の記載で隣接するテキスト領域に対する入力領域（テキスト領域の方が前）の基準点（左上）は、（Ｘ、Ｙ）＝（テキスト領域の右端のＸ座標＋２、テキスト領域の基準点のＹ座標）とする。
配置ルール１０：ソース中の記載で隣接する入力領域に対するテキスト領域（入力領域の方が前）の基準点（左上）は、（Ｘ、Ｙ）＝（入力領域の右端のＸ座標＋２、入力領域の基準点のＹ座標）とする。
【０１５５】
図１７は、上記の仮想画面配置ルールに基づいて、図１６のＨＴＭＬソース１６００を仮想画面上に配置した結果を示す図の例である。
【０１５６】
仮想画面の左上を（Ｘ、Ｙ）＝（０、０）とし、１マス１ｐｘを表している。この仮想画面１７００への配置結果より、各パーツの位置情報（基準点）を抽出する。テキストリスト情報１６２の２番目のテキスト“１．Apply person Information”に対して、配置ルール１、２，６，７，８により、基準点７２０に“Ｘ：０、Ｙ：１１”が出力されている。また、入力領域リスト情報１６３の１番目の入力領域“＜INPUT type=”text”＞”に対して、配置ルール１、３，６，７，８により、基準点８２０に“Ｘ：１１、Ｙ：１８”、領域サイズ８３０に“ｗｉｄｔｈ：３、ｈｅｉｇｈｔ：１０”が出力されている。
【０１５７】
なお、本実施例では仮想画面配置ルールリスト情報１６６に基づいて、図１７のような仮想画面を表示したが、仮想画面は一ルールリスト情報１６６を使用せず、標準のブラウザを使用してもよい。この場合には内部的にコンテンツファイルの表示を標準のブラウザでおこない、この表示の座標情報を取得することで各入力領域情報やテキスト情報の基準点を取得して、入力領域リスト情報１６３，テキストリスト情報１６２に格納してもよい。例えばブラウザ上に表示された入力領域情報やテキスト情報の基準点をブラウザの左上端からの絶対値座標として取得すればよい。
【０１５８】
以上説明したように、本発明の第三の実施形態によれば、コンテンツファイルのソース中に各パーツの位置情報が指定されていない場合においても、プログラムで仮想画面を定義することで、仮想画面上に配置された各パーツの位置情報やサイズを抽出し、それらの情報を用いてコンテンツ構成ツリーを生成することができる。
【図面の簡単な説明】
【０１５９】
【図１】本発明の第一の実施例におけるコンテンツ配信システムの全体構成を示す図の例である。
【図２】本発明の第一の実施例におけるソース生成プログラム１２４を説明するＰＡＤ図の例である。
【図３】本発明の第一の実施例におけるグルーピングプログラム１３０を説明するＰＡＤ図の例である。
【図４】本発明の第一の実施例におけるラベル付与プログラム１３１を説明するＰＡＤ図の例である。
【図５】本発明の第一の実施例における変換対象コンテンツの画面表示例の図である。
【図６】本発明の第一の実施例における図５に示すコンテンツファイルのソース例の図である。
【図７】本発明の第一の実施例におけるパーツ情報取得プログラム１２２によって生成される図６のソースに対するテキストリスト情報の例を説明する図である。
【図８】本発明の第一の実施例におけるパーツ情報取得プログラム１２２によって生成される図６のソースに対する入力領域リスト情報の例を説明する図である。
【図９】本発明の第一の実施例におけるグルーピングプログラム１３０のグルーピング条件の例を説明する図である。
【図１０】本発明の第一の実施例におけるグルーピングプログラム１３０によって生成されるコンテンツ構成情報ツリーの例を説明する図である。
【図１１】本発明の第一の実施例におけるラベル付与プログラム１３１によって生成されるコンテンツ構成情報ツリーの例を説明する図である。
【図１２】本発明の第一の実施例におけるソース生成プログラム１２４によって生成される変換後のソースの例を説明する図である。
【図１３】本発明の第一の実施例におけるソース生成プログラム１２４によって使用される変換後のソースのスクリプト例を説明する図である。
【図１４】本発明の第一の実施例におけるソース生成プログラム１２４によって生成される変換後のソースで実現可能なコンテンツの画面表示例を説明する図である。
【図１５】本発明の第二の実施例におけるコンテンツ構成読み上げブラウザの全体構成を示す図である。
【図１６】本発明の第三の実施例におけるコンテンツファイルのソース例の図である。
【図１７】本発明の第三の実施例におけるパーツ情報取得プログラム１２２aによって図１６に示すソースを仮想画面上に配置した例の図である。
【図１８】本発明の第三の実施例におけるパーツ情報取得プログラム１２２aによって生成される図１６に示すソースに対するテキストリスト情報の例を説明する図である。
【図１９】本発明の第三の実施例におけるパーツ情報取得プログラム１２２aによって生成される図１６に示すソースに対する入力領域リスト情報の例を説明する図である。
【符号の説明】
【０１６０】
１００…中央演算処理装置（ＣＰＵ）
１０１…磁気ディスク装置
１０２…主メモリ
１０３…フロッピー（登録商標）ディスクドライブ（ＦＤＤ）
１０４…バス
１０５…ネットワーク
１０６…フロッピー（登録商標）ディスク
１０７…クライアント端末装置
１１０…システム制御プログラム
１２０…クライアント情報取得プログラム
１２１…コンテンツ取得プログラム
１２２…パーツ情報取得プログラム
１２３…コンテンツ構成ツリー生成プログラム
１２４…ソース生成プログラム
１２５…コンテンツ送信プログラム
１３０…グルーピングプログラム
１３１…ラベル付与プログラム
１４０…ワークエリア
１５０…コンテンツファイル
【図１】
2008071212.tif 000003
【図２】
2008071212.tif 000004
【図３】
2008071212.tif 000005
【図４】
2008071212.tif 000006
【図５】
2008071212.tif 000007
【図６】
2008071212.tif 000008
【図７】
2008071212.tif 000009
【図８】
2008071212.tif 000010
【図９】
2008071212.tif 000011
【図１０】
2008071212.tif 000012
【図１１】
2008071212.tif 000013
【図１２】
2008071212.tif 000014
【図１３】
2008071212.tif 000015
【図１４】
2008071212.tif 000016
【図１５】
2008071212.tif 000017
【図１６】
2008071212.tif 000018
【図１７】
2008071212.tif 000019
【図１８】
2008071212.tif 000020
【図１９】
2008071212.tif 000021