(57)【要約】【課題】  特定のデータを格納するセルの位置が変動するテーブルにおいて、特定のデータを一意に同定することができると共に、ユーザに判りやすい識別情報を選択することを可能とする。【解決手段】  時々刻々と変化又は移動するデータを含むテーブル同士のデータの類似性に着目し、オブジェクト単位で同定を行った後に注目データの同定を行う手段と、Ｗｅｂ検索を利用した識別子選択処理を行う検索部１７および識別子選択部１８とを備える。【選択図】    図１
2006120048.tif 000002
【特許請求の範囲】
【請求項１】
各々データを格納する複数のセルにより行列を構成するテーブルを監視するテーブル監視装置であって、
例示用テーブル、解析対象テーブル、及び前記例示用テーブル中の注目データを特定する指定データを入力する入力手段と、
前記例示用テーブル及び前記解析対象テーブルのデータの類似性に基づいた識別子行或いは識別子列を前記例示用テーブル中から選択し、当該識別子行或いは識別子列のデータを含むオブジェクトを前記例示用テーブル中から抽出するとともに、前記識別子行或いは識別子列のデータを前記オブジェクトの識別子と定める識別子・オブジェクト抽出手段と、
前記例示用テーブルから前記注目データを含む正例オブジェクトを抽出し、前記解析対象テーブルから前記正例オブジェクトの識別子と一致する識別子を含む注目オブジェクトを抽出するオブジェクト同定手段と、
前記注目オブジェクトから、前記正例オブジェクト中の注目データの位置と同じ位置にあるデータを注目データとして同定する注目データ同定手段と、
前記識別子・オブジェクト抽出手段が行う識別子抽出処理において複数の識別子行候補或いは識別子列候補が発見された場合に、該複数の候補のセルに含まれるテキストからキーワードを選択し、該キーワードをＷｅｂ検索サイトへ送信し、この応答を受信する検索手段と、
前記検索手段が受信した応答に基づき、キーワードごとの検索結果件数を求め、各キーワードの検索結果件数をそれぞれ比較し、この比較結果に基づいて最適な識別子行候補或いは識別子列候補を選択し、この選択結果の識別子行候補或いは識別子列候補を前記識別子・オブジェクト抽出手段に通知する識別子選択手段と、
を備えたことを特徴とするテーブル監視装置。
【請求項２】
前記検索手段は、前記複数の候補のうち、セル内のテキストの文字列の長さが所定の文字数を超えるセルを含む候補をＷｅｂ検索対象から除外することを特徴とする請求項１に記載のテーブル監視装置。
【請求項３】
前記検索手段は、前記複数の候補のうち、セル内のテキストが数値のみで且つ所定の桁数を超えるセルを含む候補をＷｅｂ検索対象から除外することを特徴とする請求項１に記載のテーブル監視装置。
【請求項４】
前記識別子選択手段は、前記候補ごとに前記検索結果件数の平均値を算出し、各前記候補の検索結果件数の平均値を比較し、最小の平均値となった前記候補を選択することを特徴とする請求項１に記載のテーブル監視装置。
【請求項５】
前記識別子選択手段は、前記検索結果件数の平均値算出処理において、前記検索結果件数の中から最大値および最小値を除外し、残った検索結果件数の平均値を計算することを特徴とする請求項４に記載のテーブル監視装置。
【請求項６】
各々データを格納する複数のセルにより行列を構成するテーブルを有するＷｅｂページを監視するＷｅｂページモニタリングシステムであって、
例示用の前記Ｗｅｂページと解析対象の前記Ｗｅｂページを通信ネットワークを介して取得するＷｅｂページ取得手段と、
前記例示用Ｗｅｂページ中の注目データを指定する注目データ指定入力手段と、
前記例示用Ｗｅｂページ中のテーブル、前記解析対象Ｗｅｂページ中のテーブル、及び前記注目データの指定データから、前記解析対象Ｗｅｂページのテーブル中の注目データを同定する請求項１から５のいずれかの項に記載のテーブル監視装置と、
前記テーブル監視装置により同定された注目データを記憶する記憶手段と、
前記記憶手段に記憶されている注目データと前記テーブル監視装置により得られた注目データとから、解析対象Ｗｅｂページ中の注目データの更新の有無を判定する判定手段と、
前記判定手段の判定結果を利用者に対して通知する通知手段と、
前記テーブル監視装置により同定された注目データと当該同定に使用された識別子とを対応付けて表示するための表示データを作成する表示データ作成手段と、
を備えたことを特徴とするＷｅｂページモニタリングシステム。
【請求項７】
各々データを格納する複数のセルにより行列を構成するテーブルを監視するためのコンピュータプログラムであって、
例示用テーブル、解析対象テーブル、及び前記例示用テーブル中の注目データを特定する指定データを入力する機能と、
前記例示用テーブル及び前記解析対象テーブルのデータの類似性に基づいた識別子行或いは識別子列を前記例示用テーブル中から選択し、当該識別子行或いは識別子列のデータを含むオブジェクトを前記例示用テーブル中から抽出するとともに、前記識別子行或いは識別子列のデータを前記オブジェクトの識別子と定める機能と、
前記例示用テーブルから前記注目データを含む正例オブジェクトを抽出し、前記解析対象テーブルから前記正例オブジェクトの識別子と一致する識別子を含む注目オブジェクトを抽出する機能と、
前記注目オブジェクトから、前記正例オブジェクト中の注目データの位置と同じ位置にあるデータを注目データとして同定する機能と、
前記識別子・オブジェクト抽出手段が行う識別子抽出処理において複数の識別子行候補或いは識別子列候補が発見された場合に、該複数の候補のセルに含まれるテキストからキーワードを選択し、該キーワードをＷｅｂ検索サイトへ送信し、この応答を受信する機能と、
前記受信した応答に基づき、キーワードごとの検索結果件数を求め、各キーワードの検索結果件数をそれぞれ比較し、この比較結果に基づいて最適な識別子行候補或いは識別子列候補を選択し、この選択結果の識別子行候補或いは識別子列候補を前記識別子を定める機能に通知する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブル監視装置、Ｗｅｂページモニタリングシステム、並びにそのテーブル監視装置をコンピュータを利用して実現するためのコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、インターネット上のＷｅｂサイトで開設されるＷｅｂページによって、金融会社のアカウント情報提供サービスや株式情報提供サービス、天気予報情報提供サービス等の情報提供サービスが行われており、ユーザは時々刻々と変化する所望のデータをタイムリーに取得可能となっている。このような情報提供サービスを受ける場合、ユーザ自らが常時、Ｗｅｂページを閲覧し、提供されるデータの更新の有無をチェックすることは大変な負担である。このため、ユーザが注目する特定のデータを監視し、該特定データの更新有りを自動的に検知してユーザに通知することが要望されている。
【０００３】
従来、Ｗｅｂページ中のテーブル内に含まれる複数のデータを内容ごとに分割する技術として、例えば特許文献１に記載の技術が知られている。この従来技術では、Ｗｅｂページ中のテーブルを解析してデータを格納するセルの位置を示すセル位置データとセルの特徴を表現したセルベクトルとを生成し、テーブルタイプ（表か、レイアウトか）を判別する。そして、テーブルタイプが表の場合は、セル位置データとセルベクトルを参照してテーブルの分割方向（縦分割か横分割か）を決定し、この分割方向を参照してテーブルを分割し、セグメントを生成する。一方、テーブルタイプがレイアウトの場合は、セルベクトルを参照して各セルをクラスタリングし、セル位置データとセルクラスタ情報を参照してセグメントを生成する。これにより、Ｗｅｂページ中のテーブルを内容ごとに分割している。
【特許文献１】特開２０００−３３９３０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来技術では、特定のデータを格納するセルの位置がテーブル内で固定せず変動する場合、特定のデータを格納するセルを一意に同定することは困難であり、テーブル内に含まれる特定のデータを監視する目的に適用することができない。
【０００５】
例えば、株価の値上がり率の順位に従って各銘柄情報（コード、市場、名称、取引値等）を記載する株価ランキングテーブル（図９参照）では、時々刻々と変動する各銘柄の株価の値上がり率の順位に応じて各銘柄情報の記載位置が変動する。したがって、ユーザが注目する特定の銘柄の情報を監視するためには、該特定銘柄のテーブル内記載位置（図９ではテーブル内の記載行）を確実に同定することが求められる。なお、図９に示される銘柄情報（コード、名称、取引値等）は、便宜上のものである。
【０００６】
また、株価ランキングテーブルにおいて複数の銘柄を監視し、該監視対象の複数の銘柄のデータを収集して表示する場合、各表示データがいずれの銘柄のデータであるのかを容易に判別できることが望ましい。例えば、表示データを識別するために表示する情報として、図９の「コード」を使用するよりも、「名称」を使用した方がユーザには判りやすい。
【０００７】
本発明は、このような事情を考慮してなされたもので、その目的は、特定のデータを格納するセルの位置が変動するテーブルにおいて、特定のデータを一意に同定することができると共に、ユーザに判りやすい識別情報を選択することができるテーブル監視装置を提供することにある。
【０００８】
また、本発明の他の目的は、本発明のテーブル監視装置を使用してＷｅｂページ中のテーブル内に含まれる特定のデータを監視することにより、ユーザが注目する特定のデータの更新有りを自動的に検知すると共に、該特定データを収集してユーザに対して判りやすい表示を行うことができるＷｅｂページモニタリングシステムを提供することにある。
【０００９】
また、本発明の他の目的は、本発明のテーブル監視装置をコンピュータを利用して実現するためのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明に係るテーブル監視装置は、各々データを格納する複数のセルにより行列を構成するテーブルを監視するテーブル監視装置であって、例示用テーブル、解析対象テーブル、及び前記例示用テーブル中の注目データを特定する指定データを入力する入力手段と、前記例示用テーブル及び前記解析対象テーブルのデータの類似性に基づいた識別子行或いは識別子列を前記例示用テーブル中から選択し、当該識別子行或いは識別子列のデータを含むオブジェクトを前記例示用テーブル中から抽出するとともに、前記識別子行或いは識別子列のデータを前記オブジェクトの識別子と定める識別子・オブジェクト抽出手段と、前記例示用テーブルから前記注目データを含む正例オブジェクトを抽出し、前記解析対象テーブルから前記正例オブジェクトの識別子と一致する識別子を含む注目オブジェクトを抽出するオブジェクト同定手段と、前記注目オブジェクトから、前記正例オブジェクト中の注目データの位置と同じ位置にあるデータを注目データとして同定する注目データ同定手段と、前記識別子・オブジェクト抽出手段が行う識別子抽出処理において複数の識別子行候補或いは識別子列候補が発見された場合に、該複数の候補のセルに含まれるテキストからキーワードを選択し、該キーワードをＷｅｂ検索サイトへ送信し、この応答を受信する検索手段と、前記検索手段が受信した応答に基づき、キーワードごとの検索結果件数を求め、各キーワードの検索結果件数をそれぞれ比較し、この比較結果に基づいて最適な識別子行候補或いは識別子列候補を選択し、この選択結果の識別子行候補或いは識別子列候補を前記識別子・オブジェクト抽出手段に通知する識別子選択手段とを備えたことを特徴とする。
【００１１】
本発明に係るテーブル監視装置においては、前記検索手段は、前記複数の候補のうち、セル内のテキストの文字列の長さが所定の文字数を超えるセルを含む候補をＷｅｂ検索対象から除外することを特徴とする。
【００１２】
本発明に係るテーブル監視装置においては、前記検索手段は、前記複数の候補のうち、セル内のテキストが数値のみで且つ所定の桁数を超えるセルを含む候補をＷｅｂ検索対象から除外することを特徴とする。
【００１３】
本発明に係るテーブル監視装置においては、前記識別子選択手段は、前記候補ごとに前記検索結果件数の平均値を算出し、各前記候補の検索結果件数の平均値を比較し、最小の平均値となった前記候補を選択することを特徴とする。
【００１４】
本発明に係るテーブル監視装置においては、前記識別子選択手段は、前記検索結果件数の平均値算出処理において、前記検索結果件数の中から最大値および最小値を除外し、残った検索結果件数の平均値を計算することを特徴とする。
【００１５】
本発明に係るＷｅｂページモニタリングシステムは、各々データを格納する複数のセルにより行列を構成するテーブルを有するＷｅｂページを監視するＷｅｂページモニタリングシステムであって、例示用の前記Ｗｅｂページと解析対象の前記Ｗｅｂページを通信ネットワークを介して取得するＷｅｂページ取得手段と、前記例示用Ｗｅｂページ中の注目データを指定する注目データ指定入力手段と、前記例示用Ｗｅｂページ中のテーブル、前記解析対象Ｗｅｂページ中のテーブル、及び前記注目データの指定データから、前記解析対象Ｗｅｂページのテーブル中の注目データを同定する請求項１から５のいずれかの項に記載のテーブル監視装置と、前記テーブル監視装置により同定された注目データを記憶する記憶手段と、前記記憶手段に記憶されている注目データと前記テーブル監視装置により得られた注目データとから、解析対象Ｗｅｂページ中の注目データの更新の有無を判定する判定手段と、前記判定手段の判定結果を利用者に対して通知する通知手段と、前記テーブル監視装置により同定された注目データと当該同定に使用された識別子とを対応付けて表示するための表示データを作成する表示データ作成手段とを備えたことを特徴とする。
【００１６】
本発明に係るコンピュータプログラムは、各々データを格納する複数のセルにより行列を構成するテーブルを監視するためのコンピュータプログラムであって、例示用テーブル、解析対象テーブル、及び前記例示用テーブル中の注目データを特定する指定データを入力する機能と、前記例示用テーブル及び前記解析対象テーブルのデータの類似性に基づいた識別子行或いは識別子列を前記例示用テーブル中から選択し、当該識別子行或いは識別子列のデータを含むオブジェクトを前記例示用テーブル中から抽出するとともに、前記識別子行或いは識別子列のデータを前記オブジェクトの識別子と定める機能と、前記例示用テーブルから前記注目データを含む正例オブジェクトを抽出し、前記解析対象テーブルから前記正例オブジェクトの識別子と一致する識別子を含む注目オブジェクトを抽出する機能と、前記注目オブジェクトから、前記正例オブジェクト中の注目データの位置と同じ位置にあるデータを注目データとして同定する機能と、前記識別子・オブジェクト抽出手段が行う識別子抽出処理において複数の識別子行候補或いは識別子列候補が発見された場合に、該複数の候補のセルに含まれるテキストからキーワードを選択し、該キーワードをＷｅｂ検索サイトへ送信し、この応答を受信する機能と、前記受信した応答に基づき、キーワードごとの検索結果件数を求め、各キーワードの検索結果件数をそれぞれ比較し、この比較結果に基づいて最適な識別子行候補或いは識別子列候補を選択し、この選択結果の識別子行候補或いは識別子列候補を前記識別子を定める機能に通知する機能とをコンピュータに実現させることを特徴とする。
これにより、前述のテーブル監視装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１７】
本発明によれば、時々刻々と変化又は移動するデータを含むテーブル同士のデータの類似性に着目し、オブジェクト単位で同定を行った後に注目データの同定を行うことにより、例示用テーブル中の注目データの一例を提示するだけで解析対象テーブル中の注目データを同定することができる。これにより、特定のデータを監視して更新有りを自動的に検知することができる。さらに、Ｗｅｂ検索を利用した識別子選択処理により、識別子を表示データの表題としてそのまま利用できるような、ユーザに判りやすい意味のある識別子を選択することができる。
【００１８】
また、本発明のテーブル監視装置を使用してＷｅｂページ中のテーブル内に含まれる特定のデータを監視することにより、ユーザが注目する特定のデータの更新有りを自動的に検知すると共に、該特定データを収集してユーザに対して判りやすい表示を行うことができる。
【発明を実施するための最良の形態】
【００１９】
初めに本発明が扱うテーブルについての前提条件を説明する。
テーブルは、各々データを格納するセルを複数有し、複数のセルにより行列を構成する。
テーブルには同種のオブジェクトが複数並んでいる。例えば、株式売買高等のランキングや、週間天気予報などが記載されたテーブルを扱う。オブジェクトは複数のセルから構成される。
列方向に同種のデータが並ぶとともに行方向に関連するデータが並んでおり、一つの行には単数又は複数のオブジェクトが並んでいる。或いは、行方向に同種のデータが並ぶとともに列方向に関連するデータが並んでおり、一つの列には単数又は複数のオブジェクトが並んでいる。
オブジェクト単位で生成、削除、及びテーブル内の移動が行われる。
【００２０】
以下、図面を参照し、本発明の一実施形態について説明する。本実施形態では、Ｗｅｂページ中のテーブル内に含まれる特定のデータを監視する装置を例に挙げて説明する。
図１は、本発明の一実施形態に係るテーブル監視装置１の構成を示すブロック図である。図１において、テーブル監視装置１は、入力部１１、識別子・オブジェクト抽出部１２、オブジェクト同定部１３、注目データ同定部１４、出力部１５、例示用Ｗｅｂページ更新部１６、検索部１７及び識別子選択部１８を備える。
【００２１】
入力部１１は、Ｗｅｂページデータを入力する。Ｗｅｂページデータは例えばＨＴＭＬ（HyperText Markup Language）データである。Ｗｅｂページ中にはテーブル形式でデータが格納されている。入力されるＷｅｂページには、例示用と解析対象の２種類がある。例示用Ｗｅｂページは、ユーザが注目するデータ（注目データ）を指定するときに用いられたページである。また、入力部１１は、その注目データを特定する指定データを入力する。この指定データは、当該注目データであってもよい。解析対象Ｗｅｂページは、実際に注目データを同定する対象となるページである。例示用Ｗｅｂページと解析対象Ｗｅｂページは同一ＵＲＬ（Uniform Resource Locator）のページである。
【００２２】
識別子・オブジェクト抽出部１２は、例示用Ｗｅｂページと解析対象Ｗｅｂページの双方のテーブルについて、同一行同士をそれぞれ比較し、また同一列同士をそれぞれ比較し、同一行内または同一列内に完全に一致するテキストが２つ以上存在しない行又は列のいずれか一つを例示用Ｗｅｂページのテーブルから選択する。ここで行が選択されたならば当該行を識別子行とし、一方、列が選択されたならば当該列を識別子列とする。そして、例示用Ｗｅｂページのテーブル中のセルの中から、識別子行ならば列方向、識別子列ならば行方向の全セルまたは一部のセルをオブジェクトとして切り出し、各オブジェクトと識別子行／識別子列が交差する位置のセルをオブジェクトの識別子とする。
【００２３】
検索部１７および識別子選択部１８は、Ｗｅｂ検索を利用した識別子選択処理を行うブロックである。Ｗｅｂ検索を利用した識別子選択処理は、識別子・オブジェクト抽出部１２が行う識別子抽出処理において複数の識別子行／識別子列候補が発見された場合に、それら複数の候補の中から、ユーザに判りやすい識別子を含む候補を選択するためのものである。
【００２４】
検索部１７は、Ｗｅｂ検索サイトへクエリ（検索するキーワード）を送信し、その応答を受信する。該キーワードは、識別子・オブジェクト抽出部１２によって発見された複数の識別子行／識別子列候補のセルに含まれるテキストから選択される。
【００２５】
識別子選択部１８は、検索部１７が受信した応答に基づき、キーワードごとの検索結果件数（検索ヒット数）を求める。そして、各キーワードの検索結果件数をそれぞれ比較し、この比較結果に基づいて最適な識別子行／識別子列候補を選択する。この選択結果の識別子行／識別子列候補は、識別子・オブジェクト抽出部１２に通知される。
【００２６】
オブジェクト同定部１３は、例示用Ｗｅｂページから注目データを含むオブジェクト（正例オブジェクト）を取り出す。そして、解析対象Ｗｅｂページから正例オブジェクトの識別子と一致する識別子を含むオブジェクトを切り出し、このオブジェクトを注目データが含まれるオブジェクト（注目オブジェクト）とする。なお、解析対象Ｗｅｂページ中に正例オブジェクトと一致するオブジェクトがない場合はエラーとし、同定不能とする。
【００２７】
注目データ同定部１４は、注目オブジェクトから、正例オブジェクト中の注目データの位置と同じ位置にあるデータを注目データとして同定し切り出す。
出力部１５は、注目データ同定部１４によって切り出された解析対象Ｗｅｂページ中の注目データを出力する。
【００２８】
例示用Ｗｅｂページ更新部１６は、オブジェクト識別子を正しく抽出するために、当該Ｗｅｂページの情報更新の周期（例えば１日や１時間など）の定数倍の周期で上記した処理（識別子・オブジェクトの抽出、オブジェクトの同定、注目データの同定）を繰り返す。そして、注目データの同定が可能であった場合、当該解析対象Ｗｅｂページを新たな例示用Ｗｅｂページとして更新する。なお、上記定数倍をいくつにするかは通信コストや負荷に応じて設定変更する。
【００２９】
上記したようにテーブル監視装置１は、Ｗｅｂページ中のテーブルのデータ構造の特徴を利用して関連するデータの集合（オブジェクト）を抽出し、注目データを含むオブジェクトの同定を行った後に注目データの同定を行う。これにより、ユーザが指定した注目データの値が変化したり、又は注目データの位置がテーブル内で移動したりする場合でも、例示用Ｗｅｂページ中の注目データの一例を提示するだけで、実際の解析対象Ｗｅｂページ中から当該注目データを同定することが可能となり、Ｗｅｂページ中から注目データを自動的かつ継続的に取得することが実現できる。
【００３０】
なお、本実施形態に係るテーブル監視装置は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等の汎用のコンピュータシステムにより構成され、図１に示される装置の各機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００３１】
また、そのテーブル監視装置には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、テーブル監視装置に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００３２】
次に、上記した図１に示すテーブル監視装置１の詳細な動作を説明する。図２〜図７は、図１に示すテーブル監視装置１の処理フロー図である。
先ず、図２において、利用者が利用者端末により例示用Ｗｅｂページ（Ｗｅｂ１）を見ながら注目データを指定する（ステップＳ１０１）。例えば、注目データを有するセルのセル番号をキーボード操作により入力したり、或いはマウス等を操作して当該セルをクリックする。この指定データはテーブル監視装置１に入力される。次いで、テーブル監視装置１は、その入力された指定データに基づき、例示用Ｗｅｂページ（Ｗｅｂ１）中から、当該指定された注目データを含むテーブルＴ１を取り出す（ステップＳ１０２）。次いで、テーブル監視装置１は、解析対象Ｗｅｂページ（Ｗｅｂ２）を取得する（ステップＳ１０３）。次いで、この解析対象Ｗｅｂページ（Ｗｅｂ２）中から、テーブルＴ１と同じテーブルＴ２を取り出す（ステップＳ１０４）。次いで、テーブルＴ１とテーブルＴ２からオブジェクトの識別子列、或いは識別子行を抽出する（ステップＳ１０５）。
【００３３】
ここで、図４、図５を参照して、ステップＳ１０５の識別子抽出処理を説明する。
先ず、識別子が行方向か、列方向かを判定する。
図４において、テーブルＴ１の「（行，列）＝（ｉ，ｊ）」番目のセルとテーブルＴ２のセルとを比較し（ステップＳ２０１）、テーブルＴ１の「（行，列）＝（ｉ，ｊ）」番目のセルの文字列と完全一致するセルがテーブルＴ２中にいくつあるかを全ての（ｉ，ｊ）について以下の条件Ａ１，Ａ２で算出し、２つのテーブル（行方向テーブル，列方向テーブル）を生成する（ステップＳ２０２）。
条件Ａ１；テーブルＴ１の（ｉ，ｊ）番目のセルの文字列が、テーブルＴ２のｉ行目に含まれている個数を計数する。行方向テーブル中の（ｉ，ｊ）番目のセルには条件Ａ１の計数結果を格納する。これにより、テーブルＴ１と同じ行列数の行方向テーブルが生成される。
条件Ａ２；テーブルＴ１の（ｉ，ｊ）番目のセルの文字列が、テーブルＴ２のｊ列目に含まれている個数を計数する。列方向テーブル中の（ｉ，ｊ）番目のセルには条件Ａ２の計数結果を格納する。これにより、テーブルＴ１と同じ行列数の行方向テーブルが生成される。
【００３４】
次いで、行方向テーブル又は列方向テーブルのいずれか一方をステップＳ２０３〜Ｓ２０９の手順で選択する。ステップＳ２０３では、２以上の数値を含むテーブルがあるかを判断する。この判断の結果が「ＹＥＳ」の場合、２以上の数値を含む方のテーブルを選択する（ステップＳ２０４）。一方、ステップＳ２０３の判断結果が「ＮＯ」の場合、テーブル中の数値の合計をテーブル毎に算出し、これら合計値を比較し、合計値が異なるかを判断する（ステップＳ２０５）。この判断の結果が「ＹＥＳ」の場合、合計値が大きい方のテーブルを選択する（ステップＳ２０６）。
【００３５】
一方、ステップＳ２０５の判断結果が「ＮＯ」の場合、以下の条件Ｂ１〜Ｂ４に従ってテーブルの選択を行う。
条件Ｂ１；テーブルＴ１の同一行に同じ文字列を含むセルがある場合は、行方向テーブルを選択する。
条件Ｂ２；テーブルＴ１の同一列に同じ文字列を含むセルがある場合は、列方向テーブルを選択する。
条件Ｂ３；テーブルＴ２の同一行に同じ文字列を含むセルがある場合は、行方向テーブルを選択する。
条件Ｂ４；テーブルＴ２の同一列に同じ文字列を含むセルがある場合は、列方向テーブルを選択する。
上記条件Ｂ１〜Ｂ４のいずれかに合致するかを判断し（ステップＳ２０７）、合致する場合には合致した条件でテーブルを選択する（ステップＳ２０８）。
【００３６】
一方、上記条件Ｂ１〜Ｂ４のいずれにも合致しない場合（ステップＳ２０７でＮＯ）、テーブルＴ１又はＴ２を用いてテーブル中のセル間の類似度を算出し、類似度の高い方向は行方向であるか、或いは列方向であるかを判定し、この類似度が高い方向と等しい方向のテーブルを選択する（ステップＳ２０９）。なお、上記類似度の算出方法については後述する。
【００３７】
上記した手順により行方向テーブル或いは列方向テーブルが選択されると、次に、この選択されたテーブルに基づいて図５の処理により識別子行或いは識別子列を求める。すなわち、行方向テーブルが選択されたならば識別子行を求める。一方、列方向テーブルが選択されたならば識別子列を求める。以下の説明では、行方向テーブルから識別子行を求める場合を例に挙げて説明するが、列方向テーブルから識別子列を求める場合も同様であり、行を列に、上を左に、下を右に、右を下に、左を上に、それぞれ読み替えればよい。なお、図５中のカッコ内の記載は列方向テーブルから識別子列を求める場合に対応している。
【００３８】
図５において、先ず、行方向のテーブルにおいて２以上の値を含む行を識別子行候補から除外する（ステップＳ２１０）。この結果、まだ２つ以上の識別子行候補が残っている場合（ステップＳ２１１でＹＥＳ）、テーブルＴ１の同一行に同じ文字列を含む複数のセルがあるときは当該行をさらに識別子行候補から除外する（ステップＳ２１２）。この結果、まだ２つ以上の識別子行候補が残っている場合（ステップＳ２１３でＹＥＳ）、テーブルＴ２の同一行に同じ文字列を含む複数のセルがあるときは当該行をさらに識別子行候補から除外する（ステップＳ２１４）。
【００３９】
この結果、まだ２つ以上の識別子行候補が残っている場合には（ステップＳ２１５でＹＥＳ）、複数識別子対応処理を実行する（ステップＳ２１６）。この結果、まだ２つ以上の識別子行候補が残っている場合には（ステップＳ２１７でＹＥＳ）、注目点（ユーザ指定された注目データ）を含む行をさらに識別子行候補から除外する（ステップＳ２１８）。この結果、まだ２つ以上の識別子行候補が残っている場合には（ステップＳ２１９でＹＥＳ）、再度、複数識別子対応処理を実行する（ステップＳ２２０）。この結果、まだ２つ以上の識別子行候補が残っている場合には（ステップＳ２２１でＹＥＳ）、Ｗｅｂ検索を利用した識別子選択処理を実行する（ステップＳ２２２）。この後、ステップＳ２４２へ進む。なお、上記した複数識別子対応処理（Ｓ２１６，Ｓ２２０）およびＷｅｂ検索を利用した識別子選択処理（Ｓ２２２，Ｓ２４１）については後述する。
【００４０】
他方、上記ステップＳ２１１で識別子行候補が２つ未満であった場合（ステップＳ２１１でＮＯ）、識別子行候補が０個であるか判断し（ステップＳ２３０）、識別子行候補が０個ならば（ステップＳ２３０でＹＥＳ）、識別子なしとして処理を終了する（ステップＳ２３１）。ここで、識別子行候補が１個ならば（ステップＳ２３０でＮＯ）、ステップＳ２４２へ進む。
また、上記ステップＳ２１３，Ｓ２１５，Ｓ２１９のいずれかで識別子行候補が２つ未満であった場合（ステップＳ２１３，Ｓ２１５，Ｓ２１９のいずれかでＮＯ）、識別子行候補が０個であるか判断する（ステップＳ２４０）。この判断の結果、識別子行候補が０個となっている場合には（ステップＳ２４０でＹＥＳ）、直前の候補除外処理を取り消した状態に戻して、Ｗｅｂ検索を利用した識別子選択処理を実行する（ステップＳ２４１）。一方、ステップＳ２４０でＮＯならばステップＳ２４２へ進む。
また、上記ステップＳ２１７，Ｓ２２１のいずれかで識別子行候補が２つ未満であった場合は（ステップＳ２１９，Ｓ２２１のいずれかでＮＯ）、ステップＳ２４２へ進む。
次いで、ステップＳ２４２では、上記した処理の結果として選択された識別子行を設定する。
【００４１】
以上のステップＳ１０５の識別子抽出処理によって、識別子行或いは識別子列が抽出される。
【００４２】
説明を図２に戻す。ステップＳ１０６では、識別子行或いは識別子列が設定されたかを判断し、設定されていない場合には（ステップＳ１０６でＮＯ）、エラーを出力して処理を終了する。一方、識別子行或いは識別子列が設定されている場合には（ステップＳ１０６でＹＥＳ）、ステップＳ１０７へ進む。
【００４３】
以下の説明では、上記した識別子抽出処理で識別子列が抽出された場合を例に挙げて説明するが、識別子行が抽出された場合も同様であり、列を行に読み替えればよい。
ステップＳ１０７では、テーブルＴ１から行方向の全部または一部のセルをオブジェクトとして取り出し、各オブジェクトについて識別子列と交差するセルのテキストをそのオブジェクトの識別子（オブジェクト識別子）として割り当てる。
【００４４】
次いで、図３のステップＳ１１０では、注目点を含むテーブルＴ１のオブジェクトのオブジェクト識別子と同じテキストを含む行方向のオブジェクトを、テーブルＴ２から検索する。この検索の結果、該当するオブジェクトが見つからなかった場合は（ステップＳ１１１でＮＯ）、エラーを出力して処理を終了する。一方、該当する行方向のオブジェクトが見つかった場合には、当該オブジェクト中のセルのうち、テーブルＴ１のオブジェクト中の注目点のセルと同じ位置（同じ列）にあるセルを、テーブルＴ２の注目点のセル（注目データを含むセル）として利用者端末へ出力する（ステップＳ１１２）。
【００４５】
次に、図６を参照して、上記した複数識別子対応処理（図５のステップＳ２１６，Ｓ２２０）を説明する。以下の説明では、複数の識別子列候補が存在する場合を例に挙げて説明するが、複数の識別子行候補が存在する場合も同様であり、列を行に、また右を下に、また縦を横にそれぞれ読み替えればよい。なお、図６中のカッコ内の記載は複数の識別子行候補が存在する場合に対応している。
【００４６】
図６において、先ず、全ての識別子列の組み合わせについて各類似度を算出する（ステップＳ３０１）。この類似度算出方法は後述する。次いで、類似度と所定の閾値とを比較し、一つでも類似度が閾値以上である場合には（ステップＳ３０２でＹＥＳ）、識別子列同士が類似しており、オブジェクトが複数のオブジェクトに分かれる可能性があるため、ステップＳ３０３へ進み、更なる処理を実行する。
一方、全ての類似度が閾値未満である場合には（ステップＳ３０２でＮＯ）、識別子列同士が類似していないので、そのまま処理を終了する。
【００４７】
次いで、ステップＳ３０３では変数ｉを初期値“１”に設定する。次いで、類似している各識別子列についてｉ個右の列との間の類似度を算出し（ステップＳ３０４）、この類似度と閾値を比較し、閾値未満ならばそのまま処理を終了する（ステップＳ３０５でＮＯ）。一方、閾値以上ならば変数ｉに１加算する（ステップＳ３０６）。そして、ｉ番目の列が識別子列であるか又はｉ個右の列がないならば（ステップＳ３０７でＹＥＳ）ステップＳ３０８へ進み、そうでなければ（ステップＳ３０７でＮＯ）ステップＳ３０４へ戻る。これにより、類似している各識別子列について、隣り合う識別子列に挟まれた全ての列との間の類似度が算出される。次いで、ステップＳ３０８では、それら全ての類似度が閾値以上か否かを判断し、全類似度が閾値以上であればオブジェクトは２つ以上の識別子列によって分割されると設定する。次いで、識別子列から右に（ｉ−１）番目とｉ番目の間でテーブルＴ１を分割し、分割された２つのテーブルを左から順に縦方向につなぎ、新たなテーブルＴ１を生成する（ステップＳ３０９）。同様にテーブルＴ２についても分割後に縦方向につなぎ、新たなテーブルＴ２を生成する（ステップＳ３０９）。
【００４８】
次に、図７を参照して、上記した類似度算出処理を説明する。
図７において、先ず、比較対象の一方について、セル内の文字列を取り出し、変数ｉに初期値「１」を設定する（ステップＳ４０１）。次いで、取り出した文字列中のｉ番目の文字を取り出し、この文字が、数値ならば“Ｎ”に、ｉｍｇタグならば“Ｉ”に、ａタグならば“Ａ”に、その他のテキストならば“Ｔ”に、それぞれ置換する（ステップＳ４０３〜Ｓ４０９）。例えば、文字列“３月２３日（火）”は置換列“ＮＴＮＮＴＴＴＴ”に変換される。次いで、変数ｉに１加算し（ステップＳ４１０）、ｉ番目の文字が上記取り出した文字列中にあればステップＳ４０２に戻り（ステップＳ４１１でＹＥＳ）、無ければ比較対象のもう一方についても上記ステップＳ４０１〜Ｓ４１１の処理を行う（ステップＳ４１１でＮＯ、ステップＳ４１２）。次いで、各比較対象の置換列について、ＤＰマッチングを利用して、記号の組み合わせ方と記号列の長さから類似度を算出する。
【００４９】
次に、図８を参照して、上記したＷｅｂ検索を利用した識別子選択処理（図５のステップＳ２２２，Ｓ２４１）を説明する。以下の説明では、複数の識別子行候補が存在する場合を例に挙げて説明するが、複数の識別子列候補が存在する場合も同様であり、行を列に、また上を左にそれぞれ読み替えればよい。なお、図８中のカッコ内の記載は複数の識別子列候補が存在する場合に対応している。
【００５０】
図８において、先ず、複数の識別子行候補のうち、セル内のテキストの文字列の長さがＬ文字を超えるセルを含む行を識別子行候補から除外する（ステップＳ５０１）。Ｌは、制限する文字数の値（例えば１０）である。この候補除外処理によって、説明文などの識別子には不適当なテキストを格納するセルの行が識別子行候補から除外される。
【００５１】
この結果、まだ２つ以上の識別子行候補が残っている場合には（ステップＳ５０２でＹＥＳ）、セル内のテキストが数値のみで且つＭ桁を超えるセルを含む行を識別子行候補から除外する（ステップＳ５０３）。Ｍは、制限する桁数の値（例えば５）である。この候補除外処理によって、人には判別し辛く識別子には不適当な桁数の数値を格納するセルの行が識別子行候補から除外される。
【００５２】
この結果、まだ２つ以上の識別子行候補が残っている場合には（ステップＳ５０４でＹＥＳ）、ステップＳ５０８へ進む。一方、上記した候補除外処理（Ｓ５０１，Ｓ５０３）によって識別子行候補が２つ未満となった場合（ステップＳ５０２またはＳ５０４でＮＯ）、識別子行候補が０個であるか判断する（ステップＳ５０５）。この判断の結果、識別子行候補が０個となっている場合には（ステップＳ５０５でＹＥＳ）、直前の候補除外処理を取り消した状態に戻して、ステップＳ５０８へ進む。一方、ステップＳ５０５でＮＯならば、つまり識別子行候補が一つに絞られたならばステップＳ５０７へ進み、当該識別子行候補を選択する（ステップＳ５０７）。
【００５３】
ステップＳ５０８では、まだ残っている各識別子行候補ごとに、一行に含まれるセル数をカウントする（ステップＳ５０８）。次いで、このカウント値ｎと閾値Ｎ（例えばＮ＝１０）を比較し、カウント値ｎが閾値Ｎ未満であるか否かを判断する（ステップＳ５０９）。この結果に応じて以下の場合分け（ケースＡ，Ｂ）を行い、当該識別子行候補に含まれるセル中のテキストをキーワードとしてＷｅｂ検索を行う。
【００５４】
ケースＡ；
カウント値ｎが閾値Ｎ未満である場合（ステップＳ５０９でＹＥＳ）、当該識別子行候補に含まれる全てのセルをキーワード選択対象とし、キーワード選択対象の一セルに含まれるテキストを一キーワードに選択する。これにより、当該識別子行候補に含まれるセルの個数分のキーワードが選択される。そして、それら選択したセル個数分のキーワードをＷｅｂ検索サイトに送信し、各キーワードごとの検索結果（セル個数分）を受信する（ステップＳ５１０）。このキーワード検索は識別子行候補ごとに行い、識別子行候補ごとの検索結果を得る。
【００５５】
ケースＢ；
カウント値ｎが閾値Ｎ以上である場合（ステップＳ５０９でＮＯ）、当該識別子行候補に含まれるセルのうち、上から数えてＮ個のセルをキーワード選択対象とし、キーワード選択対象の一セルに含まれるテキストを一キーワードに選択する。これにより、Ｎ個のキーワードが選択される。そして、それら選択したＮ個のキーワードをＷｅｂ検索サイトに送信し、各キーワードごとの検索結果（Ｎ個）を受信する（ステップＳ５１１）。このキーワード検索は識別子行候補ごとに行い、識別子行候補ごとの検索結果を得る。
【００５６】
次いで、識別子行候補ごとに、検索結果件数の平均値を算出する（ステップＳ５１２）。この検索結果件数の平均値算出処理では、一識別子行候補について、各キーワードの検索結果件数（検索ヒット数）の中から最大値および最小値を除外し、残った検索結果件数の平均値を計算する。最大値および最小値を除外することにより、特異な検索結果件数を除き、適切な平均値を求めることができる。
【００５７】
次いで、各識別子行候補の検索結果件数の平均値を比較し、最小の平均値となった識別子行候補を選択する（ステップＳ５１３）。ここで、最小の平均値となった識別子行候補を選択する理由は、検索結果件数（検索ヒット数）が少ない方が、当該キーワードの使われ方がより限定されているので、当該キーワードが有する意味の数が少ないからである。つまり、識別子としては、保有する意味の数が少ないものほど、ユーザにとってキーワードの意味を連想しやすく、判別しやすいためである。なお、数値は、使用される場面ごとに意味が異なるので、どのような意味を持ったものであるのかが判別し辛いものである。一方、会社名などの固有名詞は、その意味がほぼ限定されるので、判別しやすいものである。
【００５８】
例えば、図９の株価ランキングテーブルでは、上記した図４、図５の識別子抽出処理において、「コード」の行と「名称」の行とが識別子行候補になる。次いで、上記した図８のＷｅｂ検索を利用した識別子選択処理により、各識別子行候補のセル中のテキストをキーワードとしてＷｅｂ検索を行う。この結果、検索結果件数（検索ヒット数）は、「コード」をキーワードとするよりも「名称」をキーワードとした方が少ない。これにより、「名称」の行が識別子行に選択されて、「名称」が識別子となる。この結果、銘柄の名称というユーザに判りやすい識別子を選択することができる。
【００５９】
上述したように本実施形態によれば、特定のデータを格納するセルの位置が変動するテーブルにおいて、特定のデータを一意に同定することができる。さらに、Ｗｅｂ検索を利用した識別子選択処理により、ユーザに判りやすい識別情報を選択することができる。
【００６０】
図１０は、本発明の一実施形態に係るＷｅｂページモニタリングシステム２０の構成を示すブロック図である。図１０において、Ｗｅｂページモニタリングシステム２０は、図１のテーブル監視装置１、Ｗｅｂページ取得部２１、注目データ指定入力部２２、注目データ記憶部２３、比較部２４、通知部２５及び表示データ作成部２６を備える。
【００６１】
Ｗｅｂページ取得部２１は、ユーザ指定されたＵＲＬを使用して例示用Ｗｅｂページと解析対象Ｗｅｂページを通信ネットワークを介して取得する。例示用Ｗｅｂページは、注目データ指定入力部２２及びテーブル監視装置１に出力される。解析対象Ｗｅｂページはテーブル監視装置１に出力される。
注目データ指定入力部２２は、Ｗｅｂページ取得部２１により取得された例示用Ｗｅｂページからユーザ操作により注目データを指定する機能を有し、注目データを指定するデータをテーブル監視装置１へ出力する。
【００６２】
注目データ記憶部２３は、テーブル監視装置１により同定された解析対象Ｗｅｂページのテーブル中の注目データを記憶する。
比較部２４は、テーブル監視装置１により今回得られた解析対象Ｗｅｂページのテーブル中の注目データと、注目データ記憶部２３に前回記憶された注目データとを比較し、この比較結果を通知部２５へ出力する。また、注目データに変化があった場合、新しい注目データを表示データ作成部２６に出力する。
【００６３】
通知部２５は、比較部２４の比較結果から、解析対象Ｗｅｂページ中の注目データの更新の有無を利用者に対して通知する。例えば、更新有りの場合に電子メールで通知する。このとき、更新された最新の注目データを電子メールに記載してもよい。これにより、テーブル監視装置１を使用してＷｅｂページ中のテーブル内に含まれる特定のデータを監視し、ユーザが注目する特定のデータの更新有りを自動的に検知することができる。
【００６４】
表示データ作成部２６は、比較部２４から受信した注目データを使用して表示データを作成する。この表示データ作成処理では、ユーザが注目するデータに対応付けて該当する識別子を表示するように表示データを構成する。この識別子は、テーブル監視装置１により注目データの同定に使用されたものであって、ユーザに判りやすいものである。
【００６５】
例えば、図９の株価ランキングテーブルにおいてユーザが指定した注目するセルが「出来高」のセルである場合、注目データは出来高の値となる。そして、識別子と出来高の値の組がテーブル監視装置１から出力される。表示データ作成部２６は、比較部２４から注目データを受信した時に、この受信日時（データ取得日時）を取得する。そして、識別子とデータ取得日時と出来高の値とを対応付けて表示するための表示データを作成する。図１１は、注目データの表示例である。図１１の例では、表示データを表示する端末の画面１００に、＜＞内に識別子として銘柄の名称（例えば、○○工業（株））が表示される。そして、識別子（銘柄の名称）に対応付けて、出来高の値とその取得日時が、“○月×日  １１：３０，１２３００”のように取得日時，出来高の値の順で表示される。
【００６６】
このように本実施形態では、テーブル監視装置１がユーザに判りやすい識別子（図１１では、銘柄の名称）を選択する。そして、例えば図１１の例では、その識別子（銘柄の名称）が出来高の値に対応付けられて表示されるので、ユーザは表示されている出来高の値が、どの銘柄のものであるのかを容易に判別することができる。
【００６７】
上述したように本実施形態によれば、図１のテーブル監視装置１を使用してＷｅｂページ中のテーブル内に含まれる特定のデータを監視することにより、ユーザが注目する特定のデータの更新有りを自動的に検知することができる。さらに、該特定データを収集してユーザに対して判りやすい表示を行うことができる。
【００６８】
なお、図２〜図８に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりテーブル監視処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７０】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係るテーブル監視装置１の構成を示すブロック図である。
【図２】図１に示すテーブル監視装置１の処理フロー図である。
【図３】図１に示すテーブル監視装置１の処理フロー図である。
【図４】図１に示すテーブル監視装置１の処理フロー図である。
【図５】図１に示すテーブル監視装置１の処理フロー図である。
【図６】図１に示すテーブル監視装置１の処理フロー図である。
【図７】図１に示すテーブル監視装置１の処理フロー図である。
【図８】図１に示すテーブル監視装置１の処理フロー図である。
【図９】監視対象のテーブルの具体例を示す図である。
【図１０】本発明の一実施形態に係るＷｅｂページモニタリングシステム２０の構成を示すブロック図である。
【図１１】図１０に示すＷｅｂページモニタリングシステム２０が作成する表示データによる注目データの表示例である。
【符号の説明】
【００７２】
１…テーブル監視装置、１１…入力部、１２…識別子・オブジェクト抽出部、１３…オブジェクト同定部、１４…注目データ同定部、１５…出力部、１６…例示用Ｗｅｂページ更新部、１７…検索部、１８…識別子選択部、２０…Ｗｅｂページモニタリングシステム、２１…Ｗｅｂページ取得部、２２…注目データ指定入力部、２３…注目データ記憶部、２４…比較部、２５…通知部、２６…表示データ作成部。
【図１】
2006120048.tif 000003
【図２】
2006120048.tif 000004
【図３】
2006120048.tif 000005
【図４】
2006120048.tif 000006
【図５】
2006120048.tif 000007
【図６】
2006120048.tif 000008
【図７】
2006120048.tif 000009
【図８】
2006120048.tif 000010
【図９】
2006120048.tif 000011
【図１０】
2006120048.tif 000012
【図１１】
2006120048.tif 000013