以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報処理装置の動作〕
最初に、情報処理装置の一例である情報処理サーバ10を備える情報処理システム1を例に、情報処理装置の動作を説明する。
〔実施形態1〕
〔1−1.情報処理システムについて〕
図1は、実施形態1に係る情報処理システム1の動作を示す図である。情報処理システム1は、情報処理サーバ10と、端末装置100と、を備える。なお、図1の例では、端末装置100が1つしか示されていないが、端末装置100は複数であってもよい。
情報処理サーバ10は、クライアント端末に対して各種サービスを提供するサーバ用ホストコンピュータである。情報処理サーバ10は、端末装置100にコンテンツを配信する。例えば、情報処理サーバ10は、ポータルサイト、ゲーム情報配信サイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、掲示板サイト、ウェブブログなどに関連する情報がタイル状に配置されたコンテンツを端末装置100に配信する。本実施形態の情報処理サーバ10は、ユーザ同士で質問及び回答を行うことが可能な情報共有サービスを提供する。
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
〔1−2.情報共有サービスについて〕
上述したように、情報処理サーバ10は、情報共有サービスを提供する。情報共有サービスは、ユーザ(質問者)が投稿した質問文に対して、他のユーザ(回答者)が回答文を投稿することで、ユーザ間で知識や知恵の共有を行う。情報処理サーバ10は、端末装置100からの要求に応じて、質問文を投稿するためのコンテンツ(以下、質問投稿コンテンツという。)や質問への回答文を投稿するためのコンテンツ(以下、回答投稿コンテンツという。)を端末装置100に配信するよう構成されている。端末装置100は、コンテンツの配信を受けて、画面に質問投稿コンテンツや回答投稿コンテンツを表示する。図1の例では、端末装置100に回答投稿コンテンツであるコンテンツC1が表示されている。コンテンツC1は、例えば、ウェブページやアプリの画面である。
コンテンツC1には、回答文を入力するためのテキストボックスTBが配置されている。ユーザがテキストボックスTBに回答文を入力して投稿ボタンを押すと、情報処理サーバ10に質問文が送信される。なお、回答の対象となる質問は、音楽、健康、ビジネスといった複数のカテゴリ分類される。質問文を投稿するためのコンテンツは、ユーザが質問のカテゴリを選択可能に構成されている。質問を投稿するユーザは、複数のカテゴリのいずれかを指定して情報共有サイトに質問を投稿する。
〔1−3.情報処理システムの動作〕
以下、情報処理システム1の動作について説明する。
まず、情報処理サーバ10は、端末装置100から回答投稿コンテンツの配信要求を受け付ける(ステップS1)。情報処理サーバ10は、回答投稿コンテンツの配信要求を受け付けたら、回答者となるユーザの回答能力情報を取得する。回答能力情報とは、回答者となるユーザ(すなわち、端末装置100を操作するユーザ)の質問への回答能力に関する情報である。情報処理サーバ10は、回答能力情報として、ユーザ情報V11と回答履歴情報W11との少なくとも一つの情報を取得する。ユーザ情報はユーザの属性を示す情報であり、回答履歴情報はユーザが過去行った質問への回答の情報である。ユーザ情報及び回答履歴情報は、回答能力情報の一種である。ユーザ情報及び回答履歴情報については後述する。
続いて、情報処理サーバ10は、ユーザへの提示候補となる質問の情報(図1に示す質問情報Q21、Q22、Q23等)を取得する。そして、情報処理サーバ10は、ステップS1で取得した回答能力情報に基づいて、複数の質問の中から、ユーザに提示する質問を判別する。例えば、情報処理サーバ10は、ユーザ情報と回答履歴情報の少なくとも一つの情報に基づいてユーザに提示する質問を判別する。より具体的には、情報処理サーバ10は、回答能力情報に基づき特定されるユーザの特徴と、当該ユーザへの提示候補となる質問の情報に基づき特定される当該質問の特徴と、が類似するか否かを判別することにより、ユーザに提示する質問を判別する。
以下、具体的な手順について説明する。まず、回答能力情報がユーザ情報である例について説明する。
情報処理サーバ10は、ユーザ情報として、ユーザの検索クエリログ、及びサービス利用履歴のうちの少なくとも一つの情報を取得する。
図2は、ユーザ情報の一例を示す図である。ユーザ情報には、「ユーザID(Identifier)」、「検索クエリログ」、及び「サービス利用履歴」といった項目を有する情報が登録されている。「ユーザID」は、ユーザを識別する識別子である。また、「検索クエリログ」は、ユーザIDで識別されるユーザが過去行った検索の検索クエリのログである。また、「サービス利用履歴」は、ユーザIDで識別されるユーザが過去使用したサービスの履歴である。例えば、サービス利用履歴は、情報検索サービス、SNS(Social Networking Service)、ニュース配信サービス、情報まとめサービス、インターネット百科事典サービス、インターネット辞書サービス、ブログサービス等の情報の発信サービス(以下、情報サービスという。)の使用履歴である。また、サービス利用履歴は、オークションサービス、ショッピングサービス、ファイナンスサービス、各種予約サービス、ウェブブログサービス等の使用履歴であってもよい。
なお、ユーザ情報には、検索クエリログやサービス利用履歴以外にも、ユーザ属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)が含まれていてもよい。ユーザ属性情報は、例えば、ユーザ(例えば質問者や回答者)の年齢、職業、収入、資産、住所、勤務先の住所、使用言語数、家族構成、友人関係、ライフサイクル、価値観、ライフスタイル、性格、好み、及びこれらの変化の情報である。勿論、ユーザ属性情報は上記の情報に限定されない。
そして、情報処理サーバ10は、回答能力情報に基づいてユーザの回答能力に関する特徴を示す特徴情報F11を生成する(ステップS2)。回答能力情報がユーザ情報なのであれば、情報処理サーバ10は、ユーザ情報V11から特徴情報F11を生成する。図3は、情報処理サーバ10が、ユーザ情報V11から、ユーザの回答能力に関する特徴を示す特徴情報F11aを生成する様子を示す図である。
情報処理サーバ10は、図3に示すように、モデルM1を使ってユーザ情報V11から特徴情報F11aを生成する。モデルM1は、複数のユーザのユーザ情報と、当該ユーザの質問への回答能力の特徴を示す情報(例えば、このユーザは自動車のカテゴリの質問に強いといった情報)と、を学習データとして、回答者となるユーザのユーザ情報V11を入力した時に当該ユーザの回答能力に関する特徴情報を出力するよう学習した学習済みモデルである。
次に、回答能力情報が回答履歴情報である例について説明する。情報処理サーバ10は、回答履歴情報として、ユーザが回答を行った質問のカテゴリ、質問者、該質問者のユーザ属性、質問文、該質問文へのユーザの回答文、及び該回答文への評価のうちの少なくとも一つの情報を取得する。
図4は、回答履歴情報の一例を示す図である。回答履歴情報には、「回答ID」、「質問ID」、「カテゴリ」、「質問文」、「質問者情報」、「回答文」、および「評価」といった項目を有する情報が登録される。「回答ID」は、ユーザIDで識別されるユーザが行った回答を識別するための識別子である。また、「質問ID」は、回答IDで識別される回答の質問を識別するための識別子である。また、「カテゴリ」は、質問IDで識別される質問のカテゴリである。また、「質問文」は、質問IDで識別される質問の質問文である。「質問者情報」は、質問IDで識別される質問者の情報である。「回答文」は、回答IDで識別される回答の回答文である。また、「評価」は、回答IDで識別される回答への評価の情報である。例えば、評価は、ベストアンサーを得たか否か、回答の優良度を示すスコア(例えば、評価を示す星の数や“いいね”の数等)である。なお、回答履歴情報には、上記で示した項目以外の情報が含まれていてもよい。また、回答履歴情報は、上記で示した項目が必ずしも全て含まれていなくてもよい。例えば、回答履歴情報は、質問文のみから構成される情報であってもよいし、回答文のみから構成される情報であってもよい。
続いて、情報処理サーバ10は、回答履歴情報W11からユーザの回答能力に関する特徴を示す特徴情報F11bを生成する(ステップS2)。図5は、ユーザの回答能力に関する特徴を示す特徴情報F11bを生成する様子を示す図である。より具体的には、図5は、情報処理サーバ10が、ユーザが過去回答を行った複数の質問の情報から、ユーザの回答能力に関する特徴を示す特徴情報F11bを生成する様子を示す図である。なお、回答履歴情報は、ユーザの過去の回答の情報であると同時に、ユーザが過去回答を行った質問の情報である。そのため、回答履歴情報は、ユーザが過去回答を行った質問の「質問情報」と言い換えることも可能である。
情報処理サーバ10は、図5に示すように、回答履歴情報で特定される複数の質問情報(図5に示す質問情報Q11〜Q14等)から所定の基準を満たす質問情報を選択する。例えば、情報処理サーバ10は、ユーザが過去回答を行った複数の質問のうち当該ユーザの回答文への評価が所定の基準を満たす質問の情報を取得する。例えば、情報処理サーバ10は、質問情報Q11〜Q14のうち、回答文への評価(図4に示すE11〜E14)がベストアンサーとなっている質問の質問情報を取得する。図5の例では、情報処理サーバ10は、質問情報Q11〜Q14から質問情報Q12を選択している。このように選択された質問情報は、ユーザが高い回答能力を有する質問の情報である。
そして、情報処理サーバ10は、図5に示すように、モデルM2を使ってユーザ情報V11から特徴情報F11aを生成する。モデルM2は、複数のユーザの回答履歴情報と、当該ユーザの質問への回答能力の特徴を示す情報と、を学習データとして、回答者となるユーザの回答履歴情報W11を入力した時に当該ユーザの回答能力に関する特徴情報を出力するよう学習した学習済みモデルである。
なお、図3及び図5の例では、モデルに入力するデータはユーザ情報と回答履歴情報のいずれか一方のデータであった。しかし、モデルに入力するデータはユーザ情報と回答履歴情報の双方であってもよい。図6は、ユーザの回答能力に関する特徴を示す特徴情報F11cを生成する様子を示す図である。より具体的には、図6は、情報処理サーバ10が、ユーザ情報V11及び回答能力情報W11から、ユーザの回答能力に関する特徴を示す特徴情報F11cを生成する様子を示す図である。
情報処理サーバ10は、図6に示すように、モデルM3を使ってユーザ情報V11及び回答履歴情報W11から特徴情報F11cを生成する。モデルM3は、複数のユーザのユーザ情報及び回答履歴情報と、当該ユーザの質問への回答能力の特徴を示す情報と、を学習データとして、回答者となるユーザのユーザ情報V11及び回答履歴情報W11を入力した時に当該ユーザの回答能力に関する特徴情報を出力するよう学習した学習済みモデルである。
次に、情報処理サーバ10は、ユーザへの提示候補となる質問の情報(図1に示す質問情報Q21、Q22、Q23等)を取得する。図7は、質問情報の一例を示す図である。質問情報には、「質問ID」、「カテゴリ」、「質問文」、「質問者情報」、および「回答」といった項目を有する情報が登録される。
「質問ID」は、質問サイトでなされた質問を識別するための識別子である。また、「カテゴリ」は、質問IDで識別される質問のカテゴリである。例えば、「カテゴリ」は、音楽、健康、ビジネスといった質問の分類である。また、「質問文」は、質問IDで識別される質問の質問文である。「質問者情報」は、質問IDで識別される質問者の情報である。例えば、「質問者情報」は、質問者の識別情報(例えば、ユーザID)やユーザ属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)である。
また、「回答」は、質問IDで識別される質問への回答の情報である。「回答」の項目には、「回答文」、「回答者情報」、および「評価」といった項目を有する情報が登録される。「回答文」は、質問IDで識別される質問への回答文である。「回答者情報」は、回答文を投稿した回答者の情報である。例えば、「回答者情報」は、回答者の識別情報(例えば、ユーザID)や属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)である。また、「評価」は、回答者が行った回答への評価の情報である。例えば、評価は、ベストアンサーを得たか否か、回答の優良度を示すスコア(例えば、評価を示す星の数や“いいね”の数等)である。
なお、図7の例では、1つの質問につき1つの「回答」の項目しか設けられていないが、1つの質問につき複数の「回答」の情報が設けられていてもよい。また、質問情報には、上記で示した項目以外の情報が含まれていてもよい。また、質問情報は、上記で示した全ての項目が必ずしも含まれていなくてもよい。例えば、質問情報は、質問文のみから構成される情報であってもよいし、質問者情報のみから構成される情報であってもよい。
続いて、情報処理サーバ10は、ユーザへの提示候補となる質問の情報(図1に示す質問情報Q21、Q22、Q23等)から当該質問の特徴を示す特徴情報(図1に示す特徴情報F21、F22、F23等)を生成する(ステップS3a、S3b、S3c)。図8は、質問の特徴を示す特徴情報F21a、F22a、F23aを生成する様子を示す図である。より具体的には、図8は、情報処理サーバ10が、ユーザへの提示候補となる質問の質問情報Q21、Q22、Q23から、当該質問の特徴を示す特徴情報F21a、F22a、F23aを生成する様子を示す図である。
情報処理サーバ10は、図8に示すように、モデルM4を使って質問情報Q21、Q22、Q23から特徴情報F21a、F22a、F23aを生成する。モデルM4は、複数の質問情報と、当該質問の特徴を示す情報と、を学習データとして、提示候補となる質問の情報(質問情報Q21、Q22、或いはQ23)を入力した時に当該質問の特徴を示す特徴情報を出力するよう学習した学習済みモデルである。
図1に戻り、情報処理サーバ10は、ユーザの回答能力の特徴を示す特徴情報F11と、提示候補となる複数の質問それぞれの特徴情報(特徴情報F21、F22、F23等)と、に基づいて、複数の質問の中からユーザに提示する質問を判別する(ステップS4)。例えば、情報処理サーバ10は、ユーザの回答能力の特徴を示す特徴情報F11と複数の質問それぞれの特徴情報(特徴情報F21、F22、F23)とを比較し、特徴情報F11と類似する特徴情報を有する質問をユーザに提示する質問として判別する。例えば、特徴情報がベクトル情報なのであれば、特徴情報F11との類似度(例えば、コサイン類似度)が所定の閾値以上の特徴情報を有する質問をユーザに提示する質問として判別する。
なお、特徴情報F11は、ユーザが過去回答を行った質問の質問文の特徴を示す特徴情報(例えば、質問文の分散表現となるベクトル)であってもよい。また、特徴情報F21、F22、F23は、提示候補となる質問の質問文の特徴を示す特徴情報(例えば、質問文の分散表現となるベクトル)であってもよい。そして、情報処理サーバ10は、特徴情報F11と特徴情報F21、F22、F23それぞれとの類似度を算出し、類似度が所定の閾値以上の質問をユーザに提示する質問として判別してもよい。これにより、情報処理サーバ10は、提示候補となる複数の質問のうち、ユーザが過去回答を行った質問の質問文と特徴が類似する質問文を有する質問をユーザに提示する質問として判別することが可能になる。
また、特徴情報F11は、ユーザが過去行った回答の回答文の特徴を示す特徴情報であってもよい。また、特徴情報F21、F22、F23は、提示候補となる質問の質問文の特徴を示す特徴情報であってもよい。そして、情報処理サーバ10は、特徴情報F11と特徴情報F21、F22、F23それぞれとの類似度を算出し、類似度が所定の閾値以上の質問をユーザに提示する質問として判別してもよい。これにより、情報処理サーバ10は、提示候補となる複数の質問のうち、ユーザが過去行った回答の回答文と特徴が類似する質問文を有する質問をユーザに提示する質問として判別することが可能になる。
また、特徴情報F11は、ユーザ情報に基づき生成された特徴情報であってもよい。また、特徴情報F21、F22、F23は、提示候補となる質問の質問文の特徴を示す特徴情報であってもよい。そして、情報処理サーバ10は、特徴情報F11と特徴情報F21、F22、F23それぞれとの類似度を算出し、類似度が所定の閾値以上の質問をユーザに提示する質問として判別してもよい。これにより、情報処理サーバ10は、提示候補となる複数の質問のうち、ユーザ情報に基づき特定されるユーザの特徴と特徴が類似する質問文を有する質問をユーザに提示する質問として判別することが可能となる。
また、特徴情報F11は、ユーザが過去回答を行った質問の質問文の特徴を示す特徴情報であってもよい。また、特徴情報F21、F22、F23は、提示候補となる質問の質問者情報に基づき生成される特徴情報であってもよい。そして、情報処理サーバ10は、特徴情報F11と特徴情報F21、F22、F23それぞれとの類似度を算出し、類似度が所定の閾値以上の特徴情報を有する質問をユーザに提示する質問として判別してもよい。これにより、情報処理サーバ10は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴が、ユーザが過去回答を行った質問の質問文の特徴と類似する質問をユーザに提示する質問として判別することが可能になる。
また、特徴情報F11は、ユーザが過去行った回答の回答文の特徴を示す特徴情報であってもよい。また、特徴情報F21、F22、F23は、提示候補となる質問の質問者情報に基づき生成される特徴情報であってもよい。そして、情報処理サーバ10は、特徴情報F11と特徴情報F21、F22、F23それぞれとの類似度を算出し、類似度が所定の閾値以上の質問をユーザに提示する質問として判別してもよい。これにより、情報処理サーバ10は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴がユーザ情報に基づき特定されるユーザの特徴と類似する質問をユーザに提示する質問として判別することが可能になる。
また、特徴情報F11は、ユーザ情報に基づき生成された特徴情報であってもよい。また、特徴情報F21、F22、F23は、提示候補となる質問の質問者情報に基づき生成される特徴情報であってもよい。そして、情報処理サーバ10は、特徴情報F11と特徴情報F21、F22、F23それぞれとの類似度を算出し、類似度が所定の閾値以上の質問をユーザに提示する質問として判別してもよい。これにより、情報処理サーバ10は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴がユーザ情報に基づき特定されるユーザの特徴と類似する質問をユーザに提示する質問として判別することが可能となる。
次に、情報処理サーバ10は、ユーザに送信するコンテンツC1を生成する(ステップS5)。コンテンツC1は、回答投稿コンテンツである。情報処理サーバ10は、ユーザ提示する質問に関する情報をコンテンツC1に表示する。具体的には、情報処理サーバ10は、ステップS4で選択した質問に関するコンテンツをコンテンツC1に表示する。図1の例では、情報処理サーバ10は、ステップS4で選択した質問に関するコンテンツである質問コンテンツQC1、QC2をコンテンツC1に表示している。なお、質問コンテンツQC1、QC2は、ステップS4で選択した質問の質問文表示されたコンテンツであってもよい。質問コンテンツQC1、QC2に表示されるテキストは、質問文そのものもでなくてもよい。質問コンテンツQC1、QC2に表示されるテキストは、質問文のタイトルや見出しであってもよいし、質問文を短縮したテキスト(要約文)であってもよい。また、質問コンテンツQC1、QC2は、ステップS4で選択した質問に関するコンテンツ(ページ)へのリンクであってもよい。本実施形態では、質問コンテンツQC1、QC2は、ステップS4で選択した質問へ回答するための質問投稿コンテンツへのリンクであるものとする。
次に、情報処理サーバ10は、ステップS5で生成したコンテンツC1を端末装置100に送信する(ステップS6)。端末装置100は、画面にコンテンツC1を表示する。そして、ユーザがコンテンツC1中の質問コンテンツをタップ(クリック)すると、端末装置100は、情報処理サーバ10に対し、ユーザがタップした質問コンテンツに示された質問に回答するための質問投稿コンテンツを要求する(ステップS7)。情報処理サーバ10は、要求に応じて該当の質問投稿コンテンツを端末装置100に送信する(ステップS8)。
本実施形態によれば、情報処理サーバ10は、ユーザの回答能力に関する情報に基づいてユーザの回答能力に関する特徴に合致した質問を複数の質問の中から判別している。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
〔実施形態2〕
実施形態1では、情報処理サーバ10は、ユーザの回答能力に関する特徴に合致した質問をユーザに提示した。しかしながら、情報処理サーバ10は、回答を得にくい質問を優先的にユーザに提示してもよい。以下、実施形態2の情報処理システムについて説明する。
〔1−4.情報処理システムの動作〕
実施形態2の情報処理システム1は、実施形態1と同様に、情報処理サーバ10と、端末装置100と、を備える。情報処理サーバ10と端末装置100の構成は実施形態1と同様である。
情報処理サーバ10は、回答投稿コンテンツの配信要求を受け付けたら、ユーザへの提示候補となる質問の回答容易度を算出する。回答容易度は、質問の回答の得やすさを示す情報である。回答容易度は、例えば、該当の質問が得られると予測される回答数の情報である。なお、回答数は、ヘイト及びスパムと判定される回答を除いた回答数であってもよい。図9は、質問の回答の得やすさを示す回答容易度G21、G22、G23を生成する様子を示す図である。より具体的には、図9は、情報処理サーバ10が、ユーザへの提示候補となる質問の質問情報Q21、Q22、Q23から、当該質問の回答の得やすさを示す回答容易度G21、G22、G23を生成する様子を示す図である。
情報処理サーバ10は、図9に示すように、モデルM5を使って質問情報Q21、Q22、Q23から回答容易度G21、G22、G23を算出する。モデルM5は、複数の質問情報を学習データとして、提示候補となる質問の情報(質問情報Q21、Q22、或いはQ23)を入力した時に当該質問の回答の得やすさを示す回答容易度を出力するよう学習した学習済みモデルである。すなわち、モデルM5は、過去行われた質問の情報と過去行われた質問への回答の情報との関係性に基づく学習により生成されたモデルである。
回答容易度を算出したら、情報処理サーバ10は、回答容易度に基づいて複数の質問の中からユーザに提示する質問を判別する。例えば、情報処理サーバ10は、回答容易度が低い質問をユーザに提示する質問として判別する。より具体的には、情報処理サーバ10は、回答容易度が所定の閾値以下の質問をユーザに提示する質問として判別する。
そして、情報処理サーバ10は、判別した質問の情報が含まれるコンテンツを生成する。このとき、情報処理サーバ10は、回答容易度が低い質問ほど、コンテンツ中の目立つ箇所に表示してもよい。情報処理サーバ10は、回答容易度が低い質問ほど、一列に並べられた複数の質問の上位に表示してもよい。そして、情報処理サーバ10は、生成したコンテンツを端末装置100に送信する。
回答の得にくい質問はランキングの上位になることはあまりない。そのため、回答の得にくい質問は、回答能力があるユーザの目に留まり難い。本実施形態の情報処理サーバ10は、回答容易度が低い質問をユーザに提示する質問として判別するとともに、回答の得にくい質問を優先的にユーザに提示している。これにより、ユーザは目に留まり難い質問の中にある自身が回答可能な質問に出会い易くなる。情報処理サーバ10は、ユーザに多くの回答の機会を与えることができるので、多くのユーザに質問に回答してもらえるようにすることができる。
〔2.情報処理システムの構成例〕
以上、本実施形態の情報処理システム1の動作を述べたが、以下、本実施形態の情報処理装置の一例である情報処理サーバ10を備える情報処理システム1の構成を説明する。上述したように、情報処理システム1は、端末装置100と、情報処理サーバ10と、を備える。
〔2−1.情報処理サーバの構成例〕
情報処理サーバ10は、端末装置100等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。情報処理サーバ10は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理サーバ10は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。情報処理サーバ10が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つの情報処理装置(情報処理サーバ)とみなすことができる。
上述したように、情報処理サーバ10は、端末装置100とネットワークを介して接続されている。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
図10は、実施形態に係る情報処理サーバ10の構成例を示す図である。情報処理サーバ10は、通信部11と、記憶部12と、制御部13と、を備える。なお、図10に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部11は、外部の装置と通信する通信インタフェースである。通信部11は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部11は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部11は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部11は、情報処理サーバ10の通信手段として機能する。通信部11は、制御部13の制御に従って端末装置100と通信する。
記憶部12は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部12は、情報処理サーバ10の記憶手段として機能する。記憶部12は、ユーザ情報データベース121、回答履歴情報データベース122、質問情報データベース123、及びモデルデータベース124を記憶する。
ユーザ情報データベース121には、例えば図2に示すようなユーザ情報が登録される。ユーザ情報データベース121には、「ユーザID(Identifier)」、「検索クエリログ」、及び「サービス利用履歴」といった項目を有する情報が登録される。
「ユーザID」は、ユーザを識別する識別子である。また、「検索クエリログ」は、ユーザIDで識別されるユーザが過去行った検索の検索クエリのログである。また、「サービス利用履歴」は、ユーザIDで識別されるユーザが過去使用したサービスの履歴である。
回答履歴情報データベース122には、ユーザIDで識別されるユーザ毎に、例えば図4に示すような回答履歴情報が登録される。回答履歴情報データベース122には、「回答ID」、「質問ID」、「カテゴリ」、「質問文」、「質問者情報」、「回答文」、および「評価」といった項目を有する情報が登録される。
「回答ID」は、ユーザIDで識別されるユーザが行った回答を識別するための識別子である。また、「質問ID」は、回答IDで識別される回答の質問を識別するための識別しである。また、「カテゴリ」は、質問IDで識別される質問のカテゴリである。また、「質問文」は、質問IDで識別される質問の質問文である。「質問者情報」は、質問IDで識別される質問者の情報である。「回答文」は、回答IDで識別される回答の回答文である。また、「評価」は、回答IDで識別される回答への評価の情報である。
質問情報データベース123には、例えば図7に示すような質問情報が登録される。質問情報データベース123には、「質問ID」、「カテゴリ」、「質問文」、「質問者情報」、および「回答」といった項目を有する情報が登録される。
「質問ID」は、質問サイトでなされた質問を識別するための識別子である。また、「カテゴリ」は、質問IDで識別される質問のカテゴリである。例えば、「カテゴリ」は、音楽、健康、ビジネスといった質問の分類である。また、「質問文」は、質問IDで識別される質問の質問文である。「質問者情報」は、質問IDで識別される質問者の情報である。例えば、「質問者情報」は、質問者の識別情報(例えば、ユーザID)やユーザ属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)である。具体例を挙げると、ユーザ属性情報は、ユーザ(例えば質問者や回答者)の年齢、職業、収入、資産、住所、勤務先の住所、使用言語数、家族構成、友人関係、ライフサイクル、価値観、ライフスタイル、性格、好み、及びこれらの変化の情報である。また、ユーザ属性情報には、ユーザの検索履歴やサービス利用履歴が含まれていてもよい。勿論、ユーザ属性情報は上記の情報に限定されない。
また、「回答」は、質問IDで識別される質問への回答の情報である。「回答」の項目には、「回答文」、「回答者情報」、および「評価」といった項目を有する情報が登録される。「回答文」は、質問IDで識別される質問への回答文である。「回答者情報」は、回答文を投稿した回答者の情報である。例えば、「回答者情報」は、回答者の識別情報(例えば、ユーザID)や属性情報(例えば、デモグラフィック情報やサイコグラフィック情報)である。また、「評価」は、回答者が行った回答への評価の情報である。例えば、評価は、ベストアンサーを得たか否か、回答の優良度を示すスコア(例えば、評価を示す星の数や“いいね”の数等)である。なお、図7の例では、1つの質問につき1つの「回答」の項目しか設けられていないが、1つの質問につき複数の「回答」の情報が設けられていてもよい。
例えば、図7に示す例では、質問ID「Q21」、カテゴリ「CT1」、質問文「TQ21」、質問者情報「UQ21」、回答文「TA21」、回答者情報「UA21」、及び評価「E21」といった情報が対応付けて登録されている。このような情報は、例えば、質問ID「Q21」が示す質問情報に、「CT1」が示すカテゴリと、「TQ21」が示す質問文と、「UQ21」が示す質問者情報と、「TA21」が示す回答文と、「UA21」が示す回答者情報と、「E21」が示す評価と、が含まれる旨を示す。なお、図7に示す例では、質問情報データベース123に登録される情報として、「Q21〜Q23」、「CT1〜CT3」、「TQ21〜TQ23」、「UQ21〜UQ23」、「TA21〜TA23」、「UA21〜UA23」、「E21〜E23」といった概念的な情報を示したが、実際には、テキストデータやバイナリデータが登録されることとなる。
図10に戻り、モデルデータベース124には、情報処理サーバ10が有するモデルのデータが登録される。図11は、モデルデータベース124に登録される情報の一例を示す図である。図11に示す例では、モデルデータベース124には、「モデルID」、および「モデルデータ」といった情報が登録されている。
ここで、「モデルID」は、各モデルを識別するための情報である。また、「モデルデータ」は、対応付けられた「モデルID」が示すモデルのデータであり、例えば、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報である。
例えば、図11に示す例では、モデルID「4001」およびモデルデータ「M1」といった情報が対応付けて登録されている。このような情報は、例えば、「4001」が示すモデルのデータが「M1」である旨を示す。なお、図11に示す例では、モデルデータベース124に登録される情報として、「M1〜M4」といった概念的な情報を記載したが、実際には、モデルの構造や接続係数を示す文字列や数値等が登録されることとなる。以下、M1〜M4等を総称してモデルMということがある。
モデルMは、複数のユーザの回答能力情報(例えば、ユーザ情報、回答履歴情報等)を学習データとして、回答者となるユーザの回答能力情報を入力した時に当該ユーザの回答能力に関する特徴情報(例えば、回答能力情報の分散表現となるベクトル)を出力するよう学習したモデルである。このようなモデルMは、回答能力情報を入力する入力層と、特徴情報を出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力された回答能力情報に応じて、当該回答能力情報の特徴情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。
また、モデルMは、過去になされた複数の質問に関する情報(質問情報)を学習データとして、所定の質問情報を入力した時に当該所定の質問情報の特徴情報(例えば、質問情報の分散表現となるベクトル)を出力するよう学習したモデルであってもよい。このようなモデルMは、質問情報を入力する入力層と、特徴情報を出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力された質問情報に応じて、当該質問情報の特徴情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。
また、モデルMは、過去になされた複数の質問に関する情報(質問情報)を学習データとして、所定の質問情報を入力した時に当該所定の質問の回答容易度を出力するよう学習したモデルであってもよい。このようなモデルMは、質問情報を入力する入力層と、回答容易度を出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力された質問情報に応じて、当該質問情報の回答容易度を出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、モデルMが「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルMが含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルMがDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルMが含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
情報処理サーバ10は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、出力する情報の算出を行う。具体的には、モデルMは、回答能力情報が入力された場合に、当該回答能力情報の特徴情報を出力するように係数が設定される。或いは、モデルMは、質問情報が入力された場合に、当該質問情報の特徴情報を出力するように係数が設定される。或いは、モデルMは、質問情報が入力された場合に、当該質問情報の回答容易度を出力するように係数が設定される。
なお、上記例では、モデルMが、回答能力情報が入力された場合に当該回答能力情報の特徴情報を出力するモデル(以下、モデルM11という。)である例を示した。或いは、上記例では、モデルMが、質問情報が入力された場合に当該質問情報の特徴情報を出力するモデル(以下、モデルM12という。)である例を示した。或いは、上記例では、モデルMが、質問情報が入力された場合に当該質問情報の回答容易度を出力するモデル(以下、モデルM13という。)である例を示した。しかし、実施形態に係るモデルMは、モデルM11、モデルM12、或いはモデルM13にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。
また、情報処理サーバ10がGAN(Generative Adversarial Networks)を用いた学習処理或いは生成処理を行う場合、モデルMは、GANの一部を構成するモデルであってもよい。
図10に戻り、制御部13は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理サーバ10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部13は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
また、制御部13は、記憶部12に記憶されるモデルM1に従った情報処理により、モデルM1の入力層に入力されたユーザ情報に対し、モデルM1が有する係数(すなわち、モデルM1が学習した各種の特徴に対応する係数)に基づく演算を行い、モデルM1の出力層から特徴情報を出力する。
また、制御部13は、記憶部12に記憶されるモデルM2に従った情報処理により、モデルM2の入力層に入力された質問情報に対し、モデルM2が有する係数(すなわち、モデルM2が学習した各種の特徴に対応する係数)に基づく演算を行い、モデルM2の出力層から特徴情報を出力する。
また、制御部13は、記憶部12に記憶されるモデルM3に従った情報処理により、モデルM3の入力層に入力されたユーザ情報及び回答履歴情報に対し、モデルM3が有する係数(すなわち、モデルM3が学習した各種の特徴に対応する係数)に基づく演算を行い、モデルM3の出力層から特徴情報を出力する。
また、制御部13は、記憶部12に記憶されるモデルM4に従った情報処理により、モデルM4の入力層に入力された質問情報に対し、モデルM4が有する係数(すなわち、モデルM4が学習した各種の特徴に対応する係数)に基づく演算を行い、モデルM4の出力層から回答容易度を出力する。
制御部13は、図10に示すように、取得部131と、学習部132と、判別部133と、生成部134と、送信部135と、を備える。制御部13を構成するブロック(取得部131〜送信部135)はそれぞれ制御部13の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部13は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
取得部131は、回答者となるユーザの質問への回答能力の情報を取得する。例えば、取得部131は、回答能力の情報として、ユーザの属性を示すユーザ情報と、該ユーザが過去行った回答の情報である回答履歴情報と、の少なくとも一つの情報を取得する。
このとき、取得部131は、ユーザ情報として、ユーザの検索クエリログ、及びサービス利用履歴のうちの少なくとも一つの情報を取得してもよい。また、取得部131は、回答履歴情報として、ユーザが回答を行った質問のカテゴリ、質問者、該質問者のユーザ属性、質問文、該質問文へのユーザの回答文、及び該回答文への評価のうちの少なくとも一つの情報を取得してもよい。
また、取得部131、回答能力の情報として、ユーザが過去回答を行った質問のうち該ユーザの回答文への評価が所定の基準を満たす質問の情報を取得する。
また、取得部131は、ユーザへの提示候補となる質問の情報を取得する。
学習部132は、モデルMの学習を行い、学習したモデルMをモデルデータベース124に格納する。より具体的には、学習部132は、回答能力情報をモデルMに入力した際に、モデルMが回答能力情報の特徴情報を出力するように、モデルMの接続係数の設定を行う。すなわち、学習部132は、回答能力情報をモデルMに入力した際に、モデルMが特徴情報を出力するように、モデルMの学習を行う。
例えば、学習部132は、モデルMが有する入力層のノードに回答能力情報を入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、回答能力情報の特徴情報を出力させる。そして、学習部132は、モデルMが実際に出力した特徴情報と、学習データに含まれる特徴情報との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。このとき、学習部132は、特徴情報がベクトルなのであれば、学習データに含まれる特徴情報(ベクトル)とモデルMが実際に出力したベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
また、学習部132は、モデルMの学習を行い、学習したモデルMをモデルデータベース124に格納する。より具体的には、学習部132は、質問情報をモデルMに入力した際に、モデルMが質問情報の特徴情報を出力するように、モデルMの接続係数の設定を行う。すなわち、学習部132は、質問情報をモデルMに入力した際に、モデルMが特徴情報を出力するように、モデルMの学習を行う。
例えば、学習部132は、モデルMが有する入力層のノードに質問情報を入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、質問情報の特徴情報を出力させる。そして、学習部132は、モデルMが実際に出力した特徴情報と、学習データに含まれる特徴情報との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。このとき、学習部132は、特徴情報がベクトルなのであれば、学習データに含まれる特徴情報(ベクトル)とモデルMが実際に出力したベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
また、学習部132は、モデルMの学習を行い、学習したモデルMをモデルデータベース124に格納する。より具体的には、学習部132は、質問情報をモデルMに入力した際に、モデルMが質問情報の回答容易度を出力するように、モデルMの接続係数の設定を行う。すなわち、学習部132は、質問情報をモデルMに入力した際に、モデルMが回答容易度を出力するように、モデルMの学習を行う。
例えば、学習部132は、モデルMが有する入力層のノードに質問情報を入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、質問情報の回答容易度を出力させる。そして、学習部132は、モデルMが実際に出力した特徴情報と、学習データに含まれる回答容易度との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。
なお、学習部132は、いかなる学習アルゴリズムを用いてモデルMを学習してもよい。例えば、学習部132は、ニューラルネットワーク、サポートベクターマシン(support vector machine)、クラスタリング、強化学習等の学習アルゴリズムを用いて、モデルMを学習してよい。
判別部133は、回答能力の情報に基づいて複数の質問の中からユーザに提示する質問を判別する。
また、判別部133は、ユーザ情報と回答履歴情報との少なくとも一つの情報に基づいてユーザに提示する質問を判別する。
また、判別部133は、ユーザの検索クエリログ、及びサービス利用履歴のうちの少なくとも一つの情報に基づいてユーザに提示する質問を判別する。
また、判別部133は、ユーザが回答を行った質問のカテゴリ、質問者、該質問者のユーザ属性、質問文、該質問文へのユーザの回答文、及び該回答文への評価のうちの少なくとも一つの情報に基づいてユーザに提示する質問を判別する。
また、判別部133は、ユーザの回答文への評価が所定の基準を満たす質問の情報に基づいてユーザに提示する質問を判別する。
また、判別部133は、回答能力の情報に基づき特定されるユーザの特徴と、提示候補となる質問の情報に基づき特定される該質問の特徴と、が類似するか否かを判別することにより、ユーザに提示する質問を判別する。
また、判別部133は、提示候補となる質問のうち、ユーザが過去回答を行った質問の質問文と特徴が類似する質問文を有する質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、ユーザが過去行った回答の回答文と特徴が類似する質問文を有する質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、ユーザ情報に基づき特定されるユーザの特徴と特徴が類似する質問文を有する質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴が、ユーザが過去回答を行った質問の質問文の特徴と類似する質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴が、ユーザが過去行った回答の回答文の特徴と類似する質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴がユーザ情報に基づき特定されるユーザの特徴と類似する質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、ユーザが過去回答を行った質問のカテゴリと一致或いは類似するカテゴリの質問をユーザに提示する質問として判別する。
また、判別部133は、提示候補となる質問のうち、ユーザ情報に基づき特定されるユーザの特徴と一致或いは類似するカテゴリの質問をユーザに提示する質問として判別する。
また、判別部133は、回答能力の情報と回答の得やすさを示す情報とに基づいて複数の質問の中からユーザに提示する質問を判別する。
生成部134は、過去行われた質問の情報と過去行われた質問への回答の情報との関係性に基づく学習により生成されたモデルを用いて、複数の質問それぞれの回答の得やすさを示す情報を生成する。
送信部135は、ユーザに提示する質問の情報が含まれるコンテンツを端末装置100に送信する。
〔2−2.端末装置の構成例〕
次に、端末装置100の構成について説明する。端末装置100は、ユーザがコンテンツの閲覧に使用する情報表示装置である。端末装置100は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。通信機能を備えるのであれば、端末装置100は、パーソナルコンピュータ(ノートPC、デスクトップPC)、PDA(Personal Digital Assistant)等の情報処理端末であってもよい。この場合、情報処理端末も通信端末の一種である。端末装置100は、ネットワークを介して情報処理サーバ10と接続する。
図12は、実施形態に係る端末装置100の構成例を示す図である。端末装置100は、通信部110と、入力部120と、記憶部130と、出力部140と、制御部150と、を備える。なお、図12に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部110は、外部の装置と通信する通信インタフェースである。通信部110は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部110は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部110は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部110は、端末装置100の通信手段として機能する。通信部110は、制御部150の制御に従って情報処理サーバ10と通信する。
入力部120は、外部から各種入力を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部120は、端末装置100の入力手段として機能する。なお、端末装置100にタッチパネルが採用される場合には、タッチパネルも入力部120に含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。
記憶部130は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部130は、端末装置100の記憶手段として機能する。記憶部130は、アプリケーションのデータが格納されている。アプリケーションのデータは、ウェブブラウザのデータであってもよい。
出力部140は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部140は、端末装置100の出力手段として機能する。出力部140は、各種情報を表示する表示装置を備える。表示装置は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。なお、端末装置100にタッチパネルが採用される場合には、表示装置(以下、画面という。)は入力部120と一体であってもよい。出力部140は、制御部150の制御に従って、画面に画像を表示する。
制御部150は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
制御部150は、図12に示すように、表示部151と、表示制御部152と、を備える。制御部150を構成するブロック(表示部151と、表示制御部152)はそれぞれ制御部150の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部150は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
表示部151は、情報処理サーバ10から送信されたコンテンツC1を画面に表示する。
表示制御部152は、情報処理サーバ10から送信された制御情報に従って画面に表示されたコンテンツC1の態様を変更する。
〔3.情報処理サーバの処理フロー〕
次に、情報処理サーバ10が実行する処理の手順について説明する。図13は、情報送信処理の一例を示すフローチャートである。
まず、情報処理サーバ10は、ユーザが操作する端末装置100から質問に回答するためのコンテンツの配信要求を受信したか判別する(ステップS11)。配信要求を受信していない場合(ステップS11:No)、情報処理サーバ10は、配信要求を受信するまでステップS11を繰り返す。
配信要求を受信した場合(ステップS11:Yes)、情報処理サーバ10は、記憶部12から、端末装置100を操作するユーザの回答能力情報を取得する(ステップS11)。例えば、情報処理サーバ10は、ユーザ情報データベース121から該当のユーザのユーザ情報を取得する。また、情報処理サーバ10は、回答履歴情報データベース122から該当のユーザの回答履歴情報を取得する。そして、情報処理サーバ10は、ステップS11で取得した回答能力情報の特徴情報を生成する(ステップS12)。
続いて、情報処理サーバ10は、質問情報データベース123から質問情報を取得する(ステップS14)。そして、情報処理サーバ10は、複数の質問それぞれの特徴情報を生成する(ステップS15)。情報処理サーバ10は、複数の質問それぞれの回答容易度を生成する(ステップS16)。
続いて、情報処理サーバ10は、端末装置100を操作するユーザに提示する質問を判別する(ステップS17)。例えば、情報処理サーバ10は、ステップS12で取得した特徴情報とステップS15で取得した特徴情報に基づいて、複数の質問の中から、ユーザに提示する質問を判別する。或いは、情報処理サーバ10は、回答能力情報と回答容易度とに基づいて、複数の質問の中から、ユーザに提示する質問を判別する(ステップS17)。
続いて、情報処理サーバ10は、ステップS17で判別した質問が含まれるコンテンツC1を生成する(ステップS18)。そして、情報処理サーバ10は、端末装置100にコンテンツC1を送信する(ステップS19)。
送信が完了したら、情報処理サーバ10は、ステップS11に戻り、端末装置100からコンテンツの配信要求を受信するまで待機する。
〔4.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
例えば、実施形態1では、ユーザの回答能力に関する特徴情報とユーザへの提示候補となる質問の特徴情報との類似度に基づいてユーザに提示する質問を判別した。しかし、情報処理サーバ10は、ユーザに提示する質問の判別に必ずしも特徴情報を使用しなくてもよい。
例えば、情報処理サーバ10は、ユーザの検索クエリログ、及びサービス利用履歴のうちの少なくとも一つの情報に基づいてユーザに提示する質問を判別してもよい。例えば、情報処理サーバ10は、ユーザの検索クエリログやサービス利用履歴により推定されるユーザが得意とするカテゴリの質問をユーザに提示する質問として判別してもよい。例えば、ユーザが自動車に関する検索を多くしていたり、自動車に関するショッピングサービスを多く利用していたりしていたとする。この場合、情報処理サーバ10は、自動車に関する質問をユーザに提示する質問として判別してもよい。
同様に、情報処理サーバ10は、ユーザが回答を行った質問のカテゴリ、質問者、当該質問者のユーザ属性、質問文、当該質問文へのユーザの回答文、及び当該回答文への評価のうちの少なくとも一つの情報に基づいてユーザに提示する質問を判別してもよい。
また、情報処理サーバ10は、カテゴリの情報に基づいてユーザに提示する質問を判別してもよい。例えば、情報処理サーバ10は、質問情報データベース123からユーザへの提示候補となる質問のカテゴリの情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、ユーザが過去回答を行った質問のカテゴリと一致或いは類似するカテゴリの質問をユーザに提示する質問として判別する。
また、情報処理サーバ10は、提示候補となる質問のうち、ユーザ情報に基づき特定されるユーザの特徴と一致或いは類似するカテゴリの質問をユーザに提示する質問として判別してもよい。例えば、情報処理サーバ10は、ユーザ情報に基づきユーザが高い回答能力を有するカテゴリを特定するための特徴情報を生成する。情報処理サーバ10は、特徴情報により特定されるカテゴリの質問をユーザに提示する質問として判別する。
また、実施形態2では、情報処理サーバ10は、回答容易度に基づいて複数の質問の中からユーザに提示する質問を判別した。しかし、情報処理サーバ10は、回答能力情報と回答容易度とに基づいて複数の質問の中からユーザに提示する質問を判別してもよい。例えば、情報処理サーバ10は、実施形態1で判別した質問の中から回答容易度が所定の閾値以下の質問をユーザに提示する質問として判別する。
なお、情報処理サーバ10は、回答を得やすい質問をユーザに提示する質問として判別してもよい。例えば、情報処理サーバ10は、質問への回答があまり積極的でないと判別されるユーザ(例えば、過去の質問への回答数が所定の閾値以下のユーザ)には、回答容易度が所定の閾値以上の質問をユーザに提示する質問として判別してもよい。回答しやすい質問を優先的にユーザに提示することにより、情報処理サーバ10は、回答に積極的でないユーザにも質問に回答してもらえるようになる。
本実施形態の情報処理サーバ10を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムまたはデータ(例えば、モデルM)を、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムまたはデータをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理サーバ10の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部13)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5.ハードウェア構成〕
実施形態及び変形例に係る情報処理サーバ10は、例えば図14に示すような構成のコンピュータ1000によっても実現可能である。図14は、情報処理サーバ10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
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が実施形態に係る情報処理サーバ10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM)に基づいた処理を実行することにより、制御部13を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM)を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムまたはデータ(例えば、モデルM)を取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔6.効果〕
本実施形態によれば、情報処理サーバ10は、回答者となるユーザの質問への回答能力の情報を取得する。そして、情報処理サーバ10は、回答能力の情報に基づいて複数の質問の中からユーザに提示する質問を判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、回答能力の情報として、ユーザの属性を示すユーザ情報と、該ユーザが過去行った回答の情報である回答履歴情報と、の少なくとも一つの情報を取得する。そして、情報処理サーバ10は、ユーザ情報と回答履歴情報との少なくとも一つの情報に基づいてユーザに提示する質問を判別する。これにより、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザ情報として、ユーザの検索クエリログ、及びサービス利用履歴のうちの少なくとも一つの情報を取得する。そして、情報処理サーバ10は、ユーザの検索クエリログ、及びサービス利用履歴のうちの少なくとも一つの情報に基づいてユーザに提示する質問を判別する。これにより、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、回答履歴情報として、ユーザが回答を行った質問のカテゴリ、質問者、該質問者のユーザ属性、質問文、該質問文へのユーザの回答文、及び該回答文への評価のうちの少なくとも一つの情報を取得する。そして、情報処理サーバ10は、ユーザが回答を行った質問のカテゴリ、質問者、該質問者のユーザ属性、質問文、該質問文へのユーザの回答文、及び該回答文への評価のうちの少なくとも一つの情報に基づいてユーザに提示する質問を判別する。これにより、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、回答能力の情報として、ユーザが過去回答を行った質問のうち該ユーザの回答文への評価が所定の基準を満たす質問の情報を取得する。そして、情報処理サーバ10は、ユーザの回答文への評価が所定の基準を満たす質問の情報に基づいてユーザに提示する質問を判別する。これにより、情報処理サーバ10は、ユーザに対して真に回答能力が高いと思われる質問を提示できる。情報処理サーバ10は、結果として多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の情報を取得する。そして、情報処理サーバ10は、回答能力の情報に基づき特定されるユーザの特徴と、提示候補となる質問の情報に基づき特定される該質問の特徴と、が類似するか否かを判別することにより、ユーザに提示する質問を判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の質問文の情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、ユーザが過去回答を行った質問の質問文と特徴が類似する質問文を有する質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の質問文の情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、ユーザが過去行った回答の回答文と特徴が類似する質問文を有する質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の質問文の情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、ユーザ情報に基づき特定されるユーザの特徴と特徴が類似する質問文を有する質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の質問者の情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴が、ユーザが過去回答を行った質問の質問文の特徴と類似する質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の質問者の情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴が、ユーザが過去行った回答の回答文の特徴と類似する質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問の質問者の情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、質問者の情報に基づき特定される質問者の特徴がユーザ情報に基づき特定されるユーザの特徴と類似する質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合した質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問のカテゴリの情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、ユーザが過去回答を行った質問のカテゴリと一致或いは類似するカテゴリの質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合したカテゴリの質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、ユーザへの提示候補となる質問のカテゴリの情報を取得する。そして、情報処理サーバ10は、提示候補となる質問のうち、ユーザ情報に基づき特定されるユーザの特徴と一致或いは類似するカテゴリの質問をユーザに提示する質問として判別する。これにより、ユーザの回答能力に適合したカテゴリの質問をユーザに提示できるので、情報処理サーバ10は、多くのユーザに質問に回答してもらえるようにすることができる。
情報処理サーバ10は、過去行われた質問の情報と過去行われた質問への回答の情報との関係性に基づく学習により生成されたモデルを用いて、複数の質問それぞれの回答の得やすさを示す情報を生成する。そして、情報処理サーバ10は、回答能力の情報と回答の得やすさを示す情報とに基づいて複数の質問の中からユーザに提示する質問を判別する。これにより、ユーザは目に留まり難い質問の中にある自身が回答可能な質問に出会い易くなる。結果として、情報処理サーバ10は、ユーザに多くの回答の機会を与えることができるので、多くのユーザに質問に回答してもらえるようにすることができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、判別部は、判別手段や判別回路に読み替えることができる。