(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-17
(45)【発行日】2024-01-25
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06F 16/9035 20190101AFI20240118BHJP
G06Q 50/00 20240101ALI20240118BHJP
【FI】
G06F16/9035
G06Q50/00 300
(21)【出願番号】P 2021134777
(22)【出願日】2021-08-20
【審査請求日】2023-01-13
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】廣瀬 雄規
【審査官】早川 学
(56)【参考文献】
【文献】特開2016-053809(JP,A)
【文献】特開2006-195094(JP,A)
【文献】特開2013-182045(JP,A)
【文献】特開2015-056165(JP,A)
【文献】三好康夫ほか,学習コンテンツ推薦に向けた2部ネットワーク分析に基づく習熟度と難易度の推定手法の提案,Webインテリジェンスとインタラクション研究会 予稿集 [online],No.1,Webインテリジェンスとインタラクション研究会,2012年,pp.13-14,[検索日 2023.10.12], インターネット<URL: https://doi.org/10.57413/wii.1.0_13 >
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
利用者の行動履歴に基づいて、所定の対象に関する前記利用者が有する技能レベルを推定する推定部と、
各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定部と、
を備え
、
前記推定部は、
前記行動履歴として、前記利用者の検索履歴、前記利用者の購買履歴、前記利用者の閲覧履歴、前記利用者の投稿履歴、および前記利用者のメッセージのやり取りの履歴に基づいて、前記技能レベルを推定する、
ことを特徴とする情報処理装置。
【請求項2】
利用者の行動履歴から所定の対象に関する前記利用者が有する技能レベルを推定する機械学習モデルを生成する生成部と、
学習済みの前記機械学習モデルを用いて、前記技能レベルを推定する推定部と、
各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定部と、
を備え、
前記生成部は、
前記技能レベルが既知である既知利用者の行動履歴に関する各行動を通じて前記既知利用者が取得した前記所定の対象に関する各情報および前記既知利用者が前記所定の対象に関する各情報を取得した順序を示す情報を前記機械学習モデルに入力した場合に、前記既知利用者について既知である前記技能レベルを出力するように前記機械学習モデルを学習させる、
ことを特徴とする情報処理装置。
【請求項3】
前記推定部は、
前記行動履歴に関する各行動を通じて前記利用者が取得した前記所定の対象に関する各情報および前記利用者が前記所定の対象に関する各情報を取得した順序を示す情報に基づいて、前記技能レベルを推定する、
ことを特徴とする請求項1
または2に記載の情報処理装置。
【請求項4】
前記推定部は、
前記利用者が前記所定の対象に関する学習を開始した時期から現在までの期間における前記行動履歴に基づいて、前記技能レベルを推定する、
ことを特徴とする請求項1
~3のいずれか1つに記載の情報処理装置。
【請求項5】
前記推定部は、
直近の所定期間における前記行動履歴に基づいて、前記技能レベルを推定する、
ことを特徴とする請求項1~
4のいずれか1つに記載の情報処理装置。
【請求項6】
前記決定部は、
各利用者について推定した技能レベルの差に基づいて、前記所定の利用者と情報の送受信を行う相手を決定する、
ことを特徴とする請求項1~
5のいずれか1つに記載の情報処理装置。
【請求項7】
前記決定部は、
前記所定の利用者について推定した技能レベルと、前記所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まる場合は、前記他の利用者を前記所定の利用者と情報の送受信を行う相手として決定する、
ことを特徴とする請求項1~
6のいずれか1つに記載の情報処理装置。
【請求項8】
前記決定部は、
前記所定の利用者について推定した技能レベルと、前記所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まらない場合は、前記他の利用者を前記所定の利用者と情報の送受信を行う相手から除外する、
ことを特徴とする請求項1~
7のいずれか1つに記載の情報処理装置。
【請求項9】
前記推定部は、
前記利用者の行動履歴に基づいて、複数の対象それぞれに関する前記利用者が有する複数の技能レベルそれぞれを推定し、
前記決定部は、
前記所定の利用者について推定した複数の技能レベルそれぞれと、前記所定の利用者とは異なる他の利用者について推定した複数の技能レベルそれぞれとの差がそれぞれ所定の範囲内に収まる場合は、前記他の利用者を前記所定の利用者と情報の送受信を行う相手として決定する、
ことを特徴とする請求項1~
8のいずれか1つに記載の情報処理装置。
【請求項10】
前記決定部は、
前記所定の利用者について推定した技能レベルの所定期間における上昇の度合いと、前記所定の利用者とは異なる他の利用者について推定した技能レベルの前記所定期間における上昇の度合いとの差が所定の範囲内に収まる場合は、前記他の利用者を前記所定の利用者と情報の送受信を行う相手として決定する、
ことを特徴とする請求項1~
9のいずれか1つに記載の情報処理装置。
【請求項11】
前記決定部は、
前記所定の利用者とは異なる他の利用者について推定した技能レベルが所定の閾値を超える場合は、前記他の利用者を前記所定の利用者と情報の送受信を行う相手として決定する、
ことを特徴とする請求項1~
10のいずれか1つに記載の情報処理装置。
【請求項12】
コンピュータが実行する情報処理方法であって、
利用者の行動履歴に基づいて、所定の対象に関する前記利用者が有する技能レベルを推定する推定工程と、
各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定工程と、
を含
み、
前記推定工程は、
前記行動履歴として、前記利用者の検索履歴、前記利用者の購買履歴、前記利用者の閲覧履歴、前記利用者の投稿履歴、および前記利用者のメッセージのやり取りの履歴に基づいて、前記技能レベルを推定する、
ことを特徴とする情報処理方法。
【請求項13】
コンピュータが実行する情報処理方法であって、
利用者の行動履歴から所定の対象に関する前記利用者が有する技能レベルを推定する機械学習モデルを生成する生成工程と、
学習済みの前記機械学習モデルを用いて、前記技能レベルを推定する推定工程と、
各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定工程と、
を含み、
前記生成工程は、
前記技能レベルが既知である既知利用者の行動履歴に関する各行動を通じて前記既知利用者が取得した前記所定の対象に関する各情報および前記既知利用者が前記所定の対象に関する各情報を取得した順序を示す情報を前記機械学習モデルに入力した場合に、前記既知利用者について既知である前記技能レベルを出力するように前記機械学習モデルを学習させる、
ことを特徴とする情報処理方法。
【請求項14】
利用者の行動履歴に基づいて、所定の対象に関する前記利用者が有する技能レベルを推定する推定手順と、
各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定手順と、
をコンピュータに実行させ
、
前記推定手順は、
前記行動履歴として、前記利用者の検索履歴、前記利用者の購買履歴、前記利用者の閲覧履歴、前記利用者の投稿履歴、および前記利用者のメッセージのやり取りの履歴に基づいて、前記技能レベルを推定する、
情報処理プログラム。
【請求項15】
利用者の行動履歴から所定の対象に関する前記利用者が有する技能レベルを推定する機械学習モデルを生成する生成手順と、
学習済みの前記機械学習モデルを用いて、前記技能レベルを推定する推定手順と、
各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定手順と、
をコンピュータに実行させ、
前記生成手順は、
前記技能レベルが既知である既知利用者の行動履歴に関する各行動を通じて前記既知利用者が取得した前記所定の対象に関する各情報および前記既知利用者が前記所定の対象に関する各情報を取得した順序を示す情報を前記機械学習モデルに入力した場合に、前記既知利用者について既知である前記技能レベルを出力するように前記機械学習モデルを学習させる、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
近年、インターネットの飛躍的な普及に伴い、インターネットを介した情報配信が盛んに行われている。このような情報配信の一例として、利用者の趣味等に応じたインターネット上のコミュニティを利用者に提案し、コミュニティにおける利用者間の交流を実現する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、利用者が有用な情報を得られるようにすることを実現できるとは言えない場合がある。
【0005】
例えば、上述の従来技術では、ある利用者に対して共通する趣味を有する複数の利用者が属するコミュニティを提案する。しかしながら、共通の趣味を有する場合であっても、慣れてしまうと、一から始めた際に感じたわからない点などを忘れてしまう(または、当たり前に思ってしまう)ことがある。そのため、上述の従来技術では、一から始める利用者が、やり取りをした相手から有用な情報を得られず、挫折していく恐れがある。
【0006】
本願は、上記に鑑みてなされたものであって、利用者が有用な情報を得られるようにすることを可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本願に係る情報処理装置は、利用者の行動履歴に基づいて、所定の対象に関する前記利用者が有する技能レベルを推定する推定部と、各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する決定部と、を備えることを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、利用者が有用な情報を得られるようにすることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理の概要を示す図である。
【
図2】
図2は、実施形態に係る情報提供装置の構成例を示す図である。
【
図3】
図3は、利用者情報データベースの一例を示す図である。
【
図4】
図4は、履歴情報データベースの一例を示す図である。
【
図5】
図5は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.情報提供装置の一例〕
まず、
図1を用いて、情報処理装置の一例となる情報提供装置が実行する決定処理の一例について説明する。
図1は、実施形態に係る情報提供装置が実行する決定処理の一例を示す図である。
【0012】
なお、
図1に示す例では、情報提供装置10が実行する処理の一例として、利用者U02~U05が投稿した情報の配信リクエストを利用者U01から受付けた際に、決定処理を実行することで利用者U01と情報の送受信を行う他の利用者を決定し、決定した他の利用者の情報を利用者U01へと配信する情報提供処理の一例について記載した。ここで、実施形態は、このような形態に限定されるものではなく、情報提供装置10は、利用者間でのメッセージのやり取り等を行う際に後述する決定処理を実行することで、所定の利用者と情報の送受信を行う他の利用者を決定してもよい。
【0013】
以下、
図1に示す情報提供装置10の一例について説明する。情報提供装置10は、インターネット等の所定のネットワークN(例えば、
図2参照)を介して、利用者U01~U05(以下、「利用者U」と総称する場合がある。)が利用する端末装置101~105(以下、「端末装置100」と総称する場合がある。)と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の利用者が利用する任意の数の端末装置100と通信可能であってよい。また、情報提供装置10は、図示を省略した各種の外部サーバと通信可能であってもよい。
【0014】
端末装置100は、利用者Uが利用するスマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPCやノートPC等の情報処理装置であってもよい。
【0015】
〔2.情報提供処理の一例について〕
次に、情報提供装置10が実行する情報提供処理の流れの一例について説明する。例えば、情報提供装置10は、所謂SNS(Social Networking Service)と呼ばれるサービスを利用者Uに対して提供する。例えば、情報提供装置10は、利用者Uからテキスト、静止画像、動画像、音声等といった各種のコンテンツを含む情報を投稿情報として受付ける。このような場合、情報提供装置10は、受付けた投稿情報を保持する。
【0016】
一方、情報提供装置10は、利用者Uから投稿情報の配信要求を受付けた場合は、保持した投稿情報のうち、要求元の利用者UとSNS上でつながりを有する他の利用者Uが投稿した投稿情報を抽出する。より具体的には、情報提供装置10は、要求元の利用者Uと同じ対象(例えば、プログラミング、投資など)に関する技能を有する他の利用者が投稿した投稿情報を抽出する。例えば、情報提供装置10は、予め登録された各利用者の情報に基づいて、利用者Uと同じ対象に関する技能を有する他の利用者が投稿した投稿情報を抽出する。そして、情報提供装置10は、抽出した投稿情報を要求元となる利用者Uへと配信する。
【0017】
この結果、情報提供装置10は、要求元となる利用者Uと同じ対象に関する技能を有する他の利用者が投稿した投稿情報を提供することができる。このため、情報提供装置10は、要求元となる利用者にとって有用である可能性が高い情報を配信することができる。
【0018】
ここで、所定の対象に関する技能を有する利用者とは、所定の対象に関する興味関心を有する利用者であると言い換えることができる。例えば、所定の対象がプログラミングである場合、プログラミングに関する興味関心を有して間もない(例えば、1週間など)利用者は、プログラミングに関する知識が少ないと推定される。このように、プログラミングに関する興味関心を有して間もない利用者は、プログラミングに関する知識が少ないため、プログラミングに関する技能レベルが低いと推定される。一方、プログラミングに関する興味関心を長期間(例えば、10年間など)有する利用者は、プログラミングに関する興味関心を有して間もない利用者と比べると、プログラミングに関する知識を豊富に有していると推定される。このように、プログラミングに関する興味関心を長期間有する利用者は、プログラミングに関する知識を豊富に有しているため、プログラミングに関する技能レベルが高いと推定される。このように、所定の対象に関する技能を有する利用者とは、所定の対象に関する興味関心を有する利用者であると言える。
【0019】
本実施形態では、情報提供装置10が、各利用者の興味関心の対象(以下、対象ともいう)を示す対象情報をあらかじめ取得し、取得した対象情報と各利用者を識別可能な利用者IDを対応付けて利用者情報データベース31(
図2参照)にあらかじめ記憶しているものとする。また、情報提供装置10は、各利用者が、各利用者IDと対応付けられた対象情報が示す対象に関する技能を有すると推定する。例えば、情報提供装置10は、利用者情報データベース31を参照して、利用者Uと対応付けられた対象情報がプログラミングである場合、利用者Uがプログラミングに関する技能を有すると推定する。同様に、情報提供装置10は、利用者情報データベース31を参照して、他の利用者と対応付けられた対象情報がプログラミングである場合、他の利用者がプログラミングに関する技能を有すると推定する。すなわち、情報提供装置10は、利用者情報データベース31を参照して、利用者Uと対応付けられた対象情報と同じ対象情報が対応付けられた他の利用者を、利用者Uと同じ対象に関する技能を有する他の利用者として特定する。
【0020】
なお、情報提供装置10は、各利用者が有する技能の対象を示す対象情報を利用者の自己申告により利用者から取得し、取得した対象情報と各利用者を識別可能な利用者IDを対応付けて利用者情報データベース31にあらかじめ記憶してもよい。
【0021】
〔3.従来の利用者間の情報のやり取りについて〕
ここで、情報提供装置10は、上述した情報提供処理により、利用者U間での情報のやり取りを図ることができる。例えば、情報提供装置10は、利用者U01が投稿した各種の質問に関する投稿情報を利用者U02に配信し、利用者U01が投稿した投稿情報に対応する応答として利用者U02が投稿した投稿情報を利用者U01に配信することで、利用者U01と利用者U02との間の情報のやり取りを図ることができる。
【0022】
しかしながら、従来技術では、利用者が有用な情報を得られるようにすることを実現できるとは言えない場合があった。例えば、従来技術においては、利用者U01と同じ対象に関する技能を有する他の利用者の投稿を利用者U01に提供する。しかしながら、同じ対象に関する技能を有する場合であっても、利用者間に技能レベルの格差が存在する場合は、利用者間で有用な情報のやり取りができない場合がある。
【0023】
例えば、技能の対象が「プログラミング」である利用者U01~U05がいるものとする。このような場合、利用者U01~U05は、共通する技能の対象である「プログラミング」に関する対話を行うことができると考えられる。例えば、利用者U01がプログラミングに関してあまり知識がない初心者であり、利用者U02がプログラミングに関してある程度の知識を有する中級者である場合、利用者U01の質問に対して利用者U02が共感を持って知識の伝授等といった応答を行うことが考えられる。
【0024】
しかしながら、例えば、利用者U01が初心者であり、利用者U05が上級者である場合、利用者U01の質問に対して利用者U05が上から目線で利用者U01を批判する内容の応答を投稿してしまう恐れがある。より具体的には、利用者U01の質問内容は、利用者U05にとって当然の事実であるため、利用者U05が「自分で調べろ!」などといった利用者U01を批判する投稿を行う恐れがある。また、このような利用者U05の投稿に対し、利用者U01から批判的な投稿がされる恐れがある。
【0025】
また、例えば、利用者U01がプログラミングに関する学習を開始して間もない初期の利用者であり、利用者U02がプログラミングに関する学習を開始してから1年程度が経過した利用者である場合、利用者U01の質問に対し、利用者U02から的確な回答やアドバイス等の応答を得る可能性が高い。しかしながら、利用者U05がプログラミングに関する学習を開始してから5年程度が経過した利用者である場合、プログラミングに関する学習を開始して間もない頃に感じたわからない点などを忘れてしまい、的確でない応答をしてしまう恐れがある。
【0026】
また、上述したプログラミングの例以外にも、例えば、対象に関する技能レベルについて格差が存在する場合には、利用者間で有用な情報のやり取りが阻害される恐れがある。例えば、各種の学習行為や業務上の能力等、対象に関する技能レベルに格差が存在する場合には、利用者間で有用な情報のやり取りが阻害される恐れがある。
【0027】
〔4.決定処理について〕
このように、同じ対象に関する技能を有する場合であっても、利用者U間に技能レベルの格差が存在する場合は、利用者U間で有用な情報のやり取りができない場合がある。そこで、情報提供装置10は、利用者の行動履歴に基づいて、所定の対象に関する利用者が有する技能レベルを推定する。そして、情報提供装置10は、所定の利用者について推定した技能レベルと、所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0028】
これにより、情報提供装置10は、技能レベルの差が適切な範囲内に収まる利用者同士が情報のやり取りをするように制御することができる。すなわち、情報提供装置10は、利用者が有用な情報を得るようにすることができる。
【0029】
一方、情報提供装置10は、所定の利用者について推定した技能レベルと、所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まらない場合は、他の利用者を所定の利用者と情報の送受信を行う相手から除外する。
【0030】
これにより、情報提供装置10は、例えば、技能レベルの差が大きい利用者同士が情報のやり取りをしないように制御することができる。すなわち、情報提供装置10は、例えば、一から始める利用者(技能レベルの低い利用者)が、技能レベルの高い相手と情報をやり取りしたために有用な情報を得られず、結果として挫折していくのを未然に防ぐことができる。
【0031】
〔5.決定処理および情報提供処理の一例について〕
図1の説明に戻って、情報提供装置10が実行する決定処理および情報提供処理の流れの一例を説明する。なお、
図1に示す例では、利用者U01~U04は、プログラミングに関する技能を有する利用者であるものとする。また、
図1に示す例では、利用者間の技能レベルの差が「4」以下となる場合に、投稿情報を提供対象とするものとする。
【0032】
例えば、情報提供装置10は、利用者U01~利用者U05から質問、応答、愚痴や日記等、各種コンテンツを含む投稿情報を受付ける(ステップS1~S5)。このような場合、情報提供装置10は、受付けた投稿情報を保持する。また、情報提供装置10は、利用者U01から投稿情報の配信を要求するリクエストを受付ける(ステップS6)。このような場合、情報提供装置10は、利用者U01の行動履歴に基づいて、プログラミングに関する利用者U01が有する技能レベルを推定する(ステップS7)。また、情報提供装置10は、他の利用者U02~U05それぞれの行動履歴に基づいて、他の利用者U02~U05それぞれの技能レベルを推定する(ステップS8)。そして、情報提供装置10は、各利用者U01~U05のうち、技能の対象が利用者U01と同一で、技能レベルの差が所定の範囲内に収まる利用者を、利用者U01と情報の送受信を行う他の利用者として決定する。続いて、情報提供装置10は、利用者U01と情報の送受信を行う相手として決定した他の利用者が投稿した投稿情報を選択する(ステップS9)。
【0033】
例えば、情報提供装置10は、
図1中(A)に示すように、利用者U01~U05の技能レベルと、利用者U01~U05の技能の対象を特定する。例えば、
図1中(A)に示す例では、情報提供装置10は、利用者U01の技能レベル「レベル5」、対象「プログラミング」を特定し、利用者U02の技能レベル「レベル4」、対象「プログラミング」を特定し、利用者U03の技能レベル「レベル10」、対象「プログラミング」を特定し、利用者U04の技能レベル「レベル6」、対象「プログラミング」を特定し、利用者U05の技能レベル「レベル4」、対象「投資」を特定する。
【0034】
このような場合、情報提供装置10は、利用者U01と同じ対象「プログラミング」に関する技能を有する利用者U02~U04が投稿した投稿情報であって、利用者U01の技能レベルとの差が所定の範囲内に収まる利用者が投稿した投稿情報を選択する。例えば、
図1に示す例では、利用者U01の技能レベル「レベル5」と、利用者U02の技能レベル「レベル4」との差は、所定の閾値である「4」以下となる。また、利用者U01の質問を利用者U01よりも技能レベルが低い利用者U02に提供しても適切な回答を得られる可能性は少ないが、利用者U02の質問を利用者U01に提供した場合、適切な回答を得られる可能性が高い。そこで、情報提供装置10は、
図1中(B)に示すように、利用者U01に対して提供する情報として、利用者U02が投稿した投稿情報のうち、質問に関連する質問情報を提供対象として選択する。
【0035】
また、例えば、
図1に示す例では、利用者U01の技能レベル「レベル5」と、利用者U03の技能レベル「レベル10」との差は、所定の閾値である「4」を超える。このような場合、利用者U01の質問に対し利用者U03は適切な回答を行う可能性が低い。そこで、情報提供装置10は、
図1中(B)に示すように、利用者U03が投稿した投稿情報を、利用者U01に対する提供対象から除外する。
【0036】
例えば、
図1に示す例では、利用者U01の技能レベル「レベル5」と、利用者U04の技能レベル「レベル6」との差は、所定の閾値である「4」以下となる。また、利用者U01の質問を利用者U01よりも技能レベルが高い利用者U04に提供した場合は、適切な回答を得られる可能性が高い。そこで、情報提供装置10は、
図1中(B)に示すように、利用者U01に対して提供する情報として、利用者U04が投稿した投稿情報のうち、利用者U01が投稿した質問情報に対する応答に関連する応答情報を提供対象として選択する。
【0037】
この結果、情報提供装置10は、
図1中(C)に示すように、利用者U01が過去に投稿した質問情報C11、質問情報C11に対する利用者U04の応答情報C12、利用者U02が投稿した質問情報C13等を並べたコンテンツを生成し、生成したコンテンツを利用者U01の端末装置101へと配信する。すなわち、情報提供装置10は、利用者U01~U04の技能レベルの差に応じて選択した情報を利用者U01に対して配信する(ステップS10)。この結果、情報提供装置10は、利用者U01の質問に対して共感を持った応答や適切な応答、利用者U01が共感を持って応答できる質問等を提供することができるので、利用者U01が有用な情報を得るようにすることができる。また、情報提供装置10は、利用者U01が、技能レベルの高すぎる相手(例えば、利用者U03)と情報をやり取りしたために有用な情報を得られず、結果として挫折していくのを未然に防ぐことができる。
【0038】
〔6.情報提供装置の構成例〕
図2は、実施形態に係る情報提供装置10の構成例を示す図である。
図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0039】
(通信部20)
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100との間で情報の送受信を行う。
【0040】
(記憶部30)
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、利用者情報データベース31および履歴情報データベース32を記憶する。
【0041】
(利用者情報データベース31)
利用者情報データベース31は、情報提供装置10が提供するサービスの利用者Uに関する各種情報を記憶する。例えば、利用者情報データベース31は、利用者Uの属性等の種々の情報を記憶する。
図3は、利用者情報データベース31の一例を示す図である。
図3に示した例では、利用者情報データベース31は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「技能レベル」、「対象」といった項目を有する。
【0042】
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、例えば35歳など、利用者IDにより識別される利用者Uの具体的な年齢であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。
【0043】
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、
図3に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0044】
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、
図3に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0045】
また、「技能レベル」は、利用者IDにより識別される利用者Uが対象に関して有する技能レベルを示す。例えば、「レベル〇」の「〇」に入る数字の大きさが大きいほど、技能レベルが高いことを示す。
【0046】
また、「対象」は、利用者IDにより識別される利用者Uが有する興味および技能の対象を示す。例えば、「対象」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「対象」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、
図3に示す例では、「対象」は、各利用者Uに1つずつ図示するが、複数であってもよい。
【0047】
例えば、
図3に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「プログラミング」に関する興味および技能を有することを示す。また、利用者ID「U1」により識別される利用者Uは、プログラミングに関する技能レベルが「レベル5」であることを示す。
【0048】
ここで、
図3に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。
【0049】
なお、利用者情報データベース31は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース31は、利用者Uの端末装置100に関する各種情報を記憶してもよい。また、利用者情報データベース31は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース31は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
【0050】
(履歴情報データベース32)
履歴情報データベース32は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。
図4は、履歴情報データベース32の一例を示す図である。
図4に示した例では、履歴情報データベース32は、「利用者ID」、「検索履歴」、「閲覧履歴」、「購買履歴」、「投稿履歴」といった項目を有する。
【0051】
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購買履歴」は、利用者Uによる購買の履歴である購買履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。
【0052】
例えば、
図4に示す例において、利用者ID「U1」により識別される利用者Uは、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購買履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴#1」の通りに投稿したことを示す。
【0053】
ここで、
図4に示す例では、「U1」、「検索履歴#1」、「閲覧履歴#1」、「購買履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「検索履歴#1」、「閲覧履歴#1」、「購買履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0054】
なお、履歴情報データベース32は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース32は、LINE(登録商標)等のメッセージサービスにおいて利用者Uが他の利用者と過去にやり取りしたメッセージの履歴に関するメッセージ情報を記憶する。
【0055】
また、履歴情報データベース32は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース32は、利用者Uの電子決済での決済履歴等を記憶してもよい。
【0056】
図2に戻り、説明を続ける。制御部40は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報提供装置10の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。
図2に示す例では、制御部40は、取得部41、生成部42、推定部43、受付部44、決定部45、配信部46を有する。
【0057】
(取得部41)
取得部41は、端末装置100や各種サーバ等から、情報提供装置10が提供するサービスの利用者Uに関する各種情報を取得する。例えば、取得部41は、利用者を示す情報(利用者ID等)や、利用者の位置情報、利用者の属性情報等の利用者に関する利用者情報を取得する。そして、取得部41は、取得した利用者情報を利用者情報データベース31に登録する。
【0058】
また、取得部41は、利用者Uの行動履歴を取得する。例えば、取得部41は、ウェブ検索に関するサービスを提供する外部サーバや、電子商取引に関するサービスを提供する外部サーバ等、各種の外部サーバから利用者Uの行動履歴を収集し、収集した行動履歴を履歴情報データベース32に登録する。
【0059】
(生成部42)
生成部42は、行動履歴から技能レベルを推定する機械学習モデルを生成する。具体的には、生成部42は、履歴情報データベース32を参照して、技能レベルが既知である既知利用者が所定の対象に関する学習を開始した時期から現在までの期間における行動履歴を取得する。例えば、生成部42は、既知利用者が所定の対象に関する検索クエリを初めて検索した検索日時を既知利用者が所定の対象に関する学習を開始した時期として特定してよい。また、生成部42は、行動履歴の例として、既知利用者の検索履歴、既知利用者の購買履歴、既知利用者の閲覧履歴、既知利用者の投稿履歴、および既知利用者のメッセージのやり取りの履歴を取得する。続いて、生成部42は、既知利用者の行動履歴を取得すると、取得した行動履歴に関する各行動を通じて既知利用者が取得した所定の対象に関する各情報を推定する。
【0060】
例えば、生成部42は、取得した検索履歴に関する検索行動を通じて、既知利用者が検索日時に検索クエリに関する情報を取得したと推定する。また、生成部42は、取得した購買履歴に関する購買行動を通じて、既知利用者が購買日時に購買対象の商品名に含まれるキーワードに関する情報を取得したと推定する。また、生成部42は、取得した閲覧履歴に関する閲覧行動を通じて、既知利用者が閲覧日時に閲覧したコンテンツに含まれるキーワードに関する情報を取得したと推定する。また、生成部42は、取得した投稿履歴に関する投稿行動を通じて、例えば、既知利用者が投稿した質問に対する他の利用者の回答に関する投稿情報を受信した日時に、既知利用者が回答に関する投稿情報に含まれるキーワードに関する情報を取得したと推定する。また、生成部42は、取得したメッセージのやり取りの履歴に関するメッセージのやり取りを通じて、既知利用者がメッセージを受信した日時にメッセージに含まれるキーワードに関する情報を取得したと推定する。このようにして、生成部42は、行動履歴に関する各行動を通じて既知利用者が取得した所定の対象に関する各情報を推定する。
【0061】
また、生成部42は、既知利用者が取得した各情報を推定すると、推定した各情報の取得推定日時の順序で既知利用者が各情報を取得したと推定する。このようにして、生成部42は、利用者が所定の対象に関する各情報を取得した順序を示す情報を取得する。
【0062】
続いて、生成部42は、既知利用者の行動履歴に関する各行動を通じて既知利用者が取得した所定の対象に関する各情報および既知利用者が所定の対象に関する各情報を取得した順序を示す情報を機械学習モデルに入力した場合に、既知利用者の技能レベルを出力するように機械学習モデルを学習させる。ここで、既知利用者が取得した各情報および各情報を取得した順序を示す情報は、一種の時系列データであると言える。そこで、生成部42は、機械学習モデルの一例として、時系列データの学習に適した再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)またはLSTM(Long Short Term Memory)を用いて上記の学習を行ってもよい。例えば、生成部42は、既知利用者が取得した所定の対象に関する各情報を既知利用者が所定の対象に関する各情報を取得した順序に従ってRNNまたはLSTMに入力した場合に、既知利用者の技能レベルを出力するようにRNNまたはLSTMを学習させる。
【0063】
これにより、情報提供装置10は、利用者がどの順番で所定の対象に関するどの情報を取得したかに基づいて利用者の技能レベルを推定することができるので、利用者の技能レベルを適切に推定することができる。
【0064】
(推定部43)
推定部43は、利用者の行動履歴に基づいて、所定の対象に関する利用者が有する技能レベルを推定する。具体的には、推定部43は、生成部42が生成した学習済みの機械学習モデルを用いて、技能レベルを推定する。
【0065】
より具体的には、推定部43は、履歴情報データベース32を参照して、利用者が所定の対象に関する学習を開始した時期から現在までの期間における利用者の行動履歴を取得する。例えば、推定部43は、利用者が所定の対象に関する検索クエリを初めて検索した検索日時を利用者が所定の対象に関する学習を開始した時期として特定してよい。また、推定部43は、行動履歴の例として、利用者の検索履歴、利用者の購買履歴、利用者の閲覧履歴、利用者の投稿履歴、および利用者のメッセージのやり取りの履歴を取得する。続いて、推定部43は、利用者の行動履歴を取得すると、取得した行動履歴に関する各行動を通じて利用者が取得した所定の対象に関する各情報を推定する。
【0066】
例えば、推定部43は、取得した検索履歴に関する検索行動を通じて、利用者が検索日時に検索クエリに関する情報を取得したと推定する。また、推定部43は、取得した購買履歴に関する購買行動を通じて、利用者が購買日時に購買対象の商品名に含まれるキーワードに関する情報を取得したと推定する。また、推定部43は、取得した閲覧履歴に関する閲覧行動を通じて、利用者が閲覧日時に閲覧対象の記事に含まれるキーワードに関する情報を取得したと推定する。また、推定部43は、取得した投稿履歴に関する投稿行動を通じて、利用者の質問に対する回答者による回答に関する投稿情報を受け付けた日時に、回答に関する投稿情報に含まれるキーワードに関する情報を取得したと推定する。また、推定部43は、取得したメッセージのやり取りの履歴に関するメッセージのやり取りを通じて、利用者がメッセージを受信した日時にメッセージに含まれるキーワードに関する情報を取得したと推定する。このようにして、推定部43は、行動履歴に関する各行動を通じて利用者が取得した所定の対象に関する各情報を推定する。
【0067】
また、推定部43は、利用者が取得した各情報を推定すると、推定した各情報の取得推定日時の順序で利用者が各情報を取得したと推定する。このようにして、推定部43は、利用者が所定の対象に関する各情報を取得した順序を示す情報を取得する。
【0068】
推定部43は、行動履歴に関する各行動を通じて利用者が取得した所定の対象に関する各情報および利用者が所定の対象に関する各情報を取得した順序を示す情報を取得すると、利用者が取得した所定の対象に関する各情報を利用者が各情報を取得した順序に従って生成部42が生成した学習済みの機械学習モデルに入力することで、機械学習モデルから出力された技能レベルを利用者の技能レベルの推定結果として取得する。同様にして、推定部43は、各利用者の行動履歴に基づいて、所定の対象に関する各利用者が有する技能レベルを推定する。
【0069】
(受付部44)
受付部44は、所定の利用者から情報の配信を要求するリクエストを受付ける。例えば、受付部44は、所定の利用者から投稿情報の配信を要求するリクエストを受付ける。
【0070】
(決定部45)
決定部45は、受付部44がリクエストを受け付けると、推定部43が各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する。具体的には、決定部45は、推定部43が各利用者について推定した技能レベルの差に基づいて、所定の利用者と情報の送受信を行う相手を決定する。例えば、決定部45は、所定の利用者について推定した技能レベルと、所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0071】
これにより、情報提供装置10は、技能レベルの差が適切な範囲内に収まる利用者同士が情報のやり取りをするように制御することができる。すなわち、情報提供装置10は、利用者が有用な情報を得るようにすることができる。
【0072】
一方、決定部45は、所定の利用者について推定した技能レベルと、所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まらない場合は、他の利用者を所定の利用者と情報の送受信を行う相手から除外する。
【0073】
これにより、情報提供装置10は、例えば、技能レベルの差が大きい利用者同士が情報のやり取りをしないように制御することができる。すなわち、情報提供装置10は、例えば、一から始める利用者(技能レベルの低い利用者)が、技能レベルの高い相手と情報をやり取りしたために有用な情報を得られず、結果として挫折していくのを防ぐことができる。
【0074】
(配信部46)
配信部46は、所定の利用者に対して、決定部45が所定の利用者と情報の送受信を行う相手として決定した他の利用者に関する情報を配信する。例えば、配信部46は、所定の利用者に対して、決定部45が所定の利用者と情報の送受信を行う相手として決定した他の利用者の投稿情報を配信する。
【0075】
〔7.変形例〕
上述した情報提供装置10は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0076】
〔7-1.技能レベルの推定処理〕
上述した実施形態では、推定部43が、利用者が所定の対象に関する学習を開始した時期から現在までの期間における行動履歴に基づいて、技能レベルを推定する場合について説明したが、推定部43が技能レベルを推定する方法はこれに限られない。
【0077】
具体的には、推定部43は、直近の所定期間における行動履歴に基づいて、技能レベルを推定してもよい。例えば、推定部43は、直近の過去6か月(または直近の過去3か月、直近の12か月など)における行動履歴に基づいて、技能レベルを推定してもよい。
【0078】
これにより、情報提供装置10は、直近の行動履歴を用いることで、利用者の過去の古い学び方や情報が混ざらないようにすることができるので、利用者の技能レベルを適切に推定することができる。
【0079】
〔7-2.情報の送受信を行う相手の決定処理〕
また、上述した実施形態では、決定部45が、所定の利用者について推定した技能レベルと、他の利用者について推定した技能レベルとの差が所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する場合について説明したが、決定部45が情報の送受信を行う相手を決定する方法はこれに限られない。
【0080】
〔7-2-1.複数の技能レベルの差が近い利用者〕
例えば、推定部43は、利用者の行動履歴に基づいて、複数の対象それぞれに関する利用者が有する複数の技能レベルそれぞれを推定する。例えば、推定部43は、複数のプログラミング言語それぞれに関して各利用者が有する技能レベルをそれぞれ推定する。決定部45は、所定の利用者について推定した複数の技能レベルそれぞれと、所定の利用者とは異なる他の利用者について推定した複数の技能レベルそれぞれとの差がそれぞれ所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0081】
このように、情報提供装置10は、複数の技能レベルの差が適切な範囲内に収まる利用者同士をマッチングすることで、利用者にとってより適切な相手をマッチングすることができる。
【0082】
〔7-2-2.技能レベルの上昇の度合いが近い利用者〕
また、決定部45は、所定の利用者について推定した技能レベルの所定期間における上昇の度合いと、所定の利用者とは異なる他の利用者について推定した技能レベルの所定期間における上昇の度合いとの差が所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0083】
このように、情報提供装置10は、技能レベルの上昇の度合い(つまり、上達の幅)が近い利用者同士をマッチングすることで、利用者にとってより適切な相手をマッチングすることができる。
【0084】
〔7-2-3.技能レベルが所定の閾値を超える利用者〕
また、決定部45は、所定の利用者とは異なる他の利用者について推定した技能レベルが所定の閾値を超える場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定してもよい。
【0085】
このように、情報提供装置10は、例えば、手本にしたい熟練者や専門家に相当するような高度な技能レベルを有する相手を利用者とマッチングさせることができる。
【0086】
〔7-2-4.その他の利用者〕
また、決定部45は、所定の利用者と情報の送受信を行う相手として、ストレングスファインダーなどの性質が所定の利用者と類似する利用者を決定してよい。また、決定部45は、所定の利用者と情報の送受信を行う相手として、育児で時間がない利用者や役員クラスなどの属性情報が所定の利用者と類似する利用者を決定してよい。また、決定部45は、所定の利用者と情報の送受信を行う相手として、勉強に充てられる時間や可処分時間などスケジュール管理の仕方が所定の利用者と類似する利用者を決定してよい。また、決定部45は、所定の利用者と情報の送受信を行う相手として、年代、年収、働いている業界などのステータスが所定の利用者と類似する利用者を決定してよい。
【0087】
また、上記の実施形態において、情報提供装置10が実行している処理は、実際には、端末装置100が実行してもよい。すなわち、スタンドアロン(Standalone)で(端末装置100単体で)処理が完結してもよい。この場合、端末装置100に、上記の実施形態における情報提供装置10の機能が備わっているものとする。
【0088】
〔8.効果〕
上述してきたように、本願に係る情報処理装置(情報提供装置10)は、推定部43と決定部45を備える。推定部43は、利用者の行動履歴に基づいて、所定の対象に関する利用者が有する技能レベルを推定する。決定部45は、各利用者について推定した技能レベルに基づいて、所定の利用者と情報の送受信を行う相手を決定する。
【0089】
これにより、情報処理装置は、利用者の技能レベルに応じた相手をマッチングして、利用者が情報のやり取りを行うことを可能にすることができる。したがって、情報処理装置は、利用者が有用な情報を得るようにすることができる。
【0090】
また、推定部43は、行動履歴に関する各行動を通じて利用者が取得した所定の対象に関する各情報および利用者が所定の対象に関する各情報を取得した順序を示す情報に基づいて、技能レベルを推定する。
【0091】
これにより、情報処理装置は、利用者がどの順番で所定の対象に関するどの情報を取得したかに基づいて利用者の技能レベルを推定することができるので、利用者の技能レベルを適切に推定することができる。
【0092】
また、推定部43は、利用者が所定の対象に関する学習を開始した時期から現在までの期間における行動履歴に基づいて、技能レベルを推定する。
【0093】
これにより、情報処理装置は、利用者が所定の対象に関する学習を開始した時期から現在までの期間における利用者の学習の過程を考慮することができるので、利用者の技能レベルを適切に推定することができる。
【0094】
また、推定部43は、直近の所定期間における行動履歴に基づいて、技能レベルを推定する。
【0095】
これにより、情報処理装置は、例えば、利用者の過去の古い学び方や情報が混ざらないようにすることができるので、利用者の技能レベルを適切に推定することができる。
【0096】
また、推定部43は、行動履歴として、利用者の検索履歴、利用者の購買履歴、利用者の閲覧履歴、利用者の投稿履歴、および利用者のメッセージのやり取りの履歴に基づいて、技能レベルを推定する。
【0097】
これにより、情報処理装置は、利用者が所定の対象に関する学習の過程で取得した検索クエリ等の情報に基づいて、利用者の技能レベルを適切に推定することができる。
【0098】
また、情報処理装置(情報提供装置10)は、生成部42をさらに備える。生成部42は、行動履歴から技能レベルを推定する機械学習モデルを生成する。推定部43は、学習済みの機械学習モデルを用いて、技能レベルを推定する。
【0099】
これにより、情報処理装置は、機械学習モデルを用いることで、利用者の行動履歴の特徴を適切に学習することができるので、利用者の技能レベルを適切に推定することができる。
【0100】
また、生成部42は、技能レベルが既知である既知利用者の行動履歴に関する各行動を通じて既知利用者が取得した所定の対象に関する各情報および既知利用者が所定の対象に関する各情報を取得した順序を示す情報を機械学習モデルに入力した場合に、既知利用者について既知である技能レベルを出力するように機械学習モデルを学習させる。
【0101】
これにより、情報処理装置は、利用者がどの順番で所定の対象に関するどの情報を取得したかを機械学習モデルに学習させることができるので、利用者の技能レベルを適切に推定することができる。
【0102】
また、決定部45は、各利用者について推定した技能レベルの差に基づいて、所定の利用者と情報の送受信を行う相手を決定する。
【0103】
これにより、情報処理装置は、例えば、技能レベルの差が大きい利用者同士をマッチングさせないようにすることができる。すなわち、情報処理装置は、例えば、一から始める利用者(技能レベルの低い利用者)が、技能レベルの高い相手と情報をやり取りしたために有用な情報を得られず、結果として挫折していくのを未然に防ぐことができる。また、情報処理装置は、技能レベルの差が適切な範囲内に収まる利用者同士をマッチングすることができる。すなわち、情報処理装置は、利用者が有用な情報を得るようにすることができる。
【0104】
また、決定部45は、所定の利用者について推定した技能レベルと、所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0105】
これにより、情報処理装置は、技能レベルの差が適切な範囲内に収まる利用者同士が情報のやり取りをするように制御することができる。すなわち、情報処理装置は、利用者が有用な情報を得るようにすることができる。
【0106】
また、決定部45は、所定の利用者について推定した技能レベルと、所定の利用者とは異なる他の利用者について推定した技能レベルとの差が所定の範囲内に収まらない場合は、他の利用者を所定の利用者と情報の送受信を行う相手から除外する。
【0107】
これにより、情報処理装置は、例えば、技能レベルの差が大きい利用者同士が情報のやり取りをしないように制御することができる。すなわち、情報処理装置は、例えば、一から始める利用者(技能レベルの低い利用者)が、技能レベルの高い相手と情報をやり取りしたために有用な情報を得られず、結果として挫折していくのを防ぐことができる。
【0108】
また、推定部43は、利用者の行動履歴に基づいて、複数の対象それぞれに関する利用者が有する複数の技能レベルそれぞれを推定する。決定部45は、所定の利用者について推定した複数の技能レベルそれぞれと、所定の利用者とは異なる他の利用者について推定した複数の技能レベルそれぞれとの差がそれぞれ所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0109】
このように、情報処理装置は、複数の技能レベルの差が適切な範囲内に収まる利用者同士をマッチングすることで、利用者にとってより適切な相手をマッチングすることができる。これにより、情報処理装置は、利用者が有用な情報を得るようにすることができる。
【0110】
また、決定部45は、所定の利用者について推定した技能レベルの所定期間における上昇の度合いと、所定の利用者とは異なる他の利用者について推定した技能レベルの所定期間における上昇の度合いとの差が所定の範囲内に収まる場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0111】
このように、情報処理装置は、技能レベルの上昇の度合い(つまり、上達の幅)が近い利用者同士をマッチングすることで、利用者にとってより適切な相手をマッチングすることができる。これにより、情報処理装置は、利用者が有用な情報を得るようにすることができる。
【0112】
また、決定部45は、所定の利用者とは異なる他の利用者について推定した技能レベルが所定の閾値を超える場合は、他の利用者を所定の利用者と情報の送受信を行う相手として決定する。
【0113】
このように、情報処理装置は、例えば、手本にしたい熟練者や専門家に相当するような高度な技能レベルを有する相手を利用者とマッチングさせることができる。これにより、情報処理装置は、高度な技能レベルを有する相手から利用者が有用な情報を得るようにすることができる。
【0114】
〔9.ハードウェア構成〕
また、上述した実施形態に係る端末装置100や情報提供装置10は、例えば
図5に示すような構成のコンピュータ1000によって実現される。以下、情報提供装置10を例に挙げて説明する。
図5は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0115】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0116】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0117】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0118】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0119】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0120】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0121】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0122】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0123】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0124】
〔10.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0125】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0126】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0127】
例えば、上述した情報提供装置10は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0128】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0129】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。
【符号の説明】
【0130】
10 情報提供装置
20 通信部
30 記憶部
31 利用者情報データベース
32 履歴情報データベース
40 制御部
41 取得部
42 生成部
43 推定部
44 受付部
45 決定部
46 配信部
100 端末装置