(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-10
(45)【発行日】2023-01-18
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06Q 30/02 20230101AFI20230111BHJP
G06F 16/24 20190101ALI20230111BHJP
【FI】
G06Q30/02
G06F16/24
(21)【出願番号】P 2021045288
(22)【出願日】2021-03-18
【審査請求日】2021-04-22
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】濱田 健宏
(72)【発明者】
【氏名】工藤 和也
(72)【発明者】
【氏名】高田 浩彰
(72)【発明者】
【氏名】中里 佳央
(72)【発明者】
【氏名】中野 毅郎
【審査官】岡北 有平
(56)【参考文献】
【文献】特開2019-168817(JP,A)
【文献】特開2011-238020(JP,A)
【文献】特開2020-129192(JP,A)
【文献】特開2018-147045(JP,A)
【文献】崔 洙瑚,ウェブ広告閲覧履歴を用いたユーザ属性の推定,第12回データ工学と情報マネジメントに関するフォーラム (第18回日本データベース学会年次大会) [online] ,日本,2020年03月04日
【文献】本田 良司 Ryoji Honda,一般社団法人 人工知能学会 第34回全国大会(2020) [online],2022年06月09日
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
所定の条件を満たす複数のユーザ情報
である検索クエリの入力情報を、類似するベクトルに変換する第1モデルを生成する第1生成部と、
前記第1生成部によって生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する第2モデルを生成する第2生成部と、
前記第2生成部によって推定されたユーザ属性に基づいて、情報を提供する提供部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記第1生成部は、
所定の時間内又は同一セッション内に行われた複数のユーザ行動のユーザ情報、若しくは、複数のユーザ行動の連続性に関する所定の条件を満たすユーザ情報を、類似するベクトルに変換する第1モデルを生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1生成部は、
ユーザ行動の行動結果に基づくコンテンツに紐づく情報に関する所定の条件を満たすユーザ情報を、類似するベクトルに変換する第1モデルを生成する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記第2生成部は、
予め属性が既知のユーザの集約ベクトルを入力すると、当該属性を示す情報を出力するよう学習された第2モデルを生成する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第2生成部は、
一の属性を推定する一の第2モデルと、二の属性を推定する二の第2モデルとから出力されたそれぞれの情報に基づいて、複数の属性の組み合わせに基づくユーザ属性を推定する第2モデルを生成する
ことを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第
2生成部は、
時系列を学習し再現可能な自然言語処理技術に基づいて変換された、時間的特徴を有するベクトルを集約した集約ベクトルに基づいて、前記第2モデルを生成する
ことを特徴とする請求項1~5のいずれか1項に記載の情報処理装置。
【請求項7】
コンピュータが実行する情報処理方法であって、
所定の条件を満たす複数のユーザ情報
である検索クエリの入力情報を、類似するベクトルに変換する第1モデルを生成する第1生成工程と、
前記第1生成工程によって生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する第2モデルを生成する第2生成工程と、
前記第2生成工程によって推定されたユーザ属性に基づいて、情報を提供する提供工程と、
を含むことを特徴とする情報処理方法。
【請求項8】
所定の条件を満たす複数のユーザ情報
である検索クエリの入力情報を、類似するベクトルに変換する第1モデルを生成する第1生成手順と、
前記第1生成手順によって生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する第2モデルを生成する第2生成手順と、
前記第2生成手順によって推定されたユーザ属性に基づいて、情報を提供する提供手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
インターネットの利用が増大し続けるにつれて、ユーザ属性を適切に認識することがますます重要になっている。例えば、あるユーザに近いユーザを推定し、類似ユーザを見つけることで、企業や広告主などがサービスを提供して、新規顧客を開拓・維持するのに役立つ。
【0003】
従来、インターネットの利用状況からユーザ属性を推定する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、ユーザ属性を適切に推定することができない場合があるため、ユーザ属性の推定精度を向上するための更なる改善の余地があった。
【0006】
本願は、上記に鑑みてなされたものであって、ユーザ属性の推定精度を向上することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る情報処理装置は、所定の条件を満たす複数のユーザ情報を、類似するベクトルに変換する第1モデルを生成する第1生成部と、前記第1生成部によって生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する第2モデルを生成する第2生成部と、前記第2生成部によって推定されたユーザ属性に基づいて、情報を提供する提供部と、を有することを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、ユーザ属性の推定精度を向上することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理システムの構成例を示す図である。
【
図2】
図2は、実施形態に係る情報処理の一例を示す図である。
【
図3】
図3は、ユーザ行動を時系列で示した情報の一例を示す図である。
【
図4】
図4は、実施形態に係る端末装置の構成例を示す図である。
【
図5】
図5は、実施形態に係る情報処理装置の構成例を示す図である。
【
図6】
図6は、実施形態に係るユーザ情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態に係るモデル記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係る情報処理の一例を示すフローチャートである。
【
図9】
図9は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
(実施形態)
〔1.情報処理システムの構成〕
図1に示す情報処理システム1について説明する。
図1に示すように、情報処理システム1は、端末装置10と、情報処理装置100とが含まれる。端末装置10と、情報処理装置100とは所定の通信網(ネットワークN)を介して、有線または無線により通信可能に接続される。
図1は、実施形態に係る情報処理システム1の構成例を示す図である。なお、
図1に示した情報処理システム1には、複数台の端末装置10や、複数台の情報処理装置100が含まれてもよい。
【0012】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、実施形態における処理を実現可能であれば、どのような装置であってもよい。また、端末装置10は、スマートフォンや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDA等の装置であってもよい。
図2に示す例においては、端末装置10がスマートフォンである場合を示す。
【0013】
端末装置10は、例えば、スマートフォンやタブレット等のスマートデバイスであり、3G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、ユーザから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受け付けてもよい。
【0014】
図2の例では、端末装置10はユーザU11によって利用される。また、以下では、端末装置10をユーザU11と表記する場合がある。すなわち、以下では、ユーザU11を端末装置10と読み替えることもできる。
【0015】
情報処理装置100は、各種のデータ収集及び分析を実現するための情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報処理装置100は、広告配信や商品提案などを行うサービスを管理するために用いられる。情報処理装置100は、例えば、所定の条件を満たす複数のユーザ情報を、特徴量が類似するベクトルに変換し、変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する機能を有する。情報処理装置100は、例えば、PC、WS(Work Station)等の情報処理装置であり、端末装置10等からネットワークNを介して送信されてきた情報に基づいて処理を行う。
【0016】
なお、
図1では、端末装置10と情報処理装置100とが、別装置である場合を示すが、端末装置10と情報処理装置100とが一体であってもよい。
【0017】
〔2.情報処理の一例〕
あるユーザに近いユーザを推定し、類似ユーザを見つけ出すことは、企業や広告主などにとって重要である。例えば、広告を選択したなどの、コンバージョンに至ったユーザから同様のコンバージョンに至るユーザを見つけ出すことは重要である。
【0018】
しかしながら、例えば入力された検索クエリから単純にユーザ属性を推定しようとした場合、推定ベクトルが大きくなり、計算量が膨大になる場合がある。また、例えば検索クエリから直接的に推定ベクトルを分類しようとした場合、スパースな情報になり、推定精度が低下する場合がある。
【0019】
それゆえ、本願に係る情報処理装置は、所定の条件を満たす複数のユーザ情報を、類似するベクトルに変換する第1モデルを生成する第1生成部と、前記第1生成部によって生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する第2モデルを生成する第2生成部と、を有することを特徴とする。
【0020】
以下実施形態では、所定の条件を満たす複数のユーザ情報の一例として、検索クエリの入力情報を例に挙げて説明するが、どのようなものであってもよいものとする。例えば、購買行動や位置情報などのユーザ行動に関する情報であってもよいものとする。以下実施形態では、情報処理装置100が、このようなユーザ情報を、ベクトルに変換し、モデルを生成する場合の処理について説明する。
【0021】
図2は、実施形態に係る情報処理システム1の情報処理の一例を示す図である。情報処理装置100は、所定の条件を満たす複数のユーザ情報を取得する(ステップS101)。例えば、情報処理装置100は、所定の時間内や同一セッション内で、ユーザが入力した検索クエリに関する情報を取得する。なお、検索クエリは一つに限らず、複数であってもよい。例えば、情報処理装置100は、ユーザが連続して入力した複数の検索クエリに関する情報を取得してもよい。
【0022】
テーブルKQD11は、取得された検索クエリに関する情報に基づいて生成されたデータテーブルである。テーブルKQD11では、データ「DT11」によって識別される検索クエリが「KQ11」及び「KQ12」である例を示す。
【0023】
情報処理装置100は、このように取得された検索クエリを、w2v(word2vec)などの人工知能関連技術を用いてベクトル化し、機械学習を行う(ステップS102)。例えば、情報処理装置100は、ユーザが入力した時間帯が近ければ近いほど、類似するベクトルを出力するよう機械学習する。
【0024】
また、例えば、情報処理装置100は、検索クエリが属するカテゴリを特定し、特定されたカテゴリが類似すればするほど、類似するベクトルを出力するよう機械学習してもよい。また、例えば、情報処理装置100は、ユーザが検索した検索先のURLや、検索先のコンテンツに類似の情報(例えば、カテゴリ、タイトル、企業や商品名など)が含まれれば含まれるほど、類似するベクトルを出力するよう機械学習してもよい。
【0025】
情報処理装置100は、意図や属性が類似するなどの関連性を有するユーザ情報を、類似するベクトルに変換することができる。
【0026】
図2では、情報処理装置100は、検索クエリKQ11及びKQ12をそれぞれベクトル化したベクトルVV11及びVV12が類似するベクトルとして出力するよう学習されたモデルを生成する。なお、以下、特徴量が類似するベクトルを出力するよう学習されたモデルを、適宜、「第1モデル」とする。
【0027】
テーブルVVD11は、第1モデルにより出力された情報に基づいて生成されたデータテーブルである。テーブルVVD11では、検索クエリ「KQ11」によって識別されるベクトルが「VV11」である例を示す。
【0028】
情報処理装置100は、第1モデルを用いて変換されたベクトルを集約(例えば、結合、合計、重み付き合計など)することにより、集約ベクトルを生成する(ステップS103)。例えば、情報処理装置100は、ベクトルVV11及びVV12に基づいて、集約ベクトルSV11を生成する。なお、
図2では、説明の便宜上、ベクトルVV11及びVV12の2つのベクトルが集約される場合を示すが、集約されるベクトルの数は特に限定されないものとする。
【0029】
テーブルSQD11は、生成された集約ベクトルに関する情報に基づいて生成されたデータテーブルである。テーブルSQD11では、集約ベクトル「SQ11」によって識別されるベクトルが「VV11」及び「VV12」である例を示す。
【0030】
情報処理装置100は、生成された集約ベクトルに基づいて、ユーザ属性を推定する(ステップS104)。具体的には、情報処理装置100は、予め属性が既知のユーザの集約ベクトルが入力された際に、その属性を示す情報を出力するよう学習されたモデル(以下、適宜、「第2モデル」とする。)を用いて、ユーザ属性を推定する。なお、第2モデルは、属性種別(例えば、性別、年代、嗜好など)ごとに生成されたものであっても、統合されたものであってもよいものとする。
【0031】
テーブルUZD11は、推定されたユーザ属性に関する情報に基づいて生成されたデータテーブルである。テーブルUZD11では、ユーザ「U11」によって識別されるユーザ属性が「ユーザ属性#11」である例を示す。
【0032】
情報処理装置100は、第2モデルを用いて推定されたユーザ属性に基づいて、そのユーザに適した広告配信や商品提案などを提供するための処理を行う(ステップS105)。
【0033】
このように、情報処理装置100は、ベクトルの変換をユーザ属性の推定と切り離して個別に行うことができるため、例えば、第1モデルを再学習する際も、第2モデルの再学習を不要とすることができる。換言すると、情報処理装置100は、ユーザ情報を分散表現空間に投影し、投影結果を更に属性空間に投影する。このため、情報処理装置100は、空間が遮断されているので、一方の更新を容易に行うことができる。それゆえ、情報処理装置100は、新たなユーザ情報が追加されて第1モデルを再学習する場合でも、第2モデルの再学習を不要とすることができる。
【0034】
上記実施形態において、情報処理装置100は、LSTMやRNNなどの人工知能関連技術を用いて、ユーザ情報の順序を考慮した第1モデルを生成してもよい。
【0035】
上記実施形態において、情報処理装置100は、時系列を学習し、時系列を再現するような第1モデルを生成することにより、入力順序を考慮した集約ベクトルを生成してもよい。例えば、情報処理装置100は、BERT(Bidirectional Encoder Representations from Transformers)などの自然言語処理技術を用いて、集約ベクトルを生成してもよい。
【0036】
図3は、ユーザ行動を時系列で示した情報の一例を示す図である。
図3では、それぞれのユーザ行動を、BERTと第1モデルとを用いてベクトル化した情報が表示されている。例えば、「vec1」は、12月1日に行われた「AAA」検索のユーザ行動に対応したベクトルである。また、例えば、「vec2」は、12月1日に行われたカービューエコカーカテゴリ閲覧のユーザ行動に対応したベクトルである。また、例えば、「vec3」は、12月1日に行われた「BBBB」HP閲覧のユーザ行動に対応したベクトルである。
【0037】
続けて、例えば、「vec4」は、12月2日に行われた「CCC」不動産の新築閲覧のユーザ行動に対応したベクトルである。また、例えば、「vec5」は、12月2日に行われた「DD」不動産のマンションHP閲覧のユーザ行動に対応したベクトルである。また、例えば、「vec6」は、12月2日に行われた「マンション 都内」検索のユーザ行動に対応したベクトルである。また、例えば、「vec7」は、12月2日に行われた住宅ローン関連ニュース閲覧のユーザ行動に対応したベクトルである。
【0038】
続けて、例えば、「vec8」は、12月3日に行われた「EEEE」カメラカテゴリの落札のユーザ行動に対応したベクトルである。
【0039】
情報処理装置100は、vec1乃至vec8を集約することで、時系列を考慮した集約ベクトルを生成してもよい。
【0040】
上記実施形態において、情報処理装置100は、30日や360日などの直近の特徴や一般的な平均的特徴など、それぞれ個別に集約ベクトルを生成し、複数の集約ベクトルから別々にユーザ属性を推定するために、期間ごとに異なる第2モデルを生成してもよい。
【0041】
上記実施形態において、情報処理装置100は、ユーザ属性の推定の一例として、年収推定を行ってもよい。例えば、情報処理装置100は、予め年収が既知のユーザの年収情報を正解データとして学習することにより生成された第2モデルを用いて、対象となるユーザの年収推定を行ってもよい。
【0042】
上記実施形態において、情報処理装置100は、予め属性が既知のユーザのユーザ情報を用いて、機械学習で2値分類を解くことで、分類推定を行ってもよい。例えば、情報処理装置100は、性別が既知のユーザの性別情報を用いて、性別推定を行ってもよい。また、情報処理装置100は、複数の属性の組み合わせに基づく分類推定を行ってもよい。
【0043】
情報処理装置100は、例えば、「性別:男性」及び「年代:40代」を正例とし、それ以外を負例とすることで、性別と年代との複数の属性の組み合わせに基づく分類推定を行ってもよい。また、情報処理装置100は、例えば、性別を推定する第2モデルと年代を推定する第2モデルとから出力されたそれぞれのスコアを掛け合わせることで、性別と年代との複数の属性の組み合わせに基づく分類推定を行ってもよい。
【0044】
〔3.端末装置の構成〕
次に、
図4を用いて、実施形態に係る端末装置10の構成について説明する。
図4は、実施形態に係る端末装置10の構成例を示す図である。
図4に示すように、端末装置10は、通信部11と、入力部12と、出力部13と、制御部14とを有する。
【0045】
(通信部11)
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、所定のネットワークNと有線又は無線で接続され、所定のネットワークNを介して、情報処理装置100等との間で情報の送受信を行う。
【0046】
(入力部12)
入力部12は、ユーザからの各種操作を受け付ける。
図2に示す例では、ユーザU11からの各種操作を受け付ける。例えば、入力部12は、タッチパネル機能により表示面を介してユーザからの各種操作を受け付けてもよい。また、入力部12は、端末装置10に設けられたボタンや、端末装置10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【0047】
(出力部13)
出力部13は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。例えば、出力部13は、情報処理装置100から送信された情報を表示する。
【0048】
(制御部14)
制御部14は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置10内部の記憶装置に記憶されている各種プログラムがRAM(Random Access Memory)を作業領域として実行されることにより実現される。例えば、この各種プログラムには、端末装置10にインストールされたアプリケーションのプログラムが含まれる。例えば、この各種プログラムには、ユーザ行動に関する情報を情報処理装置100に送信するアプリケーションのプログラムが含まれる。また、制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0049】
図4に示すように、制御部14は、受信部141と、送信部142とを有し、以下に説明する情報処理の作用を実現または実行する。
【0050】
(受信部141)
受信部141は、各種情報を受信する。受信部141は、外部の情報処理装置から各種情報を受信する。受信部141は、情報処理装置100等の他の情報処理装置から各種情報を受信する。例えば、受信部141は、広告配信や商品提案するためのコンテンツを受信する。
【0051】
(送信部142)
送信部142は、外部の情報処理装置へ各種情報を送信する。送信部142は、情報処理装置100等の他の情報処理装置へ各種情報を送信する。例えば、送信部142は、ユーザ情報を送信する。例えば、送信部142は、検索クエリの入力などのユーザ行動に関する情報を送信する。
【0052】
〔4.情報処理装置の構成〕
次に、
図5を用いて、実施形態に係る情報処理装置100の構成について説明する。
図5は、実施形態に係る情報処理装置100の構成例を示す図である。
図5に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0053】
(通信部110)
通信部110は、例えば、NIC等によって実現される。そして、通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、端末装置10等との間で情報の送受信を行う。
【0054】
(記憶部120)
記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図5に示すように、記憶部120は、ユーザ情報記憶部121と、モデル記憶部122とを有する。
【0055】
ユーザ情報記憶部121は、ユーザ行動などのユーザ情報を記憶する。ここで、
図6に、実施形態に係るユーザ情報記憶部121の一例を示す。
図6に示すように、ユーザ情報記憶部121は、「ユーザID」、「ユーザ情報1」、「ユーザ情報2」といった項目を有する。
【0056】
「ユーザID」は、ユーザを識別するための識別情報を示す。「ユーザ情報1」及び「ユーザ情報2」は、ユーザ情報を示す。
図6に示す例では、「ユーザ情報1」に「ユーザ情報#11」や「ユーザ情報#12」といった概念的な情報が格納される例を示したが、実際には、検索クエリや購買履歴に関する情報などが格納される。なお、「ユーザ情報2」には、「ユーザ情報1」とは異なる情報が格納される。
【0057】
すなわち、
図6では、ユーザID「U11」によって識別されるユーザのユーザ情報が「ユーザ情報#11」及び「ユーザ情報#12」である例を示す。
【0058】
モデル記憶部122は、第1モデルや第2モデルに関する情報を記憶する。ここで、
図7に、実施形態に係るモデル記憶部122の一例を示す。
図7に示すように、モデル記憶部122は、「モデルID」、「モデル(算出式)」といった項目を有する。
【0059】
「モデルID」は、モデルを識別するための識別情報を示す。「モデル(算出式)」は、モデルの算出式を示す。
図7に示す例では、「モデル(算出式)」に「モデル#11」や「モデル#12」といった概念的な情報が格納される例を示したが、実際には、算出式の情報などが格納される。
【0060】
すなわち、
図7では、モデルID「MD11」によって識別されるモデルの算出式が「モデル#11」である例を示す。
【0061】
(制御部130)
制御部130は、コントローラであり、例えば、CPUやMPU等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0062】
図5に示すように、制御部130は、取得部131と、第1生成部132と、第2生成部133と、推定部134と、提供部135とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、
図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0063】
(取得部131)
取得部131は、各種情報を取得する。取得部131は、外部の情報処理装置から各種情報を取得する。取得部131は、端末装置10等の他の情報処理装置から各種情報を取得する。
【0064】
取得部131は、記憶部120から各種情報を取得する。取得部131は、ユーザ情報記憶部121やモデル記憶部122から各種情報を取得する。また、取得部131は、取得した各種情報を記憶部120に格納する。取得部131は、ユーザ情報記憶部121やモデル記憶部122に各種情報を格納する。
【0065】
取得部131は、ユーザ情報を取得する。例えば、取得部131は、ユーザが入力した検索クエリなどのユーザ行動に関する情報を取得する。
【0066】
(第1生成部132)
第1生成部132は、取得部131により取得されたユーザ情報に基づいて、所定の条件を満たす複数のユーザ情報を入力すると、特徴量が類似するベクトルを出力するよう学習された第1モデルを生成する。
【0067】
(第2生成部133)
第2生成部133は、第1生成部132により生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルを入力すると、ユーザ属性を示す情報を出力する第2モデルを生成する。
【0068】
第2生成部133は、予め属性が既知のユーザの集約ベクトルが入力された際に、その属性を示す情報を出力するよう学習された第2モデルを生成する。
【0069】
(推定部134)
推定部134は、第2生成部133により生成された第2モデルを用いて出力された情報に基づいて、ユーザ属性を推定する。
【0070】
(提供部135)
提供部135は、推定部134により推定された推定結果に基づいて、情報を提供(送信)する。例えば、提供部135は、推定されたユーザ属性に基づいて、ユーザに適した情報を提供する。例えば、提供部135は、ユーザの性別、年代、嗜好に適した情報を提供する。
【0071】
〔5.情報処理のフロー〕
次に、
図8を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。
図8は、実施形態に係る情報処理システム1による情報処理の手順を示すフローチャートである。
【0072】
図8に示すように、情報処理装置100は、所定の条件を満たす複数のユーザ情報を取得する(ステップS201)。
【0073】
情報処理装置100は、取得された複数のユーザ情報を第1モデルに入力することにより、ベクトルに変換する(ステップS202)。
【0074】
情報処理装置100は、変換されたベクトルを集約して集約ベクトルを生成する(ステップS203)。
【0075】
情報処理装置100は、生成された集約ベクトルを第2モデルに入力することにより出力された情報に基づいて、ユーザ属性を推定する(ステップS204)。
【0076】
情報処理装置100は、推定されたユーザ属性に基づいて、情報を提供する(ステップS205)。
【0077】
〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、第1生成部132と、第2生成部133と、提供部135とを有する。第1生成部132は、所定の条件を満たす複数のユーザ情報を、類似するベクトルに変換する第1モデルを生成する。また、第2生成部133は、第1生成部132によって生成された第1モデルを用いて変換されたベクトルを集約した集約ベクトルに基づいて、ユーザ属性を推定する第2モデルを生成する。また、提供部135は、第2生成部133によって推定されたユーザ属性に基づいて、情報を提供する。
【0078】
これにより、実施形態に係る情報処理装置100は、意図や属性が類似するなどの関連性を有するユーザ情報を、類似するベクトルに変換することができるため、スパースな情報になり、推定精度が低下する恐れを抑制することができる。また、実施形態に係る情報処理装置100は、ベクトルの変換をユーザ属性の推定と切り離して個別に行うことができるため、第1モデルを再学習する際も、第2モデルの再学習を不要とすることができる。
【0079】
また、第1生成部132は、所定の時間内又は同一セッション内に行われた複数のユーザ行動のユーザ情報、若しくは、複数のユーザ行動の連続性に関する所定の条件を満たすユーザ情報を、類似するベクトルに変換する第1モデルを生成する。
【0080】
これにより、実施形態に係る情報処理装置100は、より関連性を有するユーザ情報を類似するベクトルに変換することができるため、ユーザ属性の推定精度を向上することができる。
【0081】
また、第1生成部132は、ユーザ行動の行動結果に基づくコンテンツに紐づく情報に関する所定の条件を満たすユーザ情報を、類似するベクトルに変換する第1モデルを生成する。
【0082】
これにより、実施形態に係る情報処理装置100は、より関連性を有するユーザ情報を類似するベクトルに変換することができるため、ユーザ属性の推定精度を向上することができる。
【0083】
また、第2生成部133は、予め属性が既知のユーザの集約ベクトルを入力すると、属性を示す情報を出力するよう学習された第2モデルを生成する。
【0084】
これにより、実施形態に係る情報処理装置100は、ユーザ属性の推定精度の向上を促進することができる。
【0085】
また、第2生成部133は、一の属性を推定する一の第2モデルと、二の属性を推定する二の第2モデルとから出力されたそれぞれの情報に基づいて、複数の属性の組み合わせに基づくユーザ属性を推定する第2モデルを生成する。
【0086】
これにより、実施形態に係る情報処理装置100は、複数の属性を組み合わせたユーザ属性の推定精度を向上することができる。
【0087】
また、第1生成部132は、時系列を学習し再現可能な自然言語処理技術に基づいて変換された、時間的特徴を有するベクトルを集約した集約ベクトルに基づいて、第2モデルを生成する。
【0088】
これにより、実施形態に係る情報処理装置100は、時系列を考慮しながら、ユーザ属性を推定することができる。
【0089】
〔7.ハードウェア構成〕
また、上述してきた実施形態に係る端末装置10及び情報処理装置100は、例えば、
図9に示すような構成のコンピュータ1000によって実現される。
図9は、端末装置10及び情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0090】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0091】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0092】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0093】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0094】
例えば、コンピュータ1000が実施形態に係る端末装置10及び情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部14および130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0095】
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0096】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0097】
また、上述してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0098】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0099】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0100】
1 情報処理システム
10 端末装置
100 情報処理装置
110 通信部
120 記憶部
121 ユーザ情報記憶部
122 モデル記憶部
130 制御部
131 取得部
132 第1生成部
133 第2生成部
134 推定部
135 提供部
N ネットワーク