(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-06
(45)【発行日】2023-06-14
(54)【発明の名称】端末装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230607BHJP
【FI】
G06N20/00
(21)【出願番号】P 2021115111
(22)【出願日】2021-07-12
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】坪内 孝太
(72)【発明者】
【氏名】宮崎 崇史
【審査官】北川 純次
(56)【参考文献】
【文献】特表2018-524711(JP,A)
【文献】特開2019-219813(JP,A)
【文献】特開2020-80021(JP,A)
【文献】米国特許出願公開第2021/0097439(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02-3/10
(57)【特許請求の範囲】
【請求項1】
利用者が所有する端末装置であって、
第1コンテキスト情報として、該端末装置の機能により前記利用者のコンテキスト情報を収集する取得部と、
第2コンテキスト情報として、前記利用者が所有する他の端末装置から、前記他の端末装置の機能により収集された前記利用者のコンテキスト情報を受信する受信部と、
前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する推定部と、
前記変換規則に従って、前記第2コンテキスト情報を前記第1コンテキスト情報に変換する変換部と、
前記利用者のコンテキスト情報を学習データとして機械学習を行う学習部と、
を備えることを特徴とする端末装置。
【請求項2】
前記取得部は、新コンテキスト情報として、新端末である該端末装置の機能により前記利用者のコンテキスト情報を収集し、
前記受信部は、旧コンテキスト情報として、前記利用者が現在又は過去に使用していた旧端末である前記他の端末装置から、前記他の端末装置の機能により収集された前記利用者のコンテキスト情報を受信し、
前記推定部は、前記新コンテキスト情報と前記旧コンテキスト情報との対応関係を学習して、前記新コンテキスト情報と前記旧コンテキスト情報との変換規則を推定し、
前記変換部は、前記変換規則に従って、前記旧コンテキスト情報を前記新コンテキスト情報に変換し、
前記学習部は、前記利用者のコンテキスト情報を学習データとして機械学習を行う
ことを特徴とする請求項1に記載の端末装置。
【請求項3】
前記取得部は、前記第1コンテキスト情報として、該端末装置に搭載されたセンサによりセンサデータを収集し、
前記受信部は、前記第2コンテキスト情報として、該端末装置とはセンサの数又は性能が異なる前記他の端末装置から、前記他の端末装置に搭載されたセンサにより収集されたセンサデータを受信し、
前記推定部は、前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定し、
前記変換部は、前記変換規則に従って、前記第2コンテキスト情報を前記第1コンテキスト情報に変換し、
前記学習部は、前記利用者のコンテキスト情報を学習データとして機械学習を行う
ことを特徴とする請求項1又は2に記載の端末装置。
【請求項4】
前記推定部は、位置情報が共通である前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する
ことを特徴とする請求項1~3のうちいずれか1つに記載の端末装置。
【請求項5】
前記推定部は、少なくとも一部のセンサデータが共通である前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する
ことを特徴とする請求項1~4のうちいずれか1つに記載の端末装置。
【請求項6】
前記推定部は、該端末装置に搭載されているセンサが前記他の端末装置にも搭載されているものと仮定して、前記第1コンテキスト情報に含まれるセンサデータを前記第2コンテキスト情報に追加する形で前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する
ことを特徴とする請求項1~5のうちいずれか1つに記載の端末装置。
【請求項7】
前記受信部は、前記利用者が所有する他の端末装置から、前記第2コンテキスト情報を学習データとして学習したモデルを受信し、
前記推定部は、前記他の端末装置と同じ機種から該端末装置と同じ機種へ機種変更した他の利用者のモデルの変遷に関する学習結果に基づいて、前記モデルの変換規則を推定し、
前記変換部は、前記モデルの変換規則に従って、前記モデルを変換する
ことを特徴とする請求項1~6のうちいずれか1つに記載の端末装置。
【請求項8】
前記受信部は、前記利用者が所有する他の端末装置から、P2P、家庭内LAN又は閉域網を利用して、外部へ流出させることなく、前記他の端末装置の機能により収集された前記利用者のコンテキスト情報を受信する
ことを特徴とする請求項1~7のうちいずれか1つに記載の端末装置。
【請求項9】
利用者が所有する端末装置が実行する情報処理方法であって、
第1コンテキスト情報として、該端末装置の機能により前記利用者のコンテキスト情報を収集する取得工程と、
第2コンテキスト情報として、前記利用者が所有する他の端末装置から、前記他の端末装置の機能により収集された前記利用者のコンテキスト情報を受信する受信工程と、
前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する推定工程と、
前記変換規則に従って、前記第2コンテキスト情報を前記第1コンテキスト情報に変換する変換工程と、
前記利用者のコンテキスト情報を学習データとして機械学習を行う学習工程と、
を含むことを特徴とする情報処理方法。
【請求項10】
第1コンテキスト情報として、利用者が所有する端末装置の機能により前記利用者のコンテキスト情報を収集する取得手順と、
第2コンテキスト情報として、前記利用者が所有する他の端末装置から、前記他の端末装置の機能により収集された前記利用者のコンテキスト情報を受信する受信手順と、
前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する推定手順と、
前記変換規則に従って、前記第2コンテキスト情報を前記第1コンテキスト情報に変換する変換手順と、
前記利用者のコンテキスト情報を学習データとして機械学習を行う学習手順と、
を端末装置に実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
サーバ装置に機械学習させるための教師データをサーバ装置へ送る技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の従来技術のように、機械学習はサーバ装置によって行われるのが一般的である。しかしながら、データに個人情報が含まれている場合、企業等の外部のサーバ装置へ送るのが好ましくないこともある。また、個人情報を含むデータの送受信には様々な制限があるため、自由に送受信することが容易ではないこともある。
【0005】
そのため、近年、フェデレーテッドラーニング(Federated Learning:連合学習)のように、データをサーバ装置に集約せずに個々の端末装置に分散した状態で機械学習を行うオンデバイス機械学習が注目されている。しかし、端末装置の形状や性能の影響を受けるセンサデータ等を用いて個々の端末装置で機械学習を行う場合、機種変更の際やマルチデバイス間でのデータの引継ぎが問題となる。また、個人情報を含むデータであるため、企業等の外部のサーバ装置に送信して処理することもできないという問題もある。
【0006】
本願は、上記に鑑みてなされたものであって、機械学習を行う個々の端末装置間でのデータのシームレスな引継ぎを行うことを目的とする。
【課題を解決するための手段】
【0007】
本願に係る端末装置は、利用者が所有する端末装置であって、第1コンテキスト情報として、該端末装置の機能により前記利用者のコンテキスト情報を収集する取得部と、第2コンテキスト情報として、前記利用者が所有する他の端末装置から、前記他の端末装置の機能により収集された前記利用者のコンテキスト情報を受信する受信部と、前記第1コンテキスト情報と前記第2コンテキスト情報との対応関係を学習して、前記第1コンテキスト情報と前記第2コンテキスト情報との変換規則を推定する推定部と、前記変換規則に従って、前記第2コンテキスト情報を前記第1コンテキスト情報に変換する変換部と、前記利用者のコンテキスト情報を学習データとして機械学習を行う学習部と、を備えることを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、機械学習を行う個々の端末装置間でのデータのシームレスな引継ぎを行うことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理方法の概要を示す説明図である。
【
図2】
図2は、実施形態に係る情報処理システムの構成例を示す図である。
【
図3】
図3は、実施形態に係る端末装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る処理手順を示すシーケンス図である。
【
図5】
図5は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る端末装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る端末装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.情報処理方法の概要〕
まず、
図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。
図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、
図1では、機械学習を行う個々の端末装置間でのデータのシームレスな引継ぎを行う場合を例に挙げて説明する。
【0012】
図1に示すように、情報処理システム1は、端末装置10と情報提供装置100とを含む。端末装置10と情報提供装置100とは、それぞれネットワークN(
図2参照)を介して有線又は無線で互いに通信可能に接続される。
【0013】
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0014】
情報提供装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。
【0015】
また、情報提供装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、情報提供装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、情報提供装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
【0016】
図1に示すように、本実施形態では、情報提供装置100(サーバ側)は、フェデレーテッドラーニング(Federated Learning:連合学習)を採用し、各利用者Uの端末装置10(端末側)に共有モデル(コアモデル)を提供する(ステップS1)。
【0017】
端末装置10は、共有モデルをベースとして、当該端末装置10に搭載されたセンサ等を用いて収集したローカルデータ(利用者Uのコンテキスト情報)を学習データとしてオンデバイス機械学習を行うことでパターンを作り、そのパターンを利用して入力データから推論を行う(ステップS2)。
【0018】
続いて、端末装置10は、推論の結果としてられた推論結果と、学習の結果として得られた共有モデルとの差分パラメータとを情報提供装置100(サーバ側)に送信する(ステップS3)。このとき、端末装置10は、推論結果を多次元のベクトルに変換(ベクトル化)したベクトルデータの形式で送信してもよい。ベクトルデータは不可逆な情報であり、ベクトルデータのベクトル値から元のデータを復元することはできない。例えば、端末装置10は、いわゆるエンベディング(embedding:埋め込み)を行い、推論結果に基づくエンベディングベクトル(埋め込みベクトル)を生成してもよい。なお、送信データであるベクトルデータを暗号化して伝送することは技術常識の範疇で可能である。また、トンネリング(tunneling)により、端末側とサーバ側との間に閉じられた仮想的な直結回線を確立してもよい。例えば、端末側とサーバ側との間にVPN(Virtual Private Network)を構築してもよい。
【0019】
情報提供装置100は、各利用者Uの端末装置10から受信した推論結果の集計処理を行う(ステップS4)。集計処理には、統計や分析等の演算処理が含まれる。
【0020】
続いて、情報提供装置100は、各利用者Uの端末装置10から受信した差分パラメータに基づいて、共有モデルを修正する(ステップS5)。そして、情報提供装置100は、修正された共有モデル(又は以前の共有モデルとの差分パラメータ)を各利用者Uの端末装置10に提供する(ステップS1に戻る)。すなわち、情報提供装置100は、各利用者Uの端末装置10に提供した共有モデルを更新してグレードアップする。
【0021】
なお、情報提供装置100による共有モデルの更新が不要であれば、ステップS5の処理は実施しなくてもよい。この場合、ステップS3では、端末装置10は、推論結果のみ送信すればよい。
【0022】
このように、情報提供装置100(サーバ側)ではなく、端末装置10(端末側)が利用者Uのコンテキスト情報を学習データとして機械学習を行っている場合には、端末の機種変更を行う際や、マルチデバイス間において、モデル/データの引継ぎが必要となる。
【0023】
機種変更時やマルチデバイス間においてモデル/データの引き継ぎがないと、過去の遺産が台無しになり、新たなデータで0からモデルを構築しなければならないという問題が生じる。そのため、新しいデバイスや他のデバイスにおいても、前(過去)のデバイスのモデル/データを適切に共有することが求められる。
【0024】
ここで、ローカルデータは個人情報の塊なので、情報提供装置100(サーバ側)に渡すのに抵抗がある利用者Uも存在する。そもそも情報提供装置100(サーバ側)ではなく端末装置10(端末側)がオンデバイスで機械学習を行っているのは、データを企業側に知られたくないからであり、利用者Uは企業側にデータを送りたくない。そのため、利用者Uが所有するデバイス間でのデータの引越しの際に、情報提供装置100(サーバ側)に一度もデータを渡さない工夫が求められる。
【0025】
本実施形態では、利用者Uの端末装置10のうち、旧端末(旧デバイス)である端末装置10Aは、新端末(新デバイス)である端末装置10Bへ直接モデル/データを移行する(ステップS6)。このとき、旧端末(旧デバイス)と新端末(新デバイス)との間で認証を行うようにしてもよい。認証は、FIDO(Fast Identity Online)認証であってもよい。そして、認証に成功した場合にのみ、旧端末(旧デバイス)である端末装置10Aは、新端末(新デバイス)である端末装置10Bへ直接モデル/データを移行する。なお、送信されるモデル/データを暗号化して伝送することは技術常識の範疇で可能である。
【0026】
本実施形態では、原則、端末装置10(端末側)と情報提供装置100(サーバ側)との間でローカルデータのやり取りはない。利用者Uが所有するデバイス間でデータを共有する方法として、以下のような方法がある。
【0027】
例えば、利用者Uは、旧端末(旧デバイス)から新端末(新デバイス)へP2P(Peer to Peer)でデータを渡す。このとき、利用者Uは、旧端末は新端末へ、Bluetooth(登録商標)又は無線LAN(Local Area Network)等の近距離無線通信でデータを送信してもよい。
【0028】
あるいは、利用者Uは、旧端末から新端末へ家庭内LANを介してデータを移行してもよい。例えば、利用者Uは、旧端末から新端末へ、スマートホームのようなハブや家庭内ルータ(利用者Uが管理するローカルな中継機器)、又は個人所有のPCや自宅サーバ(ホームサーバ)等を介してデータを移行してもよい。このとき、利用者Uは、旧端末からスマートホームのようなハブや家庭内ルータ(利用者Uが管理するローカルな中継機器)、あるいは個人所有のPCや自宅サーバ等にデータをバックアップしてもよい。なお、旧端末からのデータのバックアップは、データを取得した際にリアルタイムで行われてもよい(リアルタイム対応)。そして、新端末は、バックアップされたデータを取得してもよい。
【0029】
あるいは、利用者Uは、旧端末においてデータを自分でのみ解凍できる形式(企業側には解読できない暗号化)のファイルに圧縮して、圧縮されたファイルを新端末側でダウンロードして解凍してもよい。例えば、旧端末は、データを秘密鍵で暗号化し、暗号化されたデータとともに公開鍵を新端末にのみ提供するようにしてもよい。なお、実際には、利用者Uは、旧端末から新端末へ閉域網(クローズドネットワーク:closed network)を介してデータを渡してもよい。
【0030】
このように、利用者Uが所有するデバイス間でデータを移行/共有する方法は、P2Pでも、家庭内LAN(ホームハブ形式)でも、ファイル圧縮型でもよい。
【0031】
ただし、新しいデバイスは、前のデバイスと異なっている部分が存在する。例えば、新しくセンサが増えている/センサが無くなっていることがある。また、センサの性能が上がっている/下がっていることがある。さらに、センサは同じでも端末の形状の差などから得られる値が変わっていることがある。
【0032】
すなわち、新しいデバイスと前のデバイスとで、それぞれのデバイスに搭載されているセンサの種類や性能が異なる場合がある。また、デバイス自体の形状や大きさが変わるため、センサの計測結果も異なる場合がある。したがって、前のデバイスから新しいデバイスにモデルを渡すときに、そのままのモデルだと推定精度が下がる。そのため、デバイスのスペックが上がる場合、学習をどうするかという課題が生じる。また、元々の精度の低いモデルを新しいデバイスにどう適用させるかという課題が生じる。
【0033】
このように、例えば利用者Uが携帯端末の機種変更を行う際に、旧端末で利用されていた利用者U専用モデルを新端末で適切に利用する場合、新しい端末装置では、例えばセンサの種類が増えることにより取得可能なデータの種別が追加されることや、センサの性能の向上によりデータの精度が高くなること(逆も然り)があるため、新しい端末装置で旧端末と同じモデルを利用する場合、モデルに入力するデータを制御したり、モデルを修正したりする必要がある。
【0034】
本実施形態では、利用者Uの端末装置10のうち、新端末(新デバイス)である端末装置10Bは、旧端末(旧デバイス)である端末装置10Aのローカルデータと、新端末(新デバイス)である端末装置10Bのローカルデータとの対応関係を学習し、変換規則を推測する(ステップS7)。例えば、端末装置10Bは、端末装置10Aから受信したローカルデータと、自身で収集したローカルデータとの対応関係を学習し、端末装置10Aから受信したローカルデータを、自身で収集したローカルデータに対応させる写像(変換規則)を推測する。
【0035】
続いて、利用者Uの端末装置10のうち、新端末(新デバイス)である端末装置10Bは、推測された変換規則に従って、旧端末(旧デバイス)である端末装置10Aのローカルデータを、新端末(新デバイス)である端末装置10Bのローカルデータに変換する(ステップS8)。すなわち、端末装置10Bは、端末装置10Aから受信したローカルデータを、自身で収集したローカルデータと同じ形式のデータに変換する。
【0036】
ここで、旧デバイスのローカルデータを新デバイスのローカルデータと同じ形式のデータに変換する手法として、下記のように「データ側のアプローチ」と「モデル側のアプローチ」との2つの手法がある。
【0037】
(データ側のアプローチ)
(1)辞書引き
新デバイスと旧デバイスのデータの対応表を事前に用意し、データのやり取りやモデルの共有が生じた際に、対応表に従って旧デバイスのデータを新デバイスのデータに変換する。例えば、デバイスの加速度を含む旧デバイスのデータを新デバイスに渡して共有する時は、元々のデバイスの加速度の値を0.8倍にして新しいデータと一緒に学習する。すなわち、旧デバイスでのコンテキストなら「XX」、新デバイスでのコンテキストなら「YY」である場合、「XX→YY」の変換式を作って、データ変換する。
【0038】
(2)ユーザのパフォーマンスから判断
新デバイスと旧デバイスのデータにおいて、センサデータに変化があっても、ユーザの位置情報や行動履歴に変化がない場合、ユーザの挙動はいつも同じであり、得られるセンサデータが異なっているだけであると推測される。そこで、新デバイスと旧デバイスの統計データが整合するようにチューニングする。あるいは、元々生データの値ではなく、正規化されたデータの値の取扱いのみを行う。(バリエーション、コンテキストごとに)
例えば、朝の通勤時間帯に得られる加速度センサの平均値が「120」なら、それに合うように新しい端末での加速度センサの平均値を算出する。
【0039】
(3)センサの増減に対応
新デバイスにおいてセンサが増えた場合、その新しいセンサを使わずに従来の延長線上で旧デバイスと同じように学習するのであれば、旧デバイスのデータをそのまま使用することも可能である。しかし、ユーザのコンテキストに基づいて学習する上では、新センサのデータを使用しないのはもったいない。
【0040】
そこで、新デバイスで新たに得られたデータから、旧デバイスがその新センサを搭載していたものと仮定してデータを補完する。このとき、写像の偽センサをモデルから学習する。例えば、新デバイスと旧デバイスのデータにおいて、同じ位置情報の場所では、同じセンサデータが得られると推測することができる。また、新デバイスと旧デバイスのどちらにも搭載されているセンサで同じセンサデータが得られている場合には、旧デバイスがその新センサを搭載していた場合、その新センサで新デバイスと同じセンサデータが得られると推測することができる。
【0041】
旧デバイスが新デバイスと同じセンサを使えない場合、旧デバイスのデータを引き継いだ時に、旧デバイスに新しいセンサが搭載されているものとして、データ変換する。このとき、新デバイスのセンサの種類を加味して、データ変換する。通常、旧デバイスが新デバイスとでは形状が異なるため、同じセンサを使ってもセンサの反応が異なる場合がある。
【0042】
(モデル側のアプローチ)
抽象化/カテゴリ化したデータ(機種間移動してもOKな属性のデータ)のみを利用するという方法も考えられる。ただし、デバイスのセンサの計測性能(周波数など)が改善されると、より詳細/正確に推定できるので、モデルに入力する抽象化データが変わってくる。オンデバイス機械学習的には過去の入力データは重みを低くして再学習する。これは、データの引越しに近い。
【0043】
また、情報提供装置100(サーバ側)において、フェデレーテッドラーニング(Federated Learning:連合学習)とともに、各ユーザのデバイス情報と、各ユーザの旧デバイスから新デバイスへ引き継いだモデルの変遷(接続係数等)とを学習し、この学習結果をユーザの新デバイスへ提供してもよい。例えば、情報提供装置100(サーバ側)は、機種Xから機種Yへ機種変更した各ユーザのモデルの変遷を学習する。ユーザの新デバイスは、この学習結果に基づいて、旧デバイスから引き継いだモデルを変換する。
【0044】
続いて、利用者Uの端末装置10のうち、新端末(新デバイス)である端末装置10Bは、変換された旧端末(旧デバイス)である端末装置10Aのローカルデータと、新端末(新デバイス)である端末装置10Bのローカルデータとを学習データとしてオンデバイス機械学習を行い、学習結果に基づいて推論する(ステップS9)。
【0045】
これにより、利用者Uの端末装置10は、機械学習を行う個々の端末装置間でのデータのシームレスな引継ぎを実現することができる。また、データとモデルとで引継ぎの仕方を変えることも可能である。
【0046】
なお、上記の説明において、旧端末(旧デバイス)である端末装置10Aと、新端末(新デバイス)である端末装置10Bは、必ずしも機種変更(端末更新)する際の新旧端末に限らず、利用者が所有する複数のデバイス間で使用する端末を切り替えた際の切り替え前後の端末であってもよい。
【0047】
例えば、利用者Uがスマートフォンとタブレット端末との2台持ちである場合、それぞれの機器を使用するタイミングで、スマートフォンとタブレット端末との間でダイナミックにデータとモデルの引継ぎを実施するようにしてもよい。スマートフォンを使用中の利用者Uがタブレット端末を使用する場合には、スマートフォンからタブレット端末にデータとモデルを引き継ぎ、再度、スマートフォンを使用する場合には、タブレット端末からスマートフォンにデータとモデルを引き継ぐ。
【0048】
〔2.情報処理システムの構成例〕
次に、
図2を用いて、実施形態に係る情報提供装置100が含まれる情報処理システム1の構成について説明する。
図2は、実施形態に係る情報処理システム1の構成例を示す図である。
図2に示すように、実施形態に係る情報処理システム1は、端末装置10と情報提供装置100とを含む。
図2では、端末装置10として、旧端末(旧デバイス)である端末装置10Aと、新端末(新デバイス)である端末装置10Bとを示す。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0049】
また、
図2に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、
図2では、図示の簡略化のため、端末装置10として、旧端末(旧デバイス)である端末装置10Aと、新端末(新デバイス)である端末装置10Bとを1台ずつ示したが、これはあくまでも例示であって限定されるものではなく、それぞれ2台以上であってもよい。例えば、旧端末(旧デバイス)である端末装置10Aと、新端末(新デバイス)である端末装置10Bとは、利用者ごとに存在していてもよい。
【0050】
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス、スマートスピーカ、カメラ等である。但し、実際には、これらの例に限定されない。
【0051】
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、情報提供装置100と通信することができる。
【0052】
情報提供装置100は、例えばPCやサーバ装置、あるいはメインフレーム又はワークステーション等である。なお、情報提供装置100は、クラウドコンピューティングにより実現されてもよい。
【0053】
〔3.端末装置の構成例〕
次に、
図3を用いて、端末装置10の構成について説明する。
図3は、端末装置10の構成例を示す図である。
図3に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0054】
(通信部11)
通信部11は、ネットワークN(
図2参照)と有線又は無線で接続され、ネットワークNを介して、情報提供装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0055】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0056】
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0057】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0058】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0059】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0060】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0061】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0062】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0063】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0064】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。
図3に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0065】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0066】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0067】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0068】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0069】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0070】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0071】
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33、学習部34と、取得部35と、推定部36と、変換部37とを備える。
【0072】
(送信部31)
送信部31は、通信部11を介して、オンデバイス機械学習に基づく推論の結果として得られた推論結果と、学習の結果として得られた共有モデルとの差分パラメータとを情報提供装置100(サーバ側)に送信する。
【0073】
また、送信部31は、通信部11を介して、又は近距離無線通信により、自身が収集したローカルデータを利用者Uが所有する他の端末装置10に送信する。例えば、送信部31は、当該端末装置10が旧端末(旧デバイス)である端末装置10Aである場合、通信部11を介して、又は近距離無線通信により、自身が収集したローカルデータを新端末(新デバイス)である端末装置10Bに送信する。
【0074】
すなわち、送信部31は、通信部11を介して、利用者Uが所有する他の端末装置10へ、当該端末装置10の機能により収集された利用者Uのコンテキスト情報を送信する。また、送信部31は、通信部11を介して、旧コンテキスト情報として、利用者Uが現在又は過去に使用していた旧端末である他の端末装置10へ、当該端末装置10の機能により収集された利用者Uのコンテキスト情報を送信する。また、送信部31は、通信部11を介して、第2コンテキスト情報として、当該端末装置10とはセンサの数又は性能が異なる他の端末装置10へ、当該端末装置10に搭載されたセンサにより収集されたセンサデータを送信する。また、送信部31は、通信部11を介して、利用者Uが所有する他の端末装置10へ、利用者Uのコンテキスト情報を学習データとして学習したモデルを送信してもよい。
【0075】
また、送信部31は、通信部11を介して、利用者Uが所有する他の端末装置10へ、P2P、家庭内LAN又は閉域網を利用して、外部へ流出させることなく、当該端末装置10の機能により収集された利用者Uのコンテキスト情報を送信する。
【0076】
(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される共有モデルを受信する。また、受信部32は、通信部11を介して、情報提供装置100から、修正された共有モデル(又は以前の共有モデルとの差分パラメータ)を受信する。
【0077】
また、受信部32は、通信部11を介して、又は近距離無線通信により、利用者Uが所有する他の端末装置10からローカルデータを受信する。例えば、受信部32は、当該端末装置10が新端末(新デバイス)である端末装置10Bである場合、通信部11を介して、又は近距離無線通信により、旧端末(旧デバイス)である端末装置10Aのローカルデータを受信する。
【0078】
すなわち、受信部32は、通信部11を介して、利用者Uが所有する他の端末装置10から、他の端末装置10の機能により収集された利用者Uのコンテキスト情報を受信する。また、受信部32は、通信部11を介して、旧コンテキスト情報として、利用者Uが現在又は過去に使用していた旧端末である他の端末装置10から、他の端末装置10の機能により収集された利用者Uのコンテキスト情報を受信する。また、受信部32は、通信部11を介して、第2コンテキスト情報として、当該端末装置10とはセンサの数又は性能が異なる他の端末装置10から、他の端末装置10に搭載されたセンサにより収集されたセンサデータを受信する。また、受信部32は、通信部11を介して、利用者Uが所有する他の端末装置10から、利用者Uのコンテキスト情報を学習データとして学習したモデルを受信してもよい。
【0079】
また、受信部32は、通信部11を介して、利用者Uが所有する他の端末装置10から、P2P、家庭内LAN又は閉域網を利用して、外部へ流出させることなく、他の端末装置10の機能により収集された利用者Uのコンテキスト情報を受信する。
【0080】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信された情報提供装置100からの各種情報を表示部12へ出力して表示させることができる。
【0081】
また、処理部33は、修正された共有モデル(又は以前の共有モデルとの差分パラメータ)に基づいて、現在の共有モデルを更新してグレードアップする。
【0082】
(学習部34)
学習部34は、共有モデルをベースとして、端末装置10のローカルデータ(利用者Uのコンテキスト情報)を学習データとしてオンデバイス機械学習を行う。これにより、学習部34は、共有モデルをベースとした独自の推論モデルを構築し、推論モデルと共有モデルとの差分パラメータを生成する。すなわち、学習部34は、利用者Uのコンテキスト情報を学習データとして機械学習を行う。
【0083】
(取得部35)
取得部35は、端末装置10の機能によりローカルデータ(利用者Uのコンテキスト情報)を収集する。例えば、取得部35は、入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって計測された各種センサデータ、測位部14によって測位された端末装置10の位置情報等を、ローカルデータ(利用者Uのコンテキスト情報)として収集する。
【0084】
すなわち、取得部35は、当該端末装置10の機能により利用者Uのコンテキスト情報を収集する。例えば、取得部35は、新コンテキスト情報として、新端末である当該端末装置10の機能により利用者Uのコンテキスト情報を収集する。また、取得部35は、利用者Uのコンテキスト情報として、当該端末装置10に搭載されたセンサによりセンサデータを収集する。
【0085】
(推定部36)
推定部36は、利用者Uが所有する他の端末装置10のローカルデータと、現在の端末装置10のローカルデータとの対応関係を学習し、変換規則を推測する。変換規則は、変換表のようなテーブル形式であってもよいし、機械学習により得られた変換モデルであってもよい。例えば、推定部36は、他の端末装置10のローカルデータと、現在の端末装置10のローカルデータとを学習データとして学習して変換モデルを構築してもよい。
【0086】
すなわち、推定部36は、当該端末装置10の機能により収集された利用者Uのコンテキスト情報(第1コンテキスト情報)と、他の端末装置10から受信した利用者Uのコンテキスト情報(第2コンテキスト情報)との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定する。例えば、推定部36は、新端末である当該端末装置10の機能により収集された新コンテキスト情報と、旧端末である他の端末装置10から受信した旧コンテキスト情報との対応関係を学習して、新コンテキスト情報と旧コンテキスト情報との変換規則を推定する。
【0087】
このとき、推定部36は、位置情報が共通である第1コンテキスト情報と第2コンテキスト情報との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定してもよい。あるいは、推定部36は、少なくとも一部のセンサデータが共通である第1コンテキスト情報と第2コンテキスト情報との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定してもよい。
【0088】
また、推定部36は、当該端末装置10に搭載されているセンサが他の端末装置10にも搭載されているものと仮定して、第1コンテキスト情報に含まれるセンサデータを第2コンテキスト情報に追加する形で第1コンテキスト情報と第2コンテキスト情報との変換規則を推定してもよい。
【0089】
また、推定部36は、他の端末装置10と同じ機種から当該端末装置10と同じ機種へ機種変更した他の利用者Uのモデルの変遷に関する学習結果に基づいて、モデルの変換規則を推定してもよい。このとき、情報提供装置100は、フェデレーテッドラーニングとともに、他の端末装置10と同じ機種から当該端末装置10と同じ機種へ機種変更した他の利用者Uのモデルの変遷に関する機械学習を行い、その学習結果を、他の端末装置10と同じ機種から当該端末装置10と同じ機種へ機種変更した各利用者Uの端末装置10に送信する。各利用者Uの端末装置10の受信部32は、情報提供装置100から、他の端末装置10と同じ機種から当該端末装置10と同じ機種へ機種変更した他の利用者Uのモデルの変遷に関する学習結果を受信する。
【0090】
(変換部37)
変換部37は、推測された変換規則に従って、利用者Uが所有する他の端末装置10のローカルデータと、現在の端末装置10のローカルデータに変換する。すなわち、利用者Uが所有する他の端末装置10のローカルデータを、現在の端末装置10のローカルデータと同じ形式のデータに変換する。例えば、変換部37は、推定部36により構築された変換モデルに他の端末装置10のローカルデータを入力し、現在の端末装置10のローカルデータの形式に変換して出力してもよい。
【0091】
すなわち、変換部37は、変換規則に従って、第2コンテキスト情報を第1コンテキスト情報に変換する。例えば、変換部37は、変換規則に従って、旧コンテキスト情報を新コンテキスト情報に変換する。また、変換部37は、モデルの変換規則に従って、モデルを変換してもよい。
【0092】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
【0093】
本実施形態では、記憶部40は、モデル41と、ローカルデータ42と、引継ぎデータ43と、変換規則44とを記憶する。
【0094】
モデル41は、情報提供装置100から提供された共有モデルや、利用者Uが所有する他の端末装置10から引き継いだモデル、及び当該端末装置10のローカルデータ42を学習データとしてオンデバイス機械学習を行った結果として得られた推論モデル等である。
【0095】
また、ローカルデータ42は、当該端末装置10により収集された利用者Uのコンテキスト情報である。例えば、ローカルデータ42は、入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって計測された各種センサデータ、測位部14によって測位された端末装置10の位置情報等である。また、ローカルデータ42は、利用者Uの属性情報や、利用者Uの行動を示す各種履歴情報(ログデータ)を含んでいてもよい。また、ローカルデータ42は、利用者Uの端末装置10に関する各種情報を含んでいてもよい。
【0096】
また、引継ぎデータ43は、利用者Uが所有する他の端末装置10から引き継いだローカルデータである。すなわち、引継ぎデータ43は、利用者Uが所有する他の端末装置10により収集された利用者Uのコンテキスト情報である。
【0097】
また、変換規則44は、ローカルデータ42と、他の端末装置10から引き継いだローカルデータとの対応関係を示すデータである。なお、変換規則44は、変換表(テーブル)であってもよいし、機械学習により得られた変換モデルであってもよい。
【0098】
なお、記憶部40は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、記憶部40は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、記憶部40は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。また、記憶部40は、利用者Uの位置や日時の履歴である位置履歴、利用者Uが入力した検索クエリの履歴である検索履歴、利用者Uが閲覧したコンテンツの履歴である閲覧履歴、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴、利用者Uの投稿の履歴である投稿履歴等を記憶してもよい。また、記憶部40は、利用者Uが端末装置10にインストールした各種アプリの利用履歴や、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。これらの情報は、ローカルデータ42として使用可能である。
【0099】
〔4.処理手順〕
次に、
図4を用いて実施形態に係る端末装置10による処理手順について説明する。
図4は、実施形態に係る処理手順を示すシーケンス図である。なお、以下に示す処理手順は、端末装置10の制御部30によって繰り返し実行される。
【0100】
図4に示すように、旧端末(旧デバイス)である端末装置10Aの取得部35は、当該端末装置10Aの機能によりローカルデータ(利用者Uのコンテキスト情報)を収集する(ステップS101)。例えば、取得部35は、入力部13を用いて利用者Uにより入力された各種情報や、当該端末装置10Aに搭載又は接続された各センサ21~28によって計測された各種センサデータ、測位部14によって測位された当該端末装置10Aの位置情報等を、ローカルデータ(利用者Uのコンテキスト情報)として収集する。
【0101】
続いて、端末装置10Aの学習部34は、共有モデルをベースとして、端末装置10Aのローカルデータ(利用者Uのコンテキスト情報)を学習データとしてオンデバイス機械学習を行う(ステップS102)。なお、端末装置10Aの受信部32は、通信部11を介して、情報提供装置100(サーバ側)から提供された共有モデルを受信してもよい。また、端末装置10Aの送信部31は、通信部11を介して、学習結果としての共有モデルとの差分パラメータや、推論結果を情報提供装置100(サーバ側)に送信してもよい。
【0102】
続いて、端末装置10Aの送信部31は、通信部11を介して、端末装置10Aの学習済みのモデル及びローカルデータ(利用者Uのコンテキスト情報)を新端末(新デバイス)である端末装置10Bに送信する(ステップS103)。このとき、端末装置10Bの受信部32は、通信部11を介して、端末装置10Aの学習済みのモデル及びローカルデータを受信する。すなわち、端末装置10Aと端末装置10Bとの間で学習済みのモデル及びローカルデータの引継ぎを行う。なお、端末装置10Aの処理部33は、学習済みのモデル及びローカルデータを暗号化してもよい。この場合、送信部31は、暗号化された学習済みのモデル及びローカルデータとともに、復号鍵(公開鍵等)を端末装置10Bに送信してもよい。また、デバイス間でモデル/データを移行する方法は、P2Pでも、家庭内LAN(ホームハブ形式)でも、ファイル圧縮型でもよい。
【0103】
続いて、端末装置10Bの取得部35は、当該端末装置10Bの機能によりローカルデータ(利用者Uのコンテキスト情報)を収集する(ステップS104)。
【0104】
続いて、端末装置10Bの推定部36は、他の端末装置10Aのローカルデータと、当該端末装置10Bのローカルデータとの対応関係を学習し、変換規則を推測する(ステップS105)。例えば、端末装置10Bの推定部36は、他の端末装置10Aから受信したローカルデータと、当該端末装置10Bの機能により収集されたローカルデータとの対応関係を学習し、他の端末装置10Aから受信したローカルデータを、当該端末装置10Bの機能により収集されたローカルデータに対応させる写像(変換規則)を推測する。さらに、推定部36は、他の端末装置10Aと同じ機種から当該端末装置10Bと同じ機種へ機種変更した他の利用者Uのモデルの変遷に関する学習結果に基づいて、モデルの変換規則を推定してもよい。
【0105】
続いて、端末装置10Bの変換部37は、推測された変換規則に従って、他の端末装置10Aのローカルデータと、当該端末装置10Bのローカルデータに変換する(ステップS106)。すなわち、他の端末装置10Aのローカルデータを、当該端末装置10Bのローカルデータと同じ形式のデータに変換する。さらに、変換部37は、モデルの変換規則に従って、他の端末装置10Aから引き継いだ学習済みのモデルを変換してもよい。
【0106】
続いて、端末装置10Bの学習部34は、他の端末装置10Aから引き継いだ学習済みのモデルをベースとして、変換後のデータを含む端末装置10Bのローカルデータ(利用者Uのコンテキスト情報)を学習データとしてオンデバイス機械学習を行う(ステップS107)。
【0107】
〔5.変形例〕
上述した端末装置10及び情報提供装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0108】
上記の実施形態において、情報提供装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態における情報提供装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10は情報提供装置100と連携しているため、利用者Uから見れば、情報提供装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、情報提供装置100を備えているともいえる。
【0109】
また、上記の実施形態において、端末装置10は、オンデバイスAI(Artificial Intelligence:人工知能)によりカメラ機能の高機能化を実現したスマートフォン等であってもよい。また、端末装置10は、オンデバイスAIを搭載したロボットや自動運転車、ドローン等であってもよい。
【0110】
また、上記の実施形態において、旧端末から新端末へのモデル/データの引継ぎに限らず、新端末から旧端末へのモデル/データの移行も可能である。すなわち、新端末(新デバイス)である端末装置10Bが、旧端末(旧デバイス)である端末装置10Aへモデル/データを移行することもできる。例えば、新端末(新デバイス)である端末装置10Bに不具合や修理の必要が生じた場合に、旧端末(旧デバイス)である端末装置10Aへモデル/データを一時的に退避させることも可能である。このように、端末間(デバイス間)のモデル/データの移行は、一方向ではなく双方向にすることができる。
【0111】
〔6.効果〕
上述してきたように、本願に係る端末装置10(10B)は、利用者Uが所有する端末装置10(10B)であって、第1コンテキスト情報として、当該端末装置10(10B)の機能により利用者Uのコンテキスト情報を収集する取得部35と、第2コンテキスト情報として、利用者Uが所有する他の端末装置10(10A)から、他の端末装置10(10A)の機能により収集された利用者Uのコンテキスト情報を受信する受信部32と、第1コンテキスト情報と第2コンテキスト情報との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定する推定部36と、変換規則に従って、第2コンテキスト情報を第1コンテキスト情報に変換する変換部37と、利用者Uのコンテキスト情報を学習データとして機械学習を行う学習部34と、を備える。
【0112】
また、取得部35は、新コンテキスト情報として、新端末である当該端末装置10(10B)の機能により利用者Uのコンテキスト情報を収集する。受信部32は、旧コンテキスト情報として、利用者Uが現在又は過去に使用していた旧端末である他の端末装置10(10A)から、他の端末装置10(10A)の機能により収集された利用者Uのコンテキスト情報を受信する。推定部36は、新コンテキスト情報と旧コンテキスト情報との対応関係を学習して、新コンテキスト情報と旧コンテキスト情報との変換規則を推定する。変換部37は、変換規則に従って、旧コンテキスト情報を新コンテキスト情報に変換する。学習部34は、利用者Uのコンテキスト情報を学習データとして機械学習を行う。
【0113】
また、取得部35は、第1コンテキスト情報として、当該端末装置10(10B)に搭載されたセンサによりセンサデータを収集する。受信部32は、第2コンテキスト情報として、当該端末装置10(10B)とはセンサの数又は性能が異なる他の端末装置10(10A)から、他の端末装置10(10A)に搭載されたセンサにより収集されたセンサデータを受信する。推定部36は、第1コンテキスト情報と第2コンテキスト情報との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定する。変換部37は、変換規則に従って、第2コンテキスト情報を第1コンテキスト情報に変換する。学習部34は、利用者Uのコンテキスト情報を学習データとして機械学習を行う。
【0114】
また、推定部36は、位置情報が共通である第1コンテキスト情報と第2コンテキスト情報との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定する。
【0115】
また、推定部36は、少なくとも一部のセンサデータが共通である第1コンテキスト情報と第2コンテキスト情報との対応関係を学習して、第1コンテキスト情報と第2コンテキスト情報との変換規則を推定する。
【0116】
また、推定部36は、当該端末装置10(10B)に搭載されているセンサが他の端末装置10(10A)にも搭載されているものと仮定して、第1コンテキスト情報に含まれるセンサデータを第2コンテキスト情報に追加する形で第1コンテキスト情報と第2コンテキスト情報との変換規則を推定する。
【0117】
また、受信部32は、利用者Uが所有する他の端末装置10(10A)から、第2コンテキスト情報を学習データとして学習したモデルを受信する。推定部36は、他の端末装置10(10A)と同じ機種から当該端末装置10(10B)と同じ機種へ機種変更した他の利用者Uのモデルの変遷に関する学習結果に基づいて、モデルの変換規則を推定する。変換部37は、モデルの変換規則に従って、モデルを変換する。
【0118】
また、受信部32は、利用者Uが所有する他の端末装置10(10A)から、P2P、家庭内LAN又は閉域網を利用して、外部へ流出させることなく、他の端末装置10(10A)の機能により収集された利用者Uのコンテキスト情報を受信する。
【0119】
上述した各処理のいずれかもしくは組合せにより、本願に係る端末装置は、機械学習を行う個々の端末装置間でのデータのシームレスな引継ぎを行うことができる。
【0120】
〔7.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば
図5に示すような構成のコンピュータ1000によって実現される。以下、端末装置10を例に挙げて説明する。
図5は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0121】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0122】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0123】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
【0124】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0125】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0126】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0127】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0128】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0129】
例えば、コンピュータ1000が端末装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部30の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0130】
〔8.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0131】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0132】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0133】
例えば、上述した情報提供装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0134】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0135】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部は、制御手段や制御回路に読み替えることができる。
【符号の説明】
【0136】
1 情報処理システム
10 端末装置
11 通信部
14 測位部
20 センサ部
30 制御部
31 送信部
32 受信部
33 処理部
34 学習部
35 取得部
36 推定部
37 変換部
40 記憶部
100 情報提供装置