JP4720695B2 - コンテンツ提供方法 - Google Patents

コンテンツ提供方法 Download PDF

Info

Publication number
JP4720695B2
JP4720695B2 JP2006250240A JP2006250240A JP4720695B2 JP 4720695 B2 JP4720695 B2 JP 4720695B2 JP 2006250240 A JP2006250240 A JP 2006250240A JP 2006250240 A JP2006250240 A JP 2006250240A JP 4720695 B2 JP4720695 B2 JP 4720695B2
Authority
JP
Japan
Prior art keywords
information
content
input area
text
content analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006250240A
Other languages
English (en)
Other versions
JP2008071212A (ja
Inventor
小川祐一
芦田仁史
松林忠孝
山田泰大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006250240A priority Critical patent/JP4720695B2/ja
Publication of JP2008071212A publication Critical patent/JP2008071212A/ja
Application granted granted Critical
Publication of JP4720695B2 publication Critical patent/JP4720695B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、効率よく情報を参照できるコンテンツ提供方法に関する。
近年、Webシステムにおいては、情報端末機器やWebコンテンツの多様化、またブロードバンドの普及に伴い、あらゆるWebコンテンツに対して、あらゆる情報端末機器からアクセスされるようになった。これに伴い、一般的なパソコンの画面で利用するWebコンテンツを、携帯電話のような小さな画面の端末で利用しようとすると、Webコンテンツの内容が参照しにくいため、小さな画面でも参照しやすいように、Webコンテンツを携帯電話用に変換するといった技術が開発されている。また、近年のWebシステムにおいては、どのような利用者に対しても利用しやすいこと(以下、アクセシビリティと呼ぶ)が強く求められている。これに伴い、Webシステムにおいて、全盲のユーザが健常のユーザと同じようにサービスを利用できるように、Webコンテンツの内容を読み上げる音声ブラウザ技術が開発されている。
例えば、画面の小さな端末や音声ブラウザを用いたWebコンテンツの表示において、必要な情報に迅速にアクセスするために、サイト内の各ページで共通に使用されているテンプレート情報を削除することでWebコンテンツの簡略化を行なうもの(特許文献1)。
例えば、ネットワークを通じて取得したウェブページを、低解像度の表示環境での閲覧に適したウェブページに再構築して表示させるもの(特許文献2)。
特開2002−55872公報 特開2004−355157公報
特許文献1のテンプレート情報を削除するだけでは、必要な情報がそもそも多い場合に、必要な情報に迅速にアクセスできず、課題を根本的に解決しているとは言えない。また、単純な情報の削除だけでは、画面の小さな端末で利用するユーザや全盲のユーザに対しては、コンテンツの全体像を容易に把握できず、ストレスを感じさせてしまう恐れもある。
そこで、本発明では情報量が多いWebコンテンツを画面の小さな端末で参照する場合においても、Webコンテンツの全体像をユーザが容易に把握できるような情報を提供できることを第1の課題とする。また、全盲のユーザに対しても、Webコンテンツの全体像をユーザが容易に把握できるような情報を提供できることを第2の課題とする。
上記課題を解決するために、Webコンテンツの全体像をユーザが容易に把握できるWebコンテンツ提供方法として、Webコンテンツ中に含まれるパーツの位置情報などのレイアウト情報を用いてパーツ間をグループ化するグルーピングステップと、各グループおよびパーツに対してラベルを付与するラベル付与ステップと、それらグルーピングステップとラベル付与ステップの結果からコンテンツの構成を表すツリー(以下、コンテンツ構成ツリーと呼ぶ)を生成するコンテンツ構成ツリー生成ステップを有し、生成されたコンテンツ構成ツリーを解析することで、ユーザがコンテンツの全体像を容易に把握できるようなソースを再生成するソース生成ステップを有する。
コンテンツファイルからコンテンツの構成を表すコンテンツ構成ツリーを生成し、生成したコンテンツ構成ツリーを用いることで、Webコンテンツの変換が可能になる。
以下に実施例の説明をする。
本実施例では、Webコンテンツとして、HTML形式の入力フォーム(以下、コンテンツとよぶ)を例に説明する。なお、ここでいうWebコンテンツとは、HTMLコンテンツ、独自形式のWebコンテンツ、あるいは文書作成アプリケーションで作成された電子化文書など、画像や動画を除くテキストを主体としたデジタルコンテンツとする。
図1は、本発明を適用したWebコンテンツ提供システムの第一の実施例における全体構成図の例である。CPU100、磁気ディスク装置101、主メモリ102、フロッピー(登録商標)ディスクドライブ(以下、FDD103と呼ぶ)、これらを結ぶバス104および他の機器と本システムを接続するネットワーク105から構成される。
磁気ディスク装置101は二次記憶装置の一つであり、コンテンツのソースを含むコンテンツファイル150が格納される。FDD103を介してフロッピー(登録商標)ディスク106に格納されている情報が、磁気ディスク装置101あるいは主メモリ102へ読み込まれる。
主メモリ102には、システム制御プログラム110、クライアント情報取得プログラム120、コンテンツ取得プログラム121、パーツ情報取得プログラム122、コンテンツ構成ツリー生成プログラム123、グルーピングプログラム130、ラベル付与プログラム131、ソース生成プログラム124、コンテンツ送信プログラム125およびワークエリア140が確保される。
システム制御プログラム110は、エンドユーザによるクライアント端末装置107からのコンテンツファイル150へのアクセスに応じて起動され、それぞれ、クライアント情報取得プログラム120、コンテンツ取得プログラム121、パーツ情報取得プログラム122、コンテンツ構成ツリー生成プログラム123、ソース生成プログラム124およびコンテンツ送信プログラム125の制御を行なう。
コンテンツ構成ツリー生成プログラム123は、グルーピングプログラム130およびラベル付与プログラム131の制御を行なう。
本実施例では、これらのプログラムを主メモリ102に格納するものとしたが、磁気ディスク装置101、フロッピー(登録商標)ディスク106、MO、CD−ROM、DVD等の記憶媒体(図1には示していない)に格納し、駆動装置を介して主メモリ102に読み込み、CPU100によって実行することも可能である。さらに、これらのプログラムをネットワーク105を介して主メモリ102に読みこみ、CPU100によって実行することも可能である。
また、これらのプログラムは各処理を行う処理部として集積回路化するなどして、システム制御部、クライアント情報取得部、コンテンツ取得部、パーツ情報取得部、コンテンツ構成ツリー生成部、グルーピング部、ラベル付与部、ソース生成部、コンテンツ配信部、としてハードウェアで実現することもできる。
また、本実施例ではコンテンツファイル150は磁気ディスク装置101に格納されるものとしたが、フロッピー(登録商標)ディスク106、MO、CD−ROM、DVD等の記憶媒体(図1には示していない)に格納されるものとしてもよいし、あるいはネットワーク105を介して、他のシステムに接続された記憶装置(図1には示していない)に格納されるものとしてもよい。また、さらにはネットワーク105に直接接続された記憶媒体(図1には示していない)に格納されるものとしても構わない。
以下に、本実施例におけるWebコンテンツ提供システムの処理手順の概要を説明する。まず、各プログラム110〜131の処理手順について説明する。
なお、処理手順の各処理については本来、CPUがプログラムに従って実行する。しかし、ここでは説明を簡単にするために、以降、CPUの処理に関してはプログラムを実行主体として処理手順を説明する。なお、上記のようにハードウェアで実装した場合には、各ハードウェアの処理部が各処理を実行する。
システム制御プログラム110は、クライアント端末装置107からネットワーク105を介してコンテンツファイル150へのアクセスを検知したら、まずクライアント情報取得プログラム120を起動し、クライアント端末装置107から送信される送信元のクライアント情報を取得する。
次に、パーツ情報取得プログラム122を起動し、コンテンツ取得プログラム121によって取得されたコンテンツファイル150のソース中に含まれるテキストや、テキストボックスやラジオボタン等(以下、まとめて入力領域と呼ぶ)と、それらのパーツの位置情報やサイズ(テキストの場合はフォントサイズ、入力領域の場合は領域サイズ)を取得する。
次に、コンテンツ構成ツリー生成プログラム123を起動し、パーツ情報取得プログラム122によって抽出された情報を用いて、パーツ間のグルーピング、およびパーツやグループに対するラベルを付与することで、コンテンツ構成ツリー160を生成する。
次に、ソース生成プログラム124を起動し、クライアント情報取得プログラム120によって取得されたクライアント情報、コンテンツ取得プログラム121で取得されたコンテンツファイル150およびコンテンツ構成ツリー生成プログラム123によって生成されたコンテンツ構成情報を用いて、コンテンツの全体像が容易に把握可能なソースを再生成する。
最後に、コンテンツ送信プログラム125を起動し、ソース生成プログラム124によって生成されたソースを新たなコンテンツファイルとして、ネットワーク105を介してクライアント端末装置107へ配信する。
クライアント情報取得プログラム120は、クライアント端末装置107から送信される送信元の端末装置種別、ネットワーク種別、ユーザが希望する表示形態種別、およびコンテンツのURL(以下、まとめてクライアント情報と呼ぶ)を取得し、その取得結果をワークエリア140に格納する。
なお、ここでいう端末装置種別の例としては、高性能パソコン、低性能パソコンおよび小型情報端末、携帯電話、PDA等がある。また、ネットワーク種別の例としては、LAN、光ファイバ、ADSL、ISDNおよびアナログ電話回線等がある。また、ユーザが希望する表示形態種別(以下、表示形態種別と呼ぶ)の例としては、ドリルダウン操作可能な表示形態、グループ毎にダウンロードして参照可能な表示形態、およびシリアライズされたシンプルな表示形態等がある。また、ファイル形式の例としては、HTML形式や独自形式等がある。
コンテンツ取得プログラム121は、前記クライアント情報取得プログラム120によって取得されたクライアント情報からコンテンツのURLを抽出し、そのURLに該当するコンテンツを磁気ディスク装置101からコンテンツファイル150を取得し、その取得結果をワークエリア140に格納する。
パーツ情報取得プログラム122は、まず、コンテンツ取得プログラム121によって取得されたコンテンツファイルの中から、システムであらかじめ決められたテキストや入力領域(以下、パーツと呼ぶ)を抽出する。その取得結果を、テキストについてはテキストリスト情報162、入力領域については入力領域リスト情報163として、ワークエリア140に格納する。ここでいうテキストとは、HTMLソースの場合、画面上に表示されないタグなどではなく、実際に画面上で表示されるテキストのことをいう。また、入力領域とは、HTMLソースの場合、INPUTタグ、SELECTタグおよびTEXTAREAタグで表現されたものなど、ユーザからの指定を受け付けるものをいう。
なお、テキストリスト情報162や入力領域リスト情報163はワークエリア140に格納されるが、磁気ディスク装置101に格納されてもよい。コンテンツファイルの中のどのようなものをテキストとして抽出するかを示す情報や、コンテンツファイルの中のどのようなものを入力領域として抽出するかを示す情報は、主メモリ102または磁気ディスク装置101に格納されている。
次に、前記で抽出されたパーツの位置情報(基準点)やサイズ情報をコンテンツファイルの中から抽出し、テキストの位置情報やフォントサイズ情報はテキストリスト情報162、入力領域の位置情報や領域サイズ情報は入力領域リスト情報163をそれぞれワークエリア140に格納する。
なお、テキストリスト情報162は、テーブル構造でテキスト番号700、テキスト情報710、位置情報720およびフォントサイズ730を列に持ち、各情報をそれぞれ格納する(格納例を図7に示す)。また、入力領域リスト情報163は、テーブル構造で入力領域番号800、入力領域情報810、位置情報820および領域サイズ830を列に持ち、各情報をそれぞれ格納する(格納例を図8に示す)。
コンテンツ構成ツリー生成プログラム123は、まず、グルーピングプログラム130を起動し、パーツ情報取得プログラム122によって抽出された入力領域リスト情報163を用いて、コンテンツファイル150に含まれる入力領域のグルーピングを行ない、そのグルーピング結果をワークエリア140に格納する。
次に、コンテンツ構成ツリー生成プログラム123はラベル付与プログラム131を起動し、グルーピングプログラム130によって生成されたグルーピング結果に対して、テキストリスト情報162や入力領域リスト情報163に格納されている位置情報を用いて、各入力領域の名前やグルーピングによって生成されたグループの名前(以下、まとめてラベルと呼ぶ)を付与することで、最終的なコンテンツ構成ツリー160を生成し、その生成結果をワークエリア140に格納する。
なお、コンテンツ構成ツリー160は、各ノードに属性情報として、ノード番号、ラベル、基準点および親ノード番号を持ち、各情報をそれぞれ格納する(コンテンツ構成ツリーの概念図と各ノードの属性情報の格納例を図11に示す)。コンテンツ構成ツリー160は、ワークエリアル140に格納されるが、磁気ディスク装置101に格納されてもよい。
図2はソース生成プログラムの処理手順を示す図の例である。
ソース生成プログラム124は、まず、主メモリ102または磁気ディスク装置101に格納された生成ルールリスト情報の中から、クライアント情報取得プログラム120によって取得されたクライアント情報161に基づいて適用する生成ルールを選択する(ステップ200)。たとえば、クライアント情報として、情報端末種別が携帯端末、表示形態種別がドリルダウン操作可能なコンテンツおよびファイル形式がHTMLであった場合、クライアント情報とシステムであらかじめ用意された生成ルールとの対応テーブルにより、以下に示す6つの生成ルールが適用される。
生成ルール0:HTML形式で出力。
生成ルール1:テキストと入力領域のみが表示されるように出力(テンプレート、画像、動画は削除)。
生成ルール2:入力領域の配置は、入力順に上からシリアライズして表示されるように出力。
生成ルール3:コンテンツ構成ツリーのルートのラベルを<H1>タグで出力、第2階層レベルのノードのラベルを<H2>タグで出力(最下位層のリーフを除いて第3階層以降同様)。
生成ルール4:コンテンツ構成ツリーにおける最下位層のリーフノードに関しては、ラベルを<LABEL>タグで出力し、その下に該リーフノードに対応する<INPUT>などの入力領域情報を出力する。なお、<LABEL>タグのfor属性と入力領域を示す<INPUT>のid属性を用いて、ラベルと入力領域の関連付けを行なって出力。
生成ルール5:各グループに含まれる複数の要素は<DIV>タグの中に出力。
生成ルール6:ドリルダウン操作可能なスクリプトに関する出力。
次に、上記で選択された生成ルールを用いて、コンテンツ150に対する変換後ソースを生成し、その生成結果をワークエリア140に格納する。
以下、上記で示した生成ルールによるソース生成の処理手順として、ステップ210〜ステップ227を説明する。
まず、生成ルール0および生成ルール6より、変換後ソースへタイトル情報やスクリプト情報などのヘッダ情報を出力する(ステップ210)。
コンテンツ構成ツリー生成プログラム123によって生成されたコンテンツ構成情報を用いてルートから深さ優先によって、すべてのノードを探索するまでステップ222〜ステップ227を繰り返し実行する(ステップ220)。
探索されたノードがリーフであるか否かを判定する(ステップ221)。
ステップ221の判定の結果、探索されたノードがリーフでない場合、ステップ222〜ステップ224を実行する。
まず、生成ルール3より、変換後ソースへ各ブランチノードのラベルを<H1>タグや<H2>タグなどの見出しタグで出力する(ステップ222)。
生成ルール6より、変換後ソースへ表示・非表示操作のボタンを出力する(ステップ223)。なお、ステップ223で出力する表示・非表示操作のボタンについては、表示・非表示制御のスクリプト自体はシステムで固定で用意されているものとし、ステップ223では、ボタンの出力、スクリプトの関数名の出力および関数への引数の出力のみを行なう。
生成ルール5より、生成するソースへラベルの下に<DIV>タグを出力する(ステップ224)。
ステップ221の判定の結果、探索されたノードがリーフでなくブランチノードである場合、生成ルール4より、変換後ソースへ親ノードによって出力された<DIV>の下に、<LABEL>タグでラベルを出力し、その<LABEL>タグに関連付けられた入力領域を出力する(ステップ225)。
現在のノードが1つ上の階層レベルのグループにおいて最後のノードかを判定する(ステップ226)。
ステップ226の判定の結果、現在のノードが1つ上の階層レベルのグループにおいて最後のノードである場合、生成ルール5よりより、変換後ソースへ親ノードによって出力された<DIV>の閉じタグ(</DIV>)を出力し、最終的な変換後ソースとして、ワークエリア140に格納する。(ステップ227)。
なお、前記で説明した生成ルールは、表示形態種別がドリルダウン操作可能なフォームコンテンツである場合の生成ルールであるが、グループ毎にダウンロードして参照可能なコンテンツ用の生成ルールやその他の表示形態用の生成ルールが別に用意されていても良い。また、前記で説明した生成ルールは、ファイル形式がHTMLである場合の生成ルールであるが、その他のファイル形式用の生成ルールが別に用意されていてもよい。これにより、ユーザへの幅広い対応が可能となる。
コンテンツ送信プログラム125は、ソース生成プログラム124によって生成された変換後ソースを、ネットワーク105を介してクライアント端末装置107へ配信する。
図3は、グルーピングプログラム130の処理手順を示す図の例である。
グルーピングプログラム130は、まずパーツ情報取得プログラム122によって抽出された入力領域リスト情報163に含まれるN個の入力領域に対して、ステップ301〜ステップ302をn=1〜(N−1)まで繰り返し実行する(ステップ300)。
次に、あらかじめシステムで設定されたM個の階層レベルに対して、ステップ302をm=2〜(M―1)まで繰り返し実行する(ステップ301)。なお、階層レベルmとは、階層レベル1がコンテンツ全体を表し、mが大きいほど詳細な内容に関するグルーピングを行ない、最下位階層レベルでは1グループ1入力領域となる。
次に、階層レベルmにおけるグルーピング条件を、階層レベルmに関し、n番目とn+1番目の入力領域間が同じグループに属するか否かの判定を行ない、判定結果をワークエリア140に格納する。(ステップ302)。なお、階層レベルmにおいて、n番目とn+1番目の入力領域間が同じグループと判定され、さらにn+1番目とn+2番目の入力領域間が同じグループと判定された場合、n番目〜n+2番目の入力領域は階層レベルmにおいて同じグループとみなす。また、n番目の入力領域とは、コンテンツ中でn番目に入力される入力領域を表す。
最後に、ステップ302によって階層レベル別にグルーピングされた結果をツリー構造で管理するために、コンテンツ構成ツリー160における各ノードに属性情報として親ノード番号を格納する(ステップ303)。なお、コンテンツ構成ツリー160は、各ノードの属性情報として、ノード番号、ラベル、コンテンツ内で該当する領域の基準点(以下、基準点と呼ぶ)および親ノードのノード番号を持ち、グルーピングプログラム130の処理完了時点では、ラベルおよび基準点は格納されない。
ここで、ステップ302で行なわれるn番目とn+1番目の入力領域間のグルーピング方法について詳しく説明する。
n番目とn+1番目の入力領域間のグルーピング方法については、n番目とn+1番目の入力領域間の位置関係によって、以下の8つのケースで判定ルール(以下、グルーピング条件と呼ぶ)を決めて判定を行なう。なお、以下の説明で出てくる基準点は、入力領域の左上を表す。また、最右端、最左端、最上端および最下端は、それぞれ入力領域の最も端の点を表す。
まず、n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が真右に位置する場合(以下、第1のケースと呼ぶ)、n番目の入力領域の最右端とn+1番目の入力領域の最左端との水平距離が、第1のケースにおける階層レベルmでのグルーピング条件を満たすとき、n番目とn+1番目の入力領域は階層レベルmで同じグループに属するとみなす。
n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が真下に位置する場合(以下、第2のケースと呼ぶ)、n番目の入力領域の最下端とn+1番目の入力領域の最上端との垂直距離が、第2のケースにおける階層レベルmでのグルーピング条件を満たすとき、n番目とn+1番目の入力領域は階層レベルmで同じグループに属するとみなす。
n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が右下に位置する場合(以下、第3のケースと呼ぶ)、n番目の入力領域の最右端とn+1番目の入力領域の最左端との水平距離が第3のケースにおける階層レベルmでのグルーピング条件を満たし、かつn番目の入力領域の最下端とn+1番目の入力領域の最上端との垂直距離が第3のケースにおける階層レベルmでのグルーピング条件を満たすとき、n番目とn+1番目の入力領域は階層レベルmで同じグループに属するとみなす。
n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が右上に位置する場合(以下、第4のケースと呼ぶ)、n番目の入力領域の最右端とn+1番目の入力領域の最左端との水平距離が第4のケースにおける階層レベルmでのグルーピング条件を満たすとき、かつn番目の入力領域の最上端とn+1番目の入力領域の最下端との垂直距離が第4のケースにおける階層レベルmでのグルーピング条件を満たすとき、n番目とn+1番目の入力領域は階層レベルmで同じグループに属するとみなす。
n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が左下に位置する場合(以下、第5のケースと呼ぶ)、n番目の入力領域の最下端とn+1番目の入力領域の最上端との垂直距離が第5のケースにおける階層レベルmでのグルーピング条件を満たすとき、n番目とn+1番目の入力領域は階層レベルmで同じグループに属するとみなす。
その他、n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が真左に位置する場合(以下、第6のケースと呼ぶ)、n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が真上に位置する場合(以下、第7のケースと呼ぶ)、n番目の入力領域の基準点に対してn+1番目の入力領域の基準点が左上に位置する場合(以下、第8のケースと呼ぶ)、n番目とn+1番目の入力領域は階層レベル1を除くすべての階層レベルにおいて同じグループに属さないとみなす。
図9は、グルーピング条件930を格納するグルーピング条件リスト情報900の例を示す図である。グルーピング条件情報900は、ケース番号910、n番目の入力領域に対するn+1番目の入力領域の位置関係(以下、位置関係情報920と呼ぶ)およびグルーピング条件930を列に持つテーブル構造で格納する。たとえば、第1のケースの場合、ケース番号910には“1”、位置関係情報920には“真右”、グルーピング条件930には“n番目の最右端とn+1番目の最左端との距離が10mm以内”、といった情報を格納する。グルーピング条件は階層レベルm毎に設定される。
図9のグルーピング条件リスト情報900は主メモリ102または磁気ディスク装置101に格納されている。
なお、図9で示したグループピング条件930は、一般的な入力フォームコンテンツに基づいて、n番目とn+1番目の入力領域間の相対距離に関する閾値を設定するものとしたが、コンテンツファイル150に対して実際にn番目とn+1番目の入力領域間の相対距離を抽出した上で、その平均値に基づいて動的にグルーピング条件930中の相対距離の閾値を設定するものとしてもよい。
たとえば、第2のケースの場合、グルーピング条件として“n番目の最下端とn+1番目の最上端との垂直距離が[垂直方向に関して、隣接する入力領域間の平均間隔]以内”としてもよい。このような動的な閾値設定(条件設定)により、最適なグルーピング条件の設定が容易になることや、コンテンツ間の作成基準における開発者の個人差を吸収することができる。
また、ステップ302では、入力領域の位置情報を用いてグルーピングを行なったが、パーツ情報取得プログラム122によって生成されたテキストリスト情報162のフォントサイズ情報を用いて、ある閾値以上のフォントサイズを持つテキストの位置を階層レベルmにおけるn番目とn+1番目の入力領域間をグループの境界をみなすといった方法をとってもよい。
また、パーツ情報取得プログラム122によって生成されたテキストリスト情報162のH1などの文書構造情報を用いて、階層レベルmにおけるn番目とn+1番目の入力領域間をグループの境界をみなすといった方法をとってもよい。これらフォントサイズや文書構造情報と、位置情報を併用してグルーピング処理を行なうことで、グルーピングの精度が高くなる。
図4は、ラベル付与プログラム130の処理手順を示す図の例である。
ラベル付与プログラム130は、まず、コンテンツ構成ツリー160のM個の階層レベルに対し、ステップ410〜ステップ417をm=M〜1まで繰り返す(ステップ400)。
次に、階層レベルが最下位階層レベルであるかどうか(m=Mであるかどうか)を判定する(ステップ410)。
ステップ410の判定の結果、階層レベルが最下位階層レベル(m=M)である場合、コンテンツ全体に含まれるN個の入力領域に対し、ステップ412〜ステップ414をn=1〜Nまで繰り返し実行する(ステップ411)。
次に、n番目の入力領域の基準点を領域の左上として設定し、ワークエリア140に格納する(ステップ412)。
次に、n番目の入力領域の基準点に対し、テキストリスト情報162に格納されているコンテンツ中のテキストの中から上方向と左方向(左より上優先)で最も近い距離にあるテキストを、n番目の入力領域のラベルとして抽出し、そのラベルをコンテンツ構成ツリー160における階層レベルMのn番目のノードの属性情報として、ワークエリア140に格納する(ステップ413)。
次に、ラベルを含めたn番目の入力領域の基準点を、ラベル領域の左上とし、その基準点をコンテンツ構成ツリー160における階層レベルMのn番目のノードの属性情報として、ワークエリア140に格納する(ステップ414)。なお、ステップ413でラベルが抽出できなかった場合には、ステップ412で設定した入力領域の左上を基準点とする。
次に、ステップ410の判定の結果、階層レベルが最下位階層レベルでない場合、階層レベルmに含まれるN個のグループに対し、ステップ415〜ステップ417をn=1〜Nまで繰り返し実行する(ステップ415)。
次に、n番目のグループに含まれる要素(子ノード)の中で、最も左上(左より上優先)の基準点をもつ要素の基準点をn番目のグループの基準点として、ワークエリア140に格納する(ステップ416)。
次に、前記ステップ416で設定されたn番目のグループの基準点に対し、テキストリスト情報162に格納されているコンテンツ中のテキストの中から上方向と左方向(左より上優先)で最も近い距離にあるテキストであって、未だラベルとして抽出されていないテキストを、n番目のグループのラベルとして抽出し、そのラベルをコンテンツ構成ツリー160における該ノードの属性情報として、ワークエリア140に格納する(ステップ417)。
なお、未だラベルとして抽出されていないテキストがn番目のグループではないグループに属してしまう場合や、未だラベルとして抽出されていないテキストが無い場合には、n番目のグループの基準点のノードのラベルを、n番目のグループのラベルとする。
次に、ラベルを含めたn番目のグループの基準点を、ラベル領域の左上とし、その基準点をコンテンツ構成ツリー160における該ノードの属性情報として、ワークエリア140に格納する(ステップ418)。
なお、隣接する入力領域間が間隔なく配置されているグループについては、n行×m列のテーブル(表)構造とみなし、1行目の各列に付与されたラベルを、n行目以降の各列にも同じラベル付与する。例えば、1行目の1列目の入力領域に付与されたラベルは、2行目の1列目の入力領域に付与されるラベルとしても使われる。
また、本実施例におけるグループのラベル抽出方法は、グループ(ノード)の基準点に対し、テキストリスト情報162に格納されているコンテンツ中のテキストの中から上方向と左方向で最も近い距離にあるテキストをラベルとして抽出するものとしたが、距離に関する閾値を抽出条件として設定してもよい。これにより、誤ったラベル付与が少なくなる。
また、本実施例におけるグループのラベル抽出方法は、グループ(ノード)の基準点に対し、テキストリスト情報162に格納されているコンテンツ中のテキストの中から上方向と左方向で最も近い距離にあるテキストをラベルとして抽出するものとしたが、グループの中に含まれる要素(子ノード)のラベルの中から代表値として抽出してもよいし、他のコンテンツによるトレーニングデータによって、トレーニングデータ中でラベル付与したいグループと類似するグループに付与されたラベルを用いてもよい。これにより、コンテンツ中にラベルに該当するテキストが存在しない場合でも、各パーツやグループにラベルを付与することができる。
パーツ情報取得プログラム122の具体的な処理例を図5〜図8を用いて説明する。
図5は、クライアント端末からアクセスされたHTMLコンテンツの商品注文フォームの例(以下、コンテンツ500と呼ぶ)である。また、図6は、図5の商品注文フォームを表示するためのコンテンツファイル中のHTMLソース(以下、HTMLソース600と呼ぶ)の例である。
まず、コンテンツ取得プログラム121によって取得された図6に示すHTMLソース600に対し、SPANタグで囲まれたテキスト、およびそれらのテキストの位置情報(以下、基準点と呼ぶ)やフォントサイズを抽出し、テキスト番号700、テキスト情報710、位置情報720およびフォントサイズ730を列に持つテーブル構造でテキストリスト情報162へ格納する。
図7はテキストリスト情報162の例である。テキストリスト情報162として全部で13個のテキストが抽出されており、図6に示すHTMLソース600の11行目に対し、1番目のテキストとして、テキスト情報710に“---PC Parts Order form---”、基準点720に“X:10mm Y:10mm”、フォントサイズ730に“30pt”が出力されている。
次に、コンテンツ取得プログラム121によって取得された図6に示すHTMLソース600に対し、INPUTタグとSELECTタグの入力領域、およびそれら入力領域の基準点や領域サイズを抽出し、テーブル構造として入力領域番号800、入力領域情報810、位置情報820および領域サイズ830を列に持つテーブル構造で入力領域リスト情報163へ格納する。
図8は、入力領域リスト情報163の例である。入力領域リスト情報163として全部で9個の入力領域が抽出されており、図6に示すHTMLソース600の16行目に対し、1番目の入力領域として、入力領域情報810に“<INPUT type=”text”>”、基準点820に“X:20mm Y:45mm”、領域サイズ830に“width:20mm height:5mm”が出力されている。
本実施例におけるWebコンテンツ提供システムについて、コンテンツ500に対し、3つの階層レベルを持つコンテンツ構成ツリーを生成する場合のコンテンツ構成ツリー生成プログラム123の具体的な処理の流れを図6〜図9を用いて説明する。
グルーピングプログラム130は、図8に示す入力領域リスト情報163を読み込み、各階層レベル(2〜M−1)に対して、入力順が隣り合う入力領域間が同じグループに属するか否かを、主メモリ102または磁気ディスク装置101に格納されたグルーピング条件リスト900に基づいて判定する。なお、グルーピング条件リスト900は、ケース番号910、位置関係情報920およびグルーピング条件930をテーブル構造で持つ。
図9は、階層レベル2におけるグルーピング条件リスト900の例である。図7および図8の例では、階層レベル2のグルーピング処理に関して、まず図8に示す入力領域リスト情報163より、1番目の入力領域に対する2番目の入力領域の位置関係は“真右”であることから、図9に示すグルーピング条件リスト900における第1のケースを用いる。
そして、入力領域リスト情報163に示されている基準点と領域サイズの情報より、1番目の入力領域の最右端と2番目の入力領域の最左端との水平距離が5mmであることから、グルーピング条件900における第1のケースの条件である“n番目の入力領域の最右端とn+1番目の入力領域の最左端との水平距離が50mm以内”を満たす。この結果、1番目の入力領域と2番目の入力領域は階層レベル2において同じグループとみなす。
次に、入力領域リスト情報163より、2番目の入力領域に対する3番目の入力領域の位置関係は“左下”であることから、グルーピング条件900における第5のケースを用いる。そして、入力領域リスト情報163に示されている基準点と領域サイズの情報より、2番目の入力領域の最下端と3番目の入力領域の最上端との垂直距離が7mmであることから、グルーピング条件900における第5のケースの条件である“n番目の入力領域の最下端とn+1番目の入力領域の最上端との垂直距離が10mm以内”を満たす。この結果、2番目の入力領域と3番目の入力領域は階層レベル2において同じグループとみなす。
次に、入力領域リスト情報163により、3番目の入力領域に対する4番目の入力領域の位置関係は“右下”であることから、グルーピング条件900における第3のケースを用いる。そして、入力領域リスト情報163に示されている基準点と領域サイズの情報より、1番目の入力領域の最下端と2番目の入力領域の最上端との垂直距離が20mmであることから、グルーピング条件900における第3のケースの条件である“n番目の入力領域の最下端とn+1番目の入力領域の最上端との垂直距離が10mm以内”を満たさない。この結果、3番目の入力領域と4番目の入力領域間は階層レベル2において異なるグループ、すなわちグループの境界とみなす。
この結果、1番目から3番目までの入力領域が階層レベル2における1つのグループとみなされ、4番目の入力領域が次のグループの先頭となる。
このように、入力順が隣接するすべての入力領域間に対して、上記のように各階層レベルでグルーピング判定を行ない、グループを生成していく。そして、グルーピング結果は、ノード番号、ラベル、基準点および親ノード番号を各ノードの属性情報として持つ図10に示すようなツリー構造で管理され、グルーピングプログラム130終了時点におけるコンテンツ構成ツリー1000を生成する。
図10では、1番目から3番目までの入力領域をノード番号5〜7のノードとし、これを束ねるグループをブランチノードとしてノード番号2とする。また、ノード番号2〜4の3つのブランチノードはコンテンツ全体を表す階層レベル1のルートノードに束ねられる。コンテンツ構成ツリーのデータ構造は、例えば、リーフからルート方向へ順次1つ上位階層のノードのデータ格納領域へのポインタを指定してツリー構造を形成する。また、ルートからリーフ方向へ順次1つ下位階層のノードのデータ格納領域へのポインタを指定して、ツリー構造を形成することもできる。また、ルートからリーフ方向、リーフからルート方向の両方のポインタをノードが有することもできる。
なお、図10で示すようにコンテンツ構成ツリー1000の各ノードの属性情報であるラベルと基準点は、グルーピングプログラム130の実行完了時点ではまだ格納されない。
また、本実施例では、入力領域のみを対象としてグルーピングを行なっているが、入力領域だけでなく、一般的にWebコンテンツに対してはテキストや画像などをグルーピング処理の対象としてもよい。
なお本実施例では、コンテンツ構成ツリー生成プログラム123が、グルーピングプログラム130を起動し、グルーピングプログラム130が、グループの生成とコンテンツ構成ツリー1000の生成を行っているが、グルーピングプログラム130はグループの生成だけ行い、コンテンツ構成ツリー生成プログラム123が、コンテンツ構成ツリー1000の生成を行ってもよい。
ラベル付与プログラム131は、階層レベルM(最下位層レベル)から階層レベル1の順で、図10に示すコンテンツ構成ツリー1000の各ノードにおけるラベルの抽出および基準点の設定を行なう。
階層レベルが階層レベルM(最下位層レベル)のリーフノードの場合、各入力領域の基準点を領域の左上とした上で、テキストリスト情報162および入力領域リスト情報163を用いて、n番目の入力領域の基準点に対し、上方向あるいは左方向(左より上優先)で、位置的に最も近いテキストをn番目の入力領域のラベルとして抽出し、ラベルを含めたn番目の入力領域の基準点を再設定する。
図7および図8の例では、入力領域リスト情報163より1番目の入力領域の基準点“X:20mm Y:45mm”に対し、テキスト情報162より3番目のテキストの基準点“X:20mm Y:40mm”が位置的に最も近いため、1番目の入力領域のラベルとして、3番目のテキスト“First Name”が抽出され、抽出結果は図11で示すラベル付与プログラム131実行時におけるコンテンツ構成ツリー(以下、コンテンツ構成ツリー1100と呼ぶ)のノード番号5(1番目の入力領域)のノードに属性情報として格納されている。
さらに、ラベルを含めた1番目の入力領域の基準点を、ラベル(4番目のテキスト)の基準点“X:20mm Y:40mm”として再設定され、コンテンツ構成ツリー1100のノード番号5(1番目の入力領域)のノードに属性情報として格納されている。
このように、コンテンツ500に含まれるすべての入力領域に対して、上記示した同様の処理を行なうことで、階層レベルM(最下位層レベル)の各ノードのラベル名および基準点が、コンテンツ構成ツリー1100の各ノードの属性情報として格納される。
次に、階層レベルが階層レベルM(最下位層レベル)以外のブランチノードの場合、テキストリスト情報162および入力領域リスト情報163を用いて、ノード番号nの基準点に対し、上方向あるいは左方向(左より上優先)で位置的に最も近いテキストであって、未だラベルとして抽出されていないテキストをノード番号nのラベルとして抽出し、ラベルを含めたノード番号nの基準点を再設定する。
図7および図8の例では、図10に示すコンテンツ構成ツリー1000のノード番号2に関して、ノード番号2に属する要素(子ノード)の中で、最も左上(左より上優先)の基準点をもつノード番号5(1番目の入力領域)の基準点“X:20mm Y:45mm”がノード番号2の基準点に設定される。そのノード番号2の基準点に対し位置的に最も近いテキストの基準点はテキストリスト情報162の3番目のテキスト情報“First Name”であるが、これはすでにリーフノードとしてノード番号:5のラベルに使用されている。そこで、テキストリスト情報162の2番目のテキストの基準点“X:15mm Y:30mm”が未だラベルとして抽出されておらず位置的に最も近いテキスト情報であるため、ノード番号2のラベル名として、2番目のテキスト“1.Apply person Information”が抽出され、抽出結果がコンテンツ構成ツリー1100のノード番号2のノードに属性情報として格納されている。さらに、ラベルを含めたノード番号2の基準点をラベル(4番目のテキスト) の基準点“X:15mm Y:30mm”として再設定され、図11で示すコンテンツ構成ツリー1100のノード番号2のノードに属性情報として格納されている。
このように、階層レベルが階層レベルM(最下位層レベル)以外のすべてのノードに対して、上記示した同様の処理を行なうことで、階層レベルが階層レベルM(最下位層レベル)以外の各ノードのラベルおよび基準点が、コンテンツ構成ツリー1100の各ノードの属性情報として格納される。
なお、本具体例におけるグルーピングプログラム130では、グルーピング方法として各入力領域の位置情報(基準点)を用いて行なったが、図7に示すテキストリスト情報162のフォントサイズ情報を用いて、ある閾値以上のフォントサイズを持つテキストの位置を階層レベルmにおける入力領域間のグループ境界とみなすという方法をとってもよい。
たとえば、フォントサイズが20pt以上あるテキストの位置を階層レベル2におけるグループの境界とみなすというグルーピング条件が設定されていた場合に、図7および図8の例では、テキストリスト情報162の1番目のテキスト“---PC Parts Order form---”と6番目のテキスト“2.Purchase Commodity”が20ptのフォントサイズを持つので、入力領域リスト情報163の3番目と4番目の入力領域間が、階層レベル2におけるグループの境界とみなされ、1番目〜3番目の入力領域が階層レベル2における1つのグループとみなされる。
本実施例におけるWebコンテンツ提供システムについて、ソース生成プログラム124の具体的な処理の流れを図7〜図12を用いて説明する。
本実施例では、クライアント情報として、情報端末種別が携帯端末、表示形態種別がドリルダウン操作可能なコンテンツおよびファイル形式がHTMLとし、図6に示すHTMLソース600から図12に示す変換後HTMLソース1200へ変換する例を示す。
まず、クライアント情報取得プログラム120によって取得されたクライアント情報を解析することで、主メモリ102または磁気ディスク装置101に格納された生成ルールリスト情報とクライアント情報との対応テーブルにより、適用する生成ルールを選択する。本具体例では、以下に示す6つの生成ルールを適用するものとする。
生成ルール0:HTML形式で出力。
生成ルール1:テキストと入力領域のみが表示されるように出力(テンプレート、画像、動画は削除)。
生成ルール2:入力領域の配置は、入力順に上からシリアライズして表示されるように出力。
生成ルール3:コンテンツ構成ツリーのルートノードのラベルを<H1>タグで出力、第2階層レベルのブランチノードのラベルを<H2>タグで出力(最下位層のリーフノードを除いて第3階層以降同様)。
生成ルール4:コンテンツ構成ツリーにおける最下位層のリーフノードに関しては、ラベルを<LABEL>タグで出力し、その下に該ノードに対応する<INPUT>などの入力領域情報を出力する。なお、<LABEL>タグのfor属性と入力領域を示す<INPUT>のid属性を用いて、ラベルと入力領域の関連付けを行なって出力。
生成ルール5:各グループに含まれる複数の要素は<DIV>タグの中に出力。
生成ルール6:ドリルダウン操作可能なスクリプトに関する出力。
まず、変換後HTMLソース1200へヘッダ情報を出力する。図12の例では、1行目から6行目に、<HTML>タグ、<HEAD>タグ、タイトル情報“<TITLE>○○ Shop Order form</TITLE>”、生成ルール6よりスクリプト情報“<script type="text/javascript" src="script.js"></script>”、および<BODY>タグが出力されている。
コンテンツ構成ツリー生成プログラム123によって生成された図11に示すコンテンツ構成ツリー1100を用いてルートから深さ優先によって、すべてのノードを探索する。
探索されたノードがリーフでない場合、生成ルール3より、変換後HTMLソース1200へノードのラベルを<H1>タグや<H2>タグなどの見出しタグで出力し、さらに生成ルール6より、表示・非表示操作のボタンを出力する。
図12の例では、図11に示すコンテンツ構成ツリー1100のノード番号2のブランチノードに対して、変換後HTMLソース1200の10行目に“<H2>1.Apply person Information <INPUT type="button" id="bid1" value="open" onClick="open_close('gid1','bid1')"> </H2>”が出力されている。なお、表示・非表示操作については、表示・非表示制御のスクリプトはシステム固定で用意されているものとし、ソース生成プログラム124では、ボタンの出力、スクリプトの関数名の出力および関数への引数の出力として“<INPUT type="button" id="bid1" value="open" onClick="open_close('gid1','bid1')">”のみの出力を行なう。図13に表示・非表示制御スクリプトのソース例を示す。
探索されたノードがリーフでない場合、生成ルール5より、変換後HTMLソース1200へラベル名の下に<DIV>タグを出力し、さらに生成ルール6より、<DIVタグ>の中に表示・非表示操作に関する制御情報を出力する。図12の例では、コンテンツ構成ツリー1100のノード番号1のノードに対して、12行目に“<div id="gid0" style="display:none">”が出力されており、その<DIV>タグの内側である13行目〜54行目にノード番号1のノードにおける子ノードの情報が出力されている。
探索されたノードがリーフである場合、生成ルール4より、図11に示すコンテンツ構成ツリー1100に格納されているノード番号順に、親ノードによって変換後HTMLソース1200へ出力された<DIV>の内側へ、ノードの属性情報として格納されているラベルを<LABEL>タグで出力し、さらに図8に示す入力領域リスト情報163に格納されている<LABEL>タグに関連付けられた入力領域情報を出力する。
図12の例では、ノード番号5(1番目の入力領域)に対して、変換後ソース1200の14行目に“<LABEL for="gid1-1">First Name</LABEL>”、15行目に“<INPUT type="text" id="gid1-1">”がそれぞれ出力されている。なお、14行目の<LABEL>タグと15行目の<INPUT>タグは、それぞれfor属性とid属性で関連付けられている。
現在のノードが1つ上の階層レベルのグループにおいて最後のノードである場合、生成ルール5より、変換後HTMLソース1200に対し、1つ上の親ノードによって出力された<DIV>タグを閉じる(</DIV>を出力する)。図12の例では、55行目にノード番号1に関して出力された<DIV>タグの閉じタグとして“</div>”が出力されている。
コンテンツ構成ツリー1100のすべてのノードへの探索が終了したら、変換後HTMLソース1200へフッダ情報を出力し、最終的な変換後HTMLソース1200が生成される。図12の例では、57行目〜58行目に<HTML>タグの閉じタグおよび<BODY>タグの閉じタグが出力されており、最終的な変換後HTMLソース1200が生成されている。
図14は、HTML形式の注文フォーム1400が生成される例を示す図である。注文フォーム1400では、コンテンツ構成ツリー1100のノード番号1の子ノードに関するラベルを展開した例である。この注文フォーム1400に配置されているノード番号2に関する” 1.Apply person Information”のOPENボタンを押下することで、図14の注文フォーム1401に示すように、ノード番号2の子ノードに関するラベルや入力領域が展開され。このようにドリルダウン操作可能なコンテンツにより、ユーザはコンテンツの全体像を容易に把握できるとともに、必要な情報へ効率よくアクセスでき、かつ必要な情報のみを表示することができる。
クライアント情報取得プログラム120によって取得されたクライアント情報161は、例えばクライアント端末の画面解像度や画面サイズなどの画面情報である。この場合、複数の生成ルールが画面解像度や画面サイズなどの画面情報に対応付けられて生成ルールリスト情報に格納されている。ソース生成プログラムは、クライアント情報161の画面情報に適合するソースを生成する生成ルールを、生成ルールリスト情報の中から取得する。例えばクライアント情報161が画面サイズが小さい携帯電話の画面サイズである場合には、ツリーのラベル情報を全てドリルダウン可能な形で1画面に表示できるようなソースを生成する生成ルールを選択する。
本発明の第一の実施形態によれば、ソース中にコンテンツの構成を表す論理構造情報を持たない場合でも、レイアウト情報を用いることで、コンテンツの構成を認識できるため、ユーザがコンテンツの全体像を容易に把握でき、必要な情報へ効率よくアクセスできるコンテンツを提供することができる。また、新たに生成されるソースには構成情報を含むので、コンテンツの論理構造を考慮した効率のよい表示が可能なコンテンツを提供することができる。
本実施例によれば、ソース中にコンテンツの構成を表す論理構造情報を持たないWebコンテンツでも、レイアウト情報からコンテンツの構成を表すコンテンツ構成ツリーを生成し、生成したコンテンツ構成ツリーを用いることで、Webコンテンツの全体像をエンドユーザが容易に把握できるようなソースへ変換可能である。たとえば、生成されたコンテンツ構成ツリーを用いることで、小さな画面でも一目で全体構成を把握できるようなドリルダウン可能なソース、グループ毎にダウンロードして参照することが可能なソース、または複雑なレイアウトを持つコンテンツに対し、シリアライズされたシンプルなソースへ変換可能である。
次に、本発明の第二の実施例について説明する。
第一の実施例では、既存のコンテンツに対するコンテンツ構成ツリーを生成し、そのコンテンツ構成ツリーを用いて、ユーザがコンテンツの全体像を容易に把握できるようなソースを再生成するものであった。しかし、ユーザが全盲者の場合は、図14に示すように表示させるだけでは、コンテンツの全体像を把握できない。
そこで、第二の実施例では、ブラウザ側でコンテンツ構成ツリー生成プログラム123がコンテンツ構成ツリー160を生成し、そのコンテンツ構成ツリー160を用いることで、コンテンツの構成の読み上げを行なう。
本実施例は、図1に示した第一の実施例とほぼ同様の構成を取るが、システム制御プログラム110におけるソース生成プログラム124およびコンテンツ送信プログラム125の代わりに、図15で示すシステム制御プログラム110aではコンテンツ構成読み上げプログラム126が新たに加わる。
コンテンツ構成読み上げプログラム126は、まずコンテンツ構成ツリー生成プログラム123によって生成されたコンテンツ構成ツリー160を解析することで、コンテンツ全体の入力領域の数、階層レベルの数、各階層レベルにおけるグループ数、各グループのラベルやグループに属する子ノードなどの情報を取得する。
前記ステップの解析結果に対して、音声合成技術等を用いて、ブラウザ側で用意されているテキストなど音声への変換元情報(以下、音声値と呼ぶ)とコンテンツ構成ツリー160の解析結果によって動的に変更する音声値を組み合わせて、コンテンツの構成を読み上げる。
本実施例におけるコンテンツ構成読み上げブラウザについて、コンテンツ構成読み上げプログラム126の具体的な処理例を図11を用いて説明する。
コンテンツ構成読み上げプログラム126は、まずコンテンツ構成ツリー生成プログラム123によって生成された図11に示すコンテンツ構成ツリー1100を解析し、コンテンツ全体の入力領域の数、階層レベルの数、各階層レベルにおけるグループ数、各グループのラベルや属する子ノードなどの情報を取得する。
図11の例では、コンテンツ全体の入力領域の数“9”、階層レベルの数“3”、階層レベル2におけるグループ数“3”、ノード番号2のノードの属性情報として、ラベル“1.Apply person Information”、ノード番号2に属する子ノード“ノード番号1〜3”といった情報が取得される。
ブラウザ側で用意されている音声値とコンテンツ構成ツリー1100の解析結果によって動的に変更する音声値を組み合わせて、コンテンツの構成を読み上げる。図11の例では、ブラウザ側であらかじめ用意されている固定の音声値“本コンテンツは”および“グループから構成されます”と、解析結果によって動的に生成された音声値“3”を組み合わせて、“本コンテンツは3グループから構成されます”といった音声が、コンテンツを読み込んだタイミングで読み上げられる。または読み上げ可能な状態となる。
このように、ブラウザ側で用意されている固定の音声値とコンテンツ構成ツリーの解析結果によって動的に変更される音声値を組み合わせることで、コンテンツ構成ツリー160が保持しているコンテンツの構成情報を読み上げることができる。
本発明の第二の実施形態によれば、ブラウザ側でコンテンツ構成ツリーを生成し、コンテンツ構成ツリーを用いることで、コンテンツの入力領域の構成情報の概要を読み上げることができる。これにより、利用するユーザが全盲者の場合であっても、コンテンツの構成を容易に把握することができる。
また、スタイルシートなどを多用した複雑なコンテンツファイルは、入力領域とそれを説明するテキスト情報とが読み上げブラウザではうまく把握できず、全盲者は入力領域に対する入力ミスをしてしまう可能性がある。このような場合にも本実施例のように複雑なコンテンツファイルの位置情報を用いて、コンテンツ構成ツリーを生成し、テキスト情報と入力領域を1行ずつ表示することで、読み上げブラウザでも確実に読み上げることが可能になり、アクセシビリティーが向上する。
次に、本発明の第三の実施例について説明する。第一の実施例では、既存のコンテンツファイルのソース中に、あらかじめ各テキストや入力領域の位置情報が絶対値で指定されている場合の、パーツ情報取得プログラム122およびコンテンツ構成ツリー生成プログラム123の実現方法を示した。しかし、HTML形式の場合では、それらの位置情報が指定されていない場合もある。そこで、第三の実施例では、コンテンツファイルのソース中に各パーツの位置情報が指定されていない場合における実施形態ついて説明する。
本実施例は、図1に示した第一の実施例と同様の構成を取るが、各パーツの位置情報やサイズを抽出するパーツ情報取得プログラム122の処理手順が異なる。
パーツ情報取得プログラム122aは、まず、コンテンツ取得プログラム121によって取得されたコンテンツファイルの中から、システムであらかじめ決められたテキストや入力領域などのパーツを抽出する。その取得結果を、テキストについてはテキストリスト情報162、入力領域については入力領域リスト情報163として、ワークエリア140に格納する。
前記で抽出されたパーツを、プログラム上で定義された仮想画面上に配置させることで、パーツの位置情報やサイズをピクセル単位で抽出する。コンテンツファイルのソースに基づいて、各パーツが、ピクセルを単位とした仮想画面上のどの位置に、どのサイズで配置されるかについては、主メモリ102または磁気ディスク装置101に格納された仮想画面配置ルールリスト情報166に示されている。以下、仮想画面配置ルールリスト情報166に格納されたHTML形式の場合の仮想画面配置ルールを示す。
・コンテンツ全体の基準点は仮想画面上の左上とする(X:0px、Y:0px)。
・サイズに関するすべてのHTML要素に対する仮想画面上への変換定義(たとえば、“<INPUT type=‘text’ size=‘10’>”に対しては、仮想画面上にwidth:3、height:10のサイズで変換する)。
・ソース中で隣接するテキストおよびHTML要素間の配置間隔に関して、想定されるすべてのケースの配置間隔を定義(例えば、HTMLソース中の記述で隣接する“<INPUT type=‘radio’>”と“<LABEL>”に関しては、“<INPUT type=‘radio’>“の右上の点から、右方向に1px平行移動した点を、“<LABEL>”の基準点とする)。
以上の仮想画面配置ルールに基づいて仮想画面上に各パーツが配置された結果、仮想画面上における各パーツの位置情報をX:○○、Y:××、サイズをwidth:△△、height:□□の形で抽出し、テキストの位置情報やフォントサイズ情報はテキストリスト情報162、入力領域の位置情報や領域サイズ情報は入力領域リスト情報163をそれぞれワークエリア140に格納する。
本実施例におけるWebコンテンツ提供システムについて、第一の実施例とは異なるパーツ情報取得プログラム122aの具体的な処理例を図16〜図19を用いて説明する。
コンテンツ取得プログラム121によって取得された図16に示すHTMLソース1600に対し、FONTタグで囲まれたテキスト、およびそれらのテキストのフォントサイズを抽出することで、それらの情報をテキストリスト情報162へ格納する。
図18は、テキストリスト情報162の例である。テキストリスト情報162として全部で13個のテキストが抽出されており、図16に示すHTMLソース1600の7行目に対し、1番目のテキストとして、テキスト“---PC Parts Order form---”、フォントサイズ“7”が出力されている。
図19は、入力領域リスト情報163の例である。入力領域を抽出し、入力領域リスト情報163へ格納する。入力領域リスト情報163として全部で9個の入力領域が抽出されており、図16に示すHTMLソース1600の14行目に対し、1番目の入力領域として、入力領域“<INPUT type=”text”>”が出力されている。
仮想画面配置ルール166に基づいて、入力領域の領域サイズを求め、仮想画面上に各パーツを配置することで、各パーツの位置情報(基準点)を抽出し、それらの情報をテキストリスト情報162および入力領域リスト情報163へそれぞれ格納する。本実施例では、以下に示す仮想画面配置ルール(本実施例で使用されるルールのみ)に基づいて、仮想画面上に各パーツを配置していくものとする。
配置ルール1:コンテンツ全体の基準点は仮想画面左上の(X、Y)=(0、0)とする。
配置ルール2:<FONT>や<LABEL>の領域サイズ(以下、テキスト領域と呼ぶ)に関しては、縦のサイズについては、width:(size属性の値又はデフォルト値3)pxとする(横のサイズについては、size属性、各文字の種類や文字種、領域内の余白、文字間隔によって決定する。詳細ルールについては省略)。
配置ルール3:<INPUT>の領域サイズは、width:3、height:(size属性の値)、とする。
配置ルール4:<INPUT type=‘radio>の領域サイズは、width:px、height:3とする。
配置ルール5:<SELECT>の縦の領域サイズについては、width:3pxとする(横の領域サイズについては、size属性、各文字の種類や文字種、領域内の余白、文字間隔によって決定する。詳細ルールについては省略)。
配置ルール6:<BR>の次の要素の基準点(左上)は、(X、Y)=(0、<BR>の前の要素領域における下端のY軸座標+2)とする。
配置ルール7:ソース中の記載で隣接する入力領域に対する<HR>(入力領域の方が前)の基準点は、(X、Y)=(0、入力領域の下端のY座標+2)とする。
配置ルール8:ソース中の記載で隣接する<HR>に対する<INPUT>(HR要素の方が前)の基準点は、(X、Y)=(0、<HR>の基準点のY座標+2)とする。
配置ルール9:ソース中の記載で隣接するテキスト領域に対する入力領域(テキスト領域の方が前)の基準点(左上)は、(X、Y)=(テキスト領域の右端のX座標+2、テキスト領域の基準点のY座標)とする。
配置ルール10:ソース中の記載で隣接する入力領域に対するテキスト領域(入力領域の方が前)の基準点(左上)は、(X、Y)=(入力領域の右端のX座標+2、入力領域の基準点のY座標)とする。
図17は、上記の仮想画面配置ルールに基づいて、図16のHTMLソース1600を仮想画面上に配置した結果を示す図の例である。
仮想画面の左上を(X、Y)=(0、0)とし、1マス1pxを表している。この仮想画面1700への配置結果より、各パーツの位置情報(基準点)を抽出する。テキストリスト情報162の2番目のテキスト“1.Apply person Information”に対して、配置ルール1、2,6,7,8により、基準点720に“X:0、Y:11”が出力されている。また、入力領域リスト情報163の1番目の入力領域“<INPUT type=”text”>”に対して、配置ルール1、3,6,7,8により、基準点820に“X:11、Y:18”、領域サイズ830に“width:3、height:10”が出力されている。
なお、本実施例では仮想画面配置ルールリスト情報166に基づいて、図17のような仮想画面を表示したが、仮想画面は一ルールリスト情報166を使用せず、標準のブラウザを使用してもよい。この場合には内部的にコンテンツファイルの表示を標準のブラウザでおこない、この表示の座標情報を取得することで各入力領域情報やテキスト情報の基準点を取得して、入力領域リスト情報163,テキストリスト情報162に格納してもよい。例えばブラウザ上に表示された入力領域情報やテキスト情報の基準点をブラウザの左上端からの絶対値座標として取得すればよい。
以上説明したように、本発明の第三の実施形態によれば、コンテンツファイルのソース中に各パーツの位置情報が指定されていない場合においても、プログラムで仮想画面を定義することで、仮想画面上に配置された各パーツの位置情報やサイズを抽出し、それらの情報を用いてコンテンツ構成ツリーを生成することができる。
本発明の第一の実施例におけるコンテンツ配信システムの全体構成を示す図の例である。 本発明の第一の実施例におけるソース生成プログラム124を説明するPAD図の例である。 本発明の第一の実施例におけるグルーピングプログラム130を説明するPAD図の例である。 本発明の第一の実施例におけるラベル付与プログラム131を説明するPAD図の例である。 本発明の第一の実施例における変換対象コンテンツの画面表示例の図である。 本発明の第一の実施例における図5に示すコンテンツファイルのソース例の図である。 本発明の第一の実施例におけるパーツ情報取得プログラム122によって生成される図6のソースに対するテキストリスト情報の例を説明する図である。 本発明の第一の実施例におけるパーツ情報取得プログラム122によって生成される図6のソースに対する入力領域リスト情報の例を説明する図である。 本発明の第一の実施例におけるグルーピングプログラム130のグルーピング条件の例を説明する図である。 本発明の第一の実施例におけるグルーピングプログラム130によって生成されるコンテンツ構成情報ツリーの例を説明する図である。 本発明の第一の実施例におけるラベル付与プログラム131によって生成されるコンテンツ構成情報ツリーの例を説明する図である。 本発明の第一の実施例におけるソース生成プログラム124によって生成される変換後のソースの例を説明する図である。 本発明の第一の実施例におけるソース生成プログラム124によって使用される変換後のソースのスクリプト例を説明する図である。 本発明の第一の実施例におけるソース生成プログラム124によって生成される変換後のソースで実現可能なコンテンツの画面表示例を説明する図である。 本発明の第二の実施例におけるコンテンツ構成読み上げブラウザの全体構成を示す図である。 本発明の第三の実施例におけるコンテンツファイルのソース例の図である。 本発明の第三の実施例におけるパーツ情報取得プログラム122aによって図16に示すソースを仮想画面上に配置した例の図である。 本発明の第三の実施例におけるパーツ情報取得プログラム122aによって生成される図16に示すソースに対するテキストリスト情報の例を説明する図である。 本発明の第三の実施例におけるパーツ情報取得プログラム122aによって生成される図16に示すソースに対する入力領域リスト情報の例を説明する図である。
符号の説明
100…中央演算処理装置(CPU)
101…磁気ディスク装置
102…主メモリ
103…フロッピー(登録商標)ディスクドライブ(FDD)
104…バス
105…ネットワーク
106…フロッピー(登録商標)ディスク
107…クライアント端末装置
110…システム制御プログラム
120…クライアント情報取得プログラム
121…コンテンツ取得プログラム
122…パーツ情報取得プログラム
123…コンテンツ構成ツリー生成プログラム
124…ソース生成プログラム
125…コンテンツ送信プログラム
130…グルーピングプログラム
131…ラベル付与プログラム
140…ワークエリア
150…コンテンツファイル

Claims (17)

  1. コンテンツ解析装置によるコンテンツ解析方法であって、
    パーツ情報取得部は、コンテンツファイルを解析し、該コンテンツファイルのテキスト情報をその位置情報と対応付けたテキストリスト情報を格納し、入力領域情報をその位置情報と対応付けた入力領域リスト情報を格納し、
    グルーピング部は、前記入力領域リスト情報から、それぞれの前記入力領域情報の間の位置関係が所定の条件を満たす場合に、前記条件を満たす前記入力領域情報をグループとして抽出し、
    ツリー情報生成部は、前記抽出したグループに基づき、前記入力領域情報をノードに格納したツリー構造のコンテンツ構成ツリー情報を生成し、
    ラベル付与部は、前記コンテンツ構成ツリー情報の各ノードの前記入力領域情報に対応するテキスト情報を前記テキストリスト情報から取得し、前記各ノードのラベルとして前記コンテンツ構成ツリー情報に格納し、
    ソース生成部は、前記コンテンツ構成ツリー情報から出力ファイルを生成する
    ことを特徴とするコンテンツ解析方法。
  2. 請求項1に記載のコンテンツ解析方法であって、
    前記所定の条件は、それぞれの前記入力領域情報の間の距離が所定の値以下であることを特徴とするコンテンツ解析方法。
  3. 請求項1又は2に記載のコンテンツ解析方法であって、
    前記各ノードの前記入力領域情報に対応するテキスト情報は、前記入力領域情報との間の位置関係が所定の条件を満たすテキスト情報であることを特徴とするコンテンツ解析方法。
  4. 請求項3に記載のコンテンツ解析方法であって、
    前記所定の条件は、前記テキスト情報と前記入力領域情報との間の距離が所定の値以下であることを特徴とするコンテンツ解析方法。
  5. 請求項1乃至4のいずれか1項に記載のコンテンツ解析方法であって、
    前記コンテンツ構成ツリー情報は、前記グループをブランチとし、該グループに属する複数の前記入力領域情報をリーフとするツリー構造のコンテンツ構成ツリー情報であることを特徴とするコンテンツ解析方法。
  6. 請求項1乃至5のいずれか1項に記載のコンテンツ解析方法であって、
    前記出力ファイルの生成は、前記コンテンツ構成ツリー情報の各ブランチ毎に下位ノードの前記入力領域情報を表示することを特徴とするコンテンツ解析方法。
  7. 請求項1乃至6のいずれか1項に記載のコンテンツ解析方法であって、
    前記コンテンツファイルの生成は、前記コンテンツ構成ツリー情報の各リーフ毎に、前記入力領域情報が1行ずつ表示されるコンテンツファイルを生成することを特徴とするコンテンツ解析方法。
  8. 請求項7に記載のコンテンツ解析方法であって、
    1行ずつ表示される前記入力領域情報は、前記リーフの前記ラベルと対応付けて表示されることを特徴とするコンテンツ解析方法。
  9. コンテンツ解析装置であって、
    コンテンツファイルを解析し、該コンテンツファイルのテキスト情報をその位置情報と対応付けたテキストリスト情報を格納し、入力領域情報をその位置情報と対応付けた入力領域リスト情報を格納するパーツ情報取得部と、
    前記入力領域リスト情報から、それぞれの前記入力領域情報の間の位置関係が所定の条件を満たす場合に、前記条件を満たす前記入力領域情報をグループとして抽出するグルーピング部と、
    前記抽出したグループに基づき、前記入力領域情報をノードに格納したツリー構造のコンテンツ構成ツリー情報を生成するツリー情報生成部と、
    前記コンテンツ構成ツリー情報の各ノードの前記入力領域情報に対応するテキスト情報を前記テキストリスト情報から取得し、前記各ノードのラベルとして前記コンテンツ構成ツリー情報に格納するラベル付与部と、
    前記コンテンツ構成ツリー情報から出力ファイルを生成するソース生成部と、
    を有することを特徴とするコンテンツ解析装置。
  10. 請求項9に記載のコンテンツ解析装置であって、
    前記所定の条件は、それぞれの前記入力領域情報の間の距離が所定の値以下であることを特徴とするコンテンツ解析装置。
  11. 請求項9又は10に記載のコンテンツ解析装置であって、
    前記各ノードの前記入力領域情報に対応するテキスト情報は、前記入力領域情報との間の位置関係が所定の条件を満たすテキスト情報であることを特徴とするコンテンツ解析装置。
  12. 請求項11に記載のコンテンツ解析装置であって、
    前記所定の条件は、前記テキスト情報と前記入力領域情報との間の距離が所定の値以下であることを特徴とするコンテンツ解析装置。
  13. 請求項9乃至12のいずれか1項に記載のコンテンツ解析装置であって、
    前記コンテンツ構成ツリー情報は、前記グループをブランチとし、該グループに属する複数の前記入力領域情報をリーフとするツリー構造のコンテンツ構成ツリー情報であることを特徴とするコンテンツ解析装置。
  14. 請求項9乃至13のいずれか1項に記載のコンテンツ解析装置であって、
    前記出力ファイルの生成は、前記コンテンツ構成ツリー情報の各ブランチ毎に下位ノードの前記入力領域情報を表示することを特徴とするコンテンツ解析装置。
  15. 請求項9乃至14のいずれか1項に記載のコンテンツ解析装置であって、
    前記コンテンツファイルの生成は、前記コンテンツ構成ツリー情報の各リーフ毎に、前記入力領域情報が1行ずつ表示されるコンテンツファイルを生成することを特徴とするコンテンツ解析装置。
  16. 請求項15に記載のコンテンツ解析装置であって、
    1行ずつ表示される前記入力領域情報は、前記リーフの前記ラベルと対応付けて表示されることを特徴とするコンテンツ解析装置。
  17. コンテンツファイルを解析し、該コンテンツファイルのテキスト情報をその位置情報と対応付けたテキストリスト情報を格納し、入力領域情報をその位置情報と対応付けた入力領域リスト情報を格納し、
    前記入力領域リスト情報から、それぞれの前記入力領域情報の間の位置関係が所定の条件を満たす場合に、前記条件を満たす前記入力領域情報をグループとして抽出し、
    前記抽出したグループに基づき、前記入力領域情報をノードに格納したツリー構造のコンテンツ構成ツリー情報を生成し、
    前記コンテンツ構成ツリー情報の各ノードの前記入力領域情報に対応するテキスト情報を前記テキストリスト情報から取得し、前記各ノードのラベルとして前記コンテンツ構成ツリー情報に格納し、
    前記コンテンツ構成ツリー情報から出力ファイルを生成する
    処理をコンテンツ解析装置に実現させるためのコンテンツ解析プログラム。
JP2006250240A 2006-09-15 2006-09-15 コンテンツ提供方法 Expired - Fee Related JP4720695B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006250240A JP4720695B2 (ja) 2006-09-15 2006-09-15 コンテンツ提供方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006250240A JP4720695B2 (ja) 2006-09-15 2006-09-15 コンテンツ提供方法

Publications (2)

Publication Number Publication Date
JP2008071212A JP2008071212A (ja) 2008-03-27
JP4720695B2 true JP4720695B2 (ja) 2011-07-13

Family

ID=39292725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006250240A Expired - Fee Related JP4720695B2 (ja) 2006-09-15 2006-09-15 コンテンツ提供方法

Country Status (1)

Country Link
JP (1) JP4720695B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068227B2 (ja) * 2008-08-04 2012-11-07 富士フイルム株式会社 書類管理サーバ、書類閲覧システム、書類管理方法及び書類閲覧方法
CN105518633B (zh) * 2013-08-29 2018-10-19 株式会社野村综合研究所 Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法
JP2015191644A (ja) * 2014-03-31 2015-11-02 株式会社日立公共システム Html文書更新方法、html文書更新装置およびシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114610A (ja) * 1993-08-26 1995-05-02 Fuji Xerox Co Ltd 情報処理システムの入力装置及び情報処理システムの入力方法
JP3077615B2 (ja) * 1997-01-17 2000-08-14 日本電気株式会社 ホームページ分析表示システム
JP3879369B2 (ja) * 2000-06-27 2007-02-14 株式会社Kddi研究所 ページを再編集するプロキシサーバ、方法及びプログラムを記録した記録媒体
JP4715031B2 (ja) * 2001-05-25 2011-07-06 日本電気株式会社 構造化文書変換システム及び構造化文書変換プログラム
JP3982454B2 (ja) * 2003-05-27 2007-09-26 ソニー株式会社 携帯型電子機器、ウェブページ処理方法およびプログラム

Also Published As

Publication number Publication date
JP2008071212A (ja) 2008-03-27

Similar Documents

Publication Publication Date Title
JP6482562B2 (ja) モバイル向けのおよび他の表示環境をサポートするインタラクティブなサイトおよびアプリケーションの自動変換のためのシステムおよび方法
KR101686691B1 (ko) 계층적-체계화된 컨트롤 갤러리들
CN100449485C (zh) 信息处理装置和方法
US9529438B2 (en) Printing structured documents
US20010047373A1 (en) Publication file conversion and display
JP2004005568A (ja) レガシー・アプリケーションの高速gui体裁更新
US20220164526A1 (en) Method And Apparatus For Structured Documents
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
JP2007011513A (ja) 文書表示装置、文書表示方法並びにプログラムおよび記録媒体
US11126787B2 (en) Generating responsive content from an electronic document
CN107977203A (zh) 存储装置、应用程序控件以及用户界面的创建方法
JP2018501551A (ja) 数式処理方法、装置、デバイス及びプログラム
CA2666305C (en) Method, system, and program for supporting object selection in web page authoring
JP4720695B2 (ja) コンテンツ提供方法
Bouillon et al. Recovering Alternative Presentation Models of a Web Page with V AQUITA
JP3788956B2 (ja) 構造化文書表示方法、構造化文書表示装置及びプログラム
CN109445900B (zh) 用于图片显示的翻译方法和装置
JP2008146637A (ja) ドメイン変換言語
JP5232748B2 (ja) ワークフロー表示支援装置及びワークフロー表示プログラム
JP5219543B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP6331307B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2011221641A (ja) ウェブページ変換表示システム、ウェブページ変換表示方法、およびウェブページ変換表示プログラム
JP3988900B2 (ja) 文書処理装置およびそのプログラム記憶媒体
JP5237875B2 (ja) 共有記事公開システム
WO2023093327A1 (zh) 目标程序的测试方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110225

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees