以下に図面を参照して、本発明にかかる情報提供プログラム、情報提供方法および情報提供装置の実施の形態を詳細に説明する。
(情報提供方法の一実施例)
図1は、実施の形態にかかる情報提供方法の一実施例を示す説明図である。図1において、情報提供装置101は、複数のサイトの情報を一画面に集約して出力する機能を有するコンピュータである。サイトは、ページまたはページの集合であり、例えば、Webサイトである。
ページは、ネットワーク上に公開される情報であり、例えば、Webページである。ページは、html(HyperText Markup Language)またはxhtml(Extensible HyperText Markup Language)によって記述された電子文書(htmlデータ、xhtmlデータ)や画像データなどを含む。
ここで、銀行サイトS1、証券会社サイトS2および年金サイトS3の情報を一覧画面110に集約して出力する場合を想定する。この場合、ユーザは、銀行サイトS1、証券会社サイトS2および年金サイトS3の各サイトについて、各サイトのどのページのどの部分の情報を取得するのかを予め設定する。
一例として、年金サイトS3の厚生年金情報ページの年金額(見込み)を取得する場合を想定する。この場合、ユーザは、例えば、年金サイトの厚生年金情報ページの画面において、年金額(見込み)を表示する領域120を指定する。これにより、一覧画面110の予め設定した位置に、年金サイトの厚生年金情報ページの領域120内の情報を表示することができる。
一方、各サイトの提供者はそれぞれ異なることが多く、また、各サイトの画面構成や掲載内容は提供者によって任意に変更される。各サイトの画面構成や掲載内容が変更されると、各サイトについて予め設定した領域(例えば、領域120)の位置がずれて、ユーザの意図通りの情報を一覧画面110に表示できなくなる場合がある。
図1の例では、年金サイトS3の厚生年金情報ページの掲載内容が変更されたため、厚生年金情報ページの画面における年金額(見込み)の位置がずれている。したがって、ユーザの意図通りの情報を一覧画面110に表示させるためには、各サイトの画面構成や掲載内容の変更に合わせて、各サイトにおける情報の取得位置についての設定を変更することになる場合がある。
ところが、各サイトの画面構成や掲載内容が変更されるたびに、ユーザが、各サイトにアクセスして変更内容を確認し、各サイトにおける情報の取得位置についての設定を変更するのは手間や時間がかかる。また、ユーザが、各サイトの画面構成や掲載内容が変更されたことに気付かず、一覧画面110に意図とは異なる情報が表示されていても気付かない場合がある。
そこで、本実施の形態では、サイトの画面構成や掲載内容が変更されて、ユーザの意図通りの情報を取得できなくなった場合に、サイトのどの部分の情報を取得するのかについての再設定をしやすくして設定変更にかかる手間を削減する情報提供方法について説明する。以下、情報提供装置101の情報提供処理の一実施例について説明する。
(1)情報提供装置101は、予め記録されたサイトSの識別情報を参照して、サイトSの画面情報を取得する。ここで、サイトSは、一画面に情報を集約して表示する複数のサイトのいずれかのサイトである。サイトSの識別情報とは、サイトSを識別する情報であり、例えば、サイトSのURL(Uniform Resource Locator)である。
より詳細に説明すると、サイトSの識別情報は、例えば、一覧画面に表示するサイトSの情報を含むページのURLである。一覧画面は、複数のサイトの情報を集約して表示する画面である。サイトSの情報は、サイトSの画面内のいずれかのデータである。サイトSの画面情報は、サイトSの情報を含むページを表示するための情報であり、例えば、サイトSの情報を含むページのhtmlデータやxhtmlデータである。
以下の説明では、一覧画面に表示するサイトSの情報を「目的データ」と表記する場合がある。また、サイトSの目的データを含むページを「目的ページ」と表記する場合がある。また、サイトSの画面情報として「htmlデータ」を例に挙げて説明する。
具体的には、例えば、情報提供装置101は、年金サイトS3の厚生年金情報ページのURLを指定して厚生年金情報ページにアクセスし、厚生年金情報ページのhtmlデータ130を取得する。厚生年金情報ページは、年金サイトS3の目的データを含む目的ページである。
(2)情報提供装置101は、サイトSの識別情報と対応付けて予め記録された、サイトSのhtmlデータにおけるタグに関する情報に基づいて、取得したサイトSのhtmlデータから、タグに関する情報により特定されるデータを検索する。
ここで、タグとは、予め定められた記法により文書に埋め込む形で記述される付加情報である。htmlデータ(または、xhtmlデータ)では、元になる文書に「<」と「>」とで囲まれた半角英数字をタグとして埋め込むことにより、ブラウザに対して文書構造、書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。
また、タグに関する情報とは、サイトSのhtmlデータのうち、目的データを含むhtml要素のタグを特定するための情報である。html要素は、htmlデータを構成する要素であり、開始タグと内容と終了タグとから構成される。すなわち、タグに関する情報は、目的データを内容部分に含むhtml要素のタグを特定するための情報である。
一例として、サイトSのhtmlデータのうち目的データを含むhtml要素を、サイトSのhtmlデータに含まれるtd全4個中の2番目のtdとする。この場合、タグに関する情報140は、例えば、「td全4個中の2番目」となる。なお、tdは、データのセル(table data cell)を示す要素である。
また、タグに関する情報により特定されるデータとは、サイトSのhtmlデータのうち、タグに関する情報により特定されるhtml要素の内容部分に記述されたデータである。すなわち、情報提供装置101は、例えば、厚生年金情報ページのhtmlデータ130から、td全4個中の2番目のtdの内容部分に記述されたデータを検索する。
(3)情報提供装置101は、タグに関する情報により特定されるデータが検索されなかった場合に、取得したサイトSのhtmlデータに基づくサイトSの画像データを出力する。図1の例では、年金サイトS3の厚生年金情報ページの掲載内容が変更され、htmlデータに含まれるtdの総数が「4」から「5」に変更されている。
この場合、タグに関する情報140により特定されるデータ、すなわち、td全4個中の2番目のtdの内容部分に記述されたデータが検索されない。このため、情報提供装置101は、厚生年金情報ページのhtmlデータ130に基づく厚生年金情報ページの画像データ150を出力する。
具体的には、例えば、まず、情報提供装置101は、厚生年金情報ページのhtmlデータ130をメモリ(例えば、VRAM:Video Random Access Memory)に展開して、厚生年金情報ページの画像データ150を生成する。そして、情報提供装置101は、メモリに記憶された厚生年金情報ページの画像データ150を含む再設定画面160を出力する。
このように、情報提供装置101によれば、取得したサイトSのhtmlデータから、タグに関する情報により特定されるデータを検索し、データが検索されなかった場合に、取得したサイトSのhtmlデータに基づくサイトSの画像データを出力することができる。
これにより、サイトSの画面構成や掲載内容が変更されて、ユーザの意図通りの情報を取得できなくなった場合に、サイトSのどの部分の情報を取得するのかについての再設定をしやすくして設定変更にかかる手間を削減することができる。
例えば、年金サイトS3からユーザの意図通りの情報を取得できなくなった場合に、再設定画面160を表示することで、年金サイトS3の掲載内容が変更されたことをユーザに気付かせることができる。また、再設定画面160において、年金サイトS3の厚生年金情報ページについての領域120の再設定を行わせることができる。
(システム200のシステム構成例)
つぎに、実施の形態にかかるシステム200のシステム構成例について説明する。
図2は、システム200のシステム構成例を示す説明図である。図2において、システム200は、情報提供装置101とサーバ201を含む。システム200において、情報提供装置101とサーバ201は、有線または無線のネットワーク210を介して相互に通信可能に接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、情報提供装置101は、アカウントアグリゲーション情報DB(データベース)220およびサイト別目的データ属性DB230を有する。具体的には、例えば、情報提供装置101は、ブラウザがインストールされたPC(Personal Computer)、ノートPC、タブレット型PC、スマートフォン、携帯電話機などである。
なお、アカウントアグリゲーション情報DB220およびサイト別目的データ属性DB230についての説明は、図5および図6を用いて後述する。
サーバ201は、情報提供装置101からの要求に応じて、htmlデータや画像などを含むサイトSの画面情報を送信するコンピュータである。情報提供装置101は、サーバ201からのサイトSの画面情報に基づいて、サイトSの画面を表示することができる。具体的には、例えば、サーバ201は、Webサーバである。
(情報提供装置101のハードウェア構成例)
図3は、情報提供装置101のハードウェア構成例を示すブロック図である。図3において、情報提供装置101は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、ディスプレイ305と、I/F(Interface)306と、キーボード307と、マウス308と、スキャナ309と、プリンタ310と、を有する。また、各構成部はバス300によってそれぞれ接続される。
ここで、CPU301は、情報提供装置101の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御にしたがってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
ディスプレイ305は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ305は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F306は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、サーバ201)に接続される。そして、I/F306は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F306には、例えば、モデムやLANアダプタなどを採用することができる。
キーボード307は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。キーボード307は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス308は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
スキャナ309は、画像を光学的に読み取り、情報提供装置101内に画像データを取り込む。スキャナ309は、OCR(Optical Character Reader)機能を有していてもよい。プリンタ310は、画像データや文書データを印刷する。プリンタ310には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、情報提供装置101は、例えば、上述した構成部のうち、スキャナ309、プリンタ310などを有さないことにしてもよい。
(サーバ201のハードウェア構成例)
図4は、サーバ201のハードウェア構成例を示すブロック図である。図4において、サーバ201は、CPU401と、メモリ402と、I/F403と、ディスクドライブ404と、ディスク405と、を有する。また、各構成部は、バス400によってそれぞれ接続される。
ここで、CPU401は、サーバ201の全体の制御を司る。メモリ402は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
I/F403は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示した情報提供装置101)に接続される。そして、I/F403は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F403には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ404は、CPU401の制御にしたがってディスク405に対するデータのリード/ライトを制御する。ディスク405は、ディスクドライブ404の制御で書き込まれたデータを記憶する。ディスク405としては、例えば、磁気ディスク、光ディスクなどが挙げられる。なお、サーバ201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイなどを有することにしてもよい。
(アカウントアグリゲーション情報DB220の記憶内容)
つぎに、情報提供装置101が有するアカウントアグリゲーション情報DB220の記憶内容について説明する。アカウントアグリゲーション情報DB220は、例えば、図3に示した情報提供装置101のメモリ302、ディスク304などの記憶装置により実現される。
図5は、アカウントアグリゲーション情報DB220の記憶内容の一例を示す説明図である。図5において、アカウントアグリゲーション情報DB220は、ID、PW、ログインURLおよびデータURLのフィールドを有する。各フィールドに情報を設定することで、アカウントアグリゲーション情報(アカウントアグリゲーション情報500−1〜500−7)がレコードとして記憶される。
ここで、ID(identification)は、サイトSのユーザを識別する識別子である。PW(password)は、サイトSにログインするためのユーザのパスワードである。ログインURLは、サイトSにログインするためのWebページ(いわゆる、ログイン画面)を表示するためのURLである。
データURLは、一覧画面に表示するサイトSの情報を含むWebページを表示するためのURLである。一覧画面は、複数のサイトSの情報を集約して表示する画面である。ここでは、データURLは、CGI(Common Gateway Interface)スクリプトのURLである。
例えば、アカウントアグリゲーション情報500−1は、ID「12345」、PW「P111111」、ログインURL「A.html」およびデータURL「A/12345.cgi」を示す。
(サイト別目的データ属性DB230の記憶内容)
つぎに、情報提供装置101が有するサイト別目的データ属性DB230の記憶内容について説明する。サイト別目的データ属性DB230は、例えば、情報提供装置101のメモリ302、ディスク304などの記憶装置により実現される。
図6は、サイト別目的データ属性DB230の記憶内容の一例を示す説明図である。図6において、サイト別目的データ属性DB230は、データURL、データ特定html属性、データ属性、一覧位置および設定時情報のフィールドを有する。各フィールドに情報を設定することで、サイト別目的データ属性情報(例えば、サイト別目的データ属性情報600−1〜600−5)がレコードとして記憶される。
ここで、データURLは、サイトSの目的ページを表示するためのURLである。データ特定html属性は、目的データを含むhtml要素のタグを特定するための情報である。データ属性は、目的データの属性である。データ属性としては、例えば、数値、漢字、かな、カナ、アルファベットなどがある。
一覧位置は、一覧画面におけるサイトSの目的データを表示する位置を示す情報である。ここでは、一覧位置は、一覧画面内のボックス(例えば、図7に示すボックスB1〜B3)の番号を示す。設定時情報は、目的ページの画面における目的データを含む領域Tを設定した時の領域Tを含む目的ページの画像データである。
例えば、サイト別目的データ属性情報600−1は、データURL「A/12345.cgi」、データ特定html属性「td全4個中の2番目」、データ属性「数値」、一覧位置「1」および設定時情報「9876.jpg」を示す。
(一覧設定画面の画面例)
つぎに、情報提供装置101のディスプレイ305に表示される一覧設定画面の画面例について説明する。一覧設定画面は、複数のサイトSの目的データを表示する一覧画面の画面構成や掲載内容を設定する画面である。
図7は、一覧設定画面の画面例を示す説明図である。図7において、一覧設定画面700は、一覧画面に表示する目的データの項目名および表示位置を設定する画面である。一覧設定画面700において、図3に示したキーボード307やマウス308を用いたユーザの操作入力により、一覧画面に表示する目的データの項目名を設定することができる。
図7の例では、一覧画面に表示する目的データの項目名「年金加入月数」、「年金受給(見込み)額」および「X銀行の預金残高」が設定されている。なお、「年金加入月数」と「年金受給(見込み)額」は、ある年金サイトの情報である。また、「X銀行の預金残高」は、ある銀行サイトの情報である。
また、一覧設定画面700において、ユーザの操作入力により、目的データを表示するボックスを設定することができる。図7の例では、項目名「年金加入月数」の目的データを表示するボックスB1、項目名「年金受給(見込み)額」の目的データを表示するボックスB2および項目名「X銀行の預金残高」の目的データを表示するボックスB3が設定されている。
(領域初期設定画面の画面例)
つぎに、情報提供装置101のディスプレイ305に表示される領域初期設定画面の画面例について説明する。領域初期設定画面は、目的ページの画面における目的データを含む領域Tを設定する画面である。
図8は、領域初期設定画面の画面例を示す説明図である。図8において、領域初期設定画面800は、年金サイトの厚生年金情報ページの画面における目的データを含む領域Tを設定する画面である。領域初期設定画面800には、年金サイトの厚生年金情報ページの画面の画像データ810が表示されている。
領域初期設定画面800において、ユーザの操作入力により、画像データ810上の目的データを含む範囲を選択することにより、厚生年金情報ページの画面における目的データを含む領域Tを設定することができる。厚生年金情報ページの画面における目的データを含む領域T1,T2が設定されている。
ここで、領域T1は、厚生年金情報ページの加入期間[月]を示す数字列を含む領域である。領域T2は、厚生年金情報ページの年金額(見込み)[円]を示す数字列を含む領域である。また、領域初期設定画面800において、ユーザの操作入力により、設定完了ボタン820がクリック(押下)されると、領域Tの設定が完了する。
(一覧画面の画面例)
つぎに、情報提供装置101のディスプレイ305に表示される一覧画面の画面例について説明する。一覧画面は複数のサイトSの目的データを集約して表示する画面である。
図9は、一覧画面の画面例を示す説明図である。図9において、一覧画面900は、年金サイトの厚生年金情報ページの目的データと、銀行サイトの口座情報ページの目的データとを集約して表示する画面である。具体的には、一覧画面900には、年金サイトの厚生年金情報ページの年金加入月数がボックスB1に表示され、年金受給(見込み)額がボックスB2に表示されている。
また、一覧画面900には、銀行サイトの口座情報ページの預金残高がボックスB3に表示されている。一覧画面900によれば、ユーザは、年金サイトの厚生年金情報ページの年金加入月数、年金受給(見込み)額および銀行サイトの口座情報ページの預金残高を一目で確認することができる。
(情報提供装置101の機能的構成例)
図10は、情報提供装置101の機能的構成例を示すブロック図である。図10において、情報提供装置101は、受付部1001と、取得部1002と、登録部1003と、表示制御部1004と、認識部1005と、特定部1006と、検索部1007と、判断部1008と、を含む構成である。受付部1001〜判断部1008は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F306により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
<新規登録要求を受け付けた場合>
まず、新規登録要求を受け付けた場合の各機能部の処理内容について説明する。新規登録要求は、一覧画面に表示する目的データを新規登録する要求である。
受付部1001は、新規登録要求を受け付ける。具体的には、例えば、受付部1001は、キーボード307やマウス308を用いたユーザの操作入力により、新規登録要求を受け付ける。また、受付部1001は、外部のコンピュータから新規登録要求を受信することにより、新規登録要求を受け付けることにしてもよい。
取得部1002は、新規登録要求を受け付けたことに応じて、サイトSのID、PW、ログインURLおよびデータURLを取得する。具体的には、例えば、取得部1002は、ユーザの操作入力により、サイトSのID、PW、ログインURLおよびデータURLを取得する。この際、取得部1002は、ユーザの操作入力によって目的ページまで画面遷移させることにより、目的ページのデータURLを取得することにしてもよい。
なお、サイトSのID、PW、ログインURLおよびデータURLは、新規登録要求に含まれていてもよい。この場合、取得部1002は、受け付けられた新規登録要求から、サイトSのID、PW、ログインURLおよびデータURLを取得する。
登録部1003は、取得されたサイトSのID、PW、ログインURLおよびデータURLをアカウントアグリゲーション情報DB220に登録する。具体的には、例えば、登録部1003は、アカウントアグリゲーション情報DB220の各フィールドに、取得されたサイトSのID、PW、ログインURLおよびデータURLを設定する。
これにより、アカウントアグリゲーション情報DB220に新たなアカウントアグリゲーション情報が新規登録される。
取得部1002は、目的ページの画面の画像データを取得する。具体的には、例えば、まず、取得部1002は、取得したサイトSのログインURLを用いて、サイトSのログイン画面にアクセスする。そして、取得部1002は、取得したサイトSのID、PWを用いて、サイトSにログインする。つぎに、取得部1002は、取得したサイトSのデータURLを用いて、サイトSの目的ページのhtmlデータを取得する。そして、取得部1002は、取得したhtmlデータに基づいて、目的ページの画面をキャプチャすることにより、目的ページの画面の画像データを取得する。なお、キャプチャとは、ディスプレイ305に表示される画面イメージを画像データとして保存することである。
表示制御部1004は、取得された目的ページの画面の画像データを出力する。具体的には、例えば、表示制御部1004は、目的ページの画面の画像データを含む領域初期設定画面(例えば、図8に示した領域初期設定画面800)をディスプレイ305に表示する。
受付部1001は、出力された目的ページの画面の画像データ上の目的データを含む領域Tの選択を受け付ける。具体的には、例えば、受付部1001は、領域初期設定画面800におけるユーザの操作入力により、画像データ810(図8参照)上の目的データを含む領域T(例えば、領域T1,T2)の選択を受け付ける。
認識部1005は、選択された領域Tの画像データの文字認識処理を行う。ここで、文字認識処理とは、画像データの中から、文字の形状に基づいて文字を識別し、コンピュータ上で扱える文字データに変換する処理である。文字認識処理は、例えば、OCR処理である。
具体的には、例えば、まず、認識部1005は、目的ページの画面の画像データから、選択された領域Tの画像データを抽出する。そして、認識部1005は、抽出した領域Tの画像データに対してOCR処理を行う。これにより、目的データのテキストデータを取得することができる。
特定部1006は、目的ページのhtmlデータにおける目的データを含むhtml要素のタグに関する情報を特定する。具体的には、例えば、まず、特定部1006は、目的ページのhtmlデータから、OCR処理により得られる目的データのテキストデータを含むhtml要素を検索する。そして、特定部1006は、目的ページのhtmlデータにおける、検索したhtml要素のタグのデータ特定html属性を、タグに関する情報として特定する。
データ特定html属性とは、目的ページのhtmlデータにおける、目的データのテキストデータを含むhtml要素のタグの位置を特定するための情報である。データ特定html属性は、例えば、タグの種類や、htmlデータにおける同一種類のタグ全何個中の先頭から何番目のタグであるかなどを示す。
また、特定部1006は、文字認識処理により認識されたデータのデータ属性を判断する。具体的には、例えば、認識部1005は、OCR処理により得られる目的データのテキストデータを解析して、データのデータ属性(例えば、数値、漢字、かな、カナ、アルファベット)を判断する。
また、取得部1002は、領域Tが設定された目的ページの画面の画像データを取得することにしてもよい。具体的には、例えば、取得部1002は、領域Tが設定された状態の画像データをキャプチャすることにより、領域Tが設定された目的ページの画面の画像データを設定時情報として取得する。
より具体的には、例えば、取得部1002は、領域T1が選択された画像データ810(図8参照)をキャプチャすることにより、領域T1が設定された厚生年金情報ページ(目的ページ)の画像データを設定時情報として取得する。また、取得部1002は、領域T2が選択された画像データ810をキャプチャすることにより、領域T2が設定された厚生年金情報ページの画像データを設定時情報として取得する。
なお、設定時情報は、例えば、後述する図11に示す領域再設定画面1100の画像データ1110,1120を表示するために用いられる。
登録部1003は、目的ページのデータURLと対応付けて、データ特定html属性、データ属性、一覧位置および設定時情報をサイト別目的データ属性DB230に登録する。一覧位置は、例えば、ユーザの操作入力により取得される。具体的には、例えば、登録部1003は、サイト別目的データ属性DB230の各フィールドに、データURL、データ特定html属性、データ属性、一覧位置および設定時情報を設定する。
これにより、サイト別目的データ属性DB230に新たなサイト別目的データ属性情報が新規登録される。
<一覧表示要求を受け付けた場合>
つぎに、一覧表示要求を受け付けた場合の各機能部の処理内容について説明する。一覧表示要求は、複数のサイトSの目的データを集約して表示する一覧画面(例えば、図9に示した一覧画面900)の表示要求である。
受付部1001は、一覧表示要求を受け付ける。具体的には、例えば、受付部1001は、ユーザの操作入力により、一覧表示要求を受け付ける。また、受付部1001は、外部のコンピュータから一覧表示要求を受信することにより、一覧表示要求を受け付けることにしてもよい。
取得部1002は、一覧表示要求を受け付けたことに応じて、目的ページの画面のhtmlデータを取得する。具体的には、例えば、まず、取得部1002は、アカウントアグリゲーション情報DB220からアカウントアグリゲーション情報(レコード)を取得する。そして、取得部1002は、取得したアカウントアグリゲーション情報のログインURLを用いて、サイトSのログイン画面にアクセスする。つぎに、取得部1002は、取得したアカウントアグリゲーション情報のID、PWを用いて、サイトSにログインする。そして、取得部1002は、取得したアカウントアグリゲーション情報のデータURLを用いて、サイトSの目的ページのhtmlデータを取得する。
検索部1007は、取得された目的ページのhtmlデータから、目的ページのデータURLと対応付けて予め記録されたタグに関する情報により特定されるデータを検索する。具体的には、例えば、まず、検索部1007は、サイト別目的データ属性DB230から、目的ページのデータURLに対応するサイト別目的データ属性情報(レコード)を取得する。そして、検索部1007は、目的ページのhtmlデータから、取得したサイト別目的データ属性情報のデータ特定html属性により特定されるデータを検索する。検索部1007は、データ特定html属性に設定されている例えばタグの全個数が、目的ページのhtmlデータ内の該タグの全個数と一致していれば検索するが、一致しなければ検索しない。
判断部1008は、検索部1007によってデータが検索された場合、当該データのデータ属性が、タグに関する情報と対応付けて予め記録されたデータ属性と一致するか否かを判断する。具体的には、例えば、判断部1008は、検索されたデータのデータ属性が、目的ページのデータURLに対応するサイト別目的データ属性情報のデータ属性と一致するか否かを判断する。
表示制御部1004は、検索部1007によってデータが検索されなかった場合に、取得された目的ページの画面のhtmlデータに基づく目的ページの画面の画像データを出力する。具体的には、例えば、表示制御部1004は、目的ページの画面の画像データを含む領域再設定画面をディスプレイ305に表示する。なお、領域再設定画面の画面例については、図11および図12を用いて後述する。
これにより、目的ページの画面構成や掲載内容が変更されて目的データを取得できなくなった場合に、変更後の目的ページの画面における目的データを含む領域Tを再設定するための領域再設定画面をディスプレイ305に表示することができる。
また、表示制御部1004は、判断部1008によってデータのデータ属性が一致しないと判断された場合に、取得された目的ページの画面のhtmlデータに基づく目的ページの画面の画像データを出力することにしてもよい。これにより、目的ページの画面構成や掲載内容が変更されて領域Tのデータのデータ属性が変わった場合に、変更後の目的ページの画面における目的データを含む領域Tを再設定するための領域再設定画面をディスプレイ305に表示することができる。
受付部1001は、出力された目的ページの画面の画像データ上の目的データを含む領域Tの選択を受け付ける。具体的には、例えば、受付部1001は、後述する領域再設定画面1200におけるユーザの操作入力により、画像データ1210(図12参照)上の目的データを含む領域Tの選択を受け付ける。
認識部1005は、選択された領域Tの画像データの文字認識処理を行う。文字認識処理の具体的な処理内容は、新規登録要求時と同様である。
特定部1006は、目的ページのhtmlデータにおける目的データを含むhtml要素のタグに関する情報を特定する。タグに関する情報を特定する具体的な処理内容は、新規登録要求時と同様である。また、特定部1006は、文字認識処理により認識されたデータのデータ属性を特定する。データ属性を特定する具体的な処理内容は、新規登録要求時と同様である。
また、取得部1002は、領域Tが再設定された目的ページの画面の画像データを取得することにしてもよい。具体的には、例えば、取得部1002は、領域Tが再設定された状態の画像データをキャプチャすることにより、領域Tが再設定された目的ページの画面の画像データを設定時情報として取得する。
登録部1003は、特定部1006によって特定されたタグに関する情報によって、目的ページのURLと対応付けて予め記録されたタグに関する情報を更新する。具体的には、例えば、登録部1003は、特定されたデータ特定html属性を、目的ページのデータURLに対応するサイト別目的データ属性DB230内のサイト別目的データ属性情報のデータ特定html属性に上書きする。
また、登録部1003は、特定されたデータ属性をサイト別目的データ属性情報のデータ属性に上書きする。また、登録部1003は、取得された設定時情報をサイト別目的データ属性情報の設定時情報に上書きする。これにより、サイト別目的データ属性DB230内のサイト別目的データ属性が、目的ページの画面構成や掲載内容の変更に合わせて更新される。
表示制御部1004は、一覧画面における、領域Tの位置情報と対応付けて予め記録された位置に、検索部1007によって検索されたデータを挿入した一覧画面を出力する。具体的には、例えば、判断部1008は、目的ページのデータURLに対応するサイト別目的データ属性DB230内のサイト別目的データ属性情報の一覧位置に、検索されたデータを挿入した一覧画面(例えば、図9に示した一覧画面900)をディスプレイ305に表示する。これにより、複数のサイトSの目的データを集約して表示する一覧画面をディスプレイ305に表示することができる。
なお、上述した説明では、情報提供装置101が各機能部1001〜1008を有することにしたが、サーバ201が各機能部1001〜1008を有することにしてもよい。具体的には、例えば、必要な機能を必要な分だけサービスとして情報提供装置101に利用できるようにしたSaaS(Software as a Service)により、システム200を実現することにしてもよい。
(領域再設定画面の画面例)
つぎに、情報提供装置101のディスプレイ305に表示される領域再設定画面の画面例について説明する。領域再設定画面は、目的ページの画面における目的データを含む領域Tを再設定する画面である。
図11および図12は、領域再設定画面の画面例を示す説明図である。図11において、領域再設定画面1100は、年金サイトの厚生年金情報ページについて再設定する領域Tを選択する画面である。具体的には、領域再設定画面1100には、年金サイトの厚生年金情報ページについての領域Tが設定された時の画像データ1110,1120(設定時情報)が表示されている。
領域再設定画面1100において、ユーザの操作入力により、再設定ボタン1130,1140のいずれかのボタンをクリック(押下)することで、領域T1,T2から再設定する領域Tを選択することができる。また、領域再設定画面1100において、ユーザの操作入力により、再設定完了ボタン1150がクリック(押下)されると、領域Tの再設定が完了する。
ここで、ユーザの操作入力により、再設定ボタン1140がクリックされたとする。この場合、ディスプレイ305の表示内容が、図12に示す領域再設定画面1200に切り替わる。なお、領域再設定画面1100において、画像データ1110,1120のうちの再設定対象の画像データを強調表示(例えば、ブリンク)してもよい。
図12において、領域再設定画面1200は、年金サイトの厚生年金情報ページの画面における目的データを含む領域T2を再設定する画面である。領域再設定画面1200には、年金サイトの厚生年金情報ページの画面の画像データ1210が表示されている。
領域再設定画面1200において、ユーザの操作入力により、画像データ1210上の任意の範囲を選択することにより、厚生年金情報ページの画面における目的データを含む領域T2を再設定することができる。
図12の例では、ユーザの操作入力により、厚生年金情報ページの画面における年金額(見込み)[円]を示す数字列を含む領域T2が再設定されている。また、領域再設定画面1200において、ユーザの操作入力により、設定完了ボタン1220がクリック(押下)されると、領域T2の再設定が完了して、ディスプレイ305の表示内容が、図11に示した領域再設定画面1100に切り替わる。
このように、領域再設定画面1100によれば、年金サイトの厚生年金情報ページに設定された領域T1,T2の中から再設定する領域Tを選択することができる。また、領域再設定画面1200によれば、年金サイトの厚生年金情報ページの画面における目的データを含む領域T2を再設定することができる。
(情報提供装置101の情報提供処理手順)
つぎに、情報提供装置101の情報提供処理手順について説明する。
図13は、情報提供装置101の情報提供処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、情報提供装置101は、新規登録要求を受け付けたか否かを判断する(ステップS1301)。
ここで、新規登録要求を受け付けた場合(ステップS1301:Yes)、情報提供装置101は、新規登録処理を実行して(ステップS1302)。本フローチャートによる一連の処理を終了する。新規登録処理の具体的な処理手順については、図14のフローチャートを用いて後述する。
一方、新規登録要求を受け付けていない場合(ステップS1301:No)、情報提供装置101は、一覧表示要求を受け付けたか否かを判断する(ステップS1303)。ここで、一覧表示要求を受け付けていない場合(ステップS1303:No)、情報提供装置101は、ステップS1301に戻る。
一方、一覧表示要求を受け付けた場合(ステップS1303:Yes)、情報提供装置101は、一覧表示処理を実行して(ステップS1304)。本フローチャートによる一連の処理を終了する。一覧表示処理の具体的な処理手順については、図15のフローチャートを用いて後述する。
<新規登録処理の具体的処理手順>
つぎに、図13に示したステップS1302の新規登録処理の具体的な処理手順について説明する。
図14は、新規登録処理の具体的処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、情報提供装置101は、サイトSのID、PW、ログインURLおよびデータURLを取得する(ステップS1401)。
そして、情報提供装置101は、取得したサイトSのID、PW、ログインURLおよびデータURLをアカウントアグリゲーション情報DB220に登録する(ステップS1402)。これにより、アカウントアグリゲーション情報DB220に新たなアカウントアグリゲーション情報が新規登録される。
つぎに、情報提供装置101は、取得したサイトSのID、PW、ログインURLおよびデータURLを用いて、サイトSの目的ページのhtmlデータを取得する(ステップS1403)。そして、情報提供装置101は、取得したhtmlデータに基づいて、目的ページをキャプチャすることにより、目的ページの画像データを取得する(ステップS1404)。
つぎに、情報提供装置101は、取得した目的ページの画像データを含む領域初期設定画面をディスプレイ305に表示する(ステップS1405)。そして、情報提供装置101は、ユーザの操作入力により、目的ページの画像データ上の目的データを含む領域Tが選択されたか否かを判断する(ステップS1406)。
ここで、情報提供装置101は、領域Tが選択されるのを待つ(ステップS1406:No)。そして、領域Tが選択された場合(ステップS1406:Yes)、情報提供装置101は、目的ページの画像データから領域Tの画像データを抽出して、領域Tの画像データのOCR処理を行うことにより、目的データのテキストデータを取得する(ステップS1407)。
以下の説明では、OCR処理により得られたテキストデータを「領域データ」と表記する場合がある。
つぎに、情報提供装置101は、領域Tが設定された状態の目的ページの画像データをキャプチャすることにより、領域Tが設定された目的ページの画像データを設定時情報として取得する(ステップS1408)。そして、情報提供装置101は、領域データのデータ属性を特定する(ステップS1409)。
つぎに、情報提供装置101は、目的ページのhtmlデータから領域データを含むhtml要素を検索することにより、目的ページのhtmlデータにおけるhtml要素のタグのデータ特定html属性を特定する(ステップS1410)。
そして、情報提供装置101は、目的ページのデータURLと対応付けて、取得した設定時情報、特定したデータ特定html属性およびデータ属性をサイト別目的データ属性DB230に登録して(ステップS1411)、新規登録処理を呼び出したステップに戻る。
これにより、サイト別目的データ属性DB230に新たなサイト別目的データ属性情報が新規登録される。なお、目的ページのデータURLに対応する一覧位置については、一覧設定画面(例えば、一覧設定画面700)において、ユーザの操作入力により受け付けることにより、目的ページのデータURLに対応付けてサイト別目的データ属性DB230に設定される。
<一覧表示処理の具体的処理手順>
つぎに、図13に示したステップS1304の一覧表示処理の具体的な処理手順について説明する。
図15は、一覧表示処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、情報提供装置101は、目的データが挿入されていない一覧画面のhtmlデータを生成する(ステップS1501)。
つぎに、情報提供装置101は、アカウントアグリゲーション情報DB220のレコード数nを取得して(ステップS1502)、「i=1」とする(ステップS1503)。そして、情報提供装置101は、目的データ設定処理を実行する(ステップS1504)。目的データ設定処理の具体的な処理手順については、図16のフローチャートを用いて後述する。
つぎに、情報提供装置101は、「i」をインクリメントして(ステップS1505)、「i」が「n」より大きくなったか否かを判断する(ステップS1506)。ここで、「i」が「n」以下の場合(ステップS1506:No)、情報提供装置101は、ステップS1504に戻る。
一方、「i」が「n」より大きくなった場合(ステップS1506:Yes)、情報提供装置101は、一覧画面のhtmlデータをディスプレイ305に表示して(ステップS1507)、一覧表示処理を呼び出したステップに戻る。
これにより、複数のサイトSの目的データを集約した一覧画面(例えば、一覧画面900)をディスプレイ305に表示することができる。
<目的データ設定処理の具体的処理手順>
つぎに、図15に示したステップS1504の目的データ設定処理の具体的な処理手順について説明する。
図16は、目的データ設定処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、情報提供装置101は、アカウントアグリゲーション情報DB220のi番目のレコード(以下、「レコードRa」と称する)を取得する(ステップS1601)。
つぎに、情報提供装置101は、取得したレコードRaのログインURLを用いて、サイトSのログイン画面にアクセスし、レコードRaのID、PWを用いて、サイトSにログインする(ステップS1602)。そして、情報提供装置101は、レコードRaのデータURLを用いて、サイトSの目的ページのhtmlデータを取得する(ステップS1603)。
つぎに、情報提供装置101は、サイト別目的データ属性DB230から、取得したレコードRaのデータURLに対応するレコード(以下、「レコードRb」と称する)を取得する(ステップS1604)。なお、レコードRaのデータURLに対応するレコードRbが複数存在する場合には、情報提供装置101は、サイト別目的データ属性DB230から複数のレコードRbを取得する。
そして、情報提供装置101は、取得した目的ページのhtmlデータから、取得したそれぞれのレコードRbのデータ特定html属性により特定されるデータをそれぞれ検索する(ステップS1605)。
つぎに、情報提供装置101は、目的ページのhtmlデータから、それぞれデータが検索されたか否かを判断する(ステップS1606)。ここで、データが検索された場合(ステップS1606:Yes)、情報提供装置101は、検索したそれぞれのデータのデータ属性を特定する(ステップS1607)。
そして、情報提供装置101は、それぞれ特定したデータ属性が、それぞれのレコードRbのデータ属性と一致するか否かを判断する(ステップS1608)。ここで、データ属性が一致する場合(ステップS1608:Yes)、情報提供装置101は、それぞれのレコードRbの一覧位置に基づいて、一覧画面のhtmlデータに、検索したそれぞれのデータを挿入して(ステップS1609)、目的データ設定処理を呼び出したステップに戻る。これにより、予め設定された一覧位置にサイトSの目的データを埋め込んだ一覧画面のhtmlデータを生成することができる。
また、ステップS1606において、データが検索されなかった場合(ステップS1606:No)、情報提供装置101は、領域再設定画面表示処理を実行して(ステップS1610)、ステップS1601に戻る。領域再設定画面表示処理の具体的な処理手順については、図17のフローチャートを用いて後述する。
また、ステップS1608において、データ属性が一致しない場合(ステップS1608:No)、情報提供装置101は、ステップS1610に移行する。
<領域再設定画面表示処理の具体的処理手順>
つぎに、図16に示したステップS1610の領域再設定画面表示処理の具体的な処理手順について説明する。
図17は、領域再設定画面表示処理の具体的処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、情報提供装置101は、目的ページのhtmlデータに基づいて、目的ページをキャプチャすることにより、目的ページの画像データを取得する(ステップS1701)。
つぎに、情報提供装置101は、それぞれのレコードRbの設定時情報を取得する(ステップS1702)。そして、情報提供装置101は、取得したそれぞれの設定時情報を含む領域再設定画面(例えば、領域再設定画面1100)をディスプレイ305に表示する(ステップS1703)。
つぎに、情報提供装置101は、領域再設定画面において、ユーザの操作入力により、いずれかの再設定ボタンが押下されたか否かを判断する(ステップS1704)。ここで、再設定ボタンが押下された場合(ステップS1704:Yes)、取得した目的ページの画像データを含む領域再設定画面(例えば、領域再設定画面1200)をディスプレイ305に表示する(ステップS1705)。
つぎに、情報提供装置101は、領域再設定画面において、ユーザの操作入力により、目的ページの画像データ上の目的データを含む領域Tが選択されたか否かを判断する(ステップS1706)。ここで、情報提供装置101は、領域Tが選択されるのを待つ(ステップS1706:No)。
そして、領域Tが選択された場合(ステップS1706:Yes)、情報提供装置101は、目的ページの画像データから領域Tの画像データを抽出して、領域Tの画像データのOCR処理を行うことにより領域データを取得する(ステップS1707)。
つぎに、情報提供装置101は、領域Tが設定された状態の目的ページの画像データをキャプチャすることにより、領域Tが設定された目的ページの画像データを設定時情報として取得する(ステップS1708)。そして、情報提供装置101は、領域データのデータ属性を特定する(ステップS1709)。
つぎに、情報提供装置101は、目的ページのhtmlデータから領域データを含むhtml要素を検索することにより、目的ページのhtmlデータにおけるhtml要素のタグのデータ特定html属性を特定する(ステップS1710)。
そして、情報提供装置101は、取得した設定時情報、特定したデータ属性およびデータ特定html属性をレコードRbに上書きすることにより、サイト別目的データ属性DB230を更新して(ステップS1711)、ステップS1704に戻る。なお、上書き対象となるレコードRbは、ステップS1704において押下された再設定ボタンに対応する設定時情報を含むレコードRbである。
これにより、目的ページの画面構成や掲載内容の変更に合わせて、サイト別目的データ属性DB230の記憶内容を更新することができる。
また、ステップS1704において、再設定ボタンが押下されなかった場合(ステップS1704:No)、情報提供装置101は、領域再設定画面において、ユーザの操作入力により、再設定完了ボタンが押下されたか否かを判断する(ステップS1712)。
ここで、再設定完了ボタンが押下されなかった場合(ステップS1712:No)、情報提供装置101は、ステップS1704に戻る。一方、再設定完了ボタンが押下された場合(ステップS1712:Yes)、情報提供装置101は、領域再設定画面表示処理を呼び出したステップに戻る。
以上説明したように、実施の形態にかかる情報提供装置101によれば、取得した目的ページのhtmlデータから、予め記録されたタグに関する情報により特定されるデータを検索することができる。また、情報提供装置101によれば、データが検索されなかった場合に、取得した目的ページのhtmlデータに基づく目的ページの画像データを含む領域再設定画面(例えば、領域再設定画面1200)をディスプレイ305に表示することができる。
これにより、タグに関する情報により特定されるデータを検索できたか否かによって、目的ページの画面構成や掲載内容の変更によりユーザの意図通りの情報を取得できなくなったか否かを判断することができる。また、ユーザの意図通りの情報を取得できなくなった場合に、目的ページのどの部分の情報を取得するのかについての再設定をしやすくして設定変更にかかる手間を削減することができる。
また、情報提供装置101によれば、出力した目的ページの画像データ上に設定された領域Tのデータにより特定されるタグに関する情報によって、予め記録されたタグに関する情報を更新することができる。これにより、目的ページの画面構成や掲載内容の変更に合わせて、サイト別目的データ属性DB230の記憶内容を更新することができる。
また、情報提供装置101によれば、データが検索された場合、当該データのデータ属性が、タグに関する情報と対応付けて予め記録されたデータ属性と一致するか否かを判断することができる。また、情報提供装置101によれば、予め記録されたデータ属性と一致しない場合に、取得した目的ページの画像データを出力することができる。
これにより、データが検索されても、検索されたデータのデータ属性が予め記録されたデータ属性と異なる場合は、ユーザの意図通りの情報を取得できなくなったと判断して、目的ページの画像データを出力することができる。
また、情報提供装置101によれば、予め記録されたデータ属性と一致する場合には、タグに関する情報と対応付けて予め記録された一覧位置に、検索されたデータを挿入した一覧画面を出力することができる。これにより、複数のサイトSの目的データを集約した一覧画面(例えば、一覧画面900)をディスプレイ305に表示することができる。
なお、本実施の形態で説明した情報提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
予め記録された、サイトの識別情報と前記サイトの画面情報におけるタグに関する情報とに基づいて、取得した前記サイトの画面情報から、前記タグに関する情報により特定されるデータを検索し、
前記データが検索されなかった場合に、取得した前記サイトの画面情報に基づく前記サイトの画像データを出力する、
処理を実行させることを特徴とする情報提供プログラム。
(付記2)前記コンピュータに、
出力した前記サイトの画像データ上に設定された領域のデータにより特定される、前記サイトの画面情報におけるタグに関する情報によって、前記予め記録された前記タグに関する情報を更新する処理を実行させることを特徴とする付記1に記載の情報提供プログラム。
(付記3)前記コンピュータに、
前記データが検索された場合、当該データの属性が、前記タグに関する情報と対応付けて予め記録されたデータの属性と一致するか否かを判断する処理を実行させ、
前記出力する処理は、
前記予め記録されたデータの属性と一致しない場合に、前記サイトの画像データを出力することを特徴とする付記1または2に記載の情報提供プログラム。
(付記4)前記コンピュータに、
前記予め記録されたデータの属性と一致する場合には、複数のサイトの情報を集約して表示する一覧画面における、前記タグに関する情報と対応付けて記録された位置に、検索した前記データを挿入した前記一覧画面を出力する処理を実行させることを特徴とする付記3に記載の情報提供プログラム。
(付記5)前記コンピュータに、
出力した前記サイトの画像データから抽出した前記領域の画像データの文字認識処理を行う処理を実行させ、
前記更新する処理は、
前記文字認識処理により認識されたデータにより特定される、前記サイトの画面情報におけるタグに関する情報によって、前記予め記録された前記タグに関する情報を更新することを特徴とする付記2に記載の情報提供プログラム。
(付記6)前記サイトの画面情報は、前記サイトの画面のhtmlデータであり、
前記サイトの画面情報におけるタグに関する情報は、前記htmlデータにおける前記画面内のいずれかのデータを含むhtml要素のタグの位置を特定する情報であることを特徴とする付記1〜5のいずれか一つに記載の情報提供プログラム。
(付記7)コンピュータが、
予め記録された、サイトの識別情報と前記サイトの画面情報におけるタグに関する情報とに基づいて、取得した前記サイトの画面情報から、前記タグに関する情報により特定されるデータを検索し、
前記データが検索されなかった場合に、取得した前記サイトの画面情報に基づく前記サイトの画像データを出力する、
処理を実行することを特徴とする情報提供方法。
(付記8)サイトの識別情報と前記サイトの画面情報におけるタグに関する情報とを対応付けて記憶する記憶部と、
前記記憶部の記憶内容に基づいて、取得した前記サイトの画面情報から、前記タグに関する情報により特定されるデータを検索し、前記データが検索されなかった場合に、取得した前記サイトの画面情報に基づく前記サイトの画像データを出力する制御部と、
を有することを特徴とする情報提供装置。
(付記9)コンピュータに、
予め記録された、サイトの識別情報と前記サイトの画面情報におけるタグに関する情報とに基づいて、取得した前記サイトの画面情報から、前記タグに関する情報により特定されるデータを検索し、
前記データが検索されなかった場合に、取得した前記サイトの画面情報に基づく前記サイトの画像データを出力する、
処理を実行させる情報提供プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。