JP7098689B2 - Information processing equipment, information processing methods and information processing programs - Google Patents

Information processing equipment, information processing methods and information processing programs Download PDF

Info

Publication number
JP7098689B2
JP7098689B2 JP2020146118A JP2020146118A JP7098689B2 JP 7098689 B2 JP7098689 B2 JP 7098689B2 JP 2020146118 A JP2020146118 A JP 2020146118A JP 2020146118 A JP2020146118 A JP 2020146118A JP 7098689 B2 JP7098689 B2 JP 7098689B2
Authority
JP
Japan
Prior art keywords
vector
information
unit
position information
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020146118A
Other languages
Japanese (ja)
Other versions
JP2022041090A (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 JP2020146118A priority Critical patent/JP7098689B2/en
Publication of JP2022041090A publication Critical patent/JP2022041090A/en
Application granted granted Critical
Publication of JP7098689B2 publication Critical patent/JP7098689B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

通信装置の位置情報を低消費電力で送信する技術が開示されている。 A technique for transmitting position information of a communication device with low power consumption is disclosed.

特開2020-042681号公報Japanese Unexamined Patent Publication No. 2020-042681

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

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

そこで、発明者等は位置情報をエンベディング(ベクトル化)して送信する方法を検討している。エッジ(端末装置)からサーバに個人情報を含む情報を送信する際に、エッジ側で情報にエンベディング処理を施したエンベディング情報を送信することで、個人情報特有の問題は解決される。しかし、エンベディング情報の内容を考慮して送信しなければ、サーバ側で目的に応じた分析や解析が十分に行えないという問題があった。 Therefore, the inventors are studying a method of embedding (vectorizing) position information and transmitting it. When transmitting information including personal information from the edge (terminal device) to the server, the problem peculiar to the personal information is solved by transmitting the embedding information obtained by subjecting the information to the embedding process on the edge side. However, there is a problem that analysis and analysis according to the purpose cannot be sufficiently performed on the server side unless the content of the embedding information is taken into consideration when transmitting.

本願は、上記に鑑みてなされたものであって、人の行動の周期性を考慮してエンベディング情報を選別することを目的とする。 The present application has been made in view of the above, and an object thereof is to select embedding information in consideration of the periodicity of human behavior.

本願に係る情報処理装置は、位置情報を取得する取得部と、前記位置情報をベクトルに変換する変換部と、前記ベクトルとユーザの周期的な行動を示す基底ベクトルとを照合する照合部と、前記ベクトルが前記基底ベクトルに該当しない場合、前記ベクトルに関連する情報を送信する送信部と、を備えることを特徴とする。 The 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, and a collation unit that collates the vector with a basis vector indicating a periodic action of a user. When the vector does not correspond to the basis vector, it is characterized by including a transmission unit for transmitting information related to the vector.

実施形態の一態様によれば、人の行動の周期性を考慮してエンベディング情報を選別することができる。 According to one aspect of the embodiment, the embedding information can be selected in consideration of the periodicity of human behavior.

図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 showing a configuration example of an information processing system according to an embodiment. 図3は、実施形態に係る端末装置の構成例を示す図である。FIG. 3 is a diagram showing a configuration example of the terminal device according to the embodiment. 図4は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 4 is a diagram showing a configuration example of the 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 showing a processing procedure according to the embodiment. 図8は、ハードウェア構成の一例を示す図である。FIG. 8 is a diagram showing an example of a hardware configuration.

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

〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、端末装置が人の行動の周期性を考慮してエンベディング情報を選別する場合を例に挙げて説明する。
[1. Overview of information processing method]
First, with reference to FIG. 1, an outline of an information processing method performed by the information processing apparatus according to the embodiment will be described. FIG. 1 is an explanatory diagram showing an outline of an information processing method according to an embodiment. In FIG. 1, a case where the terminal device selects the embedding information in consideration of the periodicity of human behavior 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 connected to each other via a network N (see FIG. 2) so as to be able to communicate with each other by wire or wirelessly.

端末装置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. Further, the terminal device 10 is a screen such as a liquid crystal display and has a screen having a touch panel function, and various types of display data such as contents such as tap operation, slide operation, scroll operation, etc. from the user by a finger, a stylus, or the like. Accept the operation of. The operation performed on the area of the screen on which the content is displayed may be an operation on the content. Further, the terminal device 10 may be not only a smart device but also an information processing device such as a desktop PC (Personal Computer) or a notebook PC.

ここでは、端末装置10は、自身の位置情報を取得し、取得した位置情報をベクトルに変換(ベクトル化)する。すなわち、端末装置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 (embedding) and generates an embedding vector (embedding vector) based on the position information. Then, the terminal device 10 transmits an embedding vector based on the position 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 position 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 position information. , Realized by server devices, cloud systems, etc.

〔1-1.位置情報をベクトルに変換する利点〕
まず、位置情報をベクトルに変換する利点について説明する。
[1-1. Advantages of converting location information to 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 has transmitted location information to the information providing device 100, but at this time, the terminal device 10 rounds the location information in order to consider the privacy of the user U and reduce the amount of data communication. (Rounding process) was performed, and the position information was rounded and converted into coarse position information before transmission. For example, if the position information is the latitude / longitude information of GPS (Global Positioning System) coordinates, the values below the second decimal place at the decimal angle of latitude and longitude are rounded up or down (rounding is also possible). It was converted to the position information of the value.

この場合、情報提供装置100は、位置情報に基づいてユーザUの行動を推定しようとしたとき、丸めた位置情報は大まかな値であるため、地域や大規模施設等のエリア単位の広い場所は特定できても、隣接する小規模な建物や部屋等の狭い場所(及び/又は屋内外の違い)を特定できないことがあった。そのため、ユーザUの大まかな行動については推定可能であるが、ユーザUの詳細な行動については推定できないこともあった。例えば、ユーザUの丸めた位置情報が示す場所の範囲内に小規模な建物Aと建物B(例えばコンビニエンスストアとファストフード店等)が隣接して建っている場合、ユーザUが建物Aと建物Bのどちらにいるのか、あるいは建物(又は敷地)の内側と外側のどちらにいるのかを、位置情報から特定できないこともあった。情報提供装置100(サーバ側)が本当に知りたいのは、ユーザUの位置情報それ自体ではなく、位置情報が示すユーザUの行動(すなわち、ユーザUのコンテキスト)である。 In this case, when the information providing device 100 tries to estimate the behavior of the user U based on the position information, the rounded position information is a rough value. Even if it could be identified, it was sometimes not possible to identify a narrow place (and / or the difference between indoors and outdoors) such as an adjacent small building or room. Therefore, although the rough 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 store) are adjacent to each other within the range indicated by the rounded location information of the user U, the user U is the building A and the building. In some cases, it was not possible to identify from the location information whether it was in B or inside or outside the building (or site). What the information providing device 100 (server side) really wants to know is not the position information itself of the user U, but the behavior of the user U indicated by the position 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, it converts the raw data of the position information before the rounding process (rounding process) into a vector. Therefore, the terminal device 10 can generate an embedding vector after specifying a narrow place (and / or a difference between indoors and outdoors) such as an adjacent small building or room. Therefore, the information providing device 100 can know the detailed behavior of the user U based on the embedding vector. That is, the information providing device 100 can acquire specific and detailed information about the behavior of the user U from the terminal device 10 rather than receiving the conventional rounded position information. Further, since it is the information providing device 100 (server side) that defines the vector value of the embedding vector and the content that it means, even if a third party sees only the vector value of the embedding vector, what is the vector value? It's safe because I don't understand what it means.

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

図1に示すように、ユーザUの端末装置10は、自身の位置情報を取得する(ステップS1)。 As shown in FIG. 1, the terminal device 10 of the user U acquires its own position information (step S1).

そして、端末装置10は、取得した位置情報を蓄積する(ステップS2)。 Then, the terminal device 10 accumulates the acquired position information (step S2).

そして、端末装置10は、位置情報に対してエンベディングを行い、複数の位置情報を1つのベクトルに変換(ベクトル化)し、位置情報に基づくエンベディングベクトル(埋め込みベクトル)を生成する(ステップS3)。 Then, the terminal device 10 embeds the position information, converts (vectorizes) a plurality of position information into one vector, and generates an embedding vector (embedded vector) based on the position information (step S3).

そして、端末装置10は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とを照合する(ステップS14)。 Then, the terminal device 10 collates the embedding vector based on the position information with the base of the embedding vector (step S14).

そして、端末装置10は、エンベディングベクトルに関連する情報を情報提供装置100に送信する(ステップS5)。 Then, the terminal device 10 transmits information related to the embedding vector to the information providing device 100 (step S5).

そして、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報を受信する(ステップS6)。 Then, the information providing device 100 receives information related to the embedding vector from the terminal device 10 (step S6).

そして、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報を受信した場合には、位置情報に基づくエンベディングベクトルの形式で蓄積する(ステップS7)。 Then, when the information providing device 100 receives the information related to the embedding vector from the terminal device 10, the information providing device 100 stores the information in the form of the embedding vector based on the position information (step S7).

そして、情報提供装置100は、一定期間ごとに、蓄積されたエンベディングベクトルの周期性に基づいて、エンベディングベクトルの基底を生成する(ステップS8)。 Then, the information providing device 100 generates the basis of the embedding vector based on the periodicity of the accumulated embedding vector at regular intervals (step S8).

そして、情報提供装置100は、生成されたエンベディングベクトルの基底を端末装置10に送信する(ステップS9)。 Then, the information providing device 100 transmits the base of the generated embedding vector to the terminal device 10 (step S9).

〔1-3.実施例1〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例1について説明する。
[1-3. Example 1]
Next, the first embodiment of the information processing method of embedding and transmitting the above-mentioned 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 the plurality of users U located in each area uses positioning technology such as GNSS (Global Navigation Satellite System) or indoor positioning technology. Each acquires its own position information. At this time, the terminal device 10 acquires the time information indicating the time when the position information is acquired together with the position information of the terminal device 10.

続いて、ステップ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 position information into a single multidimensional vector. For example, the terminal device 10 generates an embedding vector based on sequence data (time-series 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 the position information every minute, the position information 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 the position information for each minute in 30 minutes is arranged in chronological order. Alternatively, the terminal device 10 generates sequence data in which the position information for the first minute in 30 minutes and the difference for each minute with respect to the position information are arranged in chronological order.

例えば、端末装置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 multidimensional real-valued vector by using a machine learning method using a neural network 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. do. The terminal device 10 may receive a vector conversion model from the information providing device 100.

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

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

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

ここでは、端末装置10が上記のベクトル変換モデルや所定の変換規則等に従って位置情報のデータを元にエンベディングすると、出力される値がベクトル表現になる。これらの出力されたベクトルを時系列に並べると、ユーザの移動経路が示される。例えば、具体的な緯度経度は不明であるが、ベクトル空間上のA点からB点へ移動したこと等が示される。すなわち、端末装置10が位置情報を使ってエンベディングした結果(出力された値)が、エンベディングベクトルである。このエンベディングベクトルは、ユーザの行動を示す値(コンテキストを示す値)である。 Here, when the terminal device 10 embeds based on the position information data according to the above vector conversion model, a predetermined conversion rule, or the like, the output value becomes a vector expression. Arranging these output vectors in chronological order shows the user's travel path. For example, although the specific latitude and longitude are unknown, it is shown that the vector space has moved from point A to point B. 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 value indicating the user's behavior (value indicating the context).

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

続いて、ステップS4において、端末装置10は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とを照合する。 Subsequently, in step S4, the terminal device 10 collates the embedding vector based on the position information with the base of the embedding vector.

エンベディングベクトルの基底は、ユーザUの周期的な行動を示す周期性情報である。ユーザUの周期的な行動とは、日課(ルーティン:routine)等の曜日や時刻ごとに毎回決まって行う行動、職場や行きつけの店舗等の特定の場所に向かう行動、習慣化した特定の行動等を指す。例えば、エンベディングベクトルの基底は、一週間単位での曜日や時刻ごとの平均的なユーザUの行動を示す。すなわち、エンベディングベクトルの基底は、エンベディングベクトルの周期性に関する基底ベクトルである。エンベディングベクトルの基底は、端末側である端末装置10と、サーバ側である情報提供装置100との間で共有する。 The basis of the embedding vector is periodic information indicating the periodic behavior of the user U. User U's periodic actions include actions that are routinely performed every day of the week (routine), etc., actions that go to a specific place such as a workplace or a favorite store, and specific actions that have become habitual. Point to. For example, the basis of the embedding vector shows the average user U behavior for each day of the week or time of day. That is, the basis of the embedding vector is the basis vector relating to the periodicity of the embedding vector. The basis of the embedding vector is shared between the terminal device 10 on the terminal side and the information providing device 100 on the server side.

ここでは、端末装置10は、基底となるエンベディングベクトルと、実測されたエンベディングベクトルとを照合している。具体的には、端末装置10は、周期性情報としてユーザUの位置情報から変換された複数のベクトルに基づいた基底ベクトルと、新たに取得されたユーザUの位置情報から変換された複数のベクトルとを照合する。 Here, the terminal device 10 collates the base embedding vector with the actually measured embedding vector. Specifically, the terminal device 10 has a basis vector based on a plurality of vectors converted from the position information of the user U as periodicity information, and a plurality of vectors converted from the newly acquired position information of the user U. And match.

このとき、端末装置10は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と同じ(同一又は類似)である場合、ユーザUの行動が「普段通り」であると判定する。例えば、端末装置10は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とが同一又は類似(差分が無視できるほど微小)である場合には、情報提供装置100にエンベディングベクトルを通知する必要はない。 At this time, when the embedding vector based on the position information is the same (same or similar) as the base of the embedding vector, the terminal device 10 determines that the behavior of the user U is "as usual". For example, when the terminal device 10 has the same or similar (the difference is negligible) between the embedding vector based on the position information and the base of the embedding vector, it is necessary to notify the information providing device 100 of the embedding vector. do not have.

例えば、サーバ側である情報提供装置100が、ユーザUが普段と違う行動をとった時のエンベディングベクトルのみ知りたい場合には、端末装置10から逐一エンベディングベクトルを通知する必要はない。これにより、端末装置10のデータ通信量や通信回数を削減することができる。 For example, if the information providing device 100 on the server side wants to know only the embedding vector when the user U takes an unusual action, it is not necessary to notify the embedding vector one by one from the terminal device 10. As a result, the amount of data communication and the number of times of communication of the terminal device 10 can be reduced.

また、上記のように、端末装置10は、ベクトルと基底とを照合する際、ある程度のずれ(差分)を認めてもよい。すなわち、端末装置10は、ベクトルと基底とが完全一致しなくても、ベクトルと基底とが類似していれば、「普段通り」と判定してもよい。例えば、ハミング距離が所定の閾値未満、コサイン類似度が所定の閾値未満である場合は、「普段通り」と判定してもよい。また、端末装置10は、ベクトルが示すコンテキストと基底が示すコンテキストが一致あるいは類似するかを判定してもよい。例えば、ベクトルが「3時間おきに移動している」旨を示し、基底が「4時間おきに移動している」旨を示す場合は、「普段通り」と判定してもよい。 Further, as described above, the terminal device 10 may allow a certain degree of deviation (difference) when collating the vector with the basis. That is, the terminal device 10 may determine "as usual" if the vector and the basis are similar, even if the vector and the basis do not completely match. For example, when the Hamming distance is less than a predetermined threshold value and the cosine similarity is less than a predetermined threshold value, it may be determined as "as usual". Further, the terminal device 10 may determine whether the context indicated by the vector and the context indicated by the basis match or are similar to each other. For example, when the vector indicates "moving every 3 hours" and the basis indicates "moving every 4 hours", it may be determined as "as usual".

また、端末装置10は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と小さく異なる場合、情報提供装置100に差分を通知する必要があると判定する。例えば、端末装置10は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とが小さく異なる場合には、主成分分析(PCA:Principal Component Analysis)等により、変動した次元(要素)を特定し、変動した次元の値を通知すれば十分である。例えば、多次元のベクトルのうち3次元のベクトルが変動している場合には、上位3つの要素のベクトル値を通知すればよい。 Further, when the embedding vector based on the position information is slightly different from the base of the embedding vector, the terminal device 10 determines that it is necessary to notify the information providing device 100 of the difference. For example, when the embedding vector based on the position information and the basis of the embedding vector are slightly different, the terminal device 10 identifies a fluctuating dimension (element) by principal component analysis (PCA) or the like. It is sufficient to notify the value of the fluctuating dimension. For example, when the three-dimensional vector is fluctuating among the multidimensional vectors, the vector values of the upper three elements may be notified.

また、端末装置10は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と大きく異なる場合、情報提供装置100にエンベディングベクトル自体を通知する必要があると判定する。例えば、端末装置10は、位置情報に基づくエンベディングベクトルが、エンベディングベクトルの基底から大きくずれている(乖離している)場合には、情報提供装置100に位置情報に基づくエンベディングベクトルの全体(全要素のベクトル値)を通知する必要がある。 Further, the terminal device 10 determines that it is necessary to notify the information providing device 100 of the embedding vector itself when the embedding vector based on the position information is significantly different from the basis of the embedding vector. For example, in the terminal device 10, when the embedding vector based on the position information is largely deviated (deviation) from the base of the embedding vector, the information providing device 100 informs the information providing device 100 of the entire embedding vector based on the position information (all elements). (Vector value of) needs to be notified.

このとき、端末装置10は、位置情報に基づくエンベディングベクトルとエンベディングベクトルの基底との差分の閾値を、0<第1の閾値<第2の閾値のように設定しておき、差分が第1の閾値未満であれば「同じ」、差分が第1の閾値以上第2の閾値未満であれば「小さく異なる」、差分が第2の閾値以上であれば「大きく異なる」と判定するようにしてもよい。 At this time, the terminal device 10 sets the threshold value of the difference between the embedding vector based on the position information and the base of the embedding vector as 0 <first threshold value <second threshold value, and the difference is the first. If it is less than the threshold value, it is judged to be "same", if the difference is greater than or equal to the first threshold value and less than the second threshold value, it is determined to be "small difference", and if the difference is greater than or equal to the second threshold value, it is determined to be "significantly different". good.

続いて、ステップS5において、端末装置10は、ネットワークN(図3参照)を介して、エンベディングベクトルに関連する情報を情報提供装置100に送信する。 Subsequently, in step S5, the terminal device 10 transmits information related to the embedding vector to the information providing device 100 via the network N (see FIG. 3).

例えば、端末装置10は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と小さく異なる場合には、位置情報に基づくエンベディングベクトルとエンベディングベクトルの基底との差分(変動した次元の値)を情報提供装置100に送信する。 For example, the terminal device 10 provides information on the difference (variable dimensional value) between the embedding vector based on the position information and the base of the embedding vector when the embedding vector based on the position information is slightly different from the base of the embedding vector. Send to 100.

また、端末装置10は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と大きく異なる場合には、位置情報に基づくエンベディングベクトルの全体を情報提供装置100に送信する。 Further, when the embedding vector based on the position information is significantly different from the basis of the embedding vector, the terminal device 10 transmits the entire embedding vector based on the position information to the information providing device 100.

なお、実際には、端末装置10は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と同じ(同一又は類似)である場合には、情報提供装置100に「普段通り」である旨を通知するようにしてもよい。すなわち、端末装置10は、「普段通り」である場合には、「普段通り」である旨を示す情報を情報提供装置100に送信してもよい。また、「普段通り」である旨を示す情報は、「普段通り」である旨を示すエンベディングベクトルであってもよい。「普段通り」である旨を示すエンベディングベクトルは、例えば、位置情報に基づくエンベディングベクトルに、「普段通り」である旨を示すベクトルを付加したものであってもよい。このとき、多次元のベクトルのうち、所定の要素が「普段通り」である旨を示すベクトルであってもよい。 In fact, when the embedding vector based on the position information is the same (same or similar) as the base of the embedding vector, the terminal device 10 notifies the information providing device 100 that it is "as usual". You may do so. That is, when the terminal device 10 is "as usual", the terminal device 10 may transmit information indicating "as usual" to the information providing device 100. Further, the information indicating "as usual" may be an embedding vector indicating "as usual". The embedding vector indicating "as usual" may be, for example, an embedding vector based on position information to which a vector indicating "as usual" is added. At this time, among the multidimensional vectors, it may be a vector indicating that a predetermined element is "as usual".

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

続いて、ステップS6において、情報提供装置100は、各地域に所在する複数のユーザUの各々が所持する端末装置10から、ネットワークNを介して、それぞれの位置情報に基づくエンベディングベクトルを受信する。 Subsequently, in step S6, the information providing device 100 receives an embedding vector based on each position information from the terminal device 10 possessed by each of the plurality of users U located in each area via the network N.

このとき、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報を受信しなかった場合には、ユーザUの行動が「普段通り」であったと判断する。例えば、情報提供装置100は、端末装置10のトラブルや通信障害、又は端末装置10が電波の届かない位置にあり通信が途絶えたため、既定のタイミングで端末装置10からエンベディングベクトルに関連する情報を受信できなかった場合などであっても、ユーザUの行動が「普段通り」であったと判断する。 At this time, when the information providing device 100 does not receive the information related to the embedding vector from the terminal device 10, it is determined that the behavior of the user U is "as usual". For example, the information providing device 100 receives information related to the embedding vector from the terminal device 10 at a predetermined timing because the terminal device 10 has a trouble or a communication failure, or the terminal device 10 is in a position where the radio wave does not reach and the communication is interrupted. Even if it cannot be done, it is determined that the behavior of the user U is "as usual".

なお、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報を受信しなかった場合であっても、端末装置10のトラブルや通信障害等を認識できる場合には、認識した通りに判断してもよい。 Even if the information providing device 100 does not receive the information related to the embedding vector from the terminal device 10, if the trouble, the communication failure, or the like of the terminal device 10 can be recognized, the information providing device 100 is as recognized. You may judge.

また、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報として「普段通り」である旨を示す情報を受信した場合には、ユーザUの行動が「普段通り」であったと判断する。この場合、情報提供装置100は、位置情報に基づくエンベディングベクトルを蓄積しない。 Further, when the information providing device 100 receives from the terminal device 10 information indicating that the information is "as usual" as the information related to the embedding vector, it is determined that the behavior of the user U is "as usual". do. In this case, the information providing device 100 does not accumulate the embedding vector based on the position information.

続いて、ステップS7において、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報を受信した場合には、位置情報に基づくエンベディングベクトルの形式で蓄積する。 Subsequently, in step S7, when the information providing device 100 receives the information related to the embedding vector from the terminal device 10, the information providing device 100 stores the information in the form of the embedding vector based on the position information.

例えば、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報として、位置情報に基づくエンベディングベクトルとエンベディングベクトルの基底との差分(変動した次元の値)を受信した場合、エンベディングベクトルの基底に差分を反映したエンベディングベクトルを求め、求めたエンベディングベクトルを蓄積する。 For example, when the information providing device 100 receives from the terminal device 10 the difference (variable dimensional value) between the embedding vector based on the position information and the base of the embedding vector as information related to the embedding vector, the embedding vector Find the embedding vector that reflects the difference in the basis, and accumulate the found embedding vector.

また、情報提供装置100は、端末装置10から、エンベディングベクトルに関連する情報として、位置情報に基づくエンベディングベクトルの全体を受信した場合、位置情報に基づくエンベディングベクトルをそのまま蓄積する。 Further, when the information providing device 100 receives the entire embedding vector based on the position information as the information related to the embedding vector from the terminal device 10, the information providing device 100 stores the embedding vector based on the position information as it is.

続いて、ステップS8において、情報提供装置100は、一定期間ごとに、蓄積されたエンベディングベクトルに基づいて、ユーザUの行動の周期性を表す情報を抽出し、エンベディングベクトルの周期性に基づいて、エンベディングベクトルの基底を生成する。 Subsequently, in step S8, the information providing device 100 extracts information representing the periodicity of the behavior of the user U based on the accumulated embedding vector at regular intervals, and based on the periodicity of the embedding vector, Generate the basis of the embedding vector.

例えば、情報提供装置100は、蓄積されたエンベディングベクトルについて、ベクトルの要素それぞれでフーリエ変換を行う。そして、得られたスペクトルにおいて、要素間で共通して絶対値の大きいところを取り出して、ユーザUの行動の周期性を表す情報と推定する。このとき、情報提供装置100は、日ごと・週ごとの周期性を表す情報を取り出すことができる。情報提供装置100は、これらの情報に基づいて、エンベディングベクトルの基底を生成する。 For example, the information providing device 100 performs a Fourier transform on each of the elements of the accumulated embedding vector. Then, in the obtained spectrum, the part having a large absolute value common among the elements is extracted and estimated as information representing the periodicity of the action of the user U. At this time, the information providing device 100 can take out information representing the periodicity of each day and every week. The information providing device 100 generates the basis of the embedding vector based on this information.

なお、目立った周期性がない場合、当該ユーザUについては周期性を判断する処理の対象外とする。この場合、情報提供装置100は、端末装置10から、毎回、位置情報に基づくエンベディングベクトルを受信する。 If there is no conspicuous periodicity, the user U is excluded from the process of determining the periodicity. In this case, the information providing device 100 receives an embedding vector based on the position information from the terminal device 10 every time.

ここで、周期としては、基本的に週周期(日周期を内包する形で)を想定している。例えば、10週分など一定量のデータが蓄積された後であれば、同じ曜日や時間帯のエンベディングベクトルを並べることで、周期の中の位相(曜日や時刻等)が同じところでのエンベディングベクトルの平均、及び平均からの差分のバリエーションを見ることができる。 Here, the cycle is basically assumed to be a weekly cycle (including a daily cycle). For example, after a certain amount of data has been accumulated, such as for 10 weeks, by arranging the embedding vectors for the same day of the week or time zone, the embedding vectors in the same phase (day of the week, time, etc.) in the cycle can be arranged. You can see the average and the variation of the difference from the average.

例えば、情報提供装置100は、主成分分析(PCA)等により、エンベディングベクトルの差分のバリエーションを低次元で効率よく表すことができるような基底を計算する。 For example, the information providing apparatus 100 calculates a basis capable of efficiently expressing the variation of the difference of the embedding vector in a low dimension by principal component analysis (PCA) or the like.

ユーザUの状態を表すエンベディングベクトルはサイズ的には大きなものではなく(例えば32次元、大きくても256次元程度)、端末装置10(端末側)で蓄積するとしてもストレージ容量の成約には特にかからない。端末装置10(端末側)と情報提供装置100(サーバ側)との両方でエンベディングベクトルを蓄積しておき、両方で主成分分析(PCA)等による計算を実施する。これにより、特に追加で通信を行わなくても、端末装置10(端末側)と情報提供装置100(サーバ側)との間で、平均や基底などの前提を共有できる。 The embedding vector representing the state of the user U is not large in size (for example, 32 dimensions, at most 256 dimensions), and even if it is stored in the terminal device 10 (terminal side), it does not particularly affect the contract of storage capacity. .. Embedding vectors are accumulated in both the terminal device 10 (terminal side) and the information providing device 100 (server side), and calculation by principal component analysis (PCA) or the like is performed in both. As a result, assumptions such as the average and the basis can be shared between the terminal device 10 (terminal side) and the information providing device 100 (server side) without any additional communication.

通常であれば、例えば32次元のベクトルを送信していたようなところで、同曜日、同時刻の平均からの残差を表す主成分分析(PCA)の上位の3つの係数(3次元)等だけで済ませることが可能になる。 Normally, for example, in a place where a 32-dimensional vector was transmitted, only the upper three coefficients (3D) of the principal component analysis (PCA) representing the residual from the average at the same time on the same day of the week, etc. It will be possible to finish with.

「平均+残差」でうまく本来のベクトルを表せない場合や、エラーが大きくなる場合では、端末装置10(端末側)の判断(例えば、エラーのnormが一定値以上等の条件)で、例えば3次元の差分の代わりに本来の32次元のベクトル全体を送信するように切り替えてもよい。この場合、差分とベクトル全体とのどちらであるかわかるように、送信データにフラグを含める。 If the original vector cannot be expressed well by "mean + residual", or if the error becomes large, the judgment of the terminal device 10 (terminal side) (for example, the condition that the norm of the error is a certain value or more) is used, for example. Instead of the three-dimensional difference, it may be switched to transmit the entire original 32-dimensional vector. In this case, a flag is included in the transmission data so that it can be determined whether it is a difference or the entire vector.

なお、ステップS8において、情報提供装置100は、ユーザUの行動の周期性を表す情報を抽出する際に、エンベディングベクトルを特定空間に配置してもよい。情報提供装置100は、エンベディングベクトルを特定空間に配置することで、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を明確に把握することができる。例えば、端末装置10は、位置情報(緯度経度等)に対してエンベディングを行うので、同じ位置にいる場合は同じ値のエンベディングベクトルを生成する。情報提供装置100は、同じ値のエンベディングベクトルを特定空間上の同じ位置に配置する。 In step S8, the information providing device 100 may arrange the embedding vector in a specific space when extracting the information representing the periodicity of the behavior of the user U. By arranging the embedding vector in a specific space, the information providing device 100 clearly grasps the similarity and change of the behavior of the user U and / or the similarity and the difference of the behavior between the user U and another user. can do. For example, since the terminal device 10 embeds the position information (latitude and longitude, etc.), if they are at the same position, the embedding vector of the same value is generated. The information providing device 100 arranges the embedding vector of the same value at the same position on the specific space.

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

続いて、ステップS9において、情報提供装置100は、ネットワークNを介して、エンベディングベクトルの基底を端末装置10に送信する。 Subsequently, in step S9, the information providing device 100 transmits the base of the embedding vector to the terminal device 10 via the network N.

このとき、端末装置10は、情報提供装置100から受信したエンベディングベクトルの基底を反映し、次回以降のエンベディングベクトルとの照合に使用する。例えば、端末装置10は、記憶しているエンベディングベクトルの基底を更新する。すなわち、端末装置10は、保有している既存のエンベディングベクトルの基底を、受信した新規のエンベディングベクトルの基底で上書きする。 At this time, the terminal device 10 reflects the basis of the embedding vector received from the information providing device 100, and is used for collation with the embedding vector from the next time onward. For example, the terminal device 10 updates the basis of the stored embedding vector. That is, the terminal device 10 overwrites the base of the existing embedding vector it has with the base of the new embedding vector received.

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

〔1-4.実施例2〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例2について説明する。
[1-4. Example 2]
Next, the second embodiment of the information processing method for embedding and transmitting the above-mentioned 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 position information to the information providing device 100 together with the embedding vector based on the position information. That is, the terminal device 10 may transmit a set of information related to the embedding vector based on the position information and its own position information to the information providing device 100.

例えば、位置情報の送信に制約が課せられていなかった時(自由に位置情報が送信できていた時)には、端末側は「常に許可」の場合には1日で平均17点程度の位置情報をサーバ側に送信していたが、最近では制約が厳しくなり、端末側は3点程度の位置情報しかサーバ側に送信しないようになっている。そこで、端末装置10は、例えば17点の位置情報のうち14点の位置情報をベクトル化したエンベディングベクトルを生成して基底と照合し、ベクトルが基底に該当しない場合には、エンベディングベクトルに関連する情報を、残りの3点の位置情報とともにサーバ側に送信するようにしてもよい。すなわち、端末装置10は、一部の位置情報をベクトル化したエンベディング情報に関連する情報と、残りの位置情報それ自体とを送信するようにしてもよい。なお、残りの位置情報は、端末側が送信可能な数の位置情報である。 For example, when there are no restrictions on the transmission of location information (when location information can be transmitted freely), the terminal side will have an average of 17 points per day if "always allow". Information was sent to the server side, but recently, restrictions have become stricter, and the terminal side has come to send only about three points of location information to the server side. Therefore, for example, the terminal device 10 generates an embedding vector obtained by vectorizing the position information of 14 points out of the position information of 17 points and collates it with the base. If the vector does not correspond to the base, it is related to the embedding vector. The information may be transmitted to the server side together with the position information of the remaining three points. That is, the terminal device 10 may transmit information related to the embedding information obtained by vectorizing a part of the position information and the remaining position information itself. The remaining position information is the number of position information that can be transmitted by the terminal side.

エンベディングベクトルは、ユーザUの行動を示すものであるが、ユーザUの具体的な位置を示すものではない。そのため、情報提供装置100(サーバ側)では、ユーザUの行動がどの辺りの地域で行われたのかは知ることができない。そこで、エンベディングベクトルと、丸めた位置情報とを組み合わせることで、情報提供装置100(サーバ側)で、ユーザUの行動がどの辺りの地域で行われたのか、大体の場所を知ることができる。例えば、エンベディングベクトルは、「ユーザ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 device 100 (server side) cannot know in which area the user U's action was performed. Therefore, by combining the embedding vector and the rounded position information, the information providing device 100 (server side) can know the approximate location of the user U's action in which area. For example, the embedding vector can indicate that "user U had lunch" but does not indicate "in which area" user U had lunch. By adding the rounded position information indicating a rough place (for example, XX ward △△ town) to this, it is possible to know the approximate place where the user U had lunch. In addition, the periodic behavior of the user U can be known more concretely.

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

また、端末装置10は、位置情報(緯度経度等)に対してエンベディングを行うので、同じ位置にいる場合は同じ値のエンベディングベクトルを生成する。したがって、情報提供装置100は、同じ値のエンベディングベクトルに基づいて、ユーザUが同じ場所に滞在していることを推定することも可能である。これにより、情報提供装置100は、具体的な位置を特定しなくても、ユーザUが日常的に夜間に同じ場所に長時間滞在している場合には「自宅にいる」、日常的に日中に夜間と異なる場所に長時間滞在している場合には「職場にいる」と推定することも可能である。 Further, since the terminal device 10 embeds the position information (latitude and longitude, etc.), if they are at the same position, the embedding vector of the same value is generated. Therefore, the information providing device 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 device 100 "is at home" on a daily basis when the user U routinely stays at the same place for a long time at night without specifying a specific position. It is also possible to presume that you are "at work" if you are staying in a place different from the night for a long time.

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

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

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

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

なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、端末装置10は、同様の自然言語処理モデルを用いてもよい。 The RNN and LSTM may be a neural network based on an attention mechanism. Further, 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 an embedding vector according to a predetermined conversion rule. For example, in the terminal device 10, the first acquired position information # 1 is within a predetermined range from the home of the user U, the second acquired position information # 2 is within a predetermined range from the station, and finally. When the acquired position information # 3 is within a predetermined range from the place of employment, an embedding vector may be generated in which the element corresponding to the action of "going to work" takes a predetermined value.

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

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

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

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

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

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

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

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

この実施例3では、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等は、位置情報のシーケンスデータを、ユーザUが「自宅にいる」、「出勤した」、「買い物に行った」、「電車で移動している」等の特定の行動を示すベクトル値に変換することを目的とする簡潔なモデルや変換規則等である。例えば、情報提供装置100は、特定の行動をユーザUがとったか否かを知りたいときに、当該行動に関する位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等を、ユーザUの端末装置10に提供する。 In the third embodiment, the vector conversion model for converting the position information into the embedding vector, the predetermined conversion rule, and the like, the user U "is at home", "goes to work", and "shops" the sequence data of the position information. It is a simple model, conversion rule, etc. that aims to convert to a vector value indicating a specific action such as "going to" or "moving by train". For example, when the information providing device 100 wants to know whether or not the user U has taken a specific action, the information providing device 100 provides a vector conversion model, a predetermined conversion rule, or the like for converting the position information related to the action into an embedding vector. 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. Information processing system configuration example]
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. These various devices are connected so as to be communicable by wire or wirelessly via the network N. The network N is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network) such as the Internet.

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

端末装置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 is a smart device such as a smartphone or tablet terminal, a feature phone, a PC (Personal Computer), a PDA (Personal Digital Assistant), a car navigation system, a wearable device such as a smart watch or a head-mounted display (Wearable Device). , Smart glasses, etc.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

また、送信部31は、照合部36により「普段通り」であると判定された場合、「普段通り」である旨を示す情報を、通信部11を介して情報提供装置100へ送信してもよい。このとき、「普段通り」である旨を示す情報は、「普段通り」である旨を示すエンベディングベクトルであってもよい。 Further, when the collating unit 36 determines that the information is "as usual", the transmitting unit 31 may transmit information indicating "as usual" to the information providing device 100 via the communication unit 11. good. At this time, the information indicating "as usual" may be an embedding vector indicating "as usual".

(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される各種情報を受信する。例えば、受信部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 the vector conversion model provided by the information providing device 100, a predetermined conversion rule (rule), and the like via the communication unit 11. Further, the receiving unit 32 receives the base of the embedding vector provided by the information providing device 100 via the communication unit 11.

(処理部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 information transmitted by the transmitting unit 31 and various information received by the receiving unit 32 from the information providing device 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 position information of the terminal device 10 at a constant / periodic / predetermined timing. For example, the acquisition unit 34 acquires the position information of the terminal device 10 positioned by the positioning unit 14. Further, 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は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。 Further, the acquisition unit 34 stores (saves) the acquired position information in the storage unit 40. For example, the acquisition unit 34 stores 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 predetermined conversion rule, and the like received from the information providing device 100 by the reception unit 32, and stores (saves) them in the storage unit 40.

また、取得部34は、受信部32が情報提供装置100から受信したエンベディングベクトルの基底を取得し、記憶部40に記憶(保存)する。すなわち、取得部34は、新たにエンベディングベクトルの基底を取得した場合には、エンベディングベクトルの基底を更新する。例えば、既存の周期性情報を新たな周期性情報で上書きする。 Further, the acquisition unit 34 acquires the base of the embedding vector received from the information providing device 100 by the reception unit 32, and stores (saves) it in the storage unit 40. That is, when the acquisition unit 34 newly acquires the basis of the embedding vector, the acquisition unit 34 updates the basis of the embedding vector. For example, the existing periodicity information is overwritten with the new periodicity information.

(変換部35)
変換部35は、位置情報をベクトルに変換(ベクトル化)する。例えば、変換部35は、エンベディングを行い、取得部34により取得された位置情報をベクトルに変換する。
(Conversion unit 35)
The conversion unit 35 converts (vectorizes) the position information into a vector. For example, the conversion unit 35 performs embedding and converts 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は、シーケンスデータに基づいて、エンベディングベクトルを生成する。 When the conversion unit 35 has acquired the position information every minute, the conversion unit 35 arranges the position information every minute in chronological order and generates sequence data divided 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 chronological order. Alternatively, the conversion unit 35 generates sequence data in which the position information for the first minute in 30 minutes and the difference for each minute with respect to the position information are arranged in chronological order. 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 the sequence data as a data set and converts the sequence data into a multidimensional real-valued vector by using a machine learning method using a neural network or the like. That is, the conversion unit 35 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. do. The conversion unit 35 may receive the vector conversion model from the information providing device 100.

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

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

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

(照合部36)
照合部36は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とを照合する。
(Collation unit 36)
The collation unit 36 collates the embedding vector based on the position information with the base of the embedding vector.

例えば、エンベディングベクトルの基底には、曜日や時刻ごとの平均的なユーザUの行動を示すエンベディングベクトルが登録されている。 For example, an embedding vector showing the average user U behavior for each day of the week or time is registered in the base of the embedding vector.

このとき、照合部36は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底に該当する場合、ユーザUの行動が「普段通り」であると判定する。例えば、照合部36は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底に登録された同じ曜日・同じ時刻の平均的なエンベディングベクトルとが同じである(又は差分が閾値未満である)場合には、「普段通り」であると判定する。この場合、照合部36は、送信部31を介して情報提供装置100にエンベディングベクトルを通知する必要はないと判断する。 At this time, when the embedding vector based on the position information corresponds to the base of the embedding vector, the collation unit 36 determines that the behavior of the user U is "as usual". For example, when the collation unit 36 has the same embedding vector based on the position information and the average embedding vector registered at the base of the embedding vector on the same day of the week and at the same time (or the difference is less than the threshold value). Determines to be "as usual". In this case, the collation unit 36 determines that it is not necessary to notify the information providing device 100 of the embedding vector via the transmission unit 31.

また、照合部36は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底に該当しない場合、ユーザUの行動が「普段通り」ではないと判定する。例えば、照合部36は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底に登録された同じ曜日・同じ時刻の平均的なエンベディングベクトルとが異なる(又は差分が閾値以上である)場合には、「普段通り」ではないと判定する。この場合、照合部36は、送信部31を介して情報提供装置100にエンベディングベクトルを通知する必要があると判断する。 Further, the collation unit 36 determines that the behavior of the user U is not "normal" when the embedding vector based on the position information does not correspond to the basis of the embedding vector. For example, when the collation unit 36 differs between the embedding vector based on the position information and the average embedding vector registered at the base of the embedding vector on the same day of the week and at the same time (or the difference is equal to or greater than the threshold value), the collation unit 36 may use the collating unit 36. Judge that it is not "as usual". In this case, the collation unit 36 determines that it is necessary to notify the information providing device 100 of the embedding vector via the transmission unit 31.

また、照合部36は、エンベディングベクトルの基底の更新を反映する。すなわち、照合部36は、エンベディングベクトルの基底が更新された場合、次回以降、位置情報に基づくエンベディングベクトルと、その更新後のエンベディングベクトルの基底とを照合する。 Further, the collation unit 36 reflects the update of the basis of the embedding vector. That is, when the basis of the embedding vector is updated, the collation unit 36 collates the embedding vector based on the position information with the basis of the updated embedding vector from the next time onward.

(記憶部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は、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等を記憶する。
(Memory unit 40)
The storage unit 40 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or an optical disk. To. Various programs, various data, and the like are stored in the storage unit 40. Here, the storage unit 40 is stored by, for example, various information input by the user U using the input unit 13, various information detected by the sensors 21 to 28 mounted on or connected to the terminal device 10, and the positioning unit 14. The position information and the like of the positioned terminal device 10 are stored. Further, various information processed by the processing unit 33 and various information received by the receiving unit 32 are stored. Further, the storage unit 40 stores a vector conversion model for converting position information into an embedding vector, a predetermined conversion rule, and 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 with reference to 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 includes a communication unit 110, a storage unit 120, and a control unit 130.

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

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

「変換ID」は、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等を識別するための識別情報を示す。 The "conversion ID" indicates identification information for identifying a vector conversion model for converting position information into an embedding vector, a predetermined conversion rule, and the like.

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

また、「提供先」は、変換IDにより識別されるベクトル変換モデルや所定の変換規則等の提供先となる端末装置10を示す。例えば、「提供先」には、端末IDが記憶されてもよい。提供先となる端末装置10は、複数であってもよい。すなわち、「提供先」には、複数の端末IDが記憶されてもよい。なお、提供先となる端末装置10を特定する必要がなければ、「提供先」の項目は無くてもよい。 Further, the “providing destination” indicates a terminal device 10 that is a providing destination such as a vector conversion model identified by a conversion ID and a predetermined conversion rule. For example, the terminal ID may be stored in the "provider destination". The number of terminal devices 10 to be provided may be plural. That is, a plurality of terminal IDs may be stored in the "provider destination". If it is not necessary to specify the terminal device 10 to be provided, the item of "provided destination" may be omitted.

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

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

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

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

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

また、「基底」は、エンベディングベクトルの周期性に関する基底ベクトルである。例えば、「基底」は、一週間単位での曜日や時刻ごとの平均的なユーザUの行動を示す。「基底」は、蓄積されたエンベディングベクトルから抽出されたユーザUの行動の周期性を表す情報に基づいて生成される。なお、「基底」は、「エンベディングベクトル」が基底であるか否かを示す情報であってもよい。 Further, the "base" is a base vector relating to the periodicity of the embedding vector. For example, "base" indicates the average user U behavior for each day of the week or time of day. The "base" is generated based on the information representing the periodicity of the user U's behavior extracted from the accumulated embedding vector. The "base" may be information indicating whether or not the "embedding vector" is a base.

例えば、図6に示す例において、端末ID「端末#1」により識別される端末装置10から受信したエンベディングベクトル「ベクトル#11」により示されるユーザUの行動の周期性を表す情報が抽出され、基底「基底#11」が生成されたことを有していることを示す。また、端末ID「端末#1」により識別される端末装置10から受信したエンベディングベクトル「ベクトル#12」により示されるユーザUの行動の周期性を表す情報が抽出されず、まだ基底が生成されていないことを示す。 For example, in the example shown in FIG. 6, information representing the periodicity of the action of the user U indicated by the embedding vector “vector # 11” received from the terminal device 10 identified by the terminal ID “terminal # 1” is extracted. Indicates that the basis "base # 11" has been generated. Further, the information indicating the periodicity of the user U's behavior indicated by the embedding vector "vector # 12" received from the terminal device 10 identified by the terminal ID "terminal # 1" is not extracted, and the basis is still generated. Indicates that there is no such thing.

なお、ベクトル情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ベクトル情報データベース122は、エンベディングベクトルにより示されるユーザUの行動(所在、振る舞い、移動等)自体に関する情報を記憶してもよい。また、ベクトル情報データベース122は、ユーザUがその行動を行う曜日や時刻に関する情報を記憶してもよいし、ユーザUがその行動を行った回数に関する情報を記憶してもよい。また、ベクトル情報データベース122は、エンベディングベクトルにより示されるユーザUの行動が、周期的な行動ではない場合(1回限りの行動、不規則な行動等)には、周期的な行動ではない旨を示す情報を記憶してもよい。また、ベクトル情報データベース122は、受信データ単位で、個々のエンベディングベクトルを識別するための識別情報(ベクトルID等)を記憶してもよい。また、ベクトル情報データベース122は、個々のエンベディングベクトルを受信した日時を示す情報を記憶してもよい。また、ベクトル情報データベース122は、エンベディングベクトルを解釈するためのルールに関する情報を記憶してもよい。また、ベクトル情報データベース122は、ベクトル変換モデルや所定の変換規則等の変換情報を記憶してもよい。 The vector information database 122 is not limited to the above, and various information may be stored depending on the purpose. For example, the vector information database 122 may store information about the user U's behavior (location, behavior, movement, etc.) itself indicated by the embedding vector. Further, the vector information database 122 may store information regarding the day of the week or time when the user U performs the action, or may store information regarding the number of times the user U performs the action. Further, the vector information database 122 indicates that the action of the user U indicated by the embedding vector is not a periodic action when it is not a periodic action (one-time action, irregular action, etc.). The indicated information may be stored. Further, the vector information database 122 may store identification information (vector ID or the like) for identifying individual embedding vectors in units of received data. Further, the vector information database 122 may store information indicating the date and time when each embedding vector is received. The vector information database 122 may also store information about rules for interpreting the embedding vector. Further, the vector information database 122 may store conversion information such as a vector conversion model and 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とを有する。
(Control unit 130)
Returning to FIG. 4, the explanation will be continued. The control unit 130 is a controller, and is an information providing device 100 by means of, 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. It is realized by executing various programs (corresponding to an example of an information processing program) stored in the internal storage device of the ASIC with a storage area such as a RAM as a work area. In the example shown in FIG. 4, the control unit 130 has a collection unit 131, an extraction unit 132, a generation unit 133, and a providing unit 134.

(収集部131)
収集部131は、個々の端末装置10から位置情報に基づくエンベディングベクトルを収集する。すなわち、収集部131は、通信部110を介して、端末装置10から位置情報に基づくエンベディングベクトルを受信する。
(Collecting unit 131)
The collecting unit 131 collects the embedding vector based on the position information from each terminal device 10. That is, the collecting unit 131 receives the embedding vector based on the position information from the terminal device 10 via the communication unit 110.

また、収集部131は、位置情報に基づくエンベディングベクトルを蓄積する。すなわち、収集部131は、通信部110を介して、端末装置10から位置情報に基づくエンベディングベクトルを受信した場合には、記憶部120に記憶(保存)する。 In addition, the collecting unit 131 accumulates the embedding vector based on the position information. That is, when the collecting unit 131 receives the embedding vector based on the position information from the terminal device 10 via the communication unit 110, the collecting unit 131 stores (stores) it in the storage unit 120.

(抽出部132)
抽出部132は、蓄積されたエンベディングベクトルに基づいて、ユーザUの行動の周期性を表す情報を抽出する。すなわち、抽出部132は、記憶部120に記憶(保存)された位置情報に基づくエンベディングベクトルに基づいて、ユーザUの行動の周期性を表す情報を抽出する。
(Extraction unit 132)
The extraction unit 132 extracts information representing the periodicity of the action of the user U based on the accumulated embedding vector. That is, the extraction unit 132 extracts information representing the periodicity of the action of the user U based on the embedding vector based on the position information stored (stored) in the storage unit 120.

例えば、抽出部132は、蓄積されたエンベディングベクトルについて、ベクトルの要素それぞれでフーリエ変換を行う。そして、得られたスペクトルにおいて、要素間で共通して絶対値の大きいところを取り出して、ユーザUの行動の周期性を表す情報と推定する。このとき、抽出部132は、日ごと・週ごとの周期性を表す情報を取り出すことができる。このようにして、抽出部132は、ユーザUの行動の周期性を表す情報を抽出する。 For example, the extraction unit 132 performs a Fourier transform on each of the elements of the accumulated embedding vector. Then, in the obtained spectrum, the part having a large absolute value common among the elements is extracted and estimated as information representing the periodicity of the action of the user U. At this time, the extraction unit 132 can extract information representing the periodicity of each day and each week. In this way, the extraction unit 132 extracts information representing the periodicity of the behavior of the user U.

また、抽出部132は、ユーザUの行動の周期性を表す情報を抽出する際に、エンベディングベクトルを特定空間に配置し、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を判定してもよい。 Further, the extraction unit 132 arranges the embedding vector in a specific space when extracting information indicating the periodicity of the behavior of the user U, and the similarity or change of the behavior of the user U itself, and / or the user U and others. You may determine the similarity or difference in behavior with the user.

(生成部133)
生成部133は、抽出されたユーザUの行動の周期性を表す情報に基づいて、エンベディングベクトルの基底を生成する。このとき、生成部133は、生成されたエンベディングベクトルの基底を、記憶部120のベクトル情報データベース122に記憶(保存)する。なお、生成部133は、上記の抽出部132を含んでいてもよい。
(Generation unit 133)
The generation unit 133 generates the basis of the embedding vector based on the extracted information representing the periodicity of the action of the user U. At this time, the generation unit 133 stores (stores) the base of the generated embedding vector in the vector information database 122 of the storage unit 120. The generation unit 133 may include the above-mentioned extraction unit 132.

また、生成部133は、過去に収集された位置情報を蓄積した既存の位置履歴(又は仮定の位置情報)に基づいて、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則(ルール)等を生成する。このとき、生成部133は、生成されたベクトル変換モデルや所定の変換規則(ルール)等を、記憶部120の変換情報データベース121に記憶(保存)する。 Further, the generation unit 133 has a vector conversion model and a predetermined conversion rule for converting the position information into an embedding vector based on the existing position history (or the assumed position information) that has accumulated the position information collected in the past. (Rule) etc. are generated. At this time, the generation unit 133 stores (stores) the generated vector conversion model, predetermined conversion rules (rules), and the like in the conversion information database 121 of the storage unit 120.

例えば、生成部133は、位置情報とエンベディングベクトルとの組を正解データとしてモデルに学習させることで、位置情報を入力した時にエンベディングベクトルを出力するベクトル変換モデルを生成する。 For example, the generation unit 133 generates a vector conversion model that outputs an embedding vector when the position information is input by letting the model learn the set of the position information and the embedding vector as correct answer 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 an RNN (Recurrent Neural Network), an LSTM (Long short-term memory), or the like. As the model, any type and any type of model can be adopted. For example, the generation unit 133 may adopt an SVM (Support Vector Machine) or a DNN (Deep Neural Network) as a model. Here, the DNN may be a CNN (Convolutional Neural Network) or an RNN. Further, the model may be a model realized by combining a plurality of models, for example, a model in which a CNN and an RNN are combined.

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

学習は、例えばDNNを利用したディープラーニング(深層学習)等である。また、データマイニングやその他の機械学習アルゴリズムを利用してもよい。生成部133は、上述した各種の学習手法により、モデルの学習を行う。 The 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 by the various learning methods described above.

(提供部134)
提供部134は、生成されたエンベディングベクトルの基底をユーザUの端末装置10に提供する。例えば、提供部134は、通信部110を介して、記憶部120のベクトル情報データベース122に記憶されたエンベディングベクトルの基底をユーザUの端末装置10に送信する。
(Providing section 134)
The providing unit 134 provides the base of the generated embedding vector to the terminal device 10 of the user U. For example, the providing unit 134 transmits the base of the embedding vector stored in the vector information database 122 of the storage unit 120 to the terminal device 10 of the user U via the communication unit 110.

また、提供部134は、生成されたベクトル変換モデルや所定の変換規則等をユーザUの端末装置10に提供する。例えば、提供部134は、通信部110を介して、記憶部120の変換情報データベース121に記憶されたベクトル変換モデルや所定の変換規則等をユーザUの端末装置10に送信する。 Further, the providing unit 134 provides the terminal device 10 of the user U with the generated vector conversion model, predetermined conversion rules, and the like. For example, the providing unit 134 transmits the vector conversion model stored in the conversion information database 121 of the storage unit 120, a predetermined conversion rule, and the like to the terminal device 10 of the user U via the communication unit 110.

〔5.処理手順〕
次に、図7を用いて実施形態に係る端末装置10及び情報提供装置100による処理手順について説明する。図7は、実施形態に係る処理手順を示すシーケンス図である。なお、以下に示す処理手順は、端末装置10の制御部30、又は情報提供装置100の制御部130によって繰り返し実行される。
[5. Processing procedure]
Next, the processing procedure by the terminal device 10 and the information providing device 100 according to the embodiment will be described with reference to FIG. 7. FIG. 7 is a sequence diagram showing a processing procedure according to the embodiment. The processing procedure shown 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 device 100 converts the position information into an embedding vector based on the existing position history in which the position information of the terminal device 10 collected in the past is accumulated. A conversion model, a predetermined conversion rule, and the like are generated (step S101). For example, the generation unit 133 generates a vector conversion model that outputs an embedding vector when the position information is input by letting the model learn the set of the position information and the embedding vector as correct answer data.

そして、情報提供装置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, a predetermined conversion rule, and 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, a predetermined conversion rule, and 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 predetermined conversion rule, and the like provided by the information providing device 100 (step S103).

そして、端末装置10の取得部34は、常時/周期的に/所定のタイミングで、端末装置10の位置情報を取得する(ステップS104)。 Then, the acquisition unit 34 of the terminal device 10 acquires the position information of the terminal device 10 at a constant / periodic / predetermined timing (step S104).

例えば、取得部34は、測位部14により測位された端末装置10の位置情報を取得する。また、取得部34は、各センサ21~28によって検知された各種情報に基づいて端末装置10の屋内位置情報を推定して取得する。このとき、取得部34は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。例えば、取得部34は、取得した位置情報を記憶部40に記憶(保存)する。 For example, the acquisition unit 34 acquires the position information of the terminal device 10 positioned by the positioning unit 14. Further, the acquisition unit 34 estimates and acquires the 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.

そして、変換部35は、位置情報に対してエンベディングを行い、複数の位置情報を1つのベクトルに変換(ベクトル化)し、位置情報に基づくエンベディングベクトルを生成する(ステップS105)。 Then, the conversion unit 35 performs embedding on the position information, converts (vectorizes) a plurality of position information into one vector, 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は、同様の自然言語処理モデルを用いてもよい。 For example, the conversion unit 35 generates sequence data in which position information is arranged in time series. Then, the conversion unit 35 inputs the sequence data to the vector conversion model generated through machine learning using, for example, RNN (Recurrent Neural Network) or LSTM (Long short-term memory), and acquires the embedding vector as an output. do. The RNN and LSTM may be a neural network based on an attention mechanism. Further, the conversion unit 35 may use a similar natural language processing model.

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

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

そして、端末装置10の照合部36は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とを照合する(ステップS106)。 Then, the collation unit 36 of the terminal device 10 collates the embedding vector based on the position information with the base of the embedding vector (step S106).

このとき、照合部36は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と同じ(同一又は類似)である場合、ユーザUの行動が「普段通り」であると判定する。例えば、照合部36は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とが同一又は類似(差分が無視できるほど微小)である場合には、情報提供装置100にエンベディングベクトルを通知する必要はないと判断する。 At this time, when the embedding vector based on the position information is the same (same or similar) as the base of the embedding vector, the collation unit 36 determines that the behavior of the user U is "as usual". For example, when the collation unit 36 has the same or similar (the difference is negligible) between the embedding vector based on the position information and the base of the embedding vector, it is necessary to notify the information providing device 100 of the embedding vector. Judge that there is no.

また、照合部36は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と小さく異なる場合、情報提供装置100に差分を通知する必要があると判定する。例えば、照合部36は、位置情報に基づくエンベディングベクトルと、エンベディングベクトルの基底とが小さく異なる場合には、主成分分析(PCA:Principal Component Analysis)等により、変動した次元(要素)を特定し、変動した次元の値を通知すれば十分であると判断する。例えば、多次元のベクトルのうち3次元のベクトルが変動している場合には、上位3つの要素のベクトル値を通知すれば十分である。 Further, when the embedding vector based on the position information is slightly different from the basis of the embedding vector, the collation unit 36 determines that it is necessary to notify the information providing device 100 of the difference. For example, when the embedding vector based on the position information and the basis of the embedding vector are slightly different, the collation unit 36 identifies a fluctuating dimension (element) by principal component analysis (PCA) or the like. Judge that it is sufficient to notify the value of the fluctuating dimension. For example, when the three-dimensional vector is fluctuating among the multidimensional vectors, it is sufficient to notify the vector values of the upper three elements.

また、照合部36は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と大きく異なる場合、情報提供装置100にエンベディングベクトル自体を通知する必要があると判定する。例えば、照合部36は、位置情報に基づくエンベディングベクトルが、エンベディングベクトルの基底から大きくずれている(乖離している)場合には、情報提供装置100に位置情報に基づくエンベディングベクトルの全体(全要素のベクトル値)を通知する必要があると判断する。 Further, when the embedding vector based on the position information is significantly different from the base of the embedding vector, the collation unit 36 determines that it is necessary to notify the information providing device 100 of the embedding vector itself. For example, when the collation unit 36 has a large deviation (deviation) from the base of the embedding vector based on the position information, the information providing device 100 informs the information providing device 100 of the entire embedding vector based on the position information (all elements). It is determined that it is necessary to notify (the vector value of).

そして、端末装置10の送信部31は、通信部11を介して、エンベディングベクトルに関連する情報を情報提供装置100に送信する(ステップS107)。 Then, the transmission unit 31 of the terminal device 10 transmits information related to the embedding vector to the information providing device 100 via the communication unit 11 (step S107).

例えば、送信部31は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と小さく異なる場合には、位置情報に基づくエンベディングベクトルとエンベディングベクトルの基底との差分(変動した次元の値)を情報提供装置100に送信する。 For example, when the embedding vector based on the position information is slightly different from the base of the embedding vector, the transmission unit 31 provides information on the difference (variable dimensional value) between the embedding vector based on the position information and the base of the embedding vector. Send to 100.

また、送信部31は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と大きく異なる場合には、位置情報に基づくエンベディングベクトルの全体を情報提供装置100に送信する。 Further, when the embedding vector based on the position information is significantly different from the base of the embedding vector, the transmission unit 31 transmits the entire embedding vector based on the position information to the information providing device 100.

なお、実際には、送信部31は、位置情報に基づくエンベディングベクトルがエンベディングベクトルの基底と同じ(同一又は類似)である場合には、情報提供装置100に「普段通り」である旨を通知するようにしてもよい。 In fact, when the embedding vector based on the position information is the same (same or similar) as the base of the embedding vector, the transmission unit 31 notifies the information providing device 100 that it is "as usual". You may do so.

そして、情報提供装置100の収集部131は、各地域に所在する複数のユーザUの各々が所持する端末装置10から、通信部110を介して、エンベディングベクトルに関連する情報を受信する(ステップS108)。 Then, the collecting unit 131 of the information providing device 100 receives information related to the embedding vector from the terminal device 10 possessed by each of the plurality of users U located in each area via the communication unit 110 (step S108). ).

このとき、収集部131は、端末装置10から、エンベディングベクトルに関連する情報を受信しなかった場合には、ユーザUの行動が「普段通り」であったと判断する。例えば、収集部131は、端末装置10のトラブルや通信障害、又は端末装置10が電波の届かない位置にあり通信が途絶えたため、既定のタイミングで端末装置10からエンベディングベクトルに関連する情報を受信できなかった場合などであっても、ユーザUの行動が「普段通り」であったと判断する。 At this time, when the collecting unit 131 does not receive the information related to the embedding vector from the terminal device 10, it is determined that the behavior of the user U is "as usual". For example, the collecting unit 131 can receive information related to the embedding vector from the terminal device 10 at a predetermined timing because the terminal device 10 has a trouble or a communication failure, or the terminal device 10 is in a position where the radio wave does not reach and the communication is interrupted. Even if it does not exist, it is determined that the behavior of the user U is "as usual".

なお、収集部131は、端末装置10から、エンベディングベクトルに関連する情報を受信しなかった場合であっても、端末装置10のトラブルや通信障害等を認識できる場合には、認識した通りに判断してもよい。 Even if the collection unit 131 does not receive the information related to the embedding vector from the terminal device 10, if the trouble or communication failure of the terminal device 10 can be recognized, the collecting unit 131 determines as recognized. You may.

また、収集部131は、端末装置10から、エンベディングベクトルに関連する情報として「普段通り」である旨を示す情報を受信した場合には、ユーザUの行動が「普段通り」であったと判断する。この場合、収集部131は、位置情報に基づくエンベディングベクトルを蓄積しない。 Further, when the collecting unit 131 receives from the terminal device 10 information indicating that the information is "as usual" as the information related to the embedding vector, the collecting unit 131 determines that the behavior of the user U is "as usual". .. In this case, the collecting unit 131 does not accumulate the embedding vector based on the position information.

また、収集部131は、端末装置10から、エンベディングベクトルに関連する情報を受信した場合には、位置情報に基づくエンベディングベクトルの形式で蓄積する。 Further, when the collecting unit 131 receives the information related to the embedding vector from the terminal device 10, the collecting unit 131 stores the information in the form of the embedding vector based on the position information.

例えば、収集部131は、端末装置10から、エンベディングベクトルに関連する情報として、位置情報に基づくエンベディングベクトルとエンベディングベクトルの基底との差分(変動した次元の値)を受信した場合、エンベディングベクトルの基底に差分を反映したエンベディングベクトルを求め、求めたエンベディングベクトルを蓄積する。 For example, when the collecting unit 131 receives the difference (variable dimension value) between the embedding vector based on the position information and the base of the embedding vector as information related to the embedding vector, the collecting unit 131 receives the base of the embedding vector. The embedding vector that reflects the difference is obtained, and the obtained embedding vector is accumulated.

また、収集部131は、端末装置10から、エンベディングベクトルに関連する情報として、位置情報に基づくエンベディングベクトルの全体を受信した場合、位置情報に基づくエンベディングベクトルをそのまま蓄積する。 Further, when the collecting unit 131 receives the entire embedding vector based on the position information as the information related to the embedding vector from the terminal device 10, the collecting unit 131 accumulates the embedding vector based on the position information as it is.

そして、情報提供装置100の抽出部132及び生成部133は、一定期間ごとに、蓄積されたエンベディングベクトルに基づいて、ユーザUの行動の周期性を表す情報を抽出し、エンベディングベクトルの周期性に基づいて、エンベディングベクトルの基底を生成する(ステップS109)。 Then, the extraction unit 132 and the generation unit 133 of the information providing device 100 extract information representing the periodicity of the behavior of the user U based on the accumulated embedding vector at regular intervals, and use the periodicity of the embedding vector. Based on this, the basis of the embedding vector is generated (step S109).

例えば、抽出部132は、蓄積されたエンベディングベクトルについて、ベクトルの要素それぞれでフーリエ変換を行う。そして、得られたスペクトルにおいて、要素間で共通して絶対値の大きいところを取り出して、ユーザUの行動の周期性を表す情報と推定する。このとき、抽出部132は、日ごと・週ごとの周期性を表す情報を取り出すことができる。生成部133は、これらの情報に基づいて、エンベディングベクトルの基底を生成する。 For example, the extraction unit 132 performs a Fourier transform on each of the elements of the accumulated embedding vector. Then, in the obtained spectrum, the part having a large absolute value common among the elements is extracted and estimated as information representing the periodicity of the action of the user U. At this time, the extraction unit 132 can extract information representing the periodicity of each day and each week. The generation unit 133 generates the basis of the embedding vector based on this information.

なお、抽出部132は、エンベディングベクトルを特定空間に配置し、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を判定してもよい。 Even if the extraction unit 132 arranges the embedding vector in a specific space and determines the similarity or change in the behavior of the user U itself and / or the similarity or difference in the behavior between the user U and another user. good.

そして、情報提供装置100の提供部134は、生成されたエンベディングベクトルの基底をユーザUの端末装置10に提供する(ステップS110)。すなわち、提供部134は、通信部110を介して、生成されたエンベディングベクトルの基底をユーザUの端末装置10に送信する。 Then, the providing unit 134 of the information providing device 100 provides the base of the generated embedding vector to the terminal device 10 of the user U (step S110). That is, the providing unit 134 transmits the base of the generated embedding vector to the terminal device 10 of the user U via the communication unit 110.

そして、端末装置10の取得部34は、通信部11を介して、情報提供装置100から、エンベディングベクトルの基底を取得する(ステップS108)。 Then, the acquisition unit 34 of the terminal device 10 acquires the basis of the embedding vector from the information providing device 100 via the communication unit 11 (step S108).

ここでは、端末装置10の受信部32は、通信部11を介して情報提供装置100からエンベディングベクトルの基底を受信する。端末装置10の取得部34は、受信部32からエンベディングベクトルの基底を取得する(ステップS111)。 Here, the receiving unit 32 of the terminal device 10 receives the base of the embedding vector from the information providing device 100 via the communication unit 11. The acquisition unit 34 of the terminal device 10 acquires the basis of the embedding vector from the reception unit 32 (step S111).

そして、端末装置10の取得部34は、既存のエンベディングベクトルの基底に、最新のエンベディングベクトルの基底を反映する(ステップS112)。 Then, the acquisition unit 34 of the terminal device 10 reflects the basis of the latest embedding vector on the basis of the existing embedding vector (step S112).

ここでは、取得部34は、取得したエンベディングベクトルの基底を記憶部40に記憶(保存)する。すなわち、取得部34は、新たにエンベディングベクトルの基底を取得した場合には、エンベディングベクトルの基底を更新する。例えば、既存のエンベディングベクトルの基底を新たなエンベディングベクトルの基底で上書きする。 Here, the acquisition unit 34 stores (saves) the basis of the acquired embedding vector in the storage unit 40. That is, when the acquisition unit 34 newly acquires the basis of the embedding vector, the acquisition unit 34 updates the basis of the embedding vector. For example, overwrite the basis of an existing embedding vector with the basis of a new embedding vector.

この場合、端末装置10の照合部36は、次回以降、位置情報に基づくエンベディングベクトルを、更新された最新のエンベディングベクトルの基底と照合する。 In this case, the collation unit 36 of the terminal device 10 collates the embedding vector based on the position information with the basis of the latest updated embedding vector from the next time onward.

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

上記実施形態において、エンベディングベクトルの基底は、初期状態では未登録(空)でもよいし、存在しなくてもよい。この場合、位置情報に基づくエンベディングベクトルは全て「普段通り」ではないと判定される。そのため、初期状態では、端末装置10は、位置情報に基づくエンベディングベクトルを全て情報提供装置100に送信する。情報提供装置100は、一定期間ごとに、蓄積されたエンベディングベクトルの周期性に基づいてエンベディングベクトルの基底を生成し、生成されたエンベディングベクトルの基底を端末装置10に送信する。そして、端末装置10は、情報提供装置100からエンベディングベクトルの基底を受信し、エンベディングベクトルの基底を新規登録/更新する。 In the above embodiment, the basis of the embedding vector may or may not be unregistered (empty) in the initial state. In this case, it is determined that all the embedding vectors based on the position information are not "as usual". Therefore, in the initial state, the terminal device 10 transmits all the embedding vectors based on the position information to the information providing device 100. The information providing device 100 generates the base of the embedding vector based on the periodicity of the accumulated embedding vector at regular intervals, and transmits the base of the generated embedding vector to the terminal device 10. Then, the terminal device 10 receives the base of the embedding vector from the information providing device 100, and newly registers / updates the base of the embedding vector.

また、上記実施形態において、端末装置10は、位置情報に変化がなく、「普段通り」の行動が行われなかった場合に、位置情報に変化がない旨を情報提供装置100に通知してもよい。このとき、端末装置10は、位置情報に変化がない旨を示すエンベディングベクトルと、「普段通り」ではない旨を示す情報とを情報提供装置100に送信してもよい。あるいは、位置情報に変化がない旨と、「普段通り」ではない旨との両方を示すエンベディングベクトルを情報提供装置100に送信してもよい。例えば、位置情報が丸一日近く全く変化しなかった場合には、ユーザUが端末装置10を忘れていった(又は放置している)と推測することができる。また、位置情報が数日間全く変化しなかった場合には、ユーザUの身に何かあったと推測することもできる。 Further, in the above embodiment, even if the terminal device 10 notifies the information providing device 100 that the position information does not change and the action "as usual" is not performed, the terminal device 10 does not change the position information. good. At this time, the terminal device 10 may transmit an embedding vector indicating that there is no change in the position information and information indicating that the position information is not "as usual" to the information providing device 100. Alternatively, an embedding vector indicating both that the position information has not changed and that it is not "as usual" may be transmitted to the information providing device 100. For example, if the location information does not change at all for nearly a whole day, it can be inferred that the user U has forgotten (or left) the terminal device 10. Also, if the location information does not change at all for several days, it can be inferred that something happened to the user U.

また、上記実施形態において、端末装置10は、位置情報に基づくエンベディングベクトルに加えて(又は代えて)、自身に搭載又は接続されたセンサ類を用いて取得した環境音、加速度、気圧等のセンサデータに基づくエンベディングベクトルを生成してもよい。例えば、端末装置10は、20次元以上の多次元のエンベディングベクトルのうち、1次元目~10次元目には位置情報に基づくエンベディングベクトルを配置し、11次元目~20次元目にはセンサデータに基づくエンベディングベクトルを配置してもよい。 Further, in the above embodiment, the terminal device 10 is a sensor for environmental sound, acceleration, atmospheric pressure, etc. acquired by using sensors mounted or connected to itself in addition to (or instead of) an embedding vector based on position information. You may generate an embedding vector based on the data. For example, the terminal device 10 arranges an embedding vector based on position information in the 1st to 10th dimensions and sensor data in the 11th to 20th dimensions among multidimensional embedding vectors having 20 or more dimensions. You may place an embedding vector based on it.

このとき、ベクトル変換モデルとして、位置情報をベクトルに変換するモデルと、センサデータをベクトルに変換するモデルとの2種類のモデルを構築してもよい。あるいは、1つのベクトル変換モデルが、入力された位置情報とセンサデータとをそれぞれ個別にベクトルに変換した上でこれら2種類のベクトルを結合してもよいし、入力された位置情報とセンサデータとを1つのベクトルに変換してもよい。 At this time, as a vector conversion model, two types of models may be constructed, a model that converts position information into a vector and a model that converts sensor data into a vector. Alternatively, one vector conversion model may individually convert the input position information and the sensor data into vectors and then combine these two types of vectors, or the input position information and the sensor data may be combined. May be converted into one vector.

この場合、位置情報に基づくエンベディングベクトルが「ユーザの行動や所在」等を示し、センサデータに基づくエンベディングベクトルが「ユーザのおかれた環境や状況」等を示す。例えば、端末装置10は、位置情報に基づくエンベディングベクトルに加えて、センサデータに基づくエンベディングベクトルと、エンベディングベクトルの基底とを照合することで、より厳密に、ユーザUの行動が「普段通り」であるか否かを判定することができる。すなわち、ユーザUの行動が「普段通り」であるか否かの判定の精度を向上させることができる。 In this case, the embedding vector based on the position information indicates "the user's behavior or whereabouts", and the embedding vector based on the sensor data indicates "the environment or situation where the user is placed" or the like. For example, the terminal device 10 collates the embedding vector based on the sensor data with the embedding vector base in addition to the embedding vector based on the position information, so that the user U's behavior is more strictly "as usual". It is possible to determine whether or not there is. That is, it is possible to improve the accuracy of determining whether or not the behavior of the user U is "as usual".

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

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

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

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

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

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

〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10)は、自身の位置情報を取得する取得部34と、位置情報をベクトルに変換する変換部35と、ベクトルとユーザの周期的な行動を示す基底ベクトルとを照合する照合部36と、ベクトルが基底ベクトルに該当しない場合、ベクトルに関連する情報を送信する送信部31と、を備える。また、送信部31は、ベクトルが基底ベクトルに該当する場合、普段通りである旨を示す情報を送信する。また、情報処理装置は、ベクトルを受信したサーバ側から提供される基底ベクトルを受信する受信部32をさらに備える。
[7. effect〕
As described above, the information processing apparatus (terminal apparatus 10) according to the present application has an acquisition unit 34 for acquiring its own position information, a conversion unit 35 for converting the position information into a vector, and a vector and a user periodically. A collation unit 36 for collating with a base vector indicating an action, and a transmission unit 31 for transmitting information related to the vector when the vector does not correspond to the base vector are provided. Further, when the vector corresponds to the basis vector, the transmission unit 31 transmits information indicating that it is as usual. Further, the information processing apparatus further includes a receiving unit 32 that receives a basis vector provided from the server side that has received the vector.

これにより、情報処理装置は、人の行動の周期性を考慮してエンベディング情報を選別することができる。 As a result, the information processing apparatus can select the embedding information in consideration of the periodicity of human behavior.

〔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]
Further, the terminal device 10 and the information providing device 100 according to the above-described embodiment are realized by, for example, a computer 1000 having a configuration as shown in FIG. Hereinafter, the information providing device 100 will be described as an example. FIG. 8 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to the output device 1010 and the input device 1020, and the arithmetic device 1030, the primary storage device 1040, the secondary storage device 1050, the output I / F (Interface) 1060, the input I / F 1070, and the network I / F 1080 are bused. It has a form connected by 1090.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 情報処理システム
10 端末装置
14 測位部
30 制御部
31 送信部
32 受信部
33 処理部
34 取得部
35 変換部
36 照合部
100 情報提供装置
110 通信部
120 記憶部
121 変換情報データベース
122 ベクトル情報データベース
130 制御部
131 収集部
132 抽出部
133 生成部
134 提供部
1 Information processing system 10 Terminal equipment 14 Positioning unit 30 Control unit 31 Transmission unit 32 Reception unit 33 Processing unit 34 Acquisition unit 35 Conversion unit 36 Collation unit 100 Information provision unit 110 Communication unit 120 Storage unit 121 Conversion information database 122 Vector information database 130 Control unit 131 Collection unit 132 Extraction unit 133 Generation unit 134 Providing unit

Claims (15)

位置情報を取得する取得部と、
前記位置情報をベクトルに変換する変換部と、
前記ベクトルと、ユーザの周期的な行動を示す基底ベクトルとを照合する照合部と、
前記ベクトルが前記基底ベクトルに該当しない場合、前記ベクトルに関連する情報を送信する送信部と、
を備えることを特徴とする情報処理装置。
The acquisition unit that acquires location information and
A conversion unit that converts the position information into a vector,
A collation unit that collates the vector with a basis vector indicating the periodic behavior of the user.
When the vector does not correspond to the basis vector, a transmitter for transmitting information related to the vector and a transmitter.
An information processing device characterized by being equipped with.
前記送信部は、前記ベクトルが前記基底ベクトルに該当する場合、普段通りである旨を示す情報を送信する、
ことを特徴とする請求項1に記載の情報処理装置。
When the vector corresponds to the basis vector, the transmission unit transmits information indicating that it is as usual.
The information processing apparatus according to claim 1.
前記送信部は、前記ベクトルが前記基底ベクトルと小さく異なる場合、前記ベクトルと前記基底ベクトルとの差分を示す情報を送信する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
When the vector is slightly different from the basis vector, the transmission unit transmits information indicating the difference between the vector and the basis vector.
The information processing apparatus according to claim 1 or 2.
前記送信部は、前記ベクトルが前記基底ベクトルと大きく異なる場合、前記ベクトルを送信する、
ことを特徴とする請求項1~3のうちいずれか1つに記載の情報処理装置。
The transmitter transmits the vector when the vector is significantly different from the basis vector.
The information processing apparatus according to any one of claims 1 to 3.
前記ベクトルを受信したサーバ側から提供される前記基底ベクトルを受信する受信部と、
をさらに備えることを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
A receiver that receives the basis vector provided from the server side that received the vector, and a receiver.
The information processing apparatus according to any one of claims 1 to 4, further comprising.
前記変換部は、複数の前記位置情報を一括して単数の前記ベクトルに変換する、
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理装置。
The conversion unit collectively converts a plurality of the position information into a single vector.
The information processing apparatus according to any one of claims 1 to 5.
前記変換部は、機械学習により得られたベクトル変換モデルを用いて、前記位置情報を前記ベクトルに変換する、
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
The conversion unit converts the position information into the vector by using the vector conversion model obtained by machine learning.
The information processing apparatus according to any one of claims 1 to 6.
前記変換部は、所定の変換規則に従って、前記位置情報をベクトルに変換する、
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
The conversion unit converts the position information into a vector according to a predetermined conversion rule.
The information processing apparatus according to any one of claims 1 to 6.
前記ベクトルは、ユーザの行動を示す、
ことを特徴とする請求項1~8のうちいずれか1つに記載の情報処理装置。
The vector indicates the user's behavior.
The information processing apparatus according to any one of claims 1 to 8.
前記変換部は、複数の前記位置情報のうち、一部の前記位置情報をベクトルに変換し、
前記照合部は、一部の前記位置情報から変換された前記ベクトルと、前記基底ベクトルとを照合し、
前記送信部は、一部の前記位置情報から変換された前記ベクトルが前記基底ベクトルに該当しない場合、前記ベクトルに関連する情報と、残りの前記位置情報とを送信する、
ことを特徴とする請求項1~9のうちいずれか1つに記載の情報処理装置。
The conversion unit converts a part of the position information out of the plurality of position information into a vector, and converts the position information into a vector.
The collation unit collates the vector converted from a part of the position information with the basis vector, and collates the vector.
When the vector converted from a part of the position information does not correspond to the basis vector, the transmission unit transmits the information related to the vector and the remaining position information.
The information processing apparatus according to any one of claims 1 to 9.
端末装置から、位置情報に基づくベクトルに関連する情報を収集する収集部と、
前記ベクトルから、ユーザの行動の周期性を表す情報を抽出する抽出部と、
前記ベクトルから抽出された前記ユーザの行動の周期性を表す情報に基づいて、基底ベクトルを生成する生成部と、
前記基底ベクトルを前記端末装置に提供する提供部と、
を備えることを特徴とする情報処理装置。
A collection unit that collects information related to vectors based on location information from terminal devices,
An extraction unit that extracts information representing the periodicity of the user's behavior from the vector,
A generator that generates a basis vector based on information that represents the periodicity of the user's behavior extracted from the vector.
A provider that provides the basis vector to the terminal device,
An information processing device characterized by being equipped with.
前記収集部は、前記端末装置から前記ベクトルに関連する情報を収集できなかった場合、前記ユーザの行動は普段通りであると判断する、
ことを特徴とする請求項11に記載の情報処理装置。
If the collecting unit cannot collect information related to the vector from the terminal device, the collecting unit determines that the user's behavior is normal.
The information processing apparatus according to claim 11.
前記抽出部は、前記ベクトルの要素それぞれでフーリエ変換を行い、得られたスペクトルにおいて、要素間で共通して絶対値の大きいところを取り出して、前記ユーザの行動の周期性を表す情報と推定する、
ことを特徴とする請求項11に記載の情報処理装置。
The extraction unit performs a Fourier transform on each of the elements of the vector, extracts a portion having a large absolute value in common among the elements in the obtained spectrum, and estimates it as information representing the periodicity of the user's behavior. ,
The information processing apparatus according to claim 11.
情報処理装置が実行する情報処理方法であって、
位置情報を取得する取得部と、
前記位置情報をベクトルに変換する変換工程と、
前記ベクトルと、ユーザの周期的な行動を示す基底ベクトルとを照合する照合工程と、
前記ベクトルが前記基底ベクトルに該当しない場合、前記ベクトルに関連する情報を送信する送信工程と、
を含むことを特徴とする情報処理方法。
It is an information processing method executed by an information processing device.
The acquisition unit that acquires location information and
A conversion process for converting the position information into a vector, and
A collation step of collating the vector with a basis vector indicating the periodic behavior of the user,
When the vector does not correspond to the basis vector, a transmission step of transmitting information related to the vector and a transmission step.
An information processing method characterized by including.
位置情報を取得する取得手順と、
前記位置情報をベクトルに変換する変換手順と、
前記ベクトルと、ユーザの周期的な行動を示す基底ベクトルとを照合する照合手順と、
前記ベクトルが前記基底ベクトルに該当しない場合、前記ベクトルに関連する情報を送信する送信手順と、
をコンピュータに実行させるための情報処理プログラム。
The acquisition procedure to acquire location information and
The conversion procedure for converting the position information into a vector and
A collation procedure for collating the vector with a basis vector indicating the user's periodic behavior.
When the vector does not correspond to the basis vector, a transmission procedure for transmitting information related to the vector and a transmission procedure.
Information processing program to make a computer execute.
JP2020146118A 2020-08-31 2020-08-31 Information processing equipment, information processing methods and information processing programs Active JP7098689B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020146118A JP7098689B2 (en) 2020-08-31 2020-08-31 Information processing equipment, information processing methods and information processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020146118A JP7098689B2 (en) 2020-08-31 2020-08-31 Information processing equipment, information processing methods and information processing programs

Publications (2)

Publication Number Publication Date
JP2022041090A JP2022041090A (en) 2022-03-11
JP7098689B2 true JP7098689B2 (en) 2022-07-11

Family

ID=80499693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020146118A Active JP7098689B2 (en) 2020-08-31 2020-08-31 Information processing equipment, information processing methods and information processing programs

Country Status (1)

Country Link
JP (1) JP7098689B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023135810A (en) 2022-03-16 2023-09-29 セイコーエプソン株式会社 Method for decorating timepiece component and timepiece component

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164207A (en) 2013-02-27 2014-09-08 Mitsubishi Electric Corp Map information system
JP2017037032A (en) 2015-08-12 2017-02-16 セイコーエプソン株式会社 Electronic apparatus, physical activity information presentation method, and physical activity information presentation program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164207A (en) 2013-02-27 2014-09-08 Mitsubishi Electric Corp Map information system
JP2017037032A (en) 2015-08-12 2017-02-16 セイコーエプソン株式会社 Electronic apparatus, physical activity information presentation method, and physical activity information presentation program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
加藤 拓也,逐次FLDAに基づく尤度判別空間を用いた身体動作認識,情報処理学会 研究報告 知能システム(ICS) 2014-ICS-175 [online] ,日本,情報処理学会,2014年03月07日,1-7
辻 敏夫 Toshio TSUJI,ハイパヒューマン技術が開く新世界 Hyper Human Technology toward the 21st Century Industrial Revolution,電子情報通信学会誌 第90巻 第10号 THE JOURNAL OF THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS,日本,社団法人電子情報通信学会 DENSHI-JOHO-TSUSHIN-GAKKAI,2007年10月01日,第90巻,854-858

Also Published As

Publication number Publication date
JP2022041090A (en) 2022-03-11

Similar Documents

Publication Publication Date Title
CN107172590B (en) Mobile terminal and activity state information processing method and device based on same
JP7098689B2 (en) Information processing equipment, information processing methods and information processing programs
JP7160873B2 (en) Information processing system and information processing method
JP7095040B2 (en) Information processing equipment, information processing methods and information processing programs
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
JP7145917B2 (en) Information processing device, information processing method and information processing program
JP7337123B2 (en) Information processing device, information processing method and information processing program
JP7155195B2 (en) Information processing device, information processing method and information processing program
JP7372210B2 (en) Information processing device, information processing method, and information processing program
JP7291177B2 (en) Terminal device, information processing method and information processing program
JP7025480B2 (en) Information processing equipment, information processing methods and information processing programs
JP7317901B2 (en) Information processing device, information processing method and information processing program
JP7459021B2 (en) Information processing device, information processing method, and information processing program
JP7388744B2 (en) Information processing device, information processing method, and information processing program
JP7145247B2 (en) Information processing device, information processing method and information processing program
JP2021189973A (en) Information processing apparatus, information processing method, and information processing program
JP7436436B2 (en) Information processing device, information processing method, and information processing program
JP7342079B2 (en) Information processing device, information processing method, and information processing program
US20220374478A1 (en) Information processing device, information processing method, and non-transitory computer readable storage medium
JP2023043778A (en) Information processing device, information processing method, and information processing program
JP2023043779A (en) Information processing device, information processing method, and information processing program
JP2023028857A (en) Information processing system
JP2022093960A (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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220629

R150 Certificate of patent or registration of utility model

Ref document number: 7098689

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