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

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

Info

Publication number
JP7407152B2
JP7407152B2 JP2021134752A JP2021134752A JP7407152B2 JP 7407152 B2 JP7407152 B2 JP 7407152B2 JP 2021134752 A JP2021134752 A JP 2021134752A JP 2021134752 A JP2021134752 A JP 2021134752A JP 7407152 B2 JP7407152 B2 JP 7407152B2
Authority
JP
Japan
Prior art keywords
model
models
terminal device
user
information processing
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
JP2021134752A
Other languages
Japanese (ja)
Other versions
JP2023028824A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2021134752A priority Critical patent/JP7407152B2/en
Publication of JP2023028824A publication Critical patent/JP2023028824A/en
Application granted granted Critical
Publication of JP7407152B2 publication Critical patent/JP7407152B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

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

特許第6880290号公報Patent No. 6880290

上記の従来技術のように、機械学習はサーバ装置によって行われるのが一般的である。しかしながら、データに個人の行動等を特定可能な情報が含まれている場合、企業等の外部のサーバ装置へ送るのが好ましくないこともある。また、個人の行動等を特定可能な情報を含むデータの送受信には様々な制限があるため、自由に送受信することが容易ではないこともある。この場合、ユーザはデータをサーバに送らずに各自の端末上でオンデバイス機械学習を行い、ローカルモデルを構築・更新する。しかし、従来は、端末側のローカルモデル(局所モデル)とサーバ側のグローバルモデル(全体モデル)とを比較することはあっても、各自のローカルモデル同士を直接比較することはなかった。 As in the prior art described above, machine learning is generally performed by a server device. However, if the data includes information that can identify individual behavior, etc., it may not be desirable to send the data to an external server device such as a company. Furthermore, there are various restrictions on the transmission and reception of data that includes information that can identify the actions of individuals, so it may not be easy to freely transmit and receive data. In this case, users perform on-device machine learning on their own devices to build and update local models without sending data to a server. However, in the past, although the local model on the terminal side (local model) and the global model (overall model) on the server side were sometimes compared, the local models of each user were not directly compared.

本願は、上記に鑑みてなされたものであって、ユーザ側でモデルを共有して進化計算を行い、モデルを更新することを目的とする。 The present application has been made in view of the above, and aims to allow users to share a model, perform evolutionary calculations, and update the model.

本願に係る情報処理装置は、利用者が携帯する端末装置として使用される情報処理装置であって、サーバ側から配布されたモデルを受信する受信部と、学習に用いるデータとして、端末装置の機能により計測又は記録されるデータを取得する取得部と、前記データを取得した際に、データ内容又はコンテキストといった所定のルールに基づいて、端末側のローカルモデルと、サーバ側のグローバルモデルとのうち、いずれのモデルにおいて機械学習するかを判定し、端末側のローカルモデルにおいて機械学習すると判定した場合、前記データを用いて前記モデルのオンデバイス機械学習を行う学習部と、各端末装置のローカルモデルの優劣を判断しながらモデルの整合や統一を図るために、他者の情報処理装置と互いのモデルを交換し、前記他者の情報処理装置で機械学習が行われた他者のモデルを取得する交換部と、端末装置間でのローカルモデルの交換時にモデル同士を戦わせ、前記データを用いて現在のモデルと前記他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する判定部と、前記比較検討の結果、自己のモデルを前記現在のモデルと前記他者のモデルとのうち推論の精度が高いモデルに更新することで、戦いに勝ったモデルに更新する更新部とを備えることを特徴とする。 The information processing device according to the present application is an information processing device used as a terminal device carried by a user, and includes a receiving unit that receives a model distributed from a server side, and a function of the terminal device as data used for learning. an acquisition unit that acquires data measured or recorded by the device; and a local model on the terminal side and a global model on the server side, based on predetermined rules such as data content or context when acquiring the data. It is determined which model should be used for machine learning, and if it is determined that machine learning is to be performed using the local model on the terminal side, a learning section that performs on-device machine learning of the model using the data, and a learning section that performs on-device machine learning of the model using the data, and In order to match and unify models while determining their superiority or inferiority, exchange models with other people's information processing devices and obtain other people's models that have undergone machine learning on the other people's information processing devices. When exchanging local models between the exchange unit and the terminal device, the models are pitted against each other, and the accuracy of inference between the current model and the other person's model is compared and evaluated using the data to determine superiority or inferiority. a determining unit; and an updating unit that updates its own model to a model with higher inference accuracy between the current model and the other person's model as a result of the comparative study, thereby updating the model to a model that has won the battle. It is characterized by having the following.

実施形態の一態様によれば、ユーザ側でモデルを共有して進化計算を行い、モデルを更新することができる。 According to one aspect of the embodiment, users can share a model, perform evolutionary calculations, and update the model.

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

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

〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、ユーザ側でモデルを共有して進化計算を行い、モデルを更新する場合を例に挙げて説明する。
[1. Overview of information processing method]
First, with reference to FIG. 1, an overview of an information processing method performed by an information processing apparatus according to an embodiment will be described. FIG. 1 is an explanatory diagram showing an overview of an information processing method according to an embodiment. In FIG. 1, an example will be described in which a user shares a model, performs evolutionary calculations, and updates the model.

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

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

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

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

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

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

図1に示すように、情報提供装置100(サーバ側)は、各利用者Uの端末装置10のそれぞれ(端末側)にパターンの異なるモデルを配布する(ステップS1)。 As shown in FIG. 1, the information providing device 100 (server side) distributes models with different patterns to each of the terminal devices 10 (terminal side) of each user U (step S1).

例えば、情報提供装置100から各利用者Uの端末装置10に配布されるモデルは、サーバ側のグローバルモデル(全体モデル)ではなく、端末側のローカルモデル(局所モデル)であり、ある興味をオンデバイスのログから推定するモデルである。 For example, the model distributed from the information providing device 100 to the terminal device 10 of each user U is not a global model (overall model) on the server side, but a local model (local model) on the terminal side, which focuses on a certain interest. This is a model that is estimated from device logs.

本実施形態では、情報提供装置100は、レコメンド情報(recommendation)の最適化モデルを10個(10パターン)作成し、情報処理システム1に参加する全利用者Uの端末装置10に対し、10パターンのモデルのうちいずれか1つを無作為(ランダム)に配布する。なお、実際には、配布されるモデルの種類及び内容は任意である。例えば、情報提供装置100は、各利用者の行動を推測する推測モデルを配布してもよい。 In the present embodiment, the information providing device 100 creates 10 optimization models (10 patterns) of recommendation information (recommendation), and applies the 10 patterns to the terminal devices 10 of all users U participating in the information processing system 1. One of the models is randomly distributed. Note that, in reality, the type and content of the distributed model are arbitrary. For example, the information providing device 100 may distribute an inference model that infers each user's behavior.

各利用者Uの端末装置10は、情報提供装置100(サーバ側)から配布されたモデルを受信し、各自の端末装置10で取得したデータを学習データとして、当該モデルを用いて各自の端末上でオンデバイス機械学習を行う(ステップS2)。 The terminal device 10 of each user U receives the model distributed from the information providing device 100 (server side), uses the data acquired by the respective terminal device 10 as learning data, and uses the model on the respective terminal. On-device machine learning is performed (step S2).

本実施形態では、利用者Uの端末装置10は、端末装置10の機能により計測又は記録されるデータを取得する。例えば、端末装置10は、データとして、端末装置10の位置情報、センサデータ、利用者Uの属性情報、履歴情報(操作履歴、決済履歴等)等を取得する。端末装置10は、GPS(Global Positioning System)やRTK(Real Time Kinematic)等の測位方法で、第1精度(例えば、10メートル精度、10mメッシュ)での詳細な位置情報を取得する。また、端末装置10は、端末に搭載又は接続された各センサで計測されたセンサデータを取得してもよい。 In this embodiment, the terminal device 10 of the user U acquires data measured or recorded by the functions of the terminal device 10. For example, the terminal device 10 acquires location information of the terminal device 10, sensor data, attribute information of the user U, history information (operation history, payment history, etc.) as data. The terminal device 10 acquires detailed position information at a first accuracy (for example, 10 meter accuracy, 10 meter mesh) using a positioning method such as GPS (Global Positioning System) or RTK (Real Time Kinematic). Furthermore, the terminal device 10 may acquire sensor data measured by each sensor mounted on or connected to the terminal.

なお、利用者Uの端末装置10は、位置情報やセンサデータ等のデータを取得した際に、データ内容やコンテキスト等の所定のルールに基づいて、端末側(端末装置10)のローカルモデル(局所モデル)と、サーバ側(情報提供装置100)のグローバルモデル(全体モデル)とのうち、いずれのモデルにおいて機械学習するかを判定してもよい。すなわち、ローカルモデルとグローバルモデルとのいずれを更新するかを判定してもよい。ローカルモデルとグローバルモデルとは、精度が異なる。例えば、利用者Uの端末装置10は、取得されたデータとコンテキストから、サーバ側のグローバルモデルと、端末側のローカルモデルとのいずれを学習するかを決定する。 Note that when the terminal device 10 of the user U acquires data such as location information and sensor data, the local model (local model) on the terminal side (terminal device 10) is It may be determined which model is used for machine learning among the global model (overall model) on the server side (information providing device 100). That is, it may be determined whether to update the local model or the global model. Local models and global models have different accuracy. For example, the terminal device 10 of the user U determines which one to learn, the server-side global model or the terminal-side local model, from the acquired data and context.

このとき、利用者Uの端末装置10は、サーバ側(情報提供装置100)のグローバルモデルにおいて機械学習すると判断した場合には、所定のルールに基づいて、データを生データの状態又は抽象化した抽象化データの状態でサーバ側(情報提供装置100)に送信する。そして、端末装置10は、サーバ側(情報提供装置100)から送信データを用いたグローバルモデルでの機械学習の結果を受信する。例えば、端末装置10は、機械学習の結果として、グローバルモデルでの推論結果又はそれに基づく情報(レコメンド情報等)を受信する。すなわち、端末装置10は、オンラインでの機械学習を実施する。 At this time, if the terminal device 10 of the user U determines that machine learning is to be performed using the global model on the server side (information providing device 100), the terminal device 10 of the user U changes the data to a raw data state or an abstracted state based on a predetermined rule. It is transmitted to the server side (information providing device 100) in the form of abstracted data. Then, the terminal device 10 receives the results of machine learning using the global model using the transmitted data from the server side (information providing device 100). For example, the terminal device 10 receives an inference result using a global model or information based on the inference result (recommendation information, etc.) as a result of machine learning. That is, the terminal device 10 performs online machine learning.

一方、利用者Uの端末装置10は、端末側(端末装置10)のローカルモデルにおいて機械学習すると判断した場合(オンデバイス機械学習の場合)には、データを用いて機械学習を行い、ローカルモデルを構築する。そして、端末装置10は、データをローカルモデルに入力して推論を行い、推論結果を得る。すなわち、端末装置10は、オンデバイス(on device)での機械学習を実施する。 On the other hand, if the terminal device 10 of the user U determines that machine learning is to be performed using the local model on the terminal side (terminal device 10) (in the case of on-device machine learning), the terminal device 10 of the user U performs machine learning using the data and uses the local model. Build. Then, the terminal device 10 inputs the data into the local model, performs inference, and obtains an inference result. That is, the terminal device 10 performs on-device machine learning.

しかし、端末側(端末装置10)のローカルモデルにおいて機械学習が行われた場合(オンデバイス機械学習の場合)、各利用者の端末装置10においてローカルモデルが独自の発展を遂げるため、各端末装置10のローカルモデルの整合や統一を図ることや優劣を判断することができない。 However, when machine learning is performed on a local model on the terminal side (terminal device 10) (in the case of on-device machine learning), the local model develops independently on each user's terminal device 10, so each terminal device It is not possible to harmonize or unify the 10 local models or to judge their superiority or inferiority.

そこで、本実施形態では、各利用者Uの端末装置10間で各自のデータを渡すことなく各自のローカルモデルのみを交換/共有して、各利用者の端末装置10上で、自己のデータを自己のモデルと他者のモデルとに入力して、いずれのモデルが優れているか比較検証する。例えば、自己のデータを用いて自己と他者のそれぞれのローカルモデルによる推論の精度を比較検証する。大抵の場合は、自己のデータに最適化した自己のモデルの方が優れていると推測されるが、端末装置やセンサの性能の差、あるいは学習に用いたデータの種類や件数の差により、他者のモデルの方が優れていることも起こり得る。この場合、自己のモデルを他者のモデルに更新する。すなわち、端末装置間でのローカルモデルの交換/共有時にモデル同士を戦わせて、戦いに勝ったモデルに更新する。 Therefore, in this embodiment, only the local models of each user U are exchanged/shared without passing the respective data between the terminal devices 10 of each user U, and the own data is transmitted on the terminal device 10 of each user U. Input your own model and other people's models and compare and verify which model is better. For example, the accuracy of inferences made by local models of oneself and others is compared and verified using one's own data. In most cases, it is assumed that a self-developed model optimized for one's own data is superior, but due to differences in the performance of terminal devices and sensors, or differences in the type and number of data used for learning, It may happen that someone else's model is better. In this case, the self model is updated to the other person's model. That is, when exchanging/sharing local models between terminal devices, the models are pitted against each other, and the winning model is updated.

各利用者Uの端末装置10は、各自の端末上でオンデバイス機械学習が行われたローカルモデルを、各利用者Uの端末装置10間で交換/共有する(ステップS3)。 The terminal devices 10 of each user U exchange/share the local model on which on-device machine learning was performed on each user's U terminal device 10 (step S3).

各利用者Uの端末装置10間でのローカルモデルの交換/共有には、Bluetooth(登録商標)又は無線LAN(Local Area Network)等の近距離無線通信や、いわゆる「すれ違い通信」を利用してもよい。これにより、ある地域の利用者が他の地域に出張/旅行で訪れた際に、その訪問先の地域の利用者とモデルを交換/共有することができる。 To exchange/share local models between the terminal devices 10 of each user U, short-range wireless communication such as Bluetooth (registered trademark) or wireless LAN (Local Area Network), or so-called "passing communication" is used. Good too. As a result, when a user from a certain area visits another area for business/travel, they can exchange/share models with users from the area they visited.

また、各利用者Uの端末装置10は、同一の基地局やルータ、アクセスポイント、ホームサーバ、同一構内のLAN等を介してローカルモデルの交換/共有を行ってもよい。また、各利用者Uの端末装置10は、P2P(Peer to Peer)やオーバーレイ・ネットワーク(Overlay Network)を利用してローカルモデルの交換/共有を行ってもよい。あるいは、各利用者Uの端末装置10は、ネットワークN(図2参照)を介して共通の属性や行動履歴を持つ利用者同士でローカルモデルの交換/共有を行うようにしてもよい。なお、実際には、各利用者Uの端末装置10は、ネットワークN(図2参照)を介して無作為(ランダム)に同じ地域又は全国の利用者同士でローカルモデルの交換/共有を行うようにしてもよい。 Furthermore, the terminal devices 10 of each user U may exchange/share local models via the same base station, router, access point, home server, LAN in the same campus, or the like. Further, the terminal device 10 of each user U may exchange/share local models using P2P (Peer to Peer) or an overlay network. Alternatively, the terminal device 10 of each user U may exchange/share local models with users who have common attributes and behavior history via the network N (see FIG. 2). In reality, the terminal device 10 of each user U randomly exchanges/shares local models with users in the same region or across the country via the network N (see FIG. 2). You may also do so.

また、各利用者Uの端末装置10間でローカルモデルを交換する際、モデルの全部ではなく、モデルの一部分のみを交換するようにしてもよい。例えば、言語モデル等であれば、モデルの一部分のみを交換することも可能である。 Furthermore, when exchanging local models between the terminal devices 10 of each user U, only a part of the model may be exchanged instead of the entire model. For example, in the case of a language model, it is also possible to exchange only part of the model.

各利用者Uの端末装置10は、各利用者Uの端末装置10間でローカルモデルを交換した場合、各自の端末上で自己のデータを自己のモデルと他者のモデルとに入力して、いずれのモデルが優れているか比較検証する(ステップS4)。 When the terminal devices 10 of each user U exchange local models between the terminal devices 10 of each user U, the terminal device 10 of each user U inputs its own data into its own model and the model of another person on each terminal, Comparatively verify which model is superior (step S4).

本実施形態では、利用者Uの端末装置10は、自己のデータを用いて自己と他者のそれぞれのローカルモデルによる推論の精度を比較検証する。例えば、各利用者Uは、他の利用者とのすれ違いの時にモデルを交換/共有し、自分の端末装置10にあるデータ(問題データ、正解データ)を用いてモデル同士を戦わせる。 In this embodiment, the terminal device 10 of the user U uses its own data to compare and verify the accuracy of inferences made by the local models of itself and others. For example, each user U exchanges/shares models when passing each other with other users, and pits the models against each other using data (question data, correct answer data) stored in the user's terminal device 10.

例えば、利用者U1と利用者U2がすれ違った際に、それぞれの端末装置10間で互いのモデルを交換する。利用者U1の端末装置10Aは、モデルAが利用者U1のログでチューニングされたモデルを有する。利用者U2の端末装置10Bは、モデルBが利用者U1のログでチューニングされたモデルを有する。利用者U1の端末装置10Aは、モデルAが利用者U1のログでチューニングされたモデルを有する。 For example, when user U1 and user U2 pass each other, their respective terminal devices 10 exchange models with each other. The terminal device 10A of the user U1 has a model in which model A is tuned using the log of the user U1. The terminal device 10B of the user U2 has a model in which the model B is tuned using the log of the user U1. The terminal device 10A of the user U1 has a model in which model A is tuned using the log of the user U1.

そして、各自の端末上でモデルAとモデルBを入れ替えて比較検証を行う(戦わせる)。このとき、利用者U1の端末装置10Aは、利用者U1のログにモデルBを当てる。また、利用者U2の端末装置10Bは、利用者U2のログにモデルAを当てる。 Then, each user swaps Model A and Model B on their own terminals and compares and verifies them (let them compete). At this time, the terminal device 10A of the user U1 applies model B to the log of the user U1. Further, the terminal device 10B of the user U2 applies model A to the log of the user U2.

なお、同時に多数のローカルモデルの比較検証を行うと、端末装置10の負荷が大きくなるため、同時に比較検証を行うローカルモデルの数は、2つ又は3つ程度であると好ましい。例えば、各利用者Uの端末装置10において、自己を含む3台の端末装置のローカルモデルのうちどれが最も精度が高いかを比較検証する。 Note that if a large number of local models are compared and verified at the same time, the load on the terminal device 10 increases, so it is preferable that the number of local models that are simultaneously compared and verified is about two or three. For example, the terminal device 10 of each user U compares and verifies which of the local models of three terminal devices including the user U has the highest accuracy.

各利用者Uの端末装置10は、比較検証の結果、優れていると判断したモデルを採用し、自己のモデルを、採用されたモデルに更新する(ステップS5)。 The terminal device 10 of each user U adopts the model determined to be superior as a result of comparison and verification, and updates its own model to the adopted model (step S5).

本実施形態では、各利用者Uの端末装置10は、比較検証の結果、有意に勝敗(優劣)が決した場合にはモデルを完全に更新する(塗り替える)。また、各利用者Uの端末装置10は、比較検証の結果、大差なしと判定した場合には、モデルを更新しなくてもよいし、モデルのアセンブルを行ってもよい。アセンブルされたモデルは、新しいモデル(現在の自他のモデルとは違うモデル)として生き残る。 In the present embodiment, the terminal device 10 of each user U completely updates (repaints) the model when a significant victory or defeat (superiority) is determined as a result of comparison verification. Furthermore, if the terminal device 10 of each user U determines that there is no significant difference as a result of the comparison verification, the model may not be updated or may be assembled. The assembled model survives as a new model (a model that is different from the current models of itself and others).

例えば、利用者Uの端末装置10は、モデルのアセンブルとして、ニューラルネットワークの一部を共有した新しいモデルを構築してもよい。すなわち、端末装置10は、ローカルモデルを更新する際、モデルの全部ではなく、モデルの一部分のみを更新するようにしてもよい。このとき、利用者Uの端末装置10は、比較検証した各モデルからそれぞれの良い部分を抽出して組み合わせてもよい。 For example, the terminal device 10 of the user U may construct a new model that shares part of the neural network as a model assembly. That is, when updating the local model, the terminal device 10 may update only a portion of the model instead of the entire model. At this time, the terminal device 10 of the user U may extract good parts from each of the compared and verified models and combine them.

上記の処理を不特定多数の端末装置10において繰り返し実施し続けることで、端末装置間で精度が高いモデルが伝播していく。これにより、端末装置間でモデルを最適化/平均化することができる。また、機械学習において、訓練データに対して学習されているが、未知データ(テストデータ)に対しては適合できていないオーバーフィッティング(過剰適合、過学習)の改善を図ることができる。 By continuing to repeatedly perform the above process on an unspecified number of terminal devices 10, a highly accurate model is propagated among the terminal devices. Thereby, the model can be optimized/averaged between terminal devices. In addition, in machine learning, it is possible to improve overfitting (overfitting, overlearning) in which learning is performed on training data, but it is not possible to fit unknown data (test data).

また、都道府県や市区町村等のエリアによるモデル特性(方言)の調査を行うこともできる。例えば、東京や福岡など大都市圏の利用者の端末装置では、地域が離れていても同じパターンのモデルに集約されていく傾向にある等の状況を把握することができる。また、採用されるモデルの傾向がどの地域で分断されているか等の状況を把握することができる。 It is also possible to investigate model characteristics (dialects) by area, such as prefecture or city, ward, town, or village. For example, it is possible to grasp the situation in which terminal devices of users in metropolitan areas such as Tokyo and Fukuoka tend to be aggregated into models with the same pattern even if they are located far apart. Additionally, it is possible to grasp the situation, such as in which regions the trends in the models being adopted are divided.

また、モデル同士を戦わせて優劣を競い合い(モデルバトル)、その結果により新たな知見を得ることもできる。例えば、エリアごとに居住者同士、及び居住者と訪問者(移動者)との間でモデルバトルを行うことで、「西日本はモデル1が、東日本はモデル2が強い」、「特異的にこのエリアだけモデル3が強い」、「エリアに関係なく20代の女性にはモデル4が強い」、「東京と福岡はモデルAが強い、大阪はモデルBが強い」といった結果が得られる。このような結果を振り返ることで、従来技術では得られない新たな知見を得ることができる。すなわち、モデルバトルの結果を振り返って、モデルごとの特異なコンテキストやその切り口を知ることができる。モデルバトルの結果の差異が出る切り口は、それぞれの群で特性が違うことを示すので、その切り口がわかるだけでも有用である。 You can also pit models against each other to see who is better or worse (model battle), and gain new knowledge based on the results. For example, by holding model battles between residents and between residents and visitors (movers) in each area, you can find out that ``Model 1 is strong in Western Japan and Model 2 is strong in East Japan,'' or ``Model 2 is uniquely strong in Western Japan.'' Results include ``Model 3 is strong in only one area,'' ``Model 4 is strong among women in their 20s regardless of area,'' and ``Model A is strong in Tokyo and Fukuoka, and Model B is strong in Osaka.'' By reviewing these results, new knowledge that cannot be obtained using conventional techniques can be obtained. In other words, by looking back on the results of model battles, you can learn about the unique context of each model and how to approach it. The angle at which differences in model battle results occur indicates that the characteristics of each group are different, so it is useful to just know the angle.

以上のように、本実施形態では、利用者Uの端末装置10は、同じコンテキストに他の利用者Uの端末装置10が存在する時に、異なるローカルモデルを持った他者の端末装置10とローカルモデルを交換/共有し、自他のローカルモデルを戦わせて、よりパフォーマンスの高い方のモデルに上書きする。端末装置側で実施するので、お互いの持っているデータに対してパフォーマンスの良いモデルを上書きする。これにより、精度が良いモデルが他のユーザの端末装置を征服する。なお、モデル同士が均衡していた場合は、重みのアセンブル(ニューラルネットワークの構造の一部分の共有など)を行う。すなわち、本実施形態では、利用者Uの端末装置10は、位置情報付き進化計算を行う。 As described above, in this embodiment, when the terminal device 10 of the user U exists in the same context, the terminal device 10 of the user U has a local Exchange/share models, pit your own and others' local models against each other, and overwrite the one with better performance. Since it is executed on the terminal device side, the model with better performance overwrites the data that each other has. As a result, a model with good accuracy conquers other users' terminal devices. Note that if the models are balanced, weights are assembled (shared part of the neural network structure, etc.). That is, in this embodiment, the terminal device 10 of the user U performs evolutionary calculation with position information.

〔2.情報処理システムの構成例〕
次に、図2を用いて、実施形態に係る情報提供装置100が含まれる情報処理システム1の構成について説明する。図2は、実施形態に係る情報処理システム1の構成例を示す図である。図2に示すように、実施形態に係る情報処理システム1は、端末装置10と情報提供装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
[2. Configuration example of information processing system]
Next, the configuration of the information processing system 1 including the information providing apparatus 100 according to the embodiment will be described using FIG. 2. 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 via a network N so that they can communicate by wire or wirelessly. The network N is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network) such as the Internet.

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

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

また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、情報提供装置100と通信することができる。 The terminal device 10 also supports wireless communication networks such as LTE (Long Term Evolution), 4G (4th Generation), 5G (5th Generation), Bluetooth (registered trademark), wireless LAN (Local The information providing device 100 can be connected to the network N via short-distance wireless communication such as an area network) and can 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. Note that 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 explained using FIG. 3. FIG. 3 is a diagram showing a configuration example of the terminal device 10. As shown in FIG. As shown in FIG. 3, the terminal device 10 includes a communication section 11, a display section 12, an input section 13, a positioning section 14, a sensor section 20, a control section 30 (controller), and a storage section 40. Be prepared.

(通信部11)
通信部11は、ネットワークN(図2参照)と有線又は無線で接続され、ネットワークNを介して、情報提供装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
(Communication Department 11)
The communication unit 11 is connected to a network N (see FIG. 2) by wire or wirelessly, and transmits and receives information to and 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 section 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 electro-luminescent display (EL display). Further, the display unit 12 is a touch panel type display, but is not limited to this.

(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
(Input section 13)
The input unit 13 is an input device that receives various operations from the user U. For example, the input unit 13 includes buttons for inputting characters, numbers, and the like. Note that the input unit 13 may be an input/output port (I/O port), a USB (Universal Serial Bus) port, or the like. Further, when the display section 12 is a touch panel display, a part of the display section 12 functions as the input section 13. Further, the input unit 13 may be a microphone or the like that receives 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) sent from a GPS (Global Positioning System) satellite, and based on the received signal, determines position information (for example, latitude and longitude). That is, the positioning unit 14 positions the terminal device 10 . Note that GPS is just one example of GNSS (Global Navigation Satellite System).

また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。 Further, the positioning unit 14 can measure the position using various methods other than GPS. For example, the positioning unit 14 may use various communication functions of the terminal device 10 to measure the position as an auxiliary positioning means for position correction and 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 terminal device 10 using the Wi-Fi (registered trademark) communication function of the terminal device 10 or the communication network provided by each communication company. Specifically, the positioning unit 14 performs Wi-Fi communication, etc., and determines the position of the terminal device 10 by measuring the distance to nearby base stations and access points.

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

(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
(geomagnetic positioning)
Furthermore, the positioning unit 14 positions 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, if the terminal device 10 has an RFID (Radio Frequency Identification) tag function equivalent to a contactless IC card used at station ticket gates, stores, etc., or has a function to read an RFID tag. In this case, the location where the terminal device 10 used the terminal device 10 is recorded together with the information that the payment was made. The positioning unit 14 may measure the position of the terminal device 10 by acquiring such information. Further, the position may be determined by an optical sensor, an infrared sensor, or the like provided in the terminal device 10.

測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。 The positioning unit 14 may position the terminal device 10 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 section 20)
The sensor unit 20 includes various sensors mounted on or connected to the terminal device 10. Note that 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, an atmospheric pressure sensor 23, an air temperature sensor 24, a sound sensor 25, an optical sensor 26, a magnetic sensor 27, and an image sensor ( camera) 28.

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

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

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

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

気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。 The temperature sensor 24 detects, for example, the temperature around the terminal device 10. The sound sensor 25 detects, for example, sounds 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 earth's magnetism 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 above-mentioned atmospheric pressure sensor 23, temperature sensor 24, sound sensor 25, optical sensor 26, and image sensor 28 each detect atmospheric pressure, temperature, sound, and illuminance, and capture images of the surroundings, so that the terminal device 10 It is possible to detect the surrounding environment and situation. Furthermore, it is possible to improve the accuracy of the location information of the terminal device 10 based on the environment and situation around the terminal device 10.

(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33と、取得部34と、学習部35と、交換部36と、判定部37と、更新部38とを備える。
(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, etc., and various circuits. Further, the control unit 30 may be configured with hardware such as an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control section 30 includes a transmitting section 31 , a receiving section 32 , a processing section 33 , an acquiring section 34 , a learning section 35 , an exchanging section 36 , a determining section 37 , and an updating section 38 .

(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介して情報提供装置100へ送信することができる。また、送信部31は、データを情報提供装置100(サーバ側)へ送ると判定した場合、通信部11を介して、データを情報提供装置100(サーバ側)へ送信する。なお、送信部31は、データの内容やコンテキスト等の所定のルールに基づいて、データを生データの状態で情報提供装置100(サーバ側)へ送ってもよいし、データを抽象化した抽象化データの状態で情報提供装置100(サーバ側)へ送ってもよい。
(Transmission unit 31)
The transmitting unit 31 receives, for example, various information input by the user U using the input unit 13, various information detected by the sensors 21 to 28 mounted on or connected to the terminal device 10, and information measured by the positioning unit 14. The location information of the terminal device 10 and the like can be transmitted to the information providing device 100 via the communication unit 11. Further, when the transmitting unit 31 determines to send the data to the information providing device 100 (server side), the transmitting unit 31 transmits the data to the information providing device 100 (server side) via the communication unit 11. Note that the transmitting unit 31 may transmit the data in the form of raw data to the information providing device 100 (server side) based on predetermined rules such as data content and context, or may transmit the data in the form of an abstract data. It may also be sent to the information providing apparatus 100 (server side) in the form of data.

また、送信部31は、当該端末装置10のローカルモデル(局所モデル)が更新された時に、通信部11を介して、更新されたモデル(更新モデル)と更新日時とに関する情報を情報提供装置100(サーバ側)に通知する。このとき、送信部31は、モデルが更新された時点での所在地(地域等)に関する情報も情報提供装置100(サーバ側)に通知してもよい。 Further, when the local model (local model) of the terminal device 10 is updated, the transmitting unit 31 transmits information regarding the updated model (updated model) and the update date and time to the information providing device 100 via the communication unit 11. (server side). At this time, the transmitter 31 may also notify the information providing device 100 (server side) of information regarding the location (region, etc.) at the time the model was updated.

(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される各種情報や、情報提供装置100からの各種情報の要求を受信することができる。本実施形態では、受信部32は、通信部11を介して、情報提供装置100(サーバ側)から配布されたモデルを受信する。この配布されたモデルが当該端末装置10のローカルモデル(局所モデル)となる。また、受信部32は、通信部11を介して、情報提供装置100(サーバ側)からデータを用いたグローバルモデル(船体モデル)での機械学習の結果を受信する。
(Receiving unit 32)
The receiving unit 32 can receive various information provided from the information providing device 100 and requests for various information from the information providing device 100 via the communication unit 11 . In this embodiment, the receiving unit 32 receives a model distributed from the information providing device 100 (server side) via the communication unit 11. This distributed model becomes a local model of the terminal device 10. Further, the receiving unit 32 receives, via the communication unit 11, the results of machine learning on the global model (hull model) using data from the information providing device 100 (server side).

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

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

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

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

(交換部36)
交換部36は、他者の端末装置10と互いのモデルを交換し、他者の端末装置10が保有する他者のモデルを取得する。このとき、交換部36は、互いのモデルを交換する際、モデルの全部ではなく、モデルの一部を交換してもよい。
(Replacement part 36)
The exchange unit 36 exchanges models with another person's terminal device 10 and obtains the other person's model held by the other person's terminal device 10. At this time, when exchanging models with each other, the exchanging unit 36 may exchange not all of the models but a part of the models.

また、交換部36は、他者の端末装置10とのすれ違い時に、互いのモデルを交換してもよい。あるいは、交換部36は、サーバ側を経由することなく、他者の端末装置10とネットワークを介して互いのモデルを交換してもよい。また、交換部36は、異なるモデルを持った他者の端末装置10が同じコンテキストにいる時に、互いのモデルを交換してもよい。なお、同じコンテキストにいる時とは、例えば、同じ時間に同じ場所(鉄道駅、商業施設、学校、オフィスビル等)にいる時や、当該利用者Uと他の利用者Uとが同じ行動(散歩、ランニング、車移動、電車移動等)を取っている時などである。時間や場所については、多少の誤差は許容される。 Further, the exchange unit 36 may exchange models with each other when passing each other with another person's terminal device 10. Alternatively, the exchange unit 36 may exchange models with another person's terminal device 10 via a network without going through the server side. Furthermore, the exchange unit 36 may exchange models with each other when other terminal devices 10 having different models are in the same context. Note that being in the same context means, for example, being in the same place at the same time (train station, commercial facility, school, office building, etc.), or when the user U and other users U are doing the same thing ( This includes when taking a walk, running, traveling by car, traveling by train, etc.). Some errors in time and location are allowed.

また、自身の端末装置10が保有する現在のモデルと、他者の端末装置10が保有する他者のモデルとは、サーバ側から配布された同一目的のモデルであって、パターンの異なるモデルである。また、実際には、交換部36は、他者の端末装置10と互いのモデルを共有する共有部と読み替えてもよい。 Furthermore, the current model held by one's own terminal device 10 and the other person's model held by another person's terminal device 10 are models distributed from the server side for the same purpose, but with different patterns. be. Moreover, in reality, the exchange unit 36 may be read as a sharing unit that shares a mutual model with the terminal device 10 of another person.

(判定部37)
判定部37は、データを用いて現在のモデルと他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する。なお、判定部37は、自他のモデルの推論の精度を比較検討する比較部と読み替えてもよい。
(Determination unit 37)
The determining unit 37 uses data to compare and examine the accuracy of inference between the current model and another person's model, and determines their superiority. Note that the determination unit 37 may be read as a comparison unit that compares and examines the inference accuracy of the own model and that of other models.

また、判定部37は、現在のモデルと他者のモデルとを戦わせるモデルバトルを行い、モデルバトルの結果を記憶部120等に記憶(記録)する。例えば、判定部37は、エリアごとに現在のモデルと他者のモデルとを戦わせるモデルバトルを行う。また、判定部37は、モデルバトルの結果を解析してモデルごとの特異なコンテキスト及び切り口を得る。 Further, the determination unit 37 performs a model battle in which the current model is pitted against another person's model, and stores (records) the result of the model battle in the storage unit 120 or the like. For example, the determination unit 37 conducts a model battle in which the current model and another person's model compete in each area. Further, the determination unit 37 analyzes the results of the model battle to obtain a unique context and perspective for each model.

(更新部38)
更新部38は、比較検討の結果、自己のモデルを現在のモデルと他者のモデルとのうち推論の精度が高いモデルに更新する。なお、更新部38は、自己のモデルを更新する際、モデルの全部ではなく、モデルの一部を更新してもよい。また、更新部38は、自己のモデルを更新する際、現在のモデルと他者のモデルとを用いてモデルをアセンブルしてもよい。
(Update section 38)
As a result of the comparison, the updating unit 38 updates its own model to the model with higher inference accuracy between the current model and the other model. Note that when updating its own model, the updating unit 38 may update a part of the model instead of the entire model. Further, when updating its own model, the updating unit 38 may assemble the model using the current model and another person's model.

(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。本実施形態では、記憶部40は、取得された学習用のデータや、サーバ側(情報提供装置)から配布されたモデル、他者の端末装置10から取得した他者のモデル等を記憶する。
(Storage 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, or a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or an optical disk. Ru. The storage unit 40 stores various programs, various data, and the like. In this embodiment, the storage unit 40 stores acquired learning data, a model distributed from the server side (information providing device), another person's model acquired from another person's terminal device 10, and the like.

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

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(図2参照)と有線又は無線で接続される。
(Communication Department 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card). 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)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。図4に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、モデル情報データベース123とを有する。
(Storage 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, or a storage device such as an HDD, an SSD, or an optical disk. As shown in FIG. 4, the storage unit 120 includes a user information database 121, a history information database 122, and a model information database 123.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(モデル情報データベース123)
モデル情報データベース123は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。図7は、モデル情報データベース123の一例を示す図である。図7に示した例では、モデル情報データベース123は、「利用者ID」、「端末装置」、「配布モデル」、「更新モデル」、「更新日時」といった項目を有する。
(Model information database 123)
The model information database 123 stores various information regarding history information (log data) indicating the behavior of the user U. FIG. 7 is a diagram showing an example of the model information database 123. In the example shown in FIG. 7, the model information database 123 has items such as "user ID", "terminal device", "distribution model", "update model", and "update date and time".

「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「端末装置」は、利用者Uの端末装置10を識別するための識別情報を示す。なお、「端末装置」は、利用者Uの端末装置10の機種(スマホ、タブレット、OS名等)を示す情報を含んでいてもよい。 “User ID” indicates identification information for identifying user U. Further, “terminal device” indicates identification information for identifying the terminal device 10 of the user U. Note that the "terminal device" may include information indicating the model (smartphone, tablet, OS name, etc.) of the terminal device 10 of the user U.

また、「配布モデル」は、情報提供装置100(サーバ側)から配布されたモデルを示す。すなわち、「配布モデル」は、最初のローカルモデルを示す。また、「更新モデル」は、当該端末装置10(端末側)で更新されたモデルを示す。すなわち、「更新モデル」は、最新のローカルモデルを示す。また、「更新日時」は、当該端末装置10(端末側)でモデルが更新された日時を示す。すなわち、「更新日時」は、更新モデルに上書きされた日時を示す。 Further, "distribution model" indicates a model distributed from the information providing device 100 (server side). That is, the "distribution model" indicates the first local model. Moreover, "updated model" indicates a model updated in the terminal device 10 (terminal side). That is, the "updated model" indicates the latest local model. Moreover, the "update date and time" indicates the date and time when the model was updated on the terminal device 10 (terminal side). That is, the "update date and time" indicates the date and time when the updated model was overwritten.

例えば、図7に示す例において、利用者ID「U1」により識別される利用者Uが所有する「端末装置#1」は、最初に「モデルA」が配布され、その後、「更新日時#1」に自己のモデルを「更新モデル#1」に更新したことを示す。 For example, in the example shown in FIG. 7, "terminal device #1" owned by user U identified by user ID "U1" is first distributed with "model A", and then "updated date and time #1" is distributed. ” indicates that the own model has been updated to “updated model #1”.

ここで、図7に示す例では、「U1」、「端末装置#1」、「モデルA」、「更新モデル#1」及び「更新日時#1」といった抽象的な値を用いて図示するが、「U1」、「端末装置#1」、「モデルA」、「更新モデル#1」及び「更新日時#1」には、具体的な文字列や数値等の情報が記憶されるものとする。 Here, in the example shown in FIG. 7, abstract values such as "U1", "terminal device #1", "model A", "updated model #1", and "updated date and time #1" are used for illustration. , "U1", "Terminal device #1", "Model A", "Updated model #1", and "Updated date and time #1" store information such as specific character strings and numerical values. .

なお、モデル情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、モデル情報データベース123は、モデルが更新された時点での所在地(地域等)に関する情報等を記憶してもよい。なお、所在地(地域等)に関する情報は、詳細な位置情報であると利用者Uの位置や行動が特定/推定される可能性があるので、都道府県や市区町村等の地域(エリア)単位の情報(地域名称、住所等)や、地域メッシュ単位の情報(地域メッシュコード等)であってもよい。また、モデル情報データベース123は、最初の配布モデルから最新の更新モデルまでの過去の全ての更新モデルに関する更新履歴等を記憶してもよい。また、モデル情報データベース123は、モデルとともに、各利用者Uの端末装置10から収集されたデータ(生データ又は抽象化データ)を記憶してもよい。 Note that the model information database 123 is not limited to the above, and may store various information depending on the purpose. For example, the model information database 123 may store information regarding the location (region, etc.) at the time the model was updated. Note that information regarding location (region, etc.) may be determined by region (area) such as prefecture or city, as there is a possibility that user U's location or actions may be identified/estimated if the information is detailed. information (area name, address, etc.) or information for each area mesh (area mesh code, etc.). Further, the model information database 123 may store update history and the like regarding all past updated models from the first distributed model to the latest updated model. Further, the model information database 123 may store data (raw data or abstracted data) collected from the terminal device 10 of each user U along with the model.

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

(収集部131)
収集部131は、通信部110を介して、各利用者Uの端末装置10から、生データ又は抽象化データを収集する。また、収集部131は、通信部110を介して、各利用者Uの端末装置10においてモデルが更新された時に、各利用者Uの端末装置10から、更新されたモデル(更新モデル)と更新日時とに関する情報を収集する。このとき、送信部31は、モデルが更新された時点での所在地(地域等)に関する情報も収集してもよい。
(Collection unit 131)
The collection unit 131 collects raw data or abstracted data from the terminal device 10 of each user U via the communication unit 110. In addition, when the model is updated on the terminal device 10 of each user U, the collection unit 131 collects the updated model (updated model) from the terminal device 10 of each user U via the communication unit 110. Collect information about date and time. At this time, the transmitter 31 may also collect information regarding the location (region, etc.) at the time the model was updated.

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

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

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

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

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

また、提供部133は、通信部110を介して、各利用者Uの端末装置10のそれぞれ(端末側)にパターンの異なるモデルを配布する。例えば、各利用者Uの端末装置10に配布されるモデルは、サーバ側のグローバルモデル(全体モデル)ではなく、端末側のローカルモデル(局所モデル)であり、ある興味をオンデバイスのログから推定するモデルである。 Further, the providing unit 133 distributes models with different patterns to each of the terminal devices 10 of each user U (terminal side) via the communication unit 110. For example, the model distributed to the terminal device 10 of each user U is not a global model (overall model) on the server side, but a local model (local model) on the terminal side, and certain interests are estimated from on-device logs. This is a model that

例えば、推定部132は、レコメンド情報(recommendation)の最適化モデルを10個(10パターン)作成する。提供部133は、通信部110を介して、情報処理システム1に参加する全利用者Uの端末装置10に対し、10パターンのモデルのうちいずれか1つを無作為(ランダム)に配布する。 For example, the estimation unit 132 creates ten optimization models (ten patterns) of recommendation information (recommendation). The providing unit 133 randomly distributes one of the ten models to the terminal devices 10 of all users U participating in the information processing system 1 via the communication unit 110.

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

図8に示すように、端末装置10の受信部32は、通信部11を介して、情報提供装置100(サーバ側)から配布されたモデルを受信する(ステップS101)。このとき、受信部32は、情報提供装置100(サーバ側)から各利用者Uの端末装置10のそれぞれ(端末側)に配布されたパターンの異なるモデルのうちの1つを受信する。 As shown in FIG. 8, the receiving unit 32 of the terminal device 10 receives the model distributed from the information providing device 100 (server side) via the communication unit 11 (step S101). At this time, the receiving unit 32 receives one of the models with different patterns distributed from the information providing device 100 (server side) to each of the terminal devices 10 of each user U (terminal side).

続いて、端末装置10の取得部34は、測位部14やセンサ部20又は入力部13を介して、学習に用いるデータを取得する(ステップS102)。例えば、取得部34は、学習に用いるデータとして、端末装置10の位置情報、センサデータ、利用者Uの属性情報、履歴情報(操作履歴、決済履歴等)等を取得する。 Subsequently, the acquisition unit 34 of the terminal device 10 acquires data used for learning via the positioning unit 14, the sensor unit 20, or the input unit 13 (step S102). For example, the acquisition unit 34 acquires location information of the terminal device 10, sensor data, attribute information of the user U, history information (operation history, payment history, etc.) as data used for learning.

続いて、端末装置10の学習部35は、データを用いてローカルモデル(局所モデル)で機械学習を行う(ステップS103)。すなわち、学習部35は、オンデバイス機械学習を行う。 Subsequently, the learning unit 35 of the terminal device 10 performs machine learning with a local model using the data (step S103). That is, the learning unit 35 performs on-device machine learning.

続いて、端末装置10の交換部36は、他者の端末装置10と互いのモデルを交換し、他者の端末装置10が保有する他者のモデルを取得する(ステップS104)。このとき、交換部36は、互いのモデルを交換する際、モデルの全部ではなく、モデルの一部を交換してもよい。 Subsequently, the exchange unit 36 of the terminal device 10 exchanges models with the other person's terminal device 10, and acquires the other person's model held by the other person's terminal device 10 (step S104). At this time, when exchanging models with each other, the exchanging unit 36 may exchange not all of the models but a part of the models.

続いて、端末装置10の判定部37は、データを用いて現在のモデルと他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する(ステップS105)。 Next, the determination unit 37 of the terminal device 10 uses the data to compare and examine the inference accuracy of the current model and another person's model, and determines their superiority (step S105).

続いて、端末装置10の判定部37は、比較検討の結果、他者のモデルの方が優れているか否か判定する(ステップS106)。 Subsequently, the determination unit 37 of the terminal device 10 determines whether or not another person's model is superior as a result of the comparative study (step S106).

続いて、端末装置10の更新部38は、比較検討の結果、他者のモデルの方が優れている場合(ステップS106:Yes)、自己のモデルを他者のモデルに更新する(ステップS107)。 Subsequently, if the other person's model is superior as a result of the comparative study (step S106: Yes), the updating unit 38 of the terminal device 10 updates its own model to the other person's model (step S107). .

また、端末装置10の更新部38は、比較検討の結果、現在のモデルの方が優れている場合(ステップS106:No)、現在のモデルを継続する(ステップS108)。 Furthermore, if the current model is superior as a result of the comparative study (step S106: No), the updating unit 38 of the terminal device 10 continues the current model (step S108).

なお、端末装置10の更新部38は、比較検討の結果、現在のモデルと他者のモデルのそれぞれの良い部分を抽出してモデルをアセンブルしてもよい。 Note that the updating unit 38 of the terminal device 10 may extract good parts of the current model and another person's model as a result of comparative study and assemble the model.

また、端末装置10の送信部31は、当該端末装置10のローカルモデル(局所モデル)が更新された時に、通信部11を介して、更新されたモデル(更新モデル)と更新日時とに関する情報を情報提供装置100(サーバ側)に通知してもよい。このとき、送信部31は、モデルが更新された時点での所在地(地域等)に関する情報も情報提供装置100(サーバ側)に通知してもよい。 Further, when the local model (local model) of the terminal device 10 is updated, the transmitting unit 31 of the terminal device 10 transmits information regarding the updated model (updated model) and the update date and time via the communication unit 11. The information providing device 100 (server side) may be notified. At this time, the transmitter 31 may also notify the information providing device 100 (server side) of information regarding the location (region, etc.) at the time the model was updated.

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

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

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

また、上記の実施形態において、端末装置10は、モデルの一部を交換/更新する場合、より精度が高くなるように交換/更新してもよい。また、端末装置10は、モデルを複数の中間層を含む部分モデルに分割してもよい。このとき、端末装置10は、1つのモデルを機能ごとに複数の部分モデルに分割してもよい。例えば、端末装置10は、現在のモデルを機能ごとに複数の部分モデルに分割し、他社の端末装置10とのすれ違い時に、他社の端末装置10と互いのモデルに基づく各部分モデルを交換する。あるいは、端末装置10は、他社の端末装置10と互いのモデルの交換後、現在のモデルと他者のモデルとをそれぞれ機能ごとに複数の部分モデルに分割し、各部分モデルを入れ替えた複数のモデルを生成し、生成された複数のモデルのうち精度が高いモデルを更新モデルとして採用する。 Furthermore, in the above embodiment, when exchanging/updating a part of the model, the terminal device 10 may exchange/update the model with higher accuracy. Furthermore, the terminal device 10 may divide the model into partial models including a plurality of intermediate layers. At this time, the terminal device 10 may divide one model into a plurality of partial models for each function. For example, the terminal device 10 divides the current model into a plurality of partial models for each function, and when passing each other with another company's terminal device 10, exchanges each partial model with the other company's terminal device 10 based on each other's model. Alternatively, after exchanging models with the terminal device 10 of another company, the terminal device 10 divides the current model and the other party's model into a plurality of partial models for each function, and creates a plurality of partial models with each partial model replaced. A model is generated, and the model with the highest accuracy among the multiple generated models is adopted as the updated model.

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

〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10)は、サーバ側(情報提供装置100)から配布されたモデルを受信する受信部32と、学習に用いるデータを取得する取得部34と、データを用いてモデルのオンデバイス機械学習を行う学習部35と、他者の情報処理装置と互いのモデルを交換し、他者の情報処理装置で機械学習が行われた他者のモデルを取得する交換部36と、データを用いて現在のモデルと他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する判定部37と、比較検討の結果、自己のモデルを現在のモデルと他者のモデルとのうち推論の精度が高いモデルに更新する更新部38とを備える。
[7. effect〕
As described above, the information processing device (terminal device 10) according to the present application includes a receiving unit 32 that receives a model distributed from the server side (information providing device 100), and an obtaining unit 34 that obtains data used for learning. , a learning unit 35 that performs on-device machine learning of a model using data, and a learning unit 35 that exchanges each other's models with another person's information processing device, and the other person's model that has undergone machine learning on the other person's information processing device. an exchange unit 36 that acquires the current model and another person's model using data, and a determination unit 37 that uses data to determine the superiority or inferiority of the current model and another person's model; It includes an updating unit 38 that updates the current model to a model with higher inference accuracy between the current model and another person's model.

また、交換部36は、互いのモデルを交換する際、モデルの全部ではなく、モデルの一部を交換する。 Further, when exchanging models with each other, the exchanging unit 36 exchanges not all of the models but a part of the models.

また、更新部38は、自己のモデルを更新する際、モデルの全部ではなく、モデルの一部を更新する。 Furthermore, when updating its own model, the updating unit 38 updates a part of the model instead of the entire model.

また、更新部38は、自己のモデルを更新する際、現在のモデルと他者のモデルとを用いてモデルをアセンブルする。 Furthermore, when updating its own model, the updating unit 38 assembles the model using the current model and another person's model.

また、交換部36は、他者の情報処理装置とのすれ違い時に、互いのモデルを交換する。 Furthermore, the exchange unit 36 exchanges models with each other when passing each other's information processing apparatus.

また、交換部36は、サーバ側を経由することなく、他者の情報処理装置とネットワークを介して互いのモデルを交換する。 Furthermore, the exchange unit 36 exchanges models with other information processing devices via the network without going through the server side.

また、交換部36は、異なるモデルを持った他者の情報処理装置が同じコンテキストにいる時に、互いのモデルを交換する。 Further, the exchange unit 36 exchanges models with each other when other information processing apparatuses having different models are in the same context.

また、現在のモデルと他者のモデルとは、サーバ側から配布された同一目的のモデルであって、パターンの異なるモデルである。 Further, the current model and the other person's model are models distributed from the server side for the same purpose, but have different patterns.

判定部37は、現在のモデルと他者のモデルとを戦わせるモデルバトルを行い、モデルバトルの結果を解析してモデルごとの特異なコンテキスト及び切り口を得る。 The determination unit 37 conducts a model battle in which the current model is pitted against another person's model, and analyzes the results of the model battle to obtain a unique context and perspective for each model.

上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、ユーザ側でモデルを共有して進化計算を行い、モデルを更新することができる。 By using any one or a combination of the above-described processes, the information processing apparatus according to the present application can share a model on the user side, perform evolutionary calculations, and update the model.

〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば図9に示すような構成のコンピュータ1000によって実現される。以下、情報提供装置100を例に挙げて説明する。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
[8. Hardware configuration]
Further, the terminal device 10 and the information providing device 100 according to the embodiments described above are realized by, for example, a computer 1000 having a configuration as shown in FIG. The information providing apparatus 100 will be described below as an example. FIG. 9 is a diagram showing an example of the hardware configuration. The computer 1000 is connected to an output device 1010 and an input device 1020, and a calculation device 1030, a primary storage device 1040, a secondary storage device 1050, an output I/F (Interface) 1060, an input I/F 1070, and a network I/F 1080 are connected to a bus. 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 programs stored in the primary storage device 1040 and the secondary storage device 1050, programs read from the input device 1020, and performs various processes. The arithmetic device 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(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。 The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that temporarily stores data used 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 includes a ROM (Read Only Memory), an HDD (Hard Disk Drive), and an SSD (Solid Disk Drive). This is realized using flash memory, etc. The secondary storage device 1050 may be a built-in storage or an external storage. Further, the secondary storage device 1050 may be a removable storage medium such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) memory card. Further, the secondary storage device 1050 may be a cloud storage (online storage), a NAS (Network Attached Storage), a file server, or the like.

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

また、出力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, output device 1010 and input device 1020 may be wireless devices.

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

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

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

〔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. Furthermore, the above-mentioned components include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those that are in a so-called equivalent range. Furthermore, the aforementioned components can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of the constituent elements can be made without departing from the gist of the embodiments described above.

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

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

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

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

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

1 情報処理システム
10 端末装置
11 通信部
14 測位部
20 センサ部
30 制御部
31 送信部
32 受信部
33 処理部
34 取得部
35 学習部
36 交換部
37 判定部
38 更新部
100 情報提供装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 モデル情報データベース
130 制御部
131 収集部
132 推定部
133 提供部
1 Information processing system 10 Terminal device 11 Communication unit 14 Positioning unit 20 Sensor unit 30 Control unit 31 Transmission unit 32 Receiving unit 33 Processing unit 34 Acquisition unit 35 Learning unit 36 Exchange unit 37 Judgment unit 38 Update unit 100 Information providing device 110 Communication unit 120 Storage unit 121 User information database 122 History information database 123 Model information database 130 Control unit 131 Collection unit 132 Estimation unit 133 Providing unit

Claims (11)

利用者が携帯する端末装置として使用される情報処理装置であって、
サーバ側から配布されたモデルを受信する受信部と、
学習に用いるデータとして、端末装置の機能により計測又は記録されるデータを取得する取得部と、
前記データを取得した際に、データ内容又はコンテキストといった所定のルールに基づいて、端末側のローカルモデルと、サーバ側のグローバルモデルとのうち、いずれのモデルにおいて機械学習するかを判定し、端末側のローカルモデルにおいて機械学習すると判定した場合、前記データを用いて前記モデルのオンデバイス機械学習を行う学習部と、
各端末装置のローカルモデルの優劣を判断しながらモデルの整合や統一を図るために、他者の情報処理装置と互いのモデルを交換し、前記他者の情報処理装置で機械学習が行われた他者のモデルを取得する交換部と、
端末装置間でのローカルモデルの交換時にモデル同士を戦わせ、前記データを用いて現在のモデルと前記他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する判定部と、
前記比較検討の結果、自己のモデルを前記現在のモデルと前記他者のモデルとのうち推論の精度が高いモデルに更新することで、戦いに勝ったモデルに更新する更新部と
を備えることを特徴とする情報処理装置。
An information processing device used as a terminal device carried by a user,
a receiving unit that receives the model distributed from the server side;
an acquisition unit that acquires data measured or recorded by the functions of the terminal device as data used for learning;
When the data is acquired, based on predetermined rules such as data content or context, it is determined which model should be used for machine learning, the local model on the terminal side or the global model on the server side, and the terminal side a learning unit that performs on-device machine learning of the model using the data when it is determined that machine learning is to be performed on the local model;
In order to match and unify the models while determining the superiority and inferiority of the local models of each terminal device, models were exchanged with other people's information processing devices, and machine learning was performed on the other people's information processing devices. an exchange section that obtains other people's models;
a determination unit that pits the models against each other when exchanging local models between terminal devices, and uses the data to compare and examine the accuracy of inference between the current model and the other person's model to determine their superiority;
and an updating unit that updates the own model to a model that has won the battle by updating its own model to a model with higher inference accuracy between the current model and the other person's model as a result of the comparative study. Characteristic information processing device.
前記交換部は、互いのモデルを交換する際、モデルの全部ではなく、モデルの一部を交換する
ことを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the exchange unit exchanges not all of the models but a part of the models when exchanging models with each other.
前記更新部は、自己のモデルを更新する際、モデルの全部ではなく、モデルの一部を更新する
ことを特徴とする請求項1又は2に記載の情報処理装置。
The information processing device according to claim 1 or 2, wherein the updating unit updates a part of the model instead of the entire model when updating its own model.
前記更新部は、自己のモデルを更新する際、前記現在のモデルと前記他者のモデルとを用いてモデルをアセンブルする
ことを特徴とする請求項1~3のうちいずれか1つに記載の情報処理装置。
The updating unit assembles a model using the current model and the other person's model when updating its own model. Information processing device.
前記交換部は、前記他者の情報処理装置とのすれ違い時に、互いのモデルを交換する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
The information processing device according to any one of claims 1 to 4, wherein the exchange unit exchanges models with the other information processing device when passing each other.
前記交換部は、前記サーバ側を経由することなく、前記他者の情報処理装置とネットワークを介して互いのモデルを交換する
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理装置。
According to any one of claims 1 to 5, the exchange unit exchanges models with the other person's information processing device via a network without going through the server side. information processing equipment.
前記交換部は、異なるモデルを持った前記他者の情報処理装置が同じコンテキストにいる時に、互いのモデルを交換する
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
The information according to any one of claims 1 to 6, wherein the exchange unit exchanges each other's models when the other information processing devices having different models are in the same context. Processing equipment.
前記現在のモデルと前記他者のモデルとは、前記サーバ側から配布された同一目的のモデルであって、パターンの異なるモデルである
ことを特徴とする請求項1~7のうちいずれか1つに記載の情報処理装置。
Any one of claims 1 to 7, wherein the current model and the other person's model are models distributed from the server side and have the same purpose, but have different patterns. The information processing device described in .
前記判定部は、前記現在のモデルと前記他者のモデルとを戦わせるモデルバトルを行い、前記モデルバトルの結果を解析してモデルごとの特異なコンテキスト及び切り口を得る
ことを特徴とする請求項1~8のうちいずれか1つに記載の情報処理装置。
The determining unit performs a model battle in which the current model and the other person's model are pitted against each other, and analyzes the results of the model battle to obtain a unique context and perspective for each model. The information processing device according to any one of 1 to 8.
利用者が携帯する端末装置として使用される情報処理装置が実行する情報処理方法であって、
サーバ側から配布されたモデルを受信する受信工程と、
学習に用いるデータとして、端末装置の機能により計測又は記録されるデータを取得する取得工程と、
前記データを取得した際に、データ内容又はコンテキストといった所定のルールに基づいて、端末側のローカルモデルと、サーバ側のグローバルモデルとのうち、いずれのモデルにおいて機械学習するかを判定し、端末側のローカルモデルにおいて機械学習すると判定した場合、前記データを用いて前記モデルのオンデバイス機械学習を行う学習工程と、
各端末装置のローカルモデルの優劣を判断しながらモデルの整合や統一を図るために、他者の情報処理装置と互いのモデルを交換し、前記他者の情報処理装置で機械学習が行われた他者のモデルを取得する交換工程と、
端末装置間でのローカルモデルの交換時にモデル同士を戦わせ、前記データを用いて現在のモデルと前記他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する判定工程と、
前記比較検討の結果、自己のモデルを前記現在のモデルと前記他者のモデルとのうち推論の精度が高いモデルに更新することで、戦いに勝ったモデルに更新する更新工程と
を含むことを特徴とする情報処理方法。
An information processing method executed by an information processing device used as a terminal device carried by a user, the method comprising:
a receiving step of receiving the model distributed from the server side;
an acquisition step of acquiring data measured or recorded by the functions of the terminal device as data used for learning;
When the data is acquired, based on predetermined rules such as data content or context, it is determined which model to perform machine learning, the local model on the terminal side or the global model on the server side, and the terminal side a learning step of performing on-device machine learning of the model using the data when it is determined that machine learning is to be performed on the local model;
In order to match and unify the models while determining the superiority and inferiority of the local models of each terminal device, models were exchanged with other people's information processing equipment, and machine learning was performed on the other people's information processing equipment. an exchange step of acquiring another person's model;
a determination step of pitting the models against each other when exchanging local models between terminal devices, and comparing and examining the inference accuracy of the current model and the other person's model using the data to determine their superiority;
As a result of the comparative study, updating the own model to a model with higher inference accuracy between the current model and the other person's model , thereby updating the model to the model that won the battle. Characteristic information processing method.
サーバ側から配布されたモデルを受信する受信手順と、
学習に用いるデータとして、端末装置の機能により計測又は記録されるデータを取得する取得手順と、
前記データを取得した際に、データ内容又はコンテキストといった所定のルールに基づいて、端末側のローカルモデルと、サーバ側のグローバルモデルとのうち、いずれのモデルにおいて機械学習するかを判定し、端末側のローカルモデルにおいて機械学習すると判定した場合、前記データを用いて前記モデルのオンデバイス機械学習を行う学習手順と、
各端末装置のローカルモデルの優劣を判断しながらモデルの整合や統一を図るために、他者の端末装置と互いのモデルを交換し、前記他者の端末装置で機械学習が行われた他者のモデルを取得する交換手順と、
端末装置間でのローカルモデルの交換時にモデル同士を戦わせ、前記データを用いて現在のモデルと前記他者のモデルとのそれぞれの推論の精度を比較検討して優劣を判定する判定手順と、
前記比較検討の結果、自己のモデルを前記現在のモデルと前記他者のモデルとのうち推論の精度が高いモデルに更新することで、戦いに勝ったモデルに更新する更新手順と
利用者が携帯する端末装置として使用されるコンピュータに実行させるための情報処理プログラム。
a reception procedure for receiving a model distributed from the server side;
an acquisition procedure for acquiring data measured or recorded by a function of a terminal device as data used for learning;
When the data is acquired, based on predetermined rules such as data content or context, it is determined which model to perform machine learning, the local model on the terminal side or the global model on the server side, and the terminal side a learning procedure of performing on-device machine learning of the model using the data when it is determined that machine learning is to be performed on the local model;
In order to match and unify the models while determining the superiority and inferiority of the local models of each terminal device, we exchange models with other terminal devices and perform machine learning on the other terminal device . Exchange procedure to obtain the model of
a determination procedure of pitting the models against each other when exchanging local models between terminal devices, and using the data to compare and examine the inference accuracy of the current model and the other person's model to determine their superiority;
As a result of the comparative study, the user updates his/her own model to a model with higher inference accuracy between the current model and the other person's model , thereby updating the model to the model that won the battle. An information processing program that is executed by a computer used as a portable terminal device .
JP2021134752A 2021-08-20 2021-08-20 Information processing device, information processing method, and information processing program Active JP7407152B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021134752A JP7407152B2 (en) 2021-08-20 2021-08-20 Information processing device, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021134752A JP7407152B2 (en) 2021-08-20 2021-08-20 Information processing device, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2023028824A JP2023028824A (en) 2023-03-03
JP7407152B2 true JP7407152B2 (en) 2023-12-28

Family

ID=85331169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021134752A Active JP7407152B2 (en) 2021-08-20 2021-08-20 Information processing device, information processing method, and information processing program

Country Status (1)

Country Link
JP (1) JP7407152B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097713A (en) 2011-11-04 2013-05-20 Nippon Telegr & Teleph Corp <Ntt> Power consumption estimation device, method and program
JP2018094686A (en) 2016-12-14 2018-06-21 ファナック株式会社 Machine learning device, cnc device and machine learning method detecting sign of occurrence of chattering of tool in machine tool
JP2020005184A (en) 2018-06-29 2020-01-09 日本電信電話株式会社 Communication system and communication method
JP2020091653A (en) 2018-12-05 2020-06-11 オムロン株式会社 Sensor system
WO2020205648A1 (en) 2019-03-29 2020-10-08 Intel Corporation Autonomous vehicle system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097713A (en) 2011-11-04 2013-05-20 Nippon Telegr & Teleph Corp <Ntt> Power consumption estimation device, method and program
JP2018094686A (en) 2016-12-14 2018-06-21 ファナック株式会社 Machine learning device, cnc device and machine learning method detecting sign of occurrence of chattering of tool in machine tool
JP2020005184A (en) 2018-06-29 2020-01-09 日本電信電話株式会社 Communication system and communication method
JP2020091653A (en) 2018-12-05 2020-06-11 オムロン株式会社 Sensor system
WO2020205648A1 (en) 2019-03-29 2020-10-08 Intel Corporation Autonomous vehicle system

Also Published As

Publication number Publication date
JP2023028824A (en) 2023-03-03

Similar Documents

Publication Publication Date Title
JP7407152B2 (en) Information processing device, information processing method, and information processing program
JP7174782B2 (en) Information processing device, information processing method and information processing program
JP2023027548A (en) Device, method, and program for processing information
JP7388744B2 (en) Information processing device, information processing method, and information processing program
JP7122432B1 (en) Information processing device, information processing method and information processing program
JP7317901B2 (en) Information processing device, information processing method and information processing program
JP7459026B2 (en) Information processing device, information processing method, and information processing program
JP7353328B2 (en) Terminal device, information processing method, and information processing program
JP7453199B2 (en) Information processing device, information processing method, and information processing program
JP7337123B2 (en) Information processing device, information processing method and information processing program
JP7459021B2 (en) Information processing device, 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
JP7145997B2 (en) Information processing device, information processing method and information processing program
JP7145247B2 (en) Information processing device, information processing method and information processing program
JP7016980B1 (en) Information processing equipment, information processing methods and information processing programs
JP7168640B2 (en) Information processing device, information processing method and information processing program
JP2023179878A (en) Information processing device, information processing method and information processing program
JP2023179929A (en) Information processing device, information processing method, and information processing program
JP2023028857A (en) Information processing system
JP2023043762A (en) Information processing device, information processing method, and information processing program
JP2023043778A (en) Information processing device, information processing method, and information processing program
JP2023133012A (en) Information processing device, information processing method, and information processing program
JP2023043779A (en) Information processing device, information processing method, and information processing program
JP2023043772A (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: 20220809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231006

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20231026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231218

R150 Certificate of patent or registration of utility model

Ref document number: 7407152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150