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

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

Info

Publication number
JP7145917B2
JP7145917B2 JP2020157957A JP2020157957A JP7145917B2 JP 7145917 B2 JP7145917 B2 JP 7145917B2 JP 2020157957 A JP2020157957 A JP 2020157957A JP 2020157957 A JP2020157957 A JP 2020157957A JP 7145917 B2 JP7145917 B2 JP 7145917B2
Authority
JP
Japan
Prior art keywords
vector
position information
information
noise
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020157957A
Other languages
Japanese (ja)
Other versions
JP2022051462A (en
Inventor
孝太 坪内
徹 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2020157957A priority Critical patent/JP7145917B2/en
Publication of JP2022051462A publication Critical patent/JP2022051462A/en
Application granted granted Critical
Publication of JP7145917B2 publication Critical patent/JP7145917B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

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

通信装置の位置情報を低消費電力で送信する技術が開示されている。 Techniques for transmitting location information of communication devices with low power consumption have been disclosed.

特開2020-042681号公報Japanese Patent Application Laid-Open No. 2020-042681

しかしながら、上記の従来技術では、手動運転車両が、低消費電力広域無線通信(LPWA:Low Power Wide Area)により、現在位置の情報を含む通信装置情報を、通信相手に対して、予め定められた送信間隔を開けて順次送信しているに過ぎない。通常、通信装置が位置情報を取得するだけではさほど電力を消費しないが、通信装置が外部に位置情報を送信する際(特に高速で移動中の場合)には多大な電力を消費する。例え送信一回当たりの消費電力量を小さくしても、繰り返し位置情報を送信する場合、件数に応じて消費電力量は大きくなってしまう。上記の従来技術で例示されているような手動運転車両であれば電源容量に不足はないかもしれないが、スマートフォン等の端末装置(ハンドヘルドデバイス)であれば電源容量は十分であるとは言い難い。 However, in the above-described conventional technology, the manually operated vehicle transmits communication device information including current position information to a communication partner by low power wide area wireless communication (LPWA: Low Power Wide Area). It is nothing more than sequential transmission with a transmission interval. Normally, a communication device does not consume much power just by acquiring position information, but a large amount of power is consumed when the communication device transmits position information to the outside (especially when moving at high speed). Even if the power consumption per transmission is reduced, the power consumption increases according to the number of times the location information is repeatedly transmitted. The power supply capacity may not be insufficient for manually operated vehicles such as those exemplified in the prior art above, but it is difficult to say that the power supply capacity is sufficient for terminal devices (handheld devices) such as smartphones. .

また、近年は、個人情報保護の観点から、スマートフォン等の端末装置の仕様により、個人の端末装置の位置情報を外部に送信することに対して制約が厳しくなる傾向にあり、事業者が個人の端末装置の位置情報を逐一取得することが著しく困難になっている。例えば、個人の端末装置の位置情報の利用の許可について、「常に許可」する設定が選択肢からなくなりつつある。また、OS(Operating System)側の制御によりアプリケーションがバックグラウンドで稼働している際には位置情報を送信できないという問題がある。 In addition, in recent years, from the perspective of personal information protection, there is a trend toward stricter restrictions on the transmission of location information from personal terminals due to the specifications of terminals such as smartphones. It has become extremely difficult to acquire the location information of the terminal device one by one. For example, regarding permission to use the location information of a personal terminal device, the setting of “always allow” is disappearing from options. In addition, there is a problem that location information cannot be transmitted when an application is running in the background under control of the OS (Operating System) side.

そこで、発明者等は位置情報をエンベディング(ベクトル化)して送信する方法を検討している。エッジ(端末装置)からサーバに個人情報を含む情報を送信する際に、エッジ側で情報にエンベディング処理を施したエンベディング情報を送信することで、個人情報特有の問題は解決される。しかし、エンベディング情報の精度が高くなるほど、元の情報に近づいていくため、多次元のベクトルでユーザの環境等を詳細に表現し過ぎると、元の情報が推測・類推されやすくなるという問題が想定される。ここで、エンベディング情報の精度を低くすると、元の情報が復元することができなくなり、ユーザのプライバシーが保護される一方で、エンベディング情報を極端に粗い精度で取得してしまうと、十分な分析ができないという課題がある。そのため、エンベディング情報の精度をある程度維持しつつ、エンベディング情報から元の情報が復元されるのを防ぐ必要がある。 Therefore, the inventors are studying a method of embedding (vectorizing) and transmitting position information. When information including personal information is transmitted from an edge (terminal device) to a server, a problem peculiar to personal information is solved by transmitting embedding information obtained by embedding the information on the edge side. However, the higher the accuracy of the embedding information, the closer it gets to the original information. Therefore, if the user's environment, etc. is expressed in too much detail with a multidimensional vector, it is assumed that the original information will be more likely to be guessed or analogized. be done. Here, if the accuracy of the embedding information is lowered, the original information cannot be restored, and the user's privacy is protected. I have a problem that I can't. Therefore, it is necessary to prevent the original information from being restored from the embedding information while maintaining the accuracy of the embedding information to some extent.

本願は、上記に鑑みてなされたものであって、エンベディング情報から元の情報が復元されるのを防ぐことを目的とする。 The present application has been made in view of the above, and aims to prevent the original information from being restored from the embedding information.

本願に係る情報処理装置は、位置情報を取得する取得部と、前記位置情報をベクトルに変換する変換部と、前記ベクトルにノイズを付与する付与部と、前記ノイズが付与された前記ベクトルを送信する送信部と、を備え、前記変換部は、機械学習により構築されたベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換し、前記送信部は、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、前記変換部は、前記所定の判定装置により、前記送信部が送信した前記ベクトルから前記位置情報が復元できると判定された場合は、前記ベクトル変換モデルよりも学習データを削減して再構築された新たなベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換することを特徴とする。 An information processing apparatus according to the present application includes an acquisition unit that acquires position information, a conversion unit that converts the position information into a vector, an addition unit that adds noise to the vector, and a transmission of the noise-added vector. and a transmission unit that converts the position information into the vector using a vector conversion model constructed by machine learning, and the transmission unit converts the vector to which the noise is added into a predetermined If the predetermined determination device determines that the position information can be restored from the vector transmitted by the transmission unit, the conversion unit transmits learning data to the vector conversion model. The method is characterized in that the position information is converted into the vector using a new vector conversion model that has been reduced and reconstructed .

実施形態の一態様によれば、エンベディング情報から元の情報が復元されるのを防ぐことができる。 According to one aspect of the embodiments, the original information can be prevented from being reconstructed from the embedding information.

図1は、実施形態に係る情報処理方法の概要を示す説明図である。FIG. 1 is an explanatory diagram showing an outline of an information processing method according to an embodiment. 図2は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of an information processing system according to the embodiment; 図3は、実施形態に係る端末装置の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a terminal device according to the embodiment; 図4は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of an information processing apparatus according to the embodiment; 図5は、変換情報データベースの一例を示す図である。FIG. 5 is a diagram showing an example of a conversion information database. 図6は、ベクトル情報データベースの一例を示す図である。FIG. 6 is a diagram showing an example of a vector information database. 図7は、実施形態に係る処理手順を示すシーケンス図である。FIG. 7 is a sequence diagram illustrating a processing procedure according to the embodiment; 図8は、ハードウェア構成の一例を示す図である。FIG. 8 is a diagram illustrating an example of a hardware configuration;

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

〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、端末装置がエンベディング情報から元の情報が復元されるのを防ぐ場合を例に挙げて説明する。
[1. Outline of information processing method]
First, an outline of an information processing method performed by an information processing apparatus according to an embodiment will be described with reference to FIG. FIG. 1 is an explanatory diagram showing an outline of an information processing method according to an embodiment. In FIG. 1, the case where the terminal device prevents the original information from being restored from the embedding information will be described as an example.

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

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

ここでは、端末装置10は、自身の位置情報を取得し、取得した位置情報をベクトルに変換(ベクトル化)する。すなわち、端末装置10は、いわゆるエンベディング(embedding:埋め込み)を行い、位置情報に基づくエンベディングベクトル(埋め込みベクトル)を生成する。そして、端末装置10は、位置情報に基づくエンベディングベクトルを情報提供装置100に送信する。 Here, the terminal device 10 acquires its own position information and converts (vectorizes) the acquired position information into a vector. That is, the terminal device 10 performs so-called embedding to generate an embedding vector based on position information. The terminal device 10 then transmits the embedding vector based on the positional information to the information providing device 100 .

情報提供装置100は、端末装置10から位置情報に基づくエンベディングベクトルを受信し、位置情報に基づくエンベディングベクトルに基づいて、ユーザUの行動(所在、振る舞い、移動等)を解析する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。 The information providing device 100 is an information processing device that receives an embedding vector based on positional information from the terminal device 10 and analyzes the behavior (location, behavior, movement, etc.) of the user U based on the embedding vector based on the positional information. , a server device, a cloud system, or the like.

〔1-1.位置情報をベクトルに変換する利点〕
まず、位置情報をベクトルに変換する利点について説明する。
[1-1. Advantages of converting position information into vectors]
First, the advantage of converting position information into a vector will be described.

従来、端末装置10は、情報提供装置100に対して位置情報を送信していたが、このとき、端末装置10は、ユーザUのプライバシー配慮やデータ通信量の削減のため、位置情報の端数処理(丸め処理)を行い、位置情報を丸めて精度の粗い位置情報に変換してから送信していた。例えば、位置情報がGPS(Global Positioning System)座標の緯度経度情報である場合、緯度と経度の10進角度での小数点第2位以下の値の切り上げ又は切り捨て(四捨五入でも可)を行い、大まかな値の位置情報に変換していた。 Conventionally, the terminal device 10 transmits location information to the information providing device 100. At this time, the terminal device 10 performs rounding of the location information in consideration of the privacy of the user U and in order to reduce the amount of data communication. (Rounding processing) is performed, and the position information is rounded and converted to coarse position information before transmission. For example, if the location information is latitude and longitude information of GPS (Global Positioning System) coordinates, round up or round down (rounding off is also possible) the value below the second decimal place in the decimal angle of latitude and longitude, and roughly Values were converted to location information.

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

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

〔1-2.位置情報をエンベディングして送信する情報処理方法の概要〕
次に、図1を参照して、位置情報をエンベディングして送信する情報処理方法の概要について説明する。
[1-2. Outline of information processing method for embedding and transmitting location information]
Next, an outline of an information processing method for embedding and transmitting position information will be described with reference to FIG.

図1に示すように、ユーザUの端末装置10は、自身の位置情報を取得する(ステップS1)。そして、端末装置10は、取得した位置情報を蓄積する(ステップS2)。そして、端末装置10は、位置情報に対してエンベディングを行い、ベクトル変換モデルを用いて、複数の位置情報を1つのベクトルに変換(ベクトル化)し、位置情報に基づくエンベディングベクトル(埋め込みベクトル)を生成する(ステップS3)。 As shown in FIG. 1, the terminal device 10 of the user U acquires its own location information (step S1). Then, the terminal device 10 accumulates the acquired position information (step S2). Then, the terminal device 10 embeds the position information, converts (vectorizes) the plurality of position information into one vector using a vector conversion model, and generates an embedding vector (embedding vector) based on the position information. Generate (step S3).

そして、端末装置10は、ノイズ付与モデルを用いて、位置情報に基づくエンベディングベクトルにノイズを付与する(ステップS4)。そして、端末装置10は、ノイズが付与されたエンベディングベクトルを情報提供装置100に送信する(ステップS5)。 Then, the terminal device 10 adds noise to the embedding vector based on the positional information using the noise addition model (step S4). Then, the terminal device 10 transmits the noise-added embedding vector to the information providing device 100 (step S5).

そして、情報提供装置100は、端末装置10から、ノイズが付与されたエンベディングベクトルを受信する(ステップS6)。そして、情報提供装置100は、端末装置10から受信したエンベディングベクトルに基づいて、ユーザUの行動(所在、振る舞い、移動等)を解析する(ステップS7)。 Then, the information providing device 100 receives the embedding vector to which noise is added from the terminal device 10 (step S6). Then, the information providing device 100 analyzes the behavior (location, behavior, movement, etc.) of the user U based on the embedding vector received from the terminal device 10 (step S7).

そして、情報提供装置100は、解析結果に基づいて、エンベディングベクトルの不可逆性を判定する(ステップS8)。そして、情報提供装置100は、判定の結果、エンベディングベクトルが可逆であり、ベクトル変換モデルやノイズ付与モデルの再構築が必要であると判断した場合、端末装置10に対して、ベクトル変換モデルやノイズ付与モデルの再構築を要求する(ステップS9)。 Then, the information providing apparatus 100 determines irreversibility of the embedding vector based on the analysis result (step S8). Then, when the information providing apparatus 100 determines that the embedding vector is reversible as a result of the determination and that the vector transformation model and the noise addition model need to be reconstructed, the information providing apparatus 100 provides the terminal device 10 with the vector transformation model and the noise addition model. Reconstruction of the grant model is requested (step S9).

そして、端末装置10は、情報提供装置100から受信したベクトル変換モデルやノイズ付与モデルの再構築の要求に応じて、ベクトル変換モデルやノイズ付与モデルを再構築する(ステップS10)。 Then, the terminal device 10 reconstructs the vector transformation model and the noise addition model in response to the request for reconstruction of the vector transformation model and the noise addition model received from the information providing device 100 (step S10).

〔1-3.実施例1〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例1について説明する。
[1-3. Example 1]
Next, a first embodiment of an information processing method for embedding and transmitting the position information will be described.

例えば、ステップS1において、各地域に所在する複数のユーザUの各々が所持する端末装置10は、GNSS(Global Navigation Satellite System:全球測位衛星システム)や屋内測位技術等の位置測位技術を用いて、それぞれ自身の位置情報を取得する。このとき、端末装置10は、自身の位置情報と共に、その位置情報を取得した時刻を示す時刻情報を取得する。 For example, in step S1, the terminal device 10 possessed by each of a plurality of users U located in each region uses positioning technology such as GNSS (Global Navigation Satellite System) and indoor positioning technology, Each acquires its own location information. At this time, the terminal device 10 acquires the time information indicating the time when the position information was acquired together with its own position information.

続いて、ステップS2において、端末装置10は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。 Subsequently, in step S2, the terminal device 10 accumulates the acquired position information as a position history (for example, location history, action history, etc.).

続いて、ステップS3において、端末装置10は、複数の位置情報を一括して単数の多次元ベクトルに変換する。ここでは、端末装置10は、位置情報を時系列に並べたシーケンスデータに基づいて、エンベディングベクトルを生成する。 Subsequently, in step S3, the terminal device 10 collectively converts a plurality of pieces of position information into a single multidimensional vector. Here, the terminal device 10 generates an embedding vector based on sequence data in which position information is arranged in time series.

例えば、端末装置10は、1分ごとに位置情報を取得していた場合、1分ごとの位置情報を時系列に並べて、30分間(例えば8:01~8:30)ごとに区切ったシーケンスデータを生成する。このとき、端末装置10は、30分間における1分ごとの位置情報を時系列に並べたシーケンスデータを生成する。あるいは、端末装置10は、30分間における最初の1分間の位置情報とその位置情報に対する1分ごとの差分を時系列に並べたシーケンスデータを生成する。 For example, when the terminal device 10 acquires position information every minute, the position information for every minute is arranged in chronological order, and the sequence data is divided every 30 minutes (for example, 8:01 to 8:30). to generate At this time, the terminal device 10 generates sequence data in which position information for each minute in 30 minutes is arranged in time series. Alternatively, the terminal device 10 generates sequence data in which positional information for the first minute of 30 minutes and differences for each minute with respect to the positional information are arranged in chronological order.

例えば、端末装置10は、シーケンスデータをデータセットとし、ニューラルネットワークによる機械学習の手法等を用いて、シーケンスデータを多次元からなる実数値ベクトルへと変換する。すなわち、端末装置10は、例えばRNN(Recurrent Neural Network)やLSTM(Long short-term memory)を用いた機械学習を経て生成されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。端末装置10は、情報提供装置100から、ベクトル変換モデルの提供を受けてもよい。 For example, the terminal device 10 uses sequence data as a data set and converts the sequence data into a multi-dimensional real-valued vector using a neural network-based machine learning method or the like. That is, the terminal device 10 inputs sequence data to a vector conversion model generated through machine learning using, for example, RNN (Recurrent Neural Network) or LSTM (Long short-term memory), and acquires an embedding vector as an output. . The terminal device 10 may receive the vector conversion model from the information providing device 100 .

なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。アテンションは、文章のような前後の並びが重要なデータを扱うことができる。また、端末装置10は、同様の自然言語処理モデルを用いてもよい。このようなモデルを用いて、シーケンスデータからエンベディングベクトルを生成することにより、より情報の順序に重点を置いたエンベディングベクトルの生成を実現することができる。 Note that the RNN and LSTM may be neural networks based on an attention mechanism. Attention can handle data such as sentences in which the sequence is important. Also, the terminal device 10 may use a similar natural language processing model. By using such a model to generate an embedding vector from sequence data, it is possible to generate an embedding vector that emphasizes the order of information.

あるいは、端末装置10は、所定の変換規則(ルール)に従って(ルールベースで)、シーケンスデータをエンベディングベクトルに変換してもよい。 Alternatively, the terminal device 10 may convert the sequence data into the embedding vector according to a predetermined conversion rule (rule base).

但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報の生データをそのまま時系列に沿って順番にモデルに入力してもよい。 However, sequence data is only an example. In practice, for example, the raw data of the position information may be input to the model in chronological order.

ここでは、端末装置10が上記のベクトル変換モデルや所定の変換規則等に従って位置情報のデータを元にエンベディングすると、出力される値がベクトル表現になる。これらの出力されたベクトルを時系列に並べると、ユーザの移動経路が示される。例えば、具体的な緯度経度は不明であるが、ベクトル空間上のA点からB点へ移動したこと等が示される。すなわち、端末装置10が位置情報を使ってエンベディングした結果(出力された値)が、エンベディングベクトルである。このエンベディングベクトルは、多次元のベクトルであり、多次元のベクトルの各要素は、ユーザの行動を示す値(コンテキストを示す値)である。ここでは、多次元のベクトルの1つの要素が、1つの位置情報に基づくユーザの行動を示す値に対応する。 Here, when the terminal device 10 embeds based on the data of the positional information according to the above-mentioned vector conversion model, predetermined conversion rule, etc., the output value becomes a vector representation. By arranging these output vectors in chronological order, the moving route of the user is shown. For example, although the specific latitude and longitude are unknown, the movement from point A to point B on the vector space is indicated. That is, the result (output value) of embedding by the terminal device 10 using the position information is the embedding vector. This embedding vector is a multidimensional vector, and each element of the multidimensional vector is a value indicating user behavior (a value indicating context). Here, one element of the multidimensional vector corresponds to a value indicating user behavior based on one piece of position information.

なお、端末装置10がエンベディングを行うタイミングについては任意である。例えば、端末装置10から情報提供装置100への位置情報の送信が許可されているタイミングで、蓄積された位置情報をエンベディングしてもよい。また、アプリケーション(アプリ)の起動時から位置情報の蓄積を開始し、当該アプリの使用を終了したタイミングで、蓄積された位置情報をエンベディングしてもよい。また、蓄積された位置情報が所定の件数(例えば100件)に達した時に、蓄積された位置情報をエンベディングしてもよい。あるいは、それまで滞在していた場所から移動した時(位置情報が大きく変化した時)に、蓄積された位置情報をエンベディングしてもよい。 Note that the timing at which the terminal device 10 performs the embedding is arbitrary. For example, the accumulated location information may be embedded at the timing when transmission of location information from the terminal device 10 to the information providing device 100 is permitted. Alternatively, accumulation of location information may be started when an application (app) is activated, and the accumulated location information may be embedded at the timing when use of the application is terminated. Also, when the number of accumulated positional information reaches a predetermined number (for example, 100), the accumulated positional information may be embedded. Alternatively, the accumulated position information may be embedded when the user moves from the place where he/she has stayed until then (when the position information changes significantly).

続いて、ステップS4において、端末装置10は、ノイズ付与モデルを用いて、位置情報に基づくエンベディングベクトルにノイズを付与する。例えば、端末装置10は、例えばRNNやLSTMを用いた機械学習を経て生成されるノイズ付与モデルにエンベディングベクトルを入力し、出力としてノイズが付与されたエンベディングベクトルを取得する。あるいは、端末装置10は、所定の変換規則(ルール)に従って(ルールベースで)、位置情報に基づくエンベディングベクトルにノイズを付与してもよい。このとき、端末装置10は、情報提供装置100からノイズ付与モデル又は所定の変換規則の提供を受けてもよい。なお、実際には、ノイズ付与モデルは、ベクトル変換モデルと同一のモデルであってもよい。例えば、ノイズ付与モデルは、ベクトル変換モデルと一体化していてもよい。 Subsequently, in step S4, the terminal device 10 uses the noise addition model to add noise to the embedding vector based on the positional information. For example, the terminal device 10 inputs an embedding vector to a noise addition model generated through machine learning using RNN or LSTM, and obtains an embedding vector to which noise is added as an output. Alternatively, the terminal device 10 may add noise to the embedding vector based on the position information according to a predetermined conversion rule (rule base). At this time, the terminal device 10 may receive a noise addition model or a predetermined conversion rule from the information providing device 100 . Incidentally, in practice, the noise addition model may be the same model as the vector conversion model. For example, the noise addition model may be integrated with the vector transformation model.

ここでは、端末装置10は、サーバ側で、エンベディングされたベクトルから元の位置情報あるいはユーザUが同意した以上のコンテキストを推測されない程度に、ノイズを付与する。 Here, the terminal device 10 adds noise to the server side to such an extent that the original position information or the context beyond the consent of the user U cannot be inferred from the embedded vector.

例えば、端末装置10は、エンベディングベクトルから位置情報等の個人情報が特定されることを妨げるために、多次元のエンベディングベクトルの所定の要素(複数の要素でもよい)に、ダミーデータ等のノイズとなるベクトルを配置する。このとき、端末装置10は、多次元のエンベディングベクトルにおいてノイズとなるベクトルが配置される要素を、データタイプとして定義してもよい。 For example, in order to prevent personal information such as position information from being specified from the embedding vector, the terminal device 10 adds noise such as dummy data to a predetermined element (may be a plurality of elements) of the multidimensional embedding vector. to place a vector of At this time, the terminal device 10 may define, as a data type, an element in which a noise vector is arranged in the multidimensional embedding vector.

また、端末装置10は、多次元のエンベディングベクトルが複数の要素のベクトル値を組み合わせることで詳細な情報を表している場合、一部の要素のベクトル値にノイズを付与して隠蔽又は秘匿化してもよい。このとき、一部の要素のベクトル値を無意味な値(無効値等)に変更することでノイズとしてもよい。 Further, when a multidimensional embedding vector represents detailed information by combining vector values of a plurality of elements, the terminal device 10 adds noise to the vector values of some elements to conceal or anonymize them. good too. At this time, noise may be obtained by changing the vector values of some elements to meaningless values (such as invalid values).

また、端末装置10は、位置情報に基づくエンベディングベクトルに付加情報を付与してもよい。例えば、端末装置10は、位置情報に基づくエンベディングベクトルにデータタイプ(Data Type)を定義する情報を付与してもよい。また、端末装置10は、エンベディングベクトルに埋め込んだノイズの位置(要素)を示す情報を付与してもよい。 Also, the terminal device 10 may add additional information to the embedding vector based on the position information. For example, the terminal device 10 may add information defining a data type to an embedding vector based on position information. Also, the terminal device 10 may add information indicating the position (element) of the noise embedded in the embedding vector.

続いて、ステップS5において、端末装置10は、ネットワークN(図2参照)を介して、ノイズが付与されたエンベディングベクトルを情報提供装置100に送信する。 Subsequently, in step S5, the terminal device 10 transmits the noise-added embedding vector to the information providing device 100 via the network N (see FIG. 2).

なお、端末装置10が位置情報に基づくエンベディングベクトルを情報提供装置100に送信するタイミングは任意である。例えば、端末装置10から情報提供装置100への位置情報の送信が許可されているタイミングであってもよい。また、アプリケーション(アプリ)の起動時や使用中、所定の時刻、所定の周期(2時間ごと等)等であってもよい。また、情報提供装置100側から端末装置10に対して位置情報に基づくエンベディングベクトルの送信を要求してもよい。 The timing at which the terminal device 10 transmits the embedding vector based on the positional information to the information providing device 100 is arbitrary. For example, it may be the timing at which transmission of position information from the terminal device 10 to the information providing device 100 is permitted. Alternatively, it may be at the start of an application (app), during use, at a predetermined time, at a predetermined cycle (every two hours, etc.), or the like. Also, the information providing apparatus 100 side may request the terminal apparatus 10 to transmit the embedding vector based on the position information.

また、端末装置10から情報提供装置100への位置情報の送信が許可されているタイミングである場合、端末装置10は、位置情報に基づくエンベディングベクトルと共に、その時点での自身の位置情報を情報提供装置100に送信してもよい。すなわち、端末装置10は、位置情報に基づくエンベディングベクトルと自身の位置情報との組を、情報提供装置100に送信してもよい。 Further, when the timing is such that transmission of location information from the terminal device 10 to the information providing device 100 is permitted, the terminal device 10 provides its own location information at that point along with the embedding vector based on the location information. It may be sent to the device 100 . That is, the terminal device 10 may transmit a set of the embedding vector based on the positional information and its own positional information to the information providing device 100 .

続いて、ステップS6において、情報提供装置100は、各地域に所在する複数のユーザUの各々が所持する端末装置10から、ネットワークNを介して、ノイズが付与されたエンベディングベクトルを受信する。 Subsequently, in step S6, the information providing apparatus 100 receives, via the network N, the embedding vector with added noise from the terminal devices 10 possessed by each of the users U located in each area.

続いて、ステップS7において、情報提供装置100は、エンベディングベクトルを特定空間に配置する。情報提供装置100は、エンベディングベクトルを特定空間に配置することで、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を明確に把握することができる。例えば、端末装置10は、位置情報(緯度経度等)に対してエンベディングを行うので、同じ位置にいる場合は同じ値のエンベディングベクトルを生成する。情報提供装置100は、同じ値のエンベディングベクトルを特定空間上の同じ位置に配置する。 Subsequently, in step S7, the information providing apparatus 100 arranges the embedding vector in the specific space. By arranging the embedding vector in a specific space, the information providing apparatus 100 clearly grasps the similarity and change in behavior of the user U himself and/or the similarity and difference in behavior between the user U and other users. can do. For example, since the terminal device 10 embeds location information (latitude and longitude, etc.), it generates an embedding vector of the same value when located at the same location. The information providing apparatus 100 arranges the embedding vectors of the same value at the same position in the specific space.

この場合、情報提供装置100は、地図上の位置(緯度経度等)とはマッピング(関連付け)されていないので、具体的な位置の特定はできないが、ユーザUがこの時間帯にA地点からB地点に移動し、その後C地点に移動して再びA地点に戻った等のユーザUの特定の行動を確認することが可能になる。また、情報提供装置100は、位置情報を用いずに、ユーザUの移動の事実を確認することができる。 In this case, the information providing apparatus 100 is not mapped (associated) with a position on the map (latitude and longitude, etc.), so a specific position cannot be specified. It is possible to confirm specific actions of the user U, such as moving to a point, then moving to a point C, and returning to a point A again. Also, the information providing apparatus 100 can confirm the fact that the user U has moved without using the position information.

続いて、ステップS8において、情報提供装置100は、解析結果に基づいて、エンベディングベクトルの不可逆性を判定する。すなわち、情報提供装置100は、解析結果に基づいて、エンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できるか否かを判定する。 Subsequently, in step S8, the information providing apparatus 100 determines irreversibility of the embedding vector based on the analysis result. That is, the information providing apparatus 100 determines whether or not the original position information (or similar information) can be restored from the embedding vector based on the analysis result.

例えば、情報提供装置100は、GAN(Generative Adversarial Network:敵対的生成ネットワーク)の学習の仕組みを利用し、GANの識別ネットワーク(Discriminator)として、生成ネットワーク(Generator)である端末装置10から受信したエンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できるか否かを判定する。 For example, the information providing apparatus 100 uses a GAN (Generative Adversarial Network) learning mechanism, and uses the GAN discriminator to serve as a GAN discriminator for embedding received from the terminal device 10, which is a generator. Determine whether the original position information (or information close to it) can be restored from the vector.

このとき、情報提供装置100は、エンベディングベクトルが可逆であると判定した場合には、ベクトル変換モデルやノイズ付与モデルの再構築が必要であると判断する。 At this time, when the information providing apparatus 100 determines that the embedding vector is reversible, it determines that reconstruction of the vector transformation model and the noise addition model is necessary.

また、情報提供装置100は、エンベディングベクトルが不可逆であると判定した場合には、ベクトル変換モデルやノイズ付与モデルの再構築は必要ない(現状維持)と判断する。 Further, when the information providing apparatus 100 determines that the embedding vector is irreversible, it determines that the reconstruction of the vector conversion model and the noise addition model is unnecessary (maintaining the status quo).

続いて、ステップS9において、情報提供装置100は、ベクトル変換モデルやノイズ付与モデルの再構築が必要であると判断した場合、ネットワークNを介して、端末装置10に対して、ベクトル変換モデルやノイズ付与モデルの再構築を要求する。なお、実際には、情報提供装置100は、それぞれのモデルについて個別に再構築を要求するのではなく、「ベクトル変換モデルの再構築」の要求をもって、「ベクトル変換モデルとノイズ付与モデルとの両方の再構築の要求」としてもよい。 Subsequently, in step S9, when the information providing apparatus 100 determines that reconstruction of the vector transformation model and the noise addition model is necessary, the information providing apparatus 100 sends the vector transformation model and the noise addition model to the terminal device 10 via the network N. Request a rebuild of the grant model. In fact, the information providing apparatus 100 does not request the reconstruction of each model individually, but requests "reconstruction of the vector transformation model" to "reconstruct both the vector transformation model and the noise addition model." may be a "request for reconstruction of

例えば、情報提供装置100は、学習データとして1万件の位置情報を使用して既存のベクトル変換モデルを構築していた場合、端末装置10に対して、学習データを100件の位置情報に削減して精度を粗くしたベクトル変換モデルを再構築するように要求する。 For example, when the information providing apparatus 100 has built an existing vector conversion model using 10,000 pieces of position information as learning data, the terminal device 10 reduces the learning data to 100 pieces of position information. request to reconstruct a coarse-grained vector transformation model.

なお、サーバ側でベクトル変換モデルやノイズ付与モデルを再構築する場合には、情報提供装置100は、端末装置10に対してベクトル変換モデルやノイズ付与モデルの再構築を要求せずに、自身でベクトル変換モデルやノイズ付与モデルを再構築するための機械学習を実施し、再構築されたベクトル変換モデルやノイズ付与モデルを端末装置10に提供してもよい。例えば、情報提供装置100は、過去に収集された位置情報を蓄積した既存の位置履歴に基づいてベクトル変換モデルやノイズ付与モデルを再構築してもよい。この場合、情報提供装置100は、端末装置10に対して、再構築されたベクトル変換モデルやノイズ付与モデルを提供することをもって、「ベクトル変換モデルやノイズ付与モデルの再構築の要求」としてもよい。 Note that when the server side reconstructs the vector transformation model and the noise addition model, the information providing device 100 does not request the terminal device 10 to reconstruct the vector transformation model and the noise addition model by itself. Machine learning may be performed to reconstruct the vector transformation model and noise addition model, and the reconstructed vector transformation model and noise addition model may be provided to the terminal device 10 . For example, the information providing apparatus 100 may reconstruct a vector conversion model or a noise addition model based on an existing position history in which position information collected in the past is accumulated. In this case, the information providing device 100 may provide the terminal device 10 with the reconstructed vector transformation model or noise addition model as a “request for reconstruction of the vector transformation model or noise addition model”. .

また、端末側が所定の変換規則に従ってエンベディングベクトルに変換している場合、情報提供装置100は、ベクトル変換モデルやノイズ付与モデルの再構築の要求ではなく、所定の変換規則を変更し、変更された所定の変換規則を端末装置10に提供してもよい。 Further, when the terminal side converts the embedding vector according to a predetermined conversion rule, the information providing apparatus 100 changes the predetermined conversion rule instead of requesting reconstruction of the vector conversion model or the noise addition model. A predetermined conversion rule may be provided to the terminal device 10 .

続いて、ステップS10において、端末装置10は、情報提供装置100から、ベクトル変換モデルやノイズ付与モデルの再構築の要求を受信すると、ベクトル変換モデルやノイズ付与モデルを再構築するための機械学習を実施する。 Subsequently, in step S10, when the terminal device 10 receives a request for reconstruction of the vector transformation model and the noise addition model from the information providing device 100, the terminal device 10 performs machine learning for reconstructing the vector transformation model and the noise addition model. implement.

デコーディングでは、いくつかの正解情報を用いてデコードする。そこで、デコーディングのロジックを作るための情報量をあえて削る。すなわち、デコードのための情報量を下げる。具体的には、直近1カ月以前の情報を使用しない。検索クエリの履歴は使用してもよいが、ショッピングの履歴は使用しない。このようにして、デコードに使える「手がかり」を制限する。 Decoding is performed using some pieces of correct answer information. Therefore, we dared to reduce the amount of information for creating the decoding logic. That is, the amount of information for decoding is reduced. Specifically, do not use information from the last month or earlier. You may use your search query history, but not your shopping history. In this way, we limit the "cues" available for decoding.

例えば、端末装置10は、学習データとして1万件の位置情報を使用して既存のベクトル変換モデルを構築していた場合、学習データを100件の位置情報に削減して精度を粗くしたベクトル変換モデルを再構築する。なお、実際には、学習データをどの程度削減するかは、端末装置10が決めるようにしてもよい。 For example, when the terminal device 10 has constructed an existing vector conversion model using 10,000 pieces of position information as learning data, the terminal device 10 reduces the learning data to 100 pieces of position information to reduce the accuracy of the vector conversion. Rebuild the model. In practice, the terminal device 10 may decide how much the learning data should be reduced.

また、端末装置10は、GAN(Generative Adversarial Network:敵対的生成ネットワーク)を利用して、ノイズ付与モデルを再構築するための機械学習を実施する。すなわち、端末装置10は、GANの学習の仕組みを利用してノイズ付与モデルを再構築する。例えば、端末装置10が生成ネットワーク(Generator)としてエンベディングベクトルにノイズ付与を行い、情報提供装置100が識別ネットワーク(Discriminator)としてノイズ判別及びノイズ除去を行う。この2つのネットワークが相互作用することによって徐々にノイズ付与の精度が向上する。 In addition, the terminal device 10 uses a GAN (Generative Adversarial Network) to perform machine learning for reconstructing the noise addition model. That is, the terminal device 10 reconstructs the noise addition model using the GAN learning mechanism. For example, the terminal device 10 acts as a generation network (Generator) to add noise to the embedding vector, and the information providing device 100 acts as a discrimination network (Discriminator) to perform noise discrimination and noise removal. The interaction of these two networks gradually improves the accuracy of noise addition.

なお、端末装置10は、情報提供装置100側で再構築されたベクトル変換モデルやノイズ付与モデルの提供を受ける場合には、情報提供装置100から提供されたベクトル変換モデルを、自身が持つベクトル変換モデルに反映することをもって、「ベクトル変換モデルやノイズ付与モデルの再構築」としてもよい。 When the terminal device 10 receives a vector conversion model or a noise addition model reconstructed by the information providing device 100, the terminal device 10 converts the vector conversion model provided by the information providing device 100 into its own vector conversion model. Reflecting it in the model may be referred to as "reconstruction of the vector conversion model or noise addition model".

以上のように、本実施形態では、ユーザの位置情報を送信する際には、端末装置が取得した位置情報をそのまま受信側(サーバ側)に送信するのではなく、位置情報をエンベディングしてから受信側に送信する。エンベディングされた情報は、受信側での復元が困難なため、正確な位置情報の特定が困難になり個人情報の問題は解決される。すなわち、単に情報量が少なくなるだけではなく、端末装置側が検知した生データ(GPSの位置情報そのもの)をサーバ側が復元できないので、セキュア(secure:安全)である。また、エンベディングにより、位置情報の塊を、ユーザがとった特定の行動(出勤、買物、鉄道移動等)を示すベクトルに変換して送信することで、個々の位置情報を逐一送信する必要がなくなり、電池消費の課題も解決される。 As described above, in this embodiment, when transmitting the location information of the user, the location information acquired by the terminal device is not transmitted to the receiving side (server side) as it is, but the location information is embedded and then transmitted. Send to receiver. Since the embedded information is difficult to restore on the receiving side, it becomes difficult to specify accurate location information, and the problem of personal information is solved. In other words, not only is the amount of information reduced, but the raw data detected by the terminal device (the GPS location information itself) cannot be restored by the server, making it secure. Embedding also eliminates the need to send individual pieces of location information by converting a block of location information into a vector that indicates a specific action taken by the user (going to work, shopping, traveling by train, etc.). , the problem of battery consumption is also solved.

また、本実施形態では、サーバ側でエンベディング情報から元の情報を復元できない程度まで、多角化を行うことができる。 Moreover, in this embodiment, diversification can be performed to the extent that the original information cannot be restored from the embedding information on the server side.

〔1-4.実施例2〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例2について説明する。
[1-4. Example 2]
Next, a second embodiment of the information processing method for embedding and transmitting the position information will be described.

例えば、ステップS5において、端末装置10は、位置情報に基づくエンベディングベクトルと共に、若干の自身の位置情報を情報提供装置100に送信してもよい。すなわち、端末装置10は、位置情報に基づくエンベディングベクトルと自身の位置情報との組を、情報提供装置100に送信してもよい。 For example, in step S5, the terminal device 10 may transmit some of its own positional information to the information providing device 100 together with the embedding vector based on the positional information. That is, the terminal device 10 may transmit a set of the embedding vector based on the positional information and its own positional information to the information providing device 100 .

例えば、位置情報の送信に制約が課せられていなかった時(自由に位置情報が送信できていた時)には、端末側は「常に許可」の場合には1日で平均17点程度の位置情報をサーバ側に送信していたが、最近では制約が厳しくなり、端末側は3点程度の位置情報しかサーバ側に送信しないようになっている。そこで、端末装置10は、例えば17点の位置情報のうち14点の位置情報をベクトル化したエンベディングベクトルを生成し、残りの3点の位置情報とともにサーバ側に送信するようにしてもよい。すなわち、端末装置10は、一部の位置情報をベクトル化したエンベディング情報と、残りの位置情報それ自体とを送信するようにしてもよい。なお、残りの位置情報は、端末側が送信可能な数の位置情報である。 For example, when there were no restrictions imposed on the transmission of location information (when location information could be transmitted freely), the terminal side would receive an average of 17 locations per day if “always allowed”. In the past, information was sent to the server side, but recently restrictions have become stricter, and the terminal side is now sending only about three pieces of location information to the server side. Therefore, the terminal device 10 may, for example, generate an embedding vector obtained by vectorizing 14 points of position information out of 17 points of position information, and transmit the embedding vector together with the remaining 3 points of position information to the server side. That is, the terminal device 10 may transmit embedding information obtained by vectorizing part of the position information and the remaining position information itself. The rest of the position information is the number of pieces of position information that can be transmitted by the terminal.

エンベディングベクトルは、ユーザUの行動を示すものであるが、ユーザUの具体的な位置を示すものではない。そのため、情報提供装置100(サーバ側)では、ユーザUの行動がどの辺りの地域で行われたのかは知ることができない。そこで、エンベディングベクトルと、丸めた位置情報とを組み合わせることで、情報提供装置100(サーバ側)で、ユーザUの行動がどの辺りの地域で行われたのか、大体の場所を知ることができる。例えば、エンベディングベクトルは、「ユーザUが昼食(ランチ)をとった」ことを示すことはできるが、ユーザUが「どの辺りの地域で」昼食をとったかは示していない。これに大まかな場所(例えば、○○区△△町)を示す丸めた位置情報が加わることで、ユーザUが昼食をとった大体の場所を知ることができる。 The embedding vector indicates the behavior of the user U, but does not indicate the specific position of the user U. Therefore, the information providing apparatus 100 (on the server side) cannot know in which region the action of the user U took place. Therefore, by combining the embedding vector and the rounded position information, the information providing apparatus 100 (on the server side) can roughly know the area where the action of the user U took place. For example, the embedding vector can indicate "user U had lunch (lunch)", but does not indicate "in which region" user U had lunch. By adding rounded position information indicating a rough place (for example, △△ town in ○○ ward) to this, it is possible to know the rough place where the user U had lunch.

また、上記の実施例1と組み合わせて実施してもよい。例えば、ステップS7において、情報提供装置100は、エンベディングベクトルを特定空間に配置する際に、特定空間と地図とをマッピングするために3点の位置情報を使うことで、上記特定空間の位置と地図上の位置(緯度経度等)とをマッピングすることができる。これにより、情報提供装置100は、完全ではないが、ある程度の場所を推定することが可能である。 Further, it may be implemented in combination with the first embodiment described above. For example, in step S7, when arranging the embedding vector in the specific space, the information providing apparatus 100 uses the three-point positional information to map the specific space and the map. It can be mapped to a position above (latitude, longitude, etc.). As a result, the information providing apparatus 100 can estimate the location to some extent, although not completely.

また、端末装置10は、位置情報(緯度経度等)に対してエンベディングを行うので、同じ位置にいる場合は同じ値のエンベディングベクトルを生成する。したがって、情報提供装置100は、同じ値のエンベディングベクトルに基づいて、ユーザUが同じ場所に滞在していることを推定することも可能である。これにより、情報提供装置100は、具体的な位置を特定しなくても、ユーザUが日常的に夜間に同じ場所に長時間滞在している場合には「自宅にいる」、日常的に日中に夜間と異なる場所に長時間滞在している場合には「職場にいる」と推定することも可能である。 In addition, since the terminal device 10 embeds position information (latitude and longitude, etc.), it generates an embedding vector of the same value when the terminal device 10 is at the same position. Therefore, the information providing apparatus 100 can also estimate that the user U is staying at the same place based on the embedding vector of the same value. As a result, the information providing apparatus 100 can determine whether the user U is “at home” when the user U stays in the same place for a long time at night, or when the user U stays at the same place for a long time, or when the user U normally stays at the same place during the day. It is also possible to presume that the person is "at work" if he or she stays in a place different from nighttime for a long time.

〔1-5.実施例3〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例3について説明する。
[1-5. Example 3]
Next, a third embodiment of an information processing method for embedding and transmitting the position information will be described.

例えば、ステップS4において、端末装置10は、位置情報を時系列に並べたシーケンスデータに基づいて、2以上の位置情報により表されるユーザUの行動(ユーザのコンテキスト)をベクトル値で示したエンベディングベクトルを生成してもよい。 For example, in step S4, the terminal device 10 embeds the behavior (user context) of the user U represented by two or more pieces of position information with vector values based on the sequence data in which the position information is arranged in time series. A vector may be generated.

例えば、端末装置10は、例えばRNNやLSTM等を用いた機械学習を経て生成されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。このとき、RNNやLSTMは、同じデータであっても、入れる順番で出力が変わる。例えば、「位置1」→「位置2」→「位置3」の順で移動していたら「出勤した」(往路)と出力し、「位置3」→「位置2」→「位置1」の順で移動していたら「帰宅した」(復路)と出力する。このような情報の時系列に応じた情報を提供するモデルを用いることで、位置情報の変遷が有する特徴に基づいたエンベディングベクトルを生成することができる。 For example, the terminal device 10 inputs sequence data into a vector transformation model generated through machine learning using RNN, LSTM, etc., and acquires an embedding vector as an output. At this time, even if the RNN and LSTM are the same data, the output changes depending on the input order. For example, if you move in the order of "position 1" → "position 2" → "position 3", output "I went to work" (outbound), and then "position 3" → "position 2" → "position 1" If you are moving with , output "I came home" (return trip). By using such a model that provides information according to the time series of information, it is possible to generate an embedding vector based on the characteristics of changes in position information.

このように、シーケンスデータからLSTMを用いてエンベディングベクトルを生成した場合、シーケンスデータが示すユーザUの行動(ユーザUのコンテキスト)からユーザが所定の行動を行ったか否かを示すエンベディングベクトルを生成することができる。例えば、端末装置10は、ユーザUが自宅のあるエリアから職場のあるエリアまで移動していた旨を、位置情報のシーケンスデータが示す場合は、「出勤した」という行動と対応する要素が所定値を取るエンベディングベクトルを生成することができる。 In this way, when an embedding vector is generated from the sequence data using the LSTM, an embedding vector indicating whether or not the user has performed a predetermined action is generated from the behavior of the user U indicated by the sequence data (context of the user U). be able to. For example, when the sequence data of the position information indicates that the user U has moved from the area where the home is located to the area where the workplace is located, the terminal device 10 sets the element corresponding to the action of "going to work" to a predetermined value. can generate an embedding vector that takes

なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、端末装置10は、同様の自然言語処理モデルを用いてもよい。 Note that the RNN and LSTM may be neural networks based on an attention mechanism. Also, the terminal device 10 may use a similar natural language processing model.

あるいは、端末装置10は、所定の変換規則(ルール)に従って、シーケンスデータをエンベディングベクトルに変換してもよい。例えば、端末装置10は、最初に取得された位置情報#1がユーザUの自宅から所定の範囲内であり、次に取得された位置情報#2が駅から所定の範囲内であり、最後に取得された位置情報#3が勤務先から所定の範囲内である場合は、「出勤した」という行動と対応する要素が所定値を取るエンベディングベクトルを生成してもよい。 Alternatively, the terminal device 10 may convert the sequence data into the embedding vector according to a predetermined conversion rule. For example, the terminal device 10 determines that the position information #1 obtained first is within a predetermined range from the home of the user U, the position information #2 obtained next is within a predetermined range from the station, and finally If the acquired location information #3 is within a predetermined range from the place of work, an embedding vector may be generated in which the element corresponding to the action of "arrived at work" takes a predetermined value.

但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報の生データをそのまま時系列に沿って順番にモデルに入力してもよい。 However, sequence data is only an example. In practice, for example, the raw data of the position information may be input to the model in chronological order.

また、端末装置10は、例えば30分間に取得した位置情報に大きな変化が見られない場合、その30分間に取得した位置情報の平均値や中央値等を求め、これをその30分間の位置情報とし、その位置情報からエンベディングベクトルを生成してもよい。 In addition, for example, when the location information acquired in 30 minutes does not change significantly, the terminal device 10 obtains the average value, the median value, etc. of the location information acquired in the 30 minutes, and uses this as the location information for the 30 minutes. and an embedding vector may be generated from the position information.

そして、ステップS7において、情報提供装置100は、位置情報に基づくエンベディングベクトルのベクトル値により、ユーザUが「自宅にいる」、「出勤した」、「買い物に行った」、「電車で移動している」等の行動(ユーザのコンテキスト)を判定する。このとき、情報提供装置100は、多次元のエンベディングベクトルのうちの複数の要素が示す値により、時間帯ごとに行動を判定してもよい。例えば、情報提供装置100は、位置情報に基づくエンベディングベクトルに、「午前中に外出した」ことを示す値と、「出勤した」ことを示す値とが含まれているとき、「午前中に出勤した」と判定してもよい。 Then, in step S7, the information providing apparatus 100 determines whether the user U is "at home", "goes to work", "goes shopping", "travels by train", based on the vector value of the embedding vector based on the position information. Action (user's context) such as "I'm here" is determined. At this time, the information providing apparatus 100 may determine behavior for each time period based on values indicated by a plurality of elements of the multidimensional embedding vector. For example, when the embedding vector based on the positional information includes a value indicating "I went out in the morning" and a value indicating "I went to work", the information providing apparatus 100 determines "I went to work in the morning." It may be determined that

ここでは、エンベディングベクトルの各要素の値は、ユーザUの行動と対応している。例えば、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 embedding vector corresponds to user U's behavior. For example, in the case of a three-dimensional vector, the value of the first element indicates "whether you went to work", the value of the second element indicates "whether you ate out", and the value of the third element indicates "whether you took the train". It may be specified to indicate whether or not In this case, the embedding vector may be a One-hot vector (One Hot Vector). A one-hot vector is a vector such as (1,0,0) in which one component is 1 and all remaining components are 0. However, in practice, the embedding vector is not limited to the one-hot vector.

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

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

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

なお、エンベディングベクトルの各要素の値は、モデルの学習時もしくは変換規則の作成時に、任意の設定が適用可能であるものとする。例えば、サーバ側が、ユーザU側からどのような行動に関する情報を取得して、ユーザUに提供するサービスに使用したいかといった事情に応じて、適宜任意の設定が可能であるものとする。 It should be noted that the value of each element of the embedding vector can be set arbitrarily when the model is learned or when the conversion rule is created. For example, it is assumed that the server side can make arbitrary settings according to circumstances such as what kind of behavior information the server wants to acquire from the user U side and use for services provided to the user U.

この実施例3では、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等は、位置情報のシーケンスデータを、ユーザUが「自宅にいる」、「出勤した」、「買い物に行った」、「電車で移動している」等の特定の行動を示すベクトル値に変換することを目的とする簡潔なモデルや変換規則等である。例えば、情報提供装置100は、特定の行動をユーザUがとったか否かを知りたいときに、当該行動に関する位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等を、ユーザUの端末装置10に提供する。 In the third embodiment, a vector conversion model and predetermined conversion rules for converting location information into an embedding vector are used to convert the sequence data of location information into data that the user U is "at home", "goes to work", "shopping", etc. It is a simple model, conversion rule, etc. that aims to convert into a vector value that indicates a specific action such as "I went to the city" or "I am traveling by train". For example, when the information providing apparatus 100 wants to know whether or not the user U has taken a specific action, the information providing apparatus 100 provides the user with a vector conversion model, a predetermined conversion rule, or the like for converting position information related to the action into an embedding vector. It is provided to the terminal device 10 of U.

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

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

端末装置10は、ユーザUによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。 The terminal device 10 is an information processing device used by the user U. For example, the terminal device 10 includes smart devices such as smartphones and tablet terminals, feature phones, PCs (Personal Computers), PDAs (Personal Digital Assistants), car navigation systems, and wearable devices such as smart watches and head-mounted displays. , smart glasses, etc.

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

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

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

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

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

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

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

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

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

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

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

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

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

(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ部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 wired connection or 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, an atmospheric pressure sensor 23, an air temperature sensor 24, a sound sensor 25, an optical sensor 26, a magnetic sensor 27, and an image sensor ( camera) 28.

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

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

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

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

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

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

(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33と、取得部34と、変換部35と、付与部36と、学習部37とを備える。
(control unit 30)
The control unit 30 includes, for example, a microcomputer having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM, an input/output port, and various circuits. Also, the control unit 30 may be configured by hardware such as an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 30 includes a transmission unit 31 , a reception unit 32 , a processing unit 33 , an acquisition unit 34 , a conversion unit 35 , an addition unit 36 and a learning unit 37 .

(送信部31)
送信部31は、例えば入力部13を用いてユーザUにより入力された各種情報や、処理部33により処理された各種情報等を、通信部11を介して情報提供装置100へ送信することができる。
(Sending unit 31)
The transmission unit 31 can transmit, for example, various information input by the user U using the input unit 13 and various information processed by the processing unit 33 to the information providing apparatus 100 via the communication unit 11. .

また、送信部31は、変換部35により位置情報から変換されたエンベディングベクトルを、通信部11を介して情報提供装置100へ送信する。このとき、送信部31は、エンベディングベクトルと共に、その時点での位置情報を送信してもよい。 The transmitting unit 31 also transmits the embedding vector converted from the positional information by the converting unit 35 to the information providing apparatus 100 via the communication unit 11 . At this time, the transmitting unit 31 may transmit the position information at that time together with the embedding vector.

(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される各種情報を受信する。例えば、受信部32は、通信部11を介して、情報提供装置100から提供されるベクトル変換モデルやノイズ付与モデル、又は所定の変換規則(ルール)等を受信する。
(Receiver 32)
The receiving unit 32 receives various information provided from the information providing device 100 via the communication unit 11 . For example, the receiving unit 32 receives, via the communication unit 11, a vector conversion model, a noise addition model, or a predetermined conversion rule provided from the information providing device 100. FIG.

(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信された情報提供装置100からの各種情報を表示部12へ出力して表示させることができる。
(Processing unit 33)
The processing unit 33 controls the entire terminal device 10 including the display unit 12 and the like. For example, the processing unit 33 can output various types of information transmitted by the transmitting unit 31 and various types of information received by the receiving unit 32 from the information providing apparatus 100 to the display unit 12 for display.

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

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

また、取得部34は、受信部32が情報提供装置100から受信したベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等を取得し、記憶部40に記憶(保存)する。 Further, the acquisition unit 34 acquires the vector conversion model, the noise addition model, or the predetermined conversion rule received by the reception unit 32 from the information providing device 100 and stores (saves) them in the storage unit 40 .

(変換部35)
変換部35は、位置情報をベクトルに変換(ベクトル化)する。例えば、変換部35は、エンベディングを行い、取得部34により取得された位置情報をベクトルに変換する。
(Converter 35)
The conversion unit 35 converts (vectorizes) the position information into a vector. For example, the conversion unit 35 performs embedding to convert the position information acquired by the acquisition unit 34 into a vector.

変換部35は、1分ごとに位置情報を取得していた場合、1分ごとの位置情報を時系列に並べて、30分間(例えば8:01~8:30)ごとに区切ったシーケンスデータを生成する。例えば、変換部35は、30分間における1分ごとの位置情報を時系列に並べたシーケンスデータを生成する。あるいは、変換部35は、30分間における最初の1分間の位置情報とその位置情報に対する1分ごとの差分を時系列に並べたシーケンスデータを生成する。そして、変換部35は、シーケンスデータに基づいて、エンベディングベクトルを生成する。 If the position information is obtained every minute, the conversion unit 35 arranges the position information every minute in time series to generate sequence data segmented every 30 minutes (for example, 8:01 to 8:30). do. For example, the conversion unit 35 generates sequence data in which position information for each minute in 30 minutes is arranged in time series. Alternatively, the conversion unit 35 generates sequence data in which the position information for the first minute in 30 minutes and the minute difference with respect to the position information are arranged in chronological order. Then, the conversion unit 35 generates an embedding vector based on the sequence data.

例えば、変換部35は、シーケンスデータをデータセットとし、ニューラルネットワークによる機械学習の手法等を用いて、シーケンスデータを多次元からなる実数値ベクトルへと変換する。すなわち、変換部35は、例えばRNN(Recurrent Neural Network)やLSTM(Long short-term memory)を用いた機械学習を経て生成されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。変換部35は、情報提供装置100から、ベクトル変換モデルの提供を受けてもよい。 For example, the conversion unit 35 uses sequence data as a data set and converts the sequence data into a multidimensional real-valued vector using a neural network-based machine learning method or the like. That is, the transformation unit 35 inputs sequence data to a vector transformation model generated through machine learning using, for example, RNN (Recurrent Neural Network) or LSTM (Long short-term memory), and acquires an embedding vector as an output. . The conversion unit 35 may receive a vector conversion model from the information providing device 100 .

なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、変換部35は、同様の自然言語処理モデルを用いてもよい。 Note that the RNN and LSTM may be neural networks based on an attention mechanism. Also, the conversion unit 35 may use a similar natural language processing model.

あるいは、変換部35は、所定の変換規則(ルール)に従って(ルールベースで)、シーケンスデータをエンベディングベクトルに変換してもよい。 Alternatively, the conversion unit 35 may convert the sequence data into the embedding vector according to a predetermined conversion rule (rule base).

但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報の生データをそのまま時系列に沿って順番にモデルに入力してもよい。 However, sequence data is only an example. In practice, for example, the raw data of the position information may be input to the model in chronological order.

(付与部36)
付与部36は、ノイズ付与モデルを用いて、位置情報に基づくエンベディングベクトルにノイズを付与する。例えば、付与部36は、例えばRNNやLSTMを用いた機械学習を経て生成されるノイズ付与モデルにエンベディングベクトルを入力し、出力としてノイズが付与されたエンベディングベクトルを取得する。あるいは、付与部36は、所定の変換規則(ルール)に従って(ルールベースで)、位置情報に基づくエンベディングベクトルにノイズを付与してもよい。このとき、付与部36は、情報提供装置100からノイズ付与モデル又は所定の変換規則の提供を受けてもよい。なお、実際には、ノイズ付与モデルは、ベクトル変換モデルと同一のモデルであってもよい。例えば、ノイズ付与モデルは、ベクトル変換モデルと一体化していてもよい。また、付与部36は、変換部35と一体化していてもよい。
(Giving unit 36)
The addition unit 36 uses a noise addition model to add noise to the embedding vector based on the positional information. For example, the adding unit 36 inputs an embedding vector to a noise added model generated through machine learning using RNN or LSTM, and obtains an embedding vector added with noise as an output. Alternatively, the adding unit 36 may add noise to the embedding vector based on the positional information according to a predetermined conversion rule (rule base). At this time, the adding unit 36 may receive a noise adding model or a predetermined conversion rule from the information providing device 100 . Incidentally, in practice, the noise addition model may be the same model as the vector conversion model. For example, the noise addition model may be integrated with the vector transformation model. Also, the imparting unit 36 may be integrated with the converting unit 35 .

ここでは、付与部36は、サーバ側で、エンベディングされたベクトルから元の位置情報あるいはユーザUが同意した以上のコンテキストを推測されない程度に、ノイズを付与する。 Here, the imparting unit 36 imparts noise to the server side to such an extent that the original position information or the context beyond the consent of the user U cannot be inferred from the embedded vector.

例えば、付与部36は、エンベディングベクトルにダミーデータ等のノイズを付与する。このとき、付与部36は、エンベディングベクトルの要素におけるダミーデータの配置を、データタイプとして定義してもよい。 For example, the adding unit 36 adds noise such as dummy data to the embedding vector. At this time, the adding unit 36 may define the arrangement of the dummy data in the elements of the embedding vector as the data type.

また、付与部36は、多次元のエンベディングベクトルが複数の要素のベクトル値を組み合わせることで詳細な情報を表している場合、一部の要素のベクトル値にノイズを付与して隠蔽又は秘匿化してもよい。このとき、一部の要素のベクトル値を無意味な値(無効値等)に変更することでノイズとしてもよい。 Further, when the multidimensional embedding vector represents detailed information by combining vector values of a plurality of elements, the adding unit 36 adds noise to the vector values of some elements to conceal or anonymize them. good too. At this time, noise may be obtained by changing the vector values of some elements to meaningless values (such as invalid values).

また、付与部36は、位置情報に基づくエンベディングベクトルに付加情報を付与してもよい。例えば、付与部36は、位置情報に基づくエンベディングベクトルにデータタイプ(Data Type)を定義する情報を付与してもよい。 Also, the adding unit 36 may add additional information to the embedding vector based on the position information. For example, the adding unit 36 may add information defining a data type to the embedding vector based on the positional information.

(学習部37)
学習部37は、ニューラルネットワークによる機械学習の手法等を用いて、位置情報について機械学習を行い、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや、エンベディングベクトルにノイズを付与するためのノイズ付与モデルを構築する。
(Learning unit 37)
The learning unit 37 performs machine learning on the position information using a machine learning method using a neural network, etc., and uses a vector conversion model for converting the position information into an embedding vector and a noise for adding noise to the embedding vector. Build a grant model.

例えば、学習部37は、RNN(Recurrent Neural Network)やLSTM(Long short-term memory)を用いた機械学習により、ベクトル変換モデルやノイズ付与モデルを構築する。なお、モデルは、任意の種別及び任意の形式のモデルが採用可能である。例えば、学習部37は、SVM(Support Vector Machine)やDNN(Deep Neural Network)をモデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNNであってもよい。また、モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。 For example, the learning unit 37 constructs a vector conversion model and a noise addition model by machine learning using RNN (Recurrent Neural Network) and LSTM (Long short-term memory). As for the model, a model of any type and any format can be adopted. For example, the learning unit 37 may employ an SVM (Support Vector Machine) or a DNN (Deep Neural Network) as a model. Here, DNN may be CNN (Convolutional Neural Network) or RNN. The model may also be a model realized by combining a plurality of models, such as a model combining CNN and RNN.

なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、学習部37は、同様の自然言語処理モデルを用いてもよい。 Note that the RNN and LSTM may be neural networks based on an attention mechanism. Also, the learning unit 37 may use a similar natural language processing model.

学習は、例えばDNNを利用したディープラーニング(深層学習)等である。また、データマイニングやその他の機械学習アルゴリズムを利用してもよい。学習部37は、上述した各種の学習手法により、モデルの学習を行う。 Learning is, for example, deep learning using DNN. Data mining and other machine learning algorithms may also be used. The learning unit 37 learns the model using the various learning methods described above.

(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。ここでは、記憶部40は、例えば入力部13を用いてユーザUにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を記憶する。また、処理部33によって処理された各種情報や、受信部32によって受信された各種情報を記憶する。また、記憶部40は、ベクトル変換モデルやノイズ付与モデル、又は所定の変換規則(ルール)等を記憶する。
(storage unit 40)
The storage unit 40 is realized by, for example, a semiconductor memory device such as RAM (Random Access Memory) or flash memory, or a storage device such as HDD (Hard Disk Drive), SSD (Solid State Drive), or optical disk. be. Various programs, various data, and the like are stored in the storage unit 40 . Here, the storage unit 40 stores, 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, various information detected by the positioning unit 14, Positional information and the like of the terminal device 10 that has been positioned is stored. Further, various information processed by the processing unit 33 and various information received by the receiving unit 32 are stored. The storage unit 40 also stores a vector conversion model, a noise addition model, a predetermined conversion rule (rule), or the like.

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

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

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。図4に示すように、記憶部120は、変換情報データベース121と、ベクトル情報データベース122とを有する。
(storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or flash memory, or a storage device such as a hard disk or an optical disk. As shown in FIG. 4 , the storage unit 120 has a conversion information database 121 and a vector information database 122 .

(変換情報データベース121)
変換情報データベース121は、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや、エンベディングベクトルにノイズを付与するためのノイズ付与モデル、又はこれらのモデルに代わる所定の変換規則(ルール)等に関する各種情報を記憶する。図5は、変換情報データベース121の一例を示す図である。図5に示した例では、変換情報データベース121は、「変換ID」、「変換情報」、「提供先」といった項目を有する。
(Conversion information database 121)
The conversion information database 121 stores various information related to a vector conversion model for converting position information into an embedding vector, a noise addition model for adding noise to an embedding vector, or a predetermined conversion rule instead of these models. Store information. FIG. 5 is a diagram showing an example of the conversion information database 121. As shown in FIG. In the example shown in FIG. 5, the conversion information database 121 has items such as "conversion ID", "conversion information", and "provider".

「変換ID」は、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや、エンベディングベクトルにノイズを付与するためのノイズ付与モデル、又はこれらのモデルに代わる所定の変換規則等を識別するための識別情報を示す。 "Conversion ID" is for identifying a vector conversion model for converting position information into an embedding vector, a noise addition model for adding noise to an embedding vector, or a predetermined conversion rule instead of these models. Indicates identification information.

また、「変換情報」は、変換IDにより識別されるベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等をデータ化したファイルを示す。なお、ベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等は、例えば過去に収集された位置情報を蓄積した既存の位置履歴に基づいて生成されたものであってもよい。 Also, "conversion information" indicates a file in which a vector conversion model or a noise addition model identified by a conversion ID, or a predetermined conversion rule or the like is converted into data. Note that the vector conversion model, the noise addition model, or the predetermined conversion rule may be generated based on an existing position history in which position information collected in the past is accumulated, for example.

また、「提供先」は、変換IDにより識別されるベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等の提供先となる端末装置10を示す。例えば、「提供先」には、端末IDが記憶されてもよい。提供先となる端末装置10は、複数であってもよい。すなわち、「提供先」には、複数の端末IDが記憶されてもよい。なお、提供先となる端末装置10を特定する必要がなければ、「提供先」の項目は無くてもよい。 Also, the "provider" indicates the terminal device 10 to which the vector conversion model, the noise addition model, or the predetermined conversion rule identified by the conversion ID is provided. For example, a terminal ID may be stored in the "provider". A plurality of terminal devices 10 may be provided. That is, a plurality of terminal IDs may be stored in the "provider". Note that if there is no need to specify the terminal device 10 to be provided, the item "provided destination" may be omitted.

例えば、図5に示す例において、変換ID「T1」により識別される変換情報「変換情報#1」であるベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等は、提供先「提供先#1」に提供されていることを示す。 For example, in the example shown in FIG. 5, the vector transformation model or noise addition model, which is the transformation information “transformation information #1” identified by the transformation ID “T1”, or the predetermined transformation rule, etc. 1” is provided.

なお、変換情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、変換情報データベース121は、変換IDにより識別されるベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等の詳細情報を記憶してもよい。 Note that the conversion information database 121 is not limited to the above, and may store various types of information depending on the purpose. For example, the conversion information database 121 may store detailed information such as a vector conversion model or noise addition model identified by a conversion ID, or predetermined conversion rules.

(ベクトル情報データベース122)
ベクトル情報データベース122は、端末装置10から受信したエンベディングベクトルに関する各種情報を記憶する。図6は、ベクトル情報データベース122の一例を示す図である。図6に示した例では、ベクトル情報データベース122は、「端末ID」、「エンベディングベクトル」、「判定結果」といった項目を有する。
(Vector information database 122)
The vector information database 122 stores various information regarding the embedding vector received from the terminal device 10 . FIG. 6 is a diagram showing an example of the vector information database 122. As shown in FIG. In the example shown in FIG. 6, the vector information database 122 has items such as "terminal ID", "embedding vector", and "determination result".

「端末ID」は、エンベディングベクトルの出所となる端末装置10を識別するための識別情報を示す。「端末ID」は、サーバ側で割り当てた任意の番号であってもよいし、端末装置10の連絡先情報(電話番号、メールアドレス等)であってもよい。なお、端末装置10を識別する必要がなければ、「端末ID」の項目は無くてもよい。 "Terminal ID" indicates identification information for identifying the terminal device 10 that is the source of the embedding vector. The “terminal ID” may be an arbitrary number assigned by the server, or contact information (telephone number, e-mail address, etc.) of the terminal device 10 . If there is no need to identify the terminal device 10, the item "terminal ID" may be omitted.

また、「エンベディングベクトル」は、端末装置10から受信したエンベディングベクトルを示す。なお、「エンベディングベクトル」は、1台の端末装置10に対して、複数存在していてもよい。例えば、端末装置10が30分ごとにエンベディングベクトルを生成している場合には、30分ごとのエンベディングベクトルが記憶される。 Also, “embedding vector” indicates the embedding vector received from the terminal device 10 . A plurality of “embedding vectors” may exist for one terminal device 10 . For example, if the terminal device 10 generates an embedding vector every 30 minutes, the embedding vector for every 30 minutes is stored.

また、「判定結果」は、エンベディングベクトルに基づいて判定されるユーザUの行動(所在、振る舞い、移動等)を示す。なお、「判定結果」は、端末装置10のユーザUの行動に限らず、端末装置10と周囲の他の端末装置との各ユーザの行動を示すものであってもよい。さらに、「判定結果」は、エンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できるか否かの判定結果に関する情報を含んでいてもよい。 "Determination result" indicates the behavior (location, behavior, movement, etc.) of the user U determined based on the embedding vector. Note that the "determination result" is not limited to the behavior of the user U of the terminal device 10, and may indicate the behavior of each user of the terminal device 10 and other surrounding terminal devices. Furthermore, the "determination result" may include information regarding the determination result as to whether or not the original position information (or information close to it) can be restored from the embedding vector.

例えば、図6に示す例において、端末ID「端末#1」により識別される端末装置10から受信したエンベディングベクトル「ベクトル#11」は、端末装置10のユーザUの行動(あるいは、端末装置10と周囲の他の端末装置との各ユーザの行動)が判定結果「判定結果#11」により示される行動であることを示す。 For example, in the example shown in FIG. 6, the embedding vector "vector #11" received from the terminal device 10 identified by the terminal ID "terminal #1" is the behavior of the user U of the terminal device 10 (or Each user's behavior with other surrounding terminal devices) is the behavior indicated by the determination result "determination result #11".

なお、ベクトル情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ベクトル情報データベース122は、受信データ単位で、個々のエンベディングベクトルを識別するための識別情報(ベクトルID等)を記憶してもよい。また、ベクトル情報データベース122は、個々のエンベディングベクトルを受信した日時を示す情報を記憶してもよい。また、ベクトル情報データベース122は、エンベディングベクトルを解釈するためのルールに関する情報を記憶してもよい。また、ベクトル情報データベース122は、ベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等の変換情報を記憶してもよい。 The vector information database 122 is not limited to the above, and may store various types of information depending on the purpose. For example, the vector information database 122 may store identification information (vector ID, etc.) for identifying each embedding vector for each received data unit. The vector information database 122 may also store information indicating the date and time when each embedding vector was received. The vector information database 122 may also store information on rules for interpreting embedding vectors. Also, the vector information database 122 may store conversion information such as a vector conversion model, a noise addition model, or a predetermined conversion rule.

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

(収集部131)
収集部131は、個々の端末装置10からエンベディングベクトルを収集する。すなわち、収集部131は、通信部110を介して、端末装置10からエンベディングベクトルを受信する。
(Collection unit 131)
The collection unit 131 collects embedding vectors from individual terminal devices 10 . That is, the collection unit 131 receives the embedding vector from the terminal device 10 via the communication unit 110 .

(判定部132)
判定部132は、収集されたエンベディングベクトルを解析し、ユーザUの行動(所在、振る舞い、移動等)を判定する。
(Determination unit 132)
The determination unit 132 analyzes the collected embedding vectors and determines behavior (location, behavior, movement, etc.) of the user U.

また、判定部132は、エンベディングベクトルを特定空間に配置し、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を判定する。 Further, the determination unit 132 arranges the embedding vectors in a specific space, and determines similarities and changes in behavior of the user U himself and/or similarities and differences in behavior between the user U and other users.

なお、判定部132は、エンベディングベクトルにノイズが付与されている場合、ノイズを含めたままエンベディングベクトルの解析を実行する。このとき、判定部132は、エンベディングベクトルから、ユーザUが同意したコンテキストのみ判定する。 Note that, when noise is added to the embedding vector, the determination unit 132 analyzes the embedding vector with the noise included. At this time, the determination unit 132 determines only the context with which the user U has consented from the embedding vector.

また、判定部132は、解析結果に基づいて、エンベディングベクトルの不可逆性を判定する。すなわち、判定部132は、ユーザUの行動の判定結果に基づいて、エンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できるか否かを判定する。 Also, the determination unit 132 determines the irreversibility of the embedding vector based on the analysis result. That is, the determination unit 132 determines whether or not the original position information (or similar information) can be restored from the embedding vector based on the determination result of the behavior of the user U.

例えば、判定部132は、GAN(Generative Adversarial Network:敵対的生成ネットワーク)の学習の仕組みを利用し、GANの識別ネットワーク(Discriminator)として、生成ネットワーク(Generator)である端末装置10から受信したエンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できるか否かを判定する。 For example, the determination unit 132 uses a GAN (Generative Adversarial Network) learning mechanism, and uses an embedding vector received from the terminal device 10, which is a generation network (Generator), as a GAN discriminator. It is determined whether or not the original position information (or information close to it) can be restored from the

このとき、判定部132は、エンベディングベクトルが可逆であると判定した場合には、ベクトル変換モデルやノイズ付与モデルの再構築が必要であると判断する。 At this time, if the determination unit 132 determines that the embedding vector is reversible, it determines that reconstruction of the vector transformation model and the noise addition model is necessary.

また、判定部132は、エンベディングベクトルが不可逆であると判定した場合には、ベクトル変換モデルやノイズ付与モデルの再構築は必要ない(現状維持)と判断する。 Further, when determining that the embedding vector is irreversible, the determination unit 132 determines that reconstruction of the vector conversion model and the noise addition model is not necessary (maintain the status quo).

(生成部133)
生成部133は、過去に収集された位置情報を蓄積した既存の位置履歴に基づいて、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルやノイズ付与モデル、又は所定の変換規則(ルール)等を生成する。
(Generating unit 133)
The generating unit 133 generates a vector conversion model, a noise addition model, or a predetermined conversion rule for converting the position information into an embedding vector based on the existing position history in which the position information collected in the past is accumulated. to generate

例えば、生成部133は、位置情報とエンベディングベクトルとの組を正解データとしてモデルに学習させることで、位置情報を入力した時にエンベディングベクトルを出力するベクトル変換モデルを生成する。 For example, the generation unit 133 generates a vector conversion model that outputs an embedding vector when position information is input by making the model learn a combination of the position information and the embedding vector as correct data.

ここでは、生成部133は、RNN(Recurrent Neural Network)やLSTM(Long short-term memory)を用いた機械学習により、ベクトル変換モデルを生成する。なお、モデルは、任意の種別及び任意の形式のモデルが採用可能である。例えば、生成部133は、SVM(Support Vector Machine)やDNN(Deep Neural Network)をモデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNNであってもよい。また、モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。 Here, the generation unit 133 generates a vector conversion model by machine learning using RNN (Recurrent Neural Network) and LSTM (Long short-term memory). As for the model, a model of any type and any format can be adopted. For example, the generation unit 133 may adopt SVM (Support Vector Machine) or DNN (Deep Neural Network) as a model. Here, DNN may be CNN (Convolutional Neural Network) or RNN. The model may also be a model realized by combining a plurality of models, such as a model combining CNN and RNN.

なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、生成部133は、同様の自然言語処理モデルを用いてもよい。 Note that the RNN and LSTM may be neural networks based on an attention mechanism. Also, the generation unit 133 may use a similar natural language processing model.

学習は、例えばDNNを利用したディープラーニング(深層学習)等である。また、データマイニングやその他の機械学習アルゴリズムを利用してもよい。生成部133は、上述した各種の学習手法により、モデルの学習を行う。 Learning is, for example, deep learning using DNN. Data mining and other machine learning algorithms may also be used. The generation unit 133 learns the model using the various learning methods described above.

また、生成部133は、各ユーザのモデルが同じアーキテクチャ(層の数、各層のノード数、各ノードの接続関係が同一)である場合、接続係数(重み)を平均化したモデルを生成する。 In addition, when each user's model has the same architecture (the number of layers, the number of nodes in each layer, and the connection relation of each node are the same), the generation unit 133 generates a model by averaging the connection coefficients (weights).

(提供部134)
提供部134は、生成されたベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等をユーザUの端末装置10に提供する。すなわち、提供部134は、通信部110を介して、生成されたベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等をユーザUの端末装置10に送信する。
(Providing unit 134)
The providing unit 134 provides the terminal device 10 of the user U with the generated vector conversion model, noise addition model, or predetermined conversion rule. That is, the providing unit 134 transmits the generated vector conversion model, noise addition model, predetermined conversion rule, or the like to the terminal device 10 of the user U via the communication unit 110 .

(要求部135)
要求部135は、位置情報に基づくエンベディングベクトルから位置情報を復元できる場合、通信部110を介して、位置情報からエンベディングベクトルへの変換精度を低下させるように端末装置10に要求する。このように、要求部135は、エンベディングベクトルへの変換精度を低下させるため、ベクトル変換モデルやノイズ付与モデルの再構築が必要である場合、端末装置10がベクトル変換に用いるベクトル変換モデルを、精度を粗くして再構築するように端末装置10に要求する。例えば、要求部135は、既存のベクトル変換モデルの構築の際に入力された学習データの件数が「1万件」であった場合、新たな学習モデルに入力される学習データの件数を「100件」程度に削減して学習を行い、精度の粗いベクトル変換モデルやノイズ付与モデルを再構築するように端末装置10に要求する。
(Request unit 135)
When the position information can be restored from the embedding vector based on the position information, the request unit 135 requests the terminal device 10 via the communication unit 110 to reduce the accuracy of conversion from the position information to the embedding vector. As described above, the request unit 135 reduces the accuracy of conversion to an embedding vector, so when the vector conversion model or the noise addition model needs to be reconstructed, the vector conversion model used by the terminal device 10 for vector conversion is is requested to the terminal device 10 to coarsen and reconstruct. For example, if the number of pieces of learning data input when constructing an existing vector conversion model is "10,000", the request unit 135 sets the number of pieces of learning data to be input to the new learning model to "100". A request is made to the terminal device 10 to perform learning by reducing the number of data to the order of "number" and to reconstruct a vector conversion model or a noise addition model with coarse accuracy.

また、要求部135は、端末装置10に対して、位置情報に基づくエンベディングベクトルの送信を要求してもよい。 The request unit 135 may also request the terminal device 10 to transmit the embedding vector based on the position information.

〔5.処理手順〕
次に、図7を用いて実施形態に係る端末装置10及び情報提供装置100による処理手順について説明する。図7は、実施形態に係る処理手順を示すシーケンス図である。なお、以下に示す処理手順は、端末装置10の制御部30、又は情報提供装置100の制御部130によって繰り返し実行される。
[5. Processing procedure]
Next, processing procedures by the terminal device 10 and the information providing device 100 according to the embodiment will be described with reference to FIG. FIG. 7 is a sequence diagram illustrating a processing procedure according to the embodiment; The processing procedure described below is repeatedly executed by the control unit 30 of the terminal device 10 or the control unit 130 of the information providing device 100 .

図7に示すように、情報提供装置100の生成部133は、過去に収集された端末装置10の位置情報を蓄積した既存の位置履歴(又は仮定の位置情報)に基づいて、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等を生成する(ステップS101)。例えば、生成部133は、位置情報とエンベディングベクトルとの組を正解データとしてモデルに学習させることで、位置情報を入力した時にエンベディングベクトルを出力するベクトル変換モデルを生成する。このベクトル変換モデルは、ベースとなる初期状態(デフォルト)のベクトル変換モデルである。 As shown in FIG. 7, the generation unit 133 of the information providing apparatus 100 embeds the position information based on the existing position history (or assumed position information) in which the position information of the terminal device 10 collected in the past is accumulated. A vector conversion model for conversion into a vector, a noise addition model, or a predetermined conversion rule is generated (step S101). For example, the generation unit 133 generates a vector conversion model that outputs an embedding vector when position information is input by making the model learn a combination of the position information and the embedding vector as correct data. This vector transformation model is a base vector transformation model in an initial state (default).

そして、情報提供装置100の提供部134は、生成されたベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等をユーザUの端末装置10に提供する(ステップS102)。すなわち、提供部134は、通信部110を介して、生成されたベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等をユーザUの端末装置10に送信する。 Then, the providing unit 134 of the information providing device 100 provides the generated vector conversion model, noise addition model, predetermined conversion rule, or the like to the terminal device 10 of the user U (step S102). That is, the providing unit 134 transmits the generated vector conversion model, noise addition model, predetermined conversion rule, or the like to the terminal device 10 of the user U via the communication unit 110 .

そして、端末装置10の取得部34は、情報提供装置100から提供されたベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等を取得する(ステップS103)。 Then, the acquisition unit 34 of the terminal device 10 acquires the vector conversion model, the noise addition model, or the predetermined conversion rule provided from the information providing device 100 (step S103).

そして、端末装置10の取得部34は、常時/周期的に/所定のタイミングで、端末装置10の位置情報を取得する(ステップS104)。例えば、取得部34は、測位部14により測位された端末装置10の位置情報を取得する。また、取得部34は、各センサ21~28によって検知された各種情報に基づいて端末装置10の屋内位置情報を推定して取得する。このとき、取得部34は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。例えば、取得部34は、取得した位置情報を記憶部40に記憶(保存)する。 Then, the acquiring unit 34 of the terminal device 10 acquires the location information of the terminal device 10 constantly/periodically/at a predetermined timing (step S104). For example, the acquisition unit 34 acquires position information of the terminal device 10 positioned by the positioning unit 14 . Further, the acquisition unit 34 estimates and acquires indoor position information of the terminal device 10 based on various information detected by the sensors 21 to 28 . At this time, the acquisition unit 34 accumulates the acquired position information as a position history (for example, location history, action history, etc.). For example, the acquisition unit 34 stores (saves) the acquired position information in the storage unit 40 .

そして、端末装置10の変換部35は、位置情報のエンベディングを行い、ベクトル変換モデルを用いて、位置情報をベクトルに変換(ベクトル化)し、位置情報に基づくエンベディングベクトルを生成する(ステップS105)。 Then, the conversion unit 35 of the terminal device 10 embeds the position information, converts (vectorizes) the position information into a vector using the vector conversion model, and generates an embedding vector based on the position information (step S105). .

例えば、変換部35は、位置情報を時系列に並べたシーケンスデータを生成する。そして、変換部35は、例えばRNN(Recurrent Neural Network)やLSTM(Long short-term memory)を用いた機械学習を経て生成されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、変換部35は、同様の自然言語処理モデルを用いてもよい。このとき、変換部35が位置情報をベクトルに変換するのと並行して、端末装置10の学習部37は、位置情報について機械学習を行い、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルを構築する。 For example, the conversion unit 35 generates sequence data in which position information is arranged in chronological order. Then, the transformation unit 35 inputs sequence data to a vector transformation model generated through machine learning using, for example, RNN (Recurrent Neural Network) or LSTM (Long short-term memory), and acquires an embedding vector as an output. . Note that the RNN and LSTM may be neural networks based on an attention mechanism. Also, the conversion unit 35 may use a similar natural language processing model. At this time, in parallel with the transformation unit 35 transforming the position information into a vector, the learning unit 37 of the terminal device 10 performs machine learning on the position information, and uses a vector transformation model for transforming the position information into an embedding vector. to build.

あるいは、変換部35は、所定の変換規則に従って(ルールベースで)、シーケンスデータをエンベディングベクトルに変換してもよい。但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報の生データをそのまま時系列に沿って順番にモデルに入力してもよい。 Alternatively, the conversion unit 35 may convert the sequence data into the embedding vector according to a predetermined conversion rule (on a rule basis). However, sequence data is only an example. In practice, for example, the raw data of the position information may be input to the model in chronological order.

そして、端末装置10の付与部36は、位置情報に基づくエンベディングベクトルにノイズを付与する(ステップS106)。また、付与部36は、位置情報に基づくエンベディングベクトルに付加情報を付与してもよい。例えば、付与部36は、位置情報に基づくエンベディングベクトルにデータタイプ(Data Type)を定義する情報を付与してもよい。 Then, the adding unit 36 of the terminal device 10 adds noise to the embedding vector based on the positional information (step S106). Also, the adding unit 36 may add additional information to the embedding vector based on the position information. For example, the adding unit 36 may add information defining a data type to the embedding vector based on the positional information.

そして、端末装置10の送信部31は、ノイズが付与されたエンベディングベクトルを、通信部11を介して情報提供装置100へ送信する(ステップS107)。 Then, the transmission unit 31 of the terminal device 10 transmits the noise-added embedding vector to the information providing device 100 via the communication unit 11 (step S107).

そして、情報提供装置100の収集部131は、個々の端末装置10から、ノイズが付与されたエンベディングベクトルを収集する(ステップS108)。すなわち、収集部131は、通信部110を介して、端末装置10からノイズが付与されたエンベディングベクトルを受信する。 Then, the collection unit 131 of the information providing device 100 collects the noise-added embedding vectors from the individual terminal devices 10 (step S108). That is, the collection unit 131 receives the embedding vector to which noise is added from the terminal device 10 via the communication unit 110 .

そして、情報提供装置100の判定部132は、収集されたノイズが付与されたエンベディングベクトルを解析し、ユーザUの行動(所在、振る舞い、移動等)を判定する(ステップS109)。なお、判定部132は、エンベディングベクトルにノイズが付与されている場合、ノイズを含めたままエンベディングベクトルの解析を実行する。このとき、判定部132は、エンベディングベクトルから、ユーザUが同意したコンテキストのみ判定する。 Then, the determination unit 132 of the information providing apparatus 100 analyzes the collected embedding vectors to which noise is added, and determines the behavior (location, behavior, movement, etc.) of the user U (step S109). Note that, when noise is added to the embedding vector, the determination unit 132 analyzes the embedding vector with the noise included. At this time, the determination unit 132 determines only the context with which the user U has consented from the embedding vector.

そして、判定部132は、解析結果に基づいて、エンベディングベクトルの不可逆性を判定する(ステップS110)。すなわち、判定部132は、ユーザUの行動の判定結果に基づいて、エンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できるか否かを判定する。このとき、判定部132は、エンベディングベクトルから元の位置情報(又はそれに近い情報)を復元できると判定した場合、エンベディングベクトルへの変換精度を低下させるため、ベクトル変換モデルやノイズ付与モデルの再構築が必要であると判断する。 Then, the determination unit 132 determines the irreversibility of the embedding vector based on the analysis result (step S110). That is, the determination unit 132 determines whether or not the original position information (or similar information) can be restored from the embedding vector based on the determination result of the behavior of the user U. At this time, if the determination unit 132 determines that the original position information (or information close to it) can be restored from the embedding vector, it reduces the accuracy of conversion to the embedding vector, so that the vector conversion model and the noise addition model are reconstructed. is necessary.

そして、情報提供装置100の要求部135は、ベクトル変換モデルやノイズ付与モデルの再構築が必要であると判断された場合、端末装置10に対して、ベクトル変換モデルやノイズ付与モデルの再構築を要求する(ステップS111)。 Then, when it is determined that the vector conversion model or the noise addition model needs to be reconstructed, the request unit 135 of the information providing apparatus 100 instructs the terminal device 10 to reconstruct the vector conversion model or the noise addition model. request (step S111).

ここでは、要求部135は、端末装置10がベクトル変換に用いるベクトル変換モデルを、学習データを削減して再構築するように端末装置10に要求する。例えば、要求部135は、既存のベクトル変換モデルの構築の際に入力された学習データの件数が「1万件」であった場合、新たな学習モデルに入力される学習データの件数を「100件」程度に削減して学習を行い、精度の粗いベクトル変換モデルを再構築するように端末装置10に要求する。 Here, the request unit 135 requests the terminal device 10 to reduce the learning data and reconstruct the vector transformation model that the terminal device 10 uses for vector transformation. For example, if the number of pieces of learning data input when constructing an existing vector conversion model is "10,000", the request unit 135 sets the number of pieces of learning data to be input to the new learning model to "100". A request is made to the terminal device 10 to perform learning by reducing the data to the order of "number" and to reconstruct a vector transformation model with coarse accuracy.

そして、端末装置10の学習部37は、情報提供装置100から受信したベクトル変換モデルやノイズ付与モデルの再構築の要求に応じて、ベクトル変換モデルやノイズ付与モデルを再構築するための機械学習を実施する(ステップS112)。 Then, the learning unit 37 of the terminal device 10 performs machine learning for reconstructing the vector transformation model and the noise addition model in response to the request for reconstruction of the vector transformation model and the noise addition model received from the information providing device 100. implemented (step S112).

ここでは、学習部37は、新たな学習モデルに入力される学習データの件数を、既存のベクトル変換モデルの構築の際に入力された学習データの件数よりも削減して学習を行い、精度の粗いベクトル変換モデルを再構築する。例えば、学習部37は、既存のベクトル変換モデルの構築の際に入力された学習データの件数が「1万件」であった場合、新たな学習モデルに入力される学習データの件数を「100件」程度に削減して学習を行う。なお、実際には、学習データをどの程度削減するかは、学習部37が決めるようにしてもよい。 Here, the learning unit 37 performs learning by reducing the number of pieces of learning data input to the new learning model from the number of pieces of learning data input when constructing the existing vector conversion model, thereby improving accuracy. Rebuild the coarse-grained vector transformation model. For example, if the number of pieces of learning data input when constructing an existing vector conversion model is "10,000", the learning unit 37 sets the number of pieces of learning data input to the new learning model to "100". Study by reducing the number of items to about In practice, the learning unit 37 may determine how much the learning data is to be reduced.

以降、端末装置10の変換部35は、ステップS105において、位置情報のエンベディングを行う際、再構築されたベクトル変換モデルを用いて、位置情報をベクトルに変換し、位置情報に基づくエンベディングベクトルを生成する。 Thereafter, in step S105, when embedding position information, the conversion unit 35 of the terminal device 10 converts the position information into a vector using the reconstructed vector conversion model, and generates an embedding vector based on the position information. do.

また、端末装置10の学習部37は、GAN(Generative Adversarial Network:敵対的生成ネットワーク)を利用して、ノイズ付与モデルを再構築するための機械学習を実施する。すなわち、学習部37は、GANの学習の仕組みを利用してノイズ付与モデルを再構築する。例えば、学習部37が生成ネットワーク(Generator)としてエンベディングベクトルにノイズ付与を行い、情報提供装置100側が識別ネットワーク(Discriminator)としてノイズ判別及びノイズ除去を行う。この2つのネットワークが相互作用することによって徐々にノイズ付与の精度が向上する。 Also, the learning unit 37 of the terminal device 10 uses a GAN (Generative Adversarial Network) to perform machine learning for reconstructing the noise addition model. That is, the learning unit 37 reconstructs the noise addition model using the GAN learning mechanism. For example, the learning unit 37 acts as a generation network (Generator) to add noise to the embedding vector, and the information providing device 100 acts as a discrimination network (Discriminator) to perform noise discrimination and noise removal. The interaction of these two networks gradually improves the accuracy of noise addition.

以降、端末装置10の変換部35は、ステップS106において、ノイズ付与を行う際、再構築されたノイズ付与モデルを用いて、位置情報に基づくエンベディングベクトルにノイズを付与する。 Thereafter, when performing noise addition in step S106, the conversion unit 35 of the terminal device 10 uses the reconstructed noise addition model to add noise to the embedding vector based on the position information.

なお、端末装置10の送信部31は、情報提供装置100に対して、再構築されたベクトル変換モデルやノイズ付与モデルを送信してもよい。これにより、情報提供装置100は、端末装置10との間で、再構築されたベクトル変換モデルやノイズ付与モデルを共有することができる。 Note that the transmission unit 31 of the terminal device 10 may transmit the reconstructed vector transformation model or noise addition model to the information providing device 100 . Thereby, the information providing apparatus 100 can share the reconstructed vector transformation model and noise addition model with the terminal apparatus 10 .

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

上記実施形態において、情報提供装置100は、位置情報に基づくエンベディングベクトルのベクトル値により、ユーザUが「山に行った」、「海に行った」、「地方に行った」、「外国に行った」等の行動を判定してもよい。また、ユーザUが「旅行に行った」、「出張した」等の行動を判定してもよい。また、ユーザUが「日帰りした」、「宿泊した」等の行動を判定してもよい。 In the above-described embodiment, the information providing apparatus 100 determines whether the user U "went to the mountains", "went to the sea", "went to a rural area", or "went to a foreign country" based on the vector value of the embedding vector based on the position information. You may judge actions such as Also, actions such as "went on a trip" or "went on a business trip" by the user U may be determined. Also, actions such as "day trip" or "stayed" by the user U may be determined.

なお、位置情報の送信に制約が課せられていなかった時(自由に位置情報が送信できていた時)には、通常1回の通信で17個の位置情報を送信していたが、17個の位置情報のうち15個の位置情報をコンテキスト化したベクトルと、残りの2個の位置情報の値を示すベクトルとを結合したエンベディングベクトルを生成してもよい。すなわち、端末装置10は、一部の位置情報をコンテキスト化した情報と、残りの位置情報それ自体とを示すエンベディングベクトルを生成してもよい。 When there were no restrictions on the transmission of location information (when location information could be transmitted freely), 17 pieces of location information were normally sent in one communication, but 17 pieces of location information were sent in one communication. An embedding vector may be generated by concatenating a vector that contextualizes 15 pieces of position information among the pieces of position information and a vector that indicates the values of the remaining two pieces of position information. That is, the terminal device 10 may generate an embedding vector that indicates contextualized information of part of the location information and the remaining location information itself.

また、上記実施形態において、端末装置10は、情報提供装置100(サーバ側)に、ユーザUの行動に関する詳細な情報を知らせたくない場合、位置情報を蓄積する際、又はエンベディングに先立って、位置情報の端数処理(丸め処理)を行い、位置情報を丸めて精度の粗い位置情報に変換してもよい。例えば、端末装置10は、位置情報がGPS(Global Positioning System)座標の緯度経度情報である場合、緯度と経度の10進角度での小数点以下(度分秒法での分以下)の値の切り上げ又は切り捨て(四捨五入でも可)を行い、大まかな値の位置情報に変換する。これにより、ユーザUの行動に関する情報について、端末装置10から情報提供装置100(サーバ側)に伝える情報の内容を制限することができる。また、機械学習の学習データとしての位置情報の情報量を削減し、処理の負荷を軽減することができる。 In addition, in the above-described embodiment, when the terminal device 10 does not want to inform the information providing device 100 (server side) of detailed information about the behavior of the user U, the terminal device 10 stores location information or before embedding location information. The information may be fractioned (rounded) to round the position information and convert the position information into coarse position information. For example, when the position information is latitude and longitude information of GPS (Global Positioning System) coordinates, the terminal device 10 rounds up the value after the decimal point of the decimal angle of the latitude and longitude (the minute or less in the degree-minute-second system). Alternatively, truncation (rounding off is also possible) is performed, and the position information is converted into rough values. As a result, it is possible to limit the content of the information about the behavior of the user U that is transmitted from the terminal device 10 to the information providing device 100 (server side). In addition, it is possible to reduce the amount of positional information as learning data for machine learning, thereby reducing the processing load.

また、上記実施形態において、エンベディングベクトルの各要素の値は、便宜上、「0」と「1」とで表現しているが、実際には、「2」以上の数値や、複数桁の数値や、整数部分と小数部分とを有する数値であってもよい。すなわち、実数であればよい。これにより、多次元のエンベディングベクトルの各要素において複数の情報や詳細な情報を表現することができる。 Also, in the above embodiment, the values of the respective elements of the embedding vector are represented by "0" and "1" for the sake of convenience. , may be a number having an integer part and a fractional part. That is, any real number may be used. As a result, each element of the multi-dimensional embedding vector can express multiple pieces of information and detailed information.

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

また、上記実施形態において、端末装置10又は情報提供装置100は、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等を、個々のユーザUの性質や状況に応じて個別に調整してもよい。例えば、ベクトル変換モデルやノイズ付与モデル、又は所定の変換規則等をカスタマイズしてもよい。 Further, in the above embodiment, the terminal device 10 or the information providing device 100 sets a vector conversion model or a noise addition model for converting position information into an embedding vector, a predetermined conversion rule, or the like, according to the characteristics of each user U, You may adjust it individually according to a situation. For example, a vector conversion model, a noise addition model, or a predetermined conversion rule may be customized.

また、上記実施形態において、フェデレーテッドラーニング(Federated Learning)等を用いて、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルを生成してもよい。例えば、フェデレーテッドラーニングでは、個々の端末装置10は、ベクトル変換モデルに対し、それぞれ位置情報を学習データとして機械学習を行い、元のモデルと学習後のモデルとの差分データを情報提供装置100に送信する。情報提供装置100は、差分データを各端末装置10から受信し、これらを統合して学習し、共通モデルを生成する。そして、情報提供装置100は、生成された共通モデルのパラメータ等を各端末装置10に提供する。このように、フェデレーテッドラーニングを用いることで、学習データである端末の位置情報をサーバ側に提供することなく学習を行うことが可能であるため、ユーザの個人情報やプライバシーに配慮することができる。 Further, in the above embodiment, federated learning or the like may be used to generate a vector conversion model for converting position information into an embedding vector. For example, in federated learning, each terminal device 10 performs machine learning on a vector conversion model using location information as learning data, and the difference data between the original model and the model after learning is obtained by the information providing device 100. Send to The information providing device 100 receives difference data from each terminal device 10, integrates and learns them, and generates a common model. Then, the information providing device 100 provides each terminal device 10 with parameters of the generated common model and the like. In this way, by using federated learning, it is possible to perform learning without providing the location information of the terminal, which is learning data, to the server side, so it is possible to consider the user's personal information and privacy. can.

〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10)は、自身の位置情報を取得する取得部34と、位置情報をベクトルに変換する変換部35と、ベクトルにノイズを付与する付与部36と、ノイズが付与されたベクトルを送信する送信部31と、を備える。なお、変換部35は、所定の判定装置(情報提供装置100)により、送信部31が送信したベクトルから位置情報が復元できると判定された場合は、位置情報をベクトルに変換する変換手法を変更する。また、付与部36は、所定の判定装置(情報提供装置100)により、送信部31が送信したベクトルから位置情報が復元できると判定された場合は、ベクトルにノイズを付与する手法を変更する。なお、実際には、上記所定の判定装置は、情報処理装置(端末装置10)内にあってもよい。
[7. effect〕
As described above, the information processing device (terminal device 10) according to the present application includes an acquisition unit 34 that acquires its own position information, a conversion unit 35 that converts the position information into a vector, and an addition unit that adds noise to the vector. and a transmitting unit 31 that transmits a noise-added vector. Note that, when the predetermined determination device (information providing device 100) determines that the position information can be restored from the vector transmitted by the transmission unit 31, the conversion unit 35 changes the conversion method for converting the position information into the vector. do. Further, when the predetermined determining device (information providing device 100) determines that the position information can be restored from the vector transmitted by the transmitting unit 31, the adding unit 36 changes the method of adding noise to the vector. It should be noted that, in practice, the predetermined determination device may be included in the information processing device (terminal device 10).

これにより、情報処理装置は、エンベディング情報から元の情報が復元されるのを防ぐことができる。 Thereby, the information processing device can prevent the original information from being restored from the embedding information.

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

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

一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。 The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that temporarily stores data used for various calculations by the arithmetic device 1030 . The secondary storage device 1050 is a storage device in which data used for various calculations by the arithmetic device 1030 and various databases are registered. State Drive), flash memory, or the like. The secondary storage device 1050 may be an internal storage or an external storage. Also, the secondary storage device 1050 may be a removable storage medium such as a USB memory or an SD (Secure Digital) memory card. Also, the secondary storage device 1050 may be a cloud storage (online storage), a NAS (Network Attached Storage), a file server, or the like.

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

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

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

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

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

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

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

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

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

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

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

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

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

1 情報処理システム
10 端末装置
14 測位部
30 制御部
31 送信部
32 受信部
33 処理部
34 取得部
35 変換部
36 付与部
37 学習部
100 情報提供装置
110 通信部
120 記憶部
121 変換情報データベース
122 ベクトル情報データベース
130 制御部
131 収集部
132 判定部
133 生成部
134 提供部
1 information processing system 10 terminal device 14 positioning unit 30 control unit 31 transmission unit 32 reception unit 33 processing unit 34 acquisition unit 35 conversion unit 36 addition unit 37 learning unit 100 information providing device 110 communication unit 120 storage unit 121 conversion information database 122 vector Information database 130 control unit 131 collection unit 132 determination unit 133 generation unit 134 provision unit

Claims (16)

位置情報を取得する取得部と、
前記位置情報をベクトルに変換する変換部と、
前記ベクトルにノイズを付与する付与部と、
前記ノイズが付与された前記ベクトルを送信する送信部と、
を備え
前記変換部は、機械学習により構築されたベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換し、
前記送信部は、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、
前記変換部は、前記所定の判定装置により、前記送信部が送信した前記ベクトルから前記位置情報が復元できると判定された場合は、前記ベクトル変換モデルよりも学習データを削減して再構築された新たなベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換する
ことを特徴とする情報処理装置。
an acquisition unit that acquires position information;
a conversion unit that converts the position information into a vector;
an imparting unit that imparts noise to the vector;
a transmission unit that transmits the vector to which the noise is added;
with
The conversion unit converts the position information into the vector using a vector conversion model constructed by machine learning,
The transmitting unit transmits the noise-added vector to a predetermined determination device,
When the predetermined determination device determines that the position information can be restored from the vector transmitted by the transmission unit, the transformation unit is reconstructed by reducing learning data from the vector transformation model. An information processing device, wherein the position information is converted into the vector using a new vector conversion model.
前記付与部は、前記所定の判定装置により、前記送信部が送信した前記ベクトルから前記位置情報が復元できると判定された場合は、前記ベクトルにノイズを付与する手法を変更する
ことを特徴とする請求項に記載の情報処理装置。
The adding unit changes a method of adding noise to the vector when the predetermined determining device determines that the position information can be restored from the vector transmitted by the transmitting unit. The information processing device according to claim 1 .
位置情報を取得する取得部と、
前記位置情報をベクトルに変換する変換部と、
前記ベクトルにノイズを付与する付与部と、
前記ノイズが付与された前記ベクトルを送信する送信部と、
を備え、
前記付与部は、機械学習により構築されたノイズ付与モデルを用いて前記ベクトルに前記ノイズを付与し、
前記送信部は、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、
前記付与部は、前記所定の判定装置により、前記送信部が送信した前記ベクトルから前記位置情報が復元できると判定された場合は、敵対的生成ネットワークを利用して再構築された新たなノイズ付与モデルを用いて前記ベクトルに前記ノイズを付与する
ことを特徴とする情報処理装置。
an acquisition unit that acquires position information;
a conversion unit that converts the position information into a vector;
an imparting unit that imparts noise to the vector;
a transmission unit that transmits the vector to which the noise is added;
with
The imparting unit imparts the noise to the vector using a noise imparting model constructed by machine learning,
The transmitting unit transmits the noise-added vector to a predetermined determination device,
When the predetermined determination device determines that the position information can be restored from the vector transmitted by the transmission unit, the addition unit adds new noise reconstructed using a hostile generation network. An information processing apparatus, wherein the noise is added to the vector using a model.
前記変換部は、複数の前記位置情報のうち、一部の前記位置情報をベクトルに変換し、
前記送信部は、一部の前記位置情報から変換された前記ベクトルと、残りの前記位置情報とを送信する
ことを特徴とする請求項1~のうちいずれか1つに記載の情報処理装置。
The conversion unit converts a part of the position information among the plurality of position information into a vector,
The information processing apparatus according to any one of claims 1 to 3 , wherein the transmission unit transmits the vector converted from part of the position information and the remaining position information. .
位置情報を取得する取得部と、 an acquisition unit that acquires position information;
前記位置情報をベクトルに変換する変換部と、 a conversion unit that converts the position information into a vector;
前記ベクトルにノイズを付与する付与部と、 an imparting unit that imparts noise to the vector;
前記ノイズが付与された前記ベクトルを送信する送信部と、 a transmission unit that transmits the vector to which the noise is added;
を備え、 with
前記変換部は、複数の前記位置情報のうち、一部の前記位置情報をベクトルに変換し、 The conversion unit converts a part of the position information among the plurality of position information into a vector,
前記送信部は、一部の前記位置情報から変換された前記ベクトルと、残りの前記位置情報とを送信する The transmitting unit transmits the vector converted from part of the position information and the remaining position information.
ことを特徴とする情報処理装置。 An information processing device characterized by:
前記付与部は、前記ベクトルに付加情報を付与する
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理装置。
The information processing apparatus according to any one of claims 1 to 5, wherein the adding unit adds additional information to the vector.
前記ベクトルは、ユーザの行動を示す、
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
the vector is indicative of user behavior;
7. The information processing apparatus according to any one of claims 1 to 6, characterized by:
端末装置から位置情報に基づくベクトルを収集する収集部と、
収集された前記ベクトルから前記位置情報を復元できるか否かを判定する判定部と、
前記位置情報を復元できる場合、前記位置情報からベクトルへの変換精度を低下させるように前記端末装置に要求する要求部と、
を備え
前記要求部は、前記端末装置がベクトル変換に用いるベクトル変換モデルを、学習データを削減して再構築するように前記端末装置に要求する
ことを特徴とする情報処理装置。
a collection unit that collects vectors based on location information from a terminal device;
a determination unit that determines whether the position information can be restored from the collected vectors;
a request unit for requesting the terminal device to reduce the accuracy of conversion from the position information to a vector when the position information can be restored;
with
The information processing apparatus, wherein the request unit requests the terminal device to reconstruct the vector transformation model used by the terminal device for vector transformation by reducing learning data.
前記要求部は、前記位置情報を復元できる場合、前記端末装置により前記ベクトルに付与されるノイズの精度を向上させるように前記端末装置に要求する
ことを特徴とする請求項に記載の情報処理装置。
9. The information processing according to claim 8 , wherein, when the position information can be restored, the request unit requests the terminal device to improve the accuracy of noise added to the vector by the terminal device. Device.
前記要求部は、前記端末装置がノイズ付与に用いるノイズ付与モデルを、敵対的生成ネットワークを利用して再構築するように前記端末装置に要求する
ことを特徴とする請求項に記載の情報処理装置。
10. The information processing according to claim 9 , wherein the request unit requests the terminal device to reconstruct the noise addition model used by the terminal device for noise addition using a hostile generative network. Device.
情報処理装置が実行する情報処理方法であって、
位置情報を取得する取得部と、
前記位置情報をベクトルに変換する変換工程と、
前記ベクトルにノイズを付与する付与工程と、
前記ノイズが付与された前記ベクトルを送信する送信工程と、
を含み、
前記変換工程では、機械学習により構築されたベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換し、
前記送信工程では、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、
前記変換工程では、前記所定の判定装置により、前記送信工程で送信した前記ベクトルから前記位置情報が復元できると判定された場合は、前記ベクトル変換モデルよりも学習データを削減して再構築された新たなベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換する
ことを特徴とする情報処理方法。
An information processing method executed by an information processing device,
an acquisition unit that acquires position information;
a conversion step of converting the position information into a vector;
an imparting step of imparting noise to the vector;
a transmitting step of transmitting the vector to which the noise has been added;
including
In the conversion step, the position information is converted into the vector using a vector conversion model constructed by machine learning;
In the transmitting step, the vector to which the noise is added is transmitted to a predetermined determination device;
In the transforming step, if the predetermined determining device determines that the position information can be restored from the vector transmitted in the transmitting step, the model is reconstructed with less learning data than the vector transforming model. transforming the location information into the vector using a new vector transformation model;
An information processing method characterized by:
位置情報を取得する取得手順と、
前記位置情報をベクトルに変換する変換手順と、
前記ベクトルにノイズを付与する付与手順と、
前記ノイズが付与された前記ベクトルを送信する送信手順と、
をコンピュータに実行させ
前記変換手順では、機械学習により構築されたベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換し、
前記送信手順では、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、
前記変換手順では、前記所定の判定装置により、前記送信手順で送信した前記ベクトルから前記位置情報が復元できると判定された場合は、前記ベクトル変換モデルよりも学習データを削減して再構築された新たなベクトル変換モデルを用いて前記位置情報を前記ベクトルに変換する
ことを特徴とする情報処理プログラム。
an acquisition procedure for acquiring location information;
a conversion procedure for converting the position information into a vector;
an adding step of adding noise to the vector;
a transmission procedure for transmitting the vector to which the noise has been added;
on the computer, and
In the conversion procedure, the position information is converted into the vector using a vector conversion model constructed by machine learning;
In the transmission step, the vector to which the noise is added is transmitted to a predetermined determination device;
In the transformation procedure, if the predetermined determination device determines that the position information can be restored from the vector transmitted in the transmission procedure, the vector transformation model is reconstructed with less learning data than the vector transformation model. transforming the location information into the vector using a new vector transformation model;
An information processing program characterized by:
位置情報を取得する取得工程と、 an acquisition step of acquiring location information;
前記位置情報をベクトルに変換する変換工程と、 a conversion step of converting the position information into a vector;
前記ベクトルにノイズを付与する付与工程と、 an imparting step of imparting noise to the vector;
前記ノイズが付与された前記ベクトルを送信する送信工程と、 a transmitting step of transmitting the vector to which the noise has been added;
を備え、 with
前記付与工程では、機械学習により構築されたノイズ付与モデルを用いて前記ベクトルに前記ノイズを付与し、 In the imparting step, the noise is imparted to the vector using a noise imparting model constructed by machine learning,
前記送信工程では、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、 In the transmitting step, the vector to which the noise is added is transmitted to a predetermined determination device;
前記付与工程では、前記所定の判定装置により、前記送信工程で送信した前記ベクトルから前記位置情報が復元できると判定された場合は、敵対的生成ネットワークを利用して再構築された新たなノイズ付与モデルを用いて前記ベクトルに前記ノイズを付与する In the imparting step, if the predetermined determination device determines that the position information can be restored from the vector transmitted in the transmitting step, new noise imparting reconstructed using a hostile generation network impose the noise on the vector using a model
ことを特徴とする情報処理方法。 An information processing method characterized by:
位置情報を取得する取得手順と、 an acquisition procedure for acquiring location information;
前記位置情報をベクトルに変換する変換手順と、 a conversion procedure for converting the position information into a vector;
前記ベクトルにノイズを付与する付与手順と、 an adding step of adding noise to the vector;
前記ノイズが付与された前記ベクトルを送信する送信手順と、 a transmission procedure for transmitting the vector to which the noise has been added;
を備え、 with
前記付与手順では、機械学習により構築されたノイズ付与モデルを用いて前記ベクトルに前記ノイズを付与し、 In the imparting step, the noise is imparted to the vector using a noise imparting model constructed by machine learning,
前記送信手順では、前記ノイズが付与された前記ベクトルを所定の判定装置に送信し、 In the transmission step, the vector to which the noise is added is transmitted to a predetermined determination device;
前記付与手順では、前記所定の判定装置により、前記送信手順で送信した前記ベクトルから前記位置情報が復元できると判定された場合は、敵対的生成ネットワークを利用して再構築された新たなノイズ付与モデルを用いて前記ベクトルに前記ノイズを付与する In the adding step, if the predetermined determining device determines that the position information can be restored from the vector transmitted in the transmitting step, new noise added reconstructed using a hostile generation network. impose the noise on the vector using a model
ことを特徴とする情報処理プログラム。 An information processing program characterized by:
位置情報を取得する取得工程と、 an acquisition step of acquiring location information;
前記位置情報をベクトルに変換する変換工程と、 a conversion step of converting the position information into a vector;
前記ベクトルにノイズを付与する付与工程と、 an imparting step of imparting noise to the vector;
前記ノイズが付与された前記ベクトルを送信する送信工程と、 a transmitting step of transmitting the vector to which the noise has been added;
を備え、 with
前記変換工程では、複数の前記位置情報のうち、一部の前記位置情報をベクトルに変換し、 In the converting step, part of the position information among the plurality of position information is converted into a vector;
前記送信工程では、一部の前記位置情報から変換された前記ベクトルと、残りの前記位置情報とを送信する In the transmitting step, the vector converted from part of the position information and the remaining position information are transmitted.
ことを特徴とする情報処理方法。 An information processing method characterized by:
位置情報を取得する取得手順と、 an acquisition procedure for acquiring location information;
前記位置情報をベクトルに変換する変換手順と、 a conversion procedure for converting the position information into a vector;
前記ベクトルにノイズを付与する付与手順と、 an adding step of adding noise to the vector;
前記ノイズが付与された前記ベクトルを送信する送信手順と、 a transmission procedure for transmitting the vector to which the noise has been added;
を備え、 with
前記変換手順では、複数の前記位置情報のうち、一部の前記位置情報をベクトルに変換し、 In the conversion step, part of the position information among the plurality of position information is converted into a vector;
前記送信手順では、一部の前記位置情報から変換された前記ベクトルと、残りの前記位置情報とを送信する In the transmitting step, the vector converted from a portion of the location information and the remaining location information are transmitted.
ことを特徴とする情報処理プログラム。 An information processing program characterized by:
JP2020157957A 2020-09-18 2020-09-18 Information processing device, information processing method and information processing program Active JP7145917B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020157957A JP7145917B2 (en) 2020-09-18 2020-09-18 Information processing device, information processing method and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020157957A JP7145917B2 (en) 2020-09-18 2020-09-18 Information processing device, information processing method and information processing program

Publications (2)

Publication Number Publication Date
JP2022051462A JP2022051462A (en) 2022-03-31
JP7145917B2 true JP7145917B2 (en) 2022-10-03

Family

ID=80854970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020157957A Active JP7145917B2 (en) 2020-09-18 2020-09-18 Information processing device, information processing method and information processing program

Country Status (1)

Country Link
JP (1) JP7145917B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232068A (en) 2012-04-27 2013-11-14 Kddi Corp Position information anonymity apparatus, position information anonymity method and program
JP2016009196A (en) 2014-06-20 2016-01-18 Kddi株式会社 Anonymity setting device, anonymity setting method, and anonymity setting program
JP2019139654A (en) 2018-02-14 2019-08-22 ヤフー株式会社 Provision device, provision method and provision program
JP2020042481A (en) 2018-09-10 2020-03-19 Zホールディングス株式会社 Information management system, information management device, information provision system, information management method, program, and application program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232068A (en) 2012-04-27 2013-11-14 Kddi Corp Position information anonymity apparatus, position information anonymity method and program
JP2016009196A (en) 2014-06-20 2016-01-18 Kddi株式会社 Anonymity setting device, anonymity setting method, and anonymity setting program
JP2019139654A (en) 2018-02-14 2019-08-22 ヤフー株式会社 Provision device, provision method and provision program
JP2020042481A (en) 2018-09-10 2020-03-19 Zホールディングス株式会社 Information management system, information management device, information provision system, information management method, program, and application program

Also Published As

Publication number Publication date
JP2022051462A (en) 2022-03-31

Similar Documents

Publication Publication Date Title
Joe et al. Location-based orientation context dependent recommender system for users
JP5731075B2 (en) Content surfacing based on geosocial factors
JP2018049618A (en) Systems and methods for improved data integration in virtual reality architectures
JP7160873B2 (en) Information processing system and information processing method
CN110651266B (en) System and method for providing information for on-demand services
JP7098689B2 (en) Information processing equipment, information processing methods and information processing programs
JP7145917B2 (en) Information processing device, information processing method and information processing program
JP7317901B2 (en) Information processing device, information processing method and information processing program
JP7239531B2 (en) Information processing device, information processing method and information processing program
JP7193507B2 (en) Information processing device, information processing method and information processing program
JP7280227B2 (en) Information processing device, information processing method and information processing program
JP7187597B2 (en) Information processing device, information processing method and information processing program
JP7095040B2 (en) Information processing equipment, information processing methods and information processing programs
JP7291177B2 (en) Terminal device, information processing method and information processing program
JP5308380B2 (en) Contact map display device and program
JP7353328B2 (en) Terminal device, information processing method, and information processing program
JP7388744B2 (en) Information processing device, information processing method, and information processing program
JP7459021B2 (en) Information processing device, information processing method, and information processing program
JP7145247B2 (en) Information processing device, information processing method and information processing program
JP7155195B2 (en) Information processing device, information processing method and information processing program
JP2023000786A (en) Information processor, method for processing information, and information processing program
JP2023133012A (en) Information processing device, information processing method, and information processing program
JP2021189973A (en) Information processing apparatus, information processing method, and information processing program
JP2023028857A (en) Information processing system
JP2024025997A (en) Information processing device, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220920

R150 Certificate of patent or registration of utility model

Ref document number: 7145917

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