以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(第1の実施形態)
〔1−1.情報処理の一例〕
まず、図1を用いて、第1の実施形態に係る情報処理の一例について説明する。図1は、第1の実施形態に係る情報処理の一例を示す図である。図1の例では、情報処理システム1は、ユーザ端末10とログサーバ20と情報処理装置100とを有する。
ユーザ端末10とログサーバ20と情報処理装置100とは、ネットワークN(例えば、図2参照)等の所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示す情報処理システム1には、任意の数のユーザ端末10と任意の数のログサーバ20と任意の数の情報処理装置100とが含まれてもよい。
ユーザ端末10は、ユーザU1によって利用される情報処理装置である。例えば、ユーザ端末10は、ユーザU1による操作に従って、検索クエリを入力するための検索ボックスを含む検索ページP10を情報処理装置100から取得する。ユーザ端末10は、ユーザU1によって検索ボックスに文字が入力され始めると、検索ページP10を介して検索ボックスに入力された文字を情報処理装置100に送信する。また、ユーザ端末10は、ユーザU1によって検索ボックスに文字が入力される操作に続いて、ユーザU1によって検索クエリの送信ボタンが押下される操作が行われると、検索ページP10を介して検索ボックスに入力された文字を情報処理装置100に送信する。以下では、ユーザU1によって検索クエリの送信ボタンが押下される前に、ユーザU1によって検索ボックスに入力された文字を「入力中の検索クエリ」と称する。また、ユーザU1によって検索ボックスに文字が入力される操作に続いて、ユーザU1によって検索クエリの送信ボタンが押下された場合に検索ボックスに入力された文字を単に「検索クエリ」と称する。
なお、上述したユーザ端末10は、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。また、以下では、ユーザ端末10をユーザU1と表記する場合がある。すなわち、以下では、ユーザU1をユーザ端末10と読み替えることもできる。
ログサーバ20は、ユーザの行動履歴に関する情報として、インターネット上におけるユーザの行動を示す行動情報を取得する情報処理装置である。より具体的な例を挙げると、ログサーバ20は、ユーザが入力した検索クエリの履歴である検索履歴、ユーザが閲覧若しくは視聴したコンテンツの履歴である閲覧履歴、ユーザが電子商店街で購入した商品の履歴である購入履歴、ユーザの位置の履歴である位置履歴、ユーザがSNS(Social Networking Service)やマイクロブログ等に投稿した情報の履歴である投稿履歴を取得する。
例えば、ログサーバ20は、情報処理装置100やユーザの端末装置から、検索履歴を取得してもよい。例えば、ログサーバ20は、ユーザの端末装置にインストールされたブラウザアプリ等からユーザが閲覧したコンテンツの履歴を取得してもよい。例えば、ログサーバ20は、電子商店街に関するサービスを提供するサーバ装置から、利用者が購入した商品の履歴を購入履歴として取得してもよい。例えば、ログサーバ20は、ユーザの端末装置がGPS(Global Positioning System)等を用いて取得した位置情報を位置履歴として取得してもよく、ユーザの端末装置と通信を行った基地局の履歴若しくはユーザの端末装置が接続したアクセスポイントの履歴、ビーコンの履歴等を位置履歴として取得してもよい。例えば、ログサーバ20は、SNSサービスを提供するSNSサーバ等から投稿履歴を取得してもよい。
情報処理装置100は、検索サービスを提供するサーバ装置である。情報処理装置100は、ユーザU1から検索クエリを受け付けると、受け付けた検索クエリに対応する分野に関するユーザの習熟度を推定する。続いて、情報処理装置100は、推定したユーザの習熟度に基づいて、受け付けた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツを選択する。続いて、情報処理装置100は、選択されたコンテンツを含む検索結果ページをユーザU1のユーザ端末10に配信する。ここで、情報処理装置100によって配信されるコンテンツは、Webブラウザによって表示されるWebページに限られない。例えば、情報処理装置100によって配信されるコンテンツは、ユーザU1のユーザ端末10にインストールされた専用のアプリケーションによって表示されるコンテンツであってもよい。また、情報処理装置100によって配信されるコンテンツは、音楽コンテンツや画像(静止画のみならず動画を含む。)コンテンツ、テキストコンテンツ(ニュース記事やSNS(Social Networking Service)に投稿された記事を含む。)、画像とテキストを組み合わせたコンテンツ、ゲームコンテンツなど、どのようなコンテンツであってもよい。
以下、図1を用いて、第1の実施形態に係る情報処理の一例を説明する。図1に示す例では、情報処理装置100は、ユーザU1の行動履歴に関する情報をログサーバ20から取得する(ステップS11)。例えば、情報処理装置100は、ユーザU1が入力した検索クエリの履歴である検索履歴に関する情報を取得する。例えば、情報処理装置100は、ユーザU1が閲覧若しくは視聴したコンテンツの履歴である閲覧履歴に関する情報を取得する。
続いて、情報処理装置100は、ユーザ端末10の要求に応じて、検索ボックスを含む検索ページP10をユーザU1のユーザ端末10に配信する(ステップS12)。ユーザ端末10は、検索ボックスを含む検索ページP10を情報処理装置100から受信すると、ユーザ端末10の画面に検索ボックスを含む検索ページP10を表示する。
ユーザU1は、ユーザ端末10の画面に表示された検索ページP10の検索ボックスに「分割法 筋トレ」という語句を入力する操作に続いて、検索クエリの送信ボタンを押下する。ユーザ端末10は、ユーザU1によって検索クエリの送信ボタンが押下されると、検索クエリ「分割法 筋トレ」を情報処理装置100に送信する。情報処理装置100は、ユーザ端末10から検索クエリ「分割法 筋トレ」を受け付ける(ステップS13)。
続いて、情報処理装置100は、検索クエリ「分割法 筋トレ」を受け付けると、受け付けた検索クエリ「分割法 筋トレ」に基づいて、検索クエリに対応する分野を「筋トレ」(「筋力トレーニング」の略)分野であると特定する(ステップS14)。
続いて、情報処理装置100は、ユーザU1の行動履歴に関する情報に基づいて、検索クエリに対応する分野として特定された「筋トレ」分野に関するユーザU1の習熟度を推定する(ステップS15)。具体的には、情報処理装置100は、ユーザU1の行動履歴に関する情報として、ユーザU1の検索履歴やユーザU1の閲覧履歴に基づいて、ユーザU1の習熟度を推定する。例えば、情報処理装置100は、「筋トレ」分野に関するユーザの習熟度を測る指標として1〜10の数値によってユーザの習熟度を他のユーザとの比較によって相対的に評価する。
例えば、情報処理装置100は、ユーザU1の検索履歴に基づいて、ユーザU1が検索した「筋トレ」分野に関する検索クエリの検索回数は、「筋トレ」分野の上級者(習熟度「10」とする。)の検索回数に対して30%なので、「筋トレ」分野に関するユーザU1の習熟度を「3」と推定する。
例えば、情報処理装置100は、ユーザU1の検索履歴に基づいて、ユーザU1が検索した「筋トレ」分野に関する検索クエリのレベルの平均は「3」なので、「筋トレ」分野に関するユーザU1の習熟度を「3」と推定する。
例えば、情報処理装置100は、ユーザU1の閲覧履歴に基づいて、ユーザU1が閲覧した「筋トレ」分野に関するコンテンツの難易度の平均は「3」なので、「筋トレ」分野に関するユーザU1の習熟度を「3」と推定する。
なお、情報処理装置100は、上記の推定方法を組み合わせて、ユーザU1の習熟度を「3」と推定してもよい。また、情報処理装置100は、ユーザU1の行動履歴に関する情報として、ユーザU1の検索履歴とユーザU1の閲覧履歴の他にも、ユーザU1の購入履歴やユーザU1の位置履歴に基づいて、ユーザU1の習熟度を推定してもよい。
続いて、情報処理装置100は、検索結果として出力されるコンテンツとして、ユーザU1の習熟度「3」以上の習熟度に対応するコンテンツを選択する(ステップS16)。図1では、あらかじめ、情報処理装置100によって、検索結果として出力されるコンテンツにユーザの習熟度に対応する難易度が付与されている。例えば、情報処理装置100は、ユーザの習熟度に対応する難易度を示す1〜10までの数値を検索結果として出力されるコンテンツに付与する。例えば、「筋トレ」分野におけるコンテンツC11には、ユーザの習熟度に対応する難易度として「3」が付与されている。例えば、「筋トレ」分野におけるコンテンツC12には、ユーザの習熟度に対応する難易度として「4」が付与されている。例えば、「筋トレ」分野におけるコンテンツC13には、ユーザの習熟度に対応する難易度として「5」が付与されている。
情報処理装置100は、難易度が付与されたコンテンツの中から、検索結果として出力されるコンテンツとして、ユーザU1の習熟度「3」に対応する難易度「3」以上に対応する難易度「3」が付与されたコンテンツC11、難易度「4」が付与されたコンテンツC12、難易度「5」が付与されたコンテンツC13を選択する。なお、図1では図示していないが、情報処理装置100は、コンテンツC11〜C13の他にも、検索結果として出力されるコンテンツとして、「筋トレ」分野に関するユーザU1の習熟度「3」以上の習熟度に対応する難易度が付与されたコンテンツを選択する。
続いて、情報処理装置100は、選択されたコンテンツが検索結果として出力される順番である出力順を決定する(ステップS17)。情報処理装置100は、低い習熟度に対応するコンテンツから順番に出力されるように出力順を決定する。具体的には、情報処理装置100は、低い難易度が付与されたコンテンツから順番に出力されるように出力順を決定する。例えば、情報処理装置100は、難易度「3」が付与されたコンテンツC11、難易度「4」が付与されたコンテンツC12、難易度「5」が付与されたコンテンツC13の3つのコンテンツの出力順を決定する場合、3つのコンテンツの中で最も低い難易度「3」が付与されたコンテンツC11の出力順を1番目に決定する。続いて、情報処理装置100は、3つのコンテンツの中で2番目に低い難易度「4」が付与されたコンテンツC12の出力順を2番目に決定する。続いて、情報処理装置100は、3つのコンテンツの中で最も高い難易度「5」が付与されたコンテンツC12の出力順を3番目に決定する。
続いて、情報処理装置100は、選択したコンテンツに対応するタイトルの一覧であって、決定した出力順でタイトルが並べられたタイトルの一覧を含む検索結果ページP11をユーザU1のユーザ端末10に配信する(ステップS18)。例えば、情報処理装置100は、選択した3つのコンテンツC11〜C13に対応するタイトルT11〜T13の一覧については、上から1番目にT11、上から2番目にT12、上から3番目にT13が並べられた検索結果ページP11を配信する。ユーザ端末10は、検索結果ページP11を受信すると、ユーザ端末10の画面に検索結果ページP11を表示する。続いて、ユーザ端末10は、画面に表示した検索結果ページP11に含まれるタイトルの一覧の中からユーザU1の操作によって所定のタイトルが選択されると、選択されたタイトルに対応するコンテンツを画面に表示する。例えば、ユーザ端末10は、タイトルの一覧の中からユーザU1の操作によってタイトルT11が選択されると、タイトルT11に対応するコンテンツC11を画面に表示する。
なお、情報処理装置100は、復習するユーザのために、現在の習熟度以上の検索結果を表示するだけでなく、検索結果ページP11のトップに「これ以下の習熟度のコンテンツを表示する」という見出しに対応するリンクを含む検索結果ページP11を配信してもよい。この場合、ユーザ端末10は、ユーザU1の操作によって「これ以下の習熟度のコンテンツを表示する」という見出しが選択されると、ユーザの習熟度以下の検索結果を習熟度が高い順に表示する。
上述したように、情報処理装置100は、ユーザU1から検索クエリを受け付ける。続いて、情報処理装置100は、ユーザU1の行動履歴に関する情報に基づいて、受け付けた検索クエリに対応する分野に関するユーザU1の習熟度を推定する。続いて、情報処理装置100は、推定したユーザU1の習熟度に基づいて、受け付けた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツを選択する。これにより、情報処理装置100は、ユーザU1の習熟度に合ったコンテンツを検索結果としてユーザU1に提示することができる。また、情報処理装置100は、ユーザU1の習熟度以上のコンテンツを検索結果としてユーザU1に提示することもできる。すなわち、情報処理装置100は、ユーザU1が検索を通じて得ようとした知識を、検索時点におけるユーザU1の習熟度から段階を踏んでユーザU1が無理なく習得できるように選択して、検索結果としてユーザU1に提供することができる。したがって、情報処理装置100は、ユーザU1の学習を支援することができる。
なお、図1に示す例では、情報処理装置100が、ユーザU1から検索クエリを受け付ける前にユーザU1の行動履歴に関する情報をログサーバ20から取得する例を示したが、情報処理装置100がユーザU1の行動履歴に関する情報を取得するタイミングは、検索クエリを受け付ける前でなくてもよく、ユーザU1の習熟度を推定する前であればいつでもよい。例えば、情報処理装置100は、ユーザU1から検索クエリを受け付けたことを契機として、ユーザU1の行動履歴に関する情報を取得してもよい。あるいは、情報処理装置100は、ユーザU1の習熟度を推定する直前にユーザU1の行動履歴に関する情報を取得してもよい。
また、図1に示す例では、情報処理装置100が、ユーザU1の習熟度を示す指標として1〜10の連続値を用いる例を示したが、数値の範囲は0〜100でもよいし、どのような範囲の数値であってもよい。また、情報処理装置100は、ユーザU1の習熟度を示す指標として「初級、中級、上級」や「Aランク、Bランク、…、Eランク」のような離散値を用いてもよい。
〔1−2.情報処理装置の構成〕
次に、図2を用いて、第1の実施形態に係る情報処理装置100の構成について説明する。図2は、第1の実施形態に係る情報処理装置100の構成例を示す図である。図2に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、ユーザ端末10やログサーバ20との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、図2に示すように、ユーザ情報記憶部121と、コンテンツ情報記憶部122とを有する。
(ユーザ情報記憶部121)
ユーザ情報記憶部121は、ユーザの行動履歴に関する各種の情報を記憶する。図3に、第1の実施形態に係るユーザ情報記憶部の一例を示す。図3に示す例では、ユーザ情報記憶部121は、「ユーザID」、「検索履歴」、「閲覧履歴」、「購入履歴」、「位置履歴」といった項目を有する。
ここで、「ユーザID」は、ユーザを識別するための識別情報を示す。また、「検索履歴」は、ユーザが入力した検索クエリの履歴を示す。また、「閲覧履歴」とは、ユーザが閲覧若しくは視聴したコンテンツの履歴を示す。また、「購入履歴」とは、ユーザが電子商店街で購入した商品の履歴を示す。また、「位置履歴」は、ユーザの位置情報の履歴を示す。
図3の1レコード目に示す例では、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。図3の1レコード目に示す例では、ユーザID「U1」、ユーザU1の検索履歴「検索履歴#U1」、ユーザU1の閲覧履歴「閲覧履歴#U1」、ユーザU1の購入履歴「購入履歴#U1」、ユーザU1の位置履歴「位置履歴#U1」が対応付けて記憶されている。
(コンテンツ情報記憶部122)
コンテンツ情報記憶部122は、コンテンツの難易度に関する各種の情報を記憶する。図4に、第1の実施形態に係るコンテンツ情報記憶部の一例を示す。図4に示す例では、コンテンツ情報記憶部122は、「コンテンツID」、「コンテンツ」、「対応分野」、「難易度」といった項目を有する。
ここで、「コンテンツID」は、コンテンツを識別するための識別情報を示す。また、「コンテンツ」は、検索結果として出力されるコンテンツを示す。また、「対応分野」は、コンテンツの内容に対応する分野を示す。また、「難易度」は、コンテンツの内容に対応する分野におけるコンテンツの難易度を示す。
図4の2レコード目に示す例では、コンテンツID「C11」により識別されるコンテンツは、図1の例に示したコンテンツC11に対応する。コンテンツ「#C11」は、検索結果として出力されるコンテンツC11そのものを示す。対応分野「筋トレ」は、コンテンツC11の内容に対応する分野が筋トレに関する分野であることを示す。なお、コンテンツの内容に対応する分野は、複数であってもよい。例えば、コンテンツの内容に対応する分野が「筋トレ」と「カタボリック」のように複数あってもよい。難易度「3」は、筋トレに関する分野におけるコンテンツC11の難易度が3であることを示す。
(制御部130)
図2の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図2に示すように、制御部130は、取得部131と、提供部132と、受付部133と、推定部134と、学習部135と、選択部136とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部131)
取得部131は、ユーザの行動履歴に関する情報を取得する。具体的には、取得部131は、ユーザの行動履歴に関する情報をログサーバ20から取得する。例えば、取得部131は、ユーザが入力した検索クエリの履歴である検索履歴を取得する。例えば、取得部131は、ユーザが閲覧若しくは視聴したコンテンツの履歴である閲覧履歴を取得する。例えば、取得部131は、ユーザが電子商店街で購入した商品の履歴である購入履歴を取得してもよい。例えば、取得部131は、ユーザの位置情報の履歴である位置履歴を取得してもよい。例えば、取得部131は、ユーザがSNS(Social Networking Service)やマイクロブログ等に投稿した情報の履歴である投稿履歴を取得してもよい。
取得部131は、ユーザの行動履歴に関する情報をログサーバ20から取得する代わりに、ユーザの行動履歴に関する情報を所定のサービスを提供するサーバ装置から直接取得してもよい。例えば、取得部131は、情報処理装置100やユーザの端末装置から、検索履歴を取得してもよい。例えば、取得部131は、ユーザの端末装置にインストールされたブラウザアプリ等からユーザが閲覧したコンテンツの履歴を取得してもよい。例えば、取得部131は、電子商店街に関するサービスを提供するサーバ装置から、利用者が購入した商品の履歴を購入履歴として取得してもよい。例えば、取得部131は、ユーザの端末装置がGPS(Global Positioning System)等を用いて取得した位置情報を位置履歴として取得してもよく、ユーザの端末装置と通信を行った基地局の履歴若しくはユーザの端末装置が接続したアクセスポイントの履歴、ビーコンの履歴等を位置履歴として取得してもよい。例えば、取得部131は、SNSサービスを提供するSNSサーバ等から投稿履歴を取得してもよい。
図1に示す例では、取得部131が、ユーザU1から検索クエリを受け付ける前にユーザU1の行動履歴に関する情報を取得する例を示した。図1の最後でも述べたとおり、取得部131がユーザの行動履歴に関する情報を取得するタイミングは、ユーザから検索クエリを受け付ける前でなくてもよく、ユーザの習熟度を推定する前であればいつでもよい。例えば、取得部131は、ユーザから検索クエリを受け付けたことを契機として、ユーザの行動履歴に関する情報を取得してもよい。あるいは、取得部131は、ユーザの習熟度を推定する直前にユーザの行動履歴に関する情報を取得してもよい。
(提供部132)
提供部132は、検索サービスを提供する。具体的には、提供部132は、ユーザ端末10の要求に応じて、検索ボックスを含む検索ページP10をユーザのユーザ端末10に配信する。また、提供部132は、受付部133によって受け付けられた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツに対応するタイトルの一覧を含む検索結果ページP11をユーザのユーザ端末10に配信する。
(受付部133)
受付部133は、ユーザから検索クエリを受け付ける。具体的には、受付部133は、提供部132によってユーザ端末10に配信された検索ページP10を介して、ユーザのユーザ端末10から検索クエリを受け付ける。例えば、受付部133は、提供部132によってユーザ端末10に配信された検索ページP10に含まれる検索ボックスにユーザによって検索クエリが入力される操作に続いて、ユーザによって検索クエリの送信ボタンが押下された場合に、ユーザ端末10から検索クエリを受け付ける。
(推定部134)
推定部134は、ユーザの習熟度を推定する。具体的には、推定部134は、ユーザの行動履歴に関する情報に基づいて、受付部133によって受け付けられた検索クエリに対応する分野に関するユーザの習熟度を推定する。例えば、推定部134は、検索クエリを受け付けると、受け付けた検索クエリに基づいて、検索クエリに対応する分野を特定する。例えば、推定部134は、スポーツ、ビジネス、経済、政治、自然科学、文化等、種々の分野における辞書データから、検索クエリに対応する分野を特定する。あるいは、推定部134は、情報処理装置100の検索対象となる検索クエリの特徴を分野ごとに学習したモデルを用いて、ユーザから受け付けた検索クエリに対応する分野を特定するようにしてもよい。
続いて、推定部134は、検索クエリに対応する分野として特定された分野に関するユーザの習熟度を推定する。ここで、図5を用いてユーザの習熟度を推定する推定処理について説明する。図5は、第1の実施形態に係る推定処理の一例を示す図である。図5では、「筋トレ」分野に関するユーザの習熟度を推定する例を示す。
最初に、推定部134は、「筋トレ」分野に関する検索クエリを多く検索した所定のユーザを「筋トレ」分野に関する上級者であると決定する。例えば、推定部134は、「筋トレ」分野に関する検索クエリを100回検索したユーザを「筋トレ」分野に関する上級者であると決定する。あるいは、推定部134は、「筋トレ」分野に関するコンテンツを多く閲覧したユーザを「筋トレ」分野に関する上級者であると決定してもよい。例えば、推定部134は、「筋トレ」分野に関するコンテンツを100回閲覧したユーザを「筋トレ」分野に関する上級者であると決定してもよい。なお、上級者とは、その分野に関する習熟度が高いユーザを意味する。続いて、推定部134は、「筋トレ」分野に関するユーザの習熟度を測る指標として1〜10の数値を用いる場合、上級者であると決定したユーザの習熟度を「10」に決定する。また、推定部134は、上級者であると決定したユーザが閲覧したコンテンツの難易度を「10」と決定する。また、推定部134は、上級者であると決定したユーザが検索した検索クエリのレベルを「10」と決定する。
次に、推定部134は、上級者であると決定したユーザの行動履歴に関する情報を基準にして、他のユーザの習熟度を推定する。例えば、推定部134は、ユーザが検索した検索クエリの検索回数に基づいてユーザの習熟度を推定する。例えば、推定部134は、「筋トレ」分野に関するユーザU11の習熟度を推定する場合、ユーザ情報記憶部121を参照して、ユーザU11の行動履歴に関する情報として検索履歴#U11を取得する。続いて、推定部134は、ユーザU11の検索履歴#U11から、ユーザU11が検索した「筋トレ」分野に関する検索クエリを検索した検索回数を抽出する。続いて、推定部134は、抽出した検索回数が50回である場合、上級者であると決定したユーザが「筋トレ」分野に関する検索クエリを100回検索したという情報と比較して、ユーザU11の検索回数は上級者の1/2であると算出する。続いて、推定部134は、ユーザU11が「筋トレ」分野に関する検索クエリを検索した回数は上級者の半分なので、ユーザU11の習熟度を上級者の習熟度「10」の1/2である「5」と推定する。
例えば、推定部134は、ユーザが検索した検索クエリのレベルに基づいてユーザの習熟度を推定する。例えば、推定部134は、「筋トレ」分野に関するユーザU11の習熟度を推定する場合、ユーザ情報記憶部121を参照して、ユーザU11の行動履歴に関する情報として検索履歴#U11を取得する。続いて、推定部134は、ユーザU11の検索履歴#U11から、ユーザU11が検索した「筋トレ」分野に関する検索クエリを抽出する。続いて、推定部134は、抽出した検索クエリに基づいて、ユーザU11が検索した「筋トレ」分野に関する検索クエリのレベルの平均を「5」であると算出する。続いて、推定部134は、ユーザU11が検索した「筋トレ」分野に関する検索クエリ平均は「5」なので、「筋トレ」分野に関するユーザU11の習熟度を「5」と推定する。
例えば、推定部134は、「筋トレ」分野に関するユーザU11の習熟度を推定する場合、ユーザ情報記憶部121を参照して、ユーザU11の行動履歴に関する情報として閲覧履歴#U11を取得する。続いて、推定部134は、ユーザU11の閲覧履歴#U11から、ユーザU11が閲覧した「筋トレ」分野に関するコンテンツを抽出する。続いて、推定部134は、コンテンツ情報記憶部122を参照して、抽出したコンテンツの難易度を推定する。続いて、推定部134は、抽出したコンテンツの難易度の平均を「5」であると算出する。続いて、推定部134は、ユーザU11が閲覧した「筋トレ」分野に関するコンテンツの難易度の平均は「5」なので、「筋トレ」分野に関するユーザU11の習熟度を「5」と推定する。
なお、推定部134は、ユーザU11の行動履歴に関する情報として、検索履歴#U11と閲覧履歴#U11の他にも、購入履歴#U11や位置履歴#U11に基づいて、「筋トレ」分野に関するユーザU11の習熟度を推定してもよい。このようにして、推定部134は、ユーザU11の行動履歴に関する情報に基づいて、「筋トレ」分野に関するユーザU11の習熟度を推定する。同様に、推定部134は、他のユーザU12、U13、U14、…についても、各々のユーザの行動履歴に関する情報に基づいて、「筋トレ」分野に関する各々のユーザの習熟度を推定する。
また、推定部134は、検索結果として出力されるコンテンツに難易度を付与する。具体的には、推定部134は、コンテンツを閲覧したユーザの習熟度に基づいて、コンテンツの難易度を推定する。続いて、推定部134は、ユーザの習熟度に対応する難易度をコンテンツに付与する。図5に示す例では、推定部134は、コンテンツC11を閲覧したユーザの習熟度の平均が「3」である場合、ユーザの習熟度の平均「3」に対応する難易度「3」をコンテンツC11に付与する。同様に、推定部134は、他のコンテンツC12、C13、…についても、各々のコンテンツを閲覧したユーザの習熟度の平均に対応する難易度を付与する。
また、推定部134は、ユーザの習熟度を推定する処理と、コンテンツに難易度を付与する処理とを相互に繰り返す。これにより、推定部134は、ユーザの習熟度を推定する処理の精度を高め、コンテンツに難易度を付与する処理の精度を高めることができる。図5に示す例では、まず、推定部134は、上述した推定処理に基づいて、「筋トレ」分野に関するユーザU11、U12、U13、U14、…の習熟度を推定する。続いて、推定部134は、推定したユーザU11、U12、U13、U14、…の習熟度に基づいて、コンテンツC11、C12、C13、…の難易度を推定する。続いて、推定部134は、ユーザの習熟度に対応する難易度をコンテンツC11、C12、C13、…に付与する。続いて、推定部134は、付与されたコンテンツC11、C12、C13、…の難易度を用いて、ユーザU21、U22、U23、U24、…が閲覧したコンテンツの難易度の平均を算出する。続いて、推定部134は、算出したコンテンツの難易度の平均に基づいて、ユーザU21、U22、U23、U24、…の習熟度を推定する。続いて、推定部134は、推定したユーザU21、U22、U23、U24、…の習熟度に基づいて、コンテンツC14、C15、C16、…の難易度を推定する。
なお、推定部134は、ユーザU21、U22、U23、U24、…の習熟度に加えて、ユーザU11、U12、U13、U14、…の習熟度を用いて、コンテンツC14、C15、C16、…の難易度を推定し直す。続いて、推定部134は、ユーザの習熟度に対応する難易度をコンテンツC14、C15、C16、…に付与し直す。また、推定部134は、コンテンツC11、C12、C13、…の難易度に加えて、コンテンツC14、C15、C16、…の難易度を用いて、ユーザU21、U22、U23、U24、…の習熟度を推定し直す。このようにして、推定部134は、ユーザの習熟度を推定する処理と、コンテンツに難易度を付与する処理とを相互に繰り返す。
(学習部135)
学習部135は、ユーザの習熟度を学習してもよい。具体的には、学習部135は、ユーザの行動履歴に関する情報に基づいて、所定の分野に関するユーザの習熟度を学習してもよい。例えば、学習部135は、推定部134によって推定されたユーザの習熟度を学習データとして、ユーザの行動履歴に関する情報から所定の分野に関するユーザの習熟度を推定するモデルを生成する。続いて、推定部134は、学習部135によって生成されたモデルを用いて、ユーザの行動履歴に関する情報から所定の分野に関するユーザの習熟度を推定してもよい。
(選択部136)
選択部136は、検索結果として出力されるコンテンツを選択する。具体的には、選択部136は、推定部134によって推定されたユーザU1の習熟度に基づいて、受付部133によって受け付けられた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツを選択する。例えば、選択部136は、推定部134によって推定されたユーザU1の習熟度以上の習熟度に対応するコンテンツを、検索結果として出力されるコンテンツとして選択する。例えば、選択部136は、推定部134によって難易度が付与されたコンテンツの中から、検索結果として出力されるコンテンツとして、推定部134によって推定されたユーザの習熟度以上の難易度が付与されたコンテンツを選択する。
また、選択部136は、選択部136によって選択されたコンテンツが検索結果として出力される順番である出力順を決定する。具体的には、選択部136は、低い習熟度に対応するコンテンツから順番に出力されるように、出力順を決定する。具体的には、選択部136は、低い難易度が付与されたコンテンツから順番に出力されるように出力順を決定する。
〔1−3.情報処理のフロー〕
次に、図6を用いて、第1の実施形態に係る情報処理の手順について説明する。図6は、第1の実施形態に係る情報処理手順を示すフローチャートである。
図6に示すように、情報処理装置100は、ユーザU1から検索クエリを受け付けたか否かを判定する(ステップS101)。情報処理装置100は、ユーザU1から検索クエリを受け付けていないと判定した場合(ステップS101;No)は、ユーザU1から検索クエリを受け付けるまで待機する。
また、情報処理装置100は、ユーザU1から検索クエリを受け付けたと判定した場合(ステップS101;Yes)は、検索クエリに対応する分野を特定する(ステップS102)。続いて、情報処理装置100は、ユーザU1の行動履歴に関する情報に基づいて、特定された分野に関するユーザU1の習熟度を推定する(ステップS103)。
続いて、情報処理装置100は、ユーザU1の習熟度以上の習熟度に対応するコンテンツを選択する(ステップS104)。続いて、情報処理装置100は、難易度が低い方から順番に検索結果として出力されるようにコンテンツの出力順を決定する(ステップS105)。続いて、情報処理装置100は、検索結果をユーザU1に配信する(ステップS106)。
〔1−4.変形例〕
上述した実施形態に係る情報処理システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理システム1の他の実施形態について説明する。なお、実施形態と同一部分には、同一符号を付して説明を省略する。
〔1−4−1.コンテンツの訴求効果を示す指標値に基づいてコンテンツを選択する〕
図1では、ユーザの習熟度とコンテンツの難易度とが一対一に対応する場合に、情報処理装置100が、検索結果として出力されるコンテンツを選択する例を示した。ここでは、情報処理装置100が、同一の習熟度に対応する複数のコンテンツが存在する場合に検索結果として出力されるコンテンツを選択する例を示す。
選択部136は、同一の習熟度に対応する複数のコンテンツが存在する場合には、複数のコンテンツの中からコンテンツの訴求効果を示す指標値に基づいて、検索結果として出力されるコンテンツを選択する。具体的には、選択部136は、コンテンツの訴求効果を示す指標値として、コンテンツの離脱率や、コンテンツのアクセス数といった指標値に基づいて、検索結果として出力されるコンテンツを選択する。例えば、選択部136は、同一の習熟度に対応する複数のコンテンツが存在する場合には、その中で最もアクセス数の多いコンテンツを検索結果として出力されるコンテンツを選択する。例えば、選択部136は、同一の習熟度に対応する複数のコンテンツが存在する場合には、その中で最も離脱率の低いコンテンツを検索結果として出力されるコンテンツを選択する。
なお、選択部136は、アクセス数と離脱率の両方に基づいて、検索結果として出力されるコンテンツを選択してもよい。また、選択部136は、アクセス数と離脱率の他にも、コンテンツの訴求効果を示す他の指標値に基づいて、検索結果として出力されるコンテンツを選択してもよい。
〔1−5.第1の実施の形態の効果〕
上述してきたように、第1の実施形態に係る情報処理装置100は、受付部133と、推定部134と、選択部136を備える。受付部133は、ユーザから検索クエリを受け付ける。推定部134は、ユーザの行動履歴に関する情報に基づいて、受付部133によって受け付けられた検索クエリに対応する分野に関するユーザの習熟度を推定する。選択部136は、推定部134によって推定されたユーザの習熟度に基づいて、受付部133によって受け付けられた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツを選択する。
これにより、情報処理装置100は、ユーザの習熟度に合ったコンテンツを検索結果としてユーザに提示することができる。したがって、情報処理装置100は、ユーザの学習を支援することができる。
また、選択部136は、推定部134によって推定されたユーザの習熟度以上の習熟度に対応するコンテンツを、検索結果として出力されるコンテンツとして選択する。
これにより、情報処理装置100は、ユーザの習熟度以上のコンテンツを検索結果としてユーザに提示することができる。すなわち、情報処理装置100は、ユーザが検索を通じて得ようとした知識を、検索時点におけるユーザの習熟度から段階を踏んでユーザが無理なく習得できるように選択して、検索結果としてユーザに提供することができる。したがって、情報処理装置100は、ユーザの学習を支援することができる。
また、選択部136は、同一の習熟度に対応する複数のコンテンツが存在する場合には、複数のコンテンツの中からコンテンツの訴求効果を示す指標値に基づいて、検索結果として出力されるコンテンツを選択する。
これにより、情報処理装置100は、同一の習熟度に対応する複数のコンテンツが存在する場合であっても、ユーザにとって最適なコンテンツを1つ選択して、検索結果としてユーザに提供することができる。したがって、情報処理装置100は、ユーザの学習を支援することができる。
また、選択部136は、選択されたコンテンツが検索結果として出力される順番である出力順を決定する。選択部136は、低い習熟度に対応するコンテンツから順番に出力されるように、前記出力順を決定する。
これにより、情報処理装置100は、ユーザが検索を通じて得ようとした知識を、検索時点におけるユーザの習熟度から段階を踏んでユーザが無理なく習得できるように選択して、検索結果としてユーザに提供することができる。したがって、情報処理装置100は、ユーザの学習を支援することができる。
また、情報処理装置100は、学習部135をさらに備える。学習部135は、ユーザの行動履歴に関する情報に基づいて、所定の分野に関するユーザの習熟度を学習する。
これにより、情報処理装置100は、ユーザの習熟度を推定する処理の精度を高めることができる。すなわち、情報処理装置100は、ユーザの習熟度をより正確に推定することができる。したがって、情報処理装置100は、ユーザの学習を支援することができる。
(第2の実施形態)
〔2−1.情報処理の一例〕
次に、第2の実施形態について説明する。上述してきた第1の実施形態では、情報処理装置100が、ユーザの習熟度に基づいて、検索結果として出力されるコンテンツを選択する情報処理の一例を説明した。第2の実施形態では、情報処理装置200が、ユーザの習熟度に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する情報処理の例を示す。なお、第2の実施形態では、第1の実施形態と同様の構成について同一の符号を付して説明を省略する。
図7は、第2の実施形態に係る情報処理の一例を示す図である。図7に示す例において、情報処理システム2は、ユーザ端末10と、ログサーバ20と、情報処理装置200とを有する。
ユーザ端末10とログサーバ20と情報処理装置200とは、ネットワークN(例えば、図8参照)等の所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示す情報処理システム1には、任意の数のユーザ端末10と任意の数のログサーバ20と任意の数の情報処理装置200とが含まれてもよい。
第2の実施形態に係るユーザ端末10は、第1の実施形態に係るユーザ端末10と同様の構成であるため、説明を省略する。
第2の実施形態に係るログサーバ20は、第1の実施形態に係るログサーバ20と同様の構成であるため、説明を省略する。
第2の実施形態に係る情報処理装置200は、第1の実施形態に係る情報処理装置100と同様に検索サービスを提供するサーバ装置である。図7に示す情報処理装置200は、ユーザU1から検索クエリを受け付けると、受け付けた検索クエリに対応する分野に関するユーザの習熟度を推定する。続いて、情報処理装置200は、推定したユーザの習熟度に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する。続いて、情報処理装置200は、検索ボックスと検索ボックスの下方に検索クエリの候補が提示される領域を含む検索ページP20をユーザU1のユーザ端末10に配信する。
以下、図7を用いて、第2の実施形態に係る情報処理の一例を説明する。図7に示す例では、情報処理装置200は、ユーザU1の行動履歴に関する情報をログサーバ20から取得する(ステップS21)。例えば、情報処理装置200は、ユーザU1が入力した検索クエリの履歴である検索履歴に関する情報を取得する。例えば、情報処理装置200は、ユーザU1が閲覧若しくは視聴したコンテンツの履歴である閲覧履歴に関する情報を取得する。
続いて、情報処理装置200は、ユーザ端末10の要求に応じて、検索ボックスを含む検索ページP20をユーザU1のユーザ端末10に配信する(ステップS22)。ユーザ端末10は、検索ボックスを含む検索ページP20を情報処理装置200から受信すると、ユーザ端末10の画面に検索ボックスを含む検索ページP20を表示する。
ユーザU1は、ユーザ端末10の画面に表示された検索ページP20の検索ボックスに検索クエリを入力し始める。ユーザ端末10は、ユーザU1によって検索クエリが入力され始めると、入力中の検索クエリ「き」を情報処理装置200に送信する。情報処理装置200は、ユーザ端末10から入力中の検索クエリ「き」を受け付ける(ステップS23)。
続いて、情報処理装置200は、入力中の検索クエリ「き」を受け付けると、ユーザU1の行動履歴に関する情報に基づいて、ユーザU1が関心を持っている分野を「筋トレ」(「筋力トレーニング」の略)分野であると特定する(ステップS24)。
続いて、情報処理装置200は、ユーザU1の行動履歴に関する情報に基づいて、ユーザU1が関心を持っている分野として特定された「筋トレ」分野に関するユーザU1の習熟度を推定する(ステップS25)。具体的には、情報処理装置200は、ユーザU1の行動履歴に関する情報として、ユーザU1の検索履歴やユーザU1の閲覧履歴に基づいて、ユーザU1の習熟度を推定する。例えば、情報処理装置200は、「筋トレ」分野に関するユーザの習熟度を測る指標として1〜10の数値によってユーザの習熟度を他のユーザとの比較によって相対的に評価する。
例えば、情報処理装置200は、ユーザU1の検索履歴に基づいて、ユーザU1が検索した「筋トレ」分野に関する検索クエリの検索回数は、「筋トレ」分野の上級者(習熟度「10」とする。)の検索回数に対して30%なので、「筋トレ」分野に関するユーザU1の習熟度を「3」と推定する。
例えば、情報処理装置200は、ユーザU1の検索履歴に基づいて、ユーザU1が検索した「筋トレ」分野に関する検索クエリのレベルの平均は「3」なので、「筋トレ」分野に関するユーザU1の習熟度を「3」と推定する。
例えば、情報処理装置200は、ユーザU1の閲覧履歴に基づいて、ユーザU1が閲覧した「筋トレ」分野に関するコンテンツのレベルの平均は「3」なので、「筋トレ」分野に関するユーザU1の習熟度を「3」と推定する。
なお、情報処理装置200は、上記の推定方法を組み合わせて、ユーザU1の習熟度を「3」と推定してもよい。また、情報処理装置200は、ユーザU1の行動履歴に関する情報として、ユーザU1の検索履歴とユーザU1の閲覧履歴の他にも、ユーザU1の購入履歴やユーザU1の位置履歴に基づいて、ユーザU1の習熟度を推定してもよい。
続いて、情報処理装置200は、ユーザU1に対して検索クエリの候補として提示される検索クエリとして、ユーザU1の習熟度「3」以上の習熟度に対応する検索クエリを抽出する(ステップS26)。図7では、あらかじめ、情報処理装置200によって、ユーザに対して検索クエリの候補として提示される検索クエリにユーザの習熟度に対応するレベルが付与されている。例えば、情報処理装置200は、ユーザの習熟度に対応するレベルを示す1〜10までの数値を検索クエリの候補として提示される検索クエリに付与する。例えば、「筋トレ」分野における検索クエリ「カタボリック」には、ユーザの習熟度に対応するレベルとして「3」が付与されている。例えば、「筋トレ」分野における検索クエリ「フロントスクワット」には、ユーザの習熟度に対応するレベルとして「4」が付与されている。例えば、「筋トレ」分野における検索クエリ「大円筋」には、ユーザの習熟度に対応するレベルとして「5」が付与されている。
情報処理装置200は、レベルが付与された検索クエリの中から、ユーザU1に対して検索クエリの候補として提示される検索クエリとして、ユーザU1の習熟度「3」に対応するレベル「3」以上に対応するレベル「3」が付与された検索クエリ「カタボリック」、レベル「4」が付与された検索クエリ「フロントスクワット」、レベル「5」が付与された検索クエリ「大円筋」を抽出する。なお、図7では図示していないが、情報処理装置200は、検索クエリ「カタボリック」、「フロントスクワット」、「大円筋」の他にも、検索クエリの候補として提示される検索クエリとして、「筋トレ」分野に関するユーザU1の習熟度「3」以上の習熟度に対応するレベルが付与された検索クエリを抽出する。
続いて、情報処理装置200は、抽出された検索クエリが検索クエリの候補として提示される順番である提示順を決定する(ステップS27)。情報処理装置200は、低い習熟度に対応する検索クエリから順番に提示されるように提示順を決定する。具体的には、情報処理装置200は、低いレベルが付与された検索クエリから順番に提示されるように提示順を決定する。例えば、情報処理装置200は、レベル「3」が付与された検索クエリ「カタボリック」を含む「筋トレ カタボリック」、レベル「4」が付与された検索クエリ「フロントスクワット」、レベル「5」が付与された検索クエリ「大円筋」の3つの検索クエリの提示順を決定する場合、3つの検索クエリの中で最も低いレベル「3」が付与された検索クエリ「カタボリック」を含む「筋トレ カタボリック」の提示順を1番目に決定する。続いて、情報処理装置200は、3つの検索クエリの中で2番目に低いレベル「4」が付与された検索クエリ「フロントスクワット」の提示順を2番目に決定する。続いて、情報処理装置200は、3つの検索クエリの中で最も高いレベル「5」が付与された検索クエリ「大円筋」の提示順を3番目に決定する。
続いて、情報処理装置200は、抽出した検索クエリの候補の一覧であって、決定した提示順で検索クエリの候補が並べられた検索クエリの候補の一覧を含む検索ページP21をユーザU1のユーザ端末10に配信する(ステップS28)。例えば、情報処理装置200は、抽出した3つの検索クエリの候補「筋トレ カタボリック」、「フロントスクワット」、「大円筋」の一覧については、上から1番目に「筋トレ カタボリック」、上から2番目に「フロントスクワット」、上から3番目に「大円筋」が並べられた検索ページP21を配信する。ユーザ端末10は、検索ページP21を受信すると、ユーザ端末10の画面に検索ページP21を表示する。続いて、ユーザ端末10は、画面に表示した検索ページP21に含まれる検索クエリの候補の一覧の中からユーザU1の操作によって所定の検索クエリが選択される操作に続いて、検索クエリの送信ボタンが押下されると、選択された検索クエリを情報処理装置200に送信する。例えば、ユーザ端末10は、検索クエリの候補の一覧の中からユーザU1の操作によって検索クエリ「筋トレ カタボリック」が選択される操作に続いて、検索クエリの送信ボタンが押下されると、選択された検索クエリ「筋トレ カタボリック」を情報処理装置200に送信する。
上述したように、情報処理装置200は、ユーザU1から検索クエリを受け付ける。続いて、情報処理装置200は、ユーザU1の行動履歴に関する情報に基づいて、ユーザU1が関心を持っている分野に関するユーザU1の習熟度を推定する。続いて、情報処理装置200は、推定したユーザU1の習熟度に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する。これにより、情報処理装置200は、ユーザU1の習熟度に合った検索クエリの候補をユーザU1に提示することができる。また、情報処理装置200は、ユーザU1の習熟度以上の検索クエリを検索クエリの候補としてユーザU1に提示することもできる。具体的には、情報処理装置200は、検索という場面で、効率的な筋トレ方法を知りたいと望んでいるが、適切な検索クエリが思いつかないユーザU1に対して、ユーザU1の習熟度に合ったレベルの検索クエリを検索クエリの候補として提示することができる。例えば、情報処理装置200は、「筋トレ」分野に関するユーザU1の習熟度が中級程度の「5」である場合には、中級程度の「5」以上のレベルの検索クエリを抽出して、ユーザU1に検索クエリを提示することができる。すなわち、情報処理装置200は、ユーザが現時点の習熟度から段階を踏んで無理なく知識を習得できるように検索クエリを提示することができる。このように、情報処理装置200は、「筋トレ」分野に関する習熟度が中級程度であるユーザU1を、中級の習熟度から上級の習熟度に押し上げるための手助けをすることができる。したがって、情報処理装置200は、ユーザU1の学習を支援することができる。
なお、図7では、情報処理装置200が、ユーザU1の行動履歴に関する情報に基づいて、ユーザU1が関心を持っている分野を特定する例を示したが、入力中の検索クエリに基づいて、ユーザU1が関心を持っている分野を特定してもよい。また、情報処理装置200は、ユーザU1の行動履歴に関する情報と入力中の検索クエリの両方に基づいて、ユーザU1が関心を持っている分野を特定してもよい。
また、図7に示す例では、情報処理装置100が、ユーザU1の習熟度を示す指標として1〜10の連続値を用いる例を示したが、数値の範囲は0〜100でもよいし、どのような範囲の数値であってもよい。また、情報処理装置100は、ユーザU1の習熟度を示す指標として「初級、中級、上級」や「Aランク、Bランク、…、Eランク」のような離散値を用いてもよい。
〔2−2.情報処理装置の構成〕
次に、図8を用いて、第2の実施形態に係る情報処理装置200の構成について説明する。図8は、第2の実施形態に係る情報処理装置200の構成例を示す図である。図8に示すように、情報処理装置200は、通信部110と、記憶部220と、制御部230とを有する。記憶部220は、記憶部120と比較して、検索クエリ情報記憶部223をさらに備える。制御部230は、制御部130と比較して、抽出部237をさらに備える。
(通信部110)
通信部110は、例えば、NIC等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、ユーザ端末10やログサーバ20との間で情報の送受信を行う。
(記憶部220)
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部220は、図8に示すように、ユーザ情報記憶部121と、コンテンツ情報記憶部122と、検索クエリ情報記憶部223とを有する。
(検索クエリ情報記憶部223)
検索クエリ情報記憶部223は、検索クエリのレベルに関する各種の情報を記憶する。図9は、第2の実施形態に係る検索クエリ情報記憶部の一例を示す。図9に示す例では、検索クエリ情報記憶部223は、「検索クエリID」、「検索クエリ」、「対応分野」、「レベル」といった項目を有する。
ここで、「検索クエリID」は、検索クエリを識別するための識別情報を示す。「検索クエリ」は、ユーザに対して検索クエリの候補として提示される検索クエリを示す。また、「対応分野」は、検索クエリに対応する分野を示す。また、「レベル」は、検索クエリに対応する分野における検索クエリのレベルを示す。
図9の3レコード目に示す例では、検索クエリID「Q11」により識別される検索クエリ(検索クエリQ11)は、図7の例に示した検索クエリ「カタボリック」に対応する。対応分野「筋トレ」は、検索クエリ「カタボリック」に対応する分野が筋トレに関する分野であることを示す。レベル「3」は、筋トレに関する分野における検索クエリ「カタボリック」のレベルが3であることを示す。
(制御部230)
図8の説明に戻って、制御部230は、コントローラであり、例えば、CPUやMPU等によって、情報処理装置200内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部230は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
図8に示すように、制御部230は、取得部131と、提供部132と、受付部133と、推定部134と、学習部135と、選択部136と、抽出部237とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部230の内部構成は、図8に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(推定部134)
推定部134は、ユーザの習熟度を推定する。具体的には、推定部134は、ユーザの行動履歴に関する情報に基づいて、ユーザが関心を持っている分野に関するユーザの習熟度を推定する。例えば、推定部134は、ユーザから入力中の検索クエリを受け付けると、ユーザ情報記憶部121を参照して、ユーザの行動履歴に関する情報を取得する。続いて、推定部134は、取得したユーザの行動履歴に関する情報に基づいて、ユーザが関心を持っている分野を特定する。続いて、推定部134は、ユーザが関心を持っている分野として特定した分野に関するユーザの習熟度を推定する。
例えば、推定部134は、ユーザの検索履歴に基づいて、ユーザが関心を持っている分野を特定する。推定部134は、ユーザU1から入力中の検索クエリを受け付けると、ユーザ情報記憶部121を参照して、ユーザU1の検索履歴#U1を取得する。続いて、推定部134は、ユーザU1の検索履歴#U1から、ユーザU1が検索した検索クエリを抽出する。続いて、推定部134は、ユーザU1の検索履歴#U1から抽出した検索クエリに対応する分野を特定する。例えば、推定部134は、スポーツ、ビジネス、経済、政治、自然科学、文化等、種々の分野における辞書データから、検索クエリに対応する分野を特定する。あるいは、推定部134は、情報処理装置100の検索対象となる検索クエリの特徴を分野ごとに学習したモデルを用いて、ユーザから受け付けた検索クエリに対応する分野を特定するようにしてもよい。続いて、推定部134は、検索クエリに対応する分野として特定された分野のうち、対応する検索クエリの数が最も多い分野を、ユーザU1が関心を持っている分野として特定する。
例えば、推定部134は、ユーザの閲覧履歴に基づいて、ユーザが関心を持っている分野を特定する。推定部134は、ユーザU1から入力中の検索クエリを受け付けると、ユーザ情報記憶部121を参照して、ユーザU1の閲覧履歴#U1を取得する。続いて、推定部134は、ユーザU1の閲覧履歴#U1から、ユーザU1が閲覧したコンテンツを抽出する。続いて、推定部134は、ユーザU1の閲覧履歴#U1から抽出したコンテンツに対応する分野を特定する。例えば、推定部134は、コンテンツ情報記憶部122を参照して、ユーザU1の閲覧履歴#U1から抽出したコンテンツに対応する分野を特定する。続いて、推定部134は、コンテンツに対応する分野として特定された分野のうち、対応するコンテンツの数が最も多い分野を、ユーザU1が関心を持っている分野として特定する。
なお、推定部134は、ユーザの購入履歴に基づいて、ユーザが関心を持っている分野を特定してもよい。推定部134は、ユーザU1から入力中の検索クエリを受け付けると、ユーザ情報記憶部121を参照して、ユーザU1の購入履歴#U1を取得する。続いて、推定部134は、ユーザU1の購入履歴#U1から、ユーザU1が購入した商品を抽出する。続いて、推定部134は、ユーザU1が購入した商品に基づいて、ユーザU1が関心を持っている分野を特定する。例えば、推定部134は、ユーザU1がプロテインやアミノ酸を購入している場合には、ユーザU1が「筋トレ」分野に関心を持っていると特定する。
また、推定部134は、ユーザの位置履歴に基づいて、ユーザが関心を持っている分野を特定してもよい。推定部134は、ユーザU1から入力中の検索クエリを受け付けると、ユーザ情報記憶部121を参照して、ユーザU1の位置履歴#U1を取得する。続いて、推定部134は、ユーザU1の位置履歴#U1から、ユーザU1が訪問した店舗やイベントを抽出する。続いて、推定部134は、ユーザU1が訪問した店舗やイベントに基づいて、ユーザU1が関心を持っている分野を特定する。例えば、推定部134は、ユーザU1が毎週トレーニングジムを訪問している場合には、ユーザU1が「筋トレ」分野に関心を持っていると特定する。
続いて、推定部134は、ユーザが関心を持っている分野として特定された分野に関するユーザの習熟度を推定する。ここで、図10を用いてユーザの習熟度を推定する推定処理について説明する。図10は、第2の実施形態に係る推定処理の一例を示す図である。図10では、「筋トレ」分野に関するユーザの習熟度を推定する例を示す。
最初に、推定部134は、「筋トレ」分野に関する検索クエリを多く検索した所定のユーザを「筋トレ」分野に関する上級者であると決定する。例えば、推定部134は、「筋トレ」分野に関する検索クエリを100回検索したユーザを「筋トレ」分野に関する上級者であると決定する。あるいは、推定部134は、「筋トレ」分野に関するコンテンツを多く閲覧したユーザを「筋トレ」分野に関する上級者であると決定してもよい。例えば、推定部134は、「筋トレ」分野に関するコンテンツを100回閲覧したユーザを「筋トレ」分野に関する上級者であると決定してもよい。なお、上級者とは、その分野に関する習熟度が高いユーザを意味する。続いて、推定部134は、「筋トレ」分野に関するユーザの習熟度を測る指標として1〜10の数値を用いる場合、上級者であると決定したユーザの習熟度を「10」に決定する。また、推定部134は、上級者であると決定したユーザが閲覧したコンテンツの難易度を「10」と決定する。また、推定部134は、上級者であると決定したユーザが検索した検索クエリのレベルを「10」と決定する。
次に、推定部134は、上級者であると決定したユーザの行動履歴に関する情報を基準にして、他のユーザの習熟度を推定する。例えば、推定部134は、ユーザが検索した検索クエリの検索回数に基づいてユーザの習熟度を推定する。例えば、推定部134は、「筋トレ」分野に関するユーザU11の習熟度を推定する場合、ユーザ情報記憶部121を参照して、ユーザU11の行動履歴に関する情報として検索履歴#U11を取得する。続いて、推定部134は、ユーザU11の検索履歴#U11から、ユーザU11が検索した「筋トレ」分野に関する検索クエリを検索した検索回数を抽出する。続いて、推定部134は、抽出した検索回数が50回である場合、上級者であると決定したユーザが「筋トレ」分野に関する検索クエリを100回検索したという情報と比較して、ユーザU11の検索回数は上級者の1/2であると算出する。続いて、推定部134は、ユーザU11が「筋トレ」分野に関する検索クエリを検索した回数は上級者の半分なので、ユーザU11の習熟度を上級者の習熟度「10」の1/2である「5」と推定する。
例えば、推定部134は、ユーザが検索した検索クエリのレベルに基づいてユーザの習熟度を推定する。例えば、推定部134は、「筋トレ」分野に関するユーザU11の習熟度を推定する場合、ユーザ情報記憶部121を参照して、ユーザU11の行動履歴に関する情報として検索履歴#U11を取得する。続いて、推定部134は、ユーザU11の検索履歴#U11から、ユーザU11が検索した「筋トレ」分野に関する検索クエリを抽出する。続いて、推定部134は、検索クエリ情報記憶部223を参照して、抽出した検索クエリのレベルを推定する。続いて、推定部134は、ユーザU11が検索した「筋トレ」分野に関する検索クエリのレベルの平均を「5」であると算出する。続いて、推定部134は、ユーザU11が検索した「筋トレ」分野に関する検索クエリ平均は「5」なので、「筋トレ」分野に関するユーザU11の習熟度を「5」と推定する。
例えば、推定部134は、「筋トレ」分野に関するユーザU11の習熟度を推定する場合、ユーザ情報記憶部121を参照して、ユーザU11の行動履歴に関する情報として閲覧履歴#U11を取得する。続いて、推定部134は、ユーザU11の閲覧履歴#U11から、ユーザU11が閲覧した「筋トレ」分野に関するコンテンツを抽出する。続いて、推定部134は、コンテンツ情報記憶部122を参照して、抽出したコンテンツの難易度を推定する。続いて、推定部134は、抽出したコンテンツの難易度の平均を「5」であると算出する。続いて、推定部134は、ユーザU11が閲覧した「筋トレ」分野に関するコンテンツの難易度の平均は「5」なので、「筋トレ」分野に関するユーザU11の習熟度を「5」と推定する。
なお、推定部134は、ユーザU11の行動履歴に関する情報として、検索履歴#U11と閲覧履歴#U11の他にも、購入履歴#U11や位置履歴#U11に基づいて、「筋トレ」分野に関するユーザU11の習熟度を推定してもよい。このようにして、推定部134は、ユーザU11の行動履歴に関する情報に基づいて、「筋トレ」分野に関するユーザU11の習熟度を推定する。同様に、推定部134は、他のユーザU12、U13、U14、…についても、各々のユーザの行動履歴に関する情報に基づいて、「筋トレ」分野に関する各々のユーザの習熟度を推定する。
また、推定部134は、ユーザに対して検索クエリの候補として提示される検索クエリにレベルを付与する。具体的には、推定部134は、検索クエリを検索したユーザの習熟度に基づいて、検索クエリのレベルを推定する。続いて、推定部134は、ユーザの習熟度に対応するレベルを検索クエリに付与する。図10に示す例では、推定部134は、検索クエリQ11を検索したユーザの習熟度の平均が「3」である場合、ユーザの習熟度の平均「3」に対応するレベル「3」を検索クエリQ11に付与する。同様に、推定部134は、他の検索クエリQ12、Q13、…についても、各々の検索クエリを検索したユーザの習熟度の平均に対応するレベルを付与する。
また、推定部134は、ユーザの習熟度を推定する処理と、検索クエリにレベルを付与する処理とを相互に繰り返す。これにより、推定部134は、ユーザの習熟度を推定する処理の精度を高め、検索クエリにレベルを付与する処理の精度を高めることができる。図10に示す例では、まず、推定部134は、上述した推定処理に基づいて、「筋トレ」分野に関するユーザU11、U12、U13、U14、…の習熟度を推定する。続いて、推定部134は、推定したユーザU11、U12、U13、U14、…の習熟度に基づいて、検索クエリQ11、Q12、Q13、…のレベルを推定する。続いて、推定部134は、ユーザの習熟度に対応するレベルを検索クエリQ11、Q12、Q13、…に付与する。続いて、推定部134は、付与された検索クエリQ11、Q12、Q13、…のレベルを用いて、ユーザU21、U22、U23、U24、…が検索した検索クエリのレベルの平均を算出する。続いて、推定部134は、算出した検索クエリのレベルの平均に基づいて、ユーザU21、U22、U23、U24、…の習熟度を推定する。続いて、推定部134は、推定したユーザU21、U22、U23、U24、…の習熟度に基づいて、検索クエリQ14、Q15、Q16、…のレベルを推定する。
なお、推定部134は、ユーザU21、U22、U23、U24、…の習熟度に加えて、ユーザU11、U12、U13、U14、…の習熟度を用いて、検索クエリQ14、Q15、Q16、…のレベルを推定し直す。続いて、推定部134は、ユーザの習熟度に対応するレベルを検索クエリQ14、Q15、Q16、…に付与し直す。また、推定部134は、検索クエリQ11、Q12、Q13、…のレベルに加えて、検索クエリQ14、Q15、Q16、…のレベルを用いて、ユーザU21、U22、U23、U24、…の習熟度を推定し直す。このようにして、推定部134は、ユーザの習熟度を推定する処理と、検索クエリにレベルを付与する処理とを相互に繰り返す。
(抽出部237)
抽出部237は、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する。具体的には、抽出部237は、推定部134によって推定されたユーザの習熟度に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する。例えば、抽出部237は、推定部134によってレベルが付与された検索クエリの中から、推定部134によって推定されたユーザの習熟度以上の習熟度に対応する検索クエリを、ユーザに対して検索クエリの候補として提示される検索クエリとして抽出する。
また、抽出部237は、抽出された検索クエリが検索クエリの候補として提示される順番である提示順を決定する。具体的には、抽出部237は、低い習熟度に対応する検索クエリから順番に提示されるように、抽出された検索クエリが検索クエリの候補として提示される順番である提示順を決定する。
〔2−3.情報処理のフロー〕
次に、図11を用いて、第2の実施形態に係る情報処理の手順について説明する。図10は、第2の実施形態に係る情報処理手順を示すフローチャートである。
図11に示すように、情報処理装置200は、ユーザU1から入力中の検索クエリを受け付けたか否かを判定する(ステップS201)。情報処理装置200は、ユーザU1から入力中の検索クエリを受け付けていないと判定した場合(ステップS201;No)は、ユーザU1から入力中の検索クエリを受け付けるまで待機する。
また、情報処理装置200は、ユーザU1から入力中の検索クエリを受け付けたと判定した場合(ステップS201;Yes)は、ユーザU1の行動履歴に関する情報に基づいて、ユーザU1が関心を持っている分野を特定する(ステップS202)。続いて、情報処理装置200は、ユーザU1の行動履歴に関する情報に基づいて、特定された分野に関するユーザU1の習熟度を推定する(ステップS203)。
続いて、情報処理装置200は、ユーザU1の習熟度以上の習熟度に対応する検索クエリを抽出する(ステップS204)。続いて、情報処理装置200は、レベルが低い方から順番に提示されるよう検索クエリの提示順を決定する(ステップS205)。続いて、情報処理装置200は、検索クエリの候補をユーザU1に提示する(ステップS206)。
〔2−4.変形例〕
上述した実施形態に係る情報処理システム2は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理システム2の他の実施形態について説明する。なお、実施形態と同一部分には、同一符号を付して説明を省略する。
〔2−4−1.検索クエリの訴求効果を示す指標値に基づいて検索クエリの候補を抽出する〕
抽出部237は、同一の習熟度に対応する複数の検索クエリが存在する場合には、検索クエリの訴求効果を示す指標値に基づいて、複数の検索クエリの中からユーザに対して検索クエリの候補として提示される検索クエリを抽出する。具体的には、抽出部237は、検索クエリの訴求効果を示す指標値として、検索クエリの検索回数や、検索クエリの検索頻度といった指標値に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する。例えば、抽出部237は、同一の習熟度に対応する複数の検索クエリが存在する場合には、その中で最も検索回数の多い検索クエリをユーザに対して検索クエリの候補として提示される検索クエリとして抽出する。例えば、抽出部237は、同一の習熟度に対応する複数の検索クエリが存在する場合には、その中で最も検索頻度が高い検索クエリをユーザに対して検索クエリの候補として提示される検索クエリとして抽出する。
なお、抽出部237は、検索回数と検索頻度の両方に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出してもよい。また、抽出部237は、検索回数と検索頻度の他にも、検索クエリの訴求効果を示す他の指標値に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出してもよい。
〔2−5.第2の実施の形態の効果〕
上述してきたように、第2の実施形態に係る情報処理装置200は、受付部133と、推定部134と、抽出部237を備える。受付部133は、ユーザから検索クエリを受け付ける。推定部134は、ユーザの行動履歴に関する情報に基づいて、所定の分野に関するユーザの習熟度を推定する。抽出部237は、推定部134によって推定されたユーザの習熟度に基づいて、ユーザに対して検索クエリの候補として提示される検索クエリを抽出する。
これにより、情報処理装置200は、ユーザの習熟度に合った検索クエリの候補をユーザに提示することができる。例えば、情報処理装置200は、検索という場面で、効率的な筋トレ方法を知りたいと望んでいるが、適切な検索クエリが思いつかないユーザに対して、ユーザの習熟度に合ったレベルの検索クエリを検索クエリの候補として提示することができる。したがって、情報処理装置200は、ユーザの学習を支援することができる。
また、抽出部237は、推定部134によって推定されたユーザの習熟度以上の習熟度に対応する検索クエリを、ユーザに対して検索クエリの候補として提示される検索クエリとして抽出する。
これにより、情報処理装置200は、ユーザの習熟度以上の検索クエリを検索クエリの候補としてユーザに提示することができる。例えば、情報処理装置200は、「筋トレ」分野に関するユーザの習熟度が中級程度の「5」である場合には、中級程度の「5」以上のレベルの検索クエリを抽出して、ユーザに検索クエリを提示することができる。すなわち、情報処理装置200は、ユーザが現時点の習熟度から段階を踏んで無理なく知識を習得できるように検索クエリを提示することができる。このように、情報処理装置200は、「筋トレ」分野に関する習熟度が中級程度であるユーザを、中級の習熟度から上級の習熟度に押し上げるための手助けをすることができる。したがって、情報処理装置200は、ユーザの学習を支援することができる。
また、抽出部237は、同一の習熟度に対応する複数の検索クエリが存在する場合には、検索クエリの訴求効果を示す指標値に基づいて、複数の検索クエリの中からユーザに対して検索クエリの候補として提示される検索クエリを抽出する。
これにより、情報処理装置200は、同一の習熟度に対応する複数の検索クエリが存在する場合であっても、ユーザにとって最適な検索クエリを1つ選択して、ユーザに対して検索クエリの候補として提示することができる。したがって、情報処理装置200は、ユーザの学習を支援することができる。
また、抽出部237は、抽出された検索クエリが検索クエリの候補として提示される順番である提示順を決定する。抽出部237は、低い習熟度に対応する検索クエリから順番に提示されるように、提示順を決定する。
これにより、情報処理装置200は、ユーザが検索を通じて得ようとした知識を、検索時点におけるユーザの習熟度から段階を踏んでユーザが無理なく習得できるように抽出して、ユーザに対して検索クエリの候補として提示することができる。したがって、情報処理装置200は、ユーザの学習を支援することができる。
〔3.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100又は200は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、情報処理装置100又は200の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る情報処理装置100又は200として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、商品コンテンツモデル)を実行することにより、制御部130又は制御部230の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔4.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。具体的には、上述した第1の実施形態と第2の実施形態とを組み合わせることが可能である。例えば、ユーザの習熟度に基づいて抽出された検索クエリの候補をユーザに提示するのに続いて、提示した検索クエリの候補の中から所定の検索クエリが選択された場合には、ユーザの習熟度に基づいて選択されたコンテンツを検索結果としてユーザに提示してもよい。例えば、抽出部237は、推定部134によって推定されたユーザU1の習熟度に基づいて、ユーザU1に対して検索クエリの候補として提示される検索クエリを抽出する。続いて、提供部132は、検索クエリの候補をユーザU1に提示する。続いて、受付部133は、提供部132によってユーザU1に対して提示された検索クエリの候補の中から、ユーザU1によって所定の検索クエリが選択された場合には、ユーザU1から検索クエリを受け付ける。続いて、選択部136は、推定部134によって推定されたユーザU1の習熟度に基づいて、受付部133によって受け付けられた検索クエリに応じたコンテンツであって、検索結果として出力されるコンテンツを選択する。このように、上述した第1の実施形態と第2の実施形態とを組み合わせることができる。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。