(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】アイテム提示方法、アイテム提示プログラムおよびアイテム提示装置
(51)【国際特許分類】
G06F 16/9035 20190101AFI20231129BHJP
G06F 16/9535 20190101ALI20231129BHJP
【FI】
G06F16/9035
G06F16/9535
(21)【出願番号】P 2019053094
(22)【出願日】2019-03-20
【審査請求日】2021-12-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中尾 悠里
(72)【発明者】
【氏名】大堀 耕太郎
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2016-143161(JP,A)
【文献】特開2009-252179(JP,A)
【文献】特開2012-256176(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータが、
各属性を有する各アイテムに対するユーザの選好を受け付け、
前記ユーザの選好に基づき、前記各属性で定義されたアイテム空間におけるベクトルを特定し、
前記ベクトルに基づき、前記アイテム空間上で前記ユーザへの提示対象となるアイテムの密集度を判定し、
前記アイテムの密集度が密と判定された場合、前記アイテム空間上で前記各アイテムから前記ベクトルへの垂線を引き、前記アイテム空間の原点と反対側から前記垂線を計数した場合の登場順で上位所定数のアイテムを前記ユーザに提示し、
前記アイテムの密集度が疎と判定された場合、前記ユーザに積極的に提示したいアイテムとして事前に設定されたプッシュアイテムから選択して前記ユーザに提示する、
処理を実行することを特徴とするアイテム提示方法。
【請求項2】
前記判定する処理は、
前記アイテム空間上で前記各アイテムから前記ベクトルへの垂線を引き、前記アイテム空間の原点と反対側から前記垂線を計数した場合の登場順を判定し、
前記登場順が1番であるアイテムの前記垂線の長さが第1の閾値以上である場合に、前記アイテムの密集度を疎と判定し、前記第1の閾値未満である場合に、前記アイテムの密集度を密と判定する、
ことを特徴とする請求項1に記載のアイテム提示方法。
【請求項3】
前記判定する処理は、
前記登場順が1番であるアイテムの前記垂線の長さが前記第1の閾値以上であり、さらに、最新のアイテム提示の時に提示されたアイテムのうち、前回提示されたアイテムとは異なる新規アイテムの数が第2の閾値未満である場合に、前記アイテムの密集度を疎と判定し、前記新規アイテムの数が前記第2の閾値以上である場合に、前記アイテムの密集度を密と判定する、
ことを特徴とする請求項2に記載のアイテム提示方法。
【請求項4】
前記アイテム空間上における前記各アイテムの位置を用いて、前記アイテム空間上で凸包を設定し、
前記凸包の端点と前記凸包の内部に位置する各アイテムとの距離に基づき、前記プッシュアイテムを設定する、処理を前記コンピュータに実行させ、
前記提示する処理は、
前記アイテムの密集度が疎と判定された場合、前記プッシュアイテムの中から、前記プッシュアイテムと前記ベクトルとの距離に基づき、前記ユーザに提示するアイテムを選択して前記ユーザに提示す
る、
ことを特徴とする請求項1から3のいずれか一つに記載のアイテム提示方法。
【請求項5】
コンピュータに、
各属性を有する各アイテムに対するユーザの選好を受け付け、
前記ユーザの選好に基づき、前記各属性で定義されたアイテム空間におけるベクトルを特定し、
前記ベクトルに基づき、前記アイテム空間上で前記ユーザへの提示対象となるアイテムの密集度を判定し、
前記アイテムの密集度が密と判定された場合、前記アイテム空間上で前記各アイテムから前記ベクトルへの垂線を引き、前記アイテム空間の原点と反対側から前記垂線を計数した場合の登場順で上位所定数のアイテムを前記ユーザに提示し、
前記アイテムの密集度が疎と判定された場合、前記ユーザに積極的に提示したいアイテムとして事前に設定されたプッシュアイテムから選択して前記ユーザに提示する、
処理を実行することを特徴とするアイテム提示プログラム。
【請求項6】
各属性を有する各アイテムに対するユーザの選好を受け付け、
前記ユーザの選好に基づき、前記各属性で定義されたアイテム空間におけるベクトルを特定し、
前記ベクトルに基づき、前記アイテム空間上で前記ユーザへの提示対象となるアイテムの密集度を判定し、
前記アイテムの密集度が密と判定された場合、前記アイテム空間上で前記各アイテムから前記ベクトルへの垂線を引き、前記アイテム空間の原点と反対側から前記垂線を計数した場合の登場順で上位所定数のアイテムを前記ユーザに提示し、
前記アイテムの密集度が疎と判定された場合、前記ユーザに積極的に提示したいアイテムとして事前に設定されたプッシュアイテムから選択して前記ユーザに提示する、
制御部を有することを特徴とするアイテム提示装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アイテム提示方法、アイテム提示プログラムおよびアイテム提示装置に関する。
【背景技術】
【0002】
Webページなどを用いて、ユーザに複数の選択肢やアイテムを提示し、ユーザの選択回答に基づき、ユーザの選好を探索する技術が知られている。例えば、ユーザが自分の住む場所や不動産を検索するときに、ユーザの真の選好にたどり着けるように、ユーザの好みを表示しつつ、インタラクティブに選好を検出して推薦することが知られている。また、アイテム空間から属性の組で特定されるアイテムを探索するシステムにおいて、ユーザに提示するアイテムの数を的確な数となるように、属性の組を選択する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-98975号公報
【文献】特開2016-71881号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、多様なアイテムを効果的に提示することができず、ユーザが真の選好に到達する前にシステムを離脱することがある。
【0005】
例えば、アイテム空間の中では、アイテムの疎密が存在する。このため、アイテム空間内で、アイテムが疎な領域にユーザの選好が達した場合に、密な領域で提示できる選択肢よりも、ユーザの選択の幅が狭まってしまうので、良い選好修正ができにくくなる。また、ユーザの選好がある程度一貫性がある場合、十分に多様なアイテムを提示することができず、ユーザの選択がマンネリになり、ユーザがシステムから早期に離脱する危険性がある。
【0006】
一つの側面では、多様なアイテムを効果的に提示することができるアイテム提示方法、アイテム提示プログラムおよびアイテム提示装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、アイテム提示方法は、コンピュータが、ユーザの選好に基づき、複数のアイテムから提示候補となる複数の候補アイテムを選択する処理を実行する。アイテム提示方法は、コンピュータが、前記ユーザに対するアイテムの提示履歴を参照し、前記複数の候補アイテムのうち新規の提示となる新規アイテム数を算出する処理を実行する。アイテム提示方法は、コンピュータが、前記新規アイテム数が所定数以下である場合、前記選好に関するアイテム空間において前記選好からの距離が閾値未満であるアイテムを推薦アイテムと選定する処理を実行する。アイテム提示方法は、コンピュータが、前記複数の候補アイテムおよび前記推薦アイテムから、前記ユーザに提示する提示アイテムを選択して提示する処理を実行する。
【発明の効果】
【0008】
一実施形態によれば、多様なアイテムを効果的に提示することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1にかかるシステムの全体構成例を説明する図である。
【
図2】
図2は、アイテム空間の疎密を説明する図である。
【
図3】
図3は、アイテムの疎密を考慮したアイテム提示を説明する図である。
【
図4】
図4は、実施例1にかかる探索装置の機能構成を示す機能ブロック図である。
【
図5】
図5は、不動産情報DBに記憶される情報の例を示す図である。
【
図6】
図6は、履歴情報DBに記憶される提示アイテムの履歴を示す図である。
【
図10】
図10は、ユーザ選好とアイテム更新とを説明する図である。
【
図11】
図11は、アイテムの疎密の判定を説明する図である。
【
図12】
図12は、アイテムの疎密の判定を説明する図である。
【
図13】
図13は、ランダム提示の問題点を説明する図である。
【
図14】
図14は、プッシュスコアの算出を説明する図である。
【
図15】
図15は、プッシュアイテムの提示例を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示するアイテム提示方法、アイテム提示プログラムおよびアイテム提示装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0011】
[全体構成]
図1は、実施例1にかかるシステムの全体構成例を説明する図である。
図1に示すように、このシステムは、ユーザ端末1と探索装置10とがネットワークNを介して接続される不動産マッチングシステムである。ネットワークNは、有線や無線を問わず、インターネットなどの各種ネットワークを採用することができる。また、ユーザ端末1が1台の例を図示したが、これに限定されるものではなく、複数台のユーザ端末1が接続されていてもよい。
【0012】
本システムでは、不動産情報の検索を行うユーザが使用するユーザ端末1が、不動産情報を検索するために探索装置10にアクセスする。そして、探索装置10が、ユーザ端末1に複数回の質問を表示させて、ユーザが重視する項目や好みなどである選好を推定し、選好に合致する不動産情報を探索してユーザ端末1に提示する。このようにして、本システムは、ユーザと不動産情報とをマッチングするシステムである。
【0013】
なお、本実施例では、不動産マッチングシステムを例にして説明するが、これに限定されるものではない。例えば、移住希望者と自治体とをマッチングする移住者マッチングなどのように、ユーザへの問い合わせの回答によってユーザの選好を推定するシステムであれば、どのようなシステムにも適用することができる。
【0014】
ユーザ端末1は、不動産情報を検索するユーザが使用するコンピュータ装置であり、例えばパーソナルコンピュータ、携帯電話、タブレット端末、スマートフォンなどである。なお、ユーザは、回答者の一例である。
【0015】
探索装置10は、上述した不動産マッチングを実行するサーバ装置であり、アイテム提示装置の一例である。この探索装置10は、「Aマンション、Bアパート、Cコーポ」などの不動産に関する情報、ユーザが探索した履歴、ユーザが要求する選好の推定に関する情報などの各種ログを記憶する。そして、探索装置10は、ユーザに問い合わせ(質問)を複数回提示して、その回答によってユーザの選好を推定し、ユーザの希望と合致する不動産情報を提示する。なお、本実施例では、ユーザに提示する不動産情報を「アイテム」を記載する場合がある。
【0016】
近年では、ユーザ選好の変化などをいち早く察知して、提示するアイテムを動的に変更することで、効果的なアイテムの提示を実現する技術が利用されている。例えば、ユーザが真の選好に到達したにもかかわらず、よりよいアイテムを求めて探索を続けてしまう行動である納得プロセスを特定し、よりユーザが好みそうなアイテムが存在するかどうかを表示する技術が知られている。
【0017】
また、ユーザの選好ログからユーザが自分の好みを見つけたかどうかを判断し、見つけている場合はその方向にどの程度新しいアイテムがあるかを表示する技術が知られている。また、ユーザが、自分の選好に近い別のアイテムを検討し、自分の選好を洗練させていく行動である収束プロセスを減らすために、ユーザの選好トレンドに沿いつつ、過去に選択していないアイテムを提示する技術が知られている。
【0018】
しかし、アイテム空間には、アイテムの疎密が存在するので、ユーザが真の選好到達前にアイテム空間の中で疎な方向に選好が進んで行くと、新しいアイテムが出にくくなってマンネリ化し、ユーザがシステムを離脱する可能性が高くなる。
【0019】
図2は、アイテム空間の疎密を説明する図である。
図2では、属性として「交通利便性」と「安全性」とを有し、交通利便性と安全性との2次元の指標でアイテムが特定されるアイテム空間の例を示す。
図2に示すように、時刻T=t-1の状態では、提示順位が1位となるアイテムXと、ユーザの選好の方向性などである選好ベクトルとの距離が近いことから、選好ベクトル周辺にアイテムが多く存在する。このため、アイテム数が密であると判定でき、提示順位が1位のアイテム以外にも多様なアイテムをユーザに提示できる。
【0020】
一方、次の選好時である時刻T=tの状態では、交通利便性の選好が高くなったので、選好ベクトルが変化する。この時刻では、選好ベクトルと1位のアイテムYが離れており、選好ベクトルの周辺のアイテムが少なく、アイテム数が疎であることから、提示できるアイテムが少なくなり、ユーザの選択幅が狭くなる。
【0021】
そこで、実施例1にかかる探索装置10は、アイテム空間の疎密を判定することで、ユーザ選好がアイテム密度の疎な方に遷移するとき、マンネリ危険モードと判定する。そして、探索装置10は、マンネリ危険モードと判定したとき、選好ベクトルが疎な方向に動いて効果的なアイテム提示が難しいと判定し、通常は提示対象として選択されにくいアイテムを積極的に提示することで、より多様なアイテムを効果的に提示する。
【0022】
図3は、アイテムの疎密を考慮したアイテム提示を説明する図である。本実施例では、属性として「交通利便性」と「安全性」とを有し、交通利便性と安全性との2次元の指標でアイテムが特定されるアイテム空間の例を示す。また、ユーザの選好に対応する選好空間も、属性として「交通利便性」と「安全性」とを有し、交通利便性と安全性との2次元の指標でユーザ選好が特定される選好空間を用いる。ただし、説明を簡略化するために、アイテム空間と選好空間とを同一空間内で表現する場合がある。また、交通利便性の軸は、原点から離れる(上の方)ほど重要度が高いことを示し、安全性の軸は、原点から離れる(右の方)ほど重要度が高いことを示す。
【0023】
一般的に、何らかの形でランキングをつけている推薦システムの場合、ランキングで上位ではないが、特定のユーザにはマッチしうるアイテムが存在する。例えば、
図3に示すように、線形の効用関数を使ってランキングをつけている場合、アイテムの凸包の中心近くにあるアイテムなどはユーザの目に触れにくいが、指標間のバランスやアイテムの外見などのように効用関数で測れない部分がユーザに適合する可能性がある。
【0024】
また、
図3に示すように、選好ベクトルがアイテムの疎な方向に遷移した場合、提示されやすいアイテムの中でユーザの選好に適合するアイテムは存在しない。ユーザの選好に則したアイテムを提示し、的確な選好の推定を実現するためには、一般的に提示されにくいアイテムを特定し、新規に提示するアイテムの候補として抽出することが考えられる。
【0025】
このようなことから、実施例1では、マンネリ危険モードになったユーザに対して、アイテム空間の凸包の端点となるアイテムではなく、選好ベクトルをどのように変えても表示されにくい凸包内部のアイテムを積極的に提示する。すなわち、不動産情報の検索がマンネリ化してきたユーザを素早く検出し、当該ユーザに対して、マッチングの上位ではないが該当しうる不動産情報を積極的に提示して多様化を図る。
【0026】
[機能構成]
図4は、実施例1にかかる探索装置10の機能構成を示す機能ブロック図である。
図4に示すように、探索装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、ユーザ端末1などの他の端末との通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、ユーザ端末1との間でWebブラウザによる通信を確立し、Webブラウザ上での情報のやり取りを実現する。
【0027】
記憶部12は、データや制御部20が実行する各種プログラムを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、不動産情報DB13、履歴情報DB14を記憶する。なお、記憶部12は、これらのDB以外にも、例えば氏名や選好の状況などユーザに関する各種情報を記憶することもできる。
【0028】
不動産情報DB13は、探索装置10がユーザに提示する不動産に関する情報を記憶するデータベースである。具体的には、不動産情報DB13は、不動産を特徴づける複数の項目について、各不動産に対して設定される情報を記憶する。
図5は、不動産情報DB13に記憶される情報の例を示す図である。
図5に示すように、不動産情報DB13は、「不動産名、交通利便性、買い物、学校、安全性」などを対応付けて記憶する。
【0029】
ここで記憶される「不動産名」は、マンションなどの不動産を特定する名称である。「交通利便性、買い物、学校、安全性」などは、不動産のアピールポイントなどであり、アイテム空間を特定する情報として利用される。なお、ここで挙げた項目は任意に数や内容を変更することができる。「交通利便性」は、交通の利便性に関する情報であり、「買い物」は、地域にあるスーパーなどの情報であり、「学校」は、地域内の学校の設置情報などであり、「安全性」は、地域内の犯罪件数などに関する情報である。
【0030】
図5の場合、「Aマンション」は、○○駅から徒歩5分以内にあり、地域内に大型スーパーがあり、最寄りの小学校まで徒歩〇分であり、軽犯罪が1年に〇件発生していることを示す。なお、不動産情報DB13は、各項目を具体的数値(例えば点数)で保持することもできる。
【0031】
履歴情報DB14は、不動産マッチングで発生した各種ログを記憶するデータベースである。具体的には、履歴情報DB14は、ユーザごとに、提示したアイテム数の履歴、探索装置10からの問合せ、当該問い合わせに対する応答、ユーザが入力した属性組、ユーザの選択履歴(選好履歴)などを記憶する。
【0032】
図6は、履歴情報DB14に記憶される提示アイテムの履歴を示す図である。
図6に示すように、履歴情報DB14は、ユーザに提示したアイテムの履歴情報として、前回とは異なるアイテムの数である新規アイテム数を記憶することもできる。
図6の例では、1回目に「8個」のアイテムが提示され、2回目は1回目から5つのアイテムが変更されて提示されたことを示す。なお、例えば各回で提示されるアイテムの制限値が3個の場合、新規アイテム数は3個以下となる。なお、ユーザに提示されたアイテムは、履歴情報DB14に記録され、同じようなものが繰り返し出る場合はカウントされない。
【0033】
制御部20は、探索装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、事前設定部21、選好受付部22、アイテム特定部23、判定部24、提示部35を有する。なお、事前設定部21、選好受付部22、アイテム特定部23、判定部24、提示する35は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【0034】
ここで、探索装置10がユーザ端末1に表示するWeb画面であって、アイテムの提示やユーザ選好を受け付ける画面について説明する。
図7は、表示画面例を説明する図である。
図7に示す画面50は、Web画面のタイトルを表示したり、ユーザが選択した属性やユーザが重視項目を表示したりする。領域51は、ユーザとマッチングされた不動産情報の一覧が表示される領域、すなわちアイテムのトップNリストが表示される領域である。なお、本実施例では、一例として、N=3すなわちトップ3を提示(推薦)する例で説明する。
【0035】
ボタン52およびボタン53は、重視項目の選択を受け付けるボタンであり、交通利便性を重視するときはボタン52が選択され、安全性を重視するときはボタン53が選択される。これら以外にも、満足する不動産情報が検索できたときに押下されて確認画面へ進むボタン、リストの更新を要求するボタン、ユーザが移住先の比較検討に用いるために一時的に情報を記憶させるボタンなどが表示される。
【0036】
事前設定部21は、ユーザの選好推定やアイテム提示を行う前に、事前設定を行う処理部である。具体的には、事前設定部21は、通常のレコメンドでは提示されにくいが、積極的に提示したいアイテムをプッシュアイテムとして設定して記憶部12等に登録しておく。
【0037】
図8は、事前設定を説明する図である。
図8に示すように、事前設定部21は、不動産情報DB13に記憶される各アイテムの「交通利便性」と「安全性」とに基づき、各アイテムをアイテム空間にマッピングする。例えば、事前設定部21は、予め定め指標等により、「交通利便性」と「安全性」とを数値化して各アイテムを座標化してマッピングする。続いて、事前設定部21は、各アイテムの位置を用いて、アイテム空間上で凸包を設定する。ここで、アイテム空間の凸包の端点となるアイテムは、1位になる可能性があるアイテムとして特定される。
【0038】
そして、事前設定部21は、凸包内部のアイテムをプッシュアイテムとして予め設定する。例えば、事前設定部21は、凸包内の他の各アイテムについて、凸包の端点の各アイテムとの距離を算出する。そして、事前設定部21は、端点である各アイテムとの距離の合計値が最も長い第1アイテムを中心に半径X(Xは任意の数字)の円の内部に位置する各アイテムや、第1アイテムからの距離が所定値以内である各アイテムをプッシュアイテムとすることができる。また、事前設定部21は、凸包の最深部のアイテムからの距離が所定値以内であるアイテムをプッシュアイテムとすることができる。
【0039】
すなわち、事前設定部21は、アイテム空間の凸包の内側の方にあるや、ユーザに提示されにくい、などの理由で、ユーザに積極的に薦められるべきと判断されるアイテムをプッシュアイテムとして特定する。
図8では、アイテム空間の凸包の内側にあり、凸包の端点のアイテムに比べて、ユーザの目に触れる機会が少ないアイテムをプッシュアイテムとしている。
【0040】
選好受付部22は、ユーザ選好を受け付ける処理部である。具体的には、選好受付部22は、最初のアクセス時は、「交通利便性」と「安全性」に対する重要度の入力を受け付けることで、ユーザ選好を受け付ける。また、選好受付部22は、交通利便性(縦軸)と安全性(横軸)とから決定される選好空間上で、ユーザが選好した位置を特定し、原点から当該位置へのベクトル(選好ベクトル)を特定する。
【0041】
2回目以降は、選好受付部22は、
図7に示した画面でユーザ選好を受け付ける。例えば、選好受付部22は、
図7に示す画面50上で「交通」ボタン52が選択されてリスト更新行われた場合、選好ベクトルを交通利便性(縦軸)の方向に一定距離だけ動かす。より詳細には、選好受付部22は、交通利便性の重要度を上げる操作が実行されると、選好ベクトルの傾きをより大きく(より傾く)ように、選好ベクトルを補正する。
【0042】
一方、選好受付部22は、
図7に示す画面50上で「安全性」ボタン53が選択されてリスト更新行われた場合、選好ベクトルを安全性(横軸)の方向に一定距離だけ動かす。より詳細には、選好受付部22は、安全性の重要度を上げる操作が実行されると、選好ベクトルの傾きをより小さく(より傾かない)ように、選好ベクトルを補正する。このようにして、選好受付部22は、特定した選好ベクトルをアイテム特定部23に出力する。
【0043】
アイテム特定部23は、選好受付部22による受け付けられた情報によりユーザ選好を推定し、提示するアイテムを特定する処理部である。具体的には、アイテム特定部23は、交通利便性(縦軸)と安全性(横軸)とから決定されるアイテム空間上に、選好受付部22により特定された選好ベクトルを位置づける。そして、アイテム特定部23は、選好ベクトルと並行に伸ばした直線上に、アイテムを正射影した時の並びで、提示するアイテムの順位を決定する。
【0044】
図9は、アイテム選択を説明する図である。
図9に示すように、アイテム特定部23は、選好受付部22により選択空間上で特定された選好ベクトルを、アイテム空間上に投影する。続いて、アイテム特定部23は、アイテム空間上に位置づけた選好ベクトルを延長し、各アイテムから延長済みの選好ベクトルへ垂線を引き、原点と反対側から垂線を計数したときの登場順のN個のアイテムを、トップNリストとして、Web画面でユーザに提示する。
【0045】
Nを3としたとき、
図9の例では、アイテムA、アイテムD、アイテムBの上位3個のアイテムが、トップ3リストとして、
図7の画面50の領域51に表示される。
【0046】
続いて、ユーザ選好の更新に伴う提示アイテムの更新を説明する。
図10は、ユーザ選好とアイテム更新とを説明する図である。
図10に示すように、アイテム特定部23は、ユーザからのフィードバックを元にして、ユーザの選好ベクトルを選好空間の中に位置づけ、提示されるアイテムをアイテム空間の中で特定する。
【0047】
例えば、選好受付部22により、時刻T=t-1の次の時刻T=tのときに、ユーザにより交通利便性を重要視する選択が行われた場合、ユーザの選好ベクトルが更新される。このときも
図9と同様、アイテム特定部23は、選択空間上で更新された選好ベクトルを、アイテム空間上に投影してアイテム空間上に位置づける。
【0048】
そして、アイテム特定部23は、当該選好ベクトルを延長し、各アイテムから延長済みの選好ベクトルへ垂線を引き、原点と反対側から垂線を計数したときの登場順のN個のアイテムを、トップNリストとして選択する。
図10の例では、アイテム特定部23は、領域(a)の範囲にあるアイテムA、アイテムB、アイテムCを提示(推薦)対象として特定する。その後、アイテム特定部23は、提示対象のアイテムが特定されたことを判定部24に通知する。
【0049】
判定部24は、選好ベクトル周辺に存在する提示対象のアイテムの疎密を判定する処理部である。具体的には、アイテム特定部23から選択対象のアイテムに関する情報を受信すると、ユーザ選好がアイテム数が疎である方向に進んでいるか否かを判定し、その結果を提示部25に出力する。
【0050】
例えば、判定部24は、1位に提示されたアイテムと選好ベクトルとの距離による判定と、新規に提示されたアイテムの数による判定との2段階により、アイテムの疎密を判定することができる。なお、どちらか一方だけを採用した1段階による判定を行うこともできる。
【0051】
まず、判定部24は、アイテムの疎密を判断するために、1位に提示されているアイテムと選好ベクトルとの距離を測る。すなわち、選好ベクトルから十分に近いところに1位のアイテムがある場合、次のユーザ選好時には、1位のアイテムが他のアイテムに代わり、前回とは異なるアイテムが提示される可能性が高いので、アイテム密集度が密と判定できる。一方、選好ベクトルから遠いところに1位のアイテムがある場合、次のユーザ選好時に、1位のアイテムがそのまま1位となり、前回と同じアイテムが提示される可能性が高いので、アイテム密集度が疎と判定できる。
【0052】
図11は、アイテムの疎密の判定を説明する図である。
図11に示すように、判定部24は、1位のアイテムであるアイテムAから選好ベクトルへ垂線を引き、当該垂線の長さを距離Lとして計測する。そして、判定部24は、計測した距離Lが閾値未満であれば、選好ベクトルから十分に近いところにアイテムがあるので、選好ベクトル周辺のアイテム密度が疎ではないと判定する。
【0053】
一方、判定部24は、計測した距離Lが閾値以上であれば、選好ベクトルから通りところにアイテムがあるので、選好ベクトル周辺のアイテム密度が疎であると判定し、次の判定を実行する。
【0054】
具体的には、判定部24は、時刻T=tのときに新規に提示されたアイテムの数が閾値未満か閾値以上かを判定する。
図12は、アイテムの疎密の判定を説明する図である。
図12に示すように、判定部24は、履歴情報DB14を参照して、前回からの提示アイテムの変更を計数する。
図12では、今回(5回目)のときに、4回目からのアイテムの変更数が閾値(例えば2)未満となった例を示している。この場合、判定部24は、選好ベクトル周辺のアイテムが疎であると判定する。
【0055】
このようにして、判定部24は、2段階の判定により判定した、現時点での選好ベクトル周辺のアイテムが疎密の判定結果を提示部25に出力する。
【0056】
提示部25は、判定部24による判定結果にしたがって、アイテムをユーザに提示して、多様なアイテムを推薦する処理部である。具体的には、提示部25は、選好ベクトル周辺のアイテムが疎ではないと判定された場合、アイテム特定部23により特定されたトップNリストのアイテムを提示する。上記例では、提示部25は、アイテムA、アイテムB、アイテムCの上位3個のアイテムを
図7の画面50の領域51に表示する。
【0057】
一方、提示部25は、選好ベクトル周辺のアイテムが疎であると判定された場合、事前設定部21により事前に設定されたプッシュアイテムの中からユーザに推薦するアイテム(推薦アイテム)を選択して提示する。
【0058】
ここで、提示部25は、プッシュアイテムからランダムに推薦アイテムを選択することが考えられるが、無作為に選択するとユーザの利便性が低下することがある。
図13は、ランダム提示の問題点を説明する図である。
図13に示すように、ユーザの選好ベクトルを考慮せずにプッシュアイテムをランダムに選択すると、選好ベクトルから離れたアイテム(
図13の(a))が選択されることがある。このようなアイテムは、ユーザの選好ベクトルから離れていることから、ユーザ選好に則さない可能性が高い。
【0059】
つまり、このようなアイテムを提示されたユーザは推薦システムが自らの選好を理解していないと考える可能性があり、好ましくない。さらに、それまで積み重ねてきた選好行動の結果と提示アイテムの関連付けがなくなるので、アイテムがユーザの選好を反映せず、選好の更新を行う妥当性が損なわれる。
【0060】
したがって、プッシュアイテムの中から、推薦対象としては相応しくないアイテムを除外することが要求され、そのために、提示候補選定の際に選好ベクトルからの距離の考慮を行う。具体的には、
図13に示すように、プッシュアイテムの中から、選好ベクトルからの距離が近いアイテム(
図13の(b))を積極的に選択して提示する。
【0061】
そこで、提示部25は、プッシュアイテムに属する各アイテムについて、選好ベクトルとアイテムとの距離に基づくプッシュスコア(PushScore)を算出し、このプッシュスコアに基づき、ユーザに推薦する最終的なプッシュアイテムを選択して提示する。
【0062】
ここで、提示部25は、式(1)を用いて、各プッシュアイテムのプッシュスコアを算出する。式(1)に示す「a」と「b」は、定数であり、任意に設定することができる。「Distance」は、アイテム空間上での選好ベクトルとプッシュアイテムとの距離であり、「OriginalScore」は、通常の処理すなわちアイテム特定部23と同様の手法であり、原点から、プッシュアイテムから選好ベクトルへ引いた垂線とが交わる点までの距離である。すなわち、プッシュスコアは、選好ベクトルに対し、傾きの絶対値がa/bである線分であり、選好ベクトルとの切片の順番がそれぞれのアイテムの順位となる。
【0063】
【0064】
図14は、プッシュスコアの算出を説明する図である。
図14に示すように、提示部25は、プッシュアイテムに属するアイテムE、アイテムF、アイテムG、アイテムH、アイテムIのそれぞれについて、プッシュスコアを算出する。例えば、アイテムEを例にすると、提示部25は、アイテムEから時刻T=tのときの選好ベクトルへ垂線を引き、垂線と選好ベクトルとが交わる点をPとする。
【0065】
そして、提示部25は、アイテムEから交点Pまでの距離(長さ)L1を「Distance」とし、原点から交点Pまでの選好ベクトル上の距離(長さ)L2を「OriginalScore」として式(1)に代入して、アイテムEのプッシュスコアを算出する。ここでは、アイテムE、アイテムF、アイテムH、アイテムG、アイテムIの順に、プッシュスコアが高くなったとする。
【0066】
この場合、提示部25は、プッシュアイテムのうち、プッシュスコアが最も高いアイテムEを推薦するプッシュアイテムに選択する。そして、提示部25は、アイテム特定部23により特定された上位N個のアイテムと、プッシュアイテムであるアイテムEとをユーザに提示する。
【0067】
図15は、プッシュアイテムの提示例を説明する図である。
図15に示すように、提示部25は、
図7に示す画面50の領域51上にトップNのアイテムを提示するとともに、当該画面50上に「Eというアイテムがあなたに合っているかもしれません。」などのメッセージを表示させることができる。また、
図15に示すように、提示部25は、
図7に示す画面50の領域51上に、トップNのアイテムに加えて、選択可能な「おすすめ!」ボタンを表示させることもできる。そして、提示部25は、「おすすめ!」ボタンがユーザにより選択されると、アイテムEに該当する不動産情報を表示させる。
【0068】
[処理の流れ]
図16は、処理の流れを示すフローチャートである。
図16に示すように、探索装置10の事前設定部21は、探索装置10が起動されたり、処理開始が指示されたりすると、アイテム空間に凸包を生成して、プッシュアイテムを決定する(S101)。
【0069】
続いて、選好受付部22は、ユーザ選好を受け付けると(S102:Yes)、所定回数未満か否かを判定する(S103)。そして、アイテム特定部23は、所定回数未満である場合(S103:Yes)、選好空間で特定されたユーザ選好のベクトルを示す選好ベクトルをアイテム空間上で設定し(S104)、提示対象のアイテムを特定する(S105)。その後、提示部25は、特定された提示対象のアイテムをユーザに提示する(S106)。
【0070】
一方、受け付けられたユーザ選好の回数が所定回数以上である場合(S103:No)、アイテム特定部23は、選好空間で特定されたユーザ選好のベクトルを示す選好ベクトルをアイテム空間上で設定し(S107)、提示対象のアイテムを特定する(S108)。
【0071】
続いて、判定部24は、提示順位が1位のアイテムを特定し(S109)、1位のアイテムと選好ベクトルとの距離を算出する(S110)。そして、判定部24は、距離が閾値以上である場合(S111:Yes)、選好ベクトル周辺のアイテム密度が疎である可能性が高いと判定し、今回提示される新規アイテムの数が閾値未満か否かを判定する(S112)。
【0072】
そして、判定部24は、新規アイテムの数が閾値未満である場合(S112:Yes)、選好ベクトル周辺のアイテム密度が疎であると判定し、プッシュアイテムそれぞれに対してプッシュランクを算出する(S113)。
【0073】
続いて、判定部24は、S108で特定された上位N件のアイテムに加えて、プッシュランクの上位N件をユーザに提示して、プッシュアイテムの推薦を行う(S114)。その後、ユーザにより不動産情報のお気に入り登録、不動産情報の確定、システム離脱などの不動産検索の終了指示が受け付けられると(S115:Yes)、探索装置10は処理を終了する。
【0074】
一方、不動産検索の終了指示を受け付けることなく、検索が継続されると(S115:No)、S102以降が繰り返される。
【0075】
また、S111において、1位のアイテムと選好ベクトルとの距離が閾値未満である場合(S111:No)、または、S112において、新規アイテムの数が閾値以上である場合(S112:No)、選好ベクトル周辺のアイテム密度が密であると判定し、プッシュアイテムの選択は行われず、S102以降が繰り返される。
【0076】
[効果]
上述したように、探索装置10は、ユーザに新規に提示されるアイテム数のログと一位のアイテムと選好ベクトルとの距離をとることで、ユーザの状態がマンネリ危険モードか否かを判定する。そして、探索装置10は、ユーザの状態がマンネリ危険モードである場合、通常のレコメンドで使われるスコアと別に、アイテムとの距離を考慮したスコアを用意することで、提示されにくいアイテムのうちユーザにマッチしそうなアイテムを提示する。
【0077】
この結果、探索装置10は、ユーザのマンネリ危険モードを判定して防ぐことで、ユーザの離脱を防ぎ、ユーザがより適切に選好を表出することができる。また、探索装置10は、アイテム空間上の凸包の内側にあるアイテムを提示することで、より多様なアイテムをユーザに提示することができる。
【実施例2】
【0078】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【0079】
[新規アイテム数]
上記実施例では、前回の提示アイテムと、今回提示候補となったアイテムとを比較して、前回には含まれず、今回には含まれるアイテムの数を新規アイテム数として保持する例を説明したが、これに限定されるものではない。例えば、各アイテムの提示数を計数し、今回提示候補となったアイテムのうち、今回により提示数が1となるアイテムの数を新規アイテム数として保持することもできる。
【0080】
[判定タイミング]
上記実施例では、所定回数実行された後のユーザ選好時に、アイテムの疎密を判定する例を説明したが、これに限定されるものではなく、任意に設定することができる。例えば、初回のユーザ選好時からでもアイテムの疎密を判定することができる。また、アイテム特定部23により特定されたアイテムと、プッシュアイテムとの両方を提示する例を説明したが、これに限定されるものではない。例えば、プッシュアイテムのみを提示することもでき、トップ3のアイテムのうち3位のアイテムの代わりに、プッシュアイテムを提示することもできる。
【0081】
[数値や表示]
上記実施例で説明した各種数値、閾値、画面例などは、あくまで一例であり、任意に設定変更することができる。また、上記実施例では、交通利便性と安全性の2次元空間へのマッピングを例にして説明したが、これに限定されるものではなく、
図5に示した各項目を任意の組み合わせで用いることができる。例えば、4つの項目を採用した場合、重視する項目として上記4つのいずれかを問合せ、4次元の空間にマッピングして、上記処理を実行する。
【0082】
[アイテム]
上記実施例では、2次元の仮想空間上でアイテムを選択する例を説明したが、これに限定されるものではなく、例えば公知の線形的な計算手法などを採用することもできる。また、実施例1では、トップ3のリストを表示する例を説明したが、トップ4など任意に設定変更することができる。
【0083】
[プッシュアイテム]
上記実施例では、凸包の内側、かつ、選好ベクトルからの距離が閾値未満であるプッシュアイテムを選択する例を説明したが、これに限定されるものではなく、選好ベクトルからの距離が閾値未満であるか否かを選択基準とすることができる。
【0084】
[選好の例]
上記実施例では、ユーザによる選好の表記例として、「+(プラス)」や「-(マイナス)」を用いて、重要視する属性(選好)等を表記することができる。また、各不動産情報に対する項目が数値で設定されている状態で、ユーザが交通の「+」を選択した場合は、例えば1などの所定値を増加させることもできる。
【0085】
具体的には、ユーザの選好として「交通利便性=2、安全性=1」が選択された状態で「安全性+」が選択された場合、ユーザの選好は「交通利便性=2、安全性=2」に変化する。また、現在の選好が「安全性=10件/年(事件)」が選択された状態で、ユーザが「安全性+」を指定した場合、「9件/年(事件)」以下が設定されている不動産が該当することとなる。
【0086】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0087】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、選好受付部22とアイテム特定部23とを統合することもできる。
【0088】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0089】
[ハードウェア]
図17は、ハードウェア構成例を説明する図である。
図17に示すように、探索装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図17に示した各部は、バス等で相互に接続される。
【0090】
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、
図3に示した機能を動作させるプログラムやDBを記憶する。
【0091】
プロセッサ10dは、
図4に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図4等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、探索装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、事前設定部21、選好受付部22、アイテム特定部23、判定部24、提示部35等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、事前設定部21、選好受付部22、アイテム特定部23、判定部24、提示部35等と同様の処理を実行するプロセスを実行する。なお、アイテム特定部23は、選択部の一例であり、判定部24は、算出部の一例であり、提示部25は、選定部と提示部の一例である。
【0092】
このように探索装置10は、プログラムを読み出して実行することで探索方法を実行する情報処理装置として動作する。また、探索装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、探索装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0093】
10 探索装置
11 通信部
12 記憶部
13 不動産情報DB
14 履歴情報DB
20 制御部
21 事前設定部
22 選好受付部
23 アイテム特定部
24 判定部
25 提示部