(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240115BHJP
G06Q 10/04 20230101ALI20240115BHJP
G06Q 30/02 20230101ALI20240115BHJP
【FI】
G06Q50/10
G06Q10/04
G06Q30/02
(21)【出願番号】P 2021150643
(22)【出願日】2021-09-15
【審査請求日】2022-09-16
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】寺中 元希
(72)【発明者】
【氏名】坪内 孝太
【審査官】松田 岳士
(56)【参考文献】
【文献】特開2020-177262(JP,A)
【文献】特開2020-027488(JP,A)
【文献】特開2020-154427(JP,A)
【文献】特開2015-005217(JP,A)
【文献】特開2020-154658(JP,A)
【文献】特開2020-194218(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
ユーザにより所定の行動が行われる確度を推定するために
、所定の条件を満たす各ユーザにより検索される検索クエリと、当該検索クエリの共通性に基づいて前記検索クエリに対して付与されるスコアとの組からなるスコアリストであって、前記所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する前記所定の行動が行われる確度を推定するための複数の第1モデルを
選択し、選択した複数の第1モデルのうち、一方の第1モデルに対して所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアと、他方の第1モデルに対して前記所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアとが共に閾値以上であるか否かを判定することにより、前記一方の第1モデルに対応する前記所定の行動から前記他方の第1モデルに対応する前記所定の行動
への状態遷移を推定する第1推定部と、
前記複数の推定モデルのうち、
前記第1推定部により推定された前記状態遷移
における遷移後の前記所定の行動に対して負の関連性を有する前記所定の行動が行われる確度を推定するための第2モデルを
選択し、選択した第2モデルに対して、前記所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアが閾値以上であるか否かを判定することにより、前記ユーザにより前記負の関連性を有する前記所定の行動が行われる確度を推定する第2推定部と、
前記第2推定部により推定された確度に基づいて、前記第2モデルの信頼性を評価する評価部と
を備えることを特徴とする情報処理装置。
【請求項2】
前記第1推定部は、
前記推定モデルに対応付けられている前記所定の行動の特徴量に基づいて、前記複数の推定モデルの中から前記第1モデルを複数選択する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2推定部は、
前記所定の行動
への状態遷移と論理的に相反する前記行動が行われる確度を推定する前記推定モデルを、前記第2モデルとして選択する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記第2推定部は、
前記所定の行動
への状態遷移の推定が行われた期間において前記負の関連性を有する前記行動が行われる確度を推定し、
前記評価部は、
前記第2推定部により推定された前記確度の推移に基づいて、前記第2モデルの信頼性を評価する
ことを特徴とする請求項1~3のいずれか1つに記載の情報処理装置。
【請求項5】
コンピュータが実行する情報処理方法であって、
ユーザにより所定の行動が行われる確度を推定するために
、所定の条件を満たす各ユーザにより検索される検索クエリと、当該検索クエリの共通性に基づいて前記検索クエリに対して付与されるスコアとの組からなるスコアリストであって、前記所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する前記所定の行動が行われる確度を推定するための複数の第1モデルを
選択し、選択した複数の第1モデルのうち、一方の第1モデルに対して所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアと、他方の第1モデルに対して前記所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアとが共に閾値以上であるか否かを判定することにより、前記一方の第1モデルに対応する前記所定の行動から前記他方の第1モデルに対応する前記所定の行動
への状態遷移を推定する第1推定工程と、
前記複数の推定モデルのうち、
前記第1推定工程により推定された前記状態遷移
における遷移後の前記所定の行動に対して負の関連性を有する前記所定の行動が行われる確度を推定するための第2モデルを
選択し、選択した第2モデルに対して、前記所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアが閾値以上であるか否かを判定することにより、前記ユーザにより前記負の関連性を有する前記所定の行動が行われる確度を推定する第2推定工程と、
前記第2推定工程により推定された確度に基づいて、前記第2モデルの信頼性を評価する評価工程と
を含むことを特徴とする情報処理方法。
【請求項6】
コンピュータに、
ユーザにより所定の行動が行われる確度を推定するために
、所定の条件を満たす各ユーザにより検索される検索クエリと、当該検索クエリの共通性に基づいて前記検索クエリに対して付与されるスコアとの組からなるスコアリストであって、前記所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する前記所定の行動が行われる確度を推定するための複数の第1モデルを
選択し、選択した複数の第1モデルのうち、一方の第1モデルに対して所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアと、他方の第1モデルに対して前記所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアとが共に閾値以上であるか否かを判定することにより、前記一方の第1モデルに対応する前記所定の行動から前記他方の第1モデルに対応する前記所定の行動
への状態遷移を推定する第1推定手順と、
前記複数の推定モデルのうち、
前記第1推定手順により推定された前記状態遷移
における遷移後の前記所定の行動に対して負の関連性を有する前記所定の行動が行われる確度を推定するための第2モデルを
選択し、選択した第2モデルに対して、前記所定期間に前記ユーザにより入力された検索クエリを入力することにより得られるスコアが閾値以上であるか否かを判定することにより、前記ユーザにより前記負の関連性を有する前記所定の行動が行われる確度を推定する第2推定手順と、
前記第2推定手順により推定された確度に基づいて、前記第2モデルの信頼性を評価する評価手順と
を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、インターネット上におけるユーザ行動の予測をする手法が知られている。例えば、特許文献1には、ユーザの行動を従来よりも高い精度で予測することを目的として、インターネット上のユーザの検索クエリの傾向を学習し、学習した検索クエリの傾向とその後のユーザの行動との関連性スコアを算出してモデルを生成し、このモデルを用いて他のユーザの行動を予測する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した技術では、生成した情報を信頼してもよいかどうかの確証を得ることが難しい。たとえば、結果論として有効な成果を上げるモデルが含まれている可能性があり、仮にABテストを行ったとしても、テストの内容に応じて適切ではないモデルが採用されてしまう場合もある。
【0005】
本願は、上記に鑑みてなされたものであって、生成した情報の信頼性を確かめることができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、第1推定部と、第2推定部と、評価部とを備える。第1推定部は、ユーザにより所定の行動が行われる確度を推定するために所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する所定の行動が行われる確度を推定するための複数の第1モデルを用いて、所定の行動の状態遷移を推定する。第2推定部は、複数の推定モデルのうち、所定の行動の状態遷移に対して負の関連性を有する所定の行動が行われる確度を推定するための第2モデルを用いて、ユーザにより負の関連性を有する所定の行動が行われる確度を推定する。評価部は、第2推定部により推定された確度に基づいて、第2モデルの信頼性を評価する。
【発明の効果】
【0007】
実施形態の態様の1つによれば、生成した情報の信頼性を確かめることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理システムの一例を説明する図である。
【
図2】
図2は、実施形態に係るユーザ分類方法および第2リスト情報評価方法の一例を示す図である。
【
図3】
図3は、実施形態に係る情報処理装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る第1リスト情報の概要を示す図である。
【
図5】
図5は、実施形態に係る第2リスト情報の概要を示す図である。
【
図6】
図6は、実施形態に係る情報処理装置による処理手順の一例を示すフローチャートである。
【
図7】
図7は、実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下に説明する実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下に説明する実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下に説明する実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
また、以下の説明において、端末装置10をシードユーザU1またはユーザU2と表記して説明する場合がある。すなわち、シードユーザU1またはユーザU2を端末装置10と読み替えることができる。
【0011】
[1.情報処理システム]
図1は、実施形態に係る情報処理システムの一例を説明する図である。
図1に示すように、実施形態に係る情報処理システムSYSは、端末装置10、及び情報処理装置100を有する。なお、情報処理システムSYSは、
図1に示す例に限られず、複数の端末装置10や複数の情報処理装置100を有していてもよい。
【0012】
端末装置10、及び情報処理装置100は、それぞれ有線又は無線によりネットワークN(たとえば、
図3参照)に接続される。ネットワークNは、LAN(Local Area Network)や、WAN(Wide Area Network)や、電話網(携帯電話網、固定電話網等)や、地域IP(Internet Protocol)網や、インターネットなどの通信ネットワークである。ネットワークNは、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。端末装置10、及び情報処理装置100は、ネットワークNを通じて、相互に通信できる。
【0013】
図1に示す端末装置10は、情報処理装置100などから提供される各種サービスを利用するユーザUが使用する情報処理装置である。たとえば、端末装置10は、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、PDA(Personal Digital Assistant)などにより実現される。
【0014】
また、端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)などの無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)などの近距離無線通信を介してネットワークNに接続できる。
【0015】
また、端末装置10は、各種サービスを利用するための情報を、ウェブブラウザやアプリケーションにより表示できる。なお、端末装置10は、情報の表示処理を実現する制御情報を情報処理装置100などから受け取った場合には、制御情報に従って表示処理を実現する。
【0016】
また、端末装置10は、各種サービスの利用を通じて、情報処理装置100に対し、ユーザ情報を提供する。ユーザ情報は、各ユーザUが入力した検索クエリなどを含む検索履歴や、各ユーザUの購買履歴や、電子商店街で閲覧した取引対象の履歴や、購入した取引対象の履歴である購買履歴や、閲覧したニュース等のコンテンツの履歴である閲覧履歴や、SNS(Social Networking Service)に投稿したテキストや画像等の履歴である投稿履歴や、位置履歴などを含む。また、ユーザ情報は、たとえば、各ユーザUが保有するスマートフォンを用いて店舗に設置されたQRコード(登録商標)を読み取り、読み取り結果を用いて実現する決済サービスの利用履歴や、各ユーザUが保有するスマートフォンにQRコードを表示させ、かかるQRコードを店舗端末が読み込むことで行われる決済サービスの利用履歴(たとえば、購入日時や購入商品、購入額など)を含んでもよい。また、ユーザ情報は、各ユーザUが保有するクレジットカードの利用履歴や銀行口座の利用履歴などを含んでもよい。
【0017】
また、ユーザ情報は、収集した情報に基づいて推定された情報を含んでもよい。たとえば、ユーザ情報は、購買履歴から、毎月の食料品の平均的な購入総額が10万円以上である場合、たとえば、世帯月収若しくは個人月収が30万円以上であるといった収入や、3人家族であるといった家族構成、もしくは同居人構成などを推定した情報を含んでもよい。また、ユーザ情報は、たとえば、位置履歴や購入履歴から、各ユーザUが所有する物品や、各ユーザUの居住地や職場などを推定し、推定した情報を含んでもよい。
【0018】
また、ユーザ情報は、たとえば、情報処理装置100以外の各種サービスを提供するサーバ装置から、サービスの利用履歴を取得した情報を含んでもよい。また、ユーザ情報は、このようなサービスを提供するサーバ装置もしくは単独のサーバ装置が、サービスの利用履歴から推定した各種情報を含んでもよい。また、ユーザ情報は、各ユーザUが登録、又は各ユーザUについて推定された各種のジオグラフィック属性や趣味嗜好といったサイコグラフィック属性を示す情報を含んでもよい。
【0019】
また、ユーザ情報は、端末装置10に搭載される各種センサにより取得されるセンサ情報を含んでもよい。たとえば、センサ情報は、位置センサにより取得される位置情報や、加速度センサにより検出される加速度情報や、ジャイロセンサにより検出される角速度情報や、タッチパネルにより取得される操作情報や、照度センサにより取得される照度情報や、気圧センサにより取得される気圧情報や、マイクにより取得される音情報などを含み得る。
【0020】
図1に示す情報処理装置100は、サービス利用者である各ユーザUに対して各種サービスを提供する情報処理装置である。情報処理装置100が提供する各種サービスには、各種アプリケーションに対応するAPI(Application Programming Interface)サービスや、各種オンラインサービスが含まれていてもよい。オンラインサービスとしては、インターネット接続や、検索サービスや、SNS(Social Networking Service)や、電子商取引サービスや、電子決済サービスや、オンラインゲームや、オンラインバンキングサービスや、オンライントレーディングサービスや、宿泊予約サービスや、チケット予約サービスや、動画配信サービスや、音楽配信サービスや、ニュース配信サービスや、地図情報サービスや、ルート検索サービスや、経路案内サービスや、路線情報サービスや、運行情報サービスや、天気情報サービスなどのサービスが該当し得る。
【0021】
また、情報処理装置100は、各種サービスの提供を通じて収集したユーザ情報を用いて、実施形態に係る情報処理を実行する情報処理装置である。情報処理装置100は、典型的にはサーバ装置であるが、メインフレームやワークステーションなどにより実現されてもよい。
【0022】
情報処理装置100がサーバ装置で実現される場合、単独のサーバにより実現されてもよいし、複数のサーバ装置及び複数のストレージ装置が協働して動作するクラウドシステムなどにより実現されてもよい。なお、情報処理装置100は、各ユーザUが使用する端末装置10に制御情報を配信する配信装置として機能してもよい。ここで、制御情報は、例えば、JavaScript(登録商標)などのスクリプト言語やCSS(Cascading Style Sheets)などのスタイルシート言語により記述される。なお、情報処理装置100から配信されるアプリケーションそのものを制御情報とみなしてもよい。
【0023】
[2.情報処理]
以下、情報処理システムSYSにおける情報処理の一例を説明する。なお、以下の説明において、実施形態に係る情報処理の対象は、各種サービスを利用する各ユーザUである。また、以下の説明において、各種サービスを利用する各ユーザUを、単に「ユーザU」と称して説明する場合がある。
【0024】
まず、
図1に示す例において、情報処理装置100は、ユーザUから収集したユーザ情報を保存する。そして、情報処理装置100は、ユーザ情報の中から、情報処理の対象となる対象ユーザを、無作為に、あるいは所定の条件に従って選択する。
【0025】
また、情報処理装置100は、ユーザUにより所定の行動が行われる確度を推定するために所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する行動が行われる確度を推定するための第1モデルを選択する。
【0026】
たとえば、情報処理装置100は、推定モデルに対応付けられている所定の行動の特徴量に基づいて、複数の推定モデルの中から第1モデルを複数選択できる。
図1に示す例では、第1モデルとして、行動A推定モデルと、行動B推定モデルとが選択されている。より具体的には、情報処理装置100は、Word2Vecなどの自然言語処理手法を用いて、所定の行動を示す文字列の特徴量(ベクトル表現)を求め、求めた特徴量の類似性に基づいて、特徴が互いに類似する推定モデルを、関連性を有する行動の各々に対応する第1モデルとして選択できる。また、情報処理装置100は、対象ユーザの行動の状態遷移が単純マルコフ過程に従うものと仮定し、対象ユーザの行動の状態遷移における現在の行動から、次に起こる行動の条件付き確率をそれぞれ算出し、算出した条件付き確率が予め規定される閾値以上の行動を、現在の行動と関連性を有する行動として特定してもよい。
【0027】
以下、上述した推定モデルの作成方法の一例を説明する。たとえば、情報処理装置100は、「〇〇を買った」「〇〇に興味がある」という条件(タイトル)を満たすユーザをシードユーザとして収集し、シードユーザが入力した検索クエリの共通性に基づいたスコアを付与したスコアリストを作成する。情報処理装置100は、このスコアリストを推定モデルとする。具体的には、「眼鏡をかけている」というシードユーザを収集し、検索クエリ:「眼鏡」に「70点」、検索クエリ:「眼鏡ふき」に「50点」、検索クエリ:「リンゴ」にスコア「-50点」といったようなスコアを付与し、検索クエリとスコアとの組であるスコアリストを作成する。
【0028】
上述したシードユーザの特定は、任意の方法を用いて行うことができる。たとえば、情報処理装置100は、各種の購買履歴や利用履歴、位置履歴などの各種の情報に基づいて、想定される行動を行ったユーザを推定し、シードユーザとして特定してもよい。具体的には、ある所定の店舗の名称を検索クエリとして入力し、その後、その所定の店舗を実際に訪問した訪問者を推定することによりシードユーザを特定してもよい。また、別の例として、イベントの名称を検索クエリとして入力し、その後、そのイベントに実際に参加した参加者を推定することによりシードユーザを特定してもよい。また、更に別の例として、ある商品の名称を検索クエリとして入力し、その後、その名称の商品を実際に購入した購入者を推定することによりシードユーザを特定してもよい。また、情報処理装置100は、実際に所定の店舗(たとえば、配信済みの広告と対応する店舗)を利用した利用者を推定することによりシードユーザを特定してもよい。また、情報処理装置100は、所定の広告やウェブページ、映画や音楽などのコンテンツを視聴した視聴者を推定することによりシードユーザを特定してもよい。
【0029】
また、情報処理装置100は、上述のスコアリストにおける検索クエリのスコアは、以下のような機械学習により生成される行動モデルから求めることができる。たとえば、情報処理装置100は、シードユーザが入力した検索クエリを正例とし、ランダムに選択したシードユーザ以外の他のユーザが入力した検索クエリを負例としたときに、正例を入力した際により高い値を出力し、負例を入力した際により低い値を出力するように学習モデルの学習を行う。このとき、学習には任意の手法が採用可能である。たとえば、モデルとしてニューラルネットワークが採用される場合は、バックプロパゲーションなどにより実現可能である。
【0030】
また、情報処理装置100は、シードユーザが共通して入力している検索クエリについては、より高い値の数値が出力されるようにモデルを学習してもよい。たとえば、正例となる検索クエリを入力したシードユーザの数が多ければ多い程、より高い値を出力するようにモデルを学習してもよい。また、負例となる検索クエリを入力した他のユーザの数が多い程、より小さい値(負の値)を出力するようにモデルを学習してもよい。そして、情報処理装置100は、各検索クエリと、このような学習モデルに検索クエリを入力した際に出力したスコアとの組のリストをスコアリストとして生成する。すなわち、情報処理装置100は、所定の行動を行ったシードユーザが入力した各検索クエリと、検索クエリの各々に対応する上述のスコア(検索クエリと所定の行動との間の関係性を示すスコア)との組をスコアリストとして生成する。
【0031】
なお、情報処理装置100は、上述したスコアリストを用いることにより、所定の行動が行われる確度を求めることができる。たとえば、情報処理装置100は、行動の推定対象となるユーザが入力した複数の検索クエリひとつひとつについて、対応付けられたスコアをスコアリストから取得し、取得したスコアの合計値を算出する。そして、情報処理装置100は、算出したスコアの合計値が予め規定される閾値を超える場合、スコアリストに対応する所定の行動が行われる確度が高いと判断する。
【0032】
また、情報処理装置100は、所定の行動を行ったシードユーザのユーザ情報に基づいて推定した情報を、所定の行動の特徴量としてもよい。たとえば、情報処理装置100は、所定の行動を行ったシードユーザを含む各ユーザが入力した検索クエリと、スコアリストとに基づいて、所定の行動と各ユーザとの関係性を数値化し、数値化した関係性を示す値に基づいて、各ユーザを順位付けしたユーザリストを生成する。
【0033】
たとえば、情報処理装置100は、シードユーザを含む各ユーザを選定し、選定した各ユーザが入力した検索クエリと対応付けられたスコアをスコアリストから特定する。なお、情報処理装置100は、各ユーザを無作為に選定してもよいし、所定の条件に基づいて選定してもよい。そして、情報処理装置100は、特定したスコアの合計から、シードユーザを収集する際の条件として設定した所定の行動と、各ユーザとの間の関係性を示すユーザリストを導出する。たとえば、ユーザリストにおいて、所定の行動と関係性が高いユーザはスコアが高く、所定の行動と関係性が低いユーザはスコアが低くなる。
【0034】
以下、上述したユーザリストの作成方法の一例を説明する。たとえば、情報処理装置100は、シードユーザを含む各ユーザが入力した複数の検索クエリひとつひとつについて、対応付けられたスコアをスコアリストから取得し、取得したスコアの合計値を算出する。このようにすれば、各ユーザが入力した複数の検索クエリと所定の行動との関係性を数値として表すことができるため、単一の検索クエリの数値化と比較してより信頼性の高い数値化を実現できる。
【0035】
次に、情報処理装置100は、各ユーザについてスコアの合計値を計算した後、スコアの高い順に各ユーザを順位付けするとともに、順位順に各ユーザが入力した検索クエリを対応付けたユーザリストを生成する。このユーザリストは、どのような検索クエリを入力したユーザが、所定の行動との関連性が強いかを示すリストとして機能する。このユーザリストは、検索クエリと所定の行動との関連性の分析や、ユーザの分析などに用いられる。なお、このユーザリストは、シードユーザを選定する際に設定される行動(たとえば、「〇〇を買った」、「〇〇に行った」、「〇〇している」など)といった所定の行動ごとに作成される。
【0036】
そして、情報処理装置100は、上述のユーザリストから上位に位置付けられている各ユーザを抽出し、抽出したユーザに紐づくユーザ情報を取得する。そして、取得したユーザ情報を用いて、各ユーザの特徴量を求め、求めた各特徴量に基づいて、所定の行動に対応する特徴量を導出できる。
【0037】
たとえば、情報処理装置100は、ユーザリストから抽出した各ユーザのセンサ情報を、所定の期間ごとに分割し、その分割した各期間における特徴的な値を時系列に並べたデータを特徴量として採用できる。特徴量の値は、所定の期間に検出された値の最大値であっても良く、所定の期間に検出された値の最小値であっても良く、所定の期間に検出された値の平均値であっても良く、所定の期間に検出された値の時系列変化を示す関数の増加率や減少率であっても良く、この関数をフーリエ変換して取得した特徴的な値であっても良く、この関数を時間で微分した値であっても良く、その他のアルゴリズムで取得される値などであっても良い。そして、情報処理装置100は、ユーザリストから抽出した各ユーザの特徴量に共通する傾向を特定し、特定した傾向を、所定の行動に対応する特徴量として採用できる。
【0038】
また、情報処理装置100は、複数の推定モデルのうち、対象ユーザの状態遷移に対して負の関連性を有する行動が行われる確度を推定するための第2モデルを用いて、対象ユーザにより負の関連性を有する行動が行われる確度を推定する。たとえば、情報処理装置100は、対象ユーザの状態遷移と論理的に相反する行動が行われる確度を推定する推定モデルを、第2モデルとして選択する。
図1に示す例では、第2モデルとして、行動C推定モデルが選択されている。
【0039】
たとえば、情報処理装置100のオペレータは、対象ユーザの状態遷移と論理的に相反する行動をルールベースとして予め登録しておく。そして、情報処理装置100は、予め登録されたルールベースに従って、対象ユーザの状態遷移と論理的に相反する行動を特定し、選択した行動が行われる確度を推定する第2モデルを選択する。
【0040】
あるいは、情報処理装置100は、対象ユーザの行動の状態遷移における現在の行動から、次に起こる行動として不適切な行動を特定することにより、対象ユーザの状態遷移と論理的に相反する行動が行われる確度を推定する推定モデルを、第2モデルとして選択してもよい。たとえば、情報処理装置100は、対象ユーザの行動の状態遷移が単純マルコフ過程に従うものと仮定し、対象ユーザの行動の状態遷移における現在の行動から次に起こる行動の条件付き確率をそれぞれ算出し、算出した条件付き確率が予め規定される閾値未満の行動を、対象ユーザの状態遷移と論理的に相反する行動として特定する。そして、情報処理装置100は、特定した行動が行われる確度を推定する推定モデルを、第2モデルとして選択する。たとえば、情報処理装置100は、対象ユーザの行動の状態遷移における現在の行動が「婚約指輪の購入」である場合、次の起こる行動として「離婚届の提出」の条件付き確率は、予め規定される閾値未満となり得る。また、対象ユーザの行動の状態遷移における現在の行動が「結婚式場の予約」である場合、次の起こる行動として「離婚届の提出」の条件付き確率は、予め規定される閾値未満となり得る。このとき、情報処理装置100は、対象ユーザの行動が「婚約指輪の購入」→「結婚式場の予約」という状態遷移と辿っていると推定された場合、「離婚届の提出」が行われる確度を推定する推定モデルを第2モデルとして選択すればよい。
【0041】
また、情報処理装置100は、推定した確度、すなわち、対象ユーザにより負の関連性を有する行動が行われる確度に基づいて、第2モデルの信頼性を評価する。たとえば、情報処理装置100は、状態遷移の推定が行われた期間において負の関連性を有する行動が行われる確度を推定し、推定された確度の推移に基づいて、第2モデルの信頼性を評価する。
【0042】
以下、
図1を参照しつつ、情報処理装置100による情報処理の手順を整理して説明する。
図1に示すように、情報処理装置100は、推定モデルの中から選択した行動A推定モデルと、行動B推定モデルとを用いて、対象ユーザの行動Aから行動Bへの状態遷移を推定する(ステップS1)。
【0043】
次に、情報処理装置100は、推定モデルの中から選択した行動C推定モデルを用いて、対象ユーザの状態遷移と負の関連性を有する行動Cが行われる確度を推定する(ステップS2)。
【0044】
そして、情報処理装置100は、行動Cが行われる確度に基づいて、行動C推定モデルの信頼性を評価する(ステップS3)。以下、
図2を用いて、行動C推定モデルの評価方法の一例について説明する。
図2は、実施形態に係る推定モデルの評価方法の概要を示す図である。
【0045】
図2では、推定モデルに対応する所定の行動の具体例として、行動Aが「婚約指輪を購入」、行動Bが「結婚式場を予約」、行動Cが「離婚届を提出」である場合を示している。また、
図2では、実施形態に係る情報処理の対象となる対象ユーザとして、ユーザUaが選択されている場合を示している。
【0046】
まず、情報処理装置100は、行動A推定モデルと、ユーザUaのユーザ情報(過去ログ)とを用いて、ユーザUaが行動Aを行う確度を示すスコアを求める。たとえば、情報処理装置100は、ユーザUaが7月に入力した検索クエリの情報を取得し、取得した検索クエリの情報を行動A推定モデルに入力することにより、ユーザUaが7月に行動Aを行った確度を示すスコアを取得する。
【0047】
次に、情報処理装置100は、行動Aと関連性を有する行動Bを推定する行動B推定モデルを用いて、ユーザUaが行動Bを行う確度を示すスコアを求める。たとえば、情報処理装置100は、ユーザUaが7月に入力した検索クエリの情報を取得し、取得した検索クエリの情報を行動B推定モデルに入力することにより、ユーザUaが8月に行動Bを行った確度を示すスコアを取得する。
【0048】
図2に示すように、情報処理装置100は、行動A推定モデルから取得されたユーザUaのスコアが予め規定される閾値A以上であり、行動B推定モデルから取得されたユーザUaのスコアが予め規定される閾値B以上である場合、ユーザUaの行動が7月から8月にかけて行動Aから行動Bに状態遷移した可能性があると判断する。
【0049】
続いて、情報処理装置100は、行動Aから行動Bへの状態遷移と負の関連性を有する行動C推定モデルと、ユーザUaのユーザ情報とを用いて、ユーザUaが行動Cを行う確度を示すスコアを求める。たとえば、情報処理装置100は、ユーザUaが7月に入力した検索クエリの情報を取得し、取得した検索クエリの情報を行動C推定モデルに入力することにより、ユーザUaが7月に行動Cを行った確度を示すスコアを取得する。同様に、情報処理装置100は、ユーザUaが8月に入力した検索クエリの情報を取得し、取得した検索クエリの情報を行動C推定モデルに入力することにより、ユーザUaが8月に行動Cを行った確度を示すスコアを取得する。
【0050】
図2に示すように、情報処理装置100は、行動C推定モデルから取得されたユーザUaの7月および8月のスコアが「50」から「70」に推移して上昇傾向にあるので、ユーザUaが7月から8月にかけて行動Cを行う可能性が高くなっていたと判断する。この場合、情報処理装置100は、ユーザUaの行動の状態遷移、すなわち、行動A:「婚約指輪の購入」→行動B:「結婚式場の予約」と論理的に相反する行動C:「離婚届の提出」の可能性が高くなっているという推定結果を導出した行動C推定モデルの信頼性は低いと評価する。
【0051】
なお、情報処理装置100は、行動C推定モデルの信頼性が低いと判断した場合、行動A推定モデルと行動B推定モデルとを用いて、行動C推定モデルを修正してもよい。たとえば、情報処理装置100は、行動C推定モデルにおいて検索クエリに対応付けられているスコアのうち、行動A推定モデル又は行動B推定モデルに含まれる検索クエリのスコアが低くなるように調整することにより、行動C推定モデルを修正できる。あるいは、情報処理装置100は、行動C推定モデルに含まれる検索クエリから、行動A推定モデル又は行動B推定モデルに含まれる検索クエリを除外することにより、行動C推定モデルを修正してもよい。
【0052】
なお、情報処理装置100は、第2モデルの信頼性の評価に関する情報を、情報処理装置100のオペレータに提供できる。また、情報処理装置100は、第2モデルの信頼性が低いと評価した場合、第2モデルの信頼性の評価に関する情報とともに、第2モデルの修正方法に関する情報を提供してもよい。
【0053】
[3.情報処理装置の構成]
図3を用いて、実施形態に係る情報処理装置100の構成について説明する。
図3は、実施形態に係る情報処理装置の構成例を示す図である。
【0054】
図3に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを備える。なお、
図3は、情報処理装置100の構成例を示すものであり、
図3に示す形態には限られず、
図3に示す以外の他の機能部を備える形態であってもよい。
【0055】
(通信部110)
通信部110は、例えば、ネットワークNと有線または無線で接続され、ネットワークNを介して、端末装置10などの他の装置との間で情報の送受信を行う。通信部110は、例えば、NIC(Network Interface Card)やアンテナなどによって実現される。ネットワークNは、LAN(Local Area Network)や、WAN(Wide Area Network)や、電話網(携帯電話網や固定電話網など)や、地域IP(Internet Protocol)網や、インターネットなどの通信ネットワークである。ネットワークNには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
【0056】
通信部110は、端末装置10から、撮影画像などの情報を受信する。また、通信部110は、提案情報を端末装置10に送信する。
【0057】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリなどの半導体メモリ素子、または、ハードディスクや光ディスクなどの記憶装置によって実現される。記憶部120は、制御部130の各部により実行される情報処理を実現するためのプログラム及びデータを記憶する。
【0058】
図3に示すように、記憶部120は、ユーザ情報記憶部121と、推定モデル記憶部122とを有する。
【0059】
(ユーザ情報記憶部121)
ユーザ情報記憶部121には、各ユーザから提供されるユーザ情報が任意の形式で記憶されている。
図4は、実施形態に係るユーザ情報の概要を示す図である。
【0060】
図4に示すように、ユーザ情報は、「ユーザID」の項目や、「検索履歴」の項目や、「購買履歴」の項目などを有する。推定モデル情報が有するこれらの項目は相互に対応付けられている。
【0061】
「ユーザID」の項目には、各種サービスの提供に際して、各種サービスを利用するユーザを識別するために、情報処理装置100によりユーザごとに個別に付与される識別情報が記憶される。
【0062】
「検索履歴」の項目には、各ユーザからユーザ情報として提供される検索履歴に関する情報が記憶される。また、「購買履歴」の項目には、各ユーザからユーザ情報として提供される購買履歴に関する情報が記憶される。
【0063】
(推定モデル記憶部122)
推定モデル記憶部122には、推定モデルに関する推定モデル情報が任意の形式で記憶されている。
図5は、実施形態に係る推定モデル情報の概要を示す図である。
【0064】
図5に示すように、推定モデル情報は、「モデルID」の項目と、「行動」の項目と、「データ」の項目とを有する。推定モデル情報が有するこれらの項目は相互に対応付けられている。
【0065】
「モデルID」の項目には、推定モデルを特定するために推定モデルごとに個別に付与されている識別情報が記憶されている。
【0066】
「行動」には、対応付けられている推定モデルにより推定される行動の内容を示す情報が記憶されている。
【0067】
「データ」の項目には、対応付けられている推定モデルのデータが記憶されている。なお、
図4では、「データ」の項目に、「データA」や「データB」などのような概念的な情報が格納される例を示したが、実際には、推定モデルの構成(ネットワーク構成)の情報やパラメータに関する情報など、対応する推定モデルを構成する種々の情報が含まれる。たとえば、推定モデルを構成する個々の情報には、ネットワークの各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれ得る。
【0068】
(制御部130)
図3に示す制御部130は、情報処理装置100を制御するコントローラ(controller)である。制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などによって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(例えば、情報処理プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現されてもよい。
【0069】
図3に示すように、制御部130は、第1推定部131と、第2推定部132と、評価部133とを有する。制御部130は、これらの各部により、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0070】
(第1推定部131)
第1推定部131は、情報処理装置100により実行される情報処理(たとえば、
図1および
図2参照)の対象ユーザにより所定の行動が行われる確度を推定するために所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する行動が行われる確度を推定するための複数の第1モデルを用いて、行動の状態遷移を推定する。
【0071】
たとえば、第1推定部131は、推定モデルに対応付けられている所定の行動の特徴量に基づいて、複数の推定モデルの中から第1モデルを複数選択する。たとえば、第1推定部131は、Word2Vecなどの自然言語処理手法を用いて、所定の行動を示す文字列の特徴量(ベクトル表現)を求め、求めた特徴量の類似性に基づいて、複数の推定モデルの中から、関連性を有する行動の各々に対応する第1モデルを選択できる。
【0072】
(第2推定部132)
第2推定部132は、複数の推定モデルのうち、対象ユーザの行動の状態遷移に対して負の関連性を有する行動が行われる確度を推定するための第2モデルを用いて、対象ユーザにより負の関連性を有する行動が行われる確度を推定する。
【0073】
たとえば、第2推定部132は、対象ユーザの行動の状態遷移と論理的に相反する行動が行われる確度を推定する推定モデルを、第2モデルとして選択する。そして、第2推定部132は、選択した第2モデルを用いて、対象ユーザにより負の関連性を有する行動が行われる確度を推定する。
【0074】
たとえば、第2推定部132は、対象ユーザの状態遷移と論理的に相反する行動を予め登録されたルールベースに従って、対象ユーザの状態遷移と論理的に相反する行動を特定し、選択した行動が行われる確度を推定する第2モデルを選択できる。
【0075】
あるいは、第2推定部132は、対象ユーザの行動の状態遷移が単純マルコフ過程に従うものと仮定し、対象ユーザの行動の状態遷移における現在の行動から、次に起こる行動の条件付き確率をそれぞれ算出し、算出した条件付き確率が予め規定される閾値未満の行動を、対象ユーザの状態遷移と論理的に相反する行動を特定する。そして、第2推定部132は、特定した行動が行われる確度を推定する推定モデルを、第2モデルとして選択する。
【0076】
また、第2推定部132は、対象ユーザの状態遷移の推定が行われた期間において負の関連性を有する行動が行われる確度を推定する。たとえば、第2推定部132は、対象ユーザの状態遷移の推定が行われた期間と同一の期間について、対象ユーザの状態遷移と負の関連性を有する行動が行われる確度を推定する。そして、第2推定部132は、推定した確度を評価部133に受け渡す。
【0077】
(評価部133)
評価部133は、第2推定部132により推定された確度に基づいて、第2モデルの信頼性を評価する。
【0078】
たとえば、評価部133は、第2推定部132により推定された確度の推移に基づいて、第2モデルの信頼性を評価する。具体的には、評価部133は、対象ユーザの状態遷移の推定が行われた期間と同一の期間において、第2推定部132により推定された確度が上昇傾向にあれば、第2モデルの信頼性は低いと評価する。
【0079】
[4.処理手順]
以下、
図6を用いて、実施形態に係る情報処理装置100による処理手順について説明する。
図6は、実施形態に係る情報処理装置による処理手順の一例を示すフローチャートである。
図6に示す処理手順は、情報処理装置100の制御部130により実行される。
図6に示す処理手順は、情報処理装置100の稼働中、繰り返し実行される。
【0080】
図6に示すように、第1推定部131は、推定モデルの中から選択した行動A推定モデルと、行動B推定モデルとを用いて、対象ユーザの行動Aから行動Bへの状態遷移を推定する(ステップS101)。
【0081】
続いて、第2推定部132は、推定モデルの中から選択した行動C推定モデルを用いて、対象ユーザの状態遷移と負の関連性を有する行動Cが行われる確度を推定する(ステップS102)。
【0082】
続いて、評価部133は、行動Cが行われる確度に基づいて、行動C推定モデルの信頼性を評価し(ステップS103)、
図6に示す処理手順を終了する。
【0083】
[5.変形例]
上述した情報処理装置100は、上述した実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0084】
(5-1.状態遷移の時系列について)
上述した実施形態において、情報処理装置100は、対象ユーザの行動の状態遷移を推定する際、状態遷移の時系列を考慮してもよい。たとえば、情報処理装置100は、複数の推定モデルから関連性を有する複数の第1モデルを選択する際、行動X→行動Yの順に行動が行われることが自然である場合、行動X→行動Yの順に第1モデルのスコアを評価し、状態遷移を推定してもよい。
【0085】
具体的には、情報処理装置100は、7月に対応する行動Xのスコアが予め規定される閾値以上、かつ行動Yに対応するスコアが予め規定される閾値未満であり、8月に対応する行動Xのスコアが予め規定される閾値未満であり、かつ8月に対応する行動Yのスコアが予め規定される閾値以上であることを条件として、対象ユーザの行動が行動X→行動Yに状態遷移していると推定する。
【0086】
(5-2.状態遷移の推定結果の利用について)
上述の実施形態において、情報処理装置100は、対象ユーザの行動の状態遷移の推定結果を利用して、たとえば、対象ユーザに対する広告の配信などを実行してもよい。この時、情報処理装置100は、対象ユーザの行動の状態遷移から推定される事象に対して不適切な広告を配信しないように制御してもよい。たとえば、情報処理装置100は、対象ユーザの行動の状態遷移から、対象ユーザが結婚している可能性が高いと推定した場合、対象ユーザに対して、「結婚しませんか?」などの不適切な広告を配信しないように制御できる。また、たとえば、情報処理装置100は、対象ユーザが高価な商品を購入した可能性が高いと推定した場合、同様の商品の購入を提案する広告を配信しないように制御する。
【0087】
[6.ハードウェア構成]
実施形態に係る情報処理装置100は、たとえば、
図7に示すような構成のコンピュータ1000によって実現される。
図7は、実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【0088】
コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0089】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0090】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0091】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0092】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0093】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0094】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラム(たとえば、情報処理プログラム)を実行することにより、制御部130と同様の機能を実現する。すなわち、演算装置1030は、一次記憶装置1040上にロードされたプログラム(たとえば、情報処理プログラム)との協働により、実施形態に係る情報処理装置100による処理を実現する。
【0095】
[7.その他]
上述した実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0096】
上述の実施形態において、情報処理装置100による情報処理方法(たとえば、
図6参照)を実現するために、情報処理装置100が有する制御部130の各部(第1推定部131、第2推定部132、及び評価部133)に対応する処理機能は、情報処理装置100に予めインストールされている情報処理プログラムに対するアドオンとして実現してもよいし、軽量なプログラミング言語などを用いて、専用の提供プログラムとして柔軟に記述することにより実現されてもよい。
【0097】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。たとえば、制御部130の第1推定部131と第2推定部132とは機能的に統合されていてもよい。
【0098】
また、上述の実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0099】
[8.効果]
上述の実施形態に係る情報処理装置100は、第1推定部131と、第2推定部132と、評価部133とを備える。第1推定部131は、ユーザにより所定の行動が行われる確度を推定するために所定の行動ごとに予め用意された複数の推定モデルのうち、関連性を有する所定の行動が行われる確度を推定するための複数の第1モデルを用いて、所定の行動の状態遷移を推定する。第2推定部132は、複数の推定モデルのうち、所定の行動の状態遷移に対して負の関連性を有する所定の行動が行われる確度を推定するための第2モデルを用いて、ユーザにより負の関連性を有する所定の行動が行われる確度を推定する。評価部133は、第2推定部132により推定された確度に基づいて、第2モデルの信頼性を評価する。
【0100】
このようなことから、実施形態に係る情報処理装置100は、複数のモデルの推定結果を突き合わせることにより、生成したモデルの信頼性を簡易に確かめることができる。
【0101】
また、実施形態に係る情報処理装置100において、第1推定部131は、推定モデルに対応付けられている所定の行動の特徴量に基づいて、複数の推定モデルの中から第1モデルを複数選択する。これにより、実施形態に係る情報処理装置100は、対応付けられている行動に関連性がある複数のモデルを適切に選択できる。
【0102】
また、実施形態に係る情報処理装置100において、第2推定部132は、所定の状態遷移と論理的に相反する所定の行動が行われる確度を推定する推定モデルを、第2モデルとして選択する。これにより、実施形態に係る情報処理装置100は、第2モデルによる推定結果の矛盾から、第2モデルの精度を推し量ることができる。
【0103】
また、実施形態に係る情報処理装置100において、第2推定部132は、所定の状態遷移の推定が行われた期間において、負の関連性を有する所定の行動が行われる確度を推定し、評価部133は、第2推定部132により推定された確度の推移に基づいて、第2モデルの信頼性を評価する。これにより、実施形態に係る情報処理装置100は、状態遷移の時系列に沿って第2モデルの推定結果を評価できる。
【0104】
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0105】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部は、制御手段や制御回路に読み替えることができる。
【符号の説明】
【0106】
10 端末装置
100 情報処理装置
110 通信部
120 記憶部
121 ユーザ情報記憶部
122 推定モデル記憶部
130 制御部
131 第1推定部
132 第2推定部
133 評価部