以下に添付図面を参照して、この発明にかかる情報提供装置、および情報提供方法の好適な実施の形態を詳細に説明する。
(実施の形態の概要)
図1は、実施の形態の概要を示す説明図である。本実施の形態では、ネットワーク上で公開されている記事群のうち、ユーザが未読の記事を、ユーザにとって利用価値の高い記事と利用価値の低い記事とに分類する手法を提案する。
具体的には、本実施の形態では、未読の記事を、RSSリーダに登録済のサイトの記事と、RSSリーダに未登録のサイトの記事とに分類する。RSSリーダに登録済のサイトの記事は、たとえば、記事のタイトル、概要、日付などがリスト化されて定期的にユーザに提示される。
このため、RSSリーダに登録済のサイトの記事でかつ未読の記事は、ユーザが記事のタイトルや概要を確認して読む必要がないと評価した可能性が高い記事である。したがって、未読かつ登録済の記事は、ユーザにとって興味のない記事であり、ユーザにとって利用価値の低い記事と推定できる。
一方で、RSSリーダに未登録のサイトの記事は、ユーザが記事のタイトルや概要を確認していない可能性が高く鮮度の高い記事である。したがって、未読かつ未登録の記事は、ユーザにとって未知の記事であり、ユーザにとって利用価値の高い記事と推定できる。
このように本実施の形態によれば、未読の記事をRSSリーダに登録済のサイトの記事と未登録のサイトの記事とに分類することにより、未読でかつ未登録のサイトの記事を、ユーザにとって未知の情報であり利用価値の高い記事と判断できる。また、本実施の形態によれば、未読でかつ登録済のサイトの記事を、ユーザにとって興味のない利用価値の低い記事と判断できる。
(情報提供システムのシステム構成)
つぎに、本実施の形態にかかる情報提供システムのシステム構成について説明する。図2は、情報提供システムのシステム構成図である。図2において、情報提供システム200は、情報提供装置201と、複数のクライアント端末202と、を含む構成である。情報提供装置201とクライアント端末202は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク210を介して通信可能に接続されている。
情報提供装置201は、記事DB203およびアクセスログDB204を備え、ユーザの検索活動を支援する機能を有する。また、情報提供装置201は、RSSリーダを有し、ネットワーク210上で公開されているWebサイトから配信される更新情報(RSSデータ)を収集する機能を有する。なお、収集された収集結果は、記事DB203に記憶される。
クライアント端末202は、ネットワーク210上のWebサイトにアクセスして各種情報を表示する機能を有する。なお、クライアント端末202からWebサイトにアクセスすると、その都度、Webサイトに対するアクセスログがアクセスログDB204に記録される。
また、クライアント端末202は、情報提供装置201にアクセスして任意の記事を検索する機能を有する。また、クライアント端末202は、情報提供装置201から提供される情報を受信して表示する機能を有する。なお、本明細書では、情報提供装置201がRSSリーダを有することにしたが、各クライアント端末202が有することにしてもよい。
(情報提供装置のハードウェア構成)
図3は、情報提供装置のハードウェア構成を示すブロック図である。図3において、情報提供装置201は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、情報提供装置201の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)309は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク210に接続され、このネットワーク210を介して他の装置に接続される。そして、I/F309は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、情報提供装置201内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、ここでは情報提供装置201のハードウェア構成について説明したが、クライアント端末202についても同様のハードウェア構成を備えている。
(記事DBの記憶内容)
つぎに、図2に示した記事DB203について説明する。図4は、記事DBの記憶内容の一例を示す説明図である。図4において、記事DB203は、記事ID、サイトURL(Uniform Resource Locator)、記事URL、タイトルおよびボディのフィールドを有する。各フィールドに情報を設定することで、記事A1〜Amがレコードとして記憶されている。
ここで、記事IDとは、記事を識別する識別子である。サイトURLとは、記事A1〜Amの配信元のURLである。記事URLとは、記事A1〜AmのURLである。タイトルとは、記事A1〜Amの見出しである。ボディとは、記事A1〜Amの本文である。記事DB203は、たとえば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
(アクセスログDBの記憶内容)
つぎに、図2に示したアクセスログDB204について説明する。図5は、アクセスログDBの記憶内容の一例を示す説明図である。図5において、アクセスログDB204は、ユーザIDおよびアクセス先のフィールドを有する。各フィールドに情報を設定することで、アクセスログがレコードとして記憶されている。
ここで、ユーザIDとは、アクセス元のユーザを識別する識別子であり、たとえば、クライアント端末202のIPアドレスである。アクセス先とは、アクセス先のURLであり、たとえば、記事A1〜AmのURLである。アクセスログDB204は、たとえば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
(情報提供装置の機能的構成)
つぎに、情報提供装置201の機能的構成について説明する。図6は、情報提供装置の機能的構成を示すブロック図である。図6において、情報提供装置201は、取得部601と、選択部602と、抽出部603と、判定部604と、判断部605と、分類部606と、付与部607と、設定部608と、作成部609と、算出部610と、出力部611と、を含む構成である。この制御部となる機能(取得部601〜出力部611)は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
情報提供装置201は、特定の提供情報について、該提供情報の情報識別子を用いて、通知情報テーブルおよび取得情報テーブルを参照し、各テーブルの各々に情報識別子が存在するか否かを判定する機能を有する。この機能は、後述する判定部604および判断部605の機能に相当する。また、提供情報の情報識別子は、たとえば、後述する記事の記事URL、サイトURLである。そして、情報提供装置201は、判定された判定結果に基づいて、特定の提供情報を分類する機能を有する。この機能は、後述する分類部606に相当する。
ここで、通知情報テーブルとは、特定のユーザが指定した、ネットワーク210を介して提供される任意の提供情報の存在を通知する通知情報において、該通知情報が通知した提供情報の情報識別子を管理するテーブルである。具体的には、たとえば、通知情報テーブルは、図10に示すサイトリスト1000である。
また、取得情報テーブルとは、ネットワーク210を介して提供される提供情報のうち、特定のユーザが取得した提供情報を識別する情報識別子を管理するテーブルである。具体的には、たとえば、取得情報テーブルは、図9に示すアクセスログテーブル900である。
さらに、情報提供装置201は、複数の提供情報について分類した結果、通知情報テーブルおよび取得情報テーブルのいずれにも存在しない提供情報として分類された提供情報を出力する機能を有する。この機能は、後述する出力部611の機能に相当する。
また、情報提供装置201は、特定の提供情報を、判定された判定結果に基づいて、後述する第一の種別〜第四の種別のいずれかの種別に分類してもよい。また、情報提供装置201は、第四の種別に分類された提供情報を、他の種別に分類された提供情報とともに種別ごとに出力してもよい。
ここで、第一の種別は、通知情報テーブルおよび取得情報テーブルのいずれにも情報識別子が存在する提供情報の種別である。第一の種別は、後述する第4類に相当する。第二の種別は、通知情報テーブルのみに情報識別子が存在する提供情報の種別である。第二の種別は、後述する第2類に相当する。第三の種別は、取得情報テーブルのみに情報識別子が存在する提供情報の種別である。第三の種別は、後述する第3類に相当する。第四の種別は、通知情報テーブルおよび取得情報テーブルのいずれにも情報識別子が存在しない提供情報の種別である。第四の種別は、後述する第1類に相当する。
以下、各機能部601〜611の機能を具体的に説明する。まず、取得部601は、サイトの提供情報を収集するアプリケーションによりユーザごとに収集された複数の提供情報のうち特定のユーザのアクセスログが存在しない任意の提供情報を取得する機能を有する。ここで、サイトとは、ネットワーク210上のWebサイト(または、Webページ)である。
提供情報とは、たとえば、RSSを用いて配信されるWebサイトの更新情報である。具体的には、たとえば、図4に示した記事A1〜Amである。また、提供情報を収集するアプリケーションとは、たとえば、RSSを読み込むためのRSSリーダである。RSSリーダによれば、WebサイトのRSSを登録することで、RSSリーダが定期的にWebサイトを巡回して提供情報を取得しユーザに提示することができる。
ここで、RSSのデータ構造について説明する。図7は、RSSのデータ構造の一例を示す説明図である。図7において、RSSデータ700は、サイト情報710と記事情報720とを含む構造である。サイト情報710は、たとえば、配信元のWebサイトのタイトル711、リンク先712、サイト内容713を含んでいる。
記事情報720は、たとえば、記事のタイトル721、リンク先722、記事内容723を含んでいる。なお、Webサイトは、異なるWebサイトの記事を配信する場合がある。すなわち、ある記事が複数のWebサイトから配信される場合がある。したがって、記事のリンク先に必ずしもWebサイトと同一のドメインを含むとは限らない。
以下の説明では、サイトを「Webサイト」とし、サイトの提供情報を「記事」とし、サイトの提供情報を収集するアプリケーションを「RSSリーダ」とする。また、クライアント端末202を使用する特定のユーザを「ユーザUi」と表記する(i=1,2,…,n)。
ここで、ユーザUiのアクセスログが存在しない記事とは、記事に未アクセスのため、ユーザUiが未読であると推定できる記事である。具体的には、たとえば、取得部601が、図3に示したキーボード310やマウス311を用いたユーザの操作入力によりユーザUiのアクセスログが存在しない任意の記事を取得してもよい。
なお、取得された取得結果は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。ただし、ユーザUiのアクセスログが存在しない記事が不特定の場合は、以下に説明する選択部602、抽出部603および判定部604により、ユーザUiのアクセスログが存在しない記事を特定する。
選択部602は、RSSリーダによりユーザU1〜Unごとに収集された記事A1〜Amから任意の記事Aj(j=1,2,…,m)を選択する機能を有する。具体的には、たとえば、選択部602が、記事DB203の中から任意の記事Ajを選択する。なお、選択された選択結果は、たとえば、図8に示す分類テーブル800に記憶される。
ここで、記事A3(j=3)が選択された場合を例に挙げて、分類テーブル800の設定例について説明する。図8は、分類テーブルの設定例を示す説明図である。図8において、分類テーブルCTは、記事ID、記事URL、サイトURL、既未読フラグ、登録フラグおよび記事スコアのフィールドを有する。各フィールドに情報を設定することで、記事Ajの分類結果がレコードとして記憶される。
記事IDとは、記事の識別子である。記事URLとは、記事AjのURLである。サイトURLとは、記事Ajの収集先(配信元)のWebサイトのURLである。既未読フラグとは、ユーザUiが記事Ajを読んだか否かを示すフラグである。登録フラグとは、記事Ajの収集先のWebサイトがサイトリスト(図10参照)に登録されているか否かを示すフラグである。記事スコアとは、ユーザUiにとっての記事Ajの利用価値を示す指標値である。
ここでは、記事A3が選択された結果、記事A3の記事URLおよびサイトURLが分類テーブルCTの該当フィールドに設定されて新たなレコードが記憶されている(図8中(8−1))。なお、分類テーブルCTは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
図6の説明に戻り、抽出部603は、アクセスログDB204からユーザUiのアクセスログを抽出する機能を有する。具体的には、たとえば、抽出部603が、ユーザUiのユーザIDに対応するアクセスログをアクセスログDB204から抽出する。なお、抽出された抽出結果は、たとえば、図9に示すアクセスログテーブル900に記憶される。
ここで、ユーザU1(i=1)を例に挙げて、アクセスログテーブル900の記憶内容について説明する。図9は、アクセスログテーブルの記憶内容の一例を示す説明図である。図9において、アクセスログテーブル900は、ユーザU1のアクセスログ901〜904を記憶している。なお、アクセスログテーブル900は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
判定部604は、ユーザUiのアクセスログ群の中に、記事Ajに対するアクセスログが存在するか否かを判定する機能を有する。具体的には、たとえば、判定部604が、アクセスログテーブル900を参照して、アクセスログ901〜904の中に記事Ajの記事URLと一致するアクセス先が存在するか否かを判定する。
ここで、記事Ajの記事URLと一致するアクセス先が存在しない場合、記事Ajに未アクセスであり、ユーザU1が記事Ajを未読と推定できる。一方、記事Ajの記事URLと一致するアクセス先が存在する場合、記事Ajに既アクセスであり、ユーザU1が記事Ajを既読と推定できる。
なお、判定された判定結果は、たとえば、分類テーブルCTに記憶される。具体的には、記事Ajの記事URLと一致するアクセス先が存在しない場合は、該当レコードの既未読フラグに「未読」が設定される。一方、記事Ajの記事URLと一致するアクセス先が存在する場合は、該当レコードの既未読フラグに「既読」が設定される。
図8に示した例では、判定部604が、アクセスログ901〜904の中に記事A3の記事URL「http://www.bbb」と一致するアクセス先が存在するか否かを判定する。ここでは、記事A3の記事URLと一致するアクセス先が存在しないため、既未読フラグに「未読」が設定される(図8中(8−2))。
上記選択部602、抽出部603および判定部604の各種処理は、たとえば、記事A1〜Amから選択されていない未選択の記事がなくなるまで繰り返し実行される。これにより、記事A1〜Amを、ユーザUiが未読の記事と、ユーザUiが既読の記事と、に分類することができる。
判断部605は、ユーザUi固有のサイトリストを参照して、記事AjがRSSリーダの収集先のWebサイトの記事か否かを判断する機能を有する。ここで、サイトリストとは、RSSリーダの収集先となるユーザUi固有のWebサイトが登録されたテーブルである。具体的には、たとえば、サイトリストには、ユーザUiが記事を購読したいWebサイトのURLが登録される。
図10は、サイトリストの記憶内容の一例を示す説明図である。図10において、サイトリスト1000は、ユーザU1〜UnごとにRSSリーダの収集先となるWebサイトのURLを有している。すなわち、判断部605が、たとえば、サイトリスト1000を参照して、記事AjのサイトURLに対応するURLが存在するか否かを判断する。
ここで、ユーザU1を例に挙げて、記事Ajが収集先のWebサイトの記事か否かを判断する場合について説明する。この場合、判断部605が、サイトリスト1000を参照して、ユーザU1のユーザIDに対応するレコード群1010を特定する。そして、判断部605が、レコード群1010を参照して、記事AjのサイトURLと一致するURLが存在するか否かを判断する。
なお、判断された判断結果は、たとえば、分類テーブルCTに記憶される。具体的には、記事Ajが収集先のWebサイトの記事ではないと判断された場合は、該当レコードの登録フラグに「未登録」が設定される。一方、記事Ajが収集先のWebサイトの記事と判断された場合は、該当レコードの登録フラグに「登録済」が設定される。
図8に示した例では、判断部605が、レコード群1010を参照して、記事A3のサイトURL「http://www.rss.bbb」と一致するURLが存在するか否かを判断する。ここでは、記事A3のサイトURLと一致するURLが存在しないため、登録フラグに「未登録」が設定される(図8中(8−3))。
判断部605の判断処理は、たとえば、記事A1〜Amから選択されていない未選択の記事がなくなるまで繰り返し実行される。これにより、記事A1〜Amを、ユーザUi固有のサイトリストに登録済のWebサイトの記事と、サイトリストに未登録のWebサイトの記事と、に分類することができる。
ここで、分類テーブルCTの記憶内容について説明する。図11は、分類テーブルの記憶内容の一例を示す説明図である。図11において、分類テーブルCTには、記事ID、記事URL、サイトURL、既未読フラグおよび登録フラグの各フィールドに情報が設定されて記事A1〜Amの分類結果がレコードとして記憶されている。
なお、図10に示したサイトリスト1000は、たとえば、アクセスログDB204のアクセスログから自動作成してもよい。具体的には、たとえば、リスト作成部(不図示)が、アクセスログDB204からRSSへのアクセスログを抽出する。このあと、リスト作成部が、抽出されたアクセスログのうち、一定期間内(たとえば、1日前、1週間前)で定期的にアクセスのあるアクセスログを抽出する。そして、リスト作成部が、抽出されたアクセスログのアクセス先をユーザごとにまとめることで、ユーザごとのサイトリストを作成してもよい。
図6の説明に戻り、分類部606は、判定された判定結果および判断された判断結果に基づいて、記事Ajを任意の種別に分類する機能を有する。具体的には、たとえば、分類部606が、未読の記事Ajが収集先のWebサイトの記事ではないと判断された場合、未読の記事AjをユーザUiにとって未知の記事に分類する。これにより、未読の記事のうち、ユーザUiが概要やタイトルを未確認であり、ユーザUiにとって情報の鮮度が高いと推定される記事Ajを特定できる。
また、分類部606が、未読の記事Ajが収集先のWebサイトの記事と判断された場合、未読の記事AjをユーザUiにとって既知の記事に分類する。これにより、未読の記事のうち、ユーザUiが概要やタイトルを確認して読む必要がないと評価したと推定される記事Ajを特定できる。
これらのことから、ユーザUiが未読の記事Ajを、ユーザUiにとって未知の情報であり利用価値の高いものと、ユーザUiにとって既知の情報であり利用価値の低いものとに分類することができる。
出力部611は、分類された分類結果を出力する機能を有する。具体的には、たとえば、出力部611が、記事AjがユーザAiにとって未知の記事であることを示す情報を出力してもよい。また、出力部611が、記事AjがユーザAiにとって既知の記事であることを示す情報を出力してもよい。出力形式としては、たとえば、ディスプレイ308への表示、プリンタ313への印刷出力、I/F309によるクライアント端末202への送信がある。また、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶することとしてもよい。
ここで、記事Ajの分類例について説明する。図12は、記事の分類例を示す説明図である。図12において、記事A1〜Amを(第1類)〜(第4類)に分類する分類表1200が示されている。
(第1類)は、ユーザUiが未読の記事のうち、ユーザUiが概要やタイトルを未確認であり、ユーザUiにとって情報の鮮度が高い記事である。具体的には、(第1類)は、既未読フラグに「未読」が設定され、登録フラグに「未登録」が設定された記事である。すなわち、(第1類)は、上記分類部606によりユーザUiにとって未知の記事に分類された記事である。
(第2類)は、未読の記事のうち、ユーザUiが概要やタイトルを確認して読む必要がないと評価した興味のない記事である。具体的には、(第2類)は、既未読フラグに「未読」が設定され、登録フラグに「登録済」が設定された記事である。すなわち、(第2類)は、上記分類部606によりユーザUiにとって既知の記事に分類された記事である。
(第3類)は、ユーザUiが既読の記事のうち、ユーザUi固有のサイトリストに未登録のWebサイトの記事である。具体的には、(第3類)は、既未読フラグに「既読」が設定され、登録フラグに「未登録」が設定された記事である。すなわち、(第3類)は、サイトリストに未登録のWebサイトの記事であって、ユーザUiが記事を読んだ既読の記事である。
(第4類)は、ユーザUiが既読の記事のうち、ユーザUi固有のサイトリストに登録済のWebサイトの記事である。具体的には、(第4類)は、既未読フラグに「既読」が設定され、登録フラグに「登録済」が設定された記事である。すなわち、(第4類)は、ユーザUiが購読を希望している記事であり、ユーザが記事を読んだ既読の記事である。
図6の説明に戻り、付与部607は、記事Ajに優先度を付与する機能を有する。ここで、優先度とは、ユーザUiにとっての記事Ajの利用価値を示す指標値(記事スコア)である。ここでは、上記第1類〜第4類のいずれかに分類された記事Ajに対して、「2」、「1」、「0」、「−1」のいずれかの記事スコアを付与することにする。ただし、記事スコアが高いほうがユーザUiにとっての利用価値の高いことを示す。
具体的には、たとえば、付与部607は、記事AjがユーザUiにとって未知の記事と分類された場合、記事スコア「2」を記事Ajに付与する(上記第1類に相当)。また、付与部607は、記事AjがユーザUiにとって既知の記事と分類された場合、記事スコア「−1」を記事Ajに付与する(上記第2類に相当)。
なお、上記第3類および第4類については、任意の記事スコアを付与することにしてもよい。ここでは、情報の鮮度を重視する観点から見て、サイトリストに未登録のWebサイトの記事にも関わらず既読の第3類の記事は、第4類の記事に比べてユーザUiにとっての利用価値が高いと推定できる。
そこで、付与部607は、記事Ajが第3類の場合、記事スコア「1」を記事Ajに付与する。また、付与部607は、記事Ajが第4類の場合、記事スコア「0」を記事Ajに付与する。図8に示した例では、記事A3は既未読フラグ「未読」および登録フラグ「未登録」のため上記第1類である。このため、付与部607が、記事スコア「2」を記事A3に付与する。この結果、記事スコアのフィールドに「2」が設定される(図8中(8−4))。
付与部607の付与処理は、たとえば、記事A1〜Amから選択されていない未選択の記事がなくなるまで繰り返し実行される。これにより、全記事A1〜Amに対して記事スコアを付与することができる。なお、付与された付与結果は、たとえば、分類テーブルCTに記憶される。ここで、付与結果が記憶された分類テーブルCTの記憶内容について説明する。図13は、分類テーブルの記憶内容の一例を示す説明図(その2)である。図13において、分類テーブルCTは、各記事A1〜Amの記事スコアのフィールドに付与結果が設定されている。
図6の説明に戻り、取得部601は、任意の検索クエリを与えることで検索された記事群を取得する機能を有する。ここで、検索クエリとは、たとえば、所望の記事を記事DB203の中から検索するために用いる文字列である。具体的には、たとえば、取得部601が、ネットワーク210を介して、外部のコンピュータ装置(たとえば、検索エンジン)から記事群を取得してもよい。
また、取得部601が、クライアント端末202から検索クエリを受け付けて、該検索クエリを用いて記事DB203から記事群を検索してもよい。なお、検索クエリは、たとえば、クライアント端末202に表示される検索画面において、ユーザUiの操作により入力される。取得された記事群は、たとえば、図14に示す検索結果テーブルSTに記憶される。ここで、検索結果テーブルSTについて説明する。
図14は、検索結果テーブルの一例を示す説明図(その1)である。図14において、検索結果テーブルSTは、記事ID、記事URL、サイトURL、記事スコアおよびサイトスコアのフィールドを有する。各フィールドに情報を設定することで、取得された記事群がレコードとして記憶されている。
ここで、サイトスコアとは、記事Ajの配信元のWebサイトのユーザUiにとっての利用価値を示す指標値である。なお、記事スコアについては、分類テーブルCTに基づく値が設定されている。検索結果テーブルSTは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
設定部608は、付与された付与結果に基づいて、検索された記事群の優先順位を設定する機能を有する。具体的には、たとえば、設定部608が、記事スコアが降順となるように記事群の優先順位を設定する。図14に示した記事A1〜A7の例では、優先順位は「A3→A7→A1→A5→A6→A2→A4」となる。
なお、記事スコアが同一の記事(たとえば、記事A1,A5)の優先順位は任意に設定してもよい。具体的には、たとえば、設定部608が、記事スコアが同一の記事A1,A5の記事IDが昇順となるように優先順位を設定してもよい。また、記事に複数の記事スコアが付与されている場合(たとえば、記事URLが同一でサイトURLが異なる記事)、該記事の記事スコアとして、最小の記事スコアを採用してもよい。なお、設定された設定結果は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
作成部609は、設定された優先順位に基づいて、記事群を表示するユーザUi固有の表示画面を作成する機能を有する。具体的には、たとえば、作成部609が、設定された優先順位にしたがって、記事群A1〜A7を並べ替えた表示画面を作成する。なお、作成された作成結果は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
出力部611は、作成された表示画面をクライアント端末202に送信する機能を有する。ここで、クライアント端末202に送信される表示画面について説明する。図15は、表示画面の一例を示す説明図(その1)である。図15において、記事群A1〜A7を優先順位「A3→A7→A1→A5→A6→A2→A4」にしたがって表示する表示画面1500が示されている。
このように、ユーザの好みが反映された順序に記事群A1〜A7が並び替えられた表示画面1500を提示することにより、ユーザの検索効率を向上させて情報収集活動の効率化を図ることができる。また、ユーザの興味のない記事の優先順位が低くなるため、ユーザにとって不要な情報を検索する無駄な作業を抑制することができる。
図6の説明に戻り、算出部610は、検索された記事群の収集先のWebサイトの優先度を算出する機能を有する。具体的には、たとえば、算出部610が、検索された記事の収集先のWebサイトの全記事の記事スコアを足し合わせることにより、Webサイトのサイトスコアを算出してもよい。
ここで一例として、検索された記事A3の収集先のWebサイトのサイトスコアを算出する場合について説明する。ただし、記事A3の収集先のWebサイト「http://www.rss.ccc」から配信された全記事を記事A4〜A7とする。この場合、算出部610が、Webサイトの全記事A4〜A7の記事スコア「−1,0,0,1」を足し合わせることによりサイトスコア「0」を算出する。
なお、算出された算出結果は、たとえば、検索結果テーブルSTに記憶される。ここで、算出結果が記憶された検索結果テーブルSTの記憶内容について説明する。図16は、検索結果テーブルの一例を示す説明図(その2)である。図16において、検索結果テーブルSTは、各記事A1〜A7のサイトスコアのフィールドに算出結果が設定されている。
また、設定部608は、付与された付与結果と、算出されたWebサイトの優先度と、に基づいて、検索された記事群の優先順位を設定してもよい。具体的には、たとえば、まず、設定部608が、記事スコアが降順となるように記事群の優先順位を設定する。このあと、記事スコアが同一の記事について、サイトスコアが降順となるように優先順位を設定する。
図16に示した記事A1〜A7の例では、優先順位は「A3→A7→A5→A6→A1→A4→A2」となる。図17は、表示画面の一例を示す説明図(その2)である。図17において、記事群A1〜A7を優先順位「A3→A7→A5→A6→A1→A4→A2」にしたがって表示する表示画面1700が示されている。
このように、ユーザの好みがより反映された順序に記事群A1〜A7が並び替えられた表示画面1700を提示することにより、ユーザの検索効率をさらに向上させて情報収集活動の効率化を図ることができる。
また、表示画面1700には、記事A1〜A7の分類結果を合わせて表示してもよい。具体的には、たとえば、作成部609が、記事A1〜A7ごとに分類結果を表わす情報を表示する表示画面を作成してもよい。また、作成部609が、記事A1〜A7を種別(たとえば、第1類〜第4類)ごとにまとめて、種別ごとに分類結果を表わす情報を表示する表示画面を作成してもよい。
より具体的には、たとえば、作成部609が、記事A1〜A7ごとに、分類結果を特定する文字列(たとえば、「未読かつRSSリーダに未登録」)を表示する表示画面を作成してもよい。また、作成部609が、ユーザにとって最も利用価値が高いと推定される第1類の記事(たとえば、記事A3)のみを強調表示する表示画面を作成してもよい。
これにより、ユーザUiが記事A1〜A7の既未読やRSSリーダへの登録の有無を直感的に判断できる。この結果、ユーザUiにとって利用価値が高いと推定される記事や、利用価値が低いと推定される記事を直感的に判断でき検索効率を向上させることができる。
なお、分類テーブルCT(図13参照)を利用することで、検索クエリに対する検索対象を絞り込むことができる。具体的には、たとえば、分類テーブルCTを参照して、検索対象を、未読記事または既読記事に絞り込むことができる。これにより、未読記事を検索対象として検索クエリに対する記事を検索するなどの検索手法を採用することができる。
また、検索結果テーブルSTのサイトスコアを参照して、サイトスコアが高スコア(たとえば、最大スコア)でかつRSSリーダに未登録のWebサイトを、お勧めWebサイトとしてユーザに提示することにしてもよい。図16の例では、RSSリーダに未登録でかつサイトスコアが最大のサイトURL「http://www.rss.bbb」のWebサイトをお勧めWebサイトとしてユーザU1に提示してもよい。
(情報提供装置の各種処理手順)
つぎに、情報処理装置201の各種処理手順について説明する。ここでは、まず、分類テーブルCT(図13参照)を作成するための分類処理手順について説明する。ただし、特定のユーザを「ユーザUi(i=1,2,…,n)」とし、任意の記事を「記事Aj(j=1,2,…,m)」とし、ユーザUi固有の分類テーブルCTを「分類テーブルCTi」とする。
図18は、情報処理装置の分類処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、抽出部603により、「i=1」とし(ステップS1801)、アクセスログDB204からユーザUiのアクセスログ群を抽出する(ステップS1802)。
このあと、選択部602により、分類テーブルCTiを初期化して(ステップS1803)、「j=1」とする(ステップS1804)。そして、選択部602により、記事DB203内の記事A1〜Amから記事Ajを選択して(ステップS1805)、記事Ajを分類テーブルCTiに登録する(ステップS1806)。具体的には、選択部602により、記事Ajの記事ID、記事URLおよびサイトURLを分類テーブルCTiの該当フィールドに設定する。これにより、記事Ajに関するレコードが新たに記憶される。
つぎに、判定部604により、抽出されたアクセスログ群の中に、記事Ajの記事URLと一致するアクセス先が存在するか否かを判定する(ステップS1807)。ここで、記事Ajの記事URLと一致するアクセス先が存在しない場合(ステップS1807:No)、分類テーブルCTiの該当レコードの既未読フラグに「未読」を設定する(ステップS1808)。
一方、記事Ajの記事URLと一致するアクセス先が存在する場合(ステップS1807:Yes)、分類テーブルCTiの該当レコードの既未読フラグに「既読」を設定する(ステップS1809)。これにより、記事Ajを未読の記事または既読の記事に分類することができる。
このあと、判断部605により、サイトリスト1000を参照して、記事Ajが、RSSリーダの収集先となるユーザUi固有のWebサイトの記事か否かを判断する(ステップS1810)。ここで、記事AjがユーザUi固有のWebサイトの記事ではない場合(ステップS1810:No)、分類テーブルCTiの該当レコードの登録フラグに「未登録」を設定する(ステップS1811)。
一方、記事AjがユーザUi固有のWebサイトの記事の場合(ステップS1810:Yes)、分類テーブルCTiの該当レコードの登録フラグに「登録済」を設定する(ステップS1812)。これにより、記事Ajを、ユーザUi固有のサイトリストに登録済のWebサイトの記事、または、サイトリストに未登録のWebサイトの記事に分類することができる。
このあと、選択部602により、jをインクリメントして(ステップS1813)、「j>m」か否かを判断する(ステップS1814)。ここで、「j≦m」の場合(ステップS1814:No)、ステップS1805に戻る。すなわち、「j>m」となるまでステップS1805〜ステップS1813をループすることにより、全記事A1〜Amを分類することができる。
一方、「j>m」の場合(ステップS1814:Yes)、付与部607により、記事A1〜Amに記事スコアを付与する付与処理を実行する(ステップS1815)。なお、付与処理の具体的処理手順については図19を用いて後述する。そして、抽出部603により、iをインクリメントして(ステップS1816)、「i>n」か否かを判断する(ステップS1817)。
ここで、「i≦n」の場合(ステップS1817:No)、ステップS1802に戻る。すなわち、「i>n」となるまでステップS1802〜ステップS1816をループすることにより、ユーザU1〜Unごとの分類テーブルCT1〜CTnを作成することができる。一方、「i>n」の場合(ステップS1817:Yes)、本フローチャートによる一連の処理を終了する。
つぎに、図18のステップS1815における付与処理の具体的処理手順について説明する。図19は、付与処理の具体的処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、選択部602により、「j=1」とし(ステップS1901)、記事A1〜Amから記事Ajを選択する(ステップS1902)。
そして、付与部607により、分類テーブルCTiの記事Ajの既未読フラグおよび登録フラグを参照して、「未読」かつ「未登録」か否かを判断する(ステップS1903)。ここで、「未読」かつ「未登録」の場合(ステップS1903:Yes)、記事Ajの記事スコアに「2」を設定して(ステップS1904)、ステップS1910に移行する。
一方、ステップS1903において、「未読」かつ「未登録」ではない場合(ステップS1903:No)、付与部607により、分類テーブルCTiの記事Ajの既未読フラグおよび登録フラグを参照して、「未読」かつ「登録済」か否かを判断する(ステップS1905)。
ここで、「未読」かつ「登録済」の場合(ステップS1905:Yes)、付与部607により、記事Ajの記事スコアに「−1」を設定して(ステップS1906)、ステップS1910に移行する。一方、「未読」かつ「登録済」ではない場合(ステップS1905:No)、付与部607により、分類テーブルCTiの記事Ajの既未読フラグおよび登録フラグを参照して、「既読」かつ「未登録」か否かを判断する(ステップS1907)。
ここで、「既読」かつ「未登録」の場合(ステップS1907:Yes)、付与部607により、記事Ajの記事スコアに「1」を設定して(ステップS1908)、ステップS1910に移行する。一方、「既読」かつ「未登録」ではない場合(ステップS1907:No)、付与部607により、記事Ajの記事スコアに「0」を設定する(ステップS1909)。
このあと、選択部602により、jをインクリメントして(ステップS1910)、「j>m」か否かを判断する(ステップS1911)。ここで、「j≦m」の場合(ステップS1911:No)、ステップS1902に戻る。一方、「j>m」の場合(ステップS1911:Yes)、図18に示したステップS1816に移行する。
すなわち、「j>m」となるまでステップS1902〜ステップS1910をループすることにより、全記事A1〜Amに記事スコアを付与することができる。なお、図18および図19に示した分類処理の実行タイミングは任意である。具体的には、たとえば、以下に説明する情報提供処理の前処理として分類処理を実行してもよい。また、検索クエリを与えることで検索された記事群の取得をトリガとして分類処理を実行してもよい。
(情報提供処理手順)
つぎに、情報提供装置201の情報提供処理手順について説明する。ここでは、ユーザUiに対して情報提供する場合について説明する。図20は、情報提供装置の情報提供処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、取得部601により、任意の検索クエリを与えることで検索された記事群を取得したか否かを判断する(ステップS2001)。
ここで、記事群を取得するのを待って(ステップS2001:No)、取得した場合(ステップS2001:Yes)、取得部601により、取得した記事群を検索結果テーブルST(図14参照)に記憶する(ステップS2002)。そして、設定部608により、分類テーブルCTiを参照して、記事群の優先順位を設定する設定処理を実行する(ステップS2003)。
このあと、作成部609により、設定された優先順位に基づいて、記事群を表示するユーザUi固有の表示画面を作成する(ステップS2004)。最後に、出力部611により、作成された表示画面をクライアント端末202に送信して(ステップS2005)、本フローチャートによる一連の処理を終了する。
この結果、クライアント端末202においてユーザUiの好みが反映された順序に記事群が並び替えられた表示画面が提示される。これにより、ユーザの検索効率を向上させて情報収集活動の効率化を図ることができる。
つぎに、図20のステップS2003における設定処理の具体的処理手順について説明する。図21は、設定処理の具体的処理手順の一例を示すフローチャートである。図21のフローチャートにおいて、まず、設定部608により、分類テーブルCTiを参照して、ステップS2001において取得された記事群の記事スコアを特定する(ステップS2101)。
このあと、設定部608により、記事スコアが降順となるように記事群の優先順位を設定する(ステップS2102)。そして、設定部608により、記事スコアが同一の記事があるか否かを判断する(ステップS2103)。ここで、記事群の中に記事スコアが同一の記事がない場合(ステップS2103:No)、図20に示したステップS2004に移行する。
一方、記事スコアが同一の記事がある場合(ステップS2103:Yes)、算出部610により、記事群の収集先のWebサイトのサイトスコアを算出する算出処理を実行する(ステップS2104)。
そして、設定部608により、検索結果テーブルST(図16参照)を参照して、記事スコアが同一の記事について、サイトスコアが降順となるように優先順位を再設定して(ステップS2105)、図20に示したステップS2004に移行する。これにより、ユーザUiにとって利用価値が高い順に記事群を並び替えることができる。
つぎに、図21のステップS2104における算出処理の具体的処理手順について説明する。図22は、算出処理の具体的処理手順の一例を示すフローチャートである。図22のフローチャートにおいて、まず、算出部610により、検索結果テーブルST(図14参照)を参照して、任意のWebサイトのサイトURLを選択する(ステップS2201)。
そして、算出部610により、分類テーブルCTiを参照して、サイトURLのフィールドに、選択されたサイトURLが設定されている記事を特定する(ステップS2202)。これにより、選択されたサイトURLのWebサイトから配信された記事を特定することができる。
つぎに、算出部610により、分類テーブルCTiを参照して、特定された記事の記事スコアを足し合わせて、Webサイトのサイトスコアを算出する(ステップS2203)。そして、算出部610により、算出された算出結果を、検索結果テーブルSTの該当レコードのサイトスコアに設定する(ステップS2204)。具体的には、ステップS2201において選択されたサイトURLが設定されたレコードのサイトスコアに算出結果が設定される。
このあと、算出部610により、検索結果テーブルST(図14参照)を参照して、選択されていない未選択のWebサイトのサイトURLがあるか否かを判断する(ステップS2205)。ここで、未選択のWebサイトのサイトURLがある場合(ステップS2205:Yes)、ステップS2201に戻る。
一方、未選択のWebサイトのサイトURLがない場合(ステップS2205:No)、図21に示したステップS2105に移行する。これにより、図20に示したステップS2001において取得された各記事の収集先のWebサイトごとのサイトスコアを算出することができる。
以上説明したように、本開示技術によれば、ユーザUiによるアクセスの有無とRSSリーダへの登録の有無を判定することにより、記事Ajを任意の種別に分類することができる。具体的には、たとえば、本開示技術によれば、ネットワーク210を介してユーザUiに提供される記事群を上述した第1類〜第4類の4つの種別に分類することができる。これにより、たとえば、ユーザUiが未読と推定できる記事を、ユーザUiにとって未知の情報であり利用価値の高いものと、ユーザUiにとって既知の情報であり利用価値の低いものとに分類することができる。
また、本開示技術によれば、複数の記事について分類した結果、ユーザUiが未アクセスかつRSSリーダに未登録の記事として分類された記事を出力することができる。これにより、ユーザUiにとって未知の情報であり利用価値の高い記事を提示でき、ユーザUiの情報収集活動の効率化を図ることができる。
また、本開示技術によれば、ユーザUiのアクセスログ群の中に、記事Ajに対するアクセスログが存在するか否かを判定することにより、ユーザUiが未読と推定できる記事を特定することができる。
また、本開示技術によれば、未読の記事AjがユーザUi固有のサイトリストに未登録のWebサイトの記事の場合、記事AjをユーザUiにとって情報の鮮度が高い未知の記事として特定できる。
また、本開示技術によれば、未読の記事AjがユーザUi固有のサイトリストに登録済のWebサイトの記事の場合、記事AjをユーザUiにとって興味のない既知の記事として特定できる。
また、本開示技術によれば、検索クエリを与えることで得られる記事群の優先順位を、該記事に付与される記事スコアを用いて設定することにより、ユーザUiの好みが反映された表示画面を提示することが可能となり、情報収集活動の効率化を図ることができる。
また、本開示技術によれば、記事群の優先順位を、該記事に付与される記事スコアおよびWebサイトごとのサイトスコアを用いて設定することにより、ユーザUiの好みがより反映された表示画面を提示することが可能となり、提示効果を高めることができる。
なお、本実施の形態で説明した情報提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)特定のユーザが指定した、ネットワークを介して提供される任意の提供情報の存在を通知する通知情報において、該通知情報が通知した提供情報の情報識別子を管理する通知情報テーブルと、
前記ネットワークを介して提供される提供情報のうち、前記特定のユーザが取得した提供情報を識別する情報識別子を管理する取得情報テーブルと、
特定の提供情報について、該特定の提供情報の情報識別子を用いて、前記通知情報テーブルおよび前記取得情報テーブルを参照して、該各テーブルの各々に該特定の情報識別子が存在するか否かを判定する判定手段と、
前記判定の結果に基づいて、前記特定の提供情報を分類する分類手段と、
を備えることを特徴とする情報提供装置。
(付記2)さらに、前記分類手段が複数の提供情報について分類した結果、前記通知情報テーブルおよび前記取得情報テーブルのいずれにも存在しない提供情報として分類された提供情報を出力する出力手段を備えることを特徴とする付記1に記載の情報提供装置。
(付記3)前記分類手段は、特定の提供情報について、前記通知情報テーブルおよび前記取得情報テーブルのいずれにも存在する第一の種別、該通知情報テーブルのみに存在する第二の種別、該取得情報テーブルのみに存在する第三の種別、該通知情報テーブルにも該取得情報テーブルにも存在しない第四の種別、のいずれかの種別に分類し、
前記出力手段は、前記第四の種別に分類された提供情報を、他の種別に分類された提供情報とともに、種別ごとに出力することを特徴とする付記2に記載の情報提供装置。
(付記4)コンピュータが、
ネットワークを介して提供される提供情報のうち、特定の提供情報を識別する情報識別子を選択する選択工程と、
特定のユーザが指定した、前記ネットワークを介して提供される任意の提供情報の存在を通知する通知情報において、該通知情報が通知した提供情報の情報識別子を管理する通知情報テーブル、および、前記ネットワークを介して提供される提供情報のうち、前記特定のユーザが取得した提供情報を識別する情報識別子を管理する取得情報テーブルを参照して、前記選択工程によって選択された情報識別子が該各テーブルの各々に存在するか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記特定の提供情報を分類する分類ステップと、
を実行することを特徴とする情報提供方法。
(付記5)さらに、前記コンピュータが、
前記分類工程によって複数の提供情報の情報識別子について分類した結果、前記通知情報テーブルおよび前記取得情報テーブルのいずれにも存在しない提供情報として分類された提供情報を出力する出力工程を実行することを特徴とする付記4に記載の情報提供方法。
(付記6)前記分類工程は、特定の提供情報について、前記通知情報テーブルおよび前記取得情報テーブルのいずれにも存在する第一の種別、該通知情報テーブルのみに存在する第二の種別、該取得情報テーブルのみに存在する第三の種別、該通知情報テーブルにも該取得情報テーブルにも存在しない第四の種別、のいずれかの種別に分類し、
前記出力工程は、前記第四の種別に分類された提供情報を、他の種別に分類された提供情報とともに、種別ごとに出力することを特徴とする付記5に記載の情報提供方法。