[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2022051367A - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

Publication number
JP2022051367A
JP2022051367A JP2020157805A JP2020157805A JP2022051367A JP 2022051367 A JP2022051367 A JP 2022051367A JP 2020157805 A JP2020157805 A JP 2020157805A JP 2020157805 A JP2020157805 A JP 2020157805A JP 2022051367 A JP2022051367 A JP 2022051367A
Authority
JP
Japan
Prior art keywords
model
information
data
unit
terminal device
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.)
Granted
Application number
JP2020157805A
Other languages
Japanese (ja)
Other versions
JP7160873B2 (en
Inventor
孝太 坪内
Kota Tsubouchi
徹 清水
Toru Shimizu
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 JP2020157805A priority Critical patent/JP7160873B2/en
Publication of JP2022051367A publication Critical patent/JP2022051367A/en
Application granted granted Critical
Publication of JP7160873B2 publication Critical patent/JP7160873B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

To efficiently learn a model that generates vectors by using data possessed by a plurality of terminal devices.SOLUTION: An information processing system includes: a server that provides a common model that generates a vector indicating a user's context from data acquired by a terminal device; and a plurality of terminal devices that each generate a local model obtained by updating parameters of the common model received from the server by using data possessed by each terminal device, and transmit update information which is information about the local model to the server. The server uses the update information received from the plurality of terminal devices to update the parameters of the common model, and provides an updated common model to the plurality of terminal devices.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理システム及び情報処理方法に関する。 The present invention relates to an information processing system and an information processing method.

ユーザ等のコンテキストを示す情報を生成する技術が開示されている。例えば、コンテキストの一例として、機械学習モデル(単に「モデル」ともいう)により、ユーザのおかれた状況を表わした情報を自動的に生成する技術が提供されている(特許文献1参照)。 A technique for generating information indicating the context of a user or the like is disclosed. For example, as an example of the context, a technique for automatically generating information representing a user's situation is provided by a machine learning model (also simply referred to as a “model”) (see Patent Document 1).

特開2019-220194号公報Japanese Unexamined Patent Publication No. 2019-22009

しかしながら、上記の従来技術では、コンテキストを示す情報を生成するモデルを効率的に学習できるとは言い難い。例えば、上記の従来技術では、複数のユーザを対象とする場合については考慮されていない。そのため、複数のユーザの各々が利用する複数の端末装置が保有するデータを用いてモデルを学習する場合については、モデルを効率的に学習できるとは限らない。 However, it cannot be said that the above-mentioned conventional technique can efficiently learn a model that generates information indicating the context. For example, in the above-mentioned prior art, the case of targeting a plurality of users is not considered. Therefore, in the case of learning the model using the data possessed by the plurality of terminal devices used by each of the plurality of users, it is not always possible to learn the model efficiently.

本願は、上記に鑑みてなされたものであって、ベクトルを生成するモデルを、複数の端末装置が保有するデータを用いて効率的に学習することを目的とする。 The present application has been made in view of the above, and an object thereof is to efficiently learn a model for generating a vector by using data possessed by a plurality of terminal devices.

本願に係る情報処理システムは、端末装置が取得したデータからユーザのコンテキストを示すベクトルを生成する共通モデルを提供するサーバと、各々保有するデータを用いて、前記サーバから受信した前記共通モデルのパラメータを更新した局所モデルを生成し、前記局所モデルに関する情報である更新用情報を前記サーバへ送信する複数の端末装置と、を有し、前記サーバは、前記複数の端末装置から受信した前記更新用情報を用いて、前記共通モデルのパラメータを更新し、更新後の前記共通モデルを前記複数の端末装置に提供することを特徴とする。 The information processing system according to the present application is a server that provides a common model that generates a vector indicating a user's context from data acquired by a terminal device, and parameters of the common model received from the server using the data possessed by each. The server has a plurality of terminal devices that generate an updated local model and transmit update information, which is information about the local model, to the server, and the server receives the update information from the plurality of terminal devices. The information is used to update the parameters of the common model, and the updated common model is provided to the plurality of terminal devices.

実施形態の一態様によれば、ベクトルを生成するモデルを、複数の端末装置が保有するデータを用いて効率的に学習することができる。 According to one aspect of the embodiment, the model for generating the vector can be efficiently learned by using the data possessed by the plurality of terminal devices.

図1は、実施形態に係る情報処理の概要を示す説明図である。FIG. 1 is an explanatory diagram showing an outline of information processing according to an embodiment. 図2は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 2 is a diagram showing a configuration example of an information processing system according to an embodiment. 図3は、実施形態に係る端末装置の構成例を示す図である。FIG. 3 is a diagram showing a configuration example of the terminal device according to the embodiment. 図4は、モデル情報記憶部の一例を示す図である。FIG. 4 is a diagram showing an example of a model information storage unit. 図5は、実施形態に係るサーバ装置の構成例を示す図である。FIG. 5 is a diagram showing a configuration example of the server device according to the embodiment. 図6は、モデル情報記憶部の一例を示す図である。FIG. 6 is a diagram showing an example of a model information storage unit. 図7は、コミュニティ情報記憶部の一例を示す図である。FIG. 7 is a diagram showing an example of a community information storage unit. 図8は、モデルの一例を示す図である。FIG. 8 is a diagram showing an example of a model. 図9は、データの一部が欠損した場合の一例を示す図である。FIG. 9 is a diagram showing an example of a case where a part of the data is missing. 図10は、複数階層のコミュニティの一例を示す図である。FIG. 10 is a diagram showing an example of a community having a plurality of layers. 図11は、実施形態に係る処理手順を示すフローチャートである。FIG. 11 is a flowchart showing a processing procedure according to the embodiment. 図12は、ハードウェア構成の一例を示す図である。FIG. 12 is a diagram showing an example of a hardware configuration.

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

〔1.情報処理の概要〕
まず、図1を参照し、実施形態に係る情報処理システム1が行う情報処理の概要について説明する。図1は、実施形態に係る情報処理の概要を示す説明図である。図1では、サーバ装置100と複数の端末装置10とによりモデルを学習する場合の一例を示す。以下では、サーバ装置100が端末装置10に提供するモデルを共通モデルまたはグローバルモデルと記載し、各端末装置10がグローバルモデルのパラメータを更新したモデルを局所モデルまたはローカルモデルを記載する場合がある。
[1. Information processing overview]
First, with reference to FIG. 1, an outline of information processing performed by the information processing system 1 according to the embodiment will be described. FIG. 1 is an explanatory diagram showing an outline of information processing according to an embodiment. FIG. 1 shows an example of learning a model by a server device 100 and a plurality of terminal devices 10. In the following, the model provided by the server device 100 to the terminal device 10 may be described as a common model or a global model, and the model in which each terminal device 10 updates the parameters of the global model may be described as a local model or a local model.

なお、情報処理システム1により生成されるモデルの構成は、後述する学習処理が適用可能であれば、どのような構成であってもよい。すなわち、モデルのネットワーク構成は、SVM(Support Vector Machine)やDNN(Deep Neural Network)等の任意のネットワーク構成が採用可能である。例えば、グローバルモデルのネットワーク構成は、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、LSTM(Long short-term memory)等であってもよい。また、グローバルモデルのネットワーク構成は、CNNとRNNとの組み合わせのように、複数のネットワークを組合せた構成であってもよい。なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。なお、具体的にネットワーク構成例については後述する。 The model generated by the information processing system 1 may have any configuration as long as the learning process described later can be applied. That is, any network configuration such as SVM (Support Vector Machine) or DNN (Deep Neural Network) can be adopted as the network configuration of the model. For example, the network configuration of the global model may be CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), LSTM (Long short-term memory), or the like. Further, the network configuration of the global model may be a configuration in which a plurality of networks are combined, such as a combination of CNN and RNN. The RNN and LSTM may be a neural network based on an attention mechanism. A specific example of the network configuration will be described later.

図1では、説明を簡単にするために、ユーザの位置を示すデータとしてユーザの位置情報を入力をとし、そのユーザのコンテキストを示すエンベディングベクトル(埋め込みベクトル)を出力(生成)するモデルM1を学習する場合を示す。以下では、エンベディングベクトルを単にベクトルと記載する場合がある。すなわち、モデルM1は、ユーザの位置情報を、ユーザのコンテキストを示すベクトルに変換(ベクトル化)する。なお、コンテキストについての詳細は後述するが、コンテキストとは、ベクトルの生成対象となる主体の状況を意味する。例えば、モデルM1の場合、端末装置10を利用するユーザの状況を意味する。 In FIG. 1, in order to simplify the explanation, a model M1 is trained in which the user's position information is input as data indicating the user's position and an embedding vector (embedded vector) indicating the user's context is output (generated). The case of doing is shown. In the following, the embedding vector may be simply referred to as a vector. That is, the model M1 converts (vectorizes) the user's position information into a vector indicating the user's context. The details of the context will be described later, but the context means the situation of the subject to which the vector is generated. For example, in the case of the model M1, it means the situation of the user who uses the terminal device 10.

以下では、ユーザID「U1」により識別されるユーザを「ユーザU1」とする場合がある。このように、以下では、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU2」と記載した場合、そのユーザはユーザID「U2」により識別されるユーザである。また、図1に示す例においては、端末装置10を利用するユーザに応じて、端末装置10を端末装置10-1~10-3として説明する。例えば、端末装置10-1は、ユーザID「U1」により識別されるユーザ(ユーザU1)により使用される端末装置10である。また、例えば、端末装置10-2は、ユーザID「U2」により識別される(ユーザU2)により使用される端末装置10である。また、以下では、端末装置10-1~10-3について、特に区別なく説明する場合には、端末装置10と記載する。また、ユーザU1~U3等のユーザについて、特に区別なく説明する場合には、ユーザUと記載する場合がある。 In the following, the user identified by the user ID "U1" may be referred to as "user U1". As described above, in the following, when "user U * (* is an arbitrary numerical value)" is described, it means that the user is a user identified by the user ID "U *". For example, when "user U2" is described, the user is a user identified by the user ID "U2". Further, in the example shown in FIG. 1, the terminal device 10 will be described as the terminal devices 10-1 to 10-3 according to the user who uses the terminal device 10. For example, the terminal device 10-1 is a terminal device 10 used by a user (user U1) identified by the user ID "U1". Further, for example, the terminal device 10-2 is a terminal device 10 used by being identified by the user ID "U2" (user U2). Further, in the following, when the terminal devices 10-1 to 10-3 will be described without particular distinction, they will be referred to as the terminal device 10. Further, when the users such as users U1 to U3 are described without particular distinction, they may be described as user U.

まず、サーバ装置100は、ユーザU1が利用する端末装置10-1にグローバルモデルであるモデルM1を提供する(ステップS11-1)。また、サーバ装置100は、ユーザU2が利用する端末装置10-2にモデルM1を提供する(ステップS11-2)。また、サーバ装置100は、ユーザU3が利用する端末装置10-3にモデルM1を提供する(ステップS11-3)。なお、ステップS11-1~S11-3の順序は任意の順序であってよく、ステップS11-3がS11-1よりも先に行われてもよい。以下、ステップS11-1~S11-3を区別せずに説明する場合、ステップS11と総称する。なお、図1では、3人のユーザU1~U3を図示するが、サーバ装置100は、ユーザU1~U3に限らず、例えばユーザU4、ユーザU5等の多数のユーザ(例えば、100万ユーザや1000万ユーザ等)の端末装置10にモデルM1を提供してもよい。例えば、モデルM1の適用対象となる全ユーザの端末装置10にモデルM1を提供してもよい。 First, the server device 100 provides the terminal device 10-1 used by the user U1 with the model M1 which is a global model (step S11-1). Further, the server device 100 provides the model M1 to the terminal device 10-2 used by the user U2 (step S11-2). Further, the server device 100 provides the model M1 to the terminal device 10-3 used by the user U3 (step S11-3). The order of steps S11-1 to S11-3 may be any order, and step S11-3 may be performed before S11-1. Hereinafter, when steps S11-1 to S11-3 are described without distinction, they are collectively referred to as step S11. Although three users U1 to U3 are illustrated in FIG. 1, the server device 100 is not limited to the users U1 to U3, and a large number of users such as users U4 and U5 (for example, 1 million users and 1000 users). The model M1 may be provided to the terminal device 10 of (10,000 users, etc.). For example, the model M1 may be provided to the terminal devices 10 of all users to which the model M1 is applied.

ステップS11では、サーバ装置100は、端末装置10にグローバルモデルであるモデルM1を未提供である場合、モデルM1のネットワーク構成と、モデルM1の重みやバイアス等のモデルパラメータ(単に「パラメータ」ともいう)とを端末装置10に送信する。また、ステップS11では、サーバ装置100は、端末装置10にモデルM1を提供済みである場合、モデルM1の重みやバイアス等のパラメータを端末装置10に送信する。これにより、情報処理システム1は、サーバ装置100が端末装置10へ送信するデータ量の増大を抑制し、通信量の増大を抑制することができる。 In step S11, when the server device 100 does not provide the terminal device 10 with the model M1 which is a global model, the network configuration of the model M1 and model parameters such as weights and biases of the model M1 (also simply referred to as "parameters"). ) To the terminal device 10. Further, in step S11, when the model M1 has already been provided to the terminal device 10, the server device 100 transmits parameters such as weights and biases of the model M1 to the terminal device 10. As a result, the information processing system 1 can suppress an increase in the amount of data transmitted by the server device 100 to the terminal device 10 and suppress an increase in the amount of communication.

サーバ装置100からモデルM1を受信した端末装置10-1は、モデルM1のパラメータを更新し、モデルM1のパラメータが更新されたローカルモデルであるモデルM1aを生成する(ステップS12-1)。サーバ装置100からモデルM1を受信した端末装置10-2は、モデルM1のパラメータを更新し、モデルM1のパラメータが更新されたローカルモデルであるモデルM1bを生成する(ステップS12-2)。サーバ装置100からモデルM1を受信した端末装置10-3は、モデルM1のパラメータを更新し、端末装置10-3は、モデルM1のパラメータが更新されたローカルモデルであるモデルM1cを生成する(ステップS12-3)。なお、ステップS12-1~S12-3の順序は任意の順序であってよく、ステップS12-3がS12-1よりも先に行われてもよい。以下、ステップS12-1~S12-3を区別せずに説明する場合、ステップS12と総称する。 The terminal device 10-1 that has received the model M1 from the server device 100 updates the parameters of the model M1 and generates the model M1a, which is a local model in which the parameters of the model M1 are updated (step S12-1). The terminal device 10-2 that has received the model M1 from the server device 100 updates the parameters of the model M1 and generates the model M1b, which is a local model in which the parameters of the model M1 are updated (step S12-2). The terminal device 10-3 receiving the model M1 from the server device 100 updates the parameters of the model M1, and the terminal device 10-3 generates the model M1c which is a local model in which the parameters of the model M1 are updated (step). S12-3). The order of steps S12-1 to S12-3 may be any order, and step S12-3 may be performed before S12-1. Hereinafter, when steps S12-1 to S12-3 are described without distinction, they are collectively referred to as step S12.

ここで、モデルM1a、M1b、M1cは、モデルM1とネットワーク構成は共通であるが、重み等のパラメータのみが更新されたモデルである。このように、ステップS12では、端末装置10は、自身が保有するデータ(位置情報)を用いた学習処理により、グローバルモデルであるモデルM1のパラメータを更新することにより、ローカルモデルを生成する。例えば、端末装置10は、GNSS(Global Navigation Satellite System:全球測位衛星システム)や屋内測位技術等の位置測位技術を用いて、位置情報を取得し、取得した位置情報を記憶部40等に格納し保有する。 Here, the models M1a, M1b, and M1c have the same network configuration as the model M1, but only the parameters such as weights are updated. As described above, in step S12, the terminal device 10 generates a local model by updating the parameters of the model M1 which is a global model by learning processing using the data (position information) possessed by the terminal device 10. For example, the terminal device 10 acquires position information using positioning technology such as GNSS (Global Navigation Satellite System) or indoor positioning technology, and stores the acquired position information in a storage unit 40 or the like. Possess.

端末装置10は、取得した位置情報を用いて学習処理を行い、ローカルモデルを生成する。例えば、端末装置10-1は、ユーザU1の位置情報やユーザU1のコンテキストを基に生成したベクトルを用いて、モデルM1のパラメータを更新し、モデルM1aを生成する。これにより、端末装置10-1は、ユーザU1の情報を反映したパラメータに更新されたモデルM1aを生成することができる。同様の処理により、端末装置10-2、10-3は、ユーザU2、U3の情報を反映したパラメータに更新されたモデルM1b、M1cを生成することができる。 The terminal device 10 performs a learning process using the acquired position information and generates a local model. For example, the terminal device 10-1 updates the parameters of the model M1 and generates the model M1a by using the vector generated based on the position information of the user U1 and the context of the user U1. As a result, the terminal device 10-1 can generate the model M1a updated to the parameters reflecting the information of the user U1. By the same processing, the terminal devices 10-2 and 10-3 can generate the models M1b and M1c updated to the parameters reflecting the information of the users U2 and U3.

そして、端末装置10-1は、生成したモデルM1aとモデルM1との差分を示す情報をサーバ装置100へ送信する(ステップS13-1)。端末装置10-2は、生成したモデルM1bとモデルM1との差分を示す情報をサーバ装置100へ送信する(ステップS13-2)。端末装置10-3は、生成したモデルM1cとモデルM1との差分を示す情報をサーバ装置100へ送信する(ステップS13-3)。なお、ステップS13-1~S13-3の順序は任意の順序であってよく、ステップS13-3がS13-1よりも先に行われてもよい。以下、ステップS13-1~S13-3を区別せずに説明する場合、ステップS13と総称する。 Then, the terminal device 10-1 transmits information indicating the difference between the generated model M1a and the model M1 to the server device 100 (step S13-1). The terminal device 10-2 transmits information indicating the difference between the generated model M1b and the model M1 to the server device 100 (step S13-2). The terminal device 10-3 transmits information indicating the difference between the generated model M1c and the model M1 to the server device 100 (step S13-3). The order of steps S13-1 to S13-3 may be any order, and step S13-3 may be performed before S13-1. Hereinafter, when steps S13-1 to S13-3 are described without distinction, they are collectively referred to as step S13.

このように、ステップS13では、各端末装置10は、自身が更新したローカルモデルとグローバルモデルとの差分の情報のみをサーバ装置100へ送信する。各端末装置10は、自身が更新したパラメータを差分としてサーバ装置100へ送信する。これにより、情報処理システム1は、端末装置10が保有するユーザのデータをサーバ装置100に送信する必要が無いため、ユーザのプライバシや個人情報を保護することができる。また、情報処理システム1は、端末装置10がサーバ装置100へ送信するデータ量の増大を抑制し、通信量の増大を抑制することができる。なお、各端末装置10は、自身が更新したローカルモデルのパラメータと、グローバルモデルのパラメータとの差分をサーバ装置100へ送信してもよい。 As described above, in step S13, each terminal device 10 transmits only the information of the difference between the local model and the global model updated by itself to the server device 100. Each terminal device 10 transmits the parameter updated by itself to the server device 100 as a difference. As a result, the information processing system 1 does not need to transmit the user data held by the terminal device 10 to the server device 100, so that the privacy and personal information of the user can be protected. Further, the information processing system 1 can suppress an increase in the amount of data transmitted by the terminal device 10 to the server device 100, and can suppress an increase in the amount of communication. Note that each terminal device 10 may transmit the difference between the parameters of the local model updated by itself and the parameters of the global model to the server device 100.

そして、サーバ装置100は、各端末装置10から受信した差分の情報を用いて、グローバルモデルであるモデルM1を更新する(ステップS14)。サーバ装置100は、各端末装置10から受信したパラメータを基に、グローバルモデルであるモデルM1のパラメータを更新する。これにより、サーバ装置100は、各端末装置10での学習の結果を反映し、グローバルモデルを更新することができる。以下では、説明のために、パラメータ更新後のモデルM1を、ダッシュを付した「モデルM1’」と記載する場合がある。なお、差分の情報を用いてグローバルモデルを更新する処理は、フェデレーテッド ラーニング(Federated Learning)におけるグローバルモデルを更新する処理と同様であるため詳細な説明は省略する。 Then, the server device 100 updates the model M1 which is a global model by using the difference information received from each terminal device 10 (step S14). The server device 100 updates the parameters of the model M1 which is a global model based on the parameters received from each terminal device 10. As a result, the server device 100 can update the global model by reflecting the learning result in each terminal device 10. In the following, for the sake of explanation, the model M1 after the parameter update may be described as "model M1'" with a dash. Since the process of updating the global model using the difference information is the same as the process of updating the global model in federated learning, detailed description thereof will be omitted.

そして、サーバ装置100は、端末装置10-1に更新後のグローバルモデルであるモデルM1’を提供する(ステップS15-1)。また、サーバ装置100は、端末装置10-2に更新後のグローバルモデルであるモデルM1’を提供する(ステップS15-2)。また、サーバ装置100は、端末装置10-3に更新後のグローバルモデルであるモデルM1’を提供する(ステップS15-3)。なお、ステップS15-1~S15-3の順序は任意の順序であってよく、ステップS15-3がS15-1よりも先に行われてもよい。以下、ステップS15-1~S15-3を区別せずに説明する場合、ステップS15と総称する。 Then, the server device 100 provides the terminal device 10-1 with a model M1'which is an updated global model (step S15-1). Further, the server device 100 provides the terminal device 10-2 with a model M1'which is an updated global model (step S15-2). Further, the server device 100 provides the terminal device 10-3 with a model M1'which is an updated global model (step S15-3). The order of steps S15-1 to S15-3 may be any order, and steps S15-3 may be performed before S15-1. Hereinafter, when steps S15-1 to S15-3 are described without distinction, they are collectively referred to as step S15.

その後、情報処理システム1は、ステップS12~S15を繰り返すことにより、モデルM1を更新することができる。これにより、情報処理システム1は、ベクトルを生成するモデルを、複数の端末装置が保有するデータを用いて効率的に学習することができる。また、 After that, the information processing system 1 can update the model M1 by repeating steps S12 to S15. As a result, the information processing system 1 can efficiently learn the model for generating the vector by using the data possessed by the plurality of terminal devices. again,

〔1-1.モデルの利用時(推論時)について〕
上述した処理ではモデルの学習時について説明したが、モデルの利用時(推論時)について説明する。図1では、端末装置10は、学習処理後においては、受信したモデルM1’(更新後のモデルM1)を用いて、推論処理を行う。例えば、推論時においては、端末装置10は、自身が保有するデータ(位置情報)をローカルモデルに入力し、ローカルモデルが出力したベクトルをサーバ装置100へ送信する。そして、サーバ装置100は、端末装置10から受信したベクトルを解析して、端末装置10を利用するユーザのコンテキストを判定する。
[1-1. When using the model (inference)]
In the above-mentioned processing, the time of learning the model has been described, but the time of using the model (at the time of inference) will be described. In FIG. 1, after the learning process, the terminal device 10 performs inference processing using the received model M1'(updated model M1). For example, at the time of inference, the terminal device 10 inputs the data (position information) possessed by the terminal device 10 to the local model, and transmits the vector output by the local model to the server device 100. Then, the server device 100 analyzes the vector received from the terminal device 10 to determine the context of the user who uses the terminal device 10.

例えば、サーバ装置100は、ベクトルを特定空間に配置する。サーバ装置100は、ベクトルを特定空間に配置することで、ユーザ自身の行動の類似性や変化、及び/又はユーザと他のユーザとの行動の類似性や相違性を明確に把握することができる。 For example, the server device 100 arranges the vector in a specific space. By arranging the vector in a specific space, the server device 100 can clearly grasp the similarity and change of the user's own behavior and / or the similarity and difference of the behavior between the user and another user. ..

まず、位置情報をベクトルに変換する利点について説明する。従来、端末装置10は、サーバ装置100に対して位置情報を送信していたが、このとき、端末装置10は、ユーザのプライバシへの配慮やデータ通信量の削減のため、位置情報の端数処理(丸め処理)を行い、位置情報を丸めて精度の粗い位置情報に変換してから送信していた。例えば、位置情報がGPS(Global Positioning System)座標の緯度経度情報である場合、緯度と経度の10進角度での小数点第2位以下の値の切り上げ又は切り捨て(四捨五入でも可)を行い、大まかな値の位置情報に変換していた。 First, the advantage of converting position information into a vector will be described. Conventionally, the terminal device 10 has transmitted the position information to the server device 100, but at this time, the terminal device 10 rounds the position information in order to consider the privacy of the user and reduce the amount of data communication. (Rounding process) was performed, and the position information was rounded and converted into coarse position information before transmission. For example, if the position information is the latitude / longitude information of GPS (Global Positioning System) coordinates, the values below the second decimal place at the decimal angle of latitude and longitude are rounded up or down (rounding is also possible). It was converted to the position information of the value.

この場合、サーバ装置100は、位置情報に基づいてユーザの行動を推定しようとしたとき、丸めた位置情報は大まかな値であるため、地域や大規模施設等のエリア単位の広い場所は特定できても、隣接する小規模な建物や部屋等の狭い場所(及び/又は屋内外の違い)を特定できないことがあった。そのため、ユーザの大まかな行動については推定可能であるが、ユーザの詳細な行動については推定できないこともあった。例えば、ユーザの丸めた位置情報が示す場所の範囲内に小規模な建物Aと建物B(例えばコンビニエンスストアとファストフード店等)が隣接して建っている場合、ユーザが建物Aと建物Bのどちらにいるのか、あるいは建物(又は敷地)の内側と外側のどちらにいるのかを、位置情報から特定できないこともあった。サーバ装置100(サーバ側)が本当に知りたいのは、ユーザの位置情報それ自体ではなく、位置情報が示すユーザのコンテキストである。 In this case, when the server device 100 tries to estimate the user's behavior based on the location information, the rounded location information is a rough value, so that a wide area unit such as an area or a large-scale facility can be specified. However, there were cases where it was not possible to identify narrow spaces (and / or differences between indoors and outdoors) such as adjacent small buildings and rooms. Therefore, although it is possible to estimate the rough behavior of the user, it may not be possible to estimate the detailed behavior of the user. For example, if a small building A and a building B (for example, a convenience store and a fast food store) are adjacent to each other within the range indicated by the user's rounded location information, the user can use the building A and the building B. Sometimes it was not possible to identify from the location information where you were, or whether you were inside or outside the building (or site). What the server device 100 (server side) really wants to know is not the user's location information itself, but the user's context indicated by the location information.

今回、端末装置10は、自身の位置情報をベクトルに変換(ベクトル化)するに際して、端数処理(丸め処理)を行う前の位置情報の生データをベクトルに変換する。したがって、端末装置10は、隣接する小規模な建物や部屋等の狭い場所(及び/又は屋内外の違い)を特定した上で、ベクトルを生成することができる。そのため、サーバ装置100は、ベクトルに基づいて、ユーザの詳細なコンテキストを知ることができる。すなわち、サーバ装置100は、端末装置10から、従来の丸めた位置情報を受信するよりも、ユーザの行動に関する具体的かつ詳細な情報を取得することができる。また、ベクトルのベクトル値及びそれが意味する内容を定義するのはサーバ装置100(サーバ側)であるため、第三者がベクトルのベクトル値だけを見ても、そのベクトル値が何を意味しているのか理解できないので、安全である。 This time, when the terminal device 10 converts (vectorizes) its own position information into a vector, it converts the raw data of the position information before the rounding process (rounding process) into a vector. Therefore, the terminal device 10 can generate a vector after identifying a narrow place (and / or a difference between indoors and outdoors) such as an adjacent small building or room. Therefore, the server device 100 can know the detailed context of the user based on the vector. That is, the server device 100 can acquire specific and detailed information regarding the user's behavior from the terminal device 10 rather than receiving the conventional rounded position information. Further, since it is the server device 100 (server side) that defines the vector value of the vector and the content that it means, even if a third party sees only the vector value of the vector, what the vector value means. It's safe because I don't understand if it's done.

〔1-2.コンテキスト〕
上述したように、コンテキストは、ベクトルの生成対象となる主体の状況を意味し、モデルM1の場合、端末装置10を利用するユーザの状況を意味する。ベクトルの生成対象がユーザである場合のコンテキスト(「ユーザコンテキスト」ともいう)は、ユーザに提供されるコンテンツの内容、ユーザが反応したコンテンツの内容、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、推定されるユーザの感情、心理状態等の様々なユーザの状況を示す情報であってもよい。
[1-2. context〕
As described above, the context means the situation of the subject for which the vector is generated, and in the case of the model M1, it means the situation of the user who uses the terminal device 10. When the vector is generated for the user, the context (also referred to as "user context") is the content of the content provided to the user, the content of the content that the user has reacted to, the attributes of the user, the current position of the user, the current time, and so on. It may be information indicating various user situations such as the physical environment in which the user is placed, the social environment in which the user is placed, the motor state of the user, and the estimated emotions and psychological states of the user.

また、ユーザコンテキストは、ユーザの周期的な行動を示す周期性情報であってもよい。ユーザの周期的な行動とは、日課(ルーティン:routine)等の曜日や時刻ごとに毎回決まって行う行動、職場や行きつけの店舗等の特定の場所に向かう行動、習慣化した特定の行動等を指す。例えば、コンテキストは、一週間単位での曜日や時刻ごとの平均的なユーザの行動を示す周期性情報であってもよい。 Further, the user context may be periodic information indicating the periodic behavior of the user. The user's periodic actions include actions that are routinely performed for each day of the week (routine), etc., actions that go to a specific place such as a workplace or a favorite store, and specific actions that have become habitual. Point to. For example, the context may be periodic information indicating the average user behavior for each day of the week or time of day on a weekly basis.

また、コンテキストは、ベクトルの生成対象が複数のユーザを要素とするグループ(以下コミュニティともいう)や、複数のコミュニティを要素とするコミュニティであるである場合、そのコミュニティの状況を意味する。 Further, the context means the situation of a group in which a plurality of users are elements (hereinafter, also referred to as a community) or a community in which a plurality of communities are elements.

ベクトルの生成対象がコミュニティである場合のコンテキスト(「コミュニティコンテキスト」ともいう)は、コミュニティ属するユーザ群の統計的情報であってもよい。コミュニティコンテキストは、コミュニティ属するユーザ群に提供されるコンテンツの内容、コミュニティ属するユーザ群が反応したコンテンツの内容、コミュニティ属するユーザ群の属性、コミュニティ属するユーザ群の現在位置、現在時刻、コミュニティ属するユーザ群が置かれた物理環境、コミュニティ属するユーザ群が置かれた社会環境、コミュニティ属するユーザ群の運動状態、および、推定されるコミュニティ属するユーザ群の感情、心理状態等の様々なコミュニティ属するユーザ群の状況を示す情報(統計的情報)であってもよい。また、コミュニティコンテキストは、コミュニティ属するユーザ群の周期的な行動を統計的に示す周期性情報(統計的情報)であってもよい。 When the target of vector generation is a community, the context (also referred to as "community context") may be statistical information of a group of users belonging to the community. The community context includes the content of the content provided to the user group belonging to the community, the content content that the user group belonging to the community reacts to, the attributes of the user group belonging to the community, the current position and current time of the user group belonging to the community, and the user group belonging to the community. The situation of the user group belonging to various communities such as the physical environment in which it is placed, the social environment in which the user group belonging to the community is placed, the motor state of the user group belonging to the community, and the emotional and psychological states of the estimated user group belonging to the community. It may be the information (statistical information) to show. Further, the community context may be periodic information (statistical information) that statistically indicates the periodic behavior of the user group to which the community belongs.

なお、上記のコンテキストの例示は、一例に過ぎず、ベクトルの生成対象となる主体の状況を示すものであれば、どのような情報であってもよい。 It should be noted that the above example of the context is merely an example, and any information may be used as long as it indicates the situation of the subject to which the vector is generated.

〔1-3.他のモデル例〕
図1では、位置情報を入力とするモデルM1を一例として説明したが、モデルがベクトルの生成対象となる主体のコンテキストを出力すれば、入力は任意のデータが採用可能である。この点について以下説明する。
[1-3. Other model examples]
In FIG. 1, a model M1 having position information as an input has been described as an example, but if the model outputs the context of the subject for which the vector is to be generated, any data can be adopted as the input. This point will be described below.

例えば、情報処理システム1は、位置情報を時系列に並べたシーケンスデータを入力として、ユーザのコンテキストを示すベクトルを出力するモデル(以下「シーケンスモデル」ともいう)を生成してもよい。この場合、情報処理システム1は、例えばRNNやLSTM等のネットワーク構成を有するシーケンスモデルを生成してもよい。シーケンスモデルは、同じデータであっても、入れる順番で出力が変わる。例えば、「位置1」→「位置2」→「位置3」の順で移動していたら「出勤した」(往路)と出力し、「位置3」→「位置2」→「位置1」の順で移動していたら「帰宅した」(復路)と出力する。情報処理システム1は、このようなシーケンスモデルを用いることで、位置情報の変遷が有する特徴に基づくベクトルを生成することができる。 For example, the information processing system 1 may generate a model (hereinafter, also referred to as “sequence model”) that outputs a vector indicating a user's context by inputting sequence data in which position information is arranged in time series. In this case, the information processing system 1 may generate a sequence model having a network configuration such as RNN or LSTM. Even if the data is the same in the sequence model, the output changes in the order in which it is input. For example, if you are moving in the order of "Position 1"-> "Position 2"-> "Position 3", "Attendance" (outward route) is output, and "Position 3"-> "Position 2"-> "Position 1". If you are moving in, output "I came home" (return trip). By using such a sequence model, the information processing system 1 can generate a vector based on the characteristics of the transition of position information.

このように、シーケンスデータからシーケンスモデルを用いてベクトルを生成した場合、シーケンスデータが示すユーザのコンテキストからユーザが所定の行動を行ったか否かを示すベクトルを生成することができる。例えば、情報処理システム1は、ユーザが自宅のあるエリアから職場のあるエリアまで移動していた旨を、位置情報のシーケンスデータが示す場合は、「出勤した」という行動と対応する要素が所定値を取るベクトルを出力するシーケンスモデルを生成することができる。 In this way, when a vector is generated from the sequence data using the sequence model, it is possible to generate a vector indicating whether or not the user has performed a predetermined action from the context of the user indicated by the sequence data. For example, in the information processing system 1, when the sequence data of the location information indicates that the user has moved from the area where the user is at home to the area where the user is at work, the element corresponding to the action of "going to work" is a predetermined value. You can generate a sequence model that outputs a vector that takes.

上述したシーケンスモデルを用いる場合、サーバ装置100は、位置情報に基づくベクトルのベクトル値により、ユーザが「自宅にいる」、「出勤した」、「買い物に行った」、「電車で移動している」等のユーザコンテキストを判定する。このとき、サーバ装置100は、多次元のベクトルのうちの複数の要素が示す値により、時間帯ごとに行動を判定してもよい。例えば、サーバ装置100は、位置情報に基づくベクトルに、「午前中に外出した」ことを示す値と、「出勤した」ことを示す値とが含まれているとき、「午前中に出勤した」と判定してもよい。 When the above-mentioned sequence model is used, the server device 100 uses the vector value of the vector based on the position information to allow the user to "be at home", "go to work", "go shopping", or "move by train". To determine the user context such as. At this time, the server device 100 may determine the action for each time zone based on the values indicated by the plurality of elements of the multidimensional vector. For example, the server device 100 "goes to work in the morning" when the vector based on the location information includes a value indicating "going out in the morning" and a value indicating "going to work". May be determined.

ここでは、ベクトルの各要素の値は、ユーザの行動と対応している。例えば、3次元ベクトルの場合、1要素目の値が「出勤したか否か」を示し、2要素目の値が「外食したか否か」を示し、3要素目の値が「電車に乗ったか否か」を示すように規定してもよい。この場合、ベクトルは、One-hotベクトル(One Hot Vector)であってもよい。One-hotベクトルとは、(1,0,0)のように、1つの成分が1で、残りの成分が全て0であるようなベクトルである。但し、実際には、ベクトルは、One-hotベクトルに限定されない。 Here, the value of each element of the vector corresponds to the user's behavior. For example, in the case of a three-dimensional vector, the value of the first element indicates "whether or not you went to work", the value of the second element indicates "whether or not you ate out", and the value of the third element indicates "on the train". It may be specified to indicate "whether or not". In this case, the vector may be a One-hot vector. A one-hot vector is a vector such as (1,0,0) in which one component is 1 and the remaining components are all 0. However, in reality, the vector is not limited to the One-hot vector.

また、ベクトルの各要素の値は、ユーザの複数の行動と対応していてもよい。例えば、1要素目の値が「職場に行き、かつ、外食したか否か」を示し、2要素目の値が「職場に行かず、かつ、外食したか否か」を示すように規定してもよい。 Further, the value of each element of the vector may correspond to a plurality of actions of the user. For example, it is stipulated that the value of the first element indicates "whether or not he went to work and ate out", and the value of the second element indicates "whether or not he did not go to work and ate out". You may.

ベクトルのある範囲に含まれる複数の要素の値が、ユーザの行動と対応していてもよい。例えば、3要素目までの値(上位三桁)が、「100」なら「出勤した」ことを示し、「101」なら「職場に電車で行った」ことを示すように規定してもよい。 The values of a plurality of elements contained in a certain range of the vector may correspond to the user's behavior. For example, if the value up to the third element (upper three digits) is "100", it may indicate "going to work", and if it is "101", it may indicate "going to work by train".

また、ベクトルの各要素の値は、評価値でもよい。例えば、3要素目までの値(上位三桁)が「000」なら「移動していない」ことを示し、「100」なら「100キロメートル移動した」ことを示すように規定してもよい。また、ベクトルのいずれかの要素の値は、移動方向を示す値であってもよい。例えば、4要素目から7要素目までの値が「0000」なら移動方向が「北」であることを示し、「0001」なら移動方向が「北北東」であることを示し、「0010」なら移動方向が「北東」であることを示し、「0011」なら移動方向が「東北東」であることを示し、「0100」なら移動方向が「東」であることを示し、「1000」なら移動方向が「南」であることを示し、「1100」なら移動方向が「西」であることを示すように規定してもよい。また、ベクトルの各要素の値は、健康的な生活のスコアであってもよい。 Further, the value of each element of the vector may be an evaluation value. For example, if the value up to the third element (upper three digits) is "000", it may be specified to indicate "not moved", and if it is "100", it may be specified to indicate "moved 100 kilometers". Further, the value of any element of the vector may be a value indicating the moving direction. For example, if the values from the 4th element to the 7th element are "0000", it means that the moving direction is "north", if it is "0001", it means that the moving direction is "north-northeast", and if it is "0010". "0011" indicates that the movement direction is "northeast", "0011" indicates that the movement direction is "east-northeast", "0100" indicates that the movement direction is "east", and "1000" indicates that the movement direction is "east". May indicate "south", and "1100" may indicate that the direction of movement is "west". Further, the value of each element of the vector may be a score of a healthy life.

なお、ベクトルの各要素の値は、モデルの学習時に、任意の設定が適用可能であるものとする。例えば、サーバ側が、ユーザ側からどのような行動に関する情報を取得して、ユーザに提供するサービスに使用したいかといった事情に応じて、適宜任意の設定が可能であるものとする。 It is assumed that any setting can be applied to the value of each element of the vector at the time of learning the model. For example, it is assumed that an arbitrary setting can be appropriately made depending on the circumstances such as what kind of behavior information the server side wants to acquire from the user side and use it for the service provided to the user.

また、端末装置10は、モデルへ入力するデータに対応する正解データを生成してもよい。例えば、端末装置10は、ユーザに自身のコンテキストを指定する画面を表示し、ユーザが指定したコンテキスト(「指定コンテキスト」ともいう)を基に、その指定コンテキストに対応するベクトルを生成し、正解データとして用いてもよい。例えば、端末装置10は、「自宅」、「勤務中」、「買い物中」、「電車で移動中」等のコンテキストを指定する画面を表示し、ユーザから指定コンテキストの指定を受け付けてもよい。 Further, the terminal device 10 may generate correct answer data corresponding to the data input to the model. For example, the terminal device 10 displays a screen for designating its own context to the user, generates a vector corresponding to the designated context based on the context designated by the user (also referred to as "designated context"), and performs correct answer data. May be used as. For example, the terminal device 10 may display a screen for designating a context such as "home", "working", "shopping", "moving by train", and accept the designation of the designated context from the user.

この場合、端末装置10は、コンテキストとベクトルとの対応付けを示すリストを用いて、リストと、ユーザが指定した指定コンテキストとを比較し、指定コンテキストに一致(または類似)するコンテキストに対応付けられたベクトルを正解データとしてもよい。端末装置10は、ユーザの指定コンテキストを示す情報を、その指定コンテキストを示すベクトルに変換する変換モデルを用いて、正解データを生成してもよい。そして、端末装置10は、生成した正解データと、対応するデータ(入力データ)とを用いて、ローカルモデルを学習する。なお、上記は一例であり、端末装置10は、データに対応する正解データを取得可能であれば、どのような情報を用いて、データに対応する正解データを取得してもよい。 In this case, the terminal device 10 compares the list with the designated context specified by the user by using the list showing the correspondence between the context and the vector, and is associated with the context that matches (or is similar to) the designated context. The vector may be used as the correct answer data. The terminal device 10 may generate correct answer data by using a conversion model that converts information indicating a user's designated context into a vector indicating the designated context. Then, the terminal device 10 learns the local model using the generated correct answer data and the corresponding data (input data). The above is an example, and the terminal device 10 may acquire the correct answer data corresponding to the data by using any information as long as the correct answer data corresponding to the data can be acquired.

〔2.情報処理システムの構成例〕
次に、図2を用いて、実施形態に係るサーバ装置100が含まれる情報処理システム1の構成について説明する。図2は、実施形態に係る情報処理システム1の構成例を示す図である。図2に示すように、実施形態に係る情報処理システム1は、複数の端末装置10とサーバ装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
[2. Information processing system configuration example]
Next, the configuration of the information processing system 1 including the server 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 plurality of terminal devices 10 and a server device 100. These various devices are connected so as to be communicable by wire or wirelessly via the network N. 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、10-2、10-3の3台のみを示したが、これはあくまでも例示であって限定されるものではなく、4台以上であってもよい。 Further, the number of each device included in the information processing system 1 shown in FIG. 2 is not limited to that shown in the figure. For example, in FIG. 2, for simplification of the illustration, only three terminal devices 10-1, 10-2, and 10-3 are shown, but these are merely examples and are not limited to 4 It may be more than one.

端末装置10は、ユーザ(利用者)によって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。例えば、端末装置10は、タッチパネルの機能を有する液晶ディスプレイ等の画面を有し、ユーザから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。 The terminal device 10 is an information processing device used by a user (user). For example, the terminal device 10 is a smart device such as a smartphone or tablet terminal, a feature phone, a PC (Personal Computer), a PDA (Personal Digital Assistant), a car navigation system, a wearable device such as a smart watch or a head-mounted display (Wearable Device). , Smart glasses, etc. For example, the terminal device 10 has a screen such as a liquid crystal display having a touch panel function, and receives various operations for display data such as contents such as tap operation, slide operation, scroll operation, etc. from a user with a finger, a stylus, or the like. The operation performed on the area of the screen on which the content is displayed may be an operation on the content. Further, the terminal device 10 may be not only a smart device but also an information processing device such as a desktop PC (Personal Computer) or a notebook PC.

端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。 The terminal device 10 includes a wireless communication network such as LTE (Long Term Evolution), 4G (4th Generation), 5G (5th Generation: 5th generation mobile communication system), Bluetooth (registered trademark), and wireless LAN (Local Area Network). It is possible to connect to the network N via short-range wireless communication such as, and communicate with the server device 100.

サーバ装置100は、例えばPCやサーバ装置、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。 The server device 100 is, for example, a PC, a server device, a mainframe, a workstation, or the like. The server device 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 with reference to FIG. FIG. 3 is a diagram showing a configuration example of the terminal device 10. 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. Be prepared.

(通信部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 / receives information to / from the server device 100 via the network N. For example, the communication unit 11 is realized 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). Further, the display unit 12 is a touch panel type display, but the display unit 12 is not limited thereto.

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

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

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

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

(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
(Beacon positioning)
Further, the positioning unit 14 may position the position by using the Bluetooth (registered trademark) function of the terminal device 10. For example, the positioning unit 14 positions the terminal device 10 by connecting to 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 geomagnetic pattern of the structure measured in advance and the geomagnetic sensor included in the terminal device 10.

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

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

(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ部20は、ウェアラブルデバイス等、端末装置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 a wired connection or a wireless connection. For example, the sensor unit 20 may be a detection device other than the terminal device 10, such as a wearable device. In the example shown in FIG. 3, the sensor unit 20 includes an acceleration sensor 21, a gyro sensor 22, a pressure sensor 23, a temperature sensor 24, a sound sensor 25, an optical sensor 26, a magnetic sensor 27, and an image sensor ( It is equipped with a camera) 28.

なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。 It should be noted that the above-mentioned sensors 21 to 28 are merely examples and are not limited thereto. 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 in place of the sensors 21 to 28. ..

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

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

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

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

上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。 The barometric pressure sensor 23, the temperature sensor 24, the sound sensor 25, the optical sensor 26, and the image sensor 28, respectively, detect the barometric pressure, the temperature, the sound, and the illuminance, and capture an image of the surroundings, so that the terminal device 10 It is possible to detect the surrounding environment and situation of. Further, it is possible to improve the accuracy of the position information of the terminal device 10 from the surrounding environment and the 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とを備える。
(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. Further, 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 reception unit 31, an acquisition unit 32, a processing unit 33, a learning unit 34, an estimation unit 35, and a transmission unit 36.

(受信部31)
受信部31は、通信部11を介して、サーバ装置100から提供される各種情報を受信する。例えば、受信部31は、通信部11を介して、サーバ装置100から提供されるグローバルモデルを受信する。受信部31は、受信したグローバルモデルをモデル情報記憶部41に格納(記憶)する。
(Receiver 31)
The receiving unit 31 receives various information provided from the server device 100 via the communication unit 11. For example, the receiving unit 31 receives the global model provided by the server device 100 via the communication unit 11. The receiving unit 31 stores (stores) the received global model in the model information storage unit 41.

(取得部32)
取得部32は、常時/周期的に/所定のタイミングで、端末装置10の位置情報を取得する。例えば、取得部32は、測位部14により測位された端末装置10の位置情報を取得する。また、取得部32は、各センサ21~28によって検知された各種情報に基づいて端末装置10の位置情報を推定して取得する。
(Acquisition unit 32)
The acquisition unit 32 acquires the position information of the terminal device 10 at a constant / periodic / predetermined timing. For example, the acquisition unit 32 acquires the position information of the terminal device 10 positioned by the positioning unit 14. Further, the acquisition unit 32 estimates and acquires the position information of the terminal device 10 based on various information detected by the sensors 21 to 28.

また、取得部32は、取得した位置情報を記憶部40に記憶(保存)する。例えば、取得部32は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。 Further, the acquisition unit 32 stores (saves) the acquired position information in the storage unit 40. For example, the acquisition unit 32 stores the acquired position information as a position history (for example, location history, action history, etc.).

(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部36によって送信される各種情報や、受信部31によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。処理部33は、データに対応する正解データを生成する。
(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 information transmitted by the transmitting unit 36 and various information received by the receiving unit 31 from the server device 100 to the display unit 12 for display. The processing unit 33 generates correct answer data corresponding to the data.

処理部33は、モデルに入力する入力データを生成する。処理部33は、取得部32が取得した位置情報等のデータをそのままモデルの入力データとする場合、入力データ生成する処理を行わずに、取得部32が取得したデータを入力データとする。 The processing unit 33 generates input data to be input to the model. When the data such as the position information acquired by the acquisition unit 32 is used as the input data of the model as it is, the processing unit 33 uses the data acquired by the acquisition unit 32 as the input data without performing the process of generating the input data.

処理部33は、欠損データに対応可能なモデルを学習する場合、データのうち、欠損部分のデータの値(単にデータともいう)として、特定のデータ(例えばn/a(該当なしを示す値)等)を用いて、欠損部分を補完した入力データを生成する。処理部33は、欠損データに対応可能なモデルを学習する場合、推定部35により推定された推定データを用いて入力データを生成してもよい。 When the processing unit 33 learns a model that can handle missing data, the processing unit 33 uses specific data (for example, n / a (value indicating not applicable)) as the value of the missing portion of the data (also simply referred to as data). Etc.) to generate input data that complements the missing part. When learning a model that can handle missing data, the processing unit 33 may generate input data using the estimated data estimated by the estimation unit 35.

処理部33は、1分ごとに位置情報を取得していた場合、1分ごとの位置情報を時系列に並べて、30分間(例えば8:01~8:30)ごとに区切ったシーケンスデータを、入力データとして生成する。例えば、処理部33は、30分間における1分ごとの位置情報を時系列に並べたシーケンスデータを、入力データとして生成する。例えば、処理部33は、30分間における最初の1分間の位置情報とその位置情報に対する1分ごとの差分を時系列に並べたシーケンスデータを、入力データとして生成する。なお、シーケンスデータは一例に過ぎず、例えば位置情報の生データをそのまま時系列に沿って順番に入力する入力データであってもよい。 When the processing unit 33 has acquired the position information every minute, the processing unit 33 arranges the position information every minute in chronological order and divides the sequence data into 30 minutes (for example, 8:01 to 8:30). Generate as input data. For example, the processing unit 33 generates sequence data in which position information for each minute in 30 minutes is arranged in chronological order as input data. For example, the processing unit 33 generates sequence data in which the position information for the first minute in 30 minutes and the difference for each minute with respect to the position information are arranged in chronological order as input data. Note that the sequence data is only an example, and may be, for example, input data in which raw data of position information is input as it is in chronological order.

また、処理部33は、学習部34により学習されたローカルモデルを用いて、ベクトルを生成してもよい。処理部33は、推論時においてローカルモデルを用いて、ベクトルを生成してもよい。 Further, the processing unit 33 may generate a vector by using the local model learned by the learning unit 34. The processing unit 33 may generate a vector by using a local model at the time of inference.

処理部33は、推論時においてデータに欠損がある場合、データのうち、欠損部分のデータとして、特定のデータを用いて、欠損部分を補完した入力データをローカルモデルに入力し、ベクトルを生成してもよい。また、処理部33は、推論時において欠損データがある場合、推定部35により推定された推定データを用いた入力データをローカルモデルに入力し、ベクトルを生成してもよい。 When there is a defect in the data at the time of inference, the processing unit 33 uses specific data as the data of the missing portion, inputs the input data complementing the missing portion to the local model, and generates a vector. You may. Further, if there is missing data at the time of inference, the processing unit 33 may input the input data using the estimated data estimated by the estimation unit 35 into the local model and generate a vector.

(学習部34)
学習部34は、ローカルモデルを生成する。学習部34は、保有するデータを用いて、サーバ装置100から受信したグローバルモデルのパラメータを更新したローカルモデルを生成する。学習部34は、推定した推定データを用いて、ローカルモデルを生成する。
(Learning Department 34)
The learning unit 34 generates a local model. The learning unit 34 uses the possessed data to generate a local model in which the parameters of the global model received from the server device 100 are updated. The learning unit 34 generates a local model using the estimated estimation data.

学習部34は、センサにより検知されたセンサ情報を含むデータを用いてローカルモデルを生成する。学習部34は、位置情報を含むデータを用いてローカルモデルを生成する。 The learning unit 34 generates a local model using data including sensor information detected by the sensor. The learning unit 34 generates a local model using data including position information.

例えば、学習部34は、取得部32が取得したデータとそのデータに対応する正解データであるベクトルとのペアを用いて学習処理を行い、グローバルモデルのパラメータを更新したローカルモデルを生成する。なお、正解データであるベクトルは、任意の手段により提供される。例えば、正解データは、端末装置10のユーザが指定したコンテキストを示す情報を基に生成されたベクトルであってもよい。 For example, the learning unit 34 performs learning processing using a pair of the data acquired by the acquisition unit 32 and the vector which is the correct answer data corresponding to the data, and generates a local model in which the parameters of the global model are updated. The vector, which is the correct answer data, is provided by any means. For example, the correct answer data may be a vector generated based on the information indicating the context specified by the user of the terminal device 10.

学習部34がモデルのパラメータを更新する学習処理は、モデルのネットワーク構成に応じて適宜の手法が採用される。例えば、モデルのネットワーク構成がDNNである場合、学習部34は、深層学習の手法によりモデルのパラメータを更新する。学習部34は、モデルに入力するデータと、そのデータが入力された場合の出力を示す正解データとのペア(組合せ)を用いて行う学習処理、すなわち教師有り学習の手法によりモデルのパラメータを更新する。なお、上記は一例であり、学習部34は、モデルのパラメータを更新可能であれば、どのような学習処理により、モデルのパラメータを更新してもよい。 In the learning process in which the learning unit 34 updates the parameters of the model, an appropriate method is adopted according to the network configuration of the model. For example, when the network configuration of the model is DNN, the learning unit 34 updates the parameters of the model by the method of deep learning. The learning unit 34 updates the parameters of the model by a learning process performed by using a pair (combination) of the data input to the model and the correct answer data indicating the output when the data is input, that is, the supervised learning method. do. The above is an example, and the learning unit 34 may update the parameters of the model by any learning process as long as the parameters of the model can be updated.

欠損データを許容するモデルを生成する場合、学習部34は、欠損データに対応可能なモデルを学習する。例えば、学習部34は、データのうち、欠損部分のデータとして、特定のデータを用いて、欠損部分を補完したデータを用いて、欠損データに対応可能なモデルを学習する。 When generating a model that allows missing data, the learning unit 34 learns a model that can handle the missing data. For example, the learning unit 34 learns a model that can deal with the missing data by using specific data as the data of the missing portion of the data and using the data that complements the missing portion.

学習部34は、欠損データを推定した推定データを含む入力データを入力とするモデルを学習してもよい。学習部34は、推定部35により推定された推定データを含む入力データを入力とするローカルモデルを学習する。 The learning unit 34 may learn a model that inputs input data including estimated data that estimates missing data. The learning unit 34 learns a local model that inputs input data including the estimated data estimated by the estimation unit 35.

(推定部35)
推定部35は、欠損データを推定する。推定部35は、欠損部分のデータ(の値)を推定した推定データ(推定値)を生成する。推定部35は、欠損部分のデータを推定する推定モデルを用いて、欠損部分のデータを推定してもよい。
(Estimation unit 35)
The estimation unit 35 estimates the missing data. The estimation unit 35 generates estimated data (estimated value) that estimates (value) the data of the missing portion. The estimation unit 35 may estimate the data of the defective portion by using an estimation model for estimating the data of the defective portion.

例えば、推定部35は、センサ情報の一部に欠損がある場合、その欠損に対応するデータを推定する。推定部35は、データが欠損したセンサの過去の情報を基に、欠損したセンサに対応するデータを推定する。推定部35は、位置を示すデータが欠損した場合、位置を検知するセンサ(測位部14等)が検知の過去の位置情報と、加速度センサの情報を基に、欠損した位置を示すデータを推定する。例えば、推定部35は、日時Xのユーザの位置を示すデータが欠損した場合、位置を検知するセンサが検知した日時Xより前の日時Yのユーザの位置情報と、日時Yから日時Xまでの加速度センサ21やジャイロセンサ22の情報とを基に、欠損した日時Xのユーザの位置を示すデータを推定する。 For example, when the estimation unit 35 has a defect in a part of the sensor information, the estimation unit 35 estimates the data corresponding to the defect. The estimation unit 35 estimates the data corresponding to the missing sensor based on the past information of the sensor whose data is missing. When the data indicating the position is lost, the estimation unit 35 estimates the data indicating the missing position based on the past position information detected by the position detecting sensor (positioning unit 14 or the like) and the information of the acceleration sensor. do. For example, when the data indicating the position of the user at the date and time X is missing, the estimation unit 35 sets the position information of the user at the date and time Y before the date and time X detected by the sensor that detects the position, and the date and time Y to the date and time X. Based on the information of the acceleration sensor 21 and the gyro sensor 22, the data indicating the position of the user at the missing date and time X is estimated.

例えば、推定部35は、データが欠損したセンサ以外のセンサの情報を基に、欠損したセンサに対応するデータを推定する。例えば、推定部35は、端末装置10が気温センサ24を有さず、温度を示すデータが欠損した場合、気圧センサ23や光センサ26の情報を基に、温度を示すデータを推定する。例えば、推定部35は、気圧の値及び照度の値の組合せを入力し、その組合せに対応する温度の値を出力する推定モデルを用いて、温度を示すデータを推定する。推定部35は、気圧及び照度の組合せと、その組合せに対応する温度とのペアを学習データとして学習された推定モデルを用いて、温度を示すデータを推定する。この場合、推定部35は、推定対象日時での気圧の値及び照度の値を推定モデルに入力することにより推定モデルが出力した値を、推定対象日時での温度であると推定する。 For example, the estimation unit 35 estimates the data corresponding to the missing sensor based on the information of the sensor other than the sensor for which the data is missing. For example, when the terminal device 10 does not have the temperature sensor 24 and the data indicating the temperature is missing, the estimation unit 35 estimates the data indicating the temperature based on the information of the pressure sensor 23 and the optical sensor 26. For example, the estimation unit 35 estimates data indicating temperature by using an estimation model that inputs a combination of a barometric pressure value and an illuminance value and outputs a temperature value corresponding to the combination. The estimation unit 35 estimates data indicating the temperature by using an estimation model trained using a pair of a combination of atmospheric pressure and illuminance and a temperature corresponding to the combination as training data. In this case, the estimation unit 35 estimates that the value output by the estimation model by inputting the atmospheric pressure value and the illuminance value at the estimation target date and time into the estimation model is the temperature at the estimation target date and time.

なお、上記は一例であり、推定部35は、欠損したデータを推定可能であれば、どのような手法により推定を行ってもよい。推定部35は、欠損部分のデータを、特定のデータであると推定してもよい。例えば、推定部35は、データの種別と、その種別のデータが欠損した場合に補完するデータとの対応付けを示す一覧を用いて、欠損部分のデータを推定し、補間してもよい。例えば、推定部35は、欠損したセンサの値として用いる複数段階のレベルの各々の値と、他のセンサの値とを対応付けた一覧を用いて、他のセンサの値から欠損部分のデータを推定し、補間してもよい。 The above is an example, and the estimation unit 35 may perform estimation by any method as long as the missing data can be estimated. The estimation unit 35 may estimate the data of the defective portion to be specific data. For example, the estimation unit 35 may estimate and interpolate the data of the missing portion by using a list showing the correspondence between the type of data and the data to be complemented when the data of the type is missing. For example, the estimation unit 35 uses a list in which the values of the plurality of levels used as the values of the missing sensor are associated with the values of the other sensors, and the data of the missing portion is obtained from the values of the other sensors. It may be estimated and interpolated.

(送信部36)
送信部36は、通信部11を介して、サーバ装置100へ情報を送信する。送信部36は、ローカルモデルに関する情報である更新用情報をサーバ装置100へ送信する。送信部36は、グローバルモデルとローカルモデルとの差分を更新用情報としてサーバ装置100へ送信する。
(Transmitting unit 36)
The transmission unit 36 transmits information to the server device 100 via the communication unit 11. The transmission unit 36 transmits update information, which is information about the local model, to the server device 100. The transmission unit 36 transmits the difference between the global model and the local model to the server device 100 as update information.

また、送信部36は、例えば入力部13を用いてユーザUにより入力された各種情報や、処理部33により処理された各種情報等を、サーバ装置100へ送信してもよい。また、送信部36は、処理部33により生成されたベクトルを、サーバ装置100へ送信する。 Further, the transmission unit 36 may transmit various information input by the user U using the input unit 13, various information processed by the processing unit 33, and the like to the server device 100. Further, the transmission unit 36 transmits the vector generated by the processing unit 33 to the server device 100.

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

(モデル情報記憶部41)
実施形態に係るモデル情報記憶部41は、モデルに関する情報を記憶する。例えば、モデル情報記憶部41は、サーバ装置100から受信した共通モデル(グローバルモデル)や、自装置でグローバルモデルのパラメータを更新した局所モデル(ローカルモデル)を記憶する。図4は、実施形態に係るモデル情報記憶部の一例を示す図である。図4に示すモデル情報記憶部41は、「モデルID」、「用途」、「種別」、「モデルデータ」といった項目が含まれる。
(Model information storage unit 41)
The model information storage unit 41 according to the embodiment stores information about the model. For example, the model information storage unit 41 stores a common model (global model) received from the server device 100 and a local model (local model) in which the parameters of the global model are updated by the own device. FIG. 4 is a diagram showing an example of a model information storage unit according to an embodiment. The model information storage unit 41 shown in FIG. 4 includes items such as "model ID", "use", "type", and "model data".

「モデルID」は、モデルを識別するための識別情報を示す。例えば、モデルID「M1」により識別されるモデルは、図1の例に示したモデルM1に対応する。「用途」は、対応するモデルの用途を示す。「種別」は、モデルの種別を示す。例えば、「種別」は、そのモデルがグローバルモデルであるか、ローカルモデルであるかを示す。また、「モデルデータ」は、モデルIDに対応付けられた対応するモデルのデータを示す。図4等では「モデルデータ」に「MDT1」といった概念的な情報が格納される例を示したが、実際には、モデルの構成(ネットワーク構成)の情報やパラメータに関する情報等、そのモデルを構成する種々の情報が含まれる。例えば、「モデルデータ」には、ネットワークの各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。 The "model ID" indicates identification information for identifying the model. For example, the model identified by the model ID "M1" corresponds to the model M1 shown in the example of FIG. "Use" indicates the use of the corresponding model. "Type" indicates the type of the model. For example, "type" indicates whether the model is a global model or a local model. Further, the "model data" indicates the data of the corresponding model associated with the model ID. In FIG. 4 and the like, an example in which conceptual information such as "MDT1" is stored in "model data" is shown, but in reality, the model is configured such as model configuration (network configuration) information and parameter information. Contains various information. For example, "model data" includes information including nodes at each layer of the network, functions adopted by each node, connection relationships of the nodes, and connection coefficients set for connections between the nodes.

図4では、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「ベクトル変換」であることを示す。モデルM1は、種別が「グローバル」であり、グローバルモデルであることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。 In FIG. 4, the model identified by the model ID “M1” (model M1) shows that its use is “vector transformation”. The model M1 indicates that the type is "global" and is a global model. Further, it is shown that the model data of the model M1 is the model data MDT1.

また、モデルID「M1a」により識別されるモデル(モデルM1a)は、用途が「ベクトル変換」であることを示す。また、モデルM1aは、種別が「ローカル」であり、ローカルモデルであることを示す。また、モデルM1aのモデルデータは、モデルデータMDT1aであることを示す。 Further, the model (model M1a) identified by the model ID "M1a" indicates that the use is "vector conversion". Further, the model M1a indicates that the type is "local" and is a local model. Further, it is shown that the model data of the model M1a is the model data MDT1a.

なお、モデル情報記憶部41は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。 The model information storage unit 41 is not limited to the above, and may store various model information depending on the purpose.

また、記憶部40は、例えば入力部13を用いてユーザUにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を記憶する。また、処理部33によって処理された各種情報や、受信部31によって受信された各種情報を記憶する。 Further, the storage unit 40 is positioned by, 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 the positioning unit 14. The position information and the like of the terminal device 10 are stored. Further, various information processed by the processing unit 33 and various information received by the receiving unit 31 are stored.

〔4.サーバ装置の構成例〕
次に、図5を用いて、実施形態に係るサーバ装置100の構成について説明する。図5は、実施形態に係るサーバ装置100の構成例を示す図である。図5に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを有する。
[4. Server device configuration example]
Next, the configuration of the server device 100 according to the embodiment will be described with reference to FIG. FIG. 5 is a diagram showing a configuration example of the server device 100 according to the embodiment. As shown in FIG. 5, the server device 100 includes a communication unit 110, a storage unit 120, and a control unit 130.

(通信部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. Further, 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)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。図5に示すように、記憶部120は、モデル情報記憶部121と、コミュニティ情報記憶部122とを有する。
(Memory unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. As shown in FIG. 5, the storage unit 120 has a model information storage unit 121 and a community information storage unit 122.

(モデル情報記憶部121)
実施形態に係るモデル情報記憶部121は、モデルに関する情報を記憶する。例えば、モデル情報記憶部121は、ユーザやコミュニティを対象として学習した共通モデル(グローバルモデル)を記憶する。図6は、実施形態に係るモデル情報記憶部の一例を示す図である。図6に示すモデル情報記憶部121は、「モデルID」、「用途」、「種別」、「対象」、「モデルデータ」といった項目が含まれる。
(Model information storage unit 121)
The model information storage unit 121 according to the embodiment stores information about the model. For example, the model information storage unit 121 stores a common model (global model) learned for users and communities. FIG. 6 is a diagram showing an example of a model information storage unit according to an embodiment. The model information storage unit 121 shown in FIG. 6 includes items such as "model ID", "use", "type", "target", and "model data".

「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「種別」は、モデルの種別を示す。「対象」は、モデルが用いられる対象を示す。また、「モデルデータ」は、モデルIDに対応付けられた対応するモデルのデータを示す。 The "model ID" indicates identification information for identifying the model. "Use" indicates the use of the corresponding model. "Type" indicates the type of the model. "Object" indicates an object for which the model is used. Further, the "model data" indicates the data of the corresponding model associated with the model ID.

図6では、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「ベクトル変換」であることを示す。モデルM1は、種別が「グローバル」であり、グローバルモデルであることを示す。モデルM1の対象は、ユーザU1、U2、U3等のユーザを対象とするモデルであることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。 In FIG. 6, the model (model M1) identified by the model ID “M1” indicates that its use is “vector transformation”. The model M1 indicates that the type is "global" and is a global model. It is shown that the target of the model M1 is a model for users such as users U1, U2, and U3. Further, it is shown that the model data of the model M1 is the model data MDT1.

また、モデルID「M11」により識別されるモデル(モデルM11)は、用途が「ベクトル変換」であることを示す。モデルM11は、種別が「グローバル」であり、グローバルモデルであることを示す。モデルM11の対象は、コミュニティGP1、GP2、GP3等のグループ(ユーザ群)を対象とするモデルであることを示す。また、モデルM11のモデルデータは、モデルデータMDT11であることを示す。 Further, the model (model M11) identified by the model ID "M11" indicates that the use is "vector conversion". The model M11 indicates that the type is "global" and is a global model. It is shown that the target of the model M11 is a model for a group (user group) such as community GP1, GP2, GP3 and the like. Further, it is shown that the model data of the model M11 is the model data MDT11.

なお、モデル情報記憶部121は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。 The model information storage unit 121 is not limited to the above, and may store various model information depending on the purpose.

(コミュニティ情報記憶部122)
実施形態に係るコミュニティ情報記憶部122は、コミュニティ(グループ)に関する各種情報を記憶する。例えば、コミュニティ情報記憶部122は、コミュニティの階層やコミュニティの構成要素を記憶する。図7は、実施形態に係るコミュニティ情報記憶部の一例を示す図である。図7に示すコミュニティ情報記憶部122には、「コミュニティID」、「階層」、「要素」といった項目が含まれる。
(Community Information Memory Unit 122)
The community information storage unit 122 according to the embodiment stores various information about the community (group). For example, the community information storage unit 122 stores the hierarchy of the community and the components of the community. FIG. 7 is a diagram showing an example of a community information storage unit according to an embodiment. The community information storage unit 122 shown in FIG. 7 includes items such as "community ID", "hierarchy", and "element".

「コミュニティID」は、コミュニティを識別するための識別情報を示す。「階層」は、コミュニティの階層を示す。例えば、「階層」は、「H1」、「H2」等、階層が上位になるほど「H*(*は任意の値)」の「*」が大きくなり、階層H2は階層H1の上位階層である。また、「要素」は、各コミュニティに属する要素、すなわちそのコミュニティの構成要素を示す。 The "community ID" indicates identification information for identifying a community. "Hierarchy" indicates the hierarchy of the community. For example, in the "hierarchy", "*" of "H * (* is an arbitrary value)" becomes larger as the hierarchy becomes higher, such as "H1" and "H2", and the hierarchy H2 is a higher hierarchy of the hierarchy H1. .. Further, the "element" indicates an element belonging to each community, that is, a component of the community.

図7では、コミュニティID「GP1」により識別されるコミュニティ(コミュニティGP1)は、階層H1であり、その構成要素がユーザU1、U2、U3等であることを示す。なお、ユーザはコミュニティを構成する基底となる要素であり、階層H0として管理されてもよい。 In FIG. 7, the community (community GP1) identified by the community ID “GP1” is the hierarchy H1, and its constituent elements are the users U1, U2, U3, and the like. The user is a base element constituting the community, and may be managed as a hierarchy H0.

また、コミュニティID「GP11」により識別されるコミュニティ(コミュニティGP11)は、階層H2であり、その構成要素がコミュニティGP1、GP2、GP3等であることを示す。すなわち、階層H2のコミュニティGP11は、階層H1のコミュニティGP1、GP2、GP3等を要素とすることを示す。 Further, the community identified by the community ID "GP11" (community GP11) is the hierarchy H2, and the constituent elements thereof are the community GP1, GP2, GP3 and the like. That is, it is shown that the community GP11 of the hierarchy H2 has the communities GP1, GP2, GP3 and the like of the hierarchy H1 as elements.

なお、コミュニティ情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 The community information storage unit 122 is not limited to the above, and may store various information depending on the purpose.

(制御部130)
図5に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、サーバ装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図5に示す例では、制御部130は、提供部131と、取得部132と、学習部133と、判定部134とを有する。
(Control unit 130)
Returning to FIG. 5, the explanation will be continued. The control unit 130 is a controller, and for example, the server device 100 is provided with 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. It is realized by executing various programs (corresponding to an example of an information processing program) stored in the internal storage device using a storage area such as a RAM as a work area. In the example shown in FIG. 5, the control unit 130 has a providing unit 131, an acquisition unit 132, a learning unit 133, and a determination unit 134.

(提供部131)
提供部131は、通信部110を介して、グローバルモデルを端末装置10へ送信する。提供部131は、端末装置10が取得したデータからユーザのコンテキストを示すベクトルを生成するグローバルモデルを提供する。提供部131は、更新後のグローバルモデルを複数の端末装置10に提供する。
(Providing section 131)
The providing unit 131 transmits the global model to the terminal device 10 via the communication unit 110. The providing unit 131 provides a global model that generates a vector indicating the user's context from the data acquired by the terminal device 10. The providing unit 131 provides the updated global model to a plurality of terminal devices 10.

(取得部132)
取得部132は、通信部110を介して、グローバルモデルを更新するための情報を端末装置10から受信する。取得部132は、ローカルモデルに関する情報である更新用情報を複数の端末装置10の各々から取得する。取得部132は、グローバルモデルとローカルモデルとの差分を複数の端末装置10の各々から取得する。
(Acquisition unit 132)
The acquisition unit 132 receives information for updating the global model from the terminal device 10 via the communication unit 110. The acquisition unit 132 acquires update information, which is information about the local model, from each of the plurality of terminal devices 10. The acquisition unit 132 acquires the difference between the global model and the local model from each of the plurality of terminal devices 10.

取得部132は、端末装置10が取得したデータから生成されたベクトルを端末装置10から受信する。取得部132は、記憶部120から各種の情報を取得する。 The acquisition unit 132 receives the vector generated from the data acquired by the terminal device 10 from the terminal device 10. The acquisition unit 132 acquires various types of information from the storage unit 120.

(学習部133)
学習部133は、グローバルモデルを生成する。学習部133は、データを入力としてベクトルを出力するベクトル変換モデルをグローバルモデルとして学習する。学習部133は、各パラメータを所定の初期値に設定したグローバルモデルを生成してもよい。学習部133は、過去に取得したデータを用いて、グローバルモデルを生成してもよい。例えば、学習部133は、過去に取得したデータとそのデータに対応する正解データであるベクトルとのペアを用いてグローバルモデルを学習してもよい。
(Learning Department 133)
The learning unit 133 generates a global model. The learning unit 133 learns a vector conversion model that outputs a vector by inputting data as a global model. The learning unit 133 may generate a global model in which each parameter is set to a predetermined initial value. The learning unit 133 may generate a global model using the data acquired in the past. For example, the learning unit 133 may learn the global model by using the pair of the data acquired in the past and the vector which is the correct answer data corresponding to the data.

学習部133は、複数の端末装置10から受信した更新用情報を用いて、グローバルモデルのパラメータを更新する。学習部133は、複数の端末装置10から受信した差分の情報を用いて、グローバルモデルのパラメータを更新する。 The learning unit 133 updates the parameters of the global model by using the update information received from the plurality of terminal devices 10. The learning unit 133 updates the parameters of the global model by using the difference information received from the plurality of terminal devices 10.

なお、上述のように、学習部133が生成するグローバルモデルのネットワーク構成は、任意のネットワーク構成が採用可能である。例えば、グローバルモデルのネットワーク構成は、CNN、RNN、LSTM等であってもよい。また、グローバルモデルのネットワーク構成は、CNNとRNNとの組み合わせのように、複数のネットワークを組合せた構成であってもよい。なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、学習部133は、同様の自然言語処理モデルを用いてもよい。 As described above, any network configuration can be adopted as the network configuration of the global model generated by the learning unit 133. For example, the network configuration of the global model may be CNN, RNN, LSTM, or the like. Further, the network configuration of the global model may be a configuration in which a plurality of networks are combined, such as a combination of CNN and RNN. The RNN and LSTM may be a neural network based on an attention mechanism. Further, the learning unit 133 may use a similar natural language processing model.

(判定部134)
判定部134は、取得部132により取得されたベクトルを解析し、端末装置10を利用するユーザのコンテキストを判定する。例えば、判定部134は、ベクトルを特定空間に配置し、ユーザ自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を判定する。
(Judgment unit 134)
The determination unit 134 analyzes the vector acquired by the acquisition unit 132 and determines the context of the user who uses the terminal device 10. For example, the determination unit 134 arranges the vector in a specific space and determines the similarity or change in the behavior of the user himself / herself and / or the similarity or difference in the behavior between the user U and another user.

〔5.データ欠損がある場合について〕
ここで、データ欠損がある場合について、図8及び図9を用いて説明する。図8は、モデルの一例を示す図である。図9は、データの一部が欠損した場合の一例を示す図である。
[5. When there is data loss]
Here, the case where there is a data loss will be described with reference to FIGS. 8 and 9. FIG. 8 is a diagram showing an example of a model. FIG. 9 is a diagram showing an example of a case where a part of the data is missing.

まず、図8を用いてモデルの全体について説明する。例えば、図8では、センサaは位置を検知するセンサ(測位部14等)であり、センサbは音センサ25であり、センサcは画像センサ28であってもよい。 First, the whole model will be described with reference to FIG. For example, in FIG. 8, the sensor a may be a sensor (positioning unit 14 or the like) for detecting a position, the sensor b may be a sound sensor 25, and the sensor c may be an image sensor 28.

図8に示すモデルMXは、センサaのセンサ情報SD1を中間表現IR1に変換するエンコーダEN1、センサbのセンサ情報SD2を中間表現IR2に変換するエンコーダEN2、センサcのセンサ情報SD3を中間表現IR3に変換するエンコーダEN3、及び中間表現IR1、IR2、IR3を入力として、ベクトルVD1を出力するネットワークNN1とを含む。ネットワークNN1は、RNN等の構成を有するintegratorである。 The model MX shown in FIG. 8 has an encoder EN1 that converts the sensor information SD1 of the sensor a into the intermediate representation IR1, an encoder EN2 that converts the sensor information SD2 of the sensor b into the intermediate representation IR2, and an intermediate representation IR3 of the sensor information SD3 of the sensor c. Includes an encoder EN3 that converts to, and a network NN1 that outputs the vector VD1 with the intermediate representations IR1, IR2, IR3 as inputs. The network NN1 is an integrator having a configuration such as an RNN.

エンコーダEN1~EN3は、各センサの生データを中間的な表現に加工するブロックである。また、ネットワークNN1は、中間的な表現を集約して、コンテキストを示すベクトルを生成するブロックである。すなわち、モデルMXは、センサa、センサb、センサcの3つのセンサにより検知されるセンサ情報SD1~SD3を入力データとして、その入力データに対応するコンテキストを示すベクトルVD1を出力するモデルである。なお、モデルMXは、エンコーダEN1~EN3、及びネットワークNN1の各ブロックを個別に学習されてもよく、エンコーダEN1~EN3には外部装置から取得した学習済みのエンコーダが用いられ、ネットワークNN1のみが情報処理システム1の学習処理の対象であってもよい。例えば、情報処理システム1は、ネットワークNN1のみを学習してもよい。 Encoders EN1 to EN3 are blocks that process the raw data of each sensor into an intermediate expression. Further, the network NN1 is a block that aggregates intermediate expressions to generate a vector indicating a context. That is, the model MX is a model in which the sensor information SD1 to SD3 detected by the three sensors a, b, and c are used as input data, and the vector VD1 indicating the context corresponding to the input data is output. In the model MX, each block of the encoders EN1 to EN3 and the network NN1 may be individually learned, and the trained encoders acquired from the external device are used for the encoders EN1 to EN3, and only the network NN1 has information. It may be the target of the learning process of the processing system 1. For example, the information processing system 1 may learn only the network NN1.

複数の端末装置10を用いて学習する場合、ある端末装置10がセンサa、センサb、センサcのうち少なくとも1つを有していない場合や、センサa、センサb、センサcのうち少なくとも1つが検知を行えなかった場合、モデルMXを適切に学習できない場合がある。 When learning using a plurality of terminal devices 10, when a certain terminal device 10 does not have at least one of the sensor a, the sensor b, and the sensor c, or at least one of the sensor a, the sensor b, and the sensor c. If one cannot detect it, the model MX may not be properly learned.

そこで、情報処理システム1は、入力データの欠損がある場合であっても、適切に学習ができるようにモデルMXを調整する。例えば、情報処理システム1は、図9に示すように、センサ情報が取得できなかったことを示す特定のデータ(例えばn/a(該当なしを示す値)等)を、ネットワークNN1が入力として受け付け可能にする。図9は、センサcのセンサ情報SD3が取得できなかった場合を示し、この場合、情報処理システム1は、該当なしを示す値をセンサcの中間表現IR31としてネットワークNN1に入力し、モデルMXがベクトルVD2を出力する。 Therefore, the information processing system 1 adjusts the model MX so that learning can be performed appropriately even if the input data is missing. For example, as shown in FIG. 9, the information processing system 1 accepts specific data (for example, n / a (value indicating not applicable) or the like) indicating that the sensor information could not be acquired by the network NN1 as an input. enable. FIG. 9 shows a case where the sensor information SD3 of the sensor c could not be acquired. In this case, the information processing system 1 inputs a value indicating not applicable to the network NN1 as the intermediate representation IR31 of the sensor c, and the model MX sets the model MX. Output the vector VD2.

このように、情報処理システム1は、センサ情報が取得できない場合であってもベクトルを生成することができるようにモデルMXを学習する。これにより、情報処理システム1は、複数の端末装置10に、必要なセンサにうち一部のセンサを有しない端末装置10が含まれる場合や、一部のセンサ情報が取得できなかった場合であっても、推論に利用可能なモデルを生成することができる。なお、情報処理システム1は、欠損データについては、推定処理を行ってデータを補完してもよい。 In this way, the information processing system 1 learns the model MX so that the vector can be generated even when the sensor information cannot be acquired. As a result, in the information processing system 1, when the plurality of terminal devices 10 include the terminal device 10 which does not have some of the required sensors, or when some of the sensor information cannot be acquired. However, it is possible to generate a model that can be used for inference. The information processing system 1 may perform estimation processing on the missing data to supplement the data.

上述のように、情報処理システム1は、データのうち一部のセンサ情報が欠損している場合、n/a(not available)を示す特定のデータをモデルに入力可能にする。これにより、情報処理システム1は、センサ情報が揃っていればそれをフル活用しベクトルを生成し、欠損している場合であってもベクトルを生成可能にする。情報処理システム1は、欠損がある場合でも無い場合でも、グローバルモデルのパラメータとローカルモデルのパラメータとの差分をグローバルモデルへ足し込む形で反映する。 As described above, the information processing system 1 makes it possible to input specific data indicating n / a (not available) into the model when some of the sensor information is missing. As a result, the information processing system 1 makes full use of the sensor information if it is available to generate a vector, and makes it possible to generate a vector even if the sensor information is missing. The information processing system 1 reflects the difference between the parameters of the global model and the parameters of the local model in the form of adding to the global model regardless of whether there is a defect or not.

学習時に特定のセンサの情報が欠落する理由としては、例えば、端末装置10そのものの機能の制限、ユーザのprivacy preferenceなどが挙げられる。このような理由の場合、学習時だけでなくモデルの利用時(推論時)にも同じ制限がある可能性が非常に高い。 Reasons for the lack of information on a specific sensor during learning include, for example, limitation of the function of the terminal device 10 itself, privacy preference of the user, and the like. For this reason, it is very likely that the same restrictions apply not only when learning but also when using the model (inference).

しかしながら、情報処理システム1は、センサ情報が全種類揃っている端末装置10、例えば環境音やジャイロなどの特定のセンサの入力が欠落している端末装置10等の様々な端末装置10を対象として、ローカルモデルの差分をグローバルモデルに反映させることができる。そして、情報処理システム1は、推論時において、データに欠損がある端末装置10についても対象として処理を行うことができる。このように、情報処理システム1は、センサ情報が取得できず、データに欠損がある端末装置10についても、学習時及び推論時にいずれも適切に処理可能にすることができる。 However, the information processing system 1 targets various terminal devices 10 such as a terminal device 10 in which all types of sensor information are available, for example, a terminal device 10 in which an input of a specific sensor such as an environmental sound or a gyro is missing. , The difference of the local model can be reflected in the global model. Then, the information processing system 1 can perform processing on the terminal device 10 having a data defect at the time of inference. As described above, the information processing system 1 can appropriately process the terminal device 10 whose sensor information cannot be acquired and whose data is missing, both at the time of learning and at the time of inference.

〔6.コミュニティモデルについて〕
なお、情報処理システム1が生成するモデルについては上記に限られない。例えば、情報処理システム1は、各コミュニティモデルを適用範囲とするモデルを生成してもよい。この点について、図10を用いて説明する。
[6. About the community model]
The model generated by the information processing system 1 is not limited to the above. For example, the information processing system 1 may generate a model whose application range is each community model. This point will be described with reference to FIG.

図10は、複数階層のコミュニティの一例を示す図である。図10の例では、コミュニティが階層化されている場合において、各コミュニティについて生成されるモデルの例を示す。 FIG. 10 is a diagram showing an example of a community having a plurality of layers. The example of FIG. 10 shows an example of a model generated for each community when the communities are layered.

図10でコミュニティ#1と記載するコミュニティGP1は、ユーザU1、U2、U3等の複数のユーザを構成要素とするコミュニティである。すなわち、コミュニティGP1は、複数のユーザ(階層H0)が構成要素として含まれる階層H1のコミュニティ(第1階層コミュニティ)である。例えば、コミュニティGP1は、ユーザU1~U3等が位置するエリアに対応する。 The community GP1 described as community # 1 in FIG. 10 is a community having a plurality of users such as users U1, U2, and U3 as components. That is, the community GP1 is a community of the hierarchy H1 (first hierarchy community) in which a plurality of users (hierarchy H0) are included as components. For example, the community GP1 corresponds to an area in which users U1 to U3 and the like are located.

図10でコミュニティ#2と記載するコミュニティGP2は、ユーザU11、U12、U13等の複数のユーザを構成要素とするコミュニティである。すなわち、コミュニティGP2は、複数のユーザ(階層H0)が構成要素として含まれる階層H1のコミュニティ(第1階層コミュニティ)である。 The community GP2 described as community # 2 in FIG. 10 is a community having a plurality of users such as users U11, U12, and U13 as components. That is, the community GP2 is a community of the hierarchy H1 (first hierarchy community) in which a plurality of users (hierarchy H0) are included as components.

図10でコミュニティ#11と記載するコミュニティGP11は、コミュニティGP1、GP2等の複数のコミュニティを構成要素とするコミュニティである。すなわち、コミュニティGP11は、複数の第1階層コミュニティ(階層H1)が構成要素として含まれる階層H2のコミュニティ(第2階層コミュニティ)である。例えば、コミュニティGP11は、コミュニティGP1のエリア及びコミュニティGP2のエリアを含む範囲のエリアに対応する。 The community GP11 described as the community # 11 in FIG. 10 is a community having a plurality of communities such as the communities GP1 and GP2 as components. That is, the community GP 11 is a community of the hierarchy H2 (second hierarchy community) in which a plurality of first hierarchy communities (layer H1) are included as components. For example, the community GP11 corresponds to an area including the area of the community GP1 and the area of the community GP2.

図10でコミュニティ#21と記載するコミュニティGP21は、コミュニティGP11、GP12等の複数のコミュニティを構成要素とするコミュニティである。すなわち、コミュニティGP21は、複数の第2階層コミュニティ(階層H2)が構成要素として含まれる階層H3のコミュニティ(第3階層コミュニティ)である。このように、各コミュニティは、ユーザを基底として階層的に構成される。 The community GP21 described as the community # 21 in FIG. 10 is a community having a plurality of communities such as the community GP11 and the GP12 as components. That is, the community GP21 is a community of the hierarchy H3 (third hierarchy community) in which a plurality of second hierarchy communities (layer H2) are included as components. In this way, each community is hierarchically organized based on the user.

図10では、図1で示したグローバルモデルであるモデルM1は、ユーザU1、U2、U3等を構成要素とするコミュニティGP1に適用される第1階層モデルであることを示す。すなわち、モデルM1は、コミュニティGP1に属するユーザU1、U2、U3等がベクトルの生成対象となるモデルであることを示す。モデルM1は、図1で説明したように学習され、コミュニティGP1に属するユーザU1、U2、U3等を対象とする推論に用いられる。 FIG. 10 shows that the model M1, which is the global model shown in FIG. 1, is a first-layer model applied to the community GP1 whose components are the users U1, U2, U3, and the like. That is, the model M1 indicates that the users U1, U2, U3, etc. belonging to the community GP1 are models for which the vector is generated. The model M1 is learned as described with reference to FIG. 1 and is used for inference targeting users U1, U2, U3, etc. belonging to the community GP1.

グローバルモデルであるモデルM2は、ユーザU11、U12、U13等を構成要素とするコミュニティGP2に適用される第1階層モデルであることを示す。すなわち、モデルM2は、コミュニティGP2に属するユーザU11、U12、U13等がベクトルの生成対象となるモデルであることを示す。モデルM2は、モデルM1と同様に学習され、コミュニティGP2に属するユーザU11、U12、U13等を対象とする推論に用いられる。 It is shown that the model M2, which is a global model, is a first-layer model applied to the community GP2 whose components are the users U11, U12, U13, and the like. That is, the model M2 indicates that the users U11, U12, U13, etc. belonging to the community GP2 are models for which the vector is generated. The model M2 is learned in the same manner as the model M1 and is used for inference targeting the users U11, U12, U13, etc. belonging to the community GP2.

このように、図10では、サーバ装置100は、各々が端末装置10を含む複数の第1グループ(第1階層コミュニティ)ごとに異なるグローバルモデルを第1階層モデルとして提供する。例えば、サーバ装置100は、第1階層コミュニティの端末装置10から受信した差分の情報を用いて、複数の第1階層モデルの各々のパラメータを更新する。サーバ装置100は、ユーザU1、U2、U3等が利用する端末装置10から受信した差分の情報を用いて、モデルM1のパラメータを更新する。また、サーバ装置100は、ユーザU11、U12、U13等が利用する端末装置10から受信した差分の情報を用いて、モデルM2のパラメータを更新する。なお、ローカルモデルの学習については、図1と同様であるため詳細な説明は省略する。 As described above, in FIG. 10, the server device 100 provides a different global model as the first layer model for each of the plurality of first groups (first layer communities) including the terminal device 10. For example, the server device 100 updates the parameters of each of the plurality of first-tier models using the difference information received from the terminal device 10 of the first-tier community. The server device 100 updates the parameters of the model M1 by using the difference information received from the terminal device 10 used by the users U1, U2, U3, and the like. Further, the server device 100 updates the parameters of the model M2 by using the difference information received from the terminal device 10 used by the users U11, U12, U13 and the like. Since the learning of the local model is the same as that in FIG. 1, detailed description thereof will be omitted.

図10では、グローバルモデルであるモデルM11は、コミュニティGP1、GP2等を構成要素とするコミュニティGP11に適用される第2階層モデルであることを示す。また、グローバルモデルであるモデルM21は、コミュニティGP11、GP12等を構成要素とするコミュニティGP21に適用される第3階層モデルであることを示す。以下、第2階層以上のモデルについて、第2階層モデルを一例として説明する。 FIG. 10 shows that the model M11, which is a global model, is a second-tier model applied to the community GP11 whose components are the community GP1, GP2, and the like. Further, it is shown that the model M21, which is a global model, is a third-layer model applied to the community GP21 whose components are the community GP11, GP12, and the like. Hereinafter, the model of the second layer or higher will be described by taking the second layer model as an example.

第2階層コミュニティの第2階層モデルは、ベクトルの生成対象がそのコミュニティの配下のコミュニティに属するユーザであってもよい。この場合、第2階層モデルは、ユーザが利用する端末装置10が取得したデータを入力として、そのユーザのコンテキストを示すベクトルを出力する。 In the second layer model of the second layer community, the vector generation target may be a user belonging to the community under the community. In this case, the second layer model takes the data acquired by the terminal device 10 used by the user as an input, and outputs a vector indicating the context of the user.

例えば、モデルM11は、コミュニティGP11の配下のコミュニティGP1に属するユーザU1、U2、U3、及びコミュニティGP2に属するユーザU11、U12、U13等がベクトルの生成対象となるモデルである。情報処理システム1は、モデルM1及びモデルM2が学習済みである場合、モデルM1とモデルM2とを統合してモデルM11を生成してもよい。この場合、サーバ装置100は、モデルM1のパラメータとモデルM2のパラメータとを統合(例えば平均)してモデルM11を生成してもよい。すなわち、サーバ装置100は、モデルM1とモデルM2等の複数の第1階層モデルを用いて、第1階層モデルの上位階層の第2階層モデルであるM11のパラメータを更新する。 For example, the model M11 is a model in which the users U1, U2, U3 belonging to the community GP1 under the community GP11, and the users U11, U12, U13 and the like belonging to the community GP2 are the target of vector generation. When the model M1 and the model M2 have been learned, the information processing system 1 may integrate the model M1 and the model M2 to generate the model M11. In this case, the server device 100 may generate the model M11 by integrating (for example, averaging) the parameters of the model M1 and the parameters of the model M2. That is, the server device 100 updates the parameters of M11, which is the second layer model of the upper layer of the first layer model, by using a plurality of first layer models such as model M1 and model M2.

また、モデルM1及びモデルM2が未学習の場合、モデルM11は、ユーザU1、U2、U3、U11、U12、U13等を対象として、図1と同様の処理が行われることにより学習される。モデルM11は、コミュニティGP11の配下のコミュニティGP1に属するユーザU1、U2、U3、及びコミュニティGP2に属するユーザU11、U12、U13等を対象とする推論に用いられる。また、第3階層以上のモデルについて、第2階層モデルの場合と同様に学習される。全階層のモデルは同じネットワーク構成を有してもよい。また、全階層のモデルは入力がユーザのデータであり、出力がユーザのコンテキストを示すベクトルであってもよい。 When the model M1 and the model M2 have not been learned, the model M11 is learned by performing the same processing as in FIG. 1 for the users U1, U2, U3, U11, U12, U13, and the like. The model M11 is used for inference for users U1, U2, U3 belonging to the community GP1 under the community GP11, and users U11, U12, U13 and the like belonging to the community GP2. Further, the models of the third and higher layers are learned in the same manner as in the case of the second layer model. All tier models may have the same network configuration. Further, in the model of all layers, the input may be the user's data and the output may be a vector indicating the user's context.

このように、情報処理システム1は、適用される範囲、すなわちコミュニティの規模が異なるコミュニティモデルを学習し、推論を行う規模に応じたコミュニティモデルを用いて適切なサービスを提供することができる。なお、図10の例では、ユーザ及びコミュニティが各階層のコミュニティに重複して含まれないように構成された場合を一例として、示すが、ユーザまたはコミュニティは各階層のコミュニティに重複して含まれてもよい。例えば、ユーザU1がコミュニティGP1に加えてコミュニティGP6に含まれてもよい。 In this way, the information processing system 1 can learn an applicable range, that is, a community model in which the scale of the community is different, and can provide an appropriate service by using the community model according to the scale in which the inference is performed. In the example of FIG. 10, the case where the user and the community are configured so as not to be included in the community of each layer is shown as an example, but the user or the community is included in the community of each layer in duplicate. You may. For example, the user U1 may be included in the community GP6 in addition to the community GP1.

また、第2階層コミュニティの第2階層モデルは、ベクトルの生成対象がそのコミュニティの配下のコミュニティ、すなわち第1階層コミュニティであってもよい。この場合、第2階層モデルは、第1階層コミュニティのデータを入力として、その第1階層コミュニティのコンテキストを示すベクトルを出力する。第1階層コミュニティのデータは、第1階層コミュニティのコミュニティコンテキストを示すベクトルを生成可能であれば、どのような情報であってもよく、第1階層コミュニティに属するユーザ群に関する統計的情報であってもよいし、第1階層コミュニティが占める範囲に関する情報であってもよい。第2階層モデルの入力とする第1階層コミュニティのデータは、第1階層コミュニティのモデル(第1階層モデル)が出力したベクトルを用いて生成されてもよい。また、第3階層以上のモデルについて、第2階層モデルの場合と同様に学習される。 Further, in the second layer model of the second layer community, the vector generation target may be the community under the community, that is, the first layer community. In this case, the second layer model takes the data of the first layer community as input and outputs a vector indicating the context of the first layer community. The data of the first-tier community may be any information as long as it can generate a vector indicating the community context of the first-tier community, and is statistical information about a group of users belonging to the first-tier community. It may be information about the range occupied by the first-tier community. The data of the first layer community used as the input of the second layer model may be generated by using the vector output by the model of the first layer community (first layer model). Further, the models of the third and higher layers are learned in the same manner as in the case of the second layer model.

なお、サーバ装置100は、学習時に用いる正解データを、適宜の方法により生成されてもよいし、外部装置から取得してもよい。サーバ装置100は、コミュニティコンテキストを示す情報を外部装置から取得してもよい。サーバ装置100は、コミュニティコンテキストとベクトルとの対応付けを示すリストを用いて、リストと、取得したコミュニティコンテキスト(取得コンテキスト)とを比較し、取得コンテキストに一致(または類似)するコミュニティコンテキストに対応付けられたベクトルを正解データとしてもよい。また、コミュニティは、エリアに関するコミュニティに限らず、任意の構成が採用可能である。例えば、コミュニティは、性別や年齢等のユーザ属性に関するコミュニティであってもよい。この場合、例えば、性別が同じユーザが同じコミュニティに属したり、年齢が近いユーザが同じコミュニティに属したりしてもよい。 The server device 100 may generate correct answer data to be used at the time of learning by an appropriate method, or may acquire it from an external device. The server device 100 may acquire information indicating the community context from an external device. The server device 100 compares the list with the acquired community context (acquisition context) using a list showing the association between the community context and the vector, and associates the list with the community context that matches (or is similar to) the acquisition context. The obtained vector may be used as the correct answer data. In addition, the community is not limited to the community related to the area, and any structure can be adopted. For example, the community may be a community related to user attributes such as gender and age. In this case, for example, users of the same gender may belong to the same community, or users of similar age may belong to the same community.

〔7.処理手順〕
次に、図11を用いて実施形態に係る情報処理システム1による処理手順について説明する。図11は、実施形態に係る処理手順を示すフローチャートである。
[7. Processing procedure]
Next, the processing procedure by the information processing system 1 according to the embodiment will be described with reference to FIG. FIG. 11 is a flowchart showing a processing procedure according to the embodiment.

図11に示すように、情報処理システム1では、サーバ装置100が端末装置10が取得したデータから利用者のコンテキストを示すベクトルを生成する共通モデルを提供する(ステップS101)。 As shown in FIG. 11, the information processing system 1 provides a common model in which the server device 100 generates a vector indicating the user's context from the data acquired by the terminal device 10 (step S101).

そして、情報処理システム1では、複数の端末装置10が各々が保有するデータを用いて、サーバから受信した共通モデルのパラメータを更新した局所モデルを生成する(ステップS102)。 Then, the information processing system 1 generates a local model in which the parameters of the common model received from the server are updated by using the data possessed by each of the plurality of terminal devices 10 (step S102).

そして、情報処理システム1では、複数の端末装置10が局所モデルに関する情報である更新用情報をサーバ装置100へ送信する(ステップS103)。 Then, in the information processing system 1, a plurality of terminal devices 10 transmit update information, which is information about the local model, to the server device 100 (step S103).

そして、情報処理システム1では、サーバ装置100が複数の端末装置10から受信した更新用情報を用いて、共通モデルのパラメータを更新し、更新後の共通モデルを複数の端末装置10に提供する(ステップS104)。 Then, in the information processing system 1, the server device 100 updates the parameters of the common model using the update information received from the plurality of terminal devices 10, and provides the updated common model to the plurality of terminal devices 10. Step S104).

〔8.その他の例〕
上述した端末装置10及びサーバ装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
[8. Other examples]
The terminal device 10 and the server device 100 described above may be implemented in various different forms other than the above-described embodiment. Therefore, a modified example of the embodiment will be described below.

上記実施形態において、サーバ装置100は、位置情報に基づくベクトルのベクトル値により、ユーザが「山に行った」、「海に行った」、「地方に行った」、「外国に行った」等の行動を判定してもよい。また、ユーザが「旅行に行った」、「出張した」等の行動を判定してもよい。また、ユーザが「日帰りした」、「宿泊した」等の行動を判定してもよい。 In the above embodiment, the server device 100 uses the vector value of the vector based on the position information, such as "going to the mountain", "going to the sea", "going to a rural area", "going to a foreign country", etc. You may judge the behavior of. Further, the user may determine an action such as "going on a trip" or "on a business trip". In addition, the user may determine an action such as "day trip" or "stayed".

また、上記実施形態において、端末装置10は、サーバ装置100(サーバ側)に、ユーザの行動に関する詳細な情報を知らせたくない場合、位置情報を蓄積する際、又はエンベディングに先立って、位置情報の端数処理(丸め処理)を行い、位置情報を丸めて精度の粗い位置情報に変換してもよい。例えば、端末装置10は、位置情報がGPS座標の緯度経度情報である場合、緯度と経度の10進角度での小数点以下(度分秒法での分以下)の値の切り上げ又は切り捨て(四捨五入でも可)を行い、大まかな値の位置情報に変換する。これにより、ユーザの行動に関する情報について、端末装置10からサーバ装置100(サーバ側)に伝える情報の内容を制限することができる。また、機械学習の学習データとしての位置情報の情報量を削減し、処理の負荷を軽減することができる。 Further, in the above embodiment, when the terminal device 10 does not want to notify the server device 100 (server side) of detailed information regarding the user's behavior, when accumulating the position information or prior to embedding, the position information is stored. Fraction processing (rounding processing) may be performed to round the position information and convert it into position information with coarse accuracy. For example, when the position information is the latitude / longitude information of the GPS coordinates, the terminal device 10 rounds up or rounds down the value after the decimal point (minutes or less in the degree, minute, and second system) at the decimal angle of the latitude and longitude (even rounding off). Yes) and convert to rough value position information. Thereby, it is possible to limit the content of the information transmitted from the terminal device 10 to the server device 100 (server side) regarding the information regarding the user's behavior. In addition, the amount of position information as learning data for machine learning can be reduced, and the processing load can be reduced.

また、上記実施形態において、ベクトルの各要素の値は、便宜上、「0」と「1」とで表現しているが、実際には、「2」以上の数値や、複数桁の数値や、整数部分と小数部分とを有する数値であってもよい。すなわち、実数であればよい。これにより、多次元のベクトルの各要素において複数の情報や詳細な情報を表現することができる。 Further, in the above embodiment, the value of each element of the vector is expressed by "0" and "1" for convenience, but in reality, a numerical value of "2" or more, a numerical value of a plurality of digits, or a numerical value of a plurality of digits is used. It may be a numerical value having an integer part and a decimal part. That is, it may be a real number. As a result, a plurality of information and detailed information can be expressed in each element of the multidimensional vector.

また、上記実施形態において、端末装置10は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積しているが、位置履歴の蓄積が制限又は禁止されている場合には、ベクトル化した状態で蓄積してもよい。例えば、端末装置10は、個々の位置情報が示す場所に基づいて、位置情報を、「自宅にいる」、「職場にいる」、「店舗にいる」、「屋外にいる」等を示すベクトル値に変換して蓄積してもよい。そして、時系列に沿って同じベクトル値が連続している場合、それらを一括してベクトルとしてもよい。 Further, in the above embodiment, the terminal device 10 stores the acquired position information as a position history (for example, location history, action history, etc.), but when the storage of the position history is restricted or prohibited. , May be accumulated in a vectorized state. For example, the terminal device 10 sets the location information as a vector value indicating "at home", "at work", "at the store", "outdoor", etc., based on the location indicated by the individual location information. It may be converted to and accumulated. Then, when the same vector values are continuous along the time series, they may be collectively made into a vector.

〔9.効果〕
上述してきたように、本願に係る情報処理システム1は、端末装置10が取得したデータからユーザのコンテキストを示すベクトルを生成する共通モデル(実施形態ではグローバルモデル)を提供するサーバ(実施形態ではサーバ装置100)と、各々保有するデータを用いて、サーバから受信した共通モデルのパラメータを更新した局所モデル(実施形態ではローカルモデル)を生成し、局所モデルに関する情報である更新用情報をサーバへ送信する複数の端末装置10とを有する。サーバは、複数の端末装置10から受信した更新用情報を用いて、共通モデルのパラメータを更新し、更新後の共通モデルを複数の端末装置10に提供する。
[9. effect〕
As described above, the information processing system 1 according to the present application is a server (server in the embodiment) that provides a common model (global model in the embodiment) that generates a vector indicating a user's context from the data acquired by the terminal device 10. Using the device 100) and the data possessed by each, a local model (local model in the embodiment) in which the parameters of the common model received from the server are updated is generated, and the update information which is the information about the local model is transmitted to the server. It has a plurality of terminal devices 10 and the like. The server updates the parameters of the common model using the update information received from the plurality of terminal devices 10, and provides the updated common model to the plurality of terminal devices 10.

これにより、情報処理システム1は、ベクトルを生成するモデルを、複数の端末装置10が保有するデータを用いて効率的に学習することができる。 As a result, the information processing system 1 can efficiently learn the model for generating the vector by using the data possessed by the plurality of terminal devices 10.

また、情報処理システム1において、複数の端末装置10は、共通モデルと局所モデルとの差分を更新用情報としてサーバへ送信する。このように、情報処理システム1は、複数の端末装置10が差分のみをサーバ装置100へ送信することにより、通信量を削減し、複数の端末装置10が保有するデータを外部へ送信することを抑制できる。 Further, in the information processing system 1, the plurality of terminal devices 10 transmit the difference between the common model and the local model to the server as update information. In this way, the information processing system 1 reduces the amount of communication by transmitting only the difference between the plurality of terminal devices 10 to the server device 100, and transmits the data possessed by the plurality of terminal devices 10 to the outside. Can be suppressed.

また、情報処理システム1において、複数の端末装置10は、保有するデータに欠損がある場合、欠損した欠損データに対する所定の処理を行い、局所モデルを生成する。このように、情報処理システム1は、データに欠損がある場合であっても、複数の端末装置10が局所モデルの学習ができるため、モデルを効率的に学習することができる。 Further, in the information processing system 1, when the possessed data has a defect, the plurality of terminal devices 10 perform predetermined processing on the missing data and generate a local model. As described above, in the information processing system 1, even when there is a defect in the data, since the plurality of terminal devices 10 can learn the local model, the model can be learned efficiently.

また、情報処理システム1において、複数の端末装置10は、欠損データを推定し、推定した推定データを用いて、局所モデルを生成する。このように、情報処理システム1は、データに欠損がある場合であっても、複数の端末装置10が欠損データを推定し局所モデルの学習ができるため、モデルを効率的に学習することができる。 Further, in the information processing system 1, the plurality of terminal devices 10 estimate the missing data and generate a local model using the estimated estimated data. As described above, in the information processing system 1, even if there is a defect in the data, the plurality of terminal devices 10 can estimate the missing data and learn the local model, so that the model can be efficiently learned. ..

また、情報処理システム1において、複数の端末装置10は、センサ(実施形態では測位部14またはセンサ部20)により検知されたセンサ情報を含むデータを用いて局所モデルを生成する。このように、情報処理システム1は、複数の端末装置10がセンサ情報を用いて局所モデルの学習ができるため、センサ情報に基づくコンテキストを示すベクトルを出力するモデルを効率的に学習することができる。 Further, in the information processing system 1, the plurality of terminal devices 10 generate a local model using data including sensor information detected by a sensor (positioning unit 14 or sensor unit 20 in the embodiment). As described above, in the information processing system 1, since the plurality of terminal devices 10 can learn the local model using the sensor information, it is possible to efficiently learn the model that outputs the vector indicating the context based on the sensor information. ..

また、情報処理システム1において、複数の端末装置10は、位置情報を含むデータを用いて局所モデルを生成する。このように、情報処理システム1は、複数の端末装置10が位置情報を用いて局所モデルの学習ができるため、位置情報に基づくコンテキストを示すベクトルを出力するモデルを効率的に学習することができる。 Further, in the information processing system 1, the plurality of terminal devices 10 generate a local model using data including position information. As described above, in the information processing system 1, since the plurality of terminal devices 10 can learn the local model using the position information, the model that outputs the vector indicating the context based on the position information can be efficiently learned. ..

また、情報処理システム1において、共通モデルは、データを入力としてベクトルを出力する。このように、情報処理システム1は、データを入力としてベクトルを出力するモデルを効率的に学習することができる。 Further, in the information processing system 1, the common model inputs data and outputs a vector. In this way, the information processing system 1 can efficiently learn a model that outputs a vector by inputting data.

また、情報処理システム1において、サーバは、各々が端末装置10を含む複数の第1グループ(実施形態ではコミュニティ)ごとに異なる共通モデルを第1階層共通モデルとして提供し、複数の第1グループの端末装置10から受信した更新用情報を用いて、複数の第1階層共通モデルの各々のパラメータを更新し、更新後の複数の第1階層共通モデルを用いて、複数の第1階層共通モデルの上位階層のモデルである第2階層共通モデルのパラメータを更新する。このように、情報処理システム1は、複数の階層に対応する複数のモデルを効率的に学習することができる。 Further, in the information processing system 1, the server provides a common model different for each of a plurality of first groups (communities in the embodiment) including the terminal device 10 as a first-layer common model, and the servers of the plurality of first groups. The parameters of each of the plurality of first-tier common models are updated using the update information received from the terminal device 10, and the plurality of updated first-tier common models are used to support the plurality of first-tier common models. Update the parameters of the second layer common model, which is the upper layer model. In this way, the information processing system 1 can efficiently learn a plurality of models corresponding to a plurality of layers.

また、情報処理システム1において、サーバは、各々が第1グループを含む複数の第2グループの各々に対応する複数の第2階層共通モデルのパラメータを更新し、更新後の複数の第2階層共通モデルを用いて、複数の第2階層共通モデルの上位階層のモデルである第3階層共通モデルのパラメータを更新する。このように、情報処理システム1は、複数の階層に対応する複数のモデルを効率的に学習することができる。 Further, in the information processing system 1, the server updates the parameters of the plurality of second layer common models corresponding to each of the plurality of second groups including the first group, and is common to the plurality of second layers after the update. Using the model, the parameters of the third layer common model, which is the upper layer model of the plurality of second layer common models, are updated. In this way, the information processing system 1 can efficiently learn a plurality of models corresponding to a plurality of layers.

〔10.ハードウェア構成〕
また、上述した実施形態に係る端末装置10やサーバ装置100は、例えば図12に示すような構成のコンピュータ1000によって実現される。以下、サーバ装置100を例に挙げて説明する。図12は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
[10. Hardware configuration]
Further, the terminal device 10 and the server device 100 according to the above-described embodiment are realized by, for example, a computer 1000 having a configuration as shown in FIG. Hereinafter, the server device 100 will be described as an example. FIG. 12 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to the output device 1010 and the input device 1020, and the arithmetic unit 1030, the primary storage device 1040, the secondary storage device 1050, the output I / F (Interface) 1060, the input I / F 1070, and the network I / F 1080 are bused. 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)等により実現される。 The arithmetic unit 1030 operates based on a program stored in the primary storage device 1040 or the secondary storage device 1050, a program read from the input device 1020, or the like, and executes various processes. The arithmetic unit 1030 is realized by, 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.

一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。 The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that temporarily stores data used by the arithmetic unit 1030 for various calculations. Further, the secondary storage device 1050 is a storage device in which data used by the calculation device 1030 for various calculations and various databases are registered, and is a ROM (Read Only Memory), an HDD (Hard Disk Drive), and an SSD (Solid). State Drive), flash memory, etc. The secondary storage device 1050 may be an internal storage or an external storage. Further, the secondary storage device 1050 may be a removable storage medium such as a USB memory or an SD (Secure Digital) memory card. Further, the secondary storage device 1050 may be a cloud storage (online storage), 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 an output device 1010 that outputs various information such as a display, a projector, and a printer. For example, USB (Universal Serial Bus) or DVI. (Digital Visual Interface), HDMI (Registered Trademark) (High Definition Multimedia Interface), etc. Further, the input I / F 1070 is an interface for receiving information from various input devices 1020 such as a mouse, a keyboard, a keypad, a button, a scanner, and the like, and is realized by, for example, USB.

また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。 Further, 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として一体化していてもよい。 Further, 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 input / output I / F.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。 The input device 1020 is, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), or a tape. 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が生成したデータを他の機器へ送信する。 The network I / F 1080 receives data from another device via the network N and sends it to the arithmetic unit 1030, and also transmits the data generated by the arithmetic unit 1030 to the other device via the network N.

演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output I / F 1060 and the input I / F 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the 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 server device 100, the arithmetic unit 1030 of the computer 1000 realizes the function of the control unit 130 by executing the program loaded on the primary storage device 1040. Further, the arithmetic unit 1030 of the computer 1000 may load a program acquired from another device via the network I / F 1080 onto the primary storage device 1040 and execute the loaded program. Further, the arithmetic unit 1030 of the computer 1000 may cooperate with other devices via the network I / F 1080 to call the functions and data of the program from other programs of the other devices and use them.

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

また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。 Further, among the processes described in the above-described embodiment, all or a part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed can be performed. All or part of it can be done automatically by a known method. 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 figure is not limited to the information shown in the figure.

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

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

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

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

1 情報処理システム
10 端末装置
14 測位部
30 制御部
31 受信部
32 取得部
33 処理部
34 学習部
35 推定部
36 送信部
40 記憶部
41 モデル情報記憶部
100 サーバ装置
110 通信部
120 記憶部
121 モデル情報記憶部
122 コミュニティ情報記憶部
130 制御部
131 提供部
132 取得部
133 学習部
134 判定部
1 Information processing system 10 Terminal equipment 14 Positioning unit 30 Control unit 31 Reception unit 32 Acquisition unit 33 Processing unit 34 Learning unit 35 Estimating unit 36 Transmission unit 40 Storage unit 41 Model information storage unit 100 Server device 110 Communication unit 120 Storage unit 121 Model Information storage unit 122 Community information storage unit 130 Control unit 131 Providing unit 132 Acquisition unit 133 Learning unit 134 Judgment unit

Claims (10)

端末装置が取得したデータからユーザのコンテキストを示すベクトルを生成する共通モデルを提供するサーバと、
各々保有するデータを用いて、前記サーバから受信した前記共通モデルのパラメータを更新した局所モデルを生成し、前記局所モデルに関する情報である更新用情報を前記サーバへ送信する複数の端末装置と、
を有し、
前記サーバは、
前記複数の端末装置から受信した前記更新用情報を用いて、前記共通モデルのパラメータを更新し、更新後の前記共通モデルを前記複数の端末装置に提供する
ことを特徴とする情報処理システム。
A server that provides a common model that generates a vector indicating the user's context from the data acquired by the terminal device, and
Using the data possessed by each, a plurality of terminal devices that generate a local model in which the parameters of the common model received from the server are updated and transmit update information that is information about the local model to the server, and a plurality of terminal devices.
Have,
The server
An information processing system characterized in that parameters of the common model are updated using the update information received from the plurality of terminal devices, and the updated common model is provided to the plurality of terminal devices.
前記複数の端末装置は、
前記共通モデルと前記局所モデルとの差分を前記更新用情報として前記サーバへ送信する
ことを特徴とする請求項1に記載の情報処理システム。
The plurality of terminal devices are
The information processing system according to claim 1, wherein the difference between the common model and the local model is transmitted to the server as the update information.
前記複数の端末装置は、
保有する前記データに欠損がある場合、欠損した欠損データに対する所定の処理を行い、前記局所モデルを生成する
ことを特徴とする請求項1または2に記載の情報処理システム。
The plurality of terminal devices are
The information processing system according to claim 1 or 2, wherein when the retained data has a defect, the missing data is subjected to predetermined processing to generate the local model.
前記複数の端末装置は、
前記欠損データを推定し、推定した推定データを用いて、前記局所モデルを生成する
ことを特徴とする請求項3に記載の情報処理システム。
The plurality of terminal devices are
The information processing system according to claim 3, wherein the missing data is estimated, and the estimated local model is generated using the estimated estimated data.
前記共通モデルは、
センサにより検知されたセンサ情報を含む前記データを用いて前記局所モデルを生成する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理システム。
The common model is
The information processing system according to any one of claims 1 to 4, wherein the local model is generated using the data including the sensor information detected by the sensor.
前記複数の端末装置は、
位置情報を含む前記データを用いて前記局所モデルを生成する
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理システム。
The plurality of terminal devices are
The information processing system according to any one of claims 1 to 5, wherein the local model is generated using the data including position information.
前記共通モデルは、
前記データを入力として前記ベクトルを出力する、
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理システム。
The common model is
Output the vector with the data as input.
The information processing system according to any one of claims 1 to 6, wherein the information processing system is characterized by the above.
前記サーバは、
各々が端末装置を含む複数の第1グループごとに異なる前記共通モデルを第1階層共通モデルとして提供し、前記複数の第1グループの端末装置から受信した前記更新用情報を用いて、複数の第1階層共通モデルの各々のパラメータを更新し、更新後の前記複数の第1階層共通モデルを用いて、前記複数の第1階層共通モデルの上位階層のモデルである第2階層共通モデルのパラメータを更新する
ことを特徴とする請求項1~7のうちいずれか1つに記載の情報処理システム。
The server
The common model, which is different for each of the plurality of first groups including the terminal device, is provided as the first layer common model, and the update information received from the plurality of first group terminal devices is used to provide the plurality of firsts. Each parameter of the one-layer common model is updated, and the updated parameters of the second-layer common model, which is a higher-level model of the plurality of first-layer common models, are used by using the updated first-layer common model. The information processing system according to any one of claims 1 to 7, wherein the information processing system is updated.
前記サーバは、
各々が第1グループを含む複数の第2グループの各々に対応する複数の第2階層共通モデルのパラメータを更新し、更新後の前記複数の第2階層共通モデルを用いて、前記複数の第2階層共通モデルの上位階層のモデルである第3階層共通モデルのパラメータを更新する
ことを特徴とする請求項8に記載の情報処理システム。
The server
The parameters of the plurality of second-tier common models, each corresponding to each of the plurality of second groups including the first group, are updated, and the plurality of second-tier common models after the update are used. The information processing system according to claim 8, wherein the parameters of the third layer common model, which is a model of the upper layer of the layer common model, are updated.
サーバが、端末装置が取得したデータからユーザのコンテキストを示すベクトルを生成する共通モデルを提供し、
複数の端末装置が、各々保有するデータを用いて、前記サーバから受信した前記共通モデルのパラメータを更新した局所モデルを生成し、前記局所モデルに関する情報である更新用情報を前記サーバへ送信し、
前記サーバが、前記複数の端末装置から受信した前記更新用情報を用いて、前記共通モデルのパラメータを更新し、更新後の前記共通モデルを前記複数の端末装置に提供する
ことを特徴とする情報処理方法。
The server provides a common model that generates a vector indicating the user's context from the data acquired by the terminal device.
Using the data possessed by each of the plurality of terminal devices, a local model in which the parameters of the common model received from the server are updated is generated, and the update information which is the information about the local model is transmitted to the server.
Information characterized in that the server updates the parameters of the common model using the update information received from the plurality of terminal devices, and provides the updated common model to the plurality of terminal devices. Processing method.
JP2020157805A 2020-09-18 2020-09-18 Information processing system and information processing method Active JP7160873B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020157805A JP7160873B2 (en) 2020-09-18 2020-09-18 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020157805A JP7160873B2 (en) 2020-09-18 2020-09-18 Information processing system and information processing method

Publications (2)

Publication Number Publication Date
JP2022051367A true JP2022051367A (en) 2022-03-31
JP7160873B2 JP7160873B2 (en) 2022-10-25

Family

ID=80854926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020157805A Active JP7160873B2 (en) 2020-09-18 2020-09-18 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP7160873B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023210252A1 (en) * 2022-04-28 2023-11-02 株式会社シーズ Information processing system, information processing method, and program
JP7481566B1 (en) 2023-12-11 2024-05-10 Kddi株式会社 Information processing device, information processing method, and information processing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269215A (en) * 2007-04-19 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> Unique pattern detection system, model learning device, unique pattern detector method, and computer program
US20190197396A1 (en) * 2017-12-27 2019-06-27 X Development Llc Sharing learned information among robots
JP2020071552A (en) * 2018-10-30 2020-05-07 セイコーエプソン株式会社 Determination device and determination method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269215A (en) * 2007-04-19 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> Unique pattern detection system, model learning device, unique pattern detector method, and computer program
US20190197396A1 (en) * 2017-12-27 2019-06-27 X Development Llc Sharing learned information among robots
JP2020071552A (en) * 2018-10-30 2020-05-07 セイコーエプソン株式会社 Determination device and determination method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TATSUAKI KOBAYASHI: "機械学習における欠測の取扱い", QIITA, JPN6022017570, 15 October 2019 (2019-10-15), ISSN: 0004767484 *
YANG KAI: "Federated Learning via Over-the-Air Computation", ARXIVE:1812.11750V3, JPN6022017573, 17 February 2019 (2019-02-17), ISSN: 0004767482 *
松木 萌: "センサを用いた人間行動認識におけるZero-shot学習法の検討", 情報処理学会第81回(2019年)全国大会, JPN6022017571, 28 February 2019 (2019-02-28), pages 3 - 225, ISSN: 0004767483 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023210252A1 (en) * 2022-04-28 2023-11-02 株式会社シーズ Information processing system, information processing method, and program
JP7491535B2 (en) 2022-04-28 2024-05-28 株式会社シーズ Information processing system, information processing method, and program
JP7481566B1 (en) 2023-12-11 2024-05-10 Kddi株式会社 Information processing device, information processing method, and information processing system
JP7562028B1 (en) 2023-12-11 2024-10-04 Kddi株式会社 Information processing device, information processing method, and information processing system

Also Published As

Publication number Publication date
JP7160873B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
JP7160873B2 (en) Information processing system and information processing method
JP7193507B2 (en) Information processing device, information processing method and information processing program
JP7317901B2 (en) Information processing device, information processing method and information processing program
JP2022041090A (en) Information processor, information processing method and information processing program
JP7239531B2 (en) Information processing device, information processing method and information processing program
JP7095040B2 (en) Information processing equipment, information processing methods and information processing programs
JP7145247B2 (en) Information processing device, information processing method and information processing program
JP7145917B2 (en) Information processing device, information processing method and information processing program
JP7280227B2 (en) Information processing device, information processing method and information processing program
JP7291177B2 (en) Terminal device, information processing method and information processing program
JP5308380B2 (en) Contact map display device and program
JP2023027548A (en) Device, method, and program for processing information
JP7337123B2 (en) Information processing device, information processing method and information processing program
JP7388744B2 (en) Information processing device, information processing method, and information processing program
JP7353328B2 (en) Terminal device, information processing method, and information processing program
JP7407152B2 (en) Information processing device, information processing method, and information processing program
JP7459021B2 (en) Information processing device, information processing method, and information processing program
JP7025480B2 (en) Information processing equipment, information processing methods and information processing programs
JP2023028857A (en) Information processing system
JP7077431B1 (en) Information processing equipment, information processing methods and information processing programs
JP2023133012A (en) Information processing device, information processing method, and information processing program
JP2022178692A (en) Information processing device, information processing method, and information processing program
JP2024025997A (en) Information processing device, information processing method, and information processing program
JP2023120696A (en) Information processing device, information processing method, and information processing program
JP2023089777A (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: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220629

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: 20220913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221013

R150 Certificate of patent or registration of utility model

Ref document number: 7160873

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