JP7794785B2 - Information processing device, distribution method, and distribution program - Google Patents
Information processing device, distribution method, and distribution programInfo
- Publication number
- JP7794785B2 JP7794785B2 JP2023150454A JP2023150454A JP7794785B2 JP 7794785 B2 JP7794785 B2 JP 7794785B2 JP 2023150454 A JP2023150454 A JP 2023150454A JP 2023150454 A JP2023150454 A JP 2023150454A JP 7794785 B2 JP7794785 B2 JP 7794785B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- users
- data
- user
- processing 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、情報処理装置、配信方法および配信プログラムに関する。 The present invention relates to an information processing device, a distribution method, and a distribution program.
観光スポットへの誘導や、商品のプロモーション等を目的として、各地域に訪れた人物に情報を提供することが行われている。たとえば、ある地域に訪れた人物に情報を提供する技術として、人物のコンテキスト(電車に乗っている、マラソンしている等)の傾向と、人物に提供する情報との関係を事前に定義した学習データを基にして、機械学習モデルの機械学習を実行しておき、係る機械学習モデルを利用して、人物に提供する情報を特定して配信する従来技術がある。 Information is provided to people visiting various regions for purposes such as guiding them to tourist spots and promoting products. For example, one conventional technology for providing information to people visiting a certain region involves running machine learning on a machine learning model based on training data that predefines the relationship between the person's context (such as riding a train or running a marathon) and the information to be provided to the person, and then using this machine learning model to identify and distribute the information to be provided to the person.
しかしながら、上記の従来技術では、機械学習時に用いた人物の状況と、情報を提供する時点における人物の状況との間に時間的な乖離があるため、情報提供の精度を向上させることについて改善の余地がある。 However, with the above-mentioned conventional technology, there is a time lag between the person's situation used during machine learning and the person's situation at the time the information is provided, so there is room for improvement in terms of improving the accuracy of information provided.
本願は、上記に鑑みてなされたものであって、情報提供の精度を向上させることができる情報処理装置、学習方法および学習プログラムを提供することを目的とする。 This application has been made in light of the above, and aims to provide an information processing device, a learning method, and a learning program that can improve the accuracy of information provision.
本願に係る情報処理装置は、取得部と、特定部と、決定部と、配信部とを有する。取得部は、類似する状況のセンサ情報から類似するベクトルを生成するように訓練された機械学習モデルを用いて生成された、複数の利用者にそれぞれ対応する複数のベクトルを取得する。特定部は、複数のベクトルを基にして、ベクトルの類似する利用者群を特定する。決定部は、特定部に特定された利用者群に含まれる利用者のうち、ログイン済みの利用者の情報に基づいて、利用者群に対して提供する情報の内容を決定する。配信部は、決定した内容の情報を利用者群がそれぞれ所持する端末に配信する。 The information processing device according to the present application has an acquisition unit, an identification unit, a determination unit, and a distribution unit. The acquisition unit acquires multiple vectors corresponding to multiple users, each generated using a machine learning model trained to generate similar vectors from sensor information of similar situations. The identification unit identifies a group of users with similar vectors based on the multiple vectors. The determination unit determines the content of information to be provided to the user group based on information about logged-in users included in the user group identified by the identification unit. The distribution unit distributes the determined information content to devices owned by each member of the user group.
実施形態の一態様によれば、情報提供の精度を向上させることができるという効果を奏する。 According to one aspect of the embodiment, it is possible to improve the accuracy of information provision.
以下に、本願に係る情報処理装置、配信方法および配信プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、配信方法および配信プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Below, detailed explanations are given of the information processing device, distribution method, and distribution program (hereinafter referred to as "embodiments") according to the present application, with reference to the drawings. Note that the information processing device, distribution method, and distribution program according to the present application are not limited to these embodiments. Furthermore, the embodiments can be combined as appropriate to the extent that the processing content is not contradictory. Furthermore, the same components in the following embodiments are designated by the same reference numerals, and redundant explanations will be omitted.
〔1.情報処理システム1の構成〕
まず、図1を用いて、本実施形態に係る情報処理システム1の構成の一例について説明する。図1は、本実施形態に係る情報処理システム1の構成を示す図である。たとえば、情報処理システム1は、ユーザ端末10a,10b,10c,10dと、情報処理装置100とを有する。ユーザ端末10a~10dおよび情報処理装置100は、ネットワーク2を介して、相互に接続される。
1. Configuration of Information Processing System 1
First, an example of the configuration of an information processing system 1 according to this embodiment will be described using Fig. 1. Fig. 1 is a diagram showing the configuration of the information processing system 1 according to this embodiment. For example, the information processing system 1 has user terminals 10a, 10b, 10c, and 10d, and an information processing device 100. The user terminals 10a to 10d and the information processing device 100 are connected to each other via a network 2.
ユーザ端末10a~10dは、ユーザが利用する端末装置である。ユーザ端末10a~10dは、タブレット端末、スマートフォン、ノート型PC(Personal Computer)等に対応する。たとえば、ユーザ3a,3b,3c,3dは、それぞれ、ユーザ端末10a,10b,10c,10eを利用するものとする。 User terminals 10a to 10d are terminal devices used by users. User terminals 10a to 10d correspond to tablet terminals, smartphones, notebook PCs (Personal Computers), etc. For example, users 3a, 3b, 3c, and 3d use user terminals 10a, 10b, 10c, and 10e, respectively.
ユーザ端末10a~10dは、基地局等を介して、ネットワーク2に接続してもよい。図1では、ユーザ端末10a~10dを示すが、他のユーザ端末が含まれていてもよい。以下の説明では、ユーザ端末10a~10dを特に区別しない場合に、ユーザ端末10a~10dをまとめて「ユーザ端末10」と表記する。ユーザ3a~3dをまとめて「ユーザ3」と表記する。 User terminals 10a-10d may be connected to network 2 via base stations or the like. While user terminals 10a-10d are shown in Figure 1, other user terminals may also be included. In the following description, when there is no need to distinguish between user terminals 10a-10d, user terminals 10a-10d will be collectively referred to as "user terminal 10." Users 3a-3d will be collectively referred to as "user 3."
ユーザ3は、ユーザ端末10を操作して、情報処理装置100が提供するWebサイトにログインし、各種のサービス提供を受ける。また、ユーザ端末10は、各種のセンサを備え、この各種のセンサを用いて、リアルタイムに、センサデータを生成する。センサデータは、時間と、各種のセンサ値とを対応付けたデータである。たとえば、各種のセンサ値には、照度、音声、位置、気圧、速度、画像等が含まれる。 User 3 operates user terminal 10 to log in to a website provided by information processing device 100 and receive various services. User terminal 10 also has various sensors, which are used to generate sensor data in real time. Sensor data is data that associates time with various sensor values. For example, the various sensor values include illuminance, sound, position, air pressure, speed, images, etc.
ユーザ端末10は、事前に配布された機械学習モデルを有する。この機械学習モデルは、入力データをセンサデータとし、出力(正解ラベル)をベクトルデータとして事前に訓練されたモデル(NN<Neural Network>等)である。また、機械学習モデルは、類似する状況で生成された複数のセンサデータの入力を受け付けた場合に出力する複数のベクトルデータが、相互に類似するベクトルデータとなるように、訓練されている。たとえば、あるベクトルと、他のベクトルとのコサイン類似度が、閾値以上である場合、あるベクトルと、他のベクトルとは、相互に類似したベクトルである。 The user terminal 10 has a machine learning model that has been distributed in advance. This machine learning model is a model (such as a neural network) that has been trained in advance with sensor data as input and vector data as output (correct label). The machine learning model is also trained so that when it receives inputs of multiple pieces of sensor data generated under similar circumstances, it outputs multiple pieces of vector data that are similar to each other. For example, if the cosine similarity between a vector and another vector is equal to or greater than a threshold, the vector and the other vector are similar to each other.
たとえば、ユーザ3aと、ユーザ3bとが同じエリア(ある繁華街)で、同じような行動(たとえば、立ち止まってユーザ端末10を操作している)を行っている場合、ユーザ端末10aのセンサデータを基に生成されるベクトルデータと、ユーザ端末10bのセンサデータを基に生成されるベクトルデータとは、相互に類似するベクトルとなる。 For example, if user 3a and user 3b are in the same area (a busy shopping district) and are engaged in similar behavior (for example, standing still and operating user terminal 10), the vector data generated based on the sensor data of user terminal 10a and the vector data generated based on the sensor data of user terminal 10b will be similar vectors.
また、ユーザ3cと、ユーザ3dとが同じエリア(ある空港)で、同じような行動(たとえば、キャリーカートを引いている)を行っている場合、ユーザ端末10cのセンサデータを基に生成されるベクトルデータと、ユーザ端末10dのセンサデータを基に生成されるベクトルデータとは、相互に類似するベクトルとなる。 Furthermore, if user 3c and user 3d are in the same area (an airport) and are engaged in similar activities (for example, pulling a cart), the vector data generated based on the sensor data of user terminal 10c and the vector data generated based on the sensor data of user terminal 10d will be similar vectors.
ユーザ端末10は、リアルタイムに取得したセンサデータを機械学習モデルに入力することで、ベクトルデータをリアルタイムに生成する。ユーザ端末10は、ユーザ3によるログインの有無に関わらず、リアルタイムに生成したベクトルデータを、情報処理装置100に送信する。ベクトルデータには、ユーザ端末10を識別する情報が付与される。以下の説明では、ユーザ端末10を一意に識別する情報を「端末識別データ」と表記する。端末識別データは、ユーザ端末10のIPアドレス、デバイスID、クッキー等である。 The user terminal 10 generates vector data in real time by inputting sensor data acquired in real time into a machine learning model. The user terminal 10 transmits the vector data generated in real time to the information processing device 100, regardless of whether the user 3 is logged in. Information identifying the user terminal 10 is attached to the vector data. In the following description, information that uniquely identifies the user terminal 10 is referred to as "terminal identification data." The terminal identification data is the IP address, device ID, cookie, etc. of the user terminal 10.
なお、ユーザ端末10は、ユーザ3の操作によって、情報処理装置100が提供するWebサイトにログインしている間、上記のベクトルデータに加えて、センサデータを、情報処理装置100に送信する。センサデータには、端末識別データが付与される。 In addition to the vector data, the user terminal 10 transmits sensor data to the information processing device 100 while logged in to a website provided by the information processing device 100 through the operation of the user 3. The sensor data is accompanied by terminal identification data.
情報処理装置100は、Webサイト等を提供し、ログインを受け付けたユーザ端末10に対して各種のサービスを提供するサーバ装置である。また、情報処理装置100は、ログインの有無よらず、予め指定された所定のエリアに存在する全てのユーザ端末10からリアルタイムにベクトルデータを取得する。情報処理装置100は、取得したベクトルデータを基にして、ユーザ3に対して提供する情報の内容を決定し、決定した内容の情報を、ユーザ端末10に配信する。以下において、情報処理装置100の処理の一例について説明する。 The information processing device 100 is a server device that provides websites and the like and offers various services to user terminals 10 that have logged in. The information processing device 100 also acquires vector data in real time from all user terminals 10 that are located in a pre-specified area, regardless of whether they have logged in. Based on the acquired vector data, the information processing device 100 determines the content of the information to be provided to the user 3, and distributes the determined information content to the user terminal 10. An example of the processing of the information processing device 100 is described below.
図2は、本実施形態に係る情報処理装置100の処理を説明するための図である。図2では一例として、情報処理装置100が、指定されたエリアに含まれるユーザ端末10から取得したベクトルデータを、ベクトルデータv1a,v1b,v1c,v1d,v1e,v1f,v1g,v2a,v2b,v2c,v2d,v2e,v2f,v2g,v2h,v2a,v2b,v2c,v2d,v2e,v2fとする。 Figure 2 is a diagram for explaining the processing of the information processing device 100 according to this embodiment. As an example, in Figure 2, the vector data acquired by the information processing device 100 from the user terminals 10 included in the specified area are vector data v1a, v1b, v1c, v1d, v1e, v1f, v1g, v2a, v2b, v2c, v2d, v2e, v2f, v2g, v2h, v2a, v2b, v2c, v2d, v2e, and v2f.
以下の説明では「ベクトルデータに対応するユーザ」と表記した場合、ベクトルデータの送信元となるユーザ端末10を利用するユーザ3を示す。たとえば、ベクトルデータv1aの送信元となるユーザ端末10を、図1に示したユーザ端末10aとすると、ベクトルデータv1aのユーザ3は、ユーザ3aである。 In the following description, when we refer to "user corresponding to vector data," we mean user 3 who uses the user terminal 10 that is the sender of the vector data. For example, if the user terminal 10 that is the sender of vector data v1a is user terminal 10a shown in Figure 1, then user 3 of vector data v1a is user 3a.
情報処理装置100は、複数のベクトルデータに対してクラスタリング等を実行することで、類似するベクトルデータを同一のグループに分類する。図2に示す例では、情報処理装置100は、ベクトルデータv1a~v1gをグループG1に分類する。情報処理装置100は、ベクトルデータv2a~v2hをグループG2に分類する。情報処理装置100は、ベクトルデータv3a~v3fをグループG3に分類する。 The information processing device 100 classifies similar vector data into the same group by performing clustering or the like on multiple vector data. In the example shown in FIG. 2, the information processing device 100 classifies vector data v1a to v1g into group G1. The information processing device 100 classifies vector data v2a to v2h into group G2. The information processing device 100 classifies vector data v3a to v3f into group G3.
たとえば、グループG1に含まれるベクトルデータv1a~v1gに対応する複数のユーザのうち、ベクトルデータv1a~v1cに対応するユーザをログイン済みのユーザ(以下、適宜、ログインユーザ)とする。グループG2に含まれるベクトルデータv2a~v2hに対応する複数のユーザのうち、ベクトルデータv2b,v2e,v2gに対応するユーザを、ログインユーザとする。グループG3に含まれるベクトルデータv3a~v3fに対応する複数のユーザのうち、ベクトルデータv3aに対応するユーザを、ログインユーザとする。 For example, of the multiple users corresponding to vector data v1a-v1g included in group G1, the users corresponding to vector data v1a-v1c are considered to be logged-in users (hereinafter referred to as logged-in users, as appropriate). Of the multiple users corresponding to vector data v2a-v2h included in group G2, the users corresponding to vector data v2b, v2e, and v2g are considered to be logged-in users. Of the multiple users corresponding to vector data v3a-v3f included in group G3, the user corresponding to vector data v3a is considered to be the logged-in user.
情報処理装置100は、グループG1に含まれるベクトルデータv1a~v1gに対応する複数のユーザのユーザ端末10に配信する情報の内容を、ベクトルデータv1a~v1cに対応するログインユーザの属性データに基づいて決定する。以下の説明では、グループG1に含まれるベクトルデータv1a~v1gに対応する複数のユーザのユーザ端末10を、「グループG1のユーザ端末10」と表記する。 The information processing device 100 determines the content of information to be distributed to the user terminals 10 of multiple users corresponding to the vector data v1a-v1g included in group G1 based on the attribute data of the logged-in user corresponding to the vector data v1a-v1c. In the following description, the user terminals 10 of multiple users corresponding to the vector data v1a-v1g included in group G1 will be referred to as "user terminals 10 of group G1."
情報処理装置100は、グループG2に含まれるベクトルデータv2a~v2hに対応する複数のユーザのユーザ端末10に配信する情報の内容を、ベクトルデータv2b,v2e,v2gに対応するログインユーザの属性データに基づいて決定する。以下の説明では、グループG2に含まれるベクトルデータv2a~v2hに対応する複数のユーザのユーザ端末10を、「グループG2のユーザ端末10」と表記する。 The information processing device 100 determines the content of information to be distributed to the user terminals 10 of multiple users corresponding to vector data v2a to v2h included in group G2 based on the attribute data of the logged-in users corresponding to vector data v2b, v2e, and v2g. In the following description, the user terminals 10 of multiple users corresponding to vector data v2a to v2h included in group G2 will be referred to as "user terminals 10 of group G2."
情報処理装置100は、グループG3に含まれるベクトルデータv3a~v3fに対応する複数のユーザのユーザ端末10に配信する情報の内容を、ベクトルデータv3aに対応するログインユーザの属性データに基づいて決定する。以下の説明では、グループG3に含まれるベクトルデータv3a~v3fに対応する複数のユーザのユーザ端末10を、「グループG3のユーザ端末10」と表記する。 The information processing device 100 determines the content of the information to be distributed to the user terminals 10 of multiple users corresponding to the vector data v3a-v3f included in group G3 based on the attribute data of the logged-in user corresponding to the vector data v3a. In the following description, the user terminals 10 of multiple users corresponding to the vector data v3a-v3f included in group G3 will be referred to as "user terminals 10 of group G3."
たとえば、情報処理装置100は、配信する情報の内容を決定する場合に、以下に説明する決定テーブルを利用してもよい。図3は、決定テーブルのデータ構造の一例を示す図である。図3に示すように、決定テーブル141は、項番と、職業と、年収と、時間帯と、気温と、速度と、場所と、配信データとを対応付ける。 For example, when determining the content of information to be distributed, the information processing device 100 may use the decision table described below. Figure 3 is a diagram showing an example of the data structure of a decision table. As shown in Figure 3, the decision table 141 associates item numbers, occupations, annual income, time periods, temperatures, speeds, locations, and distribution data.
項番は、決定テーブル141の各レコードを識別する番号である。職業、年収は、ログインユーザの職業、年収であり、ログインユーザの属性データに設定される。時間帯は、タイマ等から取得される現在の時間帯である。気温、速度、場所は、ログインユーザのユーザ端末10から取得される情報(センサデータ)であって、ログインユーザのユーザ端末10によって測定された気温、速度、場所の情報に対応する。配信データは、該当するグループに属する全てのユーザ端末10に配信するデータを示す。 The item number is a number that identifies each record in the decision table 141. The occupation and annual income are the occupation and annual income of the logged-in user, and are set in the attribute data of the logged-in user. The time period is the current time period obtained from a timer or the like. The temperature, speed, and location are information (sensor data) obtained from the logged-in user's user terminal 10, and correspond to the temperature, speed, and location information measured by the logged-in user's user terminal 10. The distribution data indicates the data to be distributed to all user terminals 10 belonging to the corresponding group.
なお、情報処理装置100は、同一のグループに、複数のログインユーザが含まれる場合には、複数のログインユーザに共通する属性データを特定して、利用してもよい。情報処理装置100は、同一のグループに、複数のログインユーザが含まれる場合には、多数決等によって、属性データを特定してもよい。また、情報処理装置100は、同一のグループに、複数のログインユーザが含まれる場合には、各ログインユーザのユーザ端末10から取得するセンサデータの平均値、中央値等を用いてもよい。 When multiple logged-in users are included in the same group, the information processing device 100 may identify and use attribute data common to the multiple logged-in users. When multiple logged-in users are included in the same group, the information processing device 100 may identify attribute data by majority vote, etc. When multiple logged-in users are included in the same group, the information processing device 100 may use the average value, median value, etc. of sensor data acquired from the user terminals 10 of each logged-in user.
たとえば、グループG1に含まれるログインユーザの属性データに「職業:会社員」が設定され、タイマから取得された現在の時間帯が「午前9時~午後5時」に含まれるものとする。また、グループG1に含まれるログインユーザの利用するユーザ端末10のセンサデータによって、気温が「C1度未満」、速度が「V1~V2の間」、場所が「繁華街A」であるものとする。この場合、情報処理装置100は、グループG1のユーザ端末10に配信する情報の内容を「ジムの広告データ」に決定し、グループG1の全てのユーザ端末10に、「ジムの広告データ」を配信する。 For example, suppose the attribute data of a logged-in user in group G1 is set to "Occupation: Company Employee," and the current time period obtained from the timer is between 9:00 AM and 5:00 PM. Furthermore, suppose the sensor data of the user terminal 10 used by the logged-in user in group G1 indicates that the temperature is "less than C1 degrees," the speed is "between V1 and V2," and the location is "downtown A." In this case, the information processing device 100 determines that the content of the information to be distributed to the user terminals 10 in group G1 is "gym advertising data," and distributes the "gym advertising data" to all user terminals 10 in group G1.
たとえば、グループG2に含まれるログインユーザの属性データに含まれる「年収」が「閾値以上」であり、タイマから取得された時間帯が「午前9時~午後5時」に含まれるものとする。また、グループG2に含まれるログインユーザの利用するユーザ端末10のセンサデータによって、気温が「C2度~C3度の間」、速度が「V1未満(止まっている)」、場所が「繁華街A」であるものとする。この場合、情報処理装置100は、グループG2のユーザ端末10に配信する情報の内容を「美容の広告データ」に決定し、グループG2の全てのユーザ端末10に、「美容の広告データ」を配信する。 For example, suppose the attribute data of the logged-in users in group G2 includes an "annual income" of "above threshold," and the time period obtained from the timer is between "9:00 AM and 5:00 PM." Furthermore, the sensor data of the user terminals 10 used by the logged-in users in group G2 indicates that the temperature is "between C2 and C3 degrees," the speed is "below V1 (stopped)," and the location is "downtown A." In this case, the information processing device 100 determines that the content of the information to be distributed to the user terminals 10 in group G2 is "beauty advertising data," and distributes the "beauty advertising data" to all user terminals 10 in group G2.
たとえば、グループG3に含まれるログインユーザの属性データに含まれる「年収」が「閾値以上」であり、タイマから取得された時間帯が「午前9時~午後5時」に含まれるものとする。また、グループG3に含まれるログインユーザの利用するユーザ端末10のセンサデータによって、気温が「C2度~C3度の間」、速度が「V1~V2の間」、場所が「繁華街A」であるものとする。この場合、情報処理装置100は、グループG3のユーザ端末10に配信する情報の内容を「クルーザーの広告データ」に決定し、グループG3の全てのユーザ端末10に、「クルーザーの広告データ」を配信する。 For example, suppose the attribute data of the logged-in users in group G3 includes an "annual income" of "above threshold" and the time period obtained from the timer is "9:00 AM to 5:00 PM." Furthermore, the sensor data of the user terminals 10 used by the logged-in users in group G3 indicates that the temperature is "between C2 and C3 degrees," the speed is "between V1 and V2," and the location is "downtown A." In this case, the information processing device 100 determines that the content of the information to be distributed to the user terminals 10 in group G3 is "cruising cruiser advertising data," and distributes the "cruising cruiser advertising data" to all user terminals 10 in group G3.
上記のように、情報処理装置200は、ログインの有無に関わらずユーザ端末10からリアルタイムに取得したベクトルデータを、類似するベクトルデータ毎にグループに分類する。そして、情報処理装置200は、同一のグループに含まれる複数のユーザのうち、ログインユーザの属性データを基にして、当該同一のグループにユーザに提供する配信データを決定し、決定した配信データを配信する。これによって、情報提供の精度を向上させることができる。 As described above, the information processing device 200 classifies vector data acquired in real time from the user terminal 10 into groups based on similar vector data, regardless of whether the user is logged in. Then, the information processing device 200 determines the distribution data to be provided to users in the same group based on the attribute data of the logged-in user among multiple users included in the same group, and distributes the determined distribution data. This improves the accuracy of information provision.
〔2.ユーザ端末10の構成〕
次に、図1に示したユーザ端末10(たとえば、ユーザ端末10a~10d)の構成の一例について説明する。図4は、本実施形態に係るユーザ端末10の構成を示す図である。図4に示すように、ユーザ端末10は、通信部11、入力部12、表示部13、センサ群14、記憶部15、制御部16を有する。
2. Configuration of User Terminal 10
Next, an example of the configuration of the user terminal 10 (for example, user terminals 10a to 10d) shown in Fig. 1 will be described. Fig. 4 is a diagram showing the configuration of the user terminal 10 according to this embodiment. As shown in Fig. 4, the user terminal 10 has a communication unit 11, an input unit 12, a display unit 13, a sensor group 14, a storage unit 15, and a control unit 16.
通信部11は、NIC(Network Interface Card)等によって実現される。通信部11は、基地局等を介して、ネットワーク2と無線で接続され、他の各種装置との間で情報の送受信を行う。たとえば、後述する制御部16は、通信部11を利用して、情報処理装置100と情報の送受信を行う。 The communication unit 11 is realized by a NIC (Network Interface Card) or the like. The communication unit 11 is wirelessly connected to the network 2 via a base station or the like, and transmits and receives information to and from various other devices. For example, the control unit 16 (described below) uses the communication unit 11 to transmit and receive information to and from the information processing device 100.
入力部12は、ユーザ端末10の制御部16に各種の情報を入力するための装置である。入力部12は、キーボード、マウス、タッチパネル等の入力装置である。ユーザ3は、入力部12を操作して、情報処理装置100にアクセスし、ログイン操作等を行う。 The input unit 12 is a device for inputting various types of information to the control unit 16 of the user terminal 10. The input unit 12 is an input device such as a keyboard, mouse, or touch panel. The user 3 operates the input unit 12 to access the information processing device 100 and perform login operations, etc.
表示部13は、制御部16から出力される情報を表示するための装置である。表示部13は、ディスプレイやタッチパネル等の表示装置である。たとえば、表示部13は、情報処理装置100が提供するWebサイトの画面や、ログイン画面、および、情報処理装置100が上記の処理によって決定した広告データ等を表示する。 The display unit 13 is a device for displaying information output from the control unit 16. The display unit 13 is a display device such as a display or touch panel. For example, the display unit 13 displays the screen of a website provided by the information processing device 100, a login screen, and advertising data determined by the information processing device 100 through the above processing.
センサ群14は、上記のセンサデータを計測するための複数のセンサである。センサ群14は、計測したセンサデータを、センサデータ15aとして、記憶部15に格納する処理を繰り返し実行する。たとえば、センサ群14には、照度センサ、音響センサ、GPS(Global Positioning System)、気圧センサ、温度センサ、加速度センサ、ジャイロセンサ、イメージセンサ等が含まれる。 The sensor group 14 is a plurality of sensors for measuring the above-mentioned sensor data. The sensor group 14 repeatedly executes a process of storing the measured sensor data in the memory unit 15 as sensor data 15a. For example, the sensor group 14 includes an illuminance sensor, an acoustic sensor, a GPS (Global Positioning System), a barometric pressure sensor, a temperature sensor, an acceleration sensor, a gyro sensor, an image sensor, etc.
記憶部15は、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスクなどの記憶装置によって実現される。たとえば、記憶部15は、センサデータ15a、機械学習モデル15bを有する。 The memory unit 15 is realized by a semiconductor memory element such as a flash memory, or a storage device such as a hard disk. For example, the memory unit 15 has sensor data 15a and a machine learning model 15b.
センサデータ15aは、センサ群14によって計測されるデータである。たとえば、センサデータ15aは、時間と、各種のセンサ値とを対応付けたデータである。各種のセンサ値には、照度、音声、位置、気圧、速度、画像等が含まれる。 Sensor data 15a is data measured by the sensor group 14. For example, sensor data 15a is data that associates time with various sensor values. The various sensor values include illuminance, sound, position, air pressure, speed, images, etc.
機械学習モデル15bは、事前に配布された機械学習モデルである。機械学習モデル15bは、センサデータを入力した場合に、ベクトルデータを出力する。機械学習モデル15bに関する他の説明は、上述した機械学習モデルに関する説明と同様である。 Machine learning model 15b is a machine learning model that has been distributed in advance. When sensor data is input, machine learning model 15b outputs vector data. Other explanations regarding machine learning model 15b are the same as those regarding the machine learning model described above.
制御部16は、コントローラ(Controller)であり、たとえば、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)などのプロセッサによって、ユーザ端末10内部の記憶装置(たとえば、記憶部15)に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、たとえば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現される。 The control unit 16 is a controller, and is realized by a processor such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit) executing various programs stored in a storage device (e.g., the storage unit 15) within the user terminal 10 using RAM as a working area. The control unit 16 is also a controller, and is realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
制御部16は、アクセス部16a、生成部16b、送信部16c、表示処理部16dを有し、以下に説明する処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、図4に示した構成に限られず、後述する処理を行う構成であれば他の構成であってもよい。 The control unit 16 has an access unit 16a, a generation unit 16b, a transmission unit 16c, and a display processing unit 16d, and realizes or executes the functions and actions of the processes described below. Note that the internal configuration of the control unit 16 is not limited to the configuration shown in Figure 4, and may be any other configuration that performs the processes described below.
アクセス部16aは、入力部12を操作するユーザ3によって、情報処理装置100に対するアクセス要求を受付けた場合に、情報処理装置100にアクセスし、情報処理装置100から各種のサービスを受け付ける。また、アクセス部16aは、入力部12を操作するユーザ3によって、情報処理装置100に対するログイン操作を受け付けた場合、ログインデータを、情報処理装置100に送信する。たとえば、ログインデータには、ユーザ3を識別するユーザID、パスワード、端末識別データ等が含まれる。 When the access unit 16a receives an access request to the information processing device 100 from the user 3 operating the input unit 12, it accesses the information processing device 100 and accepts various services from the information processing device 100. Furthermore, when the access unit 16a receives a login operation to the information processing device 100 from the user 3 operating the input unit 12, it transmits login data to the information processing device 100. For example, the login data includes a user ID, password, terminal identification data, etc. that identify the user 3.
一方、アクセス部16aは、入力部12を操作するユーザ3によって、情報処理装置100に対するログオフ操作を受け付けた場合、ログオフデータを、情報処理装置100に送信する。たとえば、ログオフデータには、ユーザ3を識別するユーザID、ログオフ要求、端末識別データ等が含まれる。 On the other hand, when the access unit 16a receives a logoff operation for the information processing device 100 from the user 3 operating the input unit 12, the access unit 16a transmits logoff data to the information processing device 100. For example, the logoff data includes a user ID that identifies the user 3, a logoff request, terminal identification data, etc.
ユーザ端末10は、アクセス部16aが、ログインデータを情報処理装置100に送信してから、ログオフデータを情報処理装置100に送信するまでの期間において、情報処理装置100にログインしている状態となる。 The user terminal 10 is in a state of being logged in to the information processing device 100 during the period from when the access unit 16a transmits login data to the information processing device 100 until when it transmits logoff data to the information processing device 100.
生成部16bは、センサデータ15aを機械学習モデル15bに入力することで、ベクトルデータを生成する。生成部16bは、生成したベクトルデータを、送信部16cに出力する。たとえば、生成部16bは、所定の時間間隔毎に、上記処理を繰り返し実行する。 The generation unit 16b generates vector data by inputting the sensor data 15a into the machine learning model 15b. The generation unit 16b outputs the generated vector data to the transmission unit 16c. For example, the generation unit 16b repeatedly executes the above process at predetermined time intervals.
送信部16cは、生成部16bに生成されたベクトルデータに端末識別データを付与し、端末識別データを付与したベクトルデータを情報処理装置100に送信する。以下の説明では、説明を省略するが、ベクトルデータには、端末識別データが付与されているものとする。送信部16cは、情報処理装置100に対するログインの有無に関係なく、ベクトルデータを、情報処理装置100に送信する。 The transmitting unit 16c assigns terminal identification data to the vector data generated by the generating unit 16b, and transmits the vector data with the assigned terminal identification data to the information processing device 100. Although this will not be explained further below, it is assumed that the vector data has been assigned terminal identification data. The transmitting unit 16c transmits the vector data to the information processing device 100 regardless of whether or not the user has logged in to the information processing device 100.
また、送信部16cは、アクセス部16aによって、ユーザ端末10が、情報処理装置100にログインしている期間において、ベクトルデータに加えて、センサデータ15aを、情報処理装置100に送信する。すなわち、送信部16cは、ユーザ端末10が、情報処理装置100にログインしている期間は、ベクトルデータと共に、センサデータ15aを、情報処理装置100に送信する。 Furthermore, the transmitter 16c transmits the sensor data 15a to the information processing device 100 in addition to the vector data via the access unit 16a while the user terminal 10 is logged in to the information processing device 100. In other words, the transmitter 16c transmits the sensor data 15a to the information processing device 100 together with the vector data while the user terminal 10 is logged in to the information processing device 100.
表示処理部16dは、情報処理装置100から送信される各種の情報を表示部13に出力して表示させる。たとえば、表示処理部16dは、情報処理装置100から送信されるWebサイトの画面、ログイン画面、広告データ等を受信し、表示部13に表示させる。 The display processing unit 16d outputs various information transmitted from the information processing device 100 to the display unit 13 for display. For example, the display processing unit 16d receives website screens, login screens, advertising data, etc. transmitted from the information processing device 100 and displays them on the display unit 13.
〔3.情報処理装置100の構成〕
次に、図1に示した情報処理装置100の構成の一例について説明する。図5は、本実施形態に係る情報処理装置100の構成を示す図である。図5に示すように、情報処理装置100は、タイマ105、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
3. Configuration of information processing device 100
Next, an example of the configuration of the information processing device 100 shown in Fig. 1 will be described. Fig. 5 is a diagram showing the configuration of the information processing device 100 according to this embodiment. As shown in Fig. 5, the information processing device 100 includes a timer 105, a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
タイマ105は、現在時刻を、制御部150に出力する装置である。 The timer 105 is a device that outputs the current time to the control unit 150.
通信部210は、NIC等によって実現される。通信部110は、ネットワークと有線または無線で接続され、他の各種装置との間で情報の送受信を行う。たとえば、後述する制御部150は、通信部110を利用して、ユーザ端末10と情報の送受信を行う。 The communication unit 210 is realized by a NIC or the like. The communication unit 110 is connected to the network via a wired or wireless connection, and transmits and receives information to and from various other devices. For example, the control unit 150, described below, uses the communication unit 110 to transmit and receive information to and from the user terminal 10.
入力部120は、各種の情報を情報処理装置100の制御部150に入力するための装置である。入力部120は、キーボード、マウス、タッチパネル等の入力装置である。 The input unit 120 is a device for inputting various types of information to the control unit 150 of the information processing device 100. The input unit 120 is an input device such as a keyboard, mouse, or touch panel.
表示部130は、制御部150から出力される情報を表示するための装置である。表示部130は、ディスプレイやタッチパネル等の表示装置である。 The display unit 130 is a device for displaying information output from the control unit 150. The display unit 130 is a display device such as a display or touch panel.
記憶部140は、フラッシュメモリなどの半導体メモリ素子(不揮発性メモリ)、または、ハードディスクなどの記憶装置によって実現される。たとえば、記憶部140は、決定テーブル141、ユーザ管理テーブル142、ベクトルテーブル143を有する。 The memory unit 140 is implemented by a semiconductor memory element (non-volatile memory) such as a flash memory, or a storage device such as a hard disk. For example, the memory unit 140 has a decision table 141, a user management table 142, and a vector table 143.
決定テーブル141は、ユーザ端末10に配信する情報を決定する場合に用いられる。決定テーブル141に関する説明は、図3で説明した説明と同様である。 Decision table 141 is used when determining the information to be delivered to the user terminal 10. The explanation of decision table 141 is the same as that given in Figure 3.
ユーザ管理テーブル142は、ユーザに関する各種の情報を保持するテーブルである。図6は、ユーザ管理テーブル142のデータ構造の一例を示す図である。図6に示すように、ユーザ管理テーブル142は、ユーザIDと、ログインフラグと、端末識別データと、名前と、属性データとを対応付ける。 The user management table 142 is a table that holds various information related to users. Figure 6 shows an example of the data structure of the user management table 142. As shown in Figure 6, the user management table 142 associates a user ID, login flag, terminal identification data, name, and attribute data.
ユーザIDは、ユーザを一意に識別する情報である。ログインフラグは、該当するユーザがログイン中であるか否かを示すフラグである。ユーザがログイン中である場合には、ログインフラグが「オン」となり、ログオフ中である場合には、ログインフラグが「オフ」となる。端末識別データは、ユーザがログイン操作を行った際に利用されたユーザ端末10を識別する情報であり、ユーザ端末10のIPアドレス、デバイスID、クッキー等である。名前は、ユーザの名前である。属性データは、職業、年収、趣味等の情報を含む。図6に示す例では、属性データとして、職業、年収、趣味を示したが、属性データは、他の属性を含んでいてもよい。 The user ID is information that uniquely identifies a user. The login flag is a flag that indicates whether the user in question is logged in or not. If the user is logged in, the login flag is "on", and if the user is logged off, the login flag is "off". The terminal identification data is information that identifies the user terminal 10 used when the user performed the login operation, and includes the IP address, device ID, cookies, etc. of the user terminal 10. The name is the user's name. The attribute data includes information such as occupation, annual income, and hobbies. In the example shown in Figure 6, occupation, annual income, and hobbies are shown as attribute data, but the attribute data may also include other attributes.
ユーザ管理テーブル142の各データは、ユーザによって事前に登録される。なお、ユーザは、ユーザ端末10を操作して、情報処理装置100にアクセスし、自身のデータ(端末識別データ、名前、属性データ)を適宜更新してもよい。 Each piece of data in the user management table 142 is registered in advance by the user. The user may operate the user terminal 10 to access the information processing device 100 and update their own data (terminal identification data, name, attribute data) as appropriate.
ベクトルテーブル143は、事前に指定されたエリアに含まれる全てのユーザ端末10からリアルタイムに取得されるベクトルデータを保持するテーブルである。図7は、ベクトルテーブル143のデータ構造の一例を示す図である。図7に示す例では、ベクトルテーブル143は、端末識別データと、ベクトルデータと、センサデータとを対応付ける。 The vector table 143 is a table that holds vector data acquired in real time from all user terminals 10 included in a pre-specified area. Figure 7 is a diagram showing an example of the data structure of the vector table 143. In the example shown in Figure 7, the vector table 143 associates terminal identification data, vector data, and sensor data.
上記のように、情報処理装置100は、指定されたエリア内の全てのユーザ端末10から、ベクトルデータを取得し、ベクトルテーブル143に登録する。なお、ログインユーザのユーザ端末10からは、ベクトルデータと、センサデータとが送信されるため、情報処理装置は、ベクトルテーブル143に、ベクトルデータと、センサデータとを登録する。なお、情報処理装置100は、ベクトルテーブル143とは別のテーブルに、センサデータを登録してもよい。 As described above, the information processing device 100 acquires vector data from all user terminals 10 within the specified area and registers it in the vector table 143. Note that since vector data and sensor data are sent from the user terminal 10 of the logged-in user, the information processing device registers the vector data and sensor data in the vector table 143. Note that the information processing device 100 may also register sensor data in a table separate from the vector table 143.
制御部150は、コントローラであり、たとえば、CPUまたはMPUなどのプロセッサによって、情報処理装置100内部の記憶装置(たとえば、記憶部140)に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、たとえば、ASICやFPGAなどの集積回路により実現される。 The control unit 150 is a controller, and is realized, for example, by a processor such as a CPU or MPU, which executes various programs stored in a storage device (for example, the storage unit 140) within the information processing device 100 using RAM as a working area. The control unit 150 is also a controller, and is realized, for example, by an integrated circuit such as an ASIC or FPGA.
制御部150は、サービス提供部151、取得部152、特定部153、決定部154、配信部155を有し、以下に説明する処理の機能や作用を実現または実行する。なお、制御部150の内部構成は、図5に示した構成に限られず、後述する処理を行う構成であれば他の構成であってもよい。 The control unit 150 has a service providing unit 151, an acquiring unit 152, an identifying unit 153, a determining unit 154, and a distributing unit 155, and realizes or executes the functions and actions of the processes described below. Note that the internal configuration of the control unit 150 is not limited to the configuration shown in FIG. 5, and may be any other configuration that performs the processes described below.
サービス提供部151は、ユーザ端末10からアクセスを受け付け、ウェブサイト等を表示させ、各種のサービスを提供する。サービス提供部151は、ユーザ端末10からアクセスを受け付けた場合に、ログイン画面等を表示し、ユーザ端末10から、ログインデータを受信する。サービス提供部151は、ログインデータと、ユーザ管理テーブル142とを基にして、ログインユーザに対応するログインフラグを「オン」に設定する。一方、サービス提供部151は、ユーザ端末10から、ログオフデータを受信した場合には、該当するログインフラグを「オフ」に設定する。 The service providing unit 151 accepts access from the user terminal 10, displays websites and the like, and provides various services. When the service providing unit 151 accepts access from the user terminal 10, it displays a login screen and receives login data from the user terminal 10. Based on the login data and the user management table 142, the service providing unit 151 sets the login flag corresponding to the logged-in user to "on." On the other hand, when the service providing unit 151 receives log-off data from the user terminal 10, it sets the corresponding login flag to "off."
取得部152は、指定されたエリア内の全てのユーザ端末10から、ベクトルデータを取得し、ベクトルテーブル143に登録する。ログインユーザのユーザ端末10からは、ベクトルデータと、センサデータとが送信されるため、取得部152は、ベクトルテーブル143に、ベクトルデータと、センサデータとを登録する。取得部152は、ベクトルデータ、センサデータを取得する度に、ベクトルテーブル143を更新する。 The acquisition unit 152 acquires vector data from all user terminals 10 within the specified area and registers it in the vector table 143. Since vector data and sensor data are sent from the user terminal 10 of the logged-in user, the acquisition unit 152 registers the vector data and sensor data in the vector table 143. The acquisition unit 152 updates the vector table 143 each time it acquires vector data and sensor data.
特定部153は、ベクトルテーブル143に登録された全てのベクトルデータに対して、クラスタリングを実行することで、類似するベクトルデータを同一のグループに分類する。たとえば、特定部153は、クラスタリングを行う場合に、K-Means法等を利用してもよい。特定部153が実行するクラスタリングは、図2で説明したクラスタリングに対応する。特定部153は、クラスタリング結果を、決定部154に出力する。 The identification unit 153 performs clustering on all vector data registered in the vector table 143, thereby classifying similar vector data into the same group. For example, the identification unit 153 may use the K-Means method or the like when performing clustering. The clustering performed by the identification unit 153 corresponds to the clustering described in FIG. 2. The identification unit 153 outputs the clustering results to the determination unit 154.
クラスタリング結果には、グループ毎に、該当するグループに含まれるベクトルに対応する端末識別データが設定される。たとえば、図2に示す例では、グループG1に対応付けて、ベクトルデータv1a~v1gに対応する端末識別データが設定される。グループG2に対応付けて、ベクトルデータv2a~v2hに対応する端末識別データが設定される。グループG3に対応付けて、ベクトルデータv3a~v3fの端末識別データが設定される。 For each group, the clustering results include device identification data corresponding to the vectors included in the group. For example, in the example shown in Figure 2, device identification data corresponding to vector data v1a to v1g is set in association with group G1. Device identification data corresponding to vector data v2a to v2h is set in association with group G2. Device identification data corresponding to vector data v3a to v3f is set in association with group G3.
決定部154は、同一のグループの分類されたユーザ端末10のユーザ3のうち、ログインユーザの属性データを基にして、該同一のグループに分類されたユーザ端末10(ユーザ3)に対して提供する配信データを決定する。以下において、決定部154の処理の一例について説明する。 The determination unit 154 determines the distribution data to be provided to user terminals 10 (users 3) classified in the same group based on the attribute data of the logged-in users of user terminals 10 classified in the same group. An example of the processing of the determination unit 154 is described below.
決定部154は、クラスタリング結果から、あるグループ(ここでは、グループG1とする)に分類された複数の端末識別データを取得し、取得した端末識別データと、ユーザ管理テーブル142と比較して、グループG1のログインユーザの端末識別データを特定する。 The determination unit 154 obtains multiple pieces of terminal identification data classified into a certain group (here, group G1) from the clustering results, and compares the obtained terminal identification data with the user management table 142 to identify the terminal identification data of logged-in users in group G1.
決定部154は、グループG1のログインユーザの端末識別データに対応する属性データを、ユーザ管理テーブル142から取得する。決定部154は、グループG1のログインユーザの端末識別データに対応するセンサデータを、ベクトルテーブル143から取得する。また、決定部154は、タイマ105から、現在時刻を取得する。 The determination unit 154 obtains attribute data corresponding to the terminal identification data of the logged-in users of group G1 from the user management table 142. The determination unit 154 obtains sensor data corresponding to the terminal identification data of the logged-in users of group G1 from the vector table 143. The determination unit 154 also obtains the current time from the timer 105.
決定部154は、取得した現在時刻と、グループG1のログインユーザに対応する属性データと、ベクトルデータと、決定テーブル141とを基にして、配信データを決定する。たとえば、決定部154は、グループG1のログインユーザに対応する属性データに「会社員」が含まれ、現在時刻が時間帯「午前9時~午後5時」に含まれ、気温、速度、場所<位置>(センサデータ)がそれぞれ、C1度未満、V1~V2の間、繁華街Aに該当する場合、配信データを「ジムの広告データ」に決定する。 The determination unit 154 determines the distribution data based on the acquired current time, attribute data corresponding to the logged-in user of group G1, vector data, and determination table 141. For example, if the attribute data corresponding to the logged-in user of group G1 includes "office worker," the current time is within the time period "9:00 AM - 5:00 PM," and the temperature, speed, and location (position) (sensor data) are below C1 degrees, between V1 and V2, and downtown A, respectively, the determination unit 154 determines the distribution data to be "gym advertising data."
決定部154は、グループG1に含まれる端末識別データと、決定した配信データ「ジムの広告データ」とを対応付けた決定結果の情報を、配信部155に出力する。 The determination unit 154 outputs to the distribution unit 155 information on the determination result that associates the terminal identification data included in group G1 with the determined distribution data "gym advertising data."
決定部154は、他のグループ(グループG2、G3)についても、上記処理を繰り返し実行する。 The determination unit 154 repeats the above process for other groups (groups G2 and G3).
なお、決定部154は、同一のグループに、複数のログインユーザが含まれる場合には、複数のログインユーザに共通する属性データを特定して、利用してもよい。決定部154は、同一のグループに、複数のログインユーザが含まれる場合には、多数決等によって、属性データを特定してもよい。決定部154は、同一のグループに、複数のログインユーザが含まれる場合には、各ログインユーザのユーザ端末10から取得するセンサデータの平均値、中央値等を用いてもよい。 When multiple logged-in users are included in the same group, the determination unit 154 may identify and use attribute data common to the multiple logged-in users. When multiple logged-in users are included in the same group, the determination unit 154 may identify attribute data by majority vote, etc. When multiple logged-in users are included in the same group, the determination unit 154 may use the average value, median, etc. of sensor data acquired from the user terminals 10 of each logged-in user.
配信部155は、決定部154から決定結果を取得し、グループ毎に、決定された配信データを配信する。 The distribution unit 155 obtains the determination result from the determination unit 154 and distributes the determined distribution data for each group.
〔4.情報処理装置100の処理手順〕
次に、本実施形態に係る情報処理装置100の処理手順の一例について説明する。図8は、本実施形態に係る情報処理装置100の処理手順を示すフローチャートである。図8に示すように、情報処理装置100のサービス提供部151は、ユーザ端末10からログインデータまたはログオフデータを受信する度に、ユーザ管理テーブル142のログインフラグを更新する(ステップS101)。
4. Processing Procedure of Information Processing Device 100
Next, an example of a processing procedure of the information processing device 100 according to this embodiment will be described. Fig. 8 is a flowchart showing the processing procedure of the information processing device 100 according to this embodiment. As shown in Fig. 8, the service providing unit 151 of the information processing device 100 updates the login flag in the user management table 142 every time login data or logoff data is received from the user terminal 10 (step S101).
情報処理装置100の取得部152は、指定されたエリアに含まれる全てのユーザ端末10から、ベクトルデータを取得し、ベクトルテーブル143に登録する(ステップS102)。 The acquisition unit 152 of the information processing device 100 acquires vector data from all user terminals 10 included in the specified area and registers it in the vector table 143 (step S102).
情報処理装置100の特定部153は、ベクトルテーブル143に登録された全てのベクトルデータに対して、クラスタリングを実行することで、類似するベクトルデータを同一のグループに分類する(ステップS103)。 The identification unit 153 of the information processing device 100 performs clustering on all vector data registered in the vector table 143, thereby classifying similar vector data into the same group (step S103).
情報処理装置100の決定部154は、グループに含まれる複数のユーザのうち、ログインユーザの属性データと、センサデータと、現在時刻とを取得する(ステップS105)。決定部154は、取得した属性データ、センサデータ、現在時刻と、決定テーブル141とを基にして、グループのユーザ端末10に配信する配信データを決定する(ステップS105)。 The determination unit 154 of the information processing device 100 acquires the attribute data, sensor data, and current time of the logged-in user from among the multiple users included in the group (step S105). The determination unit 154 determines the distribution data to be distributed to the user terminals 10 of the group based on the acquired attribute data, sensor data, current time, and the determination table 141 (step S105).
情報処理装置100の配信部155は、決定した配信データを、グループに含まれる全てのユーザ端末10に配信する(ステップS106)。情報処理装置100は、処理を継続する場合には(ステップS107,Yes)、ステップS101に移行する。一方、情報処理装置100は、処理を継続しない場合には(ステップS107,No)、処理を終了する。 The distribution unit 155 of the information processing device 100 distributes the determined distribution data to all user terminals 10 included in the group (step S106). If the information processing device 100 continues processing (step S107, Yes), it proceeds to step S101. On the other hand, if the information processing device 100 does not continue processing (step S107, No), it ends processing.
〔5.ハードウェア構成〕
上述してきた実施形態に係るユーザ端末10または情報処理装置100は、たとえば図7に示すような構成のコンピュータ80によって実現される。以下、情報処理装置100を例に挙げて説明する。図9は、実施形態に係る情報処理装置100の機能を実現するコンピュータ80の一例を示すハードウェア構成図である。コンピュータ80は、CPU81、RAM82、ROM(Read Only Memory)83、HDD(Hard Disk Drive)84、通信インターフェイス(I/F)85、入出力インターフェイス(I/F)86、およびメディアインターフェイス(I/F)87を有する。
5. Hardware Configuration
The user terminal 10 or the information processing device 100 according to the above-described embodiment is realized by a computer 80 having a configuration as shown in Fig. 7, for example. The following description will be given using the information processing device 100 as an example. Fig. 9 is a hardware configuration diagram showing an example of the computer 80 that realizes the functions of the information processing device 100 according to the embodiment. The computer 80 has a CPU 81, a RAM 82, a ROM (Read Only Memory) 83, an HDD (Hard Disk Drive) 84, a communication interface (I/F) 85, an input/output interface (I/F) 86, and a media interface (I/F) 87.
CPU81は、ROM83またはHDD84に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM83は、コンピュータ80の起動時にCPU81によって実行されるブートプログラムや、コンピュータ80のハードウェアに依存するプログラムなどを記憶する。 The CPU 81 operates based on programs stored in the ROM 83 or HDD 84 and controls each component. The ROM 83 stores a boot program executed by the CPU 81 when the computer 80 starts up, as well as programs that depend on the computer 80's hardware.
HDD84は、CPU81によって実行されるプログラム、および、かかるプログラムによって使用されるデータなどを記憶する。通信インターフェイス85は、ネットワークを介して他の機器からデータを受信してCPU81へ送り、CPU81が生成したデータを、ネットワークNを介して他の機器へ送信する。 The HDD 84 stores programs executed by the CPU 81 and data used by such programs. The communication interface 85 receives data from other devices via the network and sends it to the CPU 81, and transmits data generated by the CPU 81 to other devices via the network N.
CPU81は、入出力インターフェイス86を介して、ディスプレイやプリンタなどの出力装置、および、キーボードまたはマウスなどの入力装置を制御する。CPU81は、入出力インターフェイス86を介して、入力装置からデータを取得する。また、CPU81は、入出力インターフェイス86を介して生成したデータを出力装置へ出力する。 The CPU 81 controls output devices such as displays and printers, and input devices such as keyboards and mice, via the input/output interface 86. The CPU 81 acquires data from the input devices via the input/output interface 86. The CPU 81 also outputs data generated via the input/output interface 86 to the output devices.
メディアインターフェイス87は、記録媒体88に記憶されたプログラムまたはデータを読み取り、RAM82を介してCPU81に提供する。CPU81は、かかるプログラムを、メディアインターフェイス87を介して記録媒体88からRAM82上にロードし、ロードしたプログラムを実行する。記録媒体88は、たとえばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)などの光学記録媒体、MO(Magneto-Optical disk)などの光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリなどである。 The media interface 87 reads programs or data stored on the recording medium 88 and provides them to the CPU 81 via the RAM 82. The CPU 81 loads the programs from the recording medium 88 onto the RAM 82 via the media interface 87 and executes the loaded programs. The recording medium 88 may be, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
たとえば、コンピュータ80が実施形態に係る情報処理装置100として機能する場合、コンピュータ80のCPU81は、RAM82上にロードされたプログラムを実行することにより、制御部150の機能を実現する。また、HDD84には、記憶部140内のデータが記憶される。コンピュータ80のCPU81は、これらのプログラムを記録媒体88から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。 For example, when the computer 80 functions as the information processing device 100 according to the embodiment, the CPU 81 of the computer 80 executes programs loaded onto the RAM 82 to realize the functions of the control unit 150. In addition, the HDD 84 stores data in the storage unit 140. The CPU 81 of the computer 80 reads and executes these programs from the recording medium 88, but as another example, these programs may be obtained from another device via the network N.
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。たとえば、各図に示した各種情報は、図示した情報に限られない。
[6. Other]
Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods. Furthermore, the information including the processing procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown in the drawings.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Furthermore, the components of each device shown in the figure are functional concepts and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
たとえば、上述した情報処理装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホームなどをAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。 For example, the information processing device 100 described above may be implemented using multiple server computers, and depending on the function, the configuration can be flexibly changed, such as by calling an external platform using an API (Application Programming Interface) or network computing.
また、上述してきた実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Furthermore, the above-described embodiments and variations can be combined as appropriate to the extent that the processing content is not contradictory.
たとえば、センサデータは、照度、音声、位置、気圧、速度、画像等のセンサ値を含むデータであり、ユーザ端末10は、訓練済みの機械学習モデル15bにセンサデータを入力することで、ベクトルデータを生成しているが、どのセンサ値を重視するかについては、機械学習モデル15bの機械学習時に設定されるものとする。たとえば、照度、音声、位置、気圧、速度、画像等のセンサ値のうち、位置や気圧のみに着目して、機械学習が行われた機械学習モデルを用いてもよい。 For example, the sensor data is data including sensor values such as illuminance, sound, position, air pressure, speed, and images. The user terminal 10 generates vector data by inputting the sensor data into a trained machine learning model 15b, but which sensor values are emphasized is set during machine learning by the machine learning model 15b. For example, a machine learning model in which machine learning was performed focusing only on position and air pressure out of the sensor values such as illuminance, sound, position, air pressure, speed, and images may be used.
また、上述した情報処理装置100は、ユーザ端末10からベクトルデータを受信していたが、情報処理装置100が、機械学習モデルを保持し、ユーザ端末10から送信されるセンサデータから、ベクトルデータを生成してもよい。 Furthermore, while the information processing device 100 described above receives vector data from the user terminal 10, the information processing device 100 may also store a machine learning model and generate vector data from sensor data transmitted from the user terminal 10.
〔7.効果〕
上述してきたように、実施形態に係る情報処理装置200は、取得部152、特定部153、決定部154、配信部155を有する。取得部152は、類似する状況のセンサ情報から類似するベクトルを生成するように訓練された機械学習モデルを用いて生成された、複数の利用者にそれぞれ対応する複数のベクトルを取得する。特定部153は、複数のベクトルを基にして、ベクトルの類似する利用者群を特定する。決定部154は、特定部153に特定された利用者群に含まれる利用者のうち、ログイン済みの利用者の情報に基づいて、利用者群に対して提供する情報の内容を決定する。配信部155は、決定した内容の情報を利用者群がそれぞれ所持する端末に配信する。これによって、情報提供の精度を向上させることができる。
7. Effects
As described above, the information processing device 200 according to the embodiment includes an acquisition unit 152, an identification unit 153, a determination unit 154, and a distribution unit 155. The acquisition unit 152 acquires a plurality of vectors corresponding to a plurality of users, each of which is generated using a machine learning model trained to generate similar vectors from sensor information of similar situations. The identification unit 153 identifies a user group having similar vectors based on the plurality of vectors. The determination unit 154 determines the content of information to be provided to the user group based on information on logged-in users included in the user group identified by the identification unit 153. The distribution unit 155 distributes the determined information to the devices owned by each of the user group. This improves the accuracy of information provision.
また、決定部154は、ログイン済みの利用者が複数存在する場合には、複数のログイン済みの利用者の情報のうち、共通する情報を特定し、特定した共通の情報に基づいて、利用者群に対して提供する情報の内容を決定する。これによって、複数のログイン済みの利用者が、同一のグループに含まれる場合も、配信対象となる情報を決定することができる。 Furthermore, when there are multiple logged-in users, the determination unit 154 identifies common information among the information of the multiple logged-in users and determines the content of the information to be provided to the group of users based on the identified common information. This makes it possible to determine the information to be distributed even when multiple logged-in users are included in the same group.
また、取得部152は、ログイン済みの利用者の端末によって計測されたセンサ情報を更に取得し、決定部154は、取得されたセンサ情報を更に用いて、利用者群に対して提供する情報の内容を決定する。これによって、情報提供の精度を更に向上させることができる。 In addition, the acquisition unit 152 further acquires sensor information measured by the terminals of logged-in users, and the determination unit 154 further uses the acquired sensor information to determine the content of the information to be provided to the user group. This further improves the accuracy of information provision.
また、取得部152が取得するセンサ情報には、照度、音声、位置、気圧、速度、画像のうち少なくとも一つのセンサ値が含まれ、決定部154は、取得部152が取得したセンサ情報を基にして、利用者群に対して提供する情報の内容を決定する。これによって、情報提供の精度を更に向上させることができる。 In addition, the sensor information acquired by the acquisition unit 152 includes at least one sensor value from among illuminance, sound, position, air pressure, speed, and image, and the determination unit 154 determines the content of the information to be provided to the user group based on the sensor information acquired by the acquisition unit 152. This makes it possible to further improve the accuracy of information provision.
また、決定部154は、時刻情報を更に用いて、利用者群に対して提供する情報の内容を決定する。これによって、時間帯に合わせて、適切な情報提供を行うことができる。 The determination unit 154 also uses time information to determine the content of the information to be provided to the user group. This allows appropriate information to be provided according to the time of day.
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 The above describes in detail the embodiments of the present application based on the drawings, but this is merely an example, and the present invention can be implemented in other forms that incorporate various modifications and improvements based on the knowledge of those skilled in the art, including the aspects described in the Disclosure of the Invention section.
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。たとえば、取得部は、取得手段や取得回路に読み替えることができる。 Furthermore, the "parts" (section, module, unit) mentioned above can be read as "means" or "circuit." For example, an acquisition unit can be read as an acquisition means or an acquisition circuit.
10 ユーザ端末
11,110 通信部
12,120 入力部
13,130 表示部
14 センサ群
15,140 記憶部
15a センサデータ
15b 機械学習モデル
16,150 制御部
16a アクセス部
16b 生成部
16c 送信部
16d 表示処理部
100 情報処理装置
105 タイマ
141 決定テーブル
142 ユーザ管理テーブル
143 ベクトルテーブル
151 サービス提供部
152 取得部
153 特定部
154 決定部
155 配信部
10 User terminal 11, 110 Communication unit 12, 120 Input unit 13, 130 Display unit 14 Sensor group 15, 140 Storage unit 15a Sensor data 15b Machine learning model 16, 150 Control unit 16a Access unit 16b Generation unit 16c Transmission unit 16d Display processing unit 100 Information processing device 105 Timer 141 Decision table 142 User management table 143 Vector table 151 Service providing unit 152 Acquisition unit 153 Identification unit 154 Decision unit 155 Distribution unit
Claims (7)
前記複数のベクトルを基にして、ベクトルの類似する利用者群を特定する特定部と、
前記特定部に特定された前記利用者群に含まれる利用者のうち、ログイン済みの利用者の情報に基づいて、前記利用者群に対して提供する情報の内容を決定する決定部と、
前記決定した内容の情報を前記利用者群がそれぞれ所持する端末に配信する配信部と
を有することを特徴とする情報処理装置。 an acquisition unit that acquires a plurality of vectors corresponding to a plurality of users, the vectors being generated using a machine learning model trained to generate similar vectors from sensor information of similar situations;
an identification unit that identifies a group of users having similar vectors based on the plurality of vectors;
a determination unit that determines the content of information to be provided to the user group based on information of logged-in users among the users included in the user group identified by the identification unit;
a distribution unit that distributes the information on the determined content to terminals respectively possessed by the user group.
類似する状況のセンサ情報から類似するベクトルを生成するように訓練された機械学習モデルを用いて生成された、複数の利用者にそれぞれ対応する複数のベクトルを取得する取得工程と、
前記複数のベクトルを基にして、ベクトルの類似する利用者群を特定する特定工程と、
前記特定工程で特定された前記利用者群に含まれる利用者のうち、ログイン済みの利用者の情報に基づいて、前記利用者群に対して提供する情報の内容を決定する決定工程と、
前記決定した内容の情報を前記利用者群がそれぞれ所持する端末に配信する配信工程と、を含む
ことを特徴とする配信方法。 1. A computer-implemented distribution method comprising:
an acquisition step of acquiring a plurality of vectors corresponding to a plurality of users, the vectors being generated using a machine learning model trained to generate similar vectors from sensor information of similar situations;
an identification step of identifying a group of users having similar vectors based on the plurality of vectors;
a determination step of determining the content of information to be provided to the user group based on information of logged-in users among the users included in the user group identified in the identification step;
a distribution step of distributing information on the determined content to terminals owned by each of the user group.
前記複数のベクトルを基にして、ベクトルの類似する利用者群を特定する特定手順と、
前記特定手順で特定された前記利用者群に含まれる利用者のうち、ログイン済みの利用者の情報に基づいて、前記利用者群に対して提供する情報の内容を決定する決定手順と、
前記決定した内容の情報を前記利用者群がそれぞれ所持する端末に配信する配信手順と、をコンピュータに実行させる
ことを特徴とする配信プログラム。 an acquisition step of acquiring a plurality of vectors corresponding to a plurality of users, the vectors being generated using a machine learning model trained to generate similar vectors from sensor information of similar situations;
an identification step of identifying a group of users having similar vectors based on the plurality of vectors;
a determination step of determining the content of information to be provided to the user group based on information of logged-in users among the users included in the user group identified in the identification step;
and a distribution procedure for distributing the information on the determined content to terminals owned by each of the user group.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023150454A JP7794785B2 (en) | 2023-09-15 | 2023-09-15 | Information processing device, distribution method, and distribution program |
| JP2025264257A JP2026042057A (en) | 2023-09-15 | 2025-12-18 | Information processing device, distribution method, and distribution program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023150454A JP7794785B2 (en) | 2023-09-15 | 2023-09-15 | Information processing device, distribution method, and distribution program |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025264257A Division JP2026042057A (en) | 2023-09-15 | 2025-12-18 | Information processing device, distribution method, and distribution program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2025043126A JP2025043126A (en) | 2025-03-28 |
| JP7794785B2 true JP7794785B2 (en) | 2026-01-06 |
Family
ID=95125150
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023150454A Active JP7794785B2 (en) | 2023-09-15 | 2023-09-15 | Information processing device, distribution method, and distribution program |
| JP2025264257A Pending JP2026042057A (en) | 2023-09-15 | 2025-12-18 | Information processing device, distribution method, and distribution program |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025264257A Pending JP2026042057A (en) | 2023-09-15 | 2025-12-18 | Information processing device, distribution method, and distribution program |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP7794785B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017162230A (en) | 2016-03-10 | 2017-09-14 | 富士通株式会社 | Information processing apparatus, similar data search method, and similar data search program |
| JP2020102045A (en) | 2018-12-21 | 2020-07-02 | パラマウントベッド株式会社 | Information processing equipment |
| JP2022176269A (en) | 2018-12-21 | 2022-11-25 | パラマウントベッド株式会社 | Information processing equipment |
| US20230100788A1 (en) | 2021-09-27 | 2023-03-30 | Samsung Electronics Co., Ltd. | Server and method for providing recommendation content |
| CN116150462A (en) | 2021-11-13 | 2023-05-23 | 腾讯科技(深圳)有限公司 | Vector construction method, device and computer equipment for target object |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20230116355A (en) * | 2022-01-28 | 2023-08-04 | 씨제이올리브네트웍스 주식회사 | Method and apparatus for recommending personalized recipe |
-
2023
- 2023-09-15 JP JP2023150454A patent/JP7794785B2/en active Active
-
2025
- 2025-12-18 JP JP2025264257A patent/JP2026042057A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017162230A (en) | 2016-03-10 | 2017-09-14 | 富士通株式会社 | Information processing apparatus, similar data search method, and similar data search program |
| JP2020102045A (en) | 2018-12-21 | 2020-07-02 | パラマウントベッド株式会社 | Information processing equipment |
| JP2022176269A (en) | 2018-12-21 | 2022-11-25 | パラマウントベッド株式会社 | Information processing equipment |
| US20230100788A1 (en) | 2021-09-27 | 2023-03-30 | Samsung Electronics Co., Ltd. | Server and method for providing recommendation content |
| CN116150462A (en) | 2021-11-13 | 2023-05-23 | 腾讯科技(深圳)有限公司 | Vector construction method, device and computer equipment for target object |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2026042057A (en) | 2026-03-10 |
| JP2025043126A (en) | 2025-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7706943B2 (en) | Method, system, and computer program for providing multiple models for personalized federated learning | |
| US10911450B2 (en) | Augmented reality service negotiation | |
| CN106062760A (en) | Incentive-based application execution | |
| US20180247331A1 (en) | Wait time avoidance | |
| JP6767322B2 (en) | Output control device, output control method and output control program | |
| CN107924544A (en) | Information processing system and information processing method | |
| US20250225220A1 (en) | Using hallucinations from generative ai for challenge-response in secure access | |
| JP2017058809A (en) | Information processing device, information processing program, and information processing method | |
| JP7794785B2 (en) | Information processing device, distribution method, and distribution program | |
| JP2020177532A (en) | Generation device, generation method and generation program | |
| KR102529345B1 (en) | Proximity based shared configuration of systems and devices | |
| US20040053645A1 (en) | Defining a smart area | |
| US11205157B2 (en) | Techniques for communicating dynamically in a managed services setting | |
| JP7677921B2 (en) | Information providing device, information processing method, and program | |
| JP7250058B2 (en) | Information processing device, information processing method and information processing program | |
| JP4695046B2 (en) | Server apparatus, action recording system, and action recording method | |
| US12619691B2 (en) | Extending EAP for supporting generative AI challenges | |
| US20250225216A1 (en) | Leveraging user's experiences for secure access | |
| US20250225221A1 (en) | Classification of memorable daily events of a user for secure access | |
| US20250225217A1 (en) | Extending eap for supporting generative ai challenges | |
| JP7797303B2 (en) | Information processing device, information processing method, and information processing program | |
| JP7443419B2 (en) | Information processing device, information processing method, and information processing program | |
| KR20200107724A (en) | Method for platform user management using badge system | |
| JP7418379B2 (en) | Information processing device, information processing method, and information processing program | |
| JP2023170206A (en) | Information processing device, information processing method, and information processing program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20231026 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250917 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20250917 |
|
| 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: 20251202 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251218 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7794785 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |