JP7317901B2 - Information processing device, information processing method and information processing program - Google Patents

Information processing device, information processing method and information processing program Download PDF

Info

Publication number
JP7317901B2
JP7317901B2 JP2021132670A JP2021132670A JP7317901B2 JP 7317901 B2 JP7317901 B2 JP 7317901B2 JP 2021132670 A JP2021132670 A JP 2021132670A JP 2021132670 A JP2021132670 A JP 2021132670A JP 7317901 B2 JP7317901 B2 JP 7317901B2
Authority
JP
Japan
Prior art keywords
data
information
unit
server side
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021132670A
Other languages
Japanese (ja)
Other versions
JP2023027525A (en
Inventor
孝太 坪内
崇史 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2021132670A priority Critical patent/JP7317901B2/en
Publication of JP2023027525A publication Critical patent/JP2023027525A/en
Application granted granted Critical
Publication of JP7317901B2 publication Critical patent/JP7317901B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.

サーバ装置に機械学習させるための教師データをサーバ装置へ送る技術が開示されている。 A technique is disclosed for sending teacher data to a server device for causing the server device to perform machine learning.

特許第6880290号公報Japanese Patent No. 6880290

上記の従来技術のように、機械学習はサーバ装置によって行われるのが一般的である。しかしながら、データに個人の行動等を特定可能な情報が含まれている場合、企業等の外部のサーバ装置へ送るのが好ましくないこともある。また、個人の行動等を特定可能な情報を含むデータの送受信には様々な制限があるため、自由に送受信することが容易ではないこともある。そのため、機械学習を行う際に、データや状況に合わせて、データを送るか否かを判定できると好ましい。 Machine learning is generally performed by a server device, as in the conventional technology described above. However, if the data contains information that can identify individual behavior, etc., it may not be preferable to send the data to an external server device such as a company. In addition, since there are various restrictions on the transmission and reception of data containing information that can identify an individual's behavior, etc., it may not be easy to freely transmit and receive data. Therefore, when performing machine learning, it is preferable to be able to determine whether or not to send data according to data and circumstances.

本願は、上記に鑑みてなされたものであって、データや状況に応じて、データを送るか否かを判定することを目的とする。 The present application has been made in view of the above, and an object of the present application is to determine whether or not to send data according to data and circumstances.

本願に係る情報処理装置は、位置情報やセンサデータといった個人の行動を特定可能な情報が含まれるデータを取得する取得部と、前記データを外部に送るか否かの判断基準となるコンテキストに応じて、前記データをサーバ側へ送るか否かを判定する判定部と、前記データを前記サーバ側へ送ると判定した場合、前記データを前記サーバ側へ送信する送信部と、前記サーバ側から前記データを用いたグローバルモデルでの機械学習の結果を受信する受信部と、前記データをサーバ側へ送らないと判定した場合、前記データを用いてローカルモデルで機械学習を行う学習部と、を備えることを特徴とする。 An information processing apparatus according to the present application includes an acquisition unit that acquires data including information that can identify an individual's behavior, such as position information and sensor data, and a context that serves as a criterion for determining whether to send the data to the outside. a determination unit for determining whether or not to send the data to the server side; a transmission unit for sending the data to the server side when it is determined to send the data to the server; A receiving unit that receives the result of machine learning with a global model using data, and a learning unit that performs machine learning with a local model using the data when it is determined not to send the data to the server side. It is characterized by

実施形態の一態様によれば、データや状況に応じて、データを送るか否かを判定することができる。 According to one aspect of the embodiment, it is possible to determine whether or not to send the data depending on the data and the situation.

図1は、実施形態に係る情報処理方法の概要を示す説明図である。FIG. 1 is an explanatory diagram showing an outline of an information processing method according to an embodiment. 図2は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of an information processing system according to the embodiment; 図3は、実施形態に係る端末装置の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a terminal device according to the embodiment; 図4は、実施形態に係る情報提供装置の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of an information providing apparatus according to the embodiment; 図5は、利用者情報データベースの一例を示す図である。FIG. 5 is a diagram showing an example of a user information database. 図6は、履歴情報データベースの一例を示す図である。FIG. 6 is a diagram showing an example of the history information database. 図7は、レコメンド情報データベースの一例を示す図である。FIG. 7 is a diagram showing an example of a recommendation information database. 図8は、実施形態に係る処理手順を示すフローチャートである。FIG. 8 is a flow chart showing a processing procedure according to the embodiment. 図9は、ハードウェア構成の一例を示す図である。FIG. 9 is a diagram illustrating an example of a hardware configuration;

以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Embodiments for implementing an information processing apparatus, an information processing method, and an information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail below with reference to the drawings. The information processing apparatus, information processing method, and information processing program according to the present application are not limited to this embodiment. Also, in the following embodiments, the same parts are denoted by the same reference numerals, and overlapping descriptions are omitted.

〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、データや状況に合わせて、データを送るか否かを判定する場合を例に挙げて説明する。
[1. Outline of information processing method]
First, an outline of an information processing method performed by an information processing apparatus according to an embodiment will be described with reference to FIG. FIG. 1 is an explanatory diagram showing an outline of an information processing method according to an embodiment. Note that in FIG. 1, a case in which it is determined whether or not to send data according to the data and the situation will be described as an example.

図1に示すように、情報処理システム1は、端末装置10と情報提供装置100とを含む。端末装置10と情報提供装置100とは、それぞれネットワークN(図2参照)を介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10は、情報提供装置100と連携する。 As shown in FIG. 1 , the information processing system 1 includes a terminal device 10 and an information providing device 100 . The terminal device 10 and the information providing device 100 are communicably connected to each other by wire or wirelessly via a network N (see FIG. 2). In this embodiment, the terminal device 10 cooperates with the information providing device 100 .

端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。 The terminal device 10 is a smart device such as a smartphone or tablet used by a user U (user), and communicates with an arbitrary server device via a wireless communication network such as 4G (Generation) or LTE (Long Term Evolution). It is a portable terminal device capable of performing The terminal device 10 has a screen such as a liquid crystal display and has a touch panel function, and the user U can perform a tap operation, a slide operation, a scroll operation, or the like with a finger, a stylus, or the like, and display data such as contents. Accepts various operations for . An operation performed on an area where content is displayed on the screen may be an operation on the content. In addition, the terminal device 10 may be an information processing device such as a desktop PC (Personal Computer) or a notebook PC as well as a smart device.

情報提供装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。 The information providing device 100 cooperates with the terminal device 10 of each user U, and provides the terminal device 10 of each user U with API (Application Programming Interface) services for various applications (hereinafter referred to as apps) and various It is an information processing device that provides data, and is realized by a server device, a cloud system, or the like.

また、情報提供装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、情報提供装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、情報提供装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。 Also, the information providing device 100 may be an information processing device that provides some web service online to the terminal device 10 of each user U. FIG. For example, the information providing apparatus 100 provides Web services such as Internet connection, search service, SNS (Social Networking Service), electronic commerce, electronic payment, online game, online banking, online trading, accommodation/ticket reservation, video/music distribution, Services such as news, maps, route search, route guidance, route information, operation information, and weather forecast may be provided. In practice, the information providing apparatus 100 may cooperate with various servers that provide web services as described above, mediate web services, or take charge of web service processing.

なお、情報提供装置100は、利用者Uに関する利用者情報を取得可能である。例えば、情報提供装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、情報提供装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。 Note that the information providing device 100 can acquire user information about the user U. FIG. For example, the information providing device 100 acquires information about attributes of the user U, such as the user's U gender, age, and area of residence. The information providing apparatus 100 stores and manages identification information indicating the user U (user ID, etc.) and information related to the attributes of the user U. FIG.

また、情報提供装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、情報提供装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、情報提供装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、情報提供装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、情報提供装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、情報提供装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済サーバから取得してもよい。また、情報提供装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。 Further, the information providing apparatus 100 acquires various types of history information (log data) indicating actions of the user U from the terminal apparatus 10 of the user U or from various servers based on the user ID or the like. For example, the information providing device 100 acquires a location history, which is a history of the user U's location and date and time, from the terminal device 10 . The information providing apparatus 100 also acquires a search history, which is a history of search queries input by the user U, from a search server (search engine). Further, the information providing apparatus 100 acquires a viewing history, which is a history of content viewed by the user U, from the content server. The information providing apparatus 100 also acquires a purchase history (payment history), which is a history of product purchases and payment processing of the user U, from an electronic commerce server or a payment processing server. Further, the information providing apparatus 100 may acquire the exhibition history and sales history, which are the history of the user U's exhibition in the marketplace, from the electronic commerce server or the settlement server. In addition, the information providing apparatus 100 acquires the posting history, which is the posting history of the user U, from a posting server that provides a word-of-mouth posting service or an SNS server.

〔1-1.情報処理方法の処理フロー〕
図1に示すように、利用者Uの端末装置10は、端末装置10の機能により計測又は記録されるデータを取得する(ステップS1)。例えば、端末装置10は、データとして、端末装置10の位置情報、センサデータ、利用者Uの属性情報、履歴情報(操作履歴、決済履歴等)等を取得する。端末装置10は、GPS(Global Positioning System)やRTK(Real Time Kinematic)等の測位方法で、第1精度(例えば、10メートル精度、10mメッシュ)での詳細な位置情報を取得する。また、端末装置10は、端末に搭載又は接続された各センサで計測されたセンサデータを取得してもよい。
[1-1. Processing Flow of Information Processing Method]
As shown in FIG. 1, the terminal device 10 of the user U acquires data measured or recorded by the functions of the terminal device 10 (step S1). For example, the terminal device 10 acquires, as data, location information of the terminal device 10, sensor data, attribute information of the user U, history information (operation history, payment history, etc.) and the like. The terminal device 10 acquires detailed position information with a first precision (for example, 10-meter precision, 10-meter mesh) using a positioning method such as GPS (Global Positioning System) or RTK (Real Time Kinematic). In addition, the terminal device 10 may acquire sensor data measured by each sensor mounted on or connected to the terminal.

本実施形態では、利用者Uの端末装置10は、位置情報やセンサデータ等のデータを取得した際に、所定のルールに基づいて、端末側(端末装置10)のローカルモデル(局所モデル)と、サーバ側(情報提供装置100)のグローバルモデル(全体モデル)とのうち、いずれのモデルにおいて機械学習するかを判定する(ステップS2)。すなわち、ローカルモデルとグローバルモデルとのいずれを更新するかを判定する。ローカルモデルとグローバルモデルとは、精度が異なる。例えば、利用者Uの端末装置10は、取得されたデータとコンテキストから、サーバ側のグローバルモデルと、端末側のローカルモデルとのいずれを学習するかを決定する。 In this embodiment, when the terminal device 10 of the user U acquires data such as position information and sensor data, based on a predetermined rule, the local model (local model) of the terminal side (terminal device 10) , and a global model (overall model) on the server side (information providing apparatus 100) to perform machine learning (step S2). That is, it determines which of the local model and the global model is to be updated. The local model and the global model have different accuracies. For example, the terminal device 10 of the user U determines which of the server-side global model and the terminal-side local model to learn based on the acquired data and context.

続いて、利用者Uの端末装置10は、サーバ側(情報提供装置100)のグローバルモデルにおいて機械学習すると判断した場合、所定のルールに基づいて、サーバ側(情報提供装置100)に送信対象のデータを抽象化して送るか否かを判定する(ステップS3)。例えば、利用者Uの端末装置10は、取得されたデータとコンテキストから、サーバ側(情報提供装置100)に送信対象のデータを生データの状態で送るか抽象化して送るかを決定する。 Subsequently, when the terminal device 10 of the user U determines that machine learning is to be performed in the global model on the server side (information providing device 100), based on a predetermined rule, the terminal device 10 to be transmitted to the server side (information providing device 100). It is determined whether or not the data should be abstracted and sent (step S3). For example, the terminal device 10 of the user U determines whether to send the data to be sent to the server side (the information providing device 100) in the raw data state or abstracted from the acquired data and context.

<コンテキスト>
本実施形態では、利用者Uの端末装置10は、オンデバイス(端末側)で学習するか、オンライン(サーバ側)で学習するかをコンテキストによって判断する。すなわち、利用者Uの端末装置10は、取得したデータを送るか否かをコンテキストによって判断する。また、利用者Uの端末装置10は、サーバ側(情報提供装置100)に送信対象のデータを生データの状態で送るか抽象化して送るかについてもコンテキストによって判断する。判断基準となるコンテキストの例として、以下のような状況が挙げられる。
<context>
In this embodiment, the terminal device 10 of the user U determines from the context whether to learn on-device (terminal side) or online (server side). That is, the terminal device 10 of the user U determines whether or not to send the acquired data based on the context. The terminal device 10 of the user U also determines whether to send the data to be sent to the server side (the information providing device 100) in a raw data state or in an abstracted state based on the context. Examples of contexts that serve as criteria for determination include the following situations.

(1)データのプライバシー具合(周辺の混雑具合)
利用者Uの端末装置10は、利用者Uが鉄道駅や繁華街のような混雑しているエリアにいる場合には、位置情報等のデータを抽象化せず送ってもよい。すなわち、端末装置10は、同じ場所に不特定多数の人がいて、同じデータ(同じ位置情報等)が多数集まる場合、あるいは個人を特定することが容易でない場合には、データを抽象化せず送ってもよい。この場合、利用者Uの端末装置10は、データをオンライン(サーバ側)で学習するように判定する。
(1) Data privacy condition (surrounding congestion condition)
The terminal device 10 of the user U may transmit data such as location information without abstraction when the user U is in a crowded area such as a train station or downtown. That is, the terminal device 10 does not abstract data when there are many unspecified people in the same place and a large number of the same data (same location information, etc.) are collected, or when it is difficult to identify an individual. You can send In this case, the terminal device 10 of the user U determines to learn the data online (on the server side).

また、利用者Uの端末装置10は、利用者Uが自宅や閑散とした場所のような周りに人がいない状況である場合には、例えば位置情報を1キロメートル精度(例えば1kmメッシュ単位)や地域単位(エリア単位)に抽象化して送る。すなわち、端末装置10は、同じ場所に他の人がおらず、個人を特定することが容易である場合には、データを抽象化して送ってもよい。この場合、利用者Uの端末装置10は、データをオンデバイス(端末側)で学習するように判定する。また、端末装置10は、抽象化されたデータ(抽象化データ)をオンライン(サーバ側)で学習するように判定する。なお、実際には、端末装置10は、抽象化の実施の有無にかかわらず、サーバ側にデータを送らないようにしてもよい。 In addition, when the user U's terminal device 10 is in a situation where there are no people around the user U, such as at home or in a quiet place, for example, the position information is stored with 1-kilometer accuracy (for example, 1-km mesh unit) or It is abstracted and sent to a regional unit (area unit). That is, the terminal device 10 may abstract and send data when there is no other person in the same place and it is easy to identify the individual. In this case, the terminal device 10 of the user U determines to learn the data on-device (terminal side). Also, the terminal device 10 determines to learn the abstracted data (abstracted data) online (on the server side). In practice, the terminal device 10 may not send data to the server side regardless of whether or not abstraction is implemented.

(2)電池残量(電池消費との兼ね合い)
多くの端末装置において、オンデバイスで機械学習を行うと、電池(バッテリー等)の残量の消費が激しい。そこで、利用者Uの端末装置10は、当該端末装置10の残り電池(電池残量)が少ない時(例えば、電池残量が所定の閾値未満の場合)には、オンライン(サーバ側)で機械学習を行うように判断する。反対に、端末装置10は、当該端末装置10の残り電池(電池残量)が多い時(例えば、電池残量が所定の閾値以上の場合)には、オンデバイス(端末側)で機械学習を行うように判断する。
(2) Remaining battery level (balance with battery consumption)
In many terminal devices, when machine learning is performed on-device, the battery (battery, etc.) remaining amount is consumed rapidly. Therefore, when the remaining battery (remaining battery power) of the terminal device 10 is low (for example, when the remaining battery power is less than a predetermined threshold), the terminal device 10 of the user U can be online (on the server side). Decide to learn. Conversely, when the terminal device 10 has a large remaining battery (remaining battery power) (for example, when the remaining battery power is equal to or greater than a predetermined threshold), the terminal device 10 performs machine learning on the device (terminal side). decide to do so.

(3)データの取得の許可・黙認
利用者Uの端末装置10は、利用者Uの位置情報等のデータが、利用者Uにわからないように暗黙的に取得(例えば、バックグラウンドで取得)されているか、利用者Uにもわかるように明示的に取得(例えば、ナビアプリで取得)されているかにより、オンデバイス(端末側)で学習するか、オンライン(サーバ側)で学習するかを判断する。
(3) Data Acquisition Permission and Tacit Approval The user U's terminal device 10 implicitly acquires (for example, acquires in the background) data such as the location information of the user U so that the user U does not know. It is determined whether to learn on-device (terminal side) or online (server side) depending on whether it is explicitly acquired (for example, acquired by a navigation application) so that user U can understand it. do.

例えば、利用者Uの端末装置10は、利用者Uのデータの取得が、暗黙的(implicit:インプリシット)に実施されている場合には、データを抽象化してサーバ側へ送る。この場合、端末装置10は、抽象化されたデータ(抽象化データ)をオンライン(サーバ側)で学習するように判定する。また、利用者Uの端末装置10は、生データをオンデバイス(端末側)で学習するように判定する。この場合、オンデバイス機械学習を優先させる。 For example, when the user U's data is implicitly acquired, the terminal device 10 of the user U abstracts the data and sends the data to the server side. In this case, the terminal device 10 determines to learn the abstracted data (abstracted data) online (on the server side). Also, the terminal device 10 of the user U determines to learn the raw data on-device (terminal side). In this case, prioritize on-device machine learning.

また、利用者Uの端末装置10は、利用者Uのデータの取得が、明示的(explicit:エクスプリシット)に実施されている場合には、データを生データの状態でサーバ側へ送る。この場合、利用者Uの端末装置10は、生データをオンライン(サーバ側)で学習するように判定する。このとき、利用者Uの端末装置10は、生データをオンデバイス(端末側)でも学習するように判定してもよいし、オンデバイス(端末側)では学習しないように判定してもよい。すなわち、オンライン機械学習を優先させる。 Further, when the user U's data is explicitly acquired, the terminal device 10 of the user U sends the raw data to the server side. In this case, the terminal device 10 of the user U determines to learn the raw data online (on the server side). At this time, the terminal device 10 of the user U may determine to learn the raw data on-device (terminal side) as well, or may determine not to learn the raw data on-device (terminal side). In other words, prioritize online machine learning.

なお、利用者Uの端末装置10は、学習のタイミングについて、ローカルモデルとグローバルモデルの整合又は同期が取れるようにしてもよい。例えば、利用者Uの端末装置10は、データを取得した際、サーバ側のグローバルモデルを更新していない場合、端末側のローカルモデルの更新を制限又は禁止してもよい。あるいは、利用者Uの端末装置10は、端末側のコンテキストが変わらない時には、モデル自体を更新しないようにしてもよい。 Note that the terminal device 10 of the user U may match or synchronize the local model and the global model with respect to learning timing. For example, when the terminal device 10 of the user U has not updated the global model on the server side when the data is acquired, updating of the local model on the terminal side may be restricted or prohibited. Alternatively, the terminal device 10 of the user U may not update the model itself when the context on the terminal side does not change.

<オンライン(サーバ側)での機械学習>
続いて、端末装置10は、オンライン(サーバ側)で学習すると判断した場合、送信対象のデータを抽象化して送るか否かの判断に応じて、生データの状態で又はデータを抽象化した抽象化データを情報提供装置100に送信する(ステップS4)。このとき、端末装置10は、送信対象のデータを生データの状態で送ると判断した場合、取得されたデータを生データの状態で情報提供装置100に送信する。また、端末装置10は、送信対象のデータを抽象化して送ると判断した場合、取得されたデータを抽象化した抽象化データを情報提供装置100に送信する。
<Online (server side) machine learning>
Subsequently, when the terminal device 10 determines to learn online (on the server side), the terminal device 10 determines whether the data to be transmitted is to be abstracted and transmitted, in raw data state or abstracted data. converted data to the information providing apparatus 100 (step S4). At this time, when the terminal device 10 determines that the data to be transmitted is to be transmitted in the raw data state, the terminal device 10 transmits the acquired data in the raw data state to the information providing device 100 . Further, when the terminal device 10 determines that the data to be transmitted is to be abstracted and transmitted, the terminal device 10 transmits abstracted data obtained by abstracting the acquired data to the information providing device 100 .

例えば、端末装置10は、抽象化データとして、生データである第1精度(例えば、10メートル精度、10mメッシュ)での詳細な位置情報の精度を落とした第2精度(例えば、1キロメートル精度、1kmメッシュ)での粗い位置情報を情報提供装置100に送信する。なお、第2精度での粗い位置情報は、都道府県や市区町村等の地域(エリア)単位の情報(地域名称、住所等)であってもよいし、地域メッシュ単位の情報(地域メッシュコード等)であってもよい。また、端末装置10は、第1精度での詳細な位置情報から、第2精度での粗い位置情報を生成する際に、端数処理(丸め処理)を行ってもよい。 For example, the terminal device 10 uses a second precision (for example, 1-kilometer precision, 1-kilometer precision, 1 km mesh) is transmitted to the information providing apparatus 100 . The coarse position information with the second accuracy may be information (region name, address, etc.) in units of regions (areas) such as prefectures and municipalities, or information in units of regional meshes (regional mesh code etc.). Further, the terminal device 10 may perform fraction processing (rounding processing) when generating rough position information with the second precision from detailed position information with the first precision.

また、送信データ(生データ又は抽象化データ)を暗号化して伝送することは技術常識の範疇で可能である。また、トンネリング(tunneling)により、端末側とサーバ側との間に閉じられた仮想的な直結回線を確立してもよい。例えば、端末側とサーバ側との間にVPN(Virtual Private Network)を構築してもよい。 Moreover, it is possible within the scope of common technical knowledge to encrypt and transmit transmission data (raw data or abstract data). Alternatively, tunneling may be used to establish a closed virtual direct line between the terminal side and the server side. For example, a VPN (Virtual Private Network) may be constructed between the terminal side and the server side.

このとき、端末装置10は、送信データをベクトルに変換(ベクトル化)したベクトルデータの形式で送信してもよい。ベクトルデータは不可逆な情報であり、ベクトルデータのベクトル値から元のデータを復元することはできない。例えば、端末装置10は、いわゆるエンベディング(embedding:埋め込み)を行い、送信データに基づくエンベディングベクトル(埋め込みベクトル)を生成してもよい。 At this time, the terminal device 10 may transmit the transmission data in the form of vector data obtained by converting (vectoring) the transmission data into a vector. Vector data is irreversible information, and the original data cannot be restored from the vector values of the vector data. For example, the terminal device 10 may perform so-called embedding to generate an embedding vector based on transmission data.

続いて、情報提供装置100は、端末装置10からの送信データ(生データ又は抽象化データ)を受信し、受信データに基づいて機械学習を行い、グローバルモデルを構築する(ステップS5)。例えば、情報提供装置100は、端末装置10は、機械学習により受信データのグループ分けやパターン化を行う。また、受信データと利用者Uの現在や将来の位置や行動とを学習データとして機械学習を行う。あるいは、情報提供装置100は、受信データと利用者Uに提供する提供情報とを学習データとして機械学習を行う。提供情報は、周辺の店舗の広告やクーポン等のレコメンド情報(recommendation)等である。 Subsequently, the information providing device 100 receives transmission data (raw data or abstract data) from the terminal device 10, performs machine learning based on the received data, and constructs a global model (step S5). For example, the information providing device 100 and the terminal device 10 perform grouping and patterning of received data by machine learning. Machine learning is also performed using the received data and the current and future positions and behaviors of the user U as learning data. Alternatively, the information providing device 100 performs machine learning using the received data and the provided information to be provided to the user U as learning data. The provided information includes recommendation information such as advertisements and coupons for nearby stores.

続いて、情報提供装置100は、受信データをグローバルモデルに入力して推論を行い、推論結果を得る(ステップS6)。例えば、情報提供装置100は、受信データに基づいて、利用者Uの現在や将来の位置や行動を推測したり、利用者Uに提供するレコメンド情報(提供情報)を推測したりする。 Subsequently, the information providing device 100 inputs the received data into the global model, makes an inference, and obtains an inference result (step S6). For example, the information providing apparatus 100 estimates the current or future position and behavior of the user U, or estimates recommended information (provided information) to be provided to the user U, based on the received data.

続いて、情報提供装置100は、推論結果に基づく情報を、利用者Uの端末装置10に提供する(ステップS7)。本実施形態では、情報提供装置100は、推論結果に基づいて、利用者Uの端末装置10にレコメンド情報を提供する。例えば、情報提供装置100は、周辺の店舗の情報提供や、クーポンの配信等を行う。 Subsequently, the information providing device 100 provides information based on the inference result to the terminal device 10 of the user U (step S7). In this embodiment, the information providing device 100 provides recommendation information to the terminal device 10 of the user U based on the inference result. For example, the information providing device 100 provides information on nearby stores, distributes coupons, and the like.

このとき、情報提供装置100は、この提供情報を決定する際に、グローバルモデルを利用してもよい。例えば、情報提供装置100は、グローバルモデルと受信データとで、閲覧確度が所定の閾値を超えると推定された複数のレコメンド情報を提供する。 At this time, the information providing apparatus 100 may use a global model when determining this provided information. For example, the information providing apparatus 100 provides a plurality of pieces of recommended information that are estimated to have a viewing accuracy that exceeds a predetermined threshold based on the global model and the received data.

なお、レコメンド情報は一例に過ぎない。実際には、位置情報に対応又は関連する情報であってもよいし、位置情報からの推論に基づく各種情報であってもよい。例えば、位置情報からの推論に基づくユーザ行動等に関する情報であってもよい。 Note that the recommendation information is only an example. Actually, it may be information corresponding to or related to the position information, or various information based on inference from the position information. For example, it may be information related to user behavior or the like based on inference from position information.

<オンデバイス(端末側)での機械学習>
一方、利用者Uの端末装置10は、オンデバイス(端末側)で学習すると判断した場合、生データに基づいて機械学習を行い、ローカルモデルを構築する(ステップS8)。すなわち、端末装置10は、オンデバイス(on device)の機械学習を行う。例えば、端末装置10は、機械学習により生データのグループ分けやパターン化を行う。また、端末装置10は、生データと利用者Uの現在や将来の位置や行動とを学習データとして機械学習を行う。このとき、端末装置10は、生データと、端末装置10に搭載(又は接続)されたセンサにより収集されたセンサデータとを組み合わせて機械学習を行ってもよい。
<Machine learning on-device (terminal side)>
On the other hand, when the terminal device 10 of the user U determines to learn on-device (terminal side), it performs machine learning based on the raw data and builds a local model (step S8). That is, the terminal device 10 performs on-device machine learning. For example, the terminal device 10 performs grouping and patterning of raw data by machine learning. In addition, the terminal device 10 performs machine learning using the raw data and the current and future positions and behaviors of the user U as learning data. At this time, the terminal device 10 may perform machine learning by combining raw data and sensor data collected by a sensor mounted (or connected) to the terminal device 10 .

続いて、利用者Uの端末装置10は、生データをローカルモデルに入力して推論を行い、推論結果を得る(ステップS9)。例えば、端末装置10は、生データに基づいて利用者Uの現在や将来の位置や行動を推測する。このとき、端末装置10は、生データとして、位置情報と、端末装置10に搭載(又は接続)されたセンサにより収集されたセンサデータとを組み合わせて推論を行ってもよい。 Subsequently, the terminal device 10 of the user U inputs the raw data into the local model, makes an inference, and obtains an inference result (step S9). For example, the terminal device 10 estimates the current or future position and behavior of the user U based on the raw data. At this time, the terminal device 10 may make an inference by combining the position information and sensor data collected by a sensor mounted (or connected) to the terminal device 10 as raw data.

例えば、端末装置10は、生データとして、位置情報と、センサデータとを組み合わせて、位置情報が同じである場合(高層ビルや大型施設等にいる場合)でも、光センサのデータが明るめである(照度が高い)場合には「エントランスや通路等」にいると推測し、光センサのデータが暗めである(照度が低い)場合には「飲食店内」にいると推測してもよい。あるいは、気圧センサのデータが高めである(気圧が高い)場合には「低層階」にいると推測し、気圧センサのデータが低めである(気圧が低い)場合には「高層階」にいると推測してもよい。 For example, the terminal device 10 combines position information and sensor data as raw data, and even when the position information is the same (when the user is in a high-rise building, a large facility, etc.), the light sensor data is bright. If the illuminance is high, it may be assumed that the user is in an "entrance or aisle", and if the light sensor data is dark (low illuminance), it may be assumed that the user is in a "restaurant". Alternatively, if the air pressure sensor data is high (high air pressure), it is assumed to be on a "low floor", and if the air pressure sensor data is low (low air pressure), it is assumed to be on a "high floor". can be inferred.

また、端末装置10は、センサデータの他に、単に端末装置10を触っているかどうか(接触・操作)、どのアプリを使っているか(アプリ起動)、充電がされているかどうか(電池残量)等の情報を組み合わせて学習及び推論を行ってもよい。これらの情報は容易に取得可能であり、ユーザの位置情報の高精度化を実現するのに適当な情報である。すなわち、端末装置10は、端末装置10の位置情報と、端末装置10の状態情報・操作情報とを組み合わせて学習及び推論を行ってもよい。無論、端末装置10は、これらの情報とセンサデータとを組み合わせて学習及び推論を行ってもよい。 In addition to the sensor data, the terminal device 10 simply detects whether the terminal device 10 is being touched (contact/operation), which application is being used (application activation), and whether it is being charged (battery level). You may learn and infer by combining information, such as. These pieces of information can be easily obtained, and are appropriate information for achieving high accuracy of the user's location information. That is, the terminal device 10 may perform learning and inference by combining the position information of the terminal device 10 and the state information/operation information of the terminal device 10 . Of course, the terminal device 10 may perform learning and inference by combining this information and sensor data.

続いて、利用者Uの端末装置10は、生データを用いた推論結果に基づいて、利用者Uに提示する情報(提示情報)を決定する(ステップS10)。例えば、利用者Uの端末装置10は、生データを用いた推論結果に基づいて、情報提供装置100から受信した複数のレコメンド情報(提供情報)を絞り込み、利用者Uに提示する情報(提示情報)を決定する。すなわち、端末装置10は、情報提供装置100から受信した複数のレコメンド情報と、生データとに基づいて、利用者Uに提示する情報(提示情報)を制御する。 Subsequently, the terminal device 10 of the user U determines information (presentation information) to be presented to the user U based on the inference result using the raw data (step S10). For example, the terminal device 10 of the user U narrows down a plurality of pieces of recommended information (provided information) received from the information providing device 100 based on the inference result using the raw data, and presents information (presented information ). That is, the terminal device 10 controls information (presentation information) to be presented to the user U based on a plurality of pieces of recommended information received from the information providing device 100 and raw data.

このとき、端末装置10は、利用者Uに提示する情報(提示情報)を決定する際に、ローカルモデルを利用してもよい。例えば、端末装置10は、情報提供装置100から提供された複数のレコメンド情報のうち、ローカルモデルと生データとで、閲覧確度が所定の閾値を超えるレコメンド情報のみを表示する。 At this time, the terminal device 10 may use the local model when determining information (presentation information) to be presented to the user U. FIG. For example, the terminal device 10 displays only the recommended information of which the viewing accuracy exceeds a predetermined threshold for the local model and the raw data, among a plurality of pieces of recommended information provided from the information providing device 100 .

<オンライン(サーバ側)での再学習>
なお、端末装置10は、サーバ側のグローバルモデルが100メートル精度(例えば100mメッシュ単位)で選択された複数の提供情報(レコメンド情報)を受信し、これら複数の提供情報について端末側のローカルモデルでスコアリングをして、複数の提供情報のうちいずれかの提供情報を提示情報として出力する。
<Re-learning online (on the server side)>
In addition, the terminal device 10 receives a plurality of pieces of provided information (recommended information) in which the server-side global model is selected with 100-meter accuracy (for example, 100-m mesh units), and the terminal-side local model for these pieces of provided information. Scoring is performed, and one of a plurality of pieces of provided information is output as presentation information.

そして、端末装置10は、端末側のローカルモデルでスコアリングをした結果、いずれの提供情報も提示情報として出力されない場合には、サーバ側のグローバルモデルで再学習するために、データを送信し、サーバ側のグローバルモデルで再学習するように指示する。この結果、サーバ側である情報提供装置100は、グローバルモデルの再学習を行う。なお、サーバ側に送るデータは、生データであってもよいし、抽象化したデータ(抽象化データ)であってもよい。 Then, if none of the provided information is output as presentation information as a result of scoring with the terminal-side local model, the terminal device 10 transmits data for re-learning with the server-side global model, Tell it to retrain on the server-side global model. As a result, the information providing apparatus 100 on the server side re-learns the global model. The data sent to the server side may be raw data or abstracted data (abstracted data).

一方、端末側である端末装置10は、サーバ側のグローバルモデルで選択された複数の提供情報のうちいずれかの提供情報を表示した際に、表示された提供情報(提示情報)をユーザがあまりクリック/タップしてくれない(クリック/タップした割合が低い)場合には、自装置内で収集したデータを用いて、ローカルモデルの再学習を行う。 On the other hand, when the terminal device 10 on the terminal side displays any of the plurality of pieces of provided information selected in the global model on the server side, the displayed provided information (presented information) is If the user does not click/tap (the percentage of clicks/tap is low), the local model is re-learned using the data collected in the device itself.

ここで、上記の説明では、グローバルモデルが選択した複数の提供情報のうち表示された提供情報(提示情報)に対するクリック/タップの有無や割合等で学習対象の判断を行っているが、上記以外にも、様々なパターンが想定される。 Here, in the above explanation, the learning target is determined based on the presence or absence and ratio of clicks/tappings on the provided information (presented information) displayed from among the multiple provided information selected by the global model, but other than the above Various patterns are also assumed.

例えば、利用者Uの端末装置10は、所定期間経過した場合や、所定件数のデータが収集された場合、あるいは所定金額以上の購買履歴がある場合等には、グローバルモデルを更新するように判定する。 For example, the terminal device 10 of the user U determines to update the global model when a predetermined period of time has passed, when a predetermined number of pieces of data have been collected, or when there is a purchase history of a predetermined amount or more. do.

また、利用者Uの端末装置10は、利用者Uの現在位置が変化した場合や、利用者Uが所定期間内に所定の閾値以上移動した場合(旅行中、出張中、出勤中等)等には、ローカルモデルを更新するように判定する。 In addition, the terminal device 10 of the user U changes when the current position of the user U changes, or when the user U moves more than a predetermined threshold within a predetermined period (during travel, business trip, commuting to work, etc.). determines to update the local model.

<判断の主体>
なお、上記の実施形態において、データをサーバ側に送るか否かの判断は、端末側で行ってもよいし、サーバ側で行ってもよい。例えば、以下のような手順で判断してもよい。なお、サーバ側に送るデータは、生データであってもよいし、抽象化したデータ(抽象化データ)であってもよい。
<Subject of Judgment>
In the above embodiment, the terminal side or the server side may determine whether or not to send the data to the server side. For example, the following procedure may be used for determination. The data sent to the server side may be raw data or abstracted data (abstracted data).

(端末側での判断)
利用者Uの端末装置10は、データを取得した際に、様々な基準で、そのデータをサーバ側に送るか、サーバ側に送らず端末側だけで処理するかを判断する。例えば、基準は、上記のように、電池の残量と行うタスクの予測電池消費量や、データのプライバシー具合(プライバシー性の程度)等のコンテキストである。データのプライバシー具合とは、そのデータは混雑した公共の施設で明示的に取得されたデータか、周囲に人がいない状況で暗黙的/秘密裡に得られたデータかといったデータの取得状況等を示す。
(Determination on the terminal side)
When acquiring data, the terminal device 10 of the user U judges, based on various criteria, whether to send the data to the server side or to process the data only on the terminal side without sending it to the server side. For example, as described above, the criterion is the remaining battery level, the expected battery consumption of the task to be performed, the degree of privacy of the data, and other contexts. The degree of privacy of data refers to the state of data acquisition, such as whether the data was explicitly acquired in a crowded public facility, or whether it was implicitly/secretly acquired in a situation where no one was around. show.

(サーバ側での判断)
利用者Uの端末装置10は、データを取得した際に、そのデータをサーバ側に送るか否かを情報提供装置100(サーバ側)に問い合わせる。このとき、端末装置10は、試しにデータを1件分(又は数件分)のみサーバ側に送信して以降(今後)の送信を希望するか否かを問い合わせてもよい。
(Decision on the server side)
When acquiring data, the terminal device 10 of the user U inquires of the information providing device 100 (on the server side) whether to send the data to the server side. At this time, the terminal device 10 may transmit only one item (or several items) of data to the server side as a trial and inquire whether subsequent (future) transmissions are desired.

情報提供装置100(サーバ側)は、端末装置10からの問い合わせに応じて、そのデータをサーバ側に送るか否かを判断する。例えば、判断基準として、情報提供装置100(サーバ側)は、そのデータが希少(レア)である場合や、そのエリアでそのデータに価値がある場合、あるいは最近当該ユーザ又は当該エリアからデータが送られてきていない場合等に、端末装置10がそのデータをサーバ側に送るように判断する。そして、情報提供装置100(サーバ側)は、データの送信希望の有無を利用者Uの端末装置10に回答する。 In response to an inquiry from the terminal device 10, the information providing device 100 (server side) determines whether or not to send the data to the server side. For example, as a criterion for determination, the information providing apparatus 100 (server side) determines if the data is rare, if the data is valuable in the area, or if data has recently been sent from the user or the area. If the data has not been received, the terminal device 10 determines to send the data to the server side. Then, the information providing device 100 (server side) replies to the terminal device 10 of the user U as to whether or not the user desires to transmit data.

利用者Uの端末装置10は、情報提供装置100(サーバ側)からの回答を受信し、情報提供装置100(サーバ側)がデータの送信希望の有無を確認する。そして、端末装置10は、情報提供装置100(サーバ側)がデータの送信希望がある場合、コンテキストを考慮し、問題がなければデータを送信する。 The terminal device 10 of the user U receives the response from the information providing device 100 (server side), and the information providing device 100 (server side) confirms whether or not there is a desire to transmit data. Then, when the information providing apparatus 100 (on the server side) desires to transmit data, the terminal apparatus 10 considers the context and transmits the data if there is no problem.

上記のように、本実施形態では、利用者の端末装置が位置情報やセンサデータ等のデータを取得した際に、データの内容やコンテキストに応じて、サーバ側のグローバルモデルと、端末側のローカルモデルとのいずれで学習するかを判断する。このとき、変化したユーザコンテキストの種別に応じて、どちらのモデルを更新するかをルールベースで設定してもよい。 As described above, in this embodiment, when a user's terminal device acquires data such as location information and sensor data, the global model on the server side and the local model on the terminal side are generated according to the content and context of the data. Decide whether to learn with the model or not. At this time, which model is to be updated may be set on a rule basis according to the type of user context that has changed.

〔2.情報処理システムの構成例〕
次に、図2を用いて、実施形態に係る情報提供装置100が含まれる情報処理システム1の構成について説明する。図2は、実施形態に係る情報処理システム1の構成例を示す図である。図2に示すように、実施形態に係る情報処理システム1は、端末装置10と情報提供装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
[2. Configuration example of information processing system]
Next, the configuration of the information processing system 1 including the information providing device 100 according to the embodiment will be described with reference to FIG. FIG. 2 is a diagram showing a configuration example of the information processing system 1 according to the embodiment. As shown in FIG. 2, the information processing system 1 according to the embodiment includes a terminal device 10 and an information providing device 100. As shown in FIG. These various devices are communicatively connected via a network N by wire or wirelessly. The network N is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network) such as the Internet.

また、図2に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、図2では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。 Also, the number of devices included in the information processing system 1 shown in FIG. 2 is not limited to the illustrated one. For example, in FIG. 2, only one terminal device 10 is shown for simplification of illustration, but this is only an example and is not limited, and two or more devices may be provided.

端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス、スマートスピーカ、カメラ等である。但し、実際には、これらの例に限定されない。 The terminal device 10 is an information processing device used by the user U. FIG. For example, the terminal device 10 includes smart devices such as smartphones and tablet terminals, feature phones, PCs (Personal Computers), PDAs (Personal Digital Assistants), game machines and AV equipment with communication functions, car navigation systems, smart watches, These include wearable devices such as head-mounted displays, smart glasses, smart speakers, and cameras. However, in practice, it is not limited to these examples.

また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、情報提供装置100と通信することができる。 In addition, the terminal device 10 is compatible with wireless communication networks such as LTE (Long Term Evolution), 4G (4th Generation), 5G (5th Generation: fifth generation mobile communication system), Bluetooth (registered trademark), wireless LAN (Local It is possible to communicate with the information providing apparatus 100 by connecting to the network N via short-range wireless communication such as Area Network).

情報提供装置100は、例えばPCやサーバ装置、あるいはメインフレーム又はワークステーション等である。なお、情報提供装置100は、クラウドコンピューティングにより実現されてもよい。 The information providing device 100 is, for example, a PC, a server device, a mainframe, a workstation, or the like. Note that the information providing apparatus 100 may be realized by cloud computing.

〔3.端末装置の構成例〕
次に、図3を用いて、端末装置10の構成について説明する。図3は、端末装置10の構成例を示す図である。図3に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
[3. Configuration example of terminal device]
Next, the configuration of the terminal device 10 will be described using FIG. FIG. 3 is a diagram showing a configuration example of the terminal device 10. As shown in FIG. As shown in FIG. 3, the terminal device 10 includes a communication unit 11, a display unit 12, an input unit 13, a positioning unit 14, a sensor unit 20, a control unit 30 (controller), and a storage unit 40. Prepare.

(通信部11)
通信部11は、ネットワークN(図2参照)と有線又は無線で接続され、ネットワークNを介して、情報提供装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
(Communication unit 11)
The communication unit 11 is connected to the network N (see FIG. 2) by wire or wirelessly, and transmits and receives information to and from the information providing apparatus 100 via the network N. FIG. For example, the communication unit 11 is implemented by a NIC (Network Interface Card), an antenna, or the like.

(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
(Display unit 12)
The display unit 12 is a display device that displays various information such as position information. For example, the display unit 12 is a liquid crystal display (LCD) or an organic EL display (Organic Electro-Luminescent Display). Also, the display unit 12 is a touch panel display, but is not limited to this.

(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
(Input unit 13)
The input unit 13 is an input device that receives various operations from the user U. For example, the input unit 13 has buttons and the like for inputting characters, numbers, and the like. The input unit 13 may be an input/output port (I/O port), a USB (Universal Serial Bus) port, or the like. Moreover, when the display unit 12 is a touch panel display, a part of the display unit 12 functions as the input unit 13 . Also, the input unit 13 may be a microphone or the like that receives voice input from the user U. FIG. The microphone may be wireless.

(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
(Positioning unit 14)
The positioning unit 14 receives signals (radio waves) transmitted from GPS (Global Positioning System) satellites, and based on the received signals, position information (for example, latitude and longitude). That is, the positioning unit 14 positions the position of the terminal device 10 . GPS is merely an example of GNSS (Global Navigation Satellite System).

また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。 Also, the positioning unit 14 can measure the position by various methods other than GPS. For example, the positioning unit 14 may measure the position using various communication functions of the terminal device 10 as described below as auxiliary positioning means for position correction and the like.

(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
(Wi-Fi positioning)
For example, the positioning unit 14 measures the position of the terminal device 10 using the Wi-Fi (registered trademark) communication function of the terminal device 10 or the communication network provided by each communication company. Specifically, the positioning unit 14 performs Wi-Fi communication or the like and measures the position of the terminal device 10 by measuring the distance to a nearby base station or access point.

(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
(beacon positioning)
The positioning unit 14 may also use the Bluetooth (registered trademark) function of the terminal device 10 to measure the position. For example, the positioning unit 14 positions the position of the terminal device 10 by connecting with a beacon transmitter connected by the Bluetooth (registered trademark) function.

(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
(geomagnetic positioning)
Further, the positioning unit 14 positions the position of the terminal device 10 based on the geomagnetism pattern of the structure measured in advance and the geomagnetic sensor provided in the terminal device 10 .

(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
(RFID positioning)
Further, for example, if the terminal device 10 has an RFID (Radio Frequency Identification) tag function equivalent to a contactless IC card used at station ticket gates, shops, etc., or has a function of reading an RFID tag In this case, the location used is recorded together with the information that the payment was made by the terminal device 10 . The positioning unit 14 may measure the position of the terminal device 10 by acquiring such information. Also, the position may be measured by an optical sensor provided in the terminal device 10, an infrared sensor, or the like.

測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。 The positioning unit 14 may measure the position of the terminal device 10 using one or a combination of the positioning means described above, if necessary.

(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。図3に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
(Sensor unit 20)
The sensor unit 20 includes various sensors mounted on or connected to the terminal device 10 . The connection may be wired connection or wireless connection. For example, the sensors may be detection devices other than the terminal device 10, such as wearable devices and wireless devices. In the example shown in FIG. 3, the sensor unit 20 includes an acceleration sensor 21, a gyro sensor 22, an atmospheric pressure sensor 23, an air temperature sensor 24, a sound sensor 25, an optical sensor 26, a magnetic sensor 27, and an image sensor ( camera) 28.

なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。 The sensors 21 to 28 described above are only examples and are not limited. That is, the sensor unit 20 may be configured to include a part of the sensors 21 to 28, or may include other sensors such as a humidity sensor in addition to or instead of the sensors 21 to 28. .

加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。 The acceleration sensor 21 is, for example, a three-axis acceleration sensor, and detects physical movements of the terminal device 10 such as movement direction, speed, and acceleration of the terminal device 10 . The gyro sensor 22 detects physical movements of the terminal device 10 such as inclination in three axial directions based on the angular velocity of the terminal device 10 and the like. The atmospheric pressure sensor 23 detects the atmospheric pressure around the terminal device 10, for example.

端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。 Since the terminal device 10 includes the above-described acceleration sensor 21, gyro sensor 22, barometric pressure sensor 23, etc., techniques such as pedestrian dead-reckoning (PDR: Pedestrian Dead-Reckoning) using these sensors 21 to 23, etc. , the position of the terminal device 10 can be determined. This makes it possible to acquire indoor position information that is difficult to acquire with a positioning system such as GPS.

例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。 For example, a pedometer using the acceleration sensor 21 can calculate the number of steps, walking speed, and distance walked. Further, by using the gyro sensor 22, it is possible to know the traveling direction, the direction of the line of sight, and the inclination of the body of the user U. Also, from the atmospheric pressure detected by the atmospheric pressure sensor 23, the altitude at which the terminal device 10 of the user U is present and the number of floors can be known.

気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。 The temperature sensor 24 detects the temperature around the terminal device 10, for example. The sound sensor 25 detects sounds around the terminal device 10, for example. The optical sensor 26 detects the illuminance around the terminal device 10 . The magnetic sensor 27 detects, for example, geomagnetism around the terminal device 10 . The image sensor 28 captures an image around the terminal device 10 .

上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。 The atmospheric pressure sensor 23, the temperature sensor 24, the sound sensor 25, the optical sensor 26, and the image sensor 28 described above detect the atmospheric pressure, temperature, sound, and illuminance, respectively, or capture an image of the surroundings to detect the terminal device 10. It is possible to detect the surrounding environment and situations. In addition, it is possible to improve the accuracy of the location information of the terminal device 10 based on the surrounding environment and situation of the terminal device 10 .

(制御部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とを備える。
(control unit 30)
The control unit 30 includes, for example, a microcomputer having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM, an input/output port, and various circuits. Also, the control unit 30 may be configured by hardware such as an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 30 includes a transmission unit 31 , a reception unit 32 , a processing unit 33 , an acquisition unit 34 , a determination unit 35 , a conversion unit 36 and a learning unit 37 .

(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介して情報提供装置100へ送信することができる。
(Sending unit 31)
The transmission unit 31 receives, for example, various information input by the user U using the input unit 13, various information detected by the sensors 21 to 28 mounted on or connected to the terminal device 10, and information measured by the positioning unit 14. The position information of the terminal device 10 and the like can be transmitted to the information providing device 100 via the communication unit 11 .

(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される各種情報や、情報提供装置100からの各種情報の要求を受信することができる。
(Receiver 32)
The receiving unit 32 can receive various information provided by the information providing apparatus 100 and requests for various information from the information providing apparatus 100 via the communication unit 11 .

(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信された情報提供装置100からの各種情報を表示部12へ出力して表示させることができる。なお、処理部33は、下記の取得部34と、判定部35と、変換部36と、学習部37とを含んでいてもよい。
(Processing unit 33)
The processing unit 33 controls the entire terminal device 10 including the display unit 12 and the like. For example, the processing unit 33 can output various types of information transmitted by the transmitting unit 31 and various types of information received by the receiving unit 32 from the information providing apparatus 100 to the display unit 12 for display. Note that the processing unit 33 may include an acquisition unit 34, a determination unit 35, a conversion unit 36, and a learning unit 37 described below.

(取得部34)
取得部34は、測位部14やセンサ部20又は入力部13を介して、データを取得する。具体的には、取得部34は、データとして、端末装置10の位置情報、センサデータ、利用者Uの属性情報、履歴情報(操作履歴、決済履歴等)等を取得する。例えば、取得部34は、GPS(Global Positioning System)やRTK(Real Time Kinematic)等の測位方法で、第1精度(例えば、10メートル精度、10mメッシュ)での位置情報を取得する。また、取得部34は、端末に搭載又は接続された各センサで計測されたセンサデータを取得する。
(Acquisition unit 34)
The acquisition unit 34 acquires data via the positioning unit 14 , the sensor unit 20 or the input unit 13 . Specifically, the acquisition unit 34 acquires the position information of the terminal device 10, sensor data, attribute information of the user U, history information (operation history, payment history, etc.) and the like as data. For example, the acquisition unit 34 acquires position information with a first precision (for example, 10-meter precision, 10-meter mesh) using a positioning method such as GPS (Global Positioning System) or RTK (Real Time Kinematic). The acquisition unit 34 also acquires sensor data measured by each sensor mounted on or connected to the terminal.

(判定部35)
判定部35は、データ及びコンテキストに応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。このとき、送信部31は、データを情報提供装置100(サーバ側)へ送ると判定した場合、通信部11を介して、データを情報提供装置100(サーバ側)へ送信する。受信部32は、通信部11を介して、情報提供装置100(サーバ側)からデータを用いたグローバルモデルでの機械学習の結果を受信する。
(Determination unit 35)
The determination unit 35 determines whether or not to send data to the information providing apparatus 100 (server side) according to the data and context. At this time, when the transmitting unit 31 determines to transmit the data to the information providing apparatus 100 (server side), it transmits the data to the information providing apparatus 100 (server side) via the communication unit 11 . The receiving unit 32 receives the result of machine learning in the global model using data from the information providing apparatus 100 (server side) via the communication unit 11 .

また、判定部35は、データを情報提供装置100(サーバ側)へ送ると判定した場合、データを抽象化するか否かを判定する。このとき、送信部31は、データを抽象化すると判定した場合、通信部11を介して、抽象化データを情報提供装置100(サーバ側)へ送信する。受信部32は、通信部11を介して、情報提供装置100(サーバ側)から抽象化データを用いたグローバルモデルでの機械学習の結果を受信する。また、送信部31は、データを抽象化しないと判定した場合、通信部11を介して、生データを情報提供装置100(サーバ側)へ送信する。受信部32は、通信部11を介して、情報提供装置100(サーバ側)から生データを用いたグローバルモデルでの機械学習の結果を受信する。 Further, when determining that the data is to be sent to the information providing apparatus 100 (server side), the determination unit 35 determines whether to abstract the data. At this time, when the transmission unit 31 determines to abstract the data, the transmission unit 31 transmits the abstracted data to the information providing apparatus 100 (server side) via the communication unit 11 . The receiving unit 32 receives the result of machine learning in the global model using the abstracted data from the information providing apparatus 100 (server side) via the communication unit 11 . Further, when the transmission unit 31 determines not to abstract the data, the transmission unit 31 transmits the raw data to the information providing apparatus 100 (server side) via the communication unit 11 . The receiving unit 32 receives the machine learning result of the global model using the raw data from the information providing apparatus 100 (server side) via the communication unit 11 .

また、判定部35は、データのプライバシー具合(プライバシー性の程度)に応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。例えば、判定部35は、同じ場所に不特定多数の人がいて、同じデータ(同じ位置情報等)が多数集まる場合、あるいは個人を特定することが容易でない場合には、データを抽象化せず、データを情報提供装置100(サーバ側)へ送る。この場合、判定部35は、データをオンライン(サーバ側)で学習するように判定する。また、判定部35は、同じ場所に他の人がおらず、個人を特定することが容易である場合には、データを抽象化して情報提供装置100(サーバ側)へ送ってもよいし、データをオンデバイス(端末側)で学習するように判定してもよい。 Further, the determination unit 35 determines whether or not to send the data to the information providing apparatus 100 (server side) according to the degree of privacy of the data. For example, the determination unit 35 does not abstract the data when there are an unspecified number of people in the same place and a large number of the same data (same location information, etc.) are collected, or when it is not easy to identify an individual. , the data is sent to the information providing apparatus 100 (server side). In this case, the determination unit 35 determines to learn the data online (on the server side). In addition, when there is no other person in the same place and it is easy to identify the individual, the determination unit 35 may abstract the data and send it to the information providing device 100 (server side), Data may be determined to be learned on-device (terminal side).

また、判定部35は、データを取得した端末装置の電池残量に応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。例えば、判定部35は、当該判定部35の残り電池(電池残量)が少ない時(例えば、電池残量が所定の閾値未満の場合)には、オンライン(サーバ側)で機械学習を行うように判定する。反対に、判定部35は、当該判定部35の残り電池(電池残量)が多い時(例えば、電池残量が所定の閾値以上の場合)には、オンデバイス(端末側)で機械学習を行うように判定する。 Further, the determination unit 35 determines whether or not to send the data to the information providing apparatus 100 (server side) according to the remaining battery level of the terminal device that acquired the data. For example, when the remaining battery (remaining battery power) of the determining unit 35 is low (for example, when the remaining battery power is less than a predetermined threshold), the determination unit 35 performs machine learning online (on the server side). to judge. Conversely, when the remaining battery (remaining battery power) of the determining unit 35 is large (for example, when the remaining battery power is equal to or greater than a predetermined threshold), the determination unit 35 performs machine learning on the device (terminal side). decide to do so.

また、判定部35は、データの取得が明示的か暗黙的かに応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。具体的には、判定部35は、利用者Uの位置情報等のデータの取得が、利用者Uにわからないように暗黙的に取得(例えば、バックグラウンドで取得)されているか、利用者Uにもわかるように明示的に取得(例えば、ナビアプリで取得)されているかにより、オンデバイス(端末側)で学習するか、オンライン(サーバ側)で学習するかを判定する。 Further, the determination unit 35 determines whether or not to send the data to the information providing apparatus 100 (server side) depending on whether the acquisition of the data is explicit or implicit. Specifically, the determination unit 35 determines whether the acquisition of data such as the location information of the user U is implicitly acquired (for example, acquired in the background) so that the user U does not know, or whether the user U As you can see from the above, it is determined whether to learn on-device (terminal side) or online (server side) depending on whether it is explicitly acquired (for example, acquired by a navigation app).

例えば、判定部35は、利用者Uのデータの取得が、暗黙的(implicit:インプリシット)に実施されている場合には、データを抽象化してサーバ側へ送る。この場合、判定部35は、抽象化されたデータ(抽象化データ)をオンライン(サーバ側)で学習するように判定する。また、判定部35は、データをオンデバイス(端末側)で学習するように判定する。この場合、オンデバイス機械学習を優先させる。 For example, when the acquisition of user U data is implicit, the determination unit 35 abstracts the data and sends it to the server side. In this case, the determination unit 35 determines to learn the abstracted data (abstracted data) online (on the server side). Also, the determination unit 35 determines to learn the data on-device (terminal side). In this case, prioritize on-device machine learning.

また、判定部35は、利用者Uのデータの取得が、明示的(explicit:エクスプリシット)に実施されている場合には、取得されたデータを生データの状態でサーバ側へ送る。この場合、判定部35は、生データをオンライン(サーバ側)で学習するように判定する。このとき、判定部35は、生データをオンデバイス(端末側)でも学習するように判定してもよいし、オンデバイス(端末側)では学習しないように判定してもよい。すなわち、オンライン機械学習を優先させる。 Further, when the acquisition of the data of the user U is explicitly performed, the determination unit 35 sends the acquired data to the server side in the state of raw data. In this case, the determination unit 35 determines to learn the raw data online (on the server side). At this time, the determination unit 35 may determine that the raw data should be learned on the on-device (terminal side), or may be determined not to be learned on the on-device (terminal side). In other words, prioritize online machine learning.

また、判定部35は、データに基づいてグローバルモデルが更新されるまで、データに基づいてローカルモデルを更新しないように判定する。すなわち、判定部35は、学習のタイミングについて、ローカルモデルとグローバルモデルの整合又は同期が取れるようにしてもよい。例えば、判定部35は、データを取得した際、サーバ側のグローバルモデルを更新していない場合、端末側のローカルモデルの更新を制限又は禁止してもよい。あるいは、判定部35は、端末側のコンテキストが変わらない時には、モデル自体を更新しないようにしてもよい。 Further, the determination unit 35 determines not to update the local model based on the data until the global model is updated based on the data. That is, the determination unit 35 may match or synchronize the learning timing between the local model and the global model. For example, if the server-side global model is not updated when the data is acquired, the determination unit 35 may restrict or prohibit updating of the terminal-side local model. Alternatively, the determination unit 35 may not update the model itself when the context on the terminal side does not change.

(変換部36)
変換部36は、データを抽象化して抽象化データに変換する。このとき、変換部36は、判定部35がデータを抽象化すると判定した場合、データを抽象化して抽象化データに変換する。
(Converter 36)
The conversion unit 36 abstracts data and converts it into abstracted data. At this time, when the determination unit 35 determines that the data should be abstracted, the conversion unit 36 abstracts the data and converts it into abstracted data.

また、変換部36は、取得部34がデータとして位置情報を取得し、判定部35がデータを抽象化すると判定した場合、位置情報を特定の地点を示す位置情報から広域の位置情報に変換する。例えば、変換部36は、生データである第1精度(例えば、10メートル精度、10mメッシュ)での詳細な位置情報を、第1精度よりも精度を落とした第2精度(例えば、1キロメートル精度、1kmメッシュ)での粗い位置情報に変換する。なお、第2精度での粗い位置情報は、都道府県や市区町村等の地域(エリア)単位の情報(地域名称、住所等)であってもよいし、地域メッシュ単位の情報(地域メッシュコード等)であってもよい。また、変換部36は、第1精度での詳細な位置情報から、第2精度での粗い位置情報に変換する際に、端数処理(丸め処理)を行ってもよい。 Further, when the acquisition unit 34 acquires the position information as data and the determination unit 35 determines to abstract the data, the conversion unit 36 converts the position information from the position information indicating a specific point to the wide-area position information. . For example, the conversion unit 36 converts detailed position information with a first precision (eg, 10-meter precision, 10-m mesh), which is raw data, to a second precision (eg, 1-kilometer precision) that is lower than the first precision. , 1 km mesh). The coarse position information with the second accuracy may be information (region name, address, etc.) in units of regions (areas) such as prefectures and municipalities, or information in units of regional meshes (regional mesh code etc.). Further, the conversion unit 36 may perform fraction processing (rounding processing) when converting detailed position information with the first precision into coarse position information with the second precision.

(学習部37)
学習部37は、生データを用いてローカルモデルで機械学習を行う。すなわち、学習部37は、オンデバイス機械学習を行う。例えば、学習部37は、データを情報提供装置100(サーバ側)へ送らないと判定した場合、生データを用いてローカルモデルで機械学習を行う。
(Learning part 37)
The learning unit 37 performs machine learning with a local model using raw data. That is, the learning unit 37 performs on-device machine learning. For example, when the learning unit 37 determines not to send data to the information providing apparatus 100 (server side), the learning unit 37 performs machine learning with a local model using raw data.

また、学習部37は、生データを用いたローカルモデルでの推論結果に基づいて、利用者Uに提示する情報(提示情報)を決定する。例えば、学習部37は、利用者Uの現在位置の周辺の店舗の広告やクーポン等のレコメンド情報を、利用者Uに提示する情報(提示情報)として決定する。このとき、送信部31は、通信部11を介して、利用者Uの現在位置の周辺の店舗の広告やクーポン等のレコメンド情報を要求してもよい。また、学習部37は、情報提供装置100(サーバ側)から複数の提供情報(レコメンド情報等)を受信している場合、生データを用いたローカルモデルでの推論結果に基づいて、情報提供装置100から受信した複数の提供情報(レコメンド情報等)を絞り込み、利用者Uに提示する情報(提示情報)を決定する。 Also, the learning unit 37 determines information (presentation information) to be presented to the user U based on the inference result of the local model using the raw data. For example, the learning unit 37 determines recommended information such as advertisements and coupons for stores near the current position of the user U as information to be presented to the user U (presentation information). At this time, the transmission unit 31 may request recommendation information such as advertisements and coupons for stores near the current location of the user U via the communication unit 11 . Further, when the learning unit 37 receives a plurality of pieces of provided information (recommendation information, etc.) from the information providing device 100 (server side), the learning unit 37 learns the information providing device based on the inference result of the local model using raw data. A plurality of pieces of provided information (recommended information, etc.) received from 100 are narrowed down, and information (presented information) to be presented to the user U is determined.

(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
(storage unit 40)
The storage unit 40 is realized by, for example, a semiconductor memory device such as RAM (Random Access Memory) or flash memory, or a storage device such as HDD (Hard Disk Drive), SSD (Solid State Drive), or optical disk. be. Various programs, various data, and the like are stored in the storage unit 40 .

なお、記憶部40は、目的に応じて種々の情報を記憶してもよい。例えば、記憶部40は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、記憶部40は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。また、記憶部40は、利用者Uの位置や日時の履歴である位置履歴、利用者Uが入力した検索クエリの履歴である検索履歴、利用者Uが閲覧したコンテンツの履歴である閲覧履歴、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴、利用者Uの投稿の履歴である投稿履歴等を記憶してもよい。また、記憶部40は、利用者Uが端末装置10にインストールした各種アプリの利用履歴や、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。これらの情報は、位置情報やセンサデータとともに学習データとして使用可能である。 Note that the storage unit 40 may store various types of information depending on the purpose. For example, the storage unit 40 stores user U's demographic (demographic attribute), psychographic (psychological attribute), geographic (geographical attribute), behavioral (behavioral attribute), and other attributes. Information may be stored. For example, the storage unit 40 stores name, family structure, hometown (local), occupation, position, income, qualification, residence type (detached house, condominium, etc.), car availability, school/commuting time, school/commuting route, Commuter pass sections (stations, lines, etc.), frequently used stations (other than the nearest station to your home or place of work), lessons (places, time zones, etc.), hobbies, interests, lifestyle, etc. good. The storage unit 40 also stores a location history that is a history of the location and date and time of the user U, a search history that is a history of search queries input by the user U, a browsing history that is a history of content browsed by the user U, Purchase history (payment history), which is the history of user U's product purchases and payment processing; exhibition history and sales history, which is the history of user U's listings on the marketplace; posting history, which is the history of user U's postings etc. may be stored. In addition, the storage unit 40 may store a usage history of various applications installed in the terminal device 10 by the user U, a payment history of payment (electronic payment) using the terminal device 10 of the user U, and the like. . These pieces of information can be used as learning data along with location information and sensor data.

〔4.情報提供装置の構成例〕
次に、図4を用いて、実施形態に係る情報提供装置100の構成について説明する。図4は、実施形態に係る情報提供装置100の構成例を示す図である。図4に示すように、情報提供装置100は、通信部110と、記憶部120と、制御部130とを有する。
[4. Configuration example of information providing device]
Next, the configuration of the information providing apparatus 100 according to the embodiment will be described using FIG. FIG. 4 is a diagram showing a configuration example of the information providing device 100 according to the embodiment. As shown in FIG. 4, the information providing device 100 has a communication section 110, a storage section 120, and a control section .

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(図2参照)と有線又は無線で接続される。
(Communication unit 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card) or the like. Also, the communication unit 110 is connected to the network N (see FIG. 2) by wire or wirelessly.

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。図4に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、レコメンド情報データベース123とを有する。
(storage unit 120)
The storage unit 120 is implemented by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or flash memory, or a storage device such as an HDD, SSD, or optical disk. As shown in FIG. 4 , the storage unit 120 has a user information database 121 , history information database 122 and recommendation information database 123 .

(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。図5は、利用者情報データベース121の一例を示す図である。図5に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
(User information database 121)
The user information database 121 stores user information about the user U. FIG. For example, the user information database 121 stores various information such as user U attributes. FIG. 5 is a diagram showing an example of the user information database 121. As shown in FIG. In the example shown in FIG. 5, the user information database 121 has items such as "user ID (Identifier)", "age", "gender", "home", "place of work", and "interest".

「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。 “User ID” indicates identification information for identifying the user U. The “user ID” may be the user U's contact information (telephone number, e-mail address, etc.), or may be identification information for identifying the user U's terminal device 10 .

また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。 "Age" indicates the age of the user U identified by the user ID. Note that the "age" may be information indicating a specific age of the user U (for example, 35 years old) or information indicating the age of the user U (for example, 30's). . Alternatively, the "age" may be information indicating the date of birth of the user U, or information indicating the generation of the user U (for example, born in the 80's). "Gender" indicates the gender of the user U identified by the user ID.

また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、図5に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。 "Home" indicates location information of the home of the user U identified by the user ID. In the example shown in FIG. 5, "home" is represented by an abstract code such as "LC11", but may be latitude/longitude information or the like. Also, for example, "home" may be an area name or an address.

また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、図5に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。 "Place of work" indicates location information of the place of work (school in the case of a student) of the user U identified by the user ID. In the example shown in FIG. 5, the "place of work" is illustrated as an abstract code such as "LC12", but may be latitude/longitude information or the like. Also, for example, the "place of work" may be an area name or an address.

また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、図5に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。 "Interest" indicates the interest of the user U identified by the user ID. That is, "interest" indicates an object in which the user U identified by the user ID is highly interested. For example, the "interest" may be a search query (keyword) that the user U has entered into a search engine and searched for. In the example shown in FIG. 5, one "interest" is shown for each user U, but a plurality of "interests" may be shown.

例えば、図5に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。 For example, in the example shown in FIG. 5, the age of the user U identified by the user ID "U1" is "twenties" and the gender is "male". Also, for example, the user U identified by the user ID "U1" indicates that the home is "LC11". Also, for example, the user U identified by the user ID "U1" indicates that the place of work is "LC12". Also, for example, the user U identified by the user ID "U1" indicates that he is interested in "sports".

ここで、図5に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。 Here, in the example shown in FIG. 5, abstract values such as “U1”, “LC11” and “LC12” are used, but “U1”, “LC11” and “LC12” are concrete values. It is assumed that information such as character strings and numerical values is stored. Hereinafter, abstract values may also be illustrated in diagrams relating to other information.

なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。 The user information database 121 is not limited to the above, and may store various types of information depending on the purpose. For example, the user information database 121 may store various information about the terminal device 10 of the user U. FIG. In addition, the user information database 121 stores user U's demographics (demographic attributes), psychographics (psychological attributes), geographics (geographical attributes), behavioral attributes (behavioral attributes), etc. Information about attributes may be stored. For example, the user information database 121 includes name, family structure, hometown (local), occupation, position, income, qualification, residence type (detached house, condominium, etc.), presence or absence of car, commuting time, commuting time, commuting time. Information such as routes, commuter pass sections (stations, lines, etc.), frequently used stations (other than the nearest station to your home or place of work), lessons (places, time zones, etc.), hobbies, interests, lifestyle, etc. may

(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。図6は、履歴情報データベース122の一例を示す図である。図6に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購買履歴」、「投稿履歴」といった項目を有する。
(History information database 122)
The history information database 122 stores various types of information related to history information (log data) indicating user U's actions. FIG. 6 is a diagram showing an example of the history information database 122. As shown in FIG. In the example shown in FIG. 6, the history information database 122 has items such as "user ID", "location history", "search history", "browsing history", "purchase history", and "posting history".

「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購買履歴」は、利用者Uによる購買の履歴である購買履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。 “User ID” indicates identification information for identifying the user U. "Position history" indicates a position history that is a history of the user's U position and movement. Also, "search history" indicates a search history that is a history of search queries input by the user U. FIG. "Browsing history" indicates a browsing history that is a history of contents browsed by the user U. FIG. "Purchase history" indicates the purchase history of the user U's purchases. In addition, “posting history” indicates a posting history that is a history of posts by the user U. FIG. In addition, the “posting history” may include questions about user U's property.

例えば、図6に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購買履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴」の通りに投稿したことを示す。 For example, in the example shown in FIG. 6, the user U identified by the user ID "U1" moves along the "location history #1", searches along the "search history #1", It indicates that the content was browsed according to the "Purchase history #1", the predetermined product etc. was purchased at the predetermined store etc. according to the "Purchase history #1", and the content was posted according to the "Posting history".

ここで、図6に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購買履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購買履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。 Here, in the example shown in FIG. 6, abstract history such as "U1", "location history #1", "search history #1", "browsing history #1", "purchase history #1", and "posting history #1" "U1", "location history #1", "search history #1", "browsing history #1", "purchase history #1" and "posting history #1" , information such as specific character strings and numerical values are stored.

なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。 Note that the history information database 122 may store various types of information, not limited to the above, depending on the purpose. For example, the history information database 122 may store the user U's usage history of a predetermined service. In addition, the history information database 122 may store the user U's store visit history, facility visit history, and the like. In addition, the history information database 122 may store a history of payment (electronic payment) using the terminal device 10 of the user U, and the like.

(レコメンド情報データベース123)
レコメンド情報データベース123は、利用者Uに対する提供情報(レコメンド情報)に関する各種情報を記憶する。図7は、レコメンド情報データベース123の一例を示す図である。図7に示した例では、レコメンド情報データベース123は、「地域」、「区域」、「施設」、「提供情報」といった項目を有する。
(Recommendation information database 123)
The recommendation information database 123 stores various types of information related to information provided to the user U (recommendation information). FIG. 7 is a diagram showing an example of the recommendation information database 123. As shown in FIG. In the example shown in FIG. 7, the recommendation information database 123 has items such as "area", "region", "facility", and "provided information".

(レコメンド情報データベース123)
レコメンド情報データベース123は、利用者Uに対する提供情報(レコメンド情報)に関する各種情報を記憶する。図7は、レコメンド情報データベース123の一例を示す図である。図7に示した例では、レコメンド情報データベース123は、「地域」、「区域」、「施設」、「提供情報」といった項目を有する。
(Recommendation information database 123)
The recommendation information database 123 stores various types of information related to information provided to the user U (recommendation information). FIG. 7 is a diagram showing an example of the recommendation information database 123. As shown in FIG. In the example shown in FIG. 7, the recommendation information database 123 has items such as "area", "region", "facility", and "provided information".

「地域」は、抽象化データである第2精度での粗い位置情報に対応する地域を示す。なお、「地域」は、都道府県や市区町村等の地域(エリア)単位であってもよいし、地域メッシュ単位(地域メッシュコード等)であってもよい。また、「区域」は、地域内に含まれる区域(地区等)を示す。例えば、地域が「赤坂」を示し、区域が「赤坂見附」を示す。また、「施設」は、生データである第1精度での詳細な位置情報に対応する店舗等の施設であって、区域内に存在する店舗等の施設を示す。例えば、「施設」は、区域「赤坂見附」に所在する「飲食店A」を示す。また、「提供情報」は、店舗等の施設に関連するレコメンド情報や各種情報を示す。例えば、提供情報は、店舗等の施設に関する広告やクーポン等であってもよい。 "Region" indicates a region corresponding to rough location information in the second precision, which is abstract data. The “region” may be a region (area) unit such as a prefecture or a municipality, or may be a regional mesh unit (regional mesh code, etc.). In addition, "area" indicates an area (district, etc.) included in the region. For example, the area indicates "Akasaka" and the area indicates "Akasakamitsuke". Further, the "facility" is a facility such as a store corresponding to the detailed location information with the first precision, which is the raw data, and indicates a facility such as a store existing within the area. For example, "facility" indicates "restaurant A" located in area "Akasakamitsuke". Further, "provided information" indicates recommendation information and various types of information related to facilities such as shops. For example, the provided information may be an advertisement, a coupon, or the like regarding a facility such as a store.

例えば、図7に示す例において、情報提供装置100は、抽象化データである第2精度での粗い位置情報が地域「赤坂」を示す場合、区域「赤坂見附」に所在する施設「飲食店A」に関する提供情報「クーポン」を含む周囲の各店舗等に関する提供情報の候補を利用者Uの端末装置10に提供することを示す。また、情報提供装置100は、生データである第1精度での詳細な位置情報が区域「赤坂見附」に所在する施設「飲食店A」を示す場合、施設「飲食店A」に関する提供情報「クーポン」を含む周囲の各店舗等に関する提供情報の候補を利用者Uの端末装置10に提供することを示す。 For example, in the example shown in FIG. 7, when the rough location information with the second accuracy, which is the abstract data, indicates the area "Akasaka", the information providing apparatus 100 determines that the facility "Restaurant A to the terminal device 10 of the user U. Further, when the detailed position information with the first accuracy, which is raw data, indicates the facility "restaurant A" located in the area "Akasakamitsuke", the information providing apparatus 100 provides the provided information "restaurant A" regarding the facility "restaurant A". This indicates that the terminal device 10 of the user U is provided with candidates for provision information related to each store, etc., including "coupons".

例えば、情報提供装置100は、地域「赤坂」を示す第2精度での粗い位置情報に基づき、地域「赤坂」に所在する店舗等に関する提供情報の候補を利用者Uの端末装置10に提供する。このとき、情報提供装置100は、地域「赤坂」を示す第2精度での粗い位置情報から利用者Uが区域「赤坂見附」にいると推定可能である場合には、区域「赤坂見附」に所在する店舗等に関する提供情報の候補を利用者Uの端末装置10に提供する。 For example, the information providing device 100 provides the terminal device 10 of the user U with candidates for provision information related to stores, etc. located in the area "Akasaka" based on rough position information with second accuracy indicating the area "Akasaka." . At this time, if the information providing apparatus 100 can estimate that the user U is in the area "Akasaka-mitsuke" from the rough position information with the second accuracy indicating the area "Akasaka", the information providing apparatus 100 The terminal device 10 of the user U is provided with candidates for information to be provided regarding the store or the like located there.

なお、レコメンド情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、レコメンド情報データベース123は、地域に加え、さらにレコメンド情報の提供条件(例えば、提供対象となる利用者Uの属性又は行動履歴等)に関する情報を記憶してもよい。また、レコメンド情報データベース123は、レコメンド情報を提供する時間帯(例えば、17:00~20:00等)に関する情報を記憶してもよい。 It should be noted that the recommendation information database 123 may store various types of information, not limited to the above, depending on the purpose. For example, the recommendation information database 123 may store information related to conditions for providing recommendation information (for example, attributes or action history of the user U who is the target of provision) in addition to the region. In addition, the recommendation information database 123 may store information regarding the time period (for example, 17:00 to 20:00) during which the recommendation information is provided.

(制御部130)
図4に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報提供装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図4に示す例では、制御部130は、収集部131と、推定部132と、提供部133とを有する。
(control unit 130)
Returning to FIG. 4, the description is continued. The control unit 130 is a controller, and for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like controls the information providing apparatus 100. Various programs (corresponding to an example of an information processing program) stored in the internal storage device are executed by using a storage area such as a RAM as a work area. In the example shown in FIG. 4 , the control unit 130 has a collection unit 131 , an estimation unit 132 and a provision unit 133 .

(収集部131)
収集部131は、通信部110を介して、各利用者Uの端末装置10から、生データ又は抽象化データを収集する。
(Collection unit 131)
The collection unit 131 collects raw data or abstract data from the terminal device 10 of each user U via the communication unit 110 .

また、収集部131は、通信部110を介して、各利用者Uに関する利用者情報を取得してもよい。例えば、収集部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、収集部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、収集部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。 Also, the collection unit 131 may acquire user information about each user U via the communication unit 110 . For example, the collection unit 131 acquires identification information (such as a user ID) indicating the user U, location information of the user U, attribute information of the user U, and the like from the terminal device 10 of the user U. FIG. Further, the collection unit 131 may acquire identification information indicating the user U, attribute information of the user U, and the like when the user U is registered as a user. The collection unit 131 then registers the user information in the user information database 121 of the storage unit 120 .

また、収集部131は、通信部110を介して、各利用者Uの行動を示す各種の履歴情報(ログデータ)を取得してもよい。例えば、収集部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、収集部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。 Also, the collection unit 131 may acquire various types of history information (log data) indicating behavior of each user U via the communication unit 110 . For example, the collection unit 131 acquires various types of history information indicating actions of the user U from the terminal device 10 of the user U or from various servers based on the user ID or the like. The collection unit 131 then registers various types of history information in the history information database 122 of the storage unit 120 .

(推定部132)
推定部132は、生データ又は抽象化データに基づいて学習及び推論を行う。例えば、推定部132は、生データ又は抽象化データに基づいて機械学習を行い、グローバルモデルを構築する。例えば、推定部132は、生データ又は抽象化データと利用者Uの大まかな現在や将来の位置や行動とを学習データとして機械学習を行う。あるいは、推定部132は、生データ又は抽象化データと利用者Uに提供するレコメンド情報(recommendation)とを学習データとして機械学習を行う。
(Estimation unit 132)
The estimator 132 performs learning and inference based on raw data or abstracted data. For example, the estimation unit 132 performs machine learning based on raw data or abstracted data to construct a global model. For example, the estimating unit 132 performs machine learning using raw data or abstract data and rough current and future positions and behaviors of the user U as learning data. Alternatively, the estimation unit 132 performs machine learning using raw data or abstract data and recommendation information (recommendation) to be provided to the user U as learning data.

また、推定部132は、生データ又は抽象化データをグローバルモデルに入力して推論を行い、推論結果を得る。例えば、推定部132は、生データ又は抽象化データに基づいて、利用者Uの大まかな現在や将来の位置や行動を推測したり、利用者Uに提供するレコメンド情報を推測したりする。 Also, the estimating unit 132 inputs raw data or abstracted data to the global model, performs inference, and obtains an inference result. For example, the estimation unit 132 estimates a rough current or future position or behavior of the user U, or estimates recommended information to be provided to the user U, based on raw data or abstracted data.

(提供部133)
提供部133は、通信部110を介して、生データ又は抽象化データに応じた推論結果に基づく提供情報を、当該データの送信元である利用者Uの端末装置10に提供する。例えば、提供部133は、グローバルモデルによる推論結果に基づいて、利用者Uの端末装置10にレコメンド情報を提供する。
(Providing unit 133)
The providing unit 133 provides, via the communication unit 110, provision information based on an inference result corresponding to raw data or abstract data to the terminal device 10 of the user U who is the transmission source of the data. For example, the providing unit 133 provides recommendation information to the terminal device 10 of the user U based on the inference result of the global model.

〔5.処理手順〕
次に、図8を用いて実施形態に係る端末装置10による処理手順について説明する。図8は、実施形態に係る処理手順を示すフローチャートである。なお、以下に示す処理手順は、端末装置10の制御部30によって繰り返し実行される。
[5. Processing procedure]
Next, a processing procedure by the terminal device 10 according to the embodiment will be described with reference to FIG. FIG. 8 is a flow chart showing a processing procedure according to the embodiment. Note that the processing procedure described below is repeatedly executed by the control unit 30 of the terminal device 10 .

図8に示すように、端末装置10の取得部34は、測位部14やセンサ部20又は入力部13を介して、データを取得する(ステップS101)。例えば、取得部34は、データとして、端末装置10の位置情報、センサデータ、利用者Uの属性情報、履歴情報(操作履歴、決済履歴等)等を取得する。 As shown in FIG. 8, the acquisition unit 34 of the terminal device 10 acquires data via the positioning unit 14, the sensor unit 20, or the input unit 13 (step S101). For example, the acquisition unit 34 acquires position information of the terminal device 10, sensor data, attribute information of the user U, history information (operation history, payment history, etc.) and the like as data.

続いて、端末装置10の判定部35は、データ及びコンテキストに応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する(ステップS102)。 Subsequently, the determination unit 35 of the terminal device 10 determines whether or not to send the data to the information providing device 100 (server side) according to the data and context (step S102).

このとき、判定部35は、データのプライバシー具合(プライバシー性の程度)に応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。例えば、判定部35は、同じ場所に不特定多数の人がいて、同じデータ(同じ位置情報等)が多数集まる場合、あるいは個人を特定することが容易でない場合には、データを抽象化せず、データを情報提供装置100(サーバ側)へ送る。この場合、判定部35は、データをオンライン(サーバ側)で学習するように判定する。また、判定部35は、同じ場所に他の人がおらず、個人を特定することが容易である場合には、データを抽象化して情報提供装置100(サーバ側)へ送ってもよいし、データをオンデバイス(端末側)で学習するように判定してもよい。 At this time, the determination unit 35 determines whether or not to send the data to the information providing apparatus 100 (server side) according to the degree of privacy of the data. For example, the determination unit 35 does not abstract the data when there are an unspecified number of people in the same place and a large number of the same data (same location information, etc.) are collected, or when it is not easy to identify an individual. , the data is sent to the information providing apparatus 100 (server side). In this case, the determination unit 35 determines to learn the data online (on the server side). In addition, when there is no other person in the same place and it is easy to identify the individual, the determination unit 35 may abstract the data and send it to the information providing device 100 (server side), Data may be determined to be learned on-device (terminal side).

また、判定部35は、データを取得した端末装置の電池残量に応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。例えば、判定部35は、当該判定部35の残り電池(電池残量)が少ない時(例えば、電池残量が所定の閾値未満の場合)には、オンライン(サーバ側)で機械学習を行うように判定する。反対に、判定部35は、当該判定部35の残り電池(電池残量)が多い時(例えば、電池残量が所定の閾値以上の場合)には、オンデバイス(端末側)で機械学習を行うように判定する。 Further, the determination unit 35 determines whether or not to send the data to the information providing apparatus 100 (server side) according to the remaining battery level of the terminal device that acquired the data. For example, when the remaining battery (remaining battery power) of the determining unit 35 is low (for example, when the remaining battery power is less than a predetermined threshold), the determination unit 35 performs machine learning online (on the server side). to judge. Conversely, when the remaining battery (remaining battery power) of the determining unit 35 is large (for example, when the remaining battery power is equal to or greater than a predetermined threshold), the determination unit 35 performs machine learning on the device (terminal side). decide to do so.

また、判定部35は、データの取得が明示的か暗黙的かに応じて、データを情報提供装置100(サーバ側)へ送るか否かを判定する。具体的には、判定部35は、利用者Uの位置情報等のデータの取得が、利用者Uにわからないように暗黙的に取得(例えば、バックグラウンドで取得)されているか、利用者Uにもわかるように明示的に取得(例えば、ナビアプリで取得)されているかにより、オンデバイス(端末側)で学習するか、オンライン(サーバ側)で学習するかを判定する。 Further, the determination unit 35 determines whether or not to send the data to the information providing apparatus 100 (server side) depending on whether the acquisition of the data is explicit or implicit. Specifically, the determination unit 35 determines whether the acquisition of data such as the location information of the user U is implicitly acquired (for example, acquired in the background) so that the user U does not know, or whether the user U As you can see from the above, it is determined whether to learn on-device (terminal side) or online (server side) depending on whether it is explicitly acquired (for example, acquired by a navigation app).

続いて、端末装置10の判定部35は、データを情報提供装置100(サーバ側)へ送ると判定した場合(ステップS102:Yes)、データを抽象化するか否かを判定する(ステップS103)。 Subsequently, when the determination unit 35 of the terminal device 10 determines to send the data to the information providing device 100 (server side) (step S102: Yes), it determines whether or not to abstract the data (step S103). .

続いて、端末装置10の送信部31は、データを抽象化すると判定した場合(ステップS103:Yes)、通信部11を介して、データを抽象化した抽象化データを情報提供装置100(サーバ側)へ送信する(ステップS104)。このとき、変換部36は、データを抽象化して抽象化データに変換する。 Subsequently, when the transmission unit 31 of the terminal device 10 determines that the data is to be abstracted (step S103: Yes), the transmission unit 31 transmits the abstracted data to the information providing device 100 (server side) via the communication unit 11. ) (step S104). At this time, the conversion unit 36 abstracts the data and converts it into abstracted data.

あるいは、端末装置10の送信部31は、データを抽象化しないと判定した場合(ステップS103:No)、通信部11を介して、データを生データの状態で情報提供装置100(サーバ側)へ送信する(ステップS105)。 Alternatively, when the transmission unit 31 of the terminal device 10 determines not to abstract the data (step S103: No), the data is sent to the information providing device 100 (server side) in raw data via the communication unit 11. Send (step S105).

続いて、情報提供装置100(サーバ側)の収集部131は、通信部110を介して、各利用者Uの端末装置10から、生データ又は抽象化データを収集した際に、生データ又は抽象化データを用いたグローバルモデルでの学習及び推論を行うものと判定する(ステップS106)。すなわち、端末装置10の送信部31は、データを情報提供装置100(サーバ側)へ送信することにより、グローバルモデルでの学習及び推論を要求する。 Subsequently, when the collection unit 131 of the information providing device 100 (on the server side) collects raw data or abstract data from the terminal device 10 of each user U via the communication unit 110, It is determined to perform learning and inference with the global model using the modified data (step S106). That is, the transmission unit 31 of the terminal device 10 requests learning and inference in the global model by transmitting data to the information providing device 100 (server side).

このとき、情報提供装置100(サーバ側)の収集部131は、通信部110を介して、各利用者Uの端末装置10から、生データ又は抽象化データを収集する。推定部132は、生データ又は抽象化データを用いたグローバルモデルでの学習及び推論を行う。提供部133は、通信部110を介して、グローバルモデルでの推論結果に基づく提供情報(レコメンド情報等)を、当該データの送信元である利用者Uの端末装置10に提供する。 At this time, the collection unit 131 of the information providing device 100 (on the server side) collects raw data or abstract data from the terminal device 10 of each user U via the communication unit 110 . The estimator 132 performs learning and inference on a global model using raw data or abstracted data. The provision unit 133 provides, via the communication unit 110, provision information (recommendation information or the like) based on the inference result of the global model to the terminal device 10 of the user U who is the transmission source of the data.

続いて、端末装置10の受信部32は、通信部11を介して、情報提供装置100(サーバ側)からグローバルモデルでの推論結果に基づく提供情報を受信する(ステップS107)。 Subsequently, the receiving unit 32 of the terminal device 10 receives the provided information based on the inference result of the global model from the information providing device 100 (server side) via the communication unit 11 (step S107).

一方、端末装置10の学習部37は、判定部35がデータを情報提供装置100(サーバ側)へ送らないと判定した場合(ステップS102:Yes)、生データを用いてローカルモデルで機械学習を行う(ステップS108)。 On the other hand, when the determination unit 35 determines not to send data to the information providing device 100 (server side) (step S102: Yes), the learning unit 37 of the terminal device 10 performs machine learning with a local model using raw data. (Step S108).

続いて、端末装置10の学習部37は、生データを用いたローカルモデルでの推論を行い、推論結果を得る(ステップS109)。 Subsequently, the learning unit 37 of the terminal device 10 makes an inference with the local model using the raw data and obtains an inference result (step S109).

続いて、端末装置10の学習部37は、生データを用いたローカルモデルでの推論結果に基づいて、利用者Uに提示する情報(提示情報)を決定する(ステップS110)。例えば、端末装置10の学習部37は、利用者Uの現在位置の周辺の店舗の広告やクーポン等のレコメンド情報を、利用者Uに提示する情報(提示情報)として決定する。このとき、送信部31は、通信部11を介して、利用者Uの現在位置の周辺の店舗の広告やクーポン等のレコメンド情報を要求してもよい。また、学習部37は、情報提供装置100(サーバ側)から複数の提供情報(レコメンド情報等)を受信している場合、生データを用いたローカルモデルでの推論結果に基づいて、情報提供装置100から受信した複数の提供情報(レコメンド情報等)を絞り込み、利用者Uに提示する情報(提示情報)を決定する。 Subsequently, the learning unit 37 of the terminal device 10 determines information (presentation information) to be presented to the user U based on the inference result of the local model using the raw data (step S110). For example, the learning unit 37 of the terminal device 10 determines recommended information such as advertisements and coupons for stores near the current location of the user U as information to be presented to the user U (presentation information). At this time, the transmission unit 31 may request recommendation information such as advertisements and coupons for stores near the current location of the user U via the communication unit 11 . Further, when the learning unit 37 receives a plurality of pieces of provided information (recommendation information, etc.) from the information providing device 100 (server side), the learning unit 37 learns the information providing device based on the inference result of the local model using raw data. A plurality of pieces of provided information (recommended information, etc.) received from 100 are narrowed down, and information (presented information) to be presented to the user U is determined.

〔6.変形例〕
上述した端末装置10及び情報提供装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
[6. Modification]
The terminal device 10 and the information providing device 100 described above may be implemented in various different forms other than the above embodiments. So, below, the modification of embodiment is demonstrated.

上記の実施形態において、情報提供装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態における情報提供装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10は情報提供装置100と連携しているため、利用者Uから見れば、情報提供装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、情報提供装置100を備えているともいえる。 In the above embodiment, part or all of the processing executed by the information providing device 100 may actually be executed by the terminal device 10 . For example, the processing may be completed stand-alone (by the terminal device 10 alone). In this case, it is assumed that the terminal device 10 has the functions of the information providing device 100 in the above embodiment. In addition, in the above-described embodiment, the terminal device 10 cooperates with the information providing device 100, so from the user U's point of view, it appears that the terminal device 10 is executing the processing of the information providing device 100 as well. That is, from another point of view, it can be said that the terminal device 10 includes the information providing device 100 .

また、上記の実施形態において、情報提供装置100(サーバ側)は、フェデレーテッドラーニング(Federated Learning:連合学習)を採用し、各利用者Uの端末装置10(端末側)に共有モデル(コアモデル)を提供してもよい。そして、端末装置10は、共有モデルをベースとして、生データ(及びセンサデータ)と結果情報とを学習データとしてオンデバイス機械学習を行うことでパターンを作り、そのパターンを利用して生データ(及びセンサデータ)を入力データとして推論を行うようにしてもよい。 In the above embodiment, the information providing apparatus 100 (server side) employs federated learning, and the terminal device 10 (terminal side) of each user U uses a shared model (core model). model) can be provided. Then, based on the shared model, the terminal device 10 creates a pattern by performing on-device machine learning using the raw data (and sensor data) and the result information as learning data, and uses the pattern to create the raw data (and Inference may be performed using sensor data) as input data.

また、上記の実施形態において、端末装置10は、オンデバイスAI(Artificial Intelligence:人工知能)によりカメラ機能の高機能化を実現したスマートフォン等であってもよい。また、端末装置10は、オンデバイスAIを搭載したロボットや自動運転車、ドローン等であってもよい。 Further, in the above-described embodiment, the terminal device 10 may be a smart phone or the like that realizes advanced camera functions by on-device AI (Artificial Intelligence). Also, the terminal device 10 may be a robot, self-driving car, drone, or the like equipped with an on-device AI.

〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10)は、データを取得する取得部34と、データ及びコンテキストに応じて、データをサーバ側へ送るか否かを判定する判定部35と、データをサーバ側へ送ると判定した場合、データをサーバ側へ送信する送信部31と、サーバ側からデータを用いたグローバルモデルでの機械学習の結果を受信する受信部32と、データをサーバ側へ送らないと判定した場合、データを用いてローカルモデルで機械学習を行う学習部37と、を備える。
[7. effect〕
As described above, the information processing device (terminal device 10) according to the present application includes an acquisition unit 34 that acquires data, and a determination unit 35 that determines whether to send data to the server side according to data and context. and, if it is determined to send the data to the server side, a transmission unit 31 that transmits the data to the server side, a reception unit 32 that receives the result of machine learning in the global model using the data from the server side, and the data and a learning unit 37 that performs machine learning with a local model using the data when it is determined not to send the data to the server side.

また、本願に係る情報処理装置は、データを抽象化して抽象化データに変換する変換部36と、をさらに備える。 The information processing apparatus according to the present application further includes a conversion unit 36 that abstracts data and converts it into abstracted data.

また、判定部35は、データをサーバ側へ送ると判定した場合、データを抽象化するか否かを判定する。変換部36は、データを抽象化すると判定した場合、データを抽象化して抽象化データに変換する。送信部31は、抽象化データをサーバ側へ送信する。受信部32は、サーバ側から抽象化データを用いたグローバルモデルでの機械学習の結果を受信する。 Further, when determining to send the data to the server side, the determining unit 35 determines whether to abstract the data. When determining to abstract the data, the conversion unit 36 abstracts the data and converts it into abstracted data. The transmission unit 31 transmits the abstracted data to the server side. The receiving unit 32 receives the result of machine learning in the global model using the abstracted data from the server side.

また、取得部34は、データとして位置情報を取得する。変換部36は、データを抽象化すると判定した場合、位置情報を特定の地点を示す位置情報から広域の位置情報に変換する。 The acquisition unit 34 also acquires position information as data. If the conversion unit 36 determines to abstract the data, the conversion unit 36 converts the position information indicating a specific location into wide-area position information.

また、判定部35は、データのプライバシー性の程度に応じて、データをサーバ側へ送るか否かを判定する。 Further, the determination unit 35 determines whether or not to send the data to the server side according to the degree of privacy of the data.

また、判定部35は、データを取得した端末装置10の電池残量に応じて、データをサーバ側へ送るか否かを判定する。 Further, the determination unit 35 determines whether or not to send the data to the server side according to the remaining battery level of the terminal device 10 that acquired the data.

また、判定部35は、データの取得が明示的か暗黙的かに応じて、データをサーバ側へ送るか否かを判定する。 Further, the determination unit 35 determines whether or not to send data to the server side depending on whether the acquisition of data is explicit or implicit.

また、判定部35は、データに基づいてグローバルモデルが更新されるまで、データに基づいてローカルモデルを更新しないように判定する。 Further, the determination unit 35 determines not to update the local model based on the data until the global model is updated based on the data.

上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、データや状況に合わせて、データを送るか否かを判定することができる。 The information processing apparatus according to the present application can determine whether or not to send data according to the data and the situation by one or a combination of the above-described processes.

〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば図9に示すような構成のコンピュータ1000によって実現される。以下、情報提供装置100を例に挙げて説明する。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
[8. Hardware configuration]
Also, the terminal device 10 and the information providing device 100 according to the above-described embodiments are implemented by a computer 1000 configured as shown in FIG. 9, for example. The information providing apparatus 100 will be described below as an example. FIG. 9 is a diagram illustrating an example of a hardware configuration; The computer 1000 is connected to an output device 1010 and an input device 1020, and an arithmetic device 1030, a primary storage device 1040, a secondary storage device 1050, an output I/F (Interface) 1060, an input I/F 1070, and a network I/F 1080 are buses. It has a form connected by 1090.

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。 Arithmetic device 1030 operates based on programs stored in primary storage device 1040 and secondary storage device 1050, programs read from input device 1020, and the like, and executes various types of processing. The arithmetic unit 1030 is implemented by, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or the like.

一次記憶装置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)、ファイルサーバ等であってもよい。 The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that temporarily stores data used for various calculations by the arithmetic device 1030 . The secondary storage device 1050 is a storage device in which data used for various calculations by the arithmetic device 1030 and various databases are registered. State Drive), flash memory, or the like. The secondary storage device 1050 may be an internal storage or an external storage. Also, the secondary storage device 1050 may be a removable storage medium such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) memory card. Also, the secondary storage device 1050 may be a cloud storage (online storage), a NAS (Network Attached Storage), a file server, or the like.

出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。 The output I/F 1060 is an interface for transmitting information to be output to the output device 1010 that outputs various information such as a display, a projector, and a printer. (Digital Visual Interface), HDMI (registered trademark) (High Definition Multimedia Interface), and other standardized connectors. Also, the input I/F 1070 is an interface for receiving information from various input devices 1020 such as a mouse, keyboard, keypad, buttons, scanner, etc., and is realized by, for example, USB.

また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。 Also, the output I/F 1060 and the input I/F 1070 may be wirelessly connected to the output device 1010 and the input device 1020, respectively. That is, the output device 1010 and the input device 1020 may be wireless devices.

また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。 Also, the output device 1010 and the input device 1020 may be integrated like a touch panel. In this case, the output I/F 1060 and the input I/F 1070 may also be integrated as an input/output I/F.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。 Note that the input device 1020 includes, for example, optical recording media such as CDs (Compact Discs), DVDs (Digital Versatile Discs), PDs (Phase change rewritable discs), magneto-optical recording media such as MOs (Magneto-Optical discs), and tapes. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like.

ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 Network I/F 1080 receives data from other devices via network N and sends the data to arithmetic device 1030, and also transmits data generated by arithmetic device 1030 via network N to other devices.

演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 Arithmetic device 1030 controls output device 1010 and input device 1020 via output I/F 1060 and input I/F 1070 . For example, arithmetic device 1030 loads a program from input device 1020 or secondary storage device 1050 onto primary storage device 1040 and executes the loaded program.

例えば、コンピュータ1000が情報提供装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。 For example, when the computer 1000 functions as the information providing device 100 , the arithmetic device 1030 of the computer 1000 implements the functions of the control unit 130 by executing a program loaded on the primary storage device 1040 . Further, arithmetic device 1030 of computer 1000 may load a program acquired from another device via network I/F 1080 onto primary storage device 1040 and execute the loaded program. Further, the arithmetic unit 1030 of the computer 1000 may cooperate with another device via the network I/F 1080, and call functions, data, etc. of the program from another program of the other device for use.

〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
[9. others〕
Although the embodiments of the present application have been described above, the present invention is not limited by the contents of these embodiments. In addition, the components described above include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those within the so-called equivalent range. Furthermore, the components described above can be combined as appropriate. Furthermore, various omissions, replacements, or modifications of components can be made without departing from the gist of the above-described embodiments.

また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。 Further, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed manually. All or part of this can also be done automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.

例えば、上述した情報提供装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。 For example, the information providing apparatus 100 described above may be implemented by a plurality of server computers, and depending on the function, may be implemented by calling an external platform or the like using an API (Application Programming Interface), network computing, or the like. can be changed flexibly.

また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Further, the above-described embodiments and modifications can be appropriately combined within a range that does not contradict the processing contents.

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。 Also, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the acquisition unit can be read as acquisition means or an acquisition circuit.

1 情報処理システム
10 端末装置
11 通信部
14 測位部
20 センサ部
30 制御部
31 送信部
32 受信部
33 処理部
34 取得部
35 判定部
36 変換部
37 学習部
100 情報提供装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 レコメンド情報データベース
130 制御部
131 収集部
132 推定部
133 提供部
1 information processing system 10 terminal device 11 communication unit 14 positioning unit 20 sensor unit 30 control unit 31 transmission unit 32 reception unit 33 processing unit 34 acquisition unit 35 determination unit 36 conversion unit 37 learning unit 100 information providing device 110 communication unit 120 storage unit 121 user information database 122 history information database 123 recommendation information database 130 control unit 131 collection unit 132 estimation unit 133 provision unit

Claims (10)

位置情報やセンサデータといった個人の行動を特定可能な情報が含まれるデータを取得する取得部と、
前記データを外部に送るか否かの判断基準となるコンテキストに応じて、前記データをサーバ側へ送るか否かを判定する判定部と、
前記データを前記サーバ側へ送ると判定した場合、前記データを前記サーバ側へ送信する送信部と、
前記サーバ側から前記データを用いたグローバルモデルでの機械学習の結果を受信する受信部と、
前記データをサーバ側へ送らないと判定した場合、前記データを用いてローカルモデルで機械学習を行う学習部と
を備えることを特徴とする情報処理装置。
an acquisition unit that acquires data containing information that can identify individual behavior, such as location information and sensor data ;
a determination unit that determines whether or not to send the data to a server side according to a context serving as a criterion for determining whether or not to send the data to the outside ;
a transmitting unit configured to transmit the data to the server when it is determined that the data is to be transmitted to the server;
a receiving unit that receives results of machine learning in a global model using the data from the server side;
and a learning unit that performs machine learning with a local model using the data when it is determined not to send the data to the server side.
前記データを抽象化して抽象化データに変換する変換部と、
をさらに備えることを特徴とする請求項1に記載の情報処理装置。
a conversion unit that abstracts the data and converts it into abstracted data;
The information processing apparatus according to claim 1, further comprising:
前記判定部は、前記データを前記サーバ側へ送ると判定した場合、前記データを抽象化するか否かを判定し、
前記変換部は、前記データを抽象化すると判定した場合、前記データを抽象化して抽象化データに変換し、
前記送信部は、前記抽象化データをサーバ側へ送信し、
前記受信部は、前記サーバ側から前記抽象化データを用いたグローバルモデルでの機械学習の結果を受信する
ことを特徴とする請求項2に記載の情報処理装置。
The determining unit, when determining to send the data to the server side, determines whether to abstract the data,
When determining that the data should be abstracted, the conversion unit abstracts the data and converts it into abstracted data;
The transmission unit transmits the abstracted data to the server side,
The information processing apparatus according to claim 2, wherein the receiving unit receives a result of machine learning in a global model using the abstracted data from the server side.
前記取得部は、前記データとして位置情報を取得し、
前記変換部は、前記データを抽象化すると判定した場合、前記位置情報を特定の地点を示す位置情報から広域の位置情報に変換する
ことを特徴とする請求項2又は3に記載の情報処理装置。
The acquisition unit acquires position information as the data,
4. The information processing apparatus according to claim 2, wherein, when determining to abstract the data, the conversion unit converts the position information from position information indicating a specific point to wide-area position information. .
前記判定部は、前記データのプライバシー性の程度に応じて、前記データをサーバ側へ送るか否かを判定する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
The information processing according to any one of claims 1 to 4, wherein the determination unit determines whether or not to send the data to the server side according to the degree of privacy of the data. Device.
前記判定部は、前記データを取得した端末装置の電池残量に応じて、前記データをサーバ側へ送るか否かを判定する
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理装置。
6. The method according to any one of claims 1 to 5, wherein the determination unit determines whether or not to send the data to the server side according to the remaining battery level of the terminal device that acquired the data. The information processing device described.
前記判定部は、前記データの取得が明示的か暗黙的かに応じて、前記データをサーバ側へ送るか否かを判定する
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
7. The method according to any one of claims 1 to 6, wherein the determining unit determines whether to send the data to the server side according to whether the acquisition of the data is explicit or implicit. The information processing device described.
前記判定部は、前記データに基づいて前記グローバルモデルが更新されるまで、前記データに基づいて前記ローカルモデルを更新しないように判定する
ことを特徴とする請求項1~7のうちいずれか1つに記載の情報処理装置。
The determination unit determines not to update the local model based on the data until the global model is updated based on the data. The information processing device according to .
情報処理装置が実行する情報処理方法であって、
位置情報やセンサデータといった個人の行動を特定可能な情報が含まれるデータを取得する取得工程と、
前記データを外部に送るか否かの判断基準となるコンテキストに応じて、前記データをサーバ側へ送るか否かを判定する判定工程と、
前記データを前記サーバ側へ送ると判定した場合、前記データを前記サーバ側へ送信する送信工程と、
前記サーバ側から前記データを用いたグローバルモデルでの機械学習の結果を受信する受信工程と、
前記データをサーバ側へ送らないと判定した場合、前記データを用いてローカルモデルで機械学習を行う学習工程と
を含むことを特徴とする情報処理方法。
An information processing method executed by an information processing device,
an acquisition step of acquiring data containing information that can identify an individual's behavior, such as location information and sensor data ;
a determination step of determining whether or not to send the data to a server side according to a context serving as a criterion for determining whether or not to send the data to the outside ;
a transmitting step of transmitting the data to the server side when it is determined that the data is to be transmitted to the server side;
a receiving step of receiving results of machine learning on a global model using the data from the server side;
and a learning step of performing machine learning with a local model using the data when it is determined not to send the data to the server side.
位置情報やセンサデータといった個人の行動を特定可能な情報が含まれるデータを取得する取得手順と、
前記データを外部に送るか否かの判断基準となるコンテキストに応じて、前記データをサーバ側へ送るか否かを判定する判定手順と、
前記データを前記サーバ側へ送ると判定した場合、前記データを前記サーバ側へ送信する送信手順と、
前記サーバ側から前記データを用いたグローバルモデルでの機械学習の結果を受信する受信手順と、
前記データをサーバ側へ送らないと判定した場合、前記データを用いてローカルモデルで機械学習を行う学習手順と
をコンピュータに実行させるための情報処理プログラム。
an acquisition procedure for acquiring data containing information that can identify individual behavior, such as location information and sensor data ;
a determination procedure for determining whether or not to send the data to a server side according to a context serving as a criterion for determining whether or not to send the data to the outside ;
a transmission procedure for transmitting the data to the server side when it is determined that the data is to be transmitted to the server side;
a receiving procedure for receiving results of machine learning on the global model using the data from the server side;
an information processing program for causing a computer to execute a learning procedure for performing machine learning with a local model using the data when it is determined not to send the data to the server side.
JP2021132670A 2021-08-17 2021-08-17 Information processing device, information processing method and information processing program Active JP7317901B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021132670A JP7317901B2 (en) 2021-08-17 2021-08-17 Information processing device, information processing method and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021132670A JP7317901B2 (en) 2021-08-17 2021-08-17 Information processing device, information processing method and information processing program

Publications (2)

Publication Number Publication Date
JP2023027525A JP2023027525A (en) 2023-03-02
JP7317901B2 true JP7317901B2 (en) 2023-07-31

Family

ID=85330468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021132670A Active JP7317901B2 (en) 2021-08-17 2021-08-17 Information processing device, information processing method and information processing program

Country Status (1)

Country Link
JP (1) JP7317901B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7536214B1 (en) 2023-08-25 2024-08-19 三菱電機株式会社 Premonition detection device, premonition detection system, premonition detection method, and premonition detection program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019117556A (en) 2017-12-27 2019-07-18 キヤノン株式会社 Information processing apparatus, information processing method and program
US20200027019A1 (en) 2019-08-15 2020-01-23 Lg Electronics Inc. Method and apparatus for learning a model to generate poi data using federated learning
WO2021131911A1 (en) 2019-12-24 2021-07-01 ソニーグループ株式会社 Information processing device, information processing system, information processing method and information processing program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019117556A (en) 2017-12-27 2019-07-18 キヤノン株式会社 Information processing apparatus, information processing method and program
US20200027019A1 (en) 2019-08-15 2020-01-23 Lg Electronics Inc. Method and apparatus for learning a model to generate poi data using federated learning
WO2021131911A1 (en) 2019-12-24 2021-07-01 ソニーグループ株式会社 Information processing device, information processing system, information processing method and information processing program

Also Published As

Publication number Publication date
JP2023027525A (en) 2023-03-02

Similar Documents

Publication Publication Date Title
JP7317901B2 (en) Information processing device, information processing method and information processing program
JP7174782B2 (en) Information processing device, information processing method and information processing program
JP2022144312A (en) Information processing device, information processing method, and information processing program
JP7388744B2 (en) Information processing device, information processing method, and information processing program
JP7337123B2 (en) Information processing device, information processing method and information processing program
JP7145247B2 (en) Information processing device, information processing method and information processing program
JP7459021B2 (en) Information processing device, information processing method, and information processing program
JP7459026B2 (en) Information processing device, information processing method, and information processing program
JP7212665B2 (en) Information processing device, information processing method and information processing program
JP7122432B1 (en) Information processing device, information processing method and information processing program
JP7532585B1 (en) Information processing device, information processing method, and information processing program
JP7145997B2 (en) Information processing device, information processing method and information processing program
JP7407152B2 (en) Information processing device, information processing method, and information processing program
JP2023028857A (en) Information processing system
JP7168640B2 (en) Information processing device, information processing method and information processing program
JP7453199B2 (en) Information processing device, information processing method, and information processing program
JP7077431B1 (en) Information processing equipment, information processing methods and information processing programs
JP2023043762A (en) Information processing device, information processing method, and information processing program
JP2023043772A (en) Information processing device, information processing method, and information processing program
JP2023043778A (en) Information processing device, information processing method, and information processing program
JP2023179878A (en) Information processing device, information processing method and information processing program
JP2023043779A (en) Information processing device, information processing method, and information processing program
JP2023127393A (en) Information processing device, information processing method, and information processing program
JP2023133012A (en) Information processing device, information processing method, and information processing program
JP2024025997A (en) Information processing device, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230719

R150 Certificate of patent or registration of utility model

Ref document number: 7317901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350