IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社NTTドコモの特許一覧

<>
  • 特許-特徴抽出装置及び状態推定システム 図1
  • 特許-特徴抽出装置及び状態推定システム 図2
  • 特許-特徴抽出装置及び状態推定システム 図3
  • 特許-特徴抽出装置及び状態推定システム 図4
  • 特許-特徴抽出装置及び状態推定システム 図5
  • 特許-特徴抽出装置及び状態推定システム 図6
  • 特許-特徴抽出装置及び状態推定システム 図7
  • 特許-特徴抽出装置及び状態推定システム 図8
  • 特許-特徴抽出装置及び状態推定システム 図9
  • 特許-特徴抽出装置及び状態推定システム 図10
  • 特許-特徴抽出装置及び状態推定システム 図11
  • 特許-特徴抽出装置及び状態推定システム 図12
  • 特許-特徴抽出装置及び状態推定システム 図13
  • 特許-特徴抽出装置及び状態推定システム 図14
  • 特許-特徴抽出装置及び状態推定システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-19
(45)【発行日】2024-07-29
(54)【発明の名称】特徴抽出装置及び状態推定システム
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20240722BHJP
【FI】
G06Q10/04
【請求項の数】 9
(21)【出願番号】P 2021519376
(86)(22)【出願日】2020-04-30
(86)【国際出願番号】 JP2020018349
(87)【国際公開番号】W WO2020230658
(87)【国際公開日】2020-11-19
【審査請求日】2023-03-03
(31)【優先権主張番号】P 2019090579
(32)【優先日】2019-05-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】落合 桂一
(72)【発明者】
【氏名】山本 直樹
(72)【発明者】
【氏名】濱谷 尚志
(72)【発明者】
【氏名】深澤 佑介
【審査官】加内 慎也
(56)【参考文献】
【文献】特開2012-133520(JP,A)
【文献】特開2012-003494(JP,A)
【文献】特開2013-206139(JP,A)
【文献】特開2011-198292(JP,A)
【文献】特表2016-508262(JP,A)
【文献】特開2016-099752(JP,A)
【文献】特開2019-071068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
アクティビティの実行履歴に関する特徴を示す特徴量であって、前記アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定モデルに入力される特徴量を、前記実行履歴に基づいて抽出する特徴抽出装置であって、
前記アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、
前記アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、
各アクティビティの特徴を示すアクティビティ特徴量を前記共起関係情報に基づいて集約して、前記アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、
前記アクティビティ履歴特徴量を、前記状態推定モデルに入力される特徴量として出力する出力部と、を備え、
前記生成部は、一のアクティビティの前記アクティビティ特徴量と、当該一のアクティビティと前記共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、前記一のアクティビティの畳み込み特徴量として生成し、前記アクティビティ履歴情報に含まれる全アクティビティの前記畳み込み特徴量を所定の集約方法により集約した特徴量を、前記アクティビティ履歴特徴量として生成する、
特徴抽出装置。
【請求項2】
前記共起関係情報は、所定期間内に実行された複数のアクティビティを互いに関連付ける関連情報を含む、
請求項1に記載の特徴抽出装置。
【請求項3】
前記アクティビティ履歴情報に含まれる各アクティビティログは、当該アクティビティの実行状況を示すイベントフラグを含み、
前記抽出部は、所定の前記イベントフラグが関連付けられたアクティビティログに基づいて前記共起関係情報を抽出する、
請求項1または2に記載の特徴抽出装置。
【請求項4】
前記生成部は、
前記共起関係情報に基づいて第1層から第k層(kは1以上の所定の整数)までの所定の層数の階層的なアクティビティ特徴量の畳み込みを実施し、
前記共起関係情報により共起関係が示される複数のアクティビティのうちの各アクティビティを第n層(nは0以上の整数)の第1のアクティビティとしたときに、前記第1のアクティビティと共起関係を有する1以上のアクティビティを第2のアクティビティとし、
前記第1層の畳み込みにおいて、第0層の前記第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと前記共起関係を有する1以上の前記第2のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により畳み込み、第1層の前記第1のアクティビティの前記畳み込み特徴量を生成し、
第m層(mは2以上の整数)の畳み込みにおいて、第(m-1)層の前記第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと共起関係を有する1以上の前記第2のアクティビティの前記畳み込み特徴量とを所定の畳み込み方法により畳み込み、前記第m層における前記第1のアクティビティの前記畳み込み特徴量を生成し、
第k層の畳み込みにおける前記第k層の前記第1のアクティビティの畳み込み特徴量を、k層の畳み込みに基づく前記一のアクティビティの前記畳み込み特徴量として生成し、
前記アクティビティ履歴情報に含まれる全アクティビティの前記k層の畳み込みに基づく前記畳み込み特徴量を所定の集約方法により集約した特徴量を、前記アクティビティ履歴特徴量として生成する、
請求項1~3のいずれか一項に記載の特徴抽出装置。
【請求項5】
前記生成部は、
前記第1のアクティビティと前記共起関係を有する1以上の前記第2のアクティビティのアクティビティ特徴量を所定の集約方法により集約して、共起アクティビティ集約特徴量を生成し、
前記共起アクティビティ集約特徴量と、前記第1のアクティビティのアクティビティ特徴量とを結合して、前記第1のアクティビティの前記畳み込み特徴量を生成する、
請求項に記載の特徴抽出装置。
【請求項6】
前記生成部は、
前記アクティビティ履歴情報における前記第1のアクティビティと前記第2のアクティビティとの前記共起関係の出現頻度に基づいて各共起関係に重み付けをし、各第2のアクティビティのアクティビティ特徴量に前記重み付けを加えて、前記第1のアクティビティの前記畳み込み特徴量を生成する、
請求項4または5に記載の特徴抽出装置。
【請求項7】
前記生成部は、
前記アクティビティ履歴情報における前記第1のアクティビティと前記第2のアクティビティとの前記共起関係の出現頻度に基づいて各共起関係に重み付けをし、前記1以上の第2のアクティビティから前記重み付けに基づいて抽出された1以上の前記第2のアクティビティのアクティビティ特徴量に基づいて、前記第1のアクティビティの前記畳み込み特徴量を生成する、
請求項4または5に記載の特徴抽出装置。
【請求項8】
前記アクティビティログは、時刻及び位置情報のうちの少なくとも一つのコンテキストを含み、
前記抽出部は、アクティビティが同一であり前記コンテキストが異なるアクティビティログをユニークに識別して、前記共起関係情報を抽出する、
請求項1~のいずれか一項に記載の特徴抽出装置。
【請求項9】
アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定システムであって、
前記アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、
前記アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、
各アクティビティの特徴を示すアクティビティ特徴量を前記共起関係情報に基づいて集約して、前記アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、
前記アクティビティ履歴特徴量を入力特徴量とし、前記端末または該端末のユーザに関する状態を識別する識別情報を教師ラベルとする学習データに基づく機械学習により構築されたニューラルネットワークを含む状況推定モデルに、前記生成部により生成された前記アクティビティ履歴特徴量を入力して、端末または該端末のユーザに関する状態を推定する推定部と、
前記推定部により推定された、端末または該端末のユーザに関する状態を示す状態情報を出力する状態出力部と、を備え、
前記生成部は、一のアクティビティの前記アクティビティ特徴量と、当該一のアクティビティと前記共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、前記一のアクティビティの畳み込み特徴量として生成し、前記アクティビティ履歴情報に含まれる全アクティビティの前記畳み込み特徴量を所定の集約方法により集約した特徴量を、前記アクティビティ履歴特徴量として生成する、
状態推定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特徴抽出装置及び状態推定システムに関する。
【背景技術】
【0002】
ユーザが所持する携帯端末におけるアプリケーションの使用履歴に基づいて、ユーザの状態を推定する技術が知られている。このような技術では、アプリケーションの起動回数等の基本的な統計量が、推定に用いられていた。また、ユーザのデバイスにおいて実施されたアクティビティまたは実施されているアクティビティに関連付けられているデータを受信し、受信したデータを解析することにより、ユーザの状態を推測する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-154019号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、ユーザの状態に用いられる情報は、アプリケーションの起動回数等の基本的な統計量であって、アプリケーションの利用の順番及びアプリケーション相互の関係性等の情報が含まれない。そのため、ユーザの状態の推定の精度が十分でなかった。
【0005】
そこで、本発明は、上記問題点に鑑みてなされたものであり、端末により取得される情報に基づくユーザの状態の推定精度を向上させることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一形態に係る特徴抽出装置は、アクティビティの実行履歴に関する特徴を示す特徴量であって、アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定モデルに入力される特徴量を、実行履歴に基づいて抽出する特徴抽出装置であって、アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、アクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する出力部と、を備える。
【0007】
上記の形態によれば、アクティビティ履歴情報に基づいて所定期間に実行されたアクティビティの共起関係を示す共起関係情報が抽出される。アクティビティは、ユーザの端末において実行されたものであるので、共起関係情報には、端末または端末のユーザの状態が反映されている。そして、アクティビティ履歴情報に含まれるアクティビティのアクティビティ特徴量が、共起関係情報に基づいて集約されることにより、ユーザの状態が的確に反映され且つユーザの状態が密に表現されたアクティビティ履歴特徴量を生成できる。従って、このように生成されたアクティビティ履歴特徴量を状態推定モデルに入力する特徴量とすることにより、ユーザの状態の推定精度が向上する。
【発明の効果】
【0008】
端末により取得される情報に基づくユーザの状態の推定精度を向上させることが可能となる。
【図面の簡単な説明】
【0009】
図1】本実施形態の特徴抽出装置を含む状態推定システムの機能的構成を示すブロック図である。
図2】特徴抽出装置及び状態推定システムのハードブロック図である。
図3】アクティビティ履歴情報の構成及びアクティビティ履歴情報に含まれているデータの例を示す図である。
図4】アクティビティをノードとして、アクティビティ間の共起関係を、ノード間をつなぐエッジとする、共起関係情報を表すグラフの例を示す図である。
図5図5(a)は、ノードをアルファベットで抽象化したグラフの例を示す図である。図5(b)は、アクティビティ特徴量の階層的な畳み込みを模式的に示す図である。
図6】畳み込み特徴量の生成のためのアルゴリズムを示す図である。
図7】畳み込み特徴量の生成処理のフローチャートを示す図である。
図8】畳み込み特徴量の生成における重み行列の学習及び生成処理を示すフローチャートである。
図9図9は、グラフに含まれる各アクティビティのアクティビティ特徴量を示す図である。
図10】各アクティビティの畳み込み特徴量の生成及びアクティビティ履歴特徴量の生成の例を示す図である。
図11図11(a)は、各アクティビティログに時刻の情報を含むアクティビティ履歴情報の例を示す図である。図11(b)は、時刻をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。
図12図12(a)は、各アクティビティログに位置の情報を含むアクティビティ履歴情報の例を示す図である。図12(b)は、位置をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。
図13】特徴抽出装置における特徴抽出方法の処理内容を示すフローチャートである。
図14】状態推定システムにおける状況推定方法の処理内容を示すフローチャートである。
図15】特徴抽出プログラム及び状況推定プログラムの構成を示す図である。
【発明を実施するための形態】
【0010】
本発明に係る特徴抽出装置の実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0011】
図1は、本実施形態に係る特徴抽出装置を含む状態推定システムの機能的構成を示す図である。図1に示すように、状態推定システム1は、特徴抽出装置10並びに推定部15及び状態出力部16を含む。
【0012】
特徴抽出装置10は、アクティビティの実行履歴に関する特徴を示す特徴量を、実行履歴に基づいて抽出する装置である。特徴抽出装置10により抽出される特徴量は、アクティビティが実行された端末または端末のユーザに関する状態を推定する状態推定モデルに入力されるための特徴量である。
【0013】
状態推定システム1は、アクティビティが実行された端末または該端末のユーザに関する状態を推定するシステムである。具体的には、状態推定システム1は、特徴抽出装置10により抽出された特徴量と、端末または該端末のユーザに関する状態を示す教師ラベルとを学習データとして、ニューラルネットワークを含む状態推定モデルを深層学習により構築する。また、状態推定システム1は、特徴抽出装置10により抽出された特徴量を、学習済みの状態推定モデルに入力して得られた端末または該端末のユーザに関する状態情報を出力する。
【0014】
状態推定モデルにより推定される端末または該端末のユーザに関する状態は、例えば、端末のユーザのストレス状態、デモグラフィック、ユーザの性格、ユーザプロファイル等である。
【0015】
従来から、ユーザにより使用される端末のアプリケーション及びアクティビティ等の履歴に基づいて、深層学習によりユーザに関する状態を推定することは行われていた。従来の状態の推定方法では、アプリケーションの起動回数等の基本統計量が特徴量として用いられていた。しかしながら、このような基本統計量は、アプリケーション等の利用順及び相互関係等の特徴を含むことは困難であった。
【0016】
一方、言語処理の分野では、いわゆるN-gramという方法により、文字列及び文章を特徴量化することが行われていた。N-gramは、連続するN個の文字または単語等で文字列及び文章を分割して特徴量として用いる手法である。
【0017】
アプリケーション等の履歴に基づくユーザの状態等を推定する技術に、言語処理分野の技術を適用して、実行された個々のアプリケーション等を、言語処理における文字または単語と見なし、さらに、続けて実行されたアプリケーションを文章等において続けて現れる単語等に相当するものとして、アプリケーション等の履歴をN-gramにより特徴量化することが考えられる。
【0018】
しかしながら、アプリケーション等の履歴をN-gramの手法により単純に特徴量化すると、アプリケーション等の種類数が膨大であるため、生成される特徴量(ベクトル)がスパースになる。そのために、深層学習を適切に実行することができない。本実施形態の特徴抽出装置10は、アプリケーション等の履歴の情報を適切に畳み込むことにより、ユーザに関する状態を推定するためのモデルの深層学習に好適な特徴量を提供する。
【0019】
特徴抽出装置10及び状態推定システム1に含まれる各機能部11~16は、アクティビティ履歴情報記憶部20及びアクティビティ履歴特徴量記憶部30にアクセス可能に構成されている。
【0020】
特徴抽出装置10、状態推定システム1に含まれる各機能部15~16、アクティビティ履歴情報記憶部20及びアクティビティ履歴特徴量記憶部30は、1つの装置として構成されてもよいし、それぞれが別の装置に構成されてもよい。
【0021】
特徴抽出装置10は、図1に示すように、機能的には、取得部11、抽出部12、生成部13及び出力部14を備える。これらの各機能部11~14は、一つの装置に構成されてもよいし、複数の装置に分散されて構成されてもよい。
【0022】
なお、図1に示したブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0023】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0024】
例えば、本発明の一実施の形態における特徴抽出装置10及び状態推定システム1は、コンピュータとして機能してもよい。図2は、本実施形態に係る特徴抽出装置10及び状態推定システム1のハードウェア構成の一例を示す図である。特徴抽出装置10及び状態推定システム1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0025】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。特徴抽出装置10及び状態推定システム1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0026】
特徴抽出装置10及び状態推定システム1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
【0027】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、図1に示した各機能部11~17などは、プロセッサ1001で実現されてもよい。
【0028】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、特徴抽出装置10及び状態推定システム1の各機能部11~16は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0029】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る特徴抽出方法及び状態推定方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0030】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
【0031】
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0032】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0033】
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【0034】
また、特徴抽出装置10及び状態推定システム1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
【0035】
次に、特徴抽出装置10及び状態推定システム1の各機能部について説明する。取得部11は、アクティビティの所定期間の実行履歴を示すアクティビティ履歴情報を取得する。具体的には、取得部11は、アクティビティ履歴情報記憶部20に記憶されているアクティビティ履歴情報を取得する。アクティビティ履歴情報は、時系列のアクティビティログを含む。本実施形態では、アクティビティは、端末において実行された機能を示し、例えば、端末において実行されたアプリケーション、端末において実行されたアプリケーションの一機能、及び、端末において実行されたアプリケーションの一画面等であることができる。また、アクティビティは、当該アクティビティが実行されたコンテキスト(時間及び場所等の情報)を含んでもよい。さらに、アクティビティは、端末において発生したイベント(画面のONまたはOFFのイベント、充電状態を示すイベント、WiFi機能のONまたはOFFのイベントなど)を含んでもよい。
【0036】
図3は、アクティビティ履歴情報の構成及びアクティビティ履歴情報に含まれているデータの例を示す図である。図3に示すように、アクティビティ履歴情報は、時系列のアクティビティログからなる。アクティビティログは、UID、日時、イベントフラグ、アプリケーション及びアクティビティの情報を含む。
【0037】
UIDは、ユーザを識別する識別情報である。日時は、当該アクティビティが実行された時を示す情報である。イベントフラグは、アクティビティの実行時の状況を示す情報である。本実施形態では、イベントフラグ「1」は、当該アクティビティが、端末において、最前面の画面において実行されたことを示す。イベントフラグ「2」は、当該アクティビティが、端末において、最前面の画面以外に移動したことを示す。アプリケーションは、当該アクティビティに対応するアプリケーションを識別する情報である。アクティビティは、当該アクティビティを識別する情報である。本実施形態では、アクティビティは、アプリケーションの一機能を表す。
【0038】
抽出部12は、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する。所定期間内におけるアクティビティの共起関係とは、複数のアクティビティのそれぞれが所定期間内に実行されるか否か示す関係である。例えば、所定期間内にアクティビティA及びアクティビティBが実行される場合に、アクティビティAとアクティビティBとの間に共起関係があると表する。本実施形態では、抽出部12は、アクティビティをノードとして、アクティビティ間の共起関係をアクティビティのノード間をつなぐエッジとして表したグラフを共起関係情報として生成する。
【0039】
図4は、共起関係情報を表すグラフの例を示す図である。グラフg1は、図3に示したアクティビティ履歴情報に基づいて生成された共起関係情報である。
【0040】
抽出部12は、アクティビティ履歴情報に含まれる全てのアクティビティログに基づいてグラフを抽出してもよい。また、抽出部12は、所定のイベントフラグが関連付けられたアクティビティログに基づいてグラフを抽出してもよい。図4に示す例では、抽出部12は、図3に示したアクティビティ履歴情報のアクティビティログのうち、イベントフラグ「1」が関連付けられたアクティビティログに基づいてグラフを生成する。これにより、ユーザの状態が好適に反映されたアクティビティログのみを共起関係の抽出に用いることができる。
【0041】
抽出部12は、所定期間内に実行された複数のアクティビティを互いに関連付ける関連情報を含む共起関係情報を抽出してもよい。具体的には、抽出部12は、一のアクティビティの実行時から予め設定された所定期間内に実行された全てのアクティビティを抽出し、抽出されたアクティビティのノードのそれぞれと、一のアクティビティのノードとの間にエッジを設定する。
【0042】
また、抽出部12は、所定期間内に続けて実行されたアクティビティの遷移関係を表す遷移情報を含む共起関係情報を抽出してもよい。遷移情報は、実行されるアクティビティが、一のアクティビティから他のアクティビティに遷移した場合に、一のアクティビティと他のアクティビティとを関連付ける情報である。具体的には、抽出部12は、一のアクティビティが実行された後に他のアクティビティが実行された場合に、一のアクティビティのノードと他のアクティビティのノードとの間にエッジを設定する。本実施形態の図4に示すグラフg1では、遷移情報に基づいてエッジが設定されている。これにより、アクティビティの実行の傾向が共起関係情報に適切に反映される。
【0043】
即ち、図3に示されるアクティビティ履歴情報のイベントフラグ「1」を有するイベントログにおいて、アクティビティ「home.HomeActivity」と、アクティビティ「carriermail.MailListActivity」、アクティビティ「incallui.IncallActivity」及びアクティビティ「calender.MainActivity」との間に遷移関係があるので、抽出部12は、ノードn1と、ノードn2,n3,n4のそれぞれとの間にエッジを設定する。
【0044】
また、アクティビティ「carriermail.MailListActivity」とアクティビティ「incallui.IncallActivity」との間に遷移関係があるので、抽出部12は、ノードn2とノードn3との間にエッジを設定する。
【0045】
なお、アクティビティ間に遷移関係があっても、それらが実行された時の間隔が所定閾値以上の馬合には、抽出部12は、それらのアクティビティ間にエッジを設定しないこととしてもよい。これにより、実行において相互の関連がないアクティビティ間に共起関係が設定されることが防止される。
【0046】
生成部13は、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する。本実施形態では、アクティビティをノードとするグラフによりアクティビティ履歴情報が表されるので、生成部13は、グラフにより表現された共起関係情報に基づいて、各ノードに関連付けられたアクティビティ特徴量を集約する。
【0047】
アクティビティ特徴量は、アクティビティの特徴を示す所定数の次元の特徴ベクトルである。特徴ベクトルは、アクティビティが識別されるベクトルであれば、いかなる形式のベクトルにも限定されないが、例えば、アクティビティに関するカテゴリの種類数を次元数とするベクトルであって、当該アクティビティが該当するカテゴリの要素を1として、当該アクティビティが該当しないカテゴリの要素を0とするベクトルであってもよい。また、特徴ベクトルは、アクティビティの種類数を次元数とするベクトルであって、当該アクティビティが該当する要素のみを1とする、いわゆるOne-Hotベクトルであってもよい。
【0048】
具体的には、生成部13は、一のアクティビティのアクティビティ特徴量と、当該一のアクティビティと共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、一のアクティビティの畳み込み特徴量として生成し、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量を所定の集約方法により集約した特徴量を、アクティビティ履歴特徴量として生成する。本実施形態では、生成部13は、一のアクティビティのノードのアクティビティ特徴量と、当該一のアクティビティのノードとエッジで結ばれた1以上のノードのアクティビティ特徴量とを所定の畳み込み方法により集約して、一のアクティビティのノードの畳み込み特徴量を生成する。
【0049】
さらに、生成部13は、共起関係情報に基づいて第1層から第k層(kは1以上の所定の整数)までの所定の層数の階層的なアクティビティ特徴量の畳み込みを実施できる。
【0050】
即ち、生成部13は、共起関係情報により共起関係が示される複数のアクティビティのうちの各アクティビティを第n層(nは0以上の整数)の第1のアクティビティとしたときに、第1のアクティビティと共起関係を有するアクティビティを第n層の第2のアクティビティとして定義し、第1層の畳み込み及び第m層(mは2以上の整数)の畳み込みを実施する。
【0051】
生成部13は、第1層の畳み込みにおいて、第0層の第1のアクティビティのアクティビティ特徴量と、1以上の第0層の第2のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により畳み込むことにより生成された特徴量を、第1層の第1のアクティビティの畳み込み特徴量として生成する。
【0052】
また、生成部13は、第m層の畳み込みにおいて、第(m-1)層の第1のアクティビティのアクティビティ特徴量と、1以上の第(m-1)層の第2のアクティビティの畳み込み特徴量とを所定の畳み込み方法により畳み込むことにより生成された特徴量を、第m層の第1のアクティビティの畳み込み特徴量として生成する。
【0053】
そして、生成部13は、第k層の畳み込みにおける、第k層の第1のアクティビティの畳み込み特徴量を、k層の畳み込みに基づく一のアクティビティの畳み込み特徴量として生成する。
【0054】
図5を参照して、アクティビティ特徴量の階層的な畳み込みを説明する。図5(a)は、ノードをアルファベットで抽象化したグラフの例を示す図である。図5(b)は、アクティビティ特徴量の階層的な畳み込みを模式的に示す図である。
【0055】
図5(a)に示されるグラフgxは、ノードA~F(na~nf)を含み、共起関係を有するノード間にエッジが設定されている。図5(b)に示されるように、生成部13は、グラフgxに基づいて、ノードB(nb)の畳み込み特徴量cfbを生成する。具体的には、ノードB(nb)には、ノードA(na)及びノードC(nc)がエッジで結ばれているので、生成部13は、ノードB(nb)のアクティビティ特徴量fbと、ノードA(na)のアクティビティ特徴量fa及びノードC(nc)のアクティビティ特徴量fcとを所定の畳み込み方法CV1により畳み込んで、ノードB(nb)の畳み込み特徴量cfb1を生成する。
【0056】
同様に、ノードC(nc)には、ノードA(na)、ノードB(nb)、ノードE(ne)及びノードF(nf)がエッジで結ばれているので、生成部13は、ノードC(nc)のアクティビティ特徴量fcと、ノードA(na)のアクティビティ特徴量fa、ノードB(nb)のアクティビティ特徴量fb、ノードE(ne)のアクティビティ特徴量fe及びノードF(nf)のアクティビティ特徴量ffとを所定の畳み込み方法CV1により畳み込んで、ノードC(nc)の畳み込み特徴量cfc1を生成する。
【0057】
さらに同様に、ノードD(nd)には、ノードA(na)がエッジで結ばれているので、生成部13は、ノードD(nd)のアクティビティ特徴量fdと、ノードA(na)のアクティビティ特徴量faとを所定の畳み込み方法CV1により畳み込んで、ノードD(nd)の畳み込み特徴量cfd1を生成する。
【0058】
次に、生成部13は、ノードB(nb)の畳み込み特徴量cfb1、ノードC(nc)の畳み込み特徴量cfc1及びノードD(nd)の畳み込み特徴量cfd1の生成を1層の畳み込みとして、当該1層の畳み込みの次層の畳み込みとしての、ノードA(na)の畳み込み特徴量を生成する。ノードA(na)には、ノードB(nb)、ノードC(nc)及びノードD(nd)がエッジで結ばれているので、この畳み込み特徴量の生成においては、畳み込み特徴量cfb1、畳み込み特徴量cfc1、畳み込み特徴量cfd1がそれぞれ、ノードB(nb)、ノードC(nc)及びノードD(nd)のアクティビティ特徴量として用いられる。即ち、生成部13は、ノードA(na)のアクティビティ特徴量faと、畳み込み特徴量cfb1、畳み込み特徴量cfc1及び畳み込み特徴量cfd1とを所定の畳み込み方法CV2により畳み込んで、ノードA(na)の畳み込み特徴量cfa2を生成する。
【0059】
図5(b)に示した例は、アクティビティ特徴量の2層の畳み込みよるノードA(na)の畳み込み特徴量の生成であるが、ノードA(na)の他の各ノードについても同様に2層の畳み込みによる畳み込み特徴量を生成できる。
【0060】
図6及び図7を参照して、畳み込み特徴量の生成処理の具体例について説明する。図6は、畳み込み特徴量の生成のためのアルゴリズムを示す図である。アルゴリズムは、ライン1~9により構成されている。
【0061】
ライン1において、ノードvのアクティビティ特徴量xをh とする。このアクティビティ特徴量は、第0層のアクティビティ特徴量に相当する。
【0062】
ライン2において、実施される階層的なアクティビティ特徴量の畳み込みにおける層数をKとして、変数kにより層数をインクリメントしながら、ライン2~8の処理を層数の分だけ繰り返す。ライン3において、vはノードを識別し、ライン3~6の処理がノード数Vの分だけ繰り返されることが示されている。
【0063】
ライン4~5において、生成部13は、第1のアクティビティと共起関係を有する1以上の第2のアクティビティのアクティビティ特徴量を所定の集約方法により集約して、共起アクティビティ集約特徴量を生成し、共起アクティビティ集約特徴量と、第1のアクティビティのアクティビティ特徴量とを結合して、第1のアクティビティの畳み込み特徴量を生成する。
【0064】
具体的には、ライン4において、生成部13は、第1のアクティビティに相当するノードuに隣接する全ての隣接ノードN(v)のアクティビティ特徴量hk-1 (2層目以降の畳み込みの場合には畳み込み特徴量)を、所定の集約関数AGGREGATEにより集約して、第k層の共起アクティビティ集約特徴量h N(v)を得る。ここで、生成部13は、隣接ノードのアクティビティ特徴量の平均若しくは総和の算出又は最大値の取得のいずれかを所定の集約関数AGGREGATEとして用いて、共起アクティビティ集約特徴量を生成することができる。
【0065】
ライン5において、生成部13は、第(k-1)層のノードvのアクティビティ特徴量と第k層の共起アクティビティ集約特徴量h N(v)とを、結合関数CONCATにより結合し、重み行列Wを掛けて、さらに活性化関数σを作用させて、第k層のノードvの畳み込み特徴量h を得る。
【0066】
ライン7において、生成部13は、畳み込み特徴量h を正規化する。そして、ライン9において、生成部13は、所定のK層のアクティビティ特徴量の畳み込みにより得られた全てのノードの畳み込み特徴量h を所定の集約方法により集約した特徴量を、アクティビティ履歴情報の特徴を表すアクティビティ履歴特徴量zとして生成する。生成部13は、アクティビティ履歴情報に含まれる全アクティビティのK層の畳み込みによる畳み込み特徴量の総和を算出して、アクティビティ履歴特徴量zを生成してもよい。
【0067】
なお、生成部13は、以下の式(1)により、図6に示されるアルゴリズムのライン4~5の処理を実施してもよい。
【数1】
【0068】
式(1)におけるReLuは、活性化関数の一種であり、例えば、
ReLU(x)=max(x,0)
として表される関数であってもよい。また、式(1)におけるMEANは、要素ごとの平均値を算出する関数である。
【0069】
また、生成部13は、以下の式(2)により、図6に示されるアルゴリズムのライン4~5の処理を実施してもよい。
【数2】
【0070】
図7は、畳み込み特徴量の生成処理のフローチャートを示す図である。ステップS21において、生成部13は、特徴ベクトル(畳み込み特徴量)の計算対象のノードを取得する。
【0071】
ステップS22において、生成部13は、対象ノードの特徴ベクトル(アクティビティ特徴量)の初期値h を取得する。ステップS23において、生成部13は、対象ノードの隣接ノードを取得する。
【0072】
ステップS24において、生成部13は、隣接ノードの特徴ベクトルを取得し、AGGREGATE処理を行うことにより、共起アクティビティ集約特徴量h N(v)を得る。
【0073】
ステップS25において、生成部13は、共起アクティビティ集約特徴量h N(v)と対象ノードの特徴ベクトルh とを連結し、重み行列Wを掛け、さらに活性化関数σに入力して、出力h を得る。
【0074】
このフローチャートに示される処理を全てのノードに関して繰り返すことにより、1層のアクティビティ特徴量の畳み込みが実現される。そして、所定のK層分の処理をさらに繰り返すことにより、全てのノードのK層のアクティビティ特徴量の畳み込みが実現される。
【0075】
次に、図8を参照して、図6に示したアルゴリズムのライン5における重み行列Wの生成(学習)方法について説明する。図8は、畳み込み特徴量の生成における重み行列の学習及び生成処理を示すフローチャートである。
【0076】
まず、学習処理に先立って、取得部11が、重み行列Wの学習のための学習データの基となるアクティビティ履歴情報を必要数取得し、抽出部12が、図3及び図4を参照して説明したように、各アクティビティ履歴情報に基づいて、各アクティビティをノードとするグラフを生成する。
【0077】
ステップS31において、生成部13は、生成されたグラフのうちの一のグラフに基づいて、全ノードの特徴ベクトル(所定層数の畳み込み特徴量)を生成する。ステップS32において、生成部13は、グラフ中の全ノードの特徴ベクトルを集約(例えば、要素ごとの平均、総和の算出等による)するREADOUT処理により、当該グラフの特徴を表すアクティビティ履歴特徴量を生成する。
【0078】
ステップS33において、生成部13は、全グラフのアクティビティ履歴特徴量の生成が完了したか否かを判定する。全グラフのアクティビティ履歴特徴量の生成が完了したと判定された場合には、処理はステップS34に進む。全グラフのアクティビティ履歴特徴量の生成が完了したと判定されなかった場合には、ステップS31~S33の処理が繰り返される。
【0079】
ステップS34において、生成部13は、ニューラルネットワークを含んで成るモデルに、各グラフのアクティビティ履歴特徴量と対応する教師ラベルとを入力し、予測誤差を計算する。予測誤差は、式(3)により計算される。
【数3】
におけるnはサンプル数である。mは分類クラス数であって、例えば、モデルが、ユーザのストレスの高/低を推定するものであれば、m=2である。yijは、i番目のサンプルのクラスjに属することの教師ラベルであり、pijは、ニューラルネットワークにより算出されたi番目サンプルのクラスjに対する所属確率である。
【0080】
ステップS35において、生成部13は、誤差逆伝搬法により、ニューラルネットワーク及びWのパラメータ値を更新する。
【0081】
図9及び図10を参照して、アクティビティ履歴情報に基づくグラフの生成(共起関係情報の抽出)、各ノード(アクティビティ)の(1層の畳み込みによる)畳み込み特徴量の生成、及びアクティビティ履歴特徴量の生成の具体例を説明する。
【0082】
図9は、グラフに含まれる各アクティビティのアクティビティ特徴量の例を示す図である。図9に示されるグラフg1は、図4を参照して説明したように、抽出部12により、アクティビティ履歴情報に基づいて生成された共起関係情報である。グラフg1に含まれるノードn1~n4のそれぞれには、各ノードの特徴を示す特徴ベクトルであるアクティビティ特徴量nx1~nx4が関連づけられている。
【0083】
図9に示されるアクティビティ特徴量nx1~nx4の例は、アクティビティのカテゴリを示す4次元のベクトルであって、各要素は、[カスタマイズ、通信、ツール、仕事効率化]であって、該当する要素に1がセットされる。
【0084】
生成部13は、各ノードの畳み込み特徴量を生成する。以下に、ノードn3の畳み込み特徴量の生成の例を説明する。生成部13は、ノードn3に隣接するノードn1,n2のアクティビティ特徴量nx1,nx2を集約して共起アクティビティ特徴量を生成する。ここでは、集約関数AGGREGATEとして平均の算出を採用することとして、生成部13は、式(4)により、ノードn3の共起アクティビティ特徴量h N(v)を算出する。
【数4】
【0085】
続いて、生成部13は、式(5)により、ノードn3のアクティビティ特徴量と共起アクティビティ特徴量h N(v)とを所定の結合関数により結合して、ノードn3の畳み込み特徴量h を算出する。
【数5】
式(5)におけるWは、図6及び図7を参照して説明した重み行列である。σは、所定の活性化関数である。
【0086】
図10は、各ノード(アクティビティ)について生成された畳み込み特徴量及びアクティビティ履歴特徴量の生成の例を示す図である。図10に示されるように、生成部13は、図9及び式(4),(5)を参照して説明したように、ノードn1~n4のそれぞれの畳み込み特徴量nh1~nh4を生成する。
【0087】
続いて、生成部13は、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量を集約して、アクティビティ履歴特徴量を生成する。図10に示す具体例では、生成部13は、グラフg1に含まれる全てのノードn1~n4の畳み込み特徴量nh1~nh4に対するREADOUT処理により、アクティビティ履歴特徴量fgを生成する。ここでは、READOUT処理は、全ての畳み込み特徴量nh1~nh4の総和である。
【0088】
なお、生成部13は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、第2のアクティビティのアクティビティ特徴量のそれぞれに重み付けを加えて、第1のアクティビティの畳み込み特徴量を生成してもよい。
【0089】
例えば、図9を参照して説明したノードn3の畳み込み特徴量の生成の例では、アクティビティ特徴量nx1,nx2の平均を算出することによりノードn3の共起アクティビティ特徴量を生成したが、ノードn3とノードn1との共起関係の出現頻度及びノードn3とノードn2との共起関係の出現頻度に応じた重みを、アクティビティ特徴量nx1,nx2のそれぞれに加えた加重平均を、ノードn3の共起アクティビティ特徴量として生成してもよい。このように、重み付けを加えることにより、隣接ノードのアクティビティとの共起関係の強さを各アクティビティの畳み込み特徴量に反映させることができる。
【0090】
また、生成部13は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、重み付けに基づいて抽出された1以上の第2のアクティビティのアクティビティ特徴量に基づいて、第1のアクティビティの畳み込み特徴量を生成してもよい。
【0091】
例えば、図9に示したグラフg1の例では、ノードn1の畳み込み特徴量の生成において、重み付けを考慮しない場合には、ノードn1と共起関係を有するノードn2~n4の全てのアクティビティ特徴量が集約される。それに対して、共起関係の出現頻度に基づく各共起関係に対する重み付けを考慮する場合には、生成部13は、ノードn2~n4のうちの所定の程度以上の共起関係の重みを有するノードのアクティビティ特徴量のみを集約して、畳み込み特徴量の生成を実施してもよい。このように、共起関係の重みに基づいて、畳み込み特徴量の生成において集約するアクティビティ特徴量を抽出することにより、偶発的に共起したような共起関係が弱い第2のアクティビティの特徴が畳み込み特徴量に反映されないようにすることができる。
【0092】
再び図1を参照して、出力部14は、生成部13により生成されたアクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する。具体的には、例えば、出力部14は、アクティビティ履歴特徴量をアクティビティ履歴特徴量記憶部30に記憶させてもよい。アクティビティ履歴特徴量記憶部30は、アクティビティ履歴特徴量を記憶する記憶手段である。
【0093】
次に、図11及び図12を参照して、共起関係情報としてのグラフの生成の他の例を説明する。アクティビティログが、時刻及び位置情報等のコンテキストを含む場合には、抽出部12は、アクティビティが同一でありコンテキストが異なるアクティビティログをユニークに識別して、共起関係情報を抽出してもよい。
【0094】
図11(a)は、各アクティビティログに時刻の情報を含むアクティビティ履歴情報の例を示す図である。図11(b)は、時刻をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。即ち、図11(a)に示すように、アクティビティ履歴情報における各アクティビティログが時刻の情報をコンテキストとして有する場合には、抽出部12は、図11(b)に示すグラフg2を共起関係情報として生成する。具体的には、各アクティビティログに含まれるアクティビティが時刻の情報に関連付けられるので、抽出部12は、各ノードに「_08」、「_09」といった時刻を示す情報を含ませることができる。従って、抽出部12は、「home.HomeActivity」という同種のアクティビティであっても、関連付けられている時刻の情報がそれぞれ「8:15」及び「9:00」であり異なっているので、それらのアクティビティログをユニークに識別して、2つの異なるノードn11「home.HomeActivity_08」及びノードn15「home.HomeActivity_09」を含むグラフg2を共起関係情報として生成する。
【0095】
図12(a)は、各アクティビティログに位置の情報を含むアクティビティ履歴情報の例を示す図である。図12(b)は、位置をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。即ち、図12(a)に示すように、アクティビティ履歴情報における各アクティビティログがメッシュコードに例示される位置を識別する情報をコンテキストとして有する場合には、抽出部12は、図12(b)に示すグラフg3を共起関係情報として生成する。具体的には、各アクティビティログに含まれるアクティビティが位置を識別するメッシュコードに関連付けられているので、抽出部12は、各ノードに「_53394509」、「_53394518」といった位置を示す情報を含ませることができる。従って、抽出部12は、「home.HomeActivity」という同種のアクティビティであっても、関連付けられている位置(メッシュコード)の情報がそれぞれ「_53394509」及び「_53394518」であり異なっているので、それらのアクティビティログをユニークに識別して、2つの異なるノードn11「home.HomeActivity_53394509」及びノードn15「home.HomeActivity_53394518」を含むグラフg3を共起関係情報として生成する。
【0096】
このように、コンテキストが異なるアクティビティがユニークに識別されて共起関係情報が生成されることにより、ユーザの状態がより詳細に反映されたアクティビティ履歴特徴量を生成できる。
【0097】
再び図1を参照して、推定部15は、生成部13により生成されたアクティビティ履歴特徴量を状況推定モデルに入力して、端末または該端末のユーザに関する状態を推定する。具体的には、推定部15は、アクティビティ履歴特徴量記憶部30に記憶されたアクティビティ履歴特徴量を状況推定モデルに入力して、モデルからの出力を、端末または該端末のユーザに関する状態を示す情報として取得する。
【0098】
状況推定モデルは、アクティビティ履歴特徴量を入力特徴量とし、端末または該端末のユーザに関する状態を識別する識別情報を教師ラベルとする学習データに基づく機械学習により構築されたニューラルネットワークを含むモデルである。
【0099】
学習済みのニューラルネットワークを含むモデルである状況推定モデルは、コンピュータにより読み込まれ又は参照され、コンピュータに所定の処理を実行させ及びコンピュータに所定の機能を実現させるプログラムとして捉えることができる。
【0100】
即ち、本実施形態の学習済みの状況推定モデルは、CPU及びメモリを備えるコンピュータにおいて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された学習済みの状況推定モデルからの指令に従って、ニューラルネットワークの入力層に入力された入力データ(アクティビティ履歴特徴量)に対し、各層に対応する学習済みの重み付け係数と応答関数等に基づく演算を行い、出力層から結果(各状況ラベルの尤度)を出力するよう動作する。
【0101】
状況推定モデルに含まれるニューラルネットワークは、例えば、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク等であってもよく、用いられるニューラルネットワークの種類は限定されない。
【0102】
状態推定システム1は、特徴抽出装置10により生成及び出力されたアクティビティ履歴特徴量、及び、あらかじめ設定された教師ラベルからなる教師データに基づいて機械学習を実施して、状況推定モデルを構築してもよい。
【0103】
状態出力部16は、推定部15により推定された、端末または該端末のユーザに関する状態を示す状態情報を出力する。具体的には、状態出力部16は、状態情報を、所定の記憶手段に記憶させたり、所定の表示装置に表示させたりする。
【0104】
図13は、特徴抽出装置10における特徴抽出方法の処理内容を示すフローチャートである。
【0105】
ステップS1において、取得部11は、アクティビティの所定期間の実行履歴を示すアクティビティ履歴情報を取得する。続いて、ステップS2において、抽出部12は、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する。本実施形態では、抽出部12は、アクティビティをノードとして、アクティビティ間の共起関係をアクティビティのノード間をつなぐエッジとして表したグラフを共起関係情報として生成する。
【0106】
ステップS3において、生成部13は、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する。本実施形態では、アクティビティをノードとするグラフによりアクティビティ履歴情報が表されるので、生成部13は、グラフにより表現された共起関係情報に基づいて、各ノードに関連付けられたアクティビティ特徴量を集約する。
【0107】
ステップS4において、出力部14は、生成部13により生成されたアクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する。
【0108】
図14は、状態推定システム1における状況推定方法の処理内容を示すフローチャートである。ステップS11において、推定部15は、アクティビティ履歴特徴量記憶部30に記憶されたアクティビティ履歴特徴量を取得する。
【0109】
ステップS12において、推定部15は、アクティビティ履歴特徴量を状況推定モデルに入力する。
【0110】
ステップS13において、推定部15は、状況推定モデルからの出力を、端末または該端末のユーザに関する状態を示す状態情報として取得する。
【0111】
ステップS14において、状態出力部16は、ステップS13において取得された状態情報を出力する。具体的には、状態出力部16は、状態情報を、所定の記憶手段に記憶させたり、所定の表示装置に表示させたりする。
【0112】
次に、コンピュータを、本実施形態の特徴抽出装置10として機能させるための特徴抽出プログラム及び状態推定システム1として機能させるための状態推定プログラムについて説明する。図15は、特徴抽出プログラム及び状態推定プログラムの構成を示す図である。
【0113】
特徴抽出プログラムP1は、特徴抽出装置10における特徴抽出処理を統括的に制御するメインモジュールm10、取得モジュールm11、抽出モジュールm12、生成モジュールm13及び出力モジュールm14を備えて構成される。そして、各モジュールm11~m14により、取得部11、抽出部12、生成部13及び出力部14のための各機能が実現される。
【0114】
また、状態推定プログラムP2は、コンピュータを特徴抽出装置10として機能させるためのモジュールに加えて、推定モジュールm15及び状態出力モジュールm16を備えて構成される。推定モジュールm15及び状態出力モジュールm16により、推定部15及び状態出力部16のための各機能が構成される。
【0115】
なお、特徴抽出プログラムP1及び状態推定プログラムP2は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、図15に示されるように、記録媒体M1に記憶される態様であってもよい。
【0116】
以上説明した本実施形態の特徴抽出装置10、特徴抽出方法及び特徴抽出プログラムP1では、アクティビティ履歴情報に基づいて所定期間に実行されたアクティビティの共起関係を示す共起関係情報が抽出される。アクティビティは、ユーザの端末において実行されたものであるので、共起関係情報には、端末または端末のユーザの状態が反映されている。そして、アクティビティ履歴情報に含まれるアクティビティのアクティビティ特徴量が、共起関係情報に基づいて集約されることにより、ユーザの状態が的確に反映され且つユーザの状態が密に表現されたアクティビティ履歴特徴量を生成できる。従って、このように生成されたアクティビティ履歴特徴量を状態推定モデルに入力する特徴量とすることにより、ユーザの状態の推定精度が向上する。
【0117】
また、別の形態に係る特徴抽出装置では、共起関係情報は、所定期間内に実行された複数のアクティビティを互いに関連付ける関連情報を含むこととしてもよい。
【0118】
上記形態によれば、実行された時が時間的に近いアクティビティが関連付けられて、共起関係情報とされる。従って、アクティビティの実行の傾向が共起関係情報に適切に反映される。
【0119】
また、別の形態に係る特徴抽出装置では、共起関係情報は、所定期間内に続けて実行されたアクティビティの遷移関係を表す遷移情報を含むこととしてもよい。
【0120】
上記形態によれば、続けて実行された2つのアクティビティが遷移情報として関連付けられて、共起関係情報に含まれることとなる。従って、アクティビティの実行の遷移関係が共起関係情報に適切に反映される。
【0121】
また、別の形態に係る特徴抽出装置では、アクティビティ履歴情報に含まれる各アクティビティログは、当該アクティビティの実行状況を示すイベントフラグを含み、抽出部は、所定のイベントフラグが関連付けられたアクティビティログに基づいて共起関係情報を抽出することとしてもよい。
【0122】
上記形態によれば、ユーザの状態が好適に反映されたアクティビティログのみを共起関係の抽出に用いることができる。
【0123】
また、別の形態に係る特徴抽出装置では、生成部は、一のアクティビティのアクティビティ特徴量と、当該一のアクティビティと共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、一のアクティビティの畳み込み特徴量として生成し、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量を所定の集約方法により集約した特徴量を、アクティビティ履歴特徴量として生成することとしてもよい。
【0124】
上記形態によれば、一のアクティビティと共起関係を有するアクティビティの特徴が反映された畳み込み特徴量が各アクティビティに対して生成され、全アクティビティの畳み込み特徴量が集約されてアクティビティ履歴特徴量が生成される。これにより、端末または端末のユーザの状態が密に表された特徴量を得ることができる。
【0125】
また、別の形態に係る特徴抽出装置では、生成部は、共起関係情報に基づいて第1層から第k層(kは1以上の所定の整数)までの所定の層数の階層的なアクティビティ特徴量の畳み込みを実施し、共起関係情報により共起関係が示される複数のアクティビティのうちの各アクティビティを第n層(nは0以上の整数)の第1のアクティビティとしたときに、第1のアクティビティと共起関係を有する1以上のアクティビティを第2のアクティビティとし、第1層の畳み込みにおいて、第0層の第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと共起関係を有する1以上の第2のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により畳み込み、第1層の第1のアクティビティの畳み込み特徴量を生成し、第m層(mは2以上の整数)の畳み込みにおいて、第(m-1)層の第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと共起関係を有する1以上の第2のアクティビティの畳み込み特徴量とを所定の畳み込み方法により畳み込み、第m層における第1のアクティビティの畳み込み特徴量を生成し、第k層の畳み込みにおける第k層の第1のアクティビティの畳み込み特徴量を、k層の畳み込みに基づく一のアクティビティの畳み込み特徴量として生成し、アクティビティ履歴情報に含まれる全アクティビティのk層の畳み込みに基づく畳み込み特徴量を所定の集約方法により集約した特徴量を、アクティビティ履歴特徴量として生成することとしてもよい。
【0126】
上記形態によれば、畳み込みの層数を適切に設定することにより、一つのアクティビティ畳み込み特徴量に畳み込む共起関係を有する他のアクティビティの範囲を調整できる。これにより、アクティビティの共起関係を適切な程度に反映した畳み込み特徴量を生成できる。
【0127】
また、別の形態に係る特徴抽出装置では、生成部は、第1のアクティビティと共起関係を有する1以上の第2のアクティビティのアクティビティ特徴量を所定の集約方法により集約して、共起アクティビティ集約特徴量を生成し、共起アクティビティ集約特徴量と、第1のアクティビティのアクティビティ特徴量とを結合して、第1のアクティビティの畳み込み特徴量を生成することとしてもよい。
【0128】
上記形態によれば、第1のアクティビティと共起関係を有する第2のアクティビティのアクティビティ特徴量が集約された共起アクティビティ集約特徴量が生成され、共起アクティビティ集約特徴量と第1のアクティビティのアクティビティ特徴量が結合されて畳み込み特徴量が生成されるので、第1のアクティビティのアクティビティ特徴量を主としながら、第2のアクティビティのアクティビティ特徴量が適切に反映された畳み込み特徴量を得ることができる。
【0129】
また、別の形態に係る特徴抽出装置では、生成部は、1以上の第2のアクティビティのアクティビティ特徴量の平均若しくは総和の算出又は最大値の取得により集約して、共起アクティビティ集約特徴量を生成することとしてもよい。
【0130】
上記形態によれば、第2のアクティビティのアクティビティ特徴量を適切に共起アクティビティ集約特徴量に適切に反映させることができる。
【0131】
また、別の形態に係る特徴抽出装置では、生成部は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、各第2のアクティビティのアクティビティ特徴量に重み付けを加えて、第1のアクティビティの畳み込み特徴量を生成することとしてもよい。
【0132】
上記形態によれば、各第2のアクティビティの第1のアクティビティとの共起関係の強さを畳み込み特徴量に反映させることができる。
【0133】
また、別の形態に係る特徴抽出装置では、生成部は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、1以上の第2のアクティビティから重み付けに基づいて抽出された1以上の第2のアクティビティのアクティビティ特徴量に基づいて、第1のアクティビティの畳み込み特徴量を生成することとしてもよい。
【0134】
上記形態によれば、偶発的に共起したような共起関係が弱い第2のアクティビティの特徴が畳み込み特徴量に反映されないようにすることができる。
【0135】
また、別の形態に係る特徴抽出装置では、生成部は、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量の総和を算出して、アクティビティ履歴特徴量を生成することとしてもよい。
【0136】
上記形態によれば、アクティビティ履歴情報に含まれる全アクティビティの特徴を適切にアクティビティ履歴特徴量に適切に反映させることができる。
【0137】
また、別の形態に係る特徴抽出装置では、アクティビティログは、時刻及び位置情報のうちの少なくとも一つのコンテキストを含み、抽出部は、アクティビティが同一でありコンテキストが異なるアクティビティログをユニークに識別して、共起関係情報を抽出することとしてもよい。
【0138】
上記形態によれば、コンテキストが異なるアクティビティがユニークに識別されるので、ユーザの状態がより詳細に反映されたアクティビティ履歴特徴量を生成できる。
【0139】
また、本発明の一形態に係る状態推定システムでは、アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定システムであって、アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、アクティビティ履歴特徴量を入力特徴量とし、端末または該端末のユーザに関する状態を識別する識別情報を教師ラベルとする学習データに基づく機械学習により構築されたニューラルネットワークを含む状況推定モデルに、生成部により生成されたアクティビティ履歴特徴量を入力して、端末または該端末のユーザに関する状態を推定する推定部と、推定部により推定された、端末または該端末のユーザに関する状態を示す状態情報を出力する状態出力部と、を備える。
【0140】
上記形態によれば、ユーザの端末において実行されたアクティビティに実行履歴を示すアクティビティ履歴情報に基づいて所定期間に実行されたアクティビティの共起関係を示し、端末または端末のユーザの状態が反映された共起関係情報が抽出される。そして、アクティビティ履歴情報に含まれるアクティビティのアクティビティ特徴量が、共起関係情報に基づいて集約されることにより、ユーザの状態が的確に反映され且つユーザの状態が密に表現されたアクティビティ履歴特徴量を生成できる。このように生成されたアクティビティ履歴特徴量を状態推定モデルに入力することにより、精度よくユーザの状態を推定できる。
【0141】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【0142】
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G、5G、FRA(Future Radio Access)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【0143】
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0144】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0145】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0146】
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0147】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0148】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0149】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
【0150】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0151】
なお、本開示において説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0152】
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【0153】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【0154】
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
【0155】
本開示で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0156】
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0157】
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
【0158】
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
【0159】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【0160】
1…状態推定システム、10…特徴抽出装置、11…取得部、12…抽出部、13…生成部、14…出力部、15…推定部、16…状態出力部、20…アクティビティ履歴情報記憶部、30…アクティビティ履歴特徴量記憶部、M1…記録媒体、m10…メインモジュール、m11…取得モジュール、m12…抽出モジュール、m13…生成モジュール、m14…出力モジュール、m15…推定モジュール、m16…状態出力モジュール、P1…特徴抽出プログラム、P2…状態推定プログラム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15