(57)【特許請求の範囲】
【請求項１】
アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類し、
前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分し、
前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する、
処理をコンピュータが実行することを特徴とする情報提供方法。
【請求項２】
前記分類する処理を実行する間隔は、前記区分する処理を実行する間隔よりも長いことを特徴とする請求項１に記載の情報提供方法。
【請求項３】
前記区分する処理を実行する間隔を、前記検索システムにおける前記第１の種類のユーザの数と前記第２の種類のユーザの数との比率に基づいて変更する、処理を前記コンピュータが実行することを特徴とする請求項１又は２に記載の情報提供方法。
【請求項４】
前記区分する処理において、前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数の平均を前記所定数とする、ことを特徴とする請求項１〜３のいずれか一項に記載の情報提供方法。
【請求項５】
アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類するユーザ分類部と、
前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分する区分部と、
前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する出力部と、
を備える情報提供装置。
【請求項６】
アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類し、
前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分し、
前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報提供方法、情報提供装置及び情報提供プログラムに関する。
【背景技術】
【０００２】
従来、Ｗｅｂやデータベースなどにおいてアイテムを検索しているユーザが興味を示す可能性の高い情報を特定し、推奨情報として提示する技術として、協調フィルタリング手法が知られている。協調フィルタリング手法には、例えば、ユーザの情報やユーザがアクセスした情報に基づいて類似ユーザを特定し、類似ユーザがアクセスした情報を推奨情報として提示する方法がある。また、協調フィルタリング手法には、情報自体の類似度に基づいて、ユーザがアクセスした情報に類似する情報を特定し、推奨情報として提示する方法がある。
【０００３】
なお、特許文献１〜３等には、ユーザが閲覧しているコンテンツに関連する情報を推薦する技術について開示されている。また、特許文献４〜６等には、ユーザの興味や嗜好、操作や振る舞いに合った情報を提示する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−４８３２０号公報
【特許文献２】特開２０１１−１３５１８３号公報
【特許文献３】特開２０１２−２２３６５号公報
【特許文献４】特開２００４−２５９１８９号公報
【特許文献５】特開平１０−２２８４８２号公報
【特許文献６】特開２００５−２６７４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記協調フィルタリング手法では、適切な情報を推奨情報として提示できないおそれがある。また、推奨情報を適切なタイミングで提示することができないおそれがある。
【０００６】
１つの側面では、本発明は、適切な情報を適切なタイミングでユーザに提示することが可能な情報提供方法、情報提供装置及び情報提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、情報提供方法は、アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類し、前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分し、前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する、処理をコンピュータが実行する情報提供方法である。
【発明の効果】
【０００８】
適切な情報を適切なタイミングでユーザに提示することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報提供システムの構成を概略的に示す図である。
【図２】サーバのハードウェア構成を示す図である。
【図３】サーバの機能ブロック図である。
【図４】図４（ａ）は、ユーザコンテキストテーブルのデータ構造の一例を示す図であり、図４（ｂ）は、ユーザ遷移パステーブルのデータ構造の一例を示す図である。
【図５】図５（ａ）は、ユーザグループテーブルのデータ構造の一例を示す図であり、図５（ｂ）は、ユーザリストテーブルのデータ構造の一例を示す図である。
【図６】検索画面の一例を示す図である。
【図７】図７（ａ）、図７（ｂ）は、満足者と追求者の判定方法について説明するための図である。
【図８】ユーザ分類処理を示すフローチャートである。
【図９】判定処理を示すフローチャートである。
【図１０】図９のステップＳ２４の処理を示すフローチャートである。
【図１１】図９のステップＳ２６の処理を示すフローチャートである。
【図１２】情報提供処理を示すフローチャートである。
【図１３】図１３（ａ）〜図１３（ｃ）は、ユーザの状態遷移の具体例を示す図である。
【図１４】ユーザ遷移パステーブルの具体例を示す図である。
【図１５】図１５（ａ）、図１５（ｂ）は、情報提供例を示す図である。
【発明を実施するための形態】
【００１０】
以下、検索システムとしての情報提供システムの一実施形態について、図１〜図１５に基づいて詳細に説明する。
【００１１】
図１には、一実施形態に係る情報提供システム１００の構成が概略的に示されている。本実施形態の情報提供システム１００は、例えば、電子機器等の設計改版時において、ユーザが現在採用している部品（アイテム）の代替部品を検索するために用いるシステムである。情報提供システム１００は、例えば、現在ユーザが採用しているハードディスクやＳＳＤ（Solid State Drive）、ダイオードなどのアイテムの情報の入力を受け付けると、該アイテムの代替品の情報をデータベースから抽出してユーザに提供する。
【００１２】
情報提供システム１００は、図１に示すように、情報提供装置としてのサーバ１０と、利用者端末７０とを備える。サーバ１０と利用者端末７０は、インターネットなどのネットワーク８０に接続されている。
【００１３】
サーバ１０は、代替部品検索処理や、部品検索処理を実行する。代替部品検索処理では、サーバ１０は、利用者端末７０において入力された現在採用している部品（アイテム）の情報に基づいて、データベース上で代替部品の検索を行い、検索結果を利用者端末７０に出力する。また、部品検索処理では、サーバ１０は、利用者端末７０において入力された部品（アイテム）の検索条件（「定格電圧がαのメモリ」等）に基づいて、データベース上で部品を検索し、検索結果を利用者端末７０に出力する。また、サーバ１０は、ユーザの操作を監視し、ユーザが必要とするタイミングで、ユーザに対して推奨する操作に関する情報を提示する処理も行う。
【００１４】
図２には、サーバ１０のハードウェア構成が示されている。図２に示すように、サーバ１０は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、ネットワークインタフェース９７、及び可搬型記憶媒体用ドライブ９９等を備えている。これらサーバ１０の構成各部は、バス９８に接続されている。サーバ１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（情報提供プログラムを含む）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（情報提供プログラムを含む）をＣＰＵ９０が実行することにより、図３に示す、情報取得部１１、ユーザ分類部１２、区分部としての判定部１４、情報提供判定部１６、提供情報選択部１８、通知部２０としての機能が実現されている。なお、図３には、ＨＤＤ９６等に格納されている各種テーブルについても図示されている。各種テーブルには、ユーザコンテキストテーブル３２、ユーザ遷移パステーブル３４、ユーザグループテーブル３６、ユーザリストテーブル３８が含まれる。
【００１５】
情報取得部１１は、ユーザのコンテキスト情報やユーザ遷移パスを取得する。ここで、コンテキスト情報とは、ユーザが利用者端末７０上で選択した情報を意味する。すなわち、コンテキスト情報は、例えば、部品検索処理で表示される検索画面においてユーザが選択した部品の特性項目（検索の際に設定する検索項目であり、容量値、定格電圧、サイズなど）であるものとする。情報取得部１１は、ユーザのコンテキスト情報を取得すると、取得したコンテキスト情報をユーザコンテキストテーブル３２に格納する。図４（ａ）には、ユーザコンテキストテーブル３２のデータ構造の一例が示されている。図４（ａ）に示すように、ユーザコンテキストテーブル３２は、「ユーザ」のフィールドと、「コンテキスト１」、「コンテキスト２」、…のフィールドと、を有する。ユーザコンテキストテーブル３２には、各ユーザがどのコンテキスト（特性項目）を選択して検索を行ったかの情報が格納される。
【００１６】
ユーザ遷移パスとは、ユーザがある状態からある状態に遷移したことを表す情報を意味する。本実施形態では、ユーザ遷移パスは、ユーザが画面上においてあるボタンを押した後に、同一又は別のボタンを押したという情報を意味する。なお、本実施形態では、ユーザ遷移パスを取得する画面は、図６に示すような検索画面であるものとする。図６の検索画面では、部品番号の欄に現在使用している部品の番号を入力することで、代替部品を検索することができるようになっている。また、「項目候補」、「全行選択」、「選択行表示」、「選択行ＣＳＶ出力」、「選択行比較」、「選択行削除」の各ボタンは、ユーザが適宜押すことができるようになっている。
【００１７】
情報取得部１１は、ユーザ遷移パスを取得すると、取得したユーザ遷移パスをユーザ遷移パステーブル３４に格納する。図４（ｂ）には、ユーザ遷移パステーブル３４のデータ構造の一例が示されている。図４（ｂ）に示すように、ユーザ遷移パステーブル３４は、「ユーザ」のフィールドと、「前状態」及び「後状態」のフィールドと、「有効フラグ」のフィールドと、を有する。「ユーザ」のフィールドには、ユーザの識別情報が格納され、「前状態」及び「後状態」のフィールドには、ユーザ遷移パス、すなわち、ユーザが順に押した２つのボタンに対応する状態の情報が格納される。また、「有効フラグ」のフィールドには、ユーザ遷移パスが有効であるか否かを示すフラグが格納される。有効フラグが「１」であれば、ユーザ遷移パスが新しく、有効である（処理に用いることができる）ことを意味する。また、有効フラグが「０」であれば、ユーザ遷移パスが古いため、無効である（処理に用いることができない）ことを意味する。すなわち、有効フラグが「０」のユーザ遷移パスは、ユーザが所定期間以上前に遷移したことがある状態を意味する。
【００１８】
図３に戻り、ユーザ分類部１２は、ユーザコンテキストテーブル３２に格納されている情報や、ユーザ遷移パステーブル３４に格納されている情報に基づいて、検索の目的が類似するユーザを同一のユーザ群（グループ）に分類する。具体的には、ユーザ分類部１２は、コンテキスト情報やユーザ遷移パスが類似するユーザを同一のグループに分類する。ユーザ分類部１２は、一例として、自己組織化マップ（ＳＯＭ：Self-Organizing Map）のアルゴリズムを用いて、各ユーザのコンテキスト情報やユーザ遷移パスからユーザを分類する。なお、ユーザ分類部１２は、ＳＶＭ（Support Vector Machine）によりユーザを分類してもよい。なお、ユーザ分類部１２は、ユーザコンテキストテーブル３２に格納されている情報及びユーザ遷移パステーブル３４に格納されている情報のいずれかに基づいてユーザを分類してもよい。
【００１９】
ユーザ分類部１２は、ユーザを分類した結果を、ユーザグループテーブル３６に格納する。図５（ａ）には、ユーザグループテーブル３６のデータ構造の一例が示されている。図５（ａ）に示すように、ユーザグループテーブル３６は、「グループ」のフィールドと、「ユーザ」のフィールドと、を有する。「グループ」のフィールドには、グループ（ユーザ群）の識別情報が格納され、「ユーザ」のフィールドには、グループに分類されたユーザの識別情報が格納される。行方向に並ぶユーザは同一のグループに分類されたユーザを意味する。
【００２０】
判定部１４は、ユーザ遷移パステーブル３４に基づいて、ユーザを２種類のタイプに区分する。具体的には、判定部１４は、検索時の行動の特徴から、ユーザを第１の種類のユーザとしての満足者（Satisficer）と、第２の種類のユーザとしての追求者（Maximizer）とに区分する。なお、判定部１４がユーザを区分する処理を実行する間隔（繰り返す間隔）は、ユーザ分類部１２がユーザ分類を実行する間隔（繰り返す間隔）よりも短いものとする。
【００２１】
ここで、追求者は、常に最良のものを探して探索行動を起こす人物を意味する。一般的に、追求者が検索を行うと良い結果を得ることができるが、検索に時間がかかることが多い。また、追求者は、結果に対する満足度が低く、後悔する傾向が高い。一方、満足者は、見つかったものに対して満足する傾向にあるため、深い検索を行わず、検索にかかる時間は短い。また、満足者は、検索結果に対して後悔する傾向も低い。通常、追求者は少数（全ユーザの２０％程度）であり、満足者は大多数（全ユーザの８０％以上）である。なお、追求者と熟練者とは必ずしも一致しない。
【００２２】
なお、Satisficerの定義については、「Simon, H. A. 1955. Behavioral model of rational choice.Quarterly Journal of Economics, 69, 99-118.」に記載がある。また、Maximizer/Satisficerの分析については、「Schwartz, B., Ward, A., Monterosso, J., Lyubomirsky, S.,White, K., & Lehman, D. 2002. Maximizing versus satisficing: Happiness is a matter of choice. Journal of Personality and Social Psychology, 83, 1178-1197.」に記載がある。
【００２３】
判定部１４は、ユーザを追求者と満足者に区分した結果を、ユーザリストテーブル３８に格納する。図５（ｂ）には、ユーザリストテーブル３８のデータ構造の一例が示されている。図５（ｂ）に示すように、ユーザリストテーブル３８は、「ユーザ」と、「Ｎmax_U」と、「Ｓ／Ｍ」の各フィールドを有する。「Ｎmax_U」のフィールドには、１セッションあたりの到達状態種数が格納される。１セッションとは、単位時間でもよいし、１回の検索動作であってもよい。例えば、１セッションが単位時間であれば、単位時間あたりにユーザが押したボタンの種類数を意味する。また、１セッションが１回の検索動作であれば、１回の検索においてユーザが押したボタンの種類数を意味する。なお、Ｎmax_Uは、あるボタンを押し、その後にあるボタンを押す動作が複数回行われた場合であっても、到達状態種数は１と数える。このＮmax_Uの値が大きいほど追求者寄りであることを意味する。本実施形態では、判定部１４は、ユーザのＮmax_Uが、全ユーザのＮmax_Uの平均値ＮAよりも大きければ追求者と判定し、小さければ満足者と判定する。例えば、図７（ａ）において破線にて示すように全ユーザの平均値ＮAが遷移し、あるユーザの到達状態種数Ｎmax_Uが実線にて示すように遷移したとする。この場合、判定部１４は、図７（ｂ）に示すＮmax_U−ＮAの値が０よりも大きい間は、追求者と判定し、Ｎmax_U−ＮAの値が０以下の間は、満足者と判定する。図５（ｂ）の「Ｓ／Ｍ」のフィールドには、判定部１４の判定結果（区分結果）として、追求者（Ｍ）及び満足者（Ｓ）のいずれかを示すフラグが格納される。
【００２４】
情報提供判定部１６は、情報取得部１１から入力されるユーザ遷移パスに基づいて、満足者が所定期間行っていない振る舞いをしたこと、すなわち満足者が所定期間押していない新たなボタンを押したことを検出すると、情報提供を行うタイミングになったと判定し、提供情報選択部１８に通知する。
【００２５】
提供情報選択部１８は、情報提供判定部１６から通知を受けると、ユーザグループテーブル３６、ユーザリストテーブル３８、及びユーザ遷移パステーブル３４を参照して、新たなボタンを押したユーザ（満足者）に提供すべき情報を選択する。具体的には、提供情報選択部１８は、新たなボタンを押したユーザ（満足者）と同一のグループに属する追求者を、ユーザグループテーブル３６とユーザリストテーブル３８とに基づいて特定する。そして、提供情報選択部１８は、特定した追求者のユーザ遷移パス（有効フラグ＝１のみ）をユーザ遷移パステーブル３４から抽出し、抽出したユーザ遷移パスに基づく情報を提供すべき情報として選択する。提供すべき情報は、例えば、次に押すべきボタンのヘルプ情報などである。
【００２６】
通知部２０は、提供情報選択部１８が選択した提供すべき情報を、新たなボタンを押したユーザ（満足者）に提供するため、該ユーザが利用する利用者端末７０に送信（通知）する。
【００２７】
なお、情報提供判定部１６は、通知部２０が通知した後のユーザの振る舞い（ユーザ遷移パス）についてもモニタし、通知した情報を採用しない場合には、別の情報を提供すべきタイミングであると判定し、提供情報選択部１８に通知する。通知を受けた提供情報選択部１８は、別の提供すべき情報を選択し、通知部２０は、選択された提供すべき情報を利用者端末７０に送信（通知）する。
【００２８】
図１に戻り、利用者端末７０は、ＰＣ（Personal Computer）などの端末であり、図６の検索画面等を表示部上に表示し、入力部を介してユーザが入力した検索条件をサーバ１０に送信する。また、利用者端末７０は、サーバ１０において検索条件に基づいて検索された結果を受信して、表示部上に表示する。更に、利用者端末７０は、サーバ１０から提供すべき情報を受信した場合に、該情報を表示部上に表示する。
【００２９】
（サーバ１０の処理）
次に、サーバ１０の処理について、図８〜図１２のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
【００３０】
（ユーザ分類処理）
まず、サーバ１０のユーザ分類部１２によるユーザ分類処理について、図８のフローチャートに沿って説明する。なお、図８の処理の前提として、時間を表すパラメータｔは０である（初期化されている）ものとする。また、図８の処理を開始する段階では、ユーザグループテーブル３６がフラッシュされているものとする。また、本実施形態では、説明の便宜上、ユーザコンテキストテーブル３２に格納されている情報のみに基づいてユーザ分類を実行する場合について説明する。
【００３１】
図８の処理では、まず、ステップＳ１０において、ユーザ分類部１２は、ｔが閾値ＴUよりも大きいか否かを判断する。このステップＳ１０では、図８の処理を開始してから時間ＴU（ユーザ分類処理を実行すべき間隔）が経過したか否かを判断している。ステップＳ１０の判断が否定された場合には、ステップＳ１２に移行し、ユーザ分類部１２は、ステップＳ１０を繰り返し実行する間隔ａをｔに加算（ｔ＝ｔ＋ａ）した後、ステップＳ１０に戻る。
【００３２】
そして、ステップＳ１０の判断が肯定された段階で、ユーザ分類部１２は、ステップＳ１４に移行する。ステップＳ１４に移行すると、ユーザ分類部１２は、ユーザコンテキストテーブル３２を参照する。なお、ユーザコンテキストテーブル３２には、情報取得部１１が取得したユーザのコンテキスト情報が随時格納されるようになっている。
【００３３】
次いで、ステップＳ１６では、ユーザ分類部１２は、ユーザ分類を実行する。この場合、ユーザ分類部１２は、前述したように、自己組織化マップ（ＳＯＭ）のアルゴリズム等を用いて、各ユーザのコンテキスト情報からユーザを分類する。ユーザ分類部１２は、ユーザを分類した結果をユーザグループテーブル３６に格納する。
【００３４】
以上の処理が行われると、図８の全処理が終了する。なお、図８の処理は、繰り返し実行されるようになっている。このため、ユーザグループテーブル３６は、時間ＴU毎に新たな情報で更新されるようになっている。
【００３５】
なお、上記説明では、ユーザ分類をユーザコンテキストテーブル３２に基づいて行うことで、コンテキスト情報が類似するユーザを同一グループに分類することとしている。しかしながら、これに限らず、ユーザ分類において、更にユーザ遷移パステーブル３４を考慮することで、情報提供システム１００の使い方が類似するユーザを同一グループに分類することとしてもよい。
【００３６】
（判定処理）
次に、図９に基づいて、判定部１４により実行される判定処理について、詳細に説明する。なお、図９の処理は、図８の処理と同時並行的に実行される処理である。なお、図９の処理を開始する段階では、時間を表すパラメータｔは０に設定されているものとする。また、後述するステップＳ２６を繰り返す間隔を示す「１セッション」は、時間ＴH間隔であるものとする。
【００３７】
図９の処理では、まず、ステップＳ２０において、情報取得部１１が、ｔが閾値ＴHより大きいか否かを判断する。このステップＳ２０では、図９の処理を開始してから時間ＴH（判定処理を実行すべき間隔）が経過したか否かを判断している。ステップＳ２０の判断が否定された場合には、ステップＳ２２に移行し、情報取得部１１は、ステップＳ２０を繰り返し実行する間隔ａをｔに加算（ｔ＝ｔ＋ａ）した後、ステップＳ２０に戻る。なお、間隔ａの値は、図８で用いた間隔ａと同一の値であってもよいし、異なる値であってもよい。
【００３８】
そして、ステップＳ２０の判断が肯定された段階で、情報取得部１１は、ステップＳ２４に移行する。ステップＳ２４では、情報取得部１１は、ユーザ遷移パステーブル生成（更新）のサブルーチンを実行する。本サブルーチンにおいては、情報取得部１１は、図１０のフローチャートに沿った処理を実行する。
【００３９】
以下、図１０に沿って、ステップＳ２４（ユーザ遷移パステーブル生成（更新）処理）について、説明する。
【００４０】
（図１０：ユーザ遷移パステーブル生成（更新）処理）
図１０の処理では、まず、ステップＳ３０において、情報取得部１１は、初回起動であるか否かを判断する。初回起動の場合、ユーザ遷移パステーブル３４には、何も格納されていないので、ステップＳ３０の判断が肯定され、そのままステップＳ３４に移行する。一方、ステップ３０の判断が否定された場合（初回起動でない場合）には、ステップＳ３２に移行し、情報取得部１１は、ユーザ遷移パステーブル３４の全ての有効フラグをフラッシュ（＝０）し、ステップＳ３４に移行する。
【００４１】
ステップＳ３４に移行すると、情報取得部１１は、未選択のユーザが存在するか否かを判断する。ここでの判断が肯定された場合には、ステップＳ３６に移行し、情報取得部１１は、未選択のユーザを１人選択する。
【００４２】
次いで、ステップＳ３８では、情報取得部１１は、選択されているユーザがアクセスした状態遷移から、前後状態セットを抽出する。例えば、ユーザＵ０が、図１３（ａ）に示すように状態遷移したとする。この場合、図１４に示すように、ユーザＵ０の前状態及び後状態のセットを抽出することができる。この場合、ステップＳ４０において、情報取得部１１は、抽出した状態遷移セットをユーザ遷移パステーブル３４に登録する。具体的には、情報取得部１１は、抽出した状態遷移セットがユーザ遷移パステーブル３４に存在しなければ、新たに状態遷移セットのデータを追加し、有効フラグを１に設定する。一方、抽出した状態遷移セットがユーザ遷移パステーブル３４に既に存在している場合には、情報取得部１１は、有効フラグを０から１に変更する。
【００４３】
これに対し、例えば、ユーザＵ１が、図１３（ｂ）において実線矢印で示すように状態遷移したとする（破線については、過去にアクセスしたことがある状態遷移を意味するものとする）。この場合、ステップＳ４０では、情報取得部１１は、破線矢印部分に対応する前状態及び後状態については、有効フラグに０を設定し、その他については、有効フラグを１に設定する。
【００４４】
以上のように、ステップＳ４０までの処理が行われた後は、ステップＳ３４に戻る。そして、全ユーザのユーザ遷移パスがユーザ遷移パステーブル３４に格納されるまでステップＳ３４〜Ｓ４０の処理を繰り返す。その後、ステップＳ３４の判断が否定された段階で、図１０の全処理は終了し、図９のステップＳ２６に移行する。
【００４５】
図９のステップＳ２６では、判定部１４が、追求者・満足者判定処理のサブルーチンを実行する。以下、ステップＳ２６（追求者・満足者判定処理）について、図１１に基づいて詳細に説明する。
【００４６】
（図１１：追求者・満足者判定処理）
図１１の処理では、まず、ステップＳ５０において、判定部１４は、全ユーザの１セッションあたりの到達状態種数Nmax_Uを取得する。ここでは、ユーザ遷移パステーブル３４において有効フラグが１に設定されている状態遷移数をＮmax_Uとする。
【００４７】
次いで、ステップＳ５２では、判定部１４は、全ユーザについての到達状態種数の平均値ＮAを計算する。判定部１４は、ステップＳ５０で取得した各ユーザの到達状態種数Ｎmax_Uを合計し、ユーザ数で除すことで、平均値ＮＡを計算する。
【００４８】
次いで、ステップＳ５４では、判定部１４は、未選択のユーザを選択する。次いで、ステップＳ５６では、判定部１４は、選択されているユーザの１セッションあたりの到達状態種数Nmax_Uを取得する。
【００４９】
次いで、ステップＳ５８では、判定部１４は、ステップＳ５６で取得したＮmax_UとステップＳ５２で計算した平均値ＮAとの差（Ｎmax_U−ＮＡ）が０より大きいか否かを判断する。このステップＳ５８の判断が肯定された場合には、判定部１４は、ユーザを追求者と判定し、ステップＳ６０において、選択されているユーザに対応するユーザリストテーブル３８の「Ｓ／Ｍ」の欄に追求者フラグＭを付与する。一方、ステップＳ５８の判断が否定された場合には、判定部１４はユーザを満足者と区分し、ステップＳ６２において、選択されているユーザに対応するユーザリストテーブル３８の「Ｓ／Ｍ」の欄に満足者フラグＳを付与する。
【００５０】
ステップＳ６０又はＳ６２の処理が行われた後は、ステップＳ６４に移行し、判定部１４は、全ユーザを選択済みであるか否かを判断する。このステップＳ６４の判断が否定された場合には、ステップＳ５４に戻り、上述したステップＳ５４〜Ｓ６４の処理を繰り返す。一方、ステップＳ６４の判断が肯定された場合には、図１１の全処理を終了するとともに、図９の全処理を終了する。
【００５１】
以上のように、図１０、図１１の処理が時間ＴＨごとに実行されることで、所定時間（１セクション）ごとに、ユーザ遷移パステーブル３４が生成（更新）されるとともに、ユーザリストテーブル３８が更新されるようになっている。
【００５２】
（情報提供処理）
次に、図１２に基づいて、サーバ１０（情報提供判定部１６、提供情報選択部１８、通知部２０）により実行される情報提供処理について、詳細に説明する。
【００５３】
図１２の処理では、まず、ステップＳ７０において、情報提供判定部１６が、満足者のいずれかの状態遷移があるまで待機する。すなわち、情報提供判定部１６は、ユーザリストテーブル３８において満足者に区分されているユーザがいずれかのボタンを押すまで待機する。ここで、本実施形態では、一例として、図１４のユーザＵ０（満足者とする）が、図１３（ｃ）に示すように「結果表示」状態から「部品削除」の状態に遷移したとする。なお、この状態遷移は、ユーザが図６の検索画面において「選択行削除」のボタンを押したことを意味している。
【００５４】
基本的には、満足者であれば、現在採用している部品に対して、代替部品が見つかれば、それで十分と考える。また、満足者は、検索画面上で特定の操作を繰り返し実行することが多い。しかるに、代替部品が検索により見つからない場合には、代替部品を探すため、通常行わない操作を実行することがある。本実施形態では、このような満足者が通常行わない操作を行ったタイミングで、情報を提示することとしている。すなわち、満足者Ｕ０がユーザ遷移パステーブル３４に登録されていない「部品削除」の状態に遷移したタイミングは、満足者Ｕ０が通常行わない操作を実行したタイミング（追求者のような操作を行ったタイミング）を意味する。
【００５５】
満足者が状態遷移した場合、情報提供判定部１６は、ステップＳ７２に移行し、ユーザ遷移パステーブル３４の有効フラグが１のデータを参照する。
【００５６】
次いで、ステップＳ７４では、情報提供判定部１６は、満足者がユーザ遷移パステーブル３４に記録されていない状態（有効フラグが１の前状態、後状態に含まれていない状態）に到達したか否かを判断する。このステップＳ７４の判断が否定された場合には、ステップＳ７０に戻るが、肯定された場合には、ステップＳ７６に移行する。なお、情報提供判定部１６は、ステップＳ７４の判断が肯定されたタイミングで、提供情報選択部１８にその旨を通知する。図１３（ｃ）、図１４の例では、ユーザＵ０は、ユーザ遷移パステーブル３４に存在していない「部品削除」の状態に遷移したため、ステップＳ７４の判断が肯定され、ステップＳ７６に移行することになる。なお、サーバ１０は、この段階では、「選択行削除」ボタンに対応する処理（部品削除）はまだ実行しないものとする。
【００５７】
ステップＳ７６に移行すると、通知を受けた提供情報選択部１８が、同じユーザ分類かつ追求者であるユーザの状態遷移パスのうち、到達した状態に関連するパスのセットを抽出する。例えば、図１４のユーザＵ１がユーザＵ０と同じユーザ分類かつ追求者であったとする。この場合、ユーザＵ０が到達した状態「部品削除」に関連するパスのセットとして、「結果表示→部品削除」のほか、「結果表示→」を含む「結果表示→ＣＳＶ  ＤＬ」、「結果表示→部品選定」を抽出する。
【００５８】
次いで、ステップＳ７８では、提供情報選択部１８が、到達数の多い順に状態を集計する。上記例の場合、有効フラグ＝１である「結果表示→部品削除」が最も到達数の多い状態パスである。
【００５９】
次いで、ステップＳ８０では、提供情報選択部１８は、到達数の多い順に状態を１つ選択する。上記例の場合、「結果表示→部品削除」が選択される。なお、提供情報選択部１８は、選択した状態に関連する情報（例えばヘルプ情報）を通知部２０に対して送信する。
【００６０】
次いで、ステップＳ８２では、通知部２０は、提供情報選択部１８が選択した状態に関連する情報（ヘルプ情報）を利用者端末７０（ステップＳ７０において状態遷移があった満足者の利用者端末７０）に提示する。例えば、図１５（ａ）に示すように、状態「部品削除」に対応するボタン「選択行削除」のヘルプ情報として、「選択行削除が部品選定工数削除に有効です」などの文字情報を提示する。この状態から、ユーザが再度「選択行削除」ボタンを押した場合には、サーバ１０は、ボタンに対応する処理を実行する。
【００６１】
次いで、ステップＳ８４では、情報提供判定部１６は、提示した情報に満足者が到達したか否かを判断する。すなわち、ヘルプ情報を提示したボタンをユーザ（満足者）が押したか否かを判断する。このステップＳ８４の判断が肯定された場合には、ステップＳ８６に移行し、情報提供判定部１６は、情報取得部１１を介して、ユーザ遷移パステーブル３４に登録する。その後は、図１２の全処理を終了する。
【００６２】
一方、ステップＳ８４の判断が否定された場合には、ステップＳ８８に移行し、提供情報選択部１８は、ステップＳ７８で集計された状態のうち、選択されていない残りの状態があるか否かを判断する。このステップＳ８８の判断が肯定された場合には、ステップＳ８０に戻り、提供情報選択部１８は、到達数が次に多い状態を１つ選択し、ステップＳ８２において、選択した状態を利用者端末７０に提示する。その後は、ステップＳ８４〜Ｓ８８の処理が前述したのと同様に実行され、ステップＳ８８の判断が否定された場合には、図１２の全処理を終了する。
【００６３】
以上のように、図１２の処理が実行されることで、適切なタイミングで、ユーザが必要とする適切な情報を提示することができる。これにより、ユーザの操作を適切に補助することができる。
【００６４】
なお、図１５（ａ）に示すように、ヘルプ情報に「理由」ボタンを設けておいてもよい。ユーザが「理由」ボタンを押した場合には、通知部２０は、図１５（ｂ）に示すように、予め用意しておいた理由の情報「過去のユーザトレース情報を基に…」を利用者端末７０に提示するようにしてもよい。これにより、ユーザの使い勝手を更に向上することが可能である。
【００６５】
なお、本実施形態では、情報提供判定部１６、提供情報選択部１８、通知部２０を含んで、満足者が新たな操作を行ったことを検出した場合に、該満足者に提供する情報を決定し、出力する出力部としての機能が実現されている。
【００６６】
以上、詳細に説明したように、本実施形態によると、ユーザ分類部１２は、ユーザそれぞれがアイテムを検索した際に選択した特性項目の情報（コンテキスト情報）、及び各ユーザの操作履歴（ユーザ遷移パス）の少なくとも一方に基づいて、類似するユーザをグループに分類する（図８）。また、判定部１４は、ユーザそれぞれが実行した操作の種類の数（到達状態種数）に基づいて、各ユーザを追求者又は満足者に区分する（Ｓ２６、図１０）。そして、満足者が所定期間実行していない操作を実行したことを情報提供判定部１６が検出した場合に、提供情報選択部１８は、該ユーザと同一グループに分類された追求者の状態遷移パスに基づいて、該ユーザに提示する情報を決定し、通知部２０を介して利用者端末７０に通知する（図１２）。これにより、満足者であるユーザが所定期間以上実行していない操作を実行したタイミング（ユーザの振る舞いが変化したタイミング）で、ユーザ（満足者）と検索の仕方が類似し、かつ追求者であるユーザの操作履歴に基づく情報を提示することができる。したがって、新たな操作を行ったユーザ（満足者）に対して、適切なタイミングで、適切な情報を提示することが可能となっている。
【００６７】
また、本実施形態では、ユーザ分類部１２がユーザを分類する間隔ＴUが、判定部１４がユーザを区分する間隔ＴHよりも長く設定されている。これにより、ユーザの直近の操作を反映させて、追求者又は満足者の判定を行うことができる。したがって、本実施形態によれば、情報提示が必要なユーザかどうかを適切に判定して、適切なタイミングで情報提供を行うことで、ユーザの検索操作を適切に支援することが可能となる。
【００６８】
また、本実施形態では、ユーザの到達状態種数Ｎmax_Uが、全ユーザの到達状態種数の平均ＮAより大きいか否かに基づいて、ユーザが追求者か満足者かを区分する。これにより、簡易かつ適切にユーザが追求者であるか満足者であるかを判定することができる。
【００６９】
なお、上記実施形態では、追求者・満足者判定処理（Ｓ２６）を実行する間隔ＴHを追求者と満足者の比率に基づいて変更することとしてもよい。例えば、最初の段階では、間隔ＴHを固定して処理を行い、所定期間運用した後、追求者数／満足者数の値が所定の閾値Ｌより大きい場合には、間隔ＴHを短くし、所定の閾値Ｌより大きい場合には、間隔ＴHを長くすることとしてもよい。この場合、追求者が比較的多い、扱う情報の種類が多く、多種多様な検索条件が入力されるシステム（インターネット検索システム等）では、間隔ＴHが短くなり、満足者が多い、扱う情報の種類が少ないシステムや、使用目的が限定されているシステム（社内システム等)では、間隔ＴHが長くなる。このようにすることで、システムの特性を考慮して、追求者・満足者判定処理を実行する間隔を適切に設定することが可能となる。
【００７０】
なお、上記実施形態では、図１５（ａ）、図１５（ｂ）のような情報を提供した後に、ユーザに情報を評価させ、次回以降に提供する情報を決定する際に評価結果を反映させるようにしてもよい。この場合、「この情報は役に立ちましたか？」などの質問に対するユーザの回答を、ユーザの評価としてもよいし、ユーザが実際にボタンを押したか否か、「理由」まで閲覧したか否か、等をユーザの評価としてもよい。
【００７１】
なお、上記実施形態では、１つの状態に対して１つの情報（ヘルプ情報）が対応している場合について説明したが、複数の情報が対応していてもよい。
【００７２】
なお、上記実施形態では、間隔ＴHごとにユーザが追求者であるか満足者であるかを判定することとしたが、これに限られるものではない。例えば、間隔ＴHごとの各ユーザの判定結果（追求者／満足者）を複数期間で集計し、追求者と満足者のうち多い方を各ユーザの判定結果としてもよい。
【００７３】
なお、上記実施形態においては、満足者が所定期間押していないボタンを押した場合に、当該ボタンに対応するヘルプ情報を提示するようにしてもよい。この場合、通知部２０が、満足者によって押されたボタンに対応するヘルプ情報をデータベースから読み出せばよいため、提供情報選択部１８を省略してもよい。
【００７４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００７５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００７６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００７７】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００７８】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類し、
前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分し、
前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する、
処理をコンピュータが実行することを特徴とする情報提供方法。
（付記２）  前記分類する処理を実行する間隔は、前記区分する処理を実行する間隔よりも長いことを特徴とする付記１に記載の情報提供方法。
（付記３）  前記区分する処理を実行する間隔を、前記検索システムにおける前記第１の種類のユーザの数と前記第２の種類のユーザの数との比率に基づいて変更する、処理を前記コンピュータが実行することを特徴とする付記１又は２に記載の情報提供方法。
（付記４）  前記区分する処理において、前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数の平均を前記所定数とする、ことを特徴とする付記１〜３のいずれかに記載の情報提供方法。
（付記５）  アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類するユーザ分類部と、
前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分する区分部と、
前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する出力部と、
を備える情報提供装置。
（付記６）  前記分類する処理を実行する間隔は、前記区分する処理を実行する間隔よりも長いことを特徴とする付記５に記載の情報提供装置。
（付記７）  前記区分部は、前記区分する処理を実行する間隔を、前記検索システムにおける前記第１の種類のユーザの数と前記第２の種類のユーザの数との比率に基づいて変更することを特徴とする付記５又は６に記載の情報提供装置。
（付記８）  前記区分部は、前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数の平均を前記所定数とする、ことを特徴とする付記５〜７のいずれかに記載の情報提供装置。
（付記９）  アイテムの検索システムにおいてユーザがアイテムを検索した際に選択した検索項目の情報、及び前記検索システムにおけるユーザの操作履歴の少なくとも一方に基づいて、ユーザを複数のユーザ群に分類し、
前記ユーザそれぞれが前記検索システムにおいて実行した操作の種類の数に基づいて、各ユーザを前記操作の種類の数が所定数より少ない第１の種類のユーザと、前記所定数よりも多い第２の種類のユーザに区分し、
前記第１の種類のユーザに区分された特定のユーザが、該特定のユーザが所定期間実行していない種類の操作を実行したことを検出した場合に、前記特定のユーザと同一のユーザ群に分類されたユーザのうち、前記第２の種類のユーザに区分されたユーザの過去の操作履歴に基づいて、前記特定のユーザに提供する情報を決定し、出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
【符号の説明】
【００７９】
１０  サーバ（情報提供装置）
１２  ユーザ分類部
１４  判定部（区分部）
１６  情報提供判定部（出力部の一部）
１８  提供情報選択部（出力部の一部）
２０  通知部（出力部の一部）
【図１】
0006634971.tif 000002
【図２】
0006634971.tif 000003
【図３】
0006634971.tif 000004
【図４】
0006634971.tif 000005
【図５】
0006634971.tif 000006
【図６】
0006634971.tif 000007
【図７】
0006634971.tif 000008
【図８】
0006634971.tif 000009
【図９】
0006634971.tif 000010
【図１０】
0006634971.tif 000011
【図１１】
0006634971.tif 000012
【図１２】
0006634971.tif 000013
【図１３】
0006634971.tif 000014
【図１４】
0006634971.tif 000015
【図１５】
0006634971.tif 000016