(57)【要約】  情報処理システム（１）の特定手段（１０１）は、複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する。第１情報取得手段（１０２）は、各ユーザの行動履歴に基づいて、特定手段（１０１）により特定された各データ項目の関連性を示す第１情報を取得する。出力手段（１０３）は、複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する。設定手段（１０４）は、特定手段（１０１）により特定された各データ項目の内容と第１情報とに基づいて、パラメータを設定する。
2020031232.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段と、
各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段と、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段と、
前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段と、
を含むことを特徴とする情報処理システム。
【請求項２】
前記情報処理システムは、
複数のデータ項目の各々の内容を前記出力手段に入力し、前記第２情報を取得する第２情報取得手段と、
前記第２情報が取得された各データ項目の前記第２情報に基づいて、当該データ項目に関連する他のデータ項目に関する情報を提供する提供手段と、
を更に含むことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記提供手段は、
前記度合が前記所定度合以上のデータ項目については、前記第１情報に基づいて前記情報を提供し、
前記度合が前記所定度合未満のデータ項目については、前記第２情報に基づいて前記情報を提供する、
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記提供手段は、各ユーザにより行動されたデータ項目の前記第２情報に基づいて、当該ユーザに、当該データ項目に関連する他のデータ項目に関する前記情報を提供する、
を含むことを特徴とする請求項２又は３に記載の情報処理システム。
【請求項５】
前記情報処理システムは、各ユーザの行動履歴に基づいて、前記情報が提供されるユーザを決定する決定手段を更に含み、
前記提供手段は、前記決定手段により決定されたユーザに、前記情報を提供する、
を含むことを特徴とする請求項２〜４の何れかに記載の情報処理システム。
【請求項６】
前記情報処理システムは、予め定められた方法に基づいて、各ユーザをグループ分けするグループ分け手段を更に含み、
前記パラメータは、ユーザグループごとに用意されており、
前記設定手段は、ユーザグループごとに、前記パラメータを設定する、
ことを特徴とする請求項１〜５の何れかに記載の情報処理システム。
【請求項７】
前記情報処理システムは、各ユーザの行動履歴を更新する更新手段を更に含み、
前記設定手段は、前記更新手段により更新された各ユーザの行動履歴に基づいて、前記パラメータを更新する、
ことを特徴とする請求項１〜６の何れかに記載の情報処理システム。
【請求項８】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定ステップと、
各ユーザの行動履歴に基づいて、前記特定ステップにより特定された各データ項目の関連性を示す第１情報を取得する第１情報取得ステップと、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力ステップと、
前記特定ステップにより特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定ステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段、
各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段、
前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、複数のデータ項目の関連性を特定する技術が知られている。例えば、特許文献１には、コンテンツ（データ項目の一例）の内容に基づいて、ユーザが閲覧したコンテンツと内容が関連する他のコンテンツを特定するコンテンツベースフィルタリングという技術が記載されている。また例えば、特許文献１には、複数のユーザの各々の行動履歴に基づいて、嗜好の似たユーザの組み合わせを特定したり、関連性の高いコンテンツの組み合わせを特定したりする協調フィルタリングという技術も記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１９００６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンテンツベースフィルタリングでは、例えば、複数のコンテンツの各々の内容を入力とし、各内容の関連性を示す情報を出力とするアルゴリズムが用いられる。しかしながら、従来のコンテンツベースフィルタリングでは、人間の勘に基づいてアルゴリズムのパラメータ設定が行われていたので、関連性の高いコンテンツを精度よく特定することが難しかった。【０００５】
一方、協調フィルタリングでは、ユーザの実際の行動履歴を利用しているので、頻繁に閲覧等されているコンテンツであれば、コンテンツの内容から定量的に図ることができないユーザの嗜好を分析し、関連性の高いコンテンツを精度よく特定できる。しかしながら、あまり閲覧等されていないコンテンツについては、情報量が少ないので、関連性の高いコンテンツを精度よく特定できなかった。【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的は、関連性の高いデータ項目を特定する精度を高めることが可能な情報処理システム、情報処理方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る情報処理システムは、複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段と、各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段と、複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段と、前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段と、を含むことを特徴とする。【０００８】
本発明に係る情報処理方法は、複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定ステップと、各ユーザの行動履歴に基づいて、前記特定ステップにより特定された各データ項目の関連性を示す第１情報を取得する第１情報取得ステップと、複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力ステップと、前記特定ステップにより特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定ステップと、を含むことを特徴とする。【０００９】
本発明に係るプログラムは、複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段、各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段、複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段、前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段、としてコンピュータを機能させる。【００１０】
また、本発明の一態様では、前記情報処理システムは、複数のデータ項目の各々の内容を前記出力手段に入力し、前記第２情報を取得する第２情報取得手段と、前記第２情報が取得された各データ項目の前記第２情報に基づいて、当該データ項目に関連する他のデータ項目に関する情報を提供する提供手段と、を更に含むことを特徴とする。【００１１】
また、本発明の一態様では、前記提供手段は、前記度合が前記所定度合以上のデータ項目については、前記第１情報に基づいて前記情報を提供し、前記度合が前記所定度合未満のデータ項目については、前記第２情報に基づいて前記情報を提供する、ことを特徴とする。【００１２】
また、本発明の一態様では、前記提供手段は、各ユーザにより行動されたデータ項目の前記第２情報に基づいて、当該ユーザに、当該データ項目に関連する他のデータ項目に関する前記情報を提供する、を含むことを特徴とする。【００１３】
また、本発明の一態様では、前記情報処理システムは、各ユーザの行動履歴に基づいて、前記情報が提供されるユーザを決定する決定手段を更に含み、前記提供手段は、前記決定手段により決定されたユーザに、前記情報を提供する、を含むことを特徴とする。【００１４】
また、本発明の一態様では、前記情報処理システムは、予め定められた方法に基づいて、各ユーザをグループ分けするグループ分け手段を更に含み、前記パラメータは、ユーザグループごとに用意されており、前記設定手段は、ユーザグループごとに、前記パラメータを設定する、ことを特徴とする。【００１５】
また、本発明の一態様では、前記情報処理システムは、各ユーザの行動履歴を更新する更新手段を更に含み、前記設定手段は、前記更新手段により更新された各ユーザの行動履歴に基づいて、前記パラメータを更新する、ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、関連性の高いデータ項目を特定する精度を高めることが可能になる。
【図面の簡単な説明】
【００１７】
【図１】情報処理システムの全体構成を示す図である。
【図２】サーバの物理的構成を示す図である。
【図３】トップページの一例を示す図である。
【図４】検索結果ページの一例を示す図である。
【図５】宿泊施設ページの一例を示す図である。
【図６】検索結果ページにクーポンが表示される様子を示す図である。
【図７】情報処理システムで実現される機能の一例を示す機能ブロック図である。
【図８】宿泊施設データベースのデータ格納例を示す図である。
【図９】行動履歴データベースのデータ格納例を示す図である。
【図１０】スコアデータベースのデータ格納例を示す図である。
【図１１】クーポンデータベースのデータ格納例を示す図である。
【図１２】更新処理の一例を示すフロー図である。
【図１３】提示処理の一例を示すフロー図である。
【図１４】変形例の機能ブロック図である。
【発明を実施するための形態】
【００１８】
［１．情報処理システムの全体構成］
以下、本発明に関わる情報処理システムの実施形態の例を説明する。図１は、情報処理システムの全体構成を示す図である。図１に示すように、情報処理システム１は、サーバ１０と、ユーザ端末２０と、を含み、これらはネットワークＮを介してデータ送受信可能に接続される。なお、図１では、サーバ１０とユーザ端末２０との各々を１台ずつ示しているが、これらは複数台あってもよい。
【００１９】
図２は、サーバ１０の物理的構成を示す図である。図２に示すように、サーバ１０は、サーバコンピュータであり、例えば、ＣＰＵ１１、メモリ１２、及び通信インタフェース１３を含み、これらはバス１４で接続されている。ＣＰＵ１１は、メモリ１２に記憶されたプログラムやデータに従って処理を実行する。なお、図２では、ＣＰＵ１１を１つとしているが、サーバ１０は、少なくとも１つのプロセッサを含めばよく、２つ以上のＣＰＵ１１を含んでもよい。メモリ１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信インタフェース１３は、有線通信又は無線通信用の通信インタフェースであり、例えば、ネットワークを介してデータ通信を行う。
【００２０】
ユーザ端末２０は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末（タブレット型コンピュータを含む）、又は携帯電話機（スマートフォンを含む）等である。
【００２１】
なお、メモリ１２に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してサーバ１０に供給されるようにしてもよい。また、サーバ１０のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、サーバ１０は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取装置（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力インタフェース（例えば、ＵＳＢ端子）を含んでもよい。情報記憶媒体に記憶されたプログラムやデータが読取装置又は入出力インタフェースを介して、サーバ１０に供給されるようにしてもよい。
【００２２】
［２．情報処理システムの概要］
情報処理システム１は、ユーザが入力した検索条件に基づいて、データ項目を検索し、検索結果の中からユーザが選択したデータ項目を、ユーザ端末２０に表示させる。
【００２３】
検索条件は、検索時のクエリであり、例えば、キーワード、数値、カテゴリ、ジャンル、又は属性といった種々の条件を適用可能である。
【００２４】
データ項目は、検索の対象となるデータの単位であり、例えば、データベースの個々のレコードである。データ項目は、任意の種類のデータであってよく、例えば、ウェブページ（ウェブサイト）、電子書籍、動画、楽曲、又はアプリケーションといったコンテンツであってもよいし、文書ファイル、テキストファイル、画像ファイル、又は音声ファイルといったファイルであってもよい。
【００２５】
データ項目には、インデックスが関連付けられており、検索条件と合致するインデックスが関連付けられたデータ項目が検索される。検索自体は、種々の手法を適用可能であり、検索条件との完全一致又は部分一致するインデックスを有するデータ項目が検索されてもよいし、あいまい検索が利用されてもよい。
【００２６】
本実施形態では、情報処理システム１を旅行予約サービスに適用する場合を説明し、データ項目の一例として、宿泊施設のページを説明する。宿泊施設としては、ホテル、旅館、又は民宿といった種々の施設を適用可能である。宿泊施設のページには、任意の情報が表示されてよく、例えば、宿泊施設の名前、場所、部屋数、タイプ、カテゴリ、説明文、交通アクセス、連絡先、設備、又は利用料金といった情報が表示されてよい。
【００２７】
例えば、ユーザがユーザ端末２０を操作して、サーバ１０にアクセスすると、旅行予約サービスのトップページがユーザ端末２０に表示される。ユーザは、トップページから検索条件を入力し、所望の宿泊施設を検索する。なお、以降説明するページ（画面）は、ユーザ端末２０に記憶されたアプリケーション内で表示されてもよいし、ウェブブラウザで表示されてもよい。
【００２８】
図３は、トップページの一例を示す図である。図３に示すように、例えば、トップページＰ１には、検索条件を入力するための入力フォームＦ１０〜Ｆ１４と、検索を実行するためのボタンＢ１５と、が表示される。図３に示すように、ユーザは、入力フォームＦ１０〜Ｆ１４から、施設名、場所、日程、人数、及び料金といった検索条件を入力する。ユーザが検索条件を入力してボタンＢ１５を選択すると、サーバ１０は、当該検索条件に基づいて宿泊施設を検索し、ユーザ端末２０に検索結果を送信する。ユーザ端末２０は、検索結果を受信すると、当該検索結果を示す検索結果ページを表示させる。
【００２９】
図４は、検索結果ページの一例を示す図である。図４に示すように、検索結果ページＰ２の表示領域Ａ２０には、検索でヒットした宿泊施設の一覧が表示され、例えば、宿泊施設の名前、評価、及び価格帯といった情報が表示される。ユーザが、表示領域Ａ２０に表示された何れかの宿泊施設を選択すると、当該宿泊施設の詳細を示す宿泊施設ページがユーザ端末２０に表示される。
【００３０】
図５は、宿泊施設ページの一例を示す図である。図５に示すように、宿泊施設ページＰ３には、当該宿泊施設の詳細な情報が表示され、例えば、宿泊施設の名前、評価、画像、部屋の名前、及び料金といった情報が表示される。また、宿泊施設ページＰ３には、宿泊施設を予約するためのボタンＢ３０が表示される。ユーザは、ボタンＢ３０を選択することによって、宿泊施設ページＰ３に表示中の宿泊施設を予約することができる。
【００３１】
本実施形態の情報処理システム１は、ユーザが閲覧したり予約したりした宿泊施設と関連する他の宿泊施設のクーポンがユーザ端末２０に表示されるようになっている。本実施形態では、検索結果ページＰ２においてクーポンが表示される場合を説明するが、クーポンは、任意のページにおいて表示されるようにしてよく、例えば、トップページＰ１、宿泊施設ページＰ３、又はその他のページに表示されてよい。他にも例えば、クーポンは、電子メール、アプリケーション、又はソーシャルネットワーキングサービス等を利用して提供されてもよい。
【００３２】
図６は、検索結果ページＰ２にクーポンが表示される様子を示す図である。図６に示すように、検索結果ページＰ２の表示領域Ａ２１には、ユーザが閲覧又は予約した宿泊施設に関連する他の宿泊施設のクーポンが表示される。図６の例では、表示領域Ａ２１に示す「ホテルＸ」のクーポンは、ユーザが閲覧した「ホテルＡ」に関連するホテルのクーポンである。また例えば、表示領域Ａ２１に示す「ホテルＹ」のクーポンは、ユーザが閲覧した「ホテルＢ」に関連するホテルのクーポンである。
【００３３】
従来技術で説明したように、関連する宿泊施設を特定するための技術としては、コンテンツベースフィルタリングと、協調フィルタリングと、が存在する。コンテンツベースフィルタリングによれば、宿泊施設ページＰ３の内容が似た宿泊施設が特定されるので、例えば、場所、部屋数、タイプ、カテゴリ、又は交通アクセス等が似た宿泊施設が特定される。一方、協調フィルタリングによれば、各ユーザの行動履歴に基づいて宿泊施設が特定されるので、例えば、内容だけでは定量的に測れないユーザの嗜好を考慮したうえで、関連する宿泊施設が特定される。
【００３４】
従来技術で説明したように、コンテンツベースフィルタリングでは、宿泊施設の関連性を示すスコアを計算するためのアルゴリズムのパラメータ設定が難しいため、スコアの精度を十分に高めることができない。協調フィルタリングでは、あまり閲覧又は予約されていない宿泊施設については、情報量が少ないので、スコアの精度を十分に高めることができない。
【００３５】
そこで、本実施形態の情報処理システム１は、よく閲覧又は予約されている宿泊施設の協調フィルタリングに基づくスコアを計算し、当該宿泊施設ページＰ３の内容と当該スコアに基づいて、コンテンツベースフィルタリングのパラメータ設定を行う。これにより、情報処理システム１は、あまり閲覧又は予約されていない宿泊施設であったとしても、よく閲覧又は予約されている場合の協調フィルタリングと同程度のスコアを取得し、関連性の高い宿泊施設を特定する精度を高めるようにしている。以降、情報処理システム１の詳細を説明する。
【００３６】
［３．情報処理システムで実現される機能］
図７は、情報処理システム１で実現される機能の一例を示す機能ブロック図である。図７に示すように、情報処理システム１では、データ記憶部１００、特定部１０１、第１情報取得部１０２、出力部１０３、設定部１０４、第２情報取得部１０５、及び提供部１０６が実現される。本実施形態では、これら各機能がサーバ１０により実現される場合を説明する。
【００３７】
［３−１．データ記憶部］
データ記憶部１００は、メモリ１２を主として実現される。データ記憶部１００は、関連する宿泊施設を特定するために必要なデータを記憶する。ここでは、データ記憶部１００が記憶するデータの一例として、宿泊施設データベースＤＢ１、行動履歴データベースＤＢ２、スコアデータベースＤＢ３、及びクーポンデータベースＤＢ４について説明する。
【００３８】
図８は、宿泊施設データベースＤＢ１のデータ格納例を示す図である。図８に示すように、宿泊施設データベースＤＢ１には、宿泊施設に関する各種情報が格納される。本実施形態では、宿泊施設ページＰ３がデータ項目に相当し、宿泊施設ページＰ３は、宿泊施設データベースＤＢ１に格納された情報に基づいて表示されるので、宿泊施設データベースＤＢ１は、データ項目が格納されたデータベースということができる。
【００３９】
例えば、宿泊施設データベースＤＢ１には、宿泊施設を一意に識別する宿泊施設ＩＤ、宿泊施設の名前、場所、部屋数、タイプ、カテゴリ、説明文、交通アクセス、連絡先、設備、又は利用料金が格納される。各情報は、文字列又は数値によって示される。例えば、場所は、ジオロケーション、緯度経度情報、又は基地局情報といった情報を利用可能である。また例えば、交通アクセスは、駅・インターチェンジからの所要時間、又は、主要都市からの所要時間といった情報を利用可能である。
【００４０】
なお、宿泊施設データベースＤＢ１に格納された情報は、検索時のインデックスとして用いられるようにしてもよい。また、宿泊施設データベースＤＢ１に格納される情報は、図８の例に限られず、例えば、宿泊施設の画像、動画、平均価格帯、又は口コミといった情報が格納されてもよい。
【００４１】
図９は、行動履歴データベースＤＢ２のデータ格納例を示す図である。図９に示すように、行動履歴データベースＤＢ２には、複数のユーザの各々の行動履歴が格納される。行動履歴データベースＤＢ２には、情報処理システム１を利用する全てのユーザの行動履歴が格納されてもよいし、一部のユーザの行動履歴が格納されてもよい。
【００４２】
行動履歴とは、データ項目に対する行動の記録である。別の言い方をすれば、行動履歴は、ユーザによる行動のログである。行動とは、データ項目に対する挙動であり、例えば、閲覧、予約、利用、又は購入である。
【００４３】
閲覧は、ユーザがデータ項目の内容を視認することであり、データ項目の一部又は全部の内容をユーザ端末２０に表示させること、サーバ１０がデータ項目の一部又は全部をユーザ端末２０に送信することである。データ項目が動画であれば、動画を視聴することは、閲覧の一例である。予約は、データ項目に係る施設又はサービスの予約である。利用は、データ項目に係る施設又はサービスの利用である。データ項目が音声であれば、音声を聴くことは、利用の一例である。購入は、データ項目に係る商品又はサービスの購入である。商品は、物理的な商品であってもよいし、楽曲、動画、又はアプリケーションといった電子的な商品であってもよい。
【００４４】
本実施形態では、行動の一例として、閲覧又は予約を説明し、行動履歴の一例として、閲覧履歴又は予約履歴を説明する。なお、利用又は購入が行動に相当する場合には、利用履歴又は購入履歴が行動履歴に相当する。
【００４５】
例えば、行動履歴データベースＤＢ２には、ユーザを一意に識別するユーザＩＤ、閲覧又は予約された宿泊施設の宿泊施設ＩＤ、閲覧又は予約の何れかを示す行動内容、及び行動日時が格納される。行動日時は、ユーザが行動した日時であり、例えば、宿泊施設ページＰ３が閲覧された日時であってもよいし、宿泊施設の予約を受け付けた日時であってもよい。
【００４６】
行動履歴データベースＤＢ２は、各ユーザが行動するたびに更新される。例えば、サーバ１０は、ユーザ端末２０に宿泊施設ページＰ３を表示させた場合に、当該ユーザ端末２０のユーザＩＤに関連付けて、当該宿泊施設の宿泊施設ＩＤを格納する。この場合、行動内容は、「閲覧」となる。行動日時は、宿泊施設ページＰ３のデータを送信した日時、宿泊施設ページＰ３のデータを生成した日時、又は宿泊施設ページＰ３の表示要求を受け付けた日時が格納されてもよいし、これらの日時から多少前後した日時が格納されてもよい。
【００４７】
また例えば、サーバ１０は、ユーザ端末２０から宿泊施設の予約を受け付けた場合に、当該ユーザ端末２０のユーザＩＤに関連付けて、当該宿泊施設の宿泊施設ＩＤを格納する。この場合、行動内容は、「予約」となる。行動日時は、予約処理を実行した日時、又は、予約を受け付けた日時が格納されてもよいし、これらの日時から多少前後した日時が格納されてもよい。
【００４８】
なお、図９では、閲覧履歴と予約履歴が同じデータベースに格納される場合を説明したが、これらは別々のデータベースに格納されてもよい。また、閲覧履歴、予約履歴、利用履歴、又は購入履歴のうちの何れか１つのみがデータベースに蓄積されるようにしてもよい。
【００４９】
図１０は、スコアデータベースＤＢ３のデータ格納例を示す図である。図１０に示すように、スコアデータベースＤＢ３には、複数の宿泊施設の関連性を示すスコアが格納される。
【００５０】
関連性とは、宿泊施設間の関わり又はつながりである。例えば、宿泊施設の内容が似ていることは、関連性があることに相当する。このため、関連性は、類似性ということもできる。また例えば、ある宿泊施設を閲覧又は予約したユーザが、他の宿泊施設を閲覧又は予約する蓋然性が高いことは、関連性があることに相当する。また例えば、ある宿泊施設に興味を持ったユーザが、他の宿泊施設に興味を持つ蓋然性が高いことは、関連性があることに相当する。
【００５１】
スコアは、関連性の高さを示す情報である。別の言い方をすれば、スコアは、関連している蓋然性、確率、又は確度である。スコアは、数値で示されてもよいし、記号で示されてもよい。スコアが記号で示される場合には、スコアの高さを示すＳ，Ａ，Ｂ，Ｃといった記号が用いられるようにすればよい。本実施形態では、スコアが数値によって示される場合を説明する。スコアが高いほど関連性が高く、スコアが低いほど関連性が低い。
【００５２】
例えば、スコアデータベースＤＢ３には、宿泊施設ＩＤの組み合わせごとに、スコアが格納される。宿泊施設ＩＤの組み合わせとは、２つの宿泊施設ＩＤのセットである。スコアは、２つの宿泊施設のうちの一方（１つ目の宿泊施設）と他方（２つ目の宿泊施設）との関連性を示す。
【００５３】
詳細は後述するが、スコアデータベースＤＢ３には、第１情報取得部１０２又は第２情報取得部１０５の何れかによって取得されたスコアが格納される。別の言い方をすれば、スコアデータベースＤＢ３には、協調フィルタリング又はコンテンツベースフィルタリングの何れかによって取得されたスコアが格納される。
【００５４】
なお、本実施形態では、２つの宿泊施設ごとに、１つのスコアが計算される場合を説明するが、３つ以上の宿泊施設ごとに、１つのスコアが計算されてもよい。即ち、「複数の宿泊施設の関連性を示すスコア」の「複数」は、２つであってもよいし、３つ以上であってもよい。また、スコアデータベースＤＢ３には、全ての宿泊施設の組み合わせのスコアが格納されてもよいし、一部の宿泊施設の組み合わせのスコアが格納されてもよい。
【００５５】
図１１は、クーポンデータベースＤＢ４のデータ格納例を示す図である。図１１に示すように、クーポンデータベースＤＢ４には、宿泊施設のクーポンが格納される。クーポンは、電子的な割引券、利用券、又は引換券である。例えば、ユーザは、表示領域Ａ２１に表示されたクーポンを選択することで、当該クーポンを獲得することができる。
【００５６】
例えば、クーポンデータベースＤＢ４には、クーポンを一意に識別するクーポンＩＤ、クーポンの対象となる宿泊施設の宿泊施設ＩＤ、及びクーポンの内容が格納される。クーポンの内容としては、宿泊施設の割引額又は割引率が格納されてもよいし、無料で利用できる内容又はクーポンと引き替えに獲得できる商品若しくはサービスといった情報が格納されてもよい。
【００５７】
なお、データ記憶部１００に記憶されるデータは、上記の例に限られない。例えば、データ記憶部１００は、各ユーザに関する情報を格納するユーザデータベースを記憶してもよい。ユーザデータベースに格納される情報としては、ユーザＩＤ、氏名、性別、生年月日、又はメールアドレスといった基本情報であってもよいし、ユーザが獲得したクーポンのクーポンＩＤが格納されてもよい。また例えば、データ記憶部１００は、後述する出力部１０３のパラメータを記憶してもよい。
【００５８】
［３−２．特定部］
特定部１０１は、ＣＰＵ１１を主として実現される。特定部１０１は、複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数の宿泊施設を特定する。
【００５９】
行動の度合とは、行動の回数又は頻度である。本実施形態では、閲覧又は予約が行動に相当するので、閲覧数、閲覧頻度、予約数、又は予約頻度は、行動の度合に相当する。利用又は購入が行動に相当する場合には、利用数、利用頻度、購入数、又は購入頻度は、行動の度合に相当する。所定度合は、任意の度合を設定可能であり、固定値であってもよいし、可変値であってもよい。所定度合を示す情報は、データ記憶部１００に記憶されているものとする。
【００６０】
本実施形態では、閲覧数と予約数との合計数を行動の度合の一例として説明し、当該合計数の上位１０％を所定度合の一例として説明する。なお、所定度合は、上位１０％に限られず、例えば、上位１％〜９％程度であってもよいし、上位１１％〜上位５０％程度であってもよい。所定度合は、閲覧数、閲覧頻度、予約数、又は予約頻度の閾値ということもできる。
【００６１】
特定部１０１は、行動履歴データベースＤＢ２に基づいて、宿泊施設ごとに、閲覧数と予約数との合計数を集計する。本実施形態では、閲覧と予約を特に区別せずに、特定部１０１が、各宿泊施設の閲覧数と予約数との合計値を集計する場合を説明するが、閲覧と予約の各々に重み付けをして集計してもよい。例えば、予約の重み係数が閲覧の重み係数よりも大きくしてもよい。また例えば、特定部１０１は、あるユーザが同じ宿泊施設を繰り返し閲覧又は予約した場合には、閲覧又は予約されるたびに閲覧数又は予約数を加算してもよいし、この場合は閲覧数又は予約数を１回とみなしてもよい。
【００６２】
なお、集計対象となる期間は、過去の全期間であってもよいし、一部の期間であってもよい。一部の期間を集計対象とする場合には、任意の期間であってよく、例えば、直近の数日〜数ヶ月程度の期間であってもよい。
【００６３】
特定部１０１は、集計結果に基づいて、合計数が上位１０％の複数の宿泊施設を特定する。特定部１０１は、各宿泊施設の合計数を集計すると、合計数が多い順に宿泊施設を特定し、宿泊施設の総数の１０％になるまで宿泊施設の特定を繰り返す。特定部１０１は、合計数が上位１０％の宿泊施設の宿泊施設ＩＤをデータ記憶部１００に一時的に記録する。当該宿泊施設は、後述する第１情報取得部１０２によりスコアが取得される。
【００６４】
［３−３．第１情報取得部］
第１情報取得部１０２は、ＣＰＵ１１を主として実現される。第１情報取得部１０２は、各ユーザの行動履歴に基づいて、特定部１０１により特定された各宿泊施設の関連性を示すスコアを取得する。本実施形態では、第１情報取得部１０２が取得するスコアは、第１情報の一例である。
【００６５】
第１情報取得部１０２は、特定部１０１により特定された宿泊施設の組み合わせごとに、当該宿泊施設に対する各ユーザの行動履歴に基づいて、スコアを取得する。スコアの取得方法自体は、種々の取得方法を適用可能であり、例えば、協調フィルタリングで利用されているスコア計算のアルゴリズムを利用してよい。
【００６６】
第１情報取得部１０２は、行動履歴データベースＤＢ２に格納された各ユーザの行動履歴を参照し、当該行動履歴をアルゴリズムに入力することによって、各宿泊施設のスコアを計算する。第１情報取得部１０２が取得するスコアは、協調フィルタリングに基づくスコアである。
【００６７】
スコアは、宿泊施設の組み合わせのうちの一方を閲覧又は予約したユーザが、他方も閲覧又は予約している場合に高くなり、そうではない場合に低くなる。宿泊施設の組み合わせの両方とも閲覧又は利用しているユーザが多いほどスコアが高くなり、宿泊施設の組み合わせの両方とも閲覧又は予約しているユーザが少ないほどスコアが低くなる。
【００６８】
第１情報取得部１０２は、宿泊施設の組み合わせの両方とも閲覧又は予約しているユーザの数をそのままスコアとして取得してもよいし、当該ユーザの数を所定の数式に代入することでスコアを計算してもよい。更に、宿泊施設の組み合わせの両方とも予約されている場合には、これらが両方とも閲覧されている場合に比べてスコアが高くなるようにしてもよい。
【００６９】
［３−４．出力部］
出力部１０３は、ＣＰＵ１１を主として実現される。出力部１０３は、複数の宿泊施設の各々の内容が入力された場合に、所定のパラメータに基づいて、各宿泊施設の関連性を示すスコアを出力する。本実施形態では、出力部１０３によって出力されるスコアは、第２情報の一例である。
【００７０】
宿泊施設の内容は、宿泊施設に関する情報であり、例えば、文字列、数値、又はベクトル情報によって示される。別の言い方をすれば、宿泊施設の内容は、宿泊施設データベースＤＢ１に格納された各情報（宿泊施設ページＰ３に表示される情報）であり、宿泊施設の特徴である。
【００７１】
パラメータは、スコアの計算で用いられる数値であり、計算式の係数である。出力部１０３は、スコアを計算するためのアルゴリズムを含み、パラメータは、当該アルゴリズムに含まれる計算式の係数である。アルゴリズム自体は、コンテンツベースフィルタリングのアルゴリズムを適用可能であり、例えば、教師有り機械学習で用いられるアルゴリズムを適用可能である。出力部１０３が出力するスコアは、コンテンツベースフィルタリングに基づくスコアである。本実施形態では、出力部１０３は、次の段落に記載する計算式に基づいて、スコアを計算する。
【００７２】
Ｆ（Ｈ１，Ｈ２）＝ａ１＊ｆ１（Ｈ１，Ｈ２）＋ａ２＊ｆ２（Ｈ１，Ｈ２）＋ａ３＊ｆ３（Ｈ１，Ｈ２）＋ａ４＊ｆ４（Ｈ１，Ｈ２）＋ａ５＊ｆ５（Ｈ１，Ｈ２）＋ａ６＊ｆ６（Ｈ１，Ｈ２）
【００７３】
計算式のＨ１，Ｈ２は、宿泊施設である。Ｈ１は、宿泊施設の組み合わせのうちの一方（１つ目の宿泊施設）であり、Ｈ２は、他方（２つ目の宿泊施設）である。計算式の左辺のＦ（Ｈ１，Ｈ２）は、コンテンツベースフィルタリングに基づくスコアである。
【００７４】
計算式の右辺のａ１〜ａ６は、パラメータであり、ここでは、関数ｆ１（Ｈ１，Ｈ２）〜ｆ６（Ｈ１，Ｈ２）の係数である。本実施形態では、後述する設定部１０４により、パラメータａ１〜ａ６が設定される。ｆ１（Ｈ１，Ｈ２）〜ｆ６（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の内容を示す数値と、宿泊施設Ｈ２の内容を示す数値と、が代入される関数であり、代入された内容の関連性を計算する。なお、内容を示す数値は、特徴量ということもできる。
【００７５】
関数ｆ１（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の場所と、宿泊施設Ｈ２の場所と、の関連性を計算する。場所の関連性とは、場所の近さであり、宿泊施設Ｈ１，Ｈ２間の距離である。場所が近いほど関連性が高く、場所が遠いほど関連性が低い。即ち、距離が短いほど関連性が高く、距離が長いほど関連性が低い。
【００７６】
例えば、場所としてジオロケーションが用いられる場合には、関数ｆ１（Ｈ１，Ｈ２）は、宿泊施設Ｈ１のジオロケーションが示す数値と、宿泊施設Ｈ２のジオロケーションが示す数値と、の差を計算し、差が少ないほど高い数値を出力し、差が多いほど低い数値を出力する。また例えば、場所として緯度経度情報が用いられる場合には、関数ｆ１（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の緯度経度情報と、宿泊施設Ｈ２の緯度経度情報と、の間の距離を計算し、距離が短いほど高い数値を出力し、距離が長いほど低い数値を出力する。
【００７７】
関数ｆ２（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の部屋数と、宿泊施設Ｈ２の部屋数と、の関連性を計算する。部屋数の関連性とは、部屋数の違いであり、宿泊施設の規模の違いである。部屋数の違いが少ないほど関連性が高く、部屋数の違いが多いほど関連性が低い。例えば、関数ｆ２（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の部屋数と、宿泊施設Ｈ２の部屋数と、の差を計算し、差が少ないほど高い数値を出力し、差が多いほど低い数値を出力する。
【００７８】
関数ｆ３（Ｈ１，Ｈ２）は、宿泊施設Ｈ１のタイプと、宿泊施設Ｈ２のタイプと、の関連性を計算する。タイプの関連性とは、タイプの同一性である。タイプが同じであれば関連性が高く、タイプが違えば関連性が低い。例えば、関数ｆ３（Ｈ１，Ｈ２）は、宿泊施設Ｈ１のタイプと、宿泊施設Ｈ２のタイプと、が一致していれば、第１の値（例えば、１）を出力し、これらが一致していなければ、第２の値（例えば、０）を出力する。
【００７９】
関数ｆ４（Ｈ１，Ｈ２）は、宿泊施設Ｈ１のカテゴリと、宿泊施設Ｈ２のカテゴリと、の関連性を計算する。カテゴリの関連性とは、カテゴリの同一性である。カテゴリが同じであれば関連性が高く、カテゴリが違えば関連性が低い。例えば、関数ｆ４（Ｈ１，Ｈ２）は、宿泊施設Ｈ１のカテゴリと、宿泊施設Ｈ２のカテゴリと、が一致していれば、第１の値（例えば、１）を出力し、これらが一致していなければ、第２の値（例えば、０）を出力する。
【００８０】
関数ｆ５（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の特徴と、宿泊施設Ｈ２の特徴と、の関連性を計算する。特徴の関連性とは、特徴の類似性である。特徴は、ベクトル情報で示されてもよいし、数値で示されてもよい。例えば、関数ｆ５（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の特徴と、宿泊施設Ｈ２の特徴と、の類似度を出力する。
【００８１】
例えば、特徴がベクトル情報で示される場合には、関数ｆ５（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の特徴を示すベクトル情報と、宿泊施設Ｈ２の特徴を示すベクトル情報と、の距離を計算し、距離が短いほど高い数値を出力し、距離が長いほど低い数値を出力する。また例えば、特徴が数値で示される場合には、関数ｆ５（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の特徴を示す数値と、宿泊施設Ｈ２の特徴を示す数値と、の差を計算し、差が少ないほど高い数値を出力し、差が多いほど低い数値を出力する。
【００８２】
関数ｆ６（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の交通アクセスと、宿泊施設Ｈ２の交通アクセスと、の関連性を計算する。交通アクセスの関連性とは、交通アクセスの類似性である。例えば、交通アクセスは、駅若しくはバス停からの所要時間、又は、主要都市若しくはインターチェンジからの所要時間によって示される。所要時間の差が小さいほど関連性が高く、所要時間の差が大きいほど関連性が低い。例えば、関数ｆ６（Ｈ１，Ｈ２）は、宿泊施設Ｈ１の所要時間と、宿泊施設Ｈ２の所要時間と、の差を計算し、差が少ないほど高い数値を出力し、差が多いほど低い数値を出力する。
【００８３】
なお、６項目の内容に基づいてスコアが計算される場合を説明したが、スコアの計算で用いられる内容の項目数は、任意であってよい。例えば、１項目の内容だけに基づいてスコアが計算されてもよいし、２項目〜５項目又は７項目以上の内容に基づいてスコアが計算されてもよい。また、スコアの計算で用いられる項目は、上記の例に限られず、宿泊施設データベースＤＢ１に格納された任意の情報に基づいて計算されるようにしてよい。例えば、宿泊施設の連絡先、設備、利用料金、又は口コミといった情報に基づいて、スコアが計算されるようにしてもよい。
【００８４】
［３−５．設定部］
設定部１０４は、ＣＰＵ１１を主として実現される。設定部１０４は、特定部１０１により特定された各宿泊施設の内容とスコア（第１情報取得部１０２により取得されたスコア）とに基づいて、パラメータを設定する。
【００８５】
設定部１０４は、宿泊施設データベースＤＢ１を参照し、特定部１０１により特定された各宿泊施設の内容を取得する。設定部１０４は、第１情報取得部１０２により取得されたスコアを取得する。設定部１０４は、特定部１０１により特定された各宿泊施設の内容を出力部１０３に入力した場合に、当該各宿泊施設のスコア又は当該スコアと似たスコアが出力されるように、パラメータを設定する。似たスコアとは、差が所定値未満となるスコアである。
【００８６】
例えば、設定部１０４は、当該取得した各宿泊施設の内容を入力とし、当該取得したスコアを出力とする教師データを生成し、教師データに基づいてパラメータを設定する。教師データに基づく設定方法自体は、教師有り機械学習で用いられている種々の方法を適用可能であり、例えば、線形回帰、多項式回帰、又は非線形回帰を利用してもよい。設定部１０４は、教師データが示す入力と出力の関係を得られるように、出力部１０３のパラメータの設定をする。パラメータの設定は、出力部１０３のアルゴリズムの学習ということもできる。
【００８７】
本実施形態では、パラメータは、ａ１〜ａ６に示す係数なので、設定部１０４は、教師データに基づいて、パラメータａ１〜ａ６を設定する。例えば、設定部１０４は、教師データが示す入力と出力の関係をｎ（ｎは自然数）次元空間にプロットして線形回帰を行い、当該プロットされた入力と出力の関係が得られるように、関数Ｆ（Ｈ１，Ｈ２）のパラメータａ１〜ａ６を設定する。
【００８８】
［３−６．第２情報取得部］
第２情報取得部１０５は、ＣＰＵ１１を主として実現される。第２情報取得部１０５は、複数の宿泊施設の各々の内容を出力部１０３に入力し、スコアを取得する。第２情報取得部１０５は、全ての宿泊施設の組み合わせのスコアを取得してもよいし、一部の宿泊施設の組み合わせのスコアを取得してもよい。
【００８９】
一部の宿泊施設の組み合わせのスコアを取得する場合には、第２情報取得部１０５は、第１情報によりスコアが取得されなかった宿泊施設の組み合わせのスコアを取得してもよいし、ランダムに定まる宿泊施設の組み合わせのスコアを取得してもよい。他にも例えば、第２情報取得部１０５は、クーポンデータベースＤＢ４にクーポンが格納された宿泊施設の組み合わせのスコアを取得してもよい。
【００９０】
第２情報取得部１０５は、スコアデータベースＤＢ３を参照し、スコアの取得対象となる宿泊施設の組み合わせを決定する。第２情報取得部１０５は、宿泊施設データベースＤＢ１を参照し、当該決定した宿泊施設の各々の内容を取得する。第２情報取得部１０５は、当該取得した内容を出力部１０３に入力すると、出力部１０３は、当該入力された内容に基づいてスコアを計算する。第２情報取得部１０５は、出力部１０３出力されたスコアを取得する。第２情報取得部１０５は、当該取得したスコアをスコアデータベースＤＢ３に格納する。
【００９１】
本実施形態の例であれば、第２情報取得部１０５は、宿泊施設Ｈ１，Ｈ２の各々の場所、部屋数、タイプ、カテゴリ、特徴、及び交通アクセスの各々の情報を取得し、これら各情報を出力部１０３に入力する。なお、特徴は、宿泊施設の説明文からキーワードを抽出し、各キーワードの特徴ベクトルから算出されてもよいし、設備又は利用料金から算出されてもよい。例えば、出力部１０３は、入力された各情報と、先述した数式と、に基づいてスコアを計算する。スコアの計算方法は、先述した通りである。
【００９２】
［３−７．提供部］
提供部１０６は、ＣＰＵ１１を主として実現される。提供部１０６は、スコア（第２情報取得部１０５により取得されたスコア）が取得された各宿泊施設のスコアに基づいて、当該宿泊施設に関連する他の宿泊施設に関する情報を提供する。
【００９３】
宿泊施設に関連する他の宿泊施設は、スコアが高い宿泊施設（関連性の高い宿泊施設）であり、例えば、最も高いスコアの宿泊施設、スコアが閾値以上の宿泊施設、又はスコアが高い順に所定番目までの宿泊施設である。
【００９４】
宿泊施設に関する情報は、宿泊施設に関係する情報であればよく、例えば、宿泊施設のクーポン、宿泊施設ページＰ３へのリンク、又は、宿泊施設の名前、画像、説明文といった情報である。本実施形態では、クーポンは、データ項目に関する情報の一例である。
【００９５】
提供とは、ユーザに付与すること、ユーザ端末２０に表示させること、ユーザのメールアドレス宛てに送信すること、メッセージアプリやＳＮＳ等におけるユーザのアカウント宛てに送信すること、又は、ユーザＩＤに情報を関連付けることである。別の言い方をすれば、提供は、ユーザに対するリコメンドということもできる。
【００９６】
提供部１０６は、スコアデータベースＤＢ３を参照し、クエリとなる宿泊施設のスコアを取得する。クエリとなる宿泊施設は、任意の方法で決定されてよく、例えば、ユーザが過去に閲覧又は予約した宿泊施設であってもよいし、ランダムに定まる宿泊施設であってもよい。また例えば、ユーザが検索条件にヒットした何れかの宿泊施設がクエリとなってもよい。クエリとなる宿泊施設は、１つであってもよいし、複数であってもよい。
【００９７】
提供部１０６は、クエリとなる宿泊施設のスコアに基づいて、関連する他の宿泊施設を特定する。ここでは、説明の簡略化のために、提供部１０６は、スコアが最も高い他の宿泊施設を特定するものとして説明する。提供部１０６は、クーポンデータベースＤＢ４を参照し、特定した他の宿泊施設の宿泊施設ＩＤが格納されたクーポンが存在するかを判定する。提供部１０６は、クーポンが存在する場合には、当該クーポンを提供し、クーポンが存在しない場合には、次にスコアが高い宿泊施設のクーポンが存在するかを判定する。以降、クーポンが見つかるまで、クーポンの存在の有無の判定が繰り返されてもよい。
【００９８】
なお、提供部１０６は、全ての宿泊施設について、第２情報取得部１０５により取得されたスコアに基づいてクーポンを提供してもよいし、一部の宿泊施設についてのみ、第２情報取得部１０５により取得されたスコアに基づいてクーポンを提供してもよい。
【００９９】
例えば、提供部１０６は、行動の度合が所定度合以上の宿泊施設については、第１情報取得部１０２により取得されたスコアに基づいてクーポンを提供する。即ち、よく閲覧又は予約されている宿泊施設については、協調フィルタリングによって精度の高いスコアを算出可能なので、提供部１０６は、協調フィルタリングに基づくスコアによって、クーポンを提供する。
【０１００】
また例えば、提供部１０６は、行動の度合が所定度合未満の宿泊施設については、第２情報取得部１０５により取得されたスコアに基づいてクーポンを提供する。即ち、あまり閲覧又は予約されていない宿泊施設については、協調フィルタリングによるスコアは精度が高くないので、提供部１０６は、設定部１０４によりパラメータが設定されたコンテンツベースフィルタリングに基づくスコア（出力部１０３が出力したスコア）に基づいて、クーポンを提供する。
【０１０１】
本実施形態では、提供部１０６は、各ユーザにより行動された宿泊施設のスコアに基づいて、当該ユーザに、当該宿泊施設に関連する他の宿泊施設のクーポンを提供する。即ち、本実施形態では、クエリとなる宿泊施設は、ユーザが閲覧又は予約した宿泊施設となる。提供部１０６は、行動履歴データベースＤＢ２を参照し、各ユーザが閲覧又は予約した宿泊施設を特定する。提供部１０６は、スコアデータベースＤＢ３を参照し、当該宿泊施設のスコアを取得する。提供部１０６は、当該取得したスコアに基づいて、関連する他の宿泊施設を特定する。提供部１０６は、クーポンデータベースＤＢ４を参照し、当該特定した他の宿泊施設のクーポンを提供する。
【０１０２】
［４．情報処理システムで実行される処理］
次に、情報処理システム１で実行される処理について説明する。ここでは、パラメータを更新するための更新処理と、ユーザ端末２０にクーポンを提示するための提示処理と、を説明する。
【０１０３】
［４−１．更新処理］
図１２は、更新処理の一例を示すフロー図である。図１２に示す処理は、ＣＰＵ１１がメモリ１２に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図７に示す機能ブロックにより実行される処理の一例である。
【０１０４】
図１２に示すように、まず、ＣＰＵ１１は、行動履歴データベースＤＢ２に基づいて、行動の度合が所定度合以上の複数の宿泊施設を特定する（Ｓ１００）。Ｓ１００においては、ＣＰＵ１１は、各宿泊施設の閲覧数と予約数との合計数を集計し、合計数の上位１０％の宿泊施設を特定する。
【０１０５】
ＣＰＵ１１は、行動履歴データベースＤＢ２に基づいて、Ｓ１００で特定した複数の宿泊施設のスコアを計算する（Ｓ１０１）。Ｓ１０１においては、ＣＰＵ１１は、Ｓ１００で特定した宿泊施設の組み合わせごとに、協調フィルタリングに基づくスコアを計算する。
【０１０６】
ＣＰＵ１１は、宿泊施設データベースＤＢ１と、Ｓ１０１で計算したスコアと、に基づいて、コンテンツベースフィルタリングのスコア計算で用いるパラメータを更新する（Ｓ１０２）。Ｓ１０２においては、ＣＰＵ１１は、Ｓ１０１で特定した各宿泊施設の内容を入力とし、Ｓ１０２で計算した各宿泊施設のスコアを出力とする教師データを生成し、当該教師データに基づいて、パラメータを更新する。
【０１０７】
ＣＰＵ１１は、スコアデータベースＤＢ３に基づいて、スコアを計算する宿泊施設の組み合わせを選出する（Ｓ１０３）。Ｓ１０３においては、スコアデータベースＤＢ３に宿泊施設ＩＤが格納された宿泊施設の中から、任意の２つが選出される。
【０１０８】
ＣＰＵ１１は、行動履歴データベースＤＢ２に基づいて、Ｓ１０３で選出した宿泊施設の組み合わせが、両方とも閲覧数と予約数との合計数が上位１０％の宿泊施設であるかを判定する（Ｓ１０４）。Ｓ１０４においては、ＣＰＵ１１は、Ｓ１０３で選出した宿泊施設が、２つともＳ１００で特定した宿泊施設であるかを判定する。
【０１０９】
宿泊施設の組み合わせが両方とも上位１０％の宿泊施設であると判定された場合（Ｓ１０４；Ｙ）、ＣＰＵ１１は、行動履歴データベースＤＢ２に基づいて、Ｓ１０３で選出した宿泊施設のスコアを計算してスコアデータベースＤＢ３に格納する（Ｓ１０５）。Ｓ１０５においては、ＣＰＵ１１は、Ｓ１０３で選出した宿泊施設の組み合わせに対し、Ｓ１００で計算したスコア（協調フィルタリングに基づくスコア）を取得してスコアデータベースＤＢ３に格納する。
【０１１０】
一方、宿泊施設の組み合わせの少なくとも一方が上位１０％の宿泊施設ではないと判定された場合（Ｓ１０４；Ｎ）、ＣＰＵ１１は、宿泊施設データベースＤＢ１に基づいて、Ｓ１０４で選出した宿泊施設のスコアを計算してスコアデータベースＤＢ３に格納する（Ｓ１０６）。Ｓ１０６においては、ＣＰＵ１１は、Ｓ１０２で更新したパラメータに基づいて、コンテンツデータベースフィルタリングに基づくスコアを計算してスコアデータベースＤＢ３に格納する。
【０１１１】
ＣＰＵ１１は、スコアデータベースＤＢ３に基づいて、全ての宿泊施設の組み合わせについてスコアを更新したかを判定する（Ｓ１０７）。Ｓ１０７においては、ＣＰＵ１１は、スコアデータベースＤＢ３に格納された宿泊施設ＩＤの組み合わせの全てに対し、スコアの更新が行われたかを判定する。
【０１１２】
全ての宿泊施設の組み合わせについてスコアを更新したと判定されない場合（Ｓ１０８；Ｎ）、Ｓ１０３の処理に戻り、他の組み合わせのスコアが計算される。一方、全ての宿泊施設の組み合わせについてスコアを更新したと判定された場合（Ｓ１０７；Ｙ）、本処理は終了する。
【０１１３】
［４−２．提示処理］
図１３は、提示処理の一例を示すフロー図である。図１３に示す処理は、ＣＰＵ１１がメモリ１２に記憶されたプログラムに従って動作し、ユーザ端末２０が自身に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図７に示す機能ブロックにより実行される処理の一例である。本実施形態では、検索結果ページＰ２においてクーポンが表示されるので、以降説明する処理は、トップページＰ１から検索条件が入力され、ボタンＢ１５が選択された場合に実行される。
【０１１４】
図１３に示すように、まず、ユーザ端末２０は、サーバ１０に対し、検索の実行要求を送信する（Ｓ２００）。Ｓ２００においては、ユーザ端末２０は、入力フォームＦ１０〜Ｆ１４の各々に入力された検索条件とともに、検索の実行要求を送信する。なお、検索の実行要求とともに、ユーザ端末２０のユーザＩＤも送信されるものとする。
【０１１５】
サーバ１０においては、実行要求を受信すると、ＣＰＵ１１は、宿泊施設データベースＤＢ１に基づいて検索を実行する（Ｓ２０１）。Ｓ２０１においては、ＣＰＵ１１は、ユーザ端末２０から受信した検索条件をクエリとし、宿泊施設データベースＤＢ１に格納された各宿泊施設の情報をインデックスとして検索を実行する。ＣＰＵ１１は、検索にヒットした宿泊施設の宿泊施設ＩＤをメモリ１２に一時的に保持する。
【０１１６】
ＣＰＵ１１は、行動履歴データベースＤＢ２に基づいて、ユーザが閲覧又は予約した宿泊施設を特定する（Ｓ２０２）。Ｓ２０２においては、ＣＰＵ１１は、検索の実行要求をしたユーザのユーザＩＤに関連付けられた行動履歴に基づいて、過去の全期間に閲覧又は予約された宿泊施設を特定してもよいし、一部の期間に閲覧又は予約された宿泊施設を特定してもよい。例えば、ＣＰＵ１１は、直近の数日〜数ヶ月程度の期間であってもよいし、直近の所定数の宿泊施設を特定してもよい。
【０１１７】
ＣＰＵ１１は、スコアデータベースＤＢ３に基づいて、Ｓ２０２で特定した宿泊施設に関連する他の宿泊施設を特定する（Ｓ２０３）。Ｓ２０３においては、ＣＰＵ１１は、Ｓ２０２で特定した宿泊施設のスコアを参照し、スコアが最も高い他の宿泊施設を特定する。他にも例えば、ＣＰＵ１１は、スコアが高い順に所定個数の他の宿泊施設を特定してもよいし、スコアが閾値以上となる他の宿泊施設を全て特定してもよい。ＣＰＵ１１は、特定した他の宿泊施設の宿泊施設ＩＤをメモリ１２に一時的に保持する。
【０１１８】
ＣＰＵ１１は、クーポンデータベースＤＢ４に基づいて、Ｓ２０３で特定した宿泊施設のクーポンが存在するかを判定する（Ｓ２０４）。Ｓ２０４においては、ＣＰＵ１１は、Ｓ２０３で特定した宿泊施設の宿泊施設ＩＤがクーポンデータベースＤＢ４に存在するかを判定する。
【０１１９】
クーポンが存在しないと判定された場合（Ｓ２０４；Ｎ）、Ｓ２０３の処理に戻る。この場合、次にスコアが高い他の宿泊施設が特定され、当該宿泊施設のクーポンの有無が判定される。
【０１２０】
一方、クーポンが存在すると判定された場合（Ｓ２０４；Ｙ）、ＣＰＵ１１は、Ｓ２０１の検索結果が表示領域Ａ２０に配置され、かつ、当該クーポンが表示領域Ａ２１に配置された検索結果ページＰ２の表示データをユーザ端末２０に送信する（Ｓ２０５）。なお、検索結果ページＰ２の表示データは、メモリ１２に予め記憶されているものとする。表示データとしては、ＨＴＭＬデータであってもよいし、フレームにはめ込む画像やテキストであってもよい。
【０１２１】
ユーザ端末２０は、表示データを受信すると、検索結果ページＰ２を表示させ（Ｓ２０６）、本処理は終了する。以降、ユーザは、表示領域Ａ２０から宿泊施設を選択して宿泊施設ページＰ３を表示させたり、表示領域Ａ２１に表示されたクーポンを選択して当該クーポンを獲得したりすることができる。
【０１２２】
以上説明した情報処理システム１によれば、よく閲覧又は予約されている宿泊施設の内容と、協調フィルタリングに基づくスコアと、に基づいて、出力部１０３のパラメータを設定することで、あまり閲覧又は予約されていない宿泊施設であったとしても、よく閲覧又は予約されているかのような精度の高いスコアを計算し、関連性の高い宿泊施設を特定する精度を高めることができる。別の言い方をすれば、情報処理システム１は、コンテンツベースフィルタリングを用いたとしても、協調フィルタリングと同程度の精度のスコア（ユーザの嗜好も考慮したスコア）を計算し、関連性の高い宿泊施設を特定する精度を高めることができる。また、コンテンツベースフィルタリングのパラメータの設定処理を自動化することで、人手でパラメータを設定する手間を省くことができる。
【０１２３】
また、あまり閲覧又は予約されていない宿泊施設については、出力部１０３にスコアを計算させ、協調フィルタリングに基づくスコアは計算せず、精度の低いスコアは計算しないので、不要な処理が実行されることを防止し、サーバ１０の処理負荷を軽減することができる。また、よく閲覧又は予約されている宿泊施設については、協調フィルタリングを利用し、出力部１０３にスコアを計算させないので、不要なスコア計算が実行されることを防止し、サーバ１０の処理負荷を軽減することができる。また、スコアデータベースＤＢ３には、精度の低いスコアが格納されないので、不要なスコアが格納されることを防止し、サーバ１０のメモリ消費量を削減することができる。
【０１２４】
また、出力部１０３から取得されたスコアに基づいてクーポンを提供することにより、提供するクーポンの精度を高めることができる。例えば、予約機会又は購入機会が少ないサービス又は商品であっても、多数のサービス又は商品を取り揃えることで売り上げを伸ばすロングテールという手法では、サービス又は商品が頻繁に閲覧又は予約されていれば、協調フィルタリングにより精度の高いスコアを取得できるが、サービス又は商品があまり閲覧又は予約されていなければ、精度の高いスコアを取得できない。この場合、あまり閲覧又は予約されていないサービス又は商品については、全くクーポンが提供されなかったり、ユーザの嗜好にそぐわないクーポンが提供されてしまったりする。この点、情報処理システム１によれば、あまり閲覧又は予約されていないサービス又は商品であっても、精度よくクーポンを提供できるので、ロングテールの効果を最大限発揮することができる。
【０１２５】
また、よく閲覧又は予約されている宿泊施設については、より精度の高い協調フィルタリングに基づくスコアを利用してクーポンを提供し、あまり閲覧又は予約されていない宿泊施設については、出力部１０３から取得されたスコアを利用してクーポンを提供することで、提供するクーポンの精度を効果的に高めることができる。
【０１２６】
また、ユーザにより閲覧又は予約された宿泊施設に関連付けられたスコアに基づいて、各ユーザに、自身が閲覧又は予約した宿泊施設に関連する他の宿泊施設のクーポンを提供することができる。
【０１２７】
［５．変形例］
なお、本発明は、以上に説明した実施形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１２８】
図１４は、変形例の機能ブロック図である。図１４に示すように、以降説明する変形例では、決定部１０７、グループ分け部１０８、及び更新部１０９が実現される。
【０１２９】
（１）例えば、クーポンは、全てのユーザに提供されるのではなく、特定のユーザに対して提供されるようにしてもよい。例えば、クーポンは、過去にクーポンの使用実績のあるユーザ、行動の度合が高いユーザ、又は、特定のタイプの宿泊施設を予約するユーザに対して提供されるようにしてもよい。別の言い方をすれば、クーポンは、使用する蓋然性の高いユーザに対してのみ提供されるようにしてもよい。
【０１３０】
変形例（１）の情報処理システム１では、決定部１０７が実現される。決定部１０７は、ＣＰＵ１１を主として実現される。決定部１０７は、各ユーザの行動履歴に基づいて、クーポンが提供されるユーザを決定する。決定部１０７は、各ユーザの行動履歴に基づいて、所定の条件が満たされるかを判定し、判定結果に基づいて、当該ユーザがクーポンの提供対象であるかを判定する。
【０１３１】
クーポンの提供対象であるかを判定するための条件は、任意の条件を設定可能である。例えば、当該条件は、クーポンを使用する蓋然性が高いユーザを特定するための条件であってもよいし、閲覧回数、予約回数、又は使用金額が多いユーザを特定するための条件であってもよい。例えば、下記に説明する第１の条件〜第３の条件を設定してもよい。
【０１３２】
［第１の条件］
例えば、クーポンの使用実績の有無を条件としてもよい。ここでは、クーポンの使用実績が行動履歴データベースＤＢ２に格納される場合を説明するが、クーポンの使用実績は、他のデータベースに格納されてもよい。
【０１３３】
例えば、ユーザは、検索結果ページＰ２の表示領域Ａ２１に表示されたクーポンの中から、使用するクーポンを選択することができる。ユーザがクーポンを選択して宿泊施設の予約をすると、ユーザ端末２０は、ユーザが選択したクーポンのクーポンＩＤ、ユーザのユーザＩＤ、及び予約内容をサーバ１０に送信する。サーバ１０は、ユーザ端末２０からクーポンＩＤと予約内容を受信すると、宿泊施設の予約処理を実行し、当該ユーザＩＤと当該クーポンＩＤとを関連付けて行動履歴データベースＤＢ２に格納する。なお、クーポンＩＤではなく、クーポンの使用有無を示すフラグが格納されてもよい。
【０１３４】
決定部１０７は、行動履歴データベースＤＢ２に基づいて、判定対象期間における各ユーザのクーポンの使用回数、又は、直近の所定回数の予約における各ユーザのクーポンの使用回数を取得する。判定対象期間は、過去の全期間であってもよいし、一部の期間であってもよい。一部の期間を集計対象とする場合には、任意の期間であってよく、例えば、直近の数日〜数ヶ月程度の期間であってもよい。決定部１０７は、各ユーザの使用回数に基づいて、当該ユーザがクーポンの提供対象のユーザであるかを決定する。
【０１３５】
例えば、決定部１０７は、クーポンの使用回数又は使用頻度が閾値以上であるユーザをクーポンの提供対象とし、クーポンの使用回数又は使用頻度が閾値未満であるユーザをクーポンの提供対象とはしない。閾値は、任意の数値を設定可能であり、固定値であってもよいし、可変値であってもよい。例えば、閾値として１を設定してもよいし、２以上の数値を設定してもよい。
【０１３６】
［第２の条件］
また例えば、行動の度合の高さを条件としてもよい。行動の度合の意味は、実施形態で説明した通りである。本変形例では、実施形態と同様、閲覧又は予約の度合を一例として説明する。
【０１３７】
決定部１０７は、行動履歴データベースＤＢ２に基づいて、判定対象期間における各ユーザの行動の度合を取得する。決定部１０７は、行動の度合が所定度合以上であるユーザをクーポンの提供対象とし、行動の度合が所定度合未満であるユーザをクーポンの提供対象とはしない。
【０１３８】
例えば、決定部１０７は、閲覧回数、閲覧頻度、予約回数、又は予約頻度が閾値以上であるユーザをクーポンの提供対象とし、閲覧回数、閲覧頻度、予約回数、又は予約頻度が閾値未満であるユーザをクーポンの提供対象とはしない。閾値は、任意の数値を設定可能であり、固定値であってもよいし、可変値であってもよい。例えば、閾値として１を設定してもよいし、２以上の数値を設定してもよい。
【０１３９】
［第３の条件］
また例えば、特定のタイプの宿泊施設を閲覧又は予約していることを条件としてもよい。特定のタイプは、予め定められたタイプであればよく、例えば、ホテルであってもよいし、旅館であってもよい。本変形例では、ホテルが特定のタイプに相当する場合を説明する。
【０１４０】
なお、特定のタイプは、データ項目の種類に応じたタイプを設定すればよく、例えば、データ項目が電子書籍であれば、特定のタイプは、小説、漫画、又は雑誌といったタイプを設定すればよい。また例えば、データ項目が動画であれば、特定のタイプは、映画、アニメ、又はスポーツといったタイプを設定すればよい。データ項目が、楽曲、アプリケーション、又はファイルである場合も同様に、特定のタイプは、楽曲、アプリケーション、又はファイルのタイプを設定すればよい。
【０１４１】
例えば、決定部１０７は、宿泊施設データベースＤＢ１と行動履歴データベースＤＢ２とに基づいて、各ユーザがホテルを閲覧又は予約したかを判定する。決定部１０７は、行動履歴データベースＤＢ２に格納された宿泊施設ＩＤを取得し、宿泊施設データベースＤＢ１を参照して当該宿泊施設ＩＤのタイプを取得する。決定部１０７は、当該取得したタイプがホテルであるかを判定する。
【０１４２】
例えば、決定部１０７は、ホテルを閲覧又は予約したユーザをクーポンの提供対象とし、ホテルを閲覧又は予約していないユーザをクーポンの提供対象とはしない。また例えば、決定部１０７は、行動履歴データベースＤＢ２に基づいて、各ユーザが閲覧又は予約した宿泊施設のうち、ホテルが占める割合が閾値以上であるかを判定してもよい。閾値は、任意の値を設定可能であり、例えば、０．５〜０．９程度の値を設定してもよい。決定部１０７は、当該割合が閾値以上であるユーザをクーポンの提供対象とし、当該割合が閾値未満であるユーザをクーポンの提供対象とはしない。
【０１４３】
なお、クーポンの提供対象となるユーザを決定する方法は、上記の例に限られない。例えば、決定部１０７は、ユーザの性別に基づいて、クーポンの提供対象となるユーザを決定してもよい。決定部１０７は、男性をクーポンの提供対象としてもよいし、女性をクーポンの提供対象としてもよい。また例えば、決定部１０７は、ユーザの年齢に基づいて、クーポンの提供対象となるユーザを決定してもよい。決定部１０７は、特定の年齢層のユーザをクーポンの対象としてもよい。特定の年齢層は、予め定められた年齢層であればよく、例えば、１０代〜８０代の何れかであってよい。また例えば、決定部１０７は、ユーザの使用金額に基づいて、クーポンの提供対象となるユーザを決定してもよい。決定部１０７は、判定対象期間における使用金額が閾値以上であるユーザをクーポンの対象としてもよい。また例えば、決定部１０７は、クーポンを利用したユーザの割引額に基づいて、クーポンの提供対象となるユーザを決定してもよい。決定部１０７は、割引額が閾値以上であるユーザをクーポンの提供対象としてもよい。また例えば、決定部１０７は、上記説明した少なくとも２つの方法に基づいて評価値を計算し、当該評価値に基づいて、クーポンの提供対象となるユーザを決定してもよい。
【０１４４】
提供部１０６は、決定部１０７により決定されたユーザに、クーポンを提供する。即ち、提供部１０６は、決定部１０７により決定されたユーザ以外には、クーポンを提供しない。例えば、クエリとなる宿泊施設をＨ１とし、クーポンの対象となる宿泊施設をＨ２とし、ユーザをＵとすると、宿泊施設Ｈ２のクーポンを提供する蓋然性は、次の段落の式によって示すことができる。なお、次の段落の式は、宿泊施設Ｈ１，Ｈ２の各々の閲覧数と予約数との合計数が両方とも上位１０％である場合の蓋然性である。
【０１４５】
Ｐ（Ｈ２｜Ｕ）＝Ｐ（Ｈ２｜Ｈ１）＊Ｐ（Ｈ１｜Ｕ）＊Ｐ（Ｕ）
【０１４６】
上記数式の左辺のＰ（Ｈ２｜Ｕ）は、宿泊施設Ｈ２のクーポンがユーザＵに提供される蓋然性である。上記数式の右辺のＰ（Ｈ２｜Ｈ１）は、第１情報取得部１０２により取得されたスコアであり、協調フィルタリングに基づくスコアである。右辺のＰ（Ｈ１｜Ｕ）は、ユーザが宿泊施設Ｈ１を閲覧又は予約したかを示す数値であり、例えば、ユーザが宿泊施設Ｈ１を閲覧又は予約していれば１となり、ユーザが宿泊施設Ｈ１を閲覧又は予約していなければ０となる。右辺のＰ（Ｕ）は、クーポンの対象となるユーザであるかを示す数値であり、クーポンの対象となるユーザであれば１となり、クーポンの対象でないユーザであれば０となる。
【０１４７】
なお、宿泊施設Ｈ１，Ｈ２の何れかの閲覧数と予約数との合計数が上位１０％ではない場合には、宿泊施設Ｈ２のクーポンを提供する蓋然性は、次の段落の式によって示すことができる。下記の式に示すように、宿泊施設Ｈ１，Ｈ２の何れかは、あまり閲覧又は予約されていないので、協調フィルタリングに基づくスコアＰ（Ｈ２｜Ｈ１）ではなく、出力部１０３により出力されたスコアＦ（Ｈ１，Ｈ２）が用いられる。Ｆ（Ｈ１，Ｈ２）の内容は、実施形態で説明した通りである。
【０１４８】
Ｐ（Ｈ２｜Ｕ）＝Ｆ（Ｈ１，Ｈ２）＊Ｐ（Ｈ１｜Ｕ）＊Ｐ（Ｕ）
【０１４９】
変形例（１）によれば、各ユーザの行動履歴に基づいて決定されたユーザに対し、クーポンを提供することによって、クーポンが不要なユーザに対してクーポンが提供されることを防止できる。クーポンが不要なユーザに対してはクーポンが提供されず、クーポン配布のための処理の実行が抑制されるので、サーバ１０の処理負荷を軽減することができる。
【０１５０】
（２）また例えば、ユーザをグループ分けし、出力部１０３のパラメータをユーザグループごとに設定することによって、ユーザの傾向をより強くパラメータに反映させ、スコアの精度を高めるようにしてもよい。
【０１５１】
変形例（２）の情報処理システム１では、グループ分け部１０８が実現される。グループ分け部１０８は、ＣＰＵ１１を主として実現される。グループ分け部１０８は、予め定められた方法に基づいて、各ユーザをグループ分けする。グループ分け部１０８は、特定の属性を持つユーザをグルーピングする。グループ分け部１０８は、各ユーザのユーザＩＤと、当該ユーザが属するユーザグループと、を関連付けてデータ記憶部１００に記録する。
【０１５２】
例えば、グループ分け部１０８は、変形例（１）で説明した第１の方法〜第３の方法と同様の方法によってグループ分けをしてもよい。また例えば、グループ分け部１０８は、ユーザの性別に基づいて、グループ分けしてもよい。グループ分け部１０８は、男性のユーザと女性のユーザとにグループ分けしてもよい。また例えば、グループ分け部１０８は、ユーザの年齢に基づいて、グループ分けしてもよい。グループ分け部１０８は、年齢層ごとにグループ分けしてもよい。また例えば、グループ分け部１０８は、ユーザの使用金額に基づいて、グループ分けしてもよい。グループ分け部１０８は、判定対象期間における使用金額の帯域ごとにグループ分けしてもよい。また例えば、グループ分け部１０８は、クーポンを利用したユーザの割引額に基づいて、グループ分けしてもよい。グループ分け部１０８は、割引額の帯域ごとにグループ分けしてもよい。また例えば、グループ分け部１０８は、上記説明した少なくとも２つの方法に基づいて評価値を計算し、当該評価値に基づいて、グループ分けしてもよい。
【０１５３】
本変形例では、パラメータは、ユーザグループごとに用意されている。例えば、データ記憶部１００には、ユーザグループと、パラメータと、が関連付けられて記憶されている。なお、全てのユーザグループにパラメータが用意されている必要はなく、一部のユーザグループに対してのみパラメータが用意されていてもよい。
【０１５４】
設定部１０４は、ユーザグループごとに、パラメータを設定する。設定部１０４は、ユーザグループに関連付けられたパラメータを、当該ユーザグループに属するユーザの行動履歴に基づいて取得されたスコアに基づいて設定する。設定部１０４は、ユーザグループに関連付けられたパラメータを設定するための教師データを、当該ユーザグループに属するユーザの行動履歴に基づいて生成する。教師データに基づいてパラメータを設定する方法自体は、実施形態で説明した通りである。
【０１５５】
変形例（２）によれば、ユーザグループごとに出力部１０３のパラメータを設定することで、関連性の高い宿泊施設を特定する精度を効果的に高めることができる。
【０１５６】
（３）また例えば、パラメータの更新は、システム管理者による指示に基づいて実行されてもよいし、定期的に実行されてもよい。パラメータの更新タイミングは、予め定められた日時であればよく、定期的に訪れるようにしてもよいし、不定期的に訪れるようにしてもよい。パラメータの更新タイミングは、バッチファイル等によってデータ記憶部１００に記憶させておけばよい。
【０１５７】
更新タイミングが定期的に訪れる場合には、更新タイミング間の期間の長さは、任意であってよく、例えば、１時間〜数日程度であってもよいし、１週間〜数ヶ月程度であってもよい。更新タイミングが不定期的に訪れる場合には、システム管理者により指定された日時が更新タイミングとなってもよいし、ランダムに定まる日時が更新タイミングとなってもよい。他にも例えば、宿泊施設の閲覧数又は予約数の合計値が一定値を超えるたびに、更新タイミングが訪れるようにしてもよい。
【０１５８】
変形例（３）の情報処理システム１では、更新部１０９が実現される。更新部１０９は、ＣＰＵ１１を主として実現される。更新部１０９は、各ユーザの行動履歴を更新する。更新部１０９は、各ユーザが宿泊施設を閲覧又は予約した場合に、行動履歴データベースＤＢ２を更新する。行動履歴データベースＤＢ２の更新方法は、実施形態で説明した通りである。
【０１５９】
設定部１０４は、更新部１０９により更新された各ユーザの行動履歴に基づいて、パラメータを更新する。例えば、設定部１０４は、リアルタイムクロック等により現在日時を取得し、現在日時が所定の日時になったかを判定することによって、更新タイミングが訪れたかを判定する。また例えば、設定部１０４は、行動履歴データベースＤＢ２を参照し、宿泊施設の閲覧数又は予約数の合計値が一定値を超えたかを判定することによって、更新タイミングが訪れたかを判定する。設定部１０４は、更新タイミングが訪れたと判定した場合に、最新の行動履歴データベースＤＢ２に基づいて、パラメータを更新する。パラメータの決定方法は、実施形態で説明した通りである。
【０１６０】
変形例（３）によれば、パラメータが繰り返し更新されることで、最新のトレンドに応じた精度の高いスコアを取得することができる。即ち、ユーザの嗜好は時期によって変化することがあり、出力部１０３のパラメータが設定されてから時間が経過すると、ユーザの最新の嗜好にそぐわないことがある。この点、最新の行動履歴データベースＤＢ２に基づいて、パラメータを随時更新することで、最新のユーザの嗜好をパラメータに反映させることができる。
【０１６１】
（４）また例えば、上記変形例のうちの２つ以上を組み合わせてもよい。
【０１６２】
また例えば、実施形態では、提供部１０６が宿泊施設のクーポンを提供する場合を説明したが、提供部１０６は、パッケージツアー、高速バス、レンタカー、航空券、又は飲食店等のクーポンを提供してもよい。また例えば、実施形態では、提供部１０６がクーポンを提供する場合を説明したが、提供部１０６が提供する情報は、クーポンに限られない。提供部１０６は、宿泊施設に関する情報を提供すればよく、例えば、宿泊施設ページＰ３へのリンク又は宿泊施設の名前や画像等の情報を、リコメンド又は広告として提供してもよい。
【０１６３】
また例えば、実施形態では、情報処理システム１を旅行予約サービスに適用する場合を説明したが、情報処理システム１は、他の種々の場面に適用可能である。例えば、情報処理システム１を、電子商取引に適用してもよいし、コンテンツ又はファイルの配信に適用してもよい。情報処理システム１を電子商取引に適用する場合には、商品に関する情報がデータ項目に相当し、商品のクーポン等が提供される。情報処理システム１をコンテンツ又はファイルの配信に適用する場合には、電子書籍、動画、楽曲、又はアプリケーションといったコンテンツ、又は、文書ファイル、テキストファイル、画像ファイル、又は音声ファイルといったファイルがデータ項目に相当し、これらのファイルのクーポン等が提供される。
【０１６４】
また例えば、情報処理システム１の各機能のうち、特定部１０１、第１情報取得部１０２、出力部１０３、及び設定部１０４以外の機能は省略してもよい。例えば、データ記憶部１００は、情報処理システム１に含まれている必要はなく、データベースサーバによって実現されてもよい。また例えば、サーバ１０で実現されるものとして説明した機能は、サーバ１０とユーザ端末２０との間で分担されるようにしてもよい。
【図１】
2020031232.tif 000003
【図２】
2020031232.tif 000004
【図３】
2020031232.tif 000005
【図４】
2020031232.tif 000006
【図５】
2020031232.tif 000007
【図６】
2020031232.tif 000008
【図７】
2020031232.tif 000009
【図８】
2020031232.tif 000010
【図９】
2020031232.tif 000011
【図１０】
2020031232.tif 000012
【図１１】
2020031232.tif 000013
【図１２】
2020031232.tif 000014
【図１３】
2020031232.tif 000015
【図１４】
2020031232.tif 000016
【手続補正書】
【提出日】令和1年12月5日(2019.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段と、
各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段と、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段と、
前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段と、
複数のデータ項目の各々の内容を前記出力手段に入力し、前記第２情報を取得する第２情報取得手段と、
前記第２情報が取得された各データ項目の前記第２情報に基づいて、当該データ項目に関連する他のデータ項目に関する情報を提供する提供手段と、
を含み、
前記提供手段は、
前記度合が前記所定度合以上のデータ項目については、前記第１情報に基づいて前記情報を提供し、
前記度合が前記所定度合未満のデータ項目については、前記第２情報に基づいて前記情報を提供する、
ことを特徴とする情報処理システム。
【請求項２】
前記提供手段は、各ユーザにより行動されたデータ項目の前記第２情報に基づいて、当該ユーザに、当該データ項目に関連する他のデータ項目に関する前記情報を提供する、
を含むことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記情報処理システムは、各ユーザの行動履歴に基づいて、前記情報が提供されるユーザを決定する決定手段を更に含み、
前記提供手段は、前記決定手段により決定されたユーザに、前記情報を提供する、
を含むことを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段と、
各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段と、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段と、
前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段と、
予め定められた方法に基づいて、各ユーザをグループ分けするグループ分け手段と、
を含み、
前記パラメータは、ユーザグループごとに用意されており、
前記設定手段は、ユーザグループごとに、前記パラメータを設定する、
ことを特徴とする情報処理システム。
【請求項５】
前記情報処理システムは、各ユーザの行動履歴を更新する更新手段を更に含み、
前記設定手段は、前記更新手段により更新された各ユーザの行動履歴に基づいて、前記パラメータを更新する、
ことを特徴とする請求項１〜４の何れかに記載の情報処理システム。
【請求項６】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定ステップと、
各ユーザの行動履歴に基づいて、前記特定ステップにより特定された各データ項目の関連性を示す第１情報を取得する第１情報取得ステップと、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力ステップと、
前記特定ステップにより特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定ステップと、
複数のデータ項目の各々の内容の前記第２情報を取得する第２情報取得ステップと、
前記第２情報が取得された各データ項目の前記第２情報に基づいて、当該データ項目に関連する他のデータ項目に関する情報を提供する提供ステップと、
を含み、
前記提供ステップは、
前記度合が前記所定度合以上のデータ項目については、前記第１情報に基づいて前記情報を提供し、
前記度合が前記所定度合未満のデータ項目については、前記第２情報に基づいて前記情報を提供する、
ことを特徴とする情報処理方法。
【請求項７】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定ステップと、
各ユーザの行動履歴に基づいて、前記特定ステップにより特定された各データ項目の関連性を示す第１情報を取得する第１情報取得ステップと、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力ステップと、
前記特定ステップにより特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定ステップと、
予め定められた方法に基づいて、各ユーザをグループ分けするグループ分けステップと、
を含み、
前記パラメータは、ユーザグループごとに用意されており、
前記設定ステップは、ユーザグループごとに、前記パラメータを設定する、
ことを特徴とする情報処理方法。
【請求項８】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段、
各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段、
前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段、
複数のデータ項目の各々の内容を前記出力手段に入力し、前記第２情報を取得する第２情報取得手段、
前記第２情報が取得された各データ項目の前記第２情報に基づいて、当該データ項目に関連する他のデータ項目に関する情報を提供する提供手段、
としてコンピュータを機能させるためのプログラムであって、
前記提供手段は、
前記度合が前記所定度合以上のデータ項目については、前記第１情報に基づいて前記情報を提供し、
前記度合が前記所定度合未満のデータ項目については、前記第２情報に基づいて前記情報を提供する、
プログラム。
【請求項９】
複数のユーザの各々の行動履歴に基づいて、行動の度合が所定度合以上の複数のデータ項目を特定する特定手段、
各ユーザの行動履歴に基づいて、前記特定手段により特定された各データ項目の関連性を示す第１情報を取得する第１情報取得手段、
複数のデータ項目の各々の内容が入力された場合に、所定のパラメータに基づいて、各データ項目の関連性を示す第２情報を出力する出力手段、
前記特定手段により特定された各データ項目の内容と前記第１情報とに基づいて、前記パラメータを設定する設定手段、
予め定められた方法に基づいて、各ユーザをグループ分けするグループ分け手段、
としてコンピュータを機能させるためのプログラムであって、
前記パラメータは、ユーザグループごとに用意されており、
前記設定手段は、ユーザグループごとに、前記パラメータを設定する、
プログラム。
【国際調査報告】
2020031232.tif 000017
2020031232.tif 000018
2020031232.tif 000019
2020031232.tif 000020