JP2019139513A - 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
JP2019139513A
JP2019139513A JP2018022329A JP2018022329A JP2019139513A JP 2019139513 A JP2019139513 A JP 2019139513A JP 2018022329 A JP2018022329 A JP 2018022329A JP 2018022329 A JP2018022329 A JP 2018022329A JP 2019139513 A JP2019139513 A JP 2019139513A
Authority
JP
Japan
Prior art keywords
information
movement
user
information processing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018022329A
Other languages
Japanese (ja)
Other versions
JP7067946B2 (en
Inventor
岩崎 雅二郎
Masajiro Iwasaki
雅二郎 岩崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2018022329A priority Critical patent/JP7067946B2/en
Publication of JP2019139513A publication Critical patent/JP2019139513A/en
Application granted granted Critical
Publication of JP7067946B2 publication Critical patent/JP7067946B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To make appropriate recommendation as a user moves.SOLUTION: An information processing device according to the present application includes an acquisition unit, an extraction unit, and a transmission unit. The acquisition unit acquires graph information, in which a plurality of nodes corresponding to a plurality of movement routes respectively, in which corresponding users who have moved correspondingly to the respective movement routes are associated with each other, is connected according to the similarity of the plurality of movement routes, and acquires movement information related to the movement of one user. The extraction unit searches the graph information starting from a starting node that is a starting point of the search of the graph information determined based on a predetermined criterion among the plurality of nodes of the graph information acquired by the acquiring unit, and extracts a similar movement route that is a movement route similar to the movement of the one user from the plurality of movement routes. The transmission unit transmits recommendation information related to the movement of the one user to a terminal device used by the one user on the basis of information on the corresponding user information with the similar movement route extracted by the extraction unit.SELECTED DRAWING: Figure 4

Description

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

従来、ユーザの行動に応じてユーザに対して種々の情報を推奨する技術が提供されている。例えば、ユーザの特性に配慮しつつ、環境への影響を考慮した推奨経路を提案する技術が提供されている。   2. Description of the Related Art Conventionally, a technique for recommending various information to a user according to the user's behavior has been provided. For example, there is provided a technique for proposing a recommended route in consideration of the influence on the environment while taking into account the characteristics of the user.

特開2013−083486号公報JP 2013-083486 A 特開2013−101051号公報JP 2013-101051 A

岩崎雅二郎 "木構造型インデックスを利用した近似k最近傍グラフによる近傍検索", 情報処理学会論文誌, 2011/2, Vol. 52, No. 2. pp.817-828.Masajiro Iwasaki "Neighbor Search by Approximate k Nearest Neighbor Graph Using Tree-Structured Index", IPSJ Transactions, 2011/2, Vol. 52, No. 2. pp.817-828.

しかしながら、上記の従来技術では、ユーザの移動に応じて適切な推奨を行うことが難しい場合がある。例えば、ユーザ特性情報に基づいて、出発地から目的地に至る区間に対し、移動手段を特定したりするため、ユーザの目的地に関する情報が必要となる。そのため、例えば、ユーザの目的地が不明な場合など、ユーザの移動に応じて適切な推奨を行うことが難しい場合がある。   However, in the above-described conventional technology, it may be difficult to make an appropriate recommendation according to the movement of the user. For example, in order to specify the moving means for the section from the departure place to the destination based on the user characteristic information, information on the user's destination is required. Therefore, for example, when the user's destination is unknown, it may be difficult to make an appropriate recommendation according to the movement of the user.

本願は、上記に鑑みてなされたものであって、ユーザの移動に応じて適切な推奨を行う情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。   The present application has been made in view of the above, and an object thereof is to provide an information processing apparatus, an information processing method, and an information processing program that make an appropriate recommendation according to a user's movement.

本願に係る情報処理装置は、複数の移動経路の各々に対応する複数のノードであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のノードが、前記複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する取得部と、前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数の移動経路のうち、前記一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する抽出部と、前記抽出部により抽出された前記類似移動経路に対応付けられた前記対応ユーザの情報に基づいて、前記一のユーザが利用する端末装置へ前記一のユーザの移動に関連する推奨情報を送信する送信部と、を備えたことを特徴とする。   The information processing apparatus according to the present application is a plurality of nodes corresponding to each of a plurality of movement paths, and a plurality of nodes associated with corresponding users who have moved corresponding to the respective movement paths are the plurality of movement paths. Graph information linked according to the similarity of the user, an acquisition unit that acquires movement information related to the movement of one user, and a plurality of nodes of the graph information acquired by the acquisition unit. A movement path of movement similar to the movement of the one user among the plurality of movement paths by searching the graph information starting from a starting node that is a starting point of the search of the graph information determined based on Based on the information of the corresponding user associated with the similar movement route extracted by the extraction unit and the similar movement route extracted by the extraction unit. A transmission unit that transmits the recommendation information related to the movement of the one user to the terminal apparatus, characterized by comprising a.

実施形態の一態様によれば、ユーザの移動に応じて適切な推奨を行うことができるという効果を奏する。   According to one aspect of the embodiment, there is an effect that an appropriate recommendation can be performed according to the movement of the user.

図1は、実施形態に係る情報処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of information processing according to the embodiment. 図2は、実施形態に係る情報処理の一例を示す図である。FIG. 2 is a diagram illustrating an example of information processing according to the embodiment. 図3は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of the information processing system according to the embodiment. 図4は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of the information processing apparatus according to the embodiment. 図5は、実施形態に係るPOI情報記憶部の一例を示す図である。FIG. 5 is a diagram illustrating an example of a POI information storage unit according to the embodiment. 図6は、実施形態に係るユーザ情報記憶部の一例を示す図である。FIG. 6 is a diagram illustrating an example of a user information storage unit according to the embodiment. 図7は、実施形態に係る移動経路情報記憶部の一例を示す図である。FIG. 7 is a diagram illustrating an example of a movement route information storage unit according to the embodiment. 図8は、実施形態に係るインデックス情報記憶部の一例を示す図である。FIG. 8 is a diagram illustrating an example of the index information storage unit according to the embodiment. 図9は、実施形態に係るグラフ情報記憶部の一例を示す図である。FIG. 9 is a diagram illustrating an example of the graph information storage unit according to the embodiment. 図10は、実施形態に係るモデル情報記憶部の一例を示す図である。FIG. 10 is a diagram illustrating an example of the model information storage unit according to the embodiment. 図11は、実施形態に係る情報処理の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of information processing according to the embodiment. 図12は、実施形態に係る生成処理の一例を示すフローチャートである。FIG. 12 is a flowchart illustrating an example of the generation process according to the embodiment. 図13は、実施形態に係る特徴量の抽出の一例を示す図である。FIG. 13 is a diagram illustrating an example of feature amount extraction according to the embodiment. 図14は、グラフ情報を用いた検索処理の一例を示すフローチャートである。FIG. 14 is a flowchart illustrating an example of a search process using graph information. 図15は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 15 is a hardware configuration diagram illustrating an example of a computer that implements the functions of the information processing apparatus.

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

(実施形態)
〔1.情報処理〕
図1及び図2を用いて、実施形態に係る情報処理の一例について説明する。図1及び図2は、実施形態に係る情報処理の一例を示す図である。図1及び図2では、情報処理装置100が移動経路をグラフ構造化したグラフデータ(グラフ情報)を検索することにより、類似する移動経路(以下、「類似移動経路」ともいう)を抽出し、抽出した情報を基にユーザへ推奨情報を提供する場合を示す。なお、ここでいう移動経路には、一の地点から他の地点までの経路のみに限らず、その移動の際のユーザの移動速度の変化や位置の変化態様等の移動態様の種々の情報を含む。
(Embodiment)
[1. Information processing)
An example of information processing according to the embodiment will be described with reference to FIGS. 1 and 2. 1 and 2 are diagrams illustrating an example of information processing according to the embodiment. In FIG. 1 and FIG. 2, the information processing apparatus 100 searches for graph data (graph information) in which the movement route is structured in a graph, thereby extracting a similar movement route (hereinafter also referred to as “similar movement route”), The case where recommended information is provided to the user based on the extracted information is shown. The travel route here is not limited to a route from one point to another point, but includes various information on the movement mode such as a change in the movement speed of the user and a change in the position during the movement. Including.

図1及び図2では、情報処理装置100は、各移動経路に対応するベクトルデータ(単に「ベクトル」ともいう)を用いて移動経路をグラフ構造化したグラフ情報を用いる。また、各移動経路には、その行動を行ったユーザ(対象ユーザ)やその移動後に対象ユーザが立ち寄ったスポットやその移動時の時間帯(時刻)や天候等の情報が関連付けられている。図1及び図2では、情報処理装置100が歩行により移動を行っているユーザU1の移動経路等の情報に基づいて、ユーザU1に訪れる地点(以下、「立ち寄りスポット」とする場合がある)を推奨する場合を一例として説明する。なお、情報処理装置100が用いる情報は、ベクトルに限らず、各移動経路の類似性を表現可能な情報であれば、どのような形式の情報であってもよい。例えば、情報処理装置100は、各移動経路に対応する所定のデータや値を用いて移動経路をグラフ構造化したグラフ情報を用いてもよい。例えば、情報処理装置100は、各移動経路から生成された所定の数値(例えば2進数の値や16進数の値)を用いて移動経路をグラフ構造化したグラフ情報を用いてもよい。例えば、ベクトルに代えて、データ間の距離(類似度)が定義されていれば任意の形態のデータであっても良い。   In FIG. 1 and FIG. 2, the information processing apparatus 100 uses graph information in which a moving route is structured in a graph using vector data (also simply referred to as “vector”) corresponding to each moving route. Each movement route is associated with information such as the user (target user) who performed the action, the spot where the target user stopped after the movement, the time zone (time) during the movement, the weather, and the like. In FIG. 1 and FIG. 2, a point visited by the user U1 (hereinafter sometimes referred to as a “stop spot”) based on information such as a moving route of the user U1 that the information processing apparatus 100 is moving by walking. The recommended case will be described as an example. Note that the information used by the information processing apparatus 100 is not limited to a vector, and may be information in any format as long as the information can express the similarity of each movement route. For example, the information processing apparatus 100 may use graph information in which a movement route is structured in a graph using predetermined data and values corresponding to each movement route. For example, the information processing apparatus 100 may use graph information in which a movement path is structured in a graph using a predetermined numerical value (for example, a binary value or a hexadecimal value) generated from each movement path. For example, instead of the vector, any form of data may be used as long as the distance (similarity) between the data is defined.

なお、図1及び図2の例では、移動経路としてユーザの歩行の移動経路を対象とする場合を一例として示すが、移動経路は歩行の移動経路に限らず、自動車等の車両の移動経路など、どのような移動態様を対象とする移動経路であってもよい。すなわち、対象とする移動経路(オブジェクト)は、ベクトルとして表現可能であれば、どのような移動経路(情報)であってもよい。   In the example of FIGS. 1 and 2, a case where a user's walking movement path is targeted as a movement path is shown as an example. However, the movement path is not limited to a walking movement path, and a movement path of a vehicle such as an automobile. Any movement mode may be used as a movement route. That is, the target movement route (object) may be any movement route (information) as long as it can be expressed as a vector.

〔1−1.情報処理システムの構成〕
図1及び図2の説明に先だって、図3を用いて情報処理システム1の構成について説明する。図3に示すように、情報処理システム1は、端末装置10と、情報提供装置50と、情報処理装置100とが含まれる。端末装置10と、情報提供装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図3は、実施形態に係る情報処理システムの構成例を示す図である。なお、図3に示した情報処理システム1には、複数台の端末装置10や、複数台の情報提供装置50や、複数台の情報処理装置100が含まれてもよい。
[1-1. Configuration of information processing system]
Prior to the description of FIGS. 1 and 2, the configuration of the information processing system 1 will be described with reference to FIG. As illustrated in FIG. 3, the information processing system 1 includes a terminal device 10, an information providing device 50, and an information processing device 100. The terminal device 10, the information providing device 50, and the information processing device 100 are connected via a predetermined network N so as to be communicable by wire or wirelessly. FIG. 3 is a diagram illustrating a configuration example of the information processing system according to the embodiment. Note that the information processing system 1 illustrated in FIG. 3 may include a plurality of terminal devices 10, a plurality of information providing devices 50, and a plurality of information processing devices 100.

端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、ユーザによる種々の操作を受け付ける。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。なお、上述した端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。   The terminal device 10 is an information processing device used by a user. The terminal device 10 receives various operations by the user. Hereinafter, the terminal device 10 may be referred to as a user. That is, hereinafter, the user can be read as the terminal device 10. The terminal device 10 described above is realized by, for example, a smartphone, a tablet terminal, a notebook PC (Personal Computer), a desktop PC, a mobile phone, a PDA (Personal Digital Assistant), or the like.

また、端末装置10は、GPS(Global Positioning System)センサ等の機能を有し、ユーザの位置情報(センサ情報)を検知し、取得するものとする。また、端末装置10は、通信を行っている基地局の位置情報や、WiFi(登録商標)(Wireless Fidelity)やBluetooth(登録商標)等の所定の無線通信機能やビーコン等の機能を用いてユーザの位置情報を検知し、取得してもよい。なお、以下では位置情報を単に「位置」と記載する場合がある。例えば、端末装置10は、GPSや上記のような無線通信機能やビーコン等の情報を組み合わせることにより、ユーザの位置の推定精度を高めてもよい。   The terminal device 10 has a function such as a GPS (Global Positioning System) sensor, and detects and acquires user position information (sensor information). In addition, the terminal device 10 uses the location information of the base station that is performing communication, a predetermined wireless communication function such as WiFi (registered trademark) or Bluetooth (registered trademark), or a function such as a beacon. The position information may be detected and acquired. Hereinafter, the position information may be simply referred to as “position”. For example, the terminal device 10 may improve the estimation accuracy of the user's position by combining information such as GPS, the wireless communication function as described above, and a beacon.

また、端末装置10は、GPSセンサ等に限らず種々のセンサにより、各種センサ情報を検知してもよい。また、端末装置10は、ジャイロセンサや加速度センサの機能を有し、ユーザの移動における加速度情報(センサ情報)を検知し、取得する。また、端末装置10は、温度センサや気圧センサ等の種々の機能を有し、温度や気圧等のユーザの置かれている環境情報を検知し、取得可能であってもよい。また、端末装置10は、心拍センサ等の種々の機能を有し、ユーザの生体情報を検知し、取得可能であってもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身のコンテキスト情報を取得可能としてもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なリストバンド型のウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身の心拍(脈拍)に関する情報を端末装置10が取得可能としてもよい。   Moreover, the terminal device 10 may detect various sensor information not only with a GPS sensor etc. but with various sensors. Further, the terminal device 10 has functions of a gyro sensor and an acceleration sensor, and detects and acquires acceleration information (sensor information) in the movement of the user. Further, the terminal device 10 may have various functions such as a temperature sensor and an atmospheric pressure sensor, and may be able to detect and acquire environmental information where the user is placed such as temperature and atmospheric pressure. Moreover, the terminal device 10 may have various functions such as a heart rate sensor, and may be able to detect and acquire a user's biological information. For example, a user using the terminal device 10 may acquire a user's own context information by the terminal device 10 by wearing a wearable device that can communicate with the terminal device 10. For example, a user who uses the terminal device 10 wears a wristband type wearable device that can communicate with the terminal device 10, and the terminal device 10 acquires information on the user's own heartbeat (pulse) by the terminal device 10. It may be possible.

図1の例では、端末装置10は、ユーザU1が利用するスマートフォンである場合を示す。例えば、端末装置10は、各種センサにより検知(収集)されたユーザの移動データやコンテキスト情報等の種々の情報を情報処理装置100へ送信する。例えば、端末装置10は、ユーザの移動データやコンテキスト情報等の種々の情報を所定のアプリ等により情報処理装置100へ送信する。   In the example of FIG. 1, the terminal device 10 shows the case where it is a smart phone which user U1 uses. For example, the terminal device 10 transmits various information such as user movement data and context information detected (collected) by various sensors to the information processing apparatus 100. For example, the terminal device 10 transmits various pieces of information such as user movement data and context information to the information processing device 100 using a predetermined application or the like.

例えば、ここでいうコンテキストは、ユーザやそのユーザが利用する端末装置10の状況やユーザや端末装置10の環境(背景)に基づくユーザの種々の状況を含む概念であってもよい。また、コンテキスト情報には、ユーザが移動経路を移動中における、時間帯等を示す時刻情報や、天候を示す気象情報等のユーザが置かれた物理環境を示す情報が含まれる。また、コンテキスト情報には、ユーザが置かれた社会環境、ユーザに提供されるコンテンツの内容、ユーザが反応したコンテンツの内容、ユーザの属性、ユーザの感情等の種々の情報が含まれてもよい。また、例えば、コンテキスト情報は、ユーザが利用する端末装置10の通信状態や表示する情報等が含まれる。このように、コンテキスト情報は、ユーザが移動経路を移動中における種々の情報が含まれてもよい。なお、上記は一例であり、コンテキスト情報には、上記に限らず、種々の情報が含まれてもよい。なお、コンテキスト情報には、移動データに対応する情報や対応ユーザの情報等が含まれてもよい。   For example, the context here may be a concept including various situations of the user based on the situation of the user and the terminal device 10 used by the user and the environment (background) of the user and the terminal device 10. In addition, the context information includes information indicating the physical environment in which the user is placed, such as time information indicating a time zone and the like, weather information indicating weather, and the like while the user is moving on the moving route. The context information may include various information such as the social environment in which the user is placed, the content of the content provided to the user, the content of the content that the user has reacted to, the user's attributes, the user's emotions, and the like. . For example, the context information includes a communication state of the terminal device 10 used by the user, information to be displayed, and the like. As described above, the context information may include various information while the user is moving on the movement route. The above is an example, and the context information is not limited to the above, and various information may be included. Note that the context information may include information corresponding to the movement data, information on the corresponding user, and the like.

情報処理装置100は、起点ベクトルを起点としてグラフ情報を検索することにより、複数の移動経路のうち、一のユーザの移動に類似する移動経路である類似移動経路を抽出する情報処理装置である。また、認証装置100は、抽出された類似移動経路に対応付けられた各種情報に基づく立ち寄りスポットを推奨する推奨情報を一のユーザの端末装置10に送信する情報処理装置である。例えば、情報処理装置100は、一のユーザの移動に関する移動経路情報を取得し、移動経路情報と、グラフ情報の検索の起点となる起点ベクトルに関する情報とに基づいて、起点ベクトルを決定する。   The information processing apparatus 100 is an information processing apparatus that extracts a similar movement path that is similar to the movement of one user from a plurality of movement paths by searching for graph information using a starting point vector as a starting point. The authentication device 100 is an information processing device that transmits recommended information for recommending a stop-on spot based on various information associated with the extracted similar movement route to the terminal device 10 of one user. For example, the information processing apparatus 100 acquires movement route information related to the movement of one user, and determines the starting point vector based on the moving route information and information related to the starting point vector that is a starting point for searching graph information.

情報処理装置100は、ユーザ等に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報処理装置100は、端末装置10から一のユーザの移動の移動データ(以下、「クエリ情報」や「クエリ」ともいう)を取得すると、クエリに類似する移動経路(ベクトル情報等)を検索し、類似移動経路を抽出する。そして、情報処理装置100は、抽出した類似移動経路に対応付けられた立ち寄りスポットやその移動を行ったユーザや移動の際のコンテキスト情報等に基づく推奨情報を端末装置10に送信する。また、例えば、情報処理装置100が端末装置10に提供するデータは、推奨する立ち寄りスポットの位置情報や具体的な名称やURL(Uniform Resource Locator)等のその立ち寄りスポットの情報を参照するための情報であってもよい。なお、情報処理装置100は、端末装置10から一のユーザの移動の移動データを取得すると、クエリに類似する移動経路(ベクトル情報等)を検索し、検索結果を端末装置10に提供してもよい。図1及び図2の例では、情報処理装置100は、端末装置10から一のユーザの移動の移動データを取得すると、一のユーザの移動に類似する移動経路を検索し、検索結果を類似の移動経路として端末装置10に提供する。   The information processing apparatus 100 is an information processing apparatus in which information for providing various information to a user or the like is stored. For example, when the information processing apparatus 100 obtains movement data (hereinafter also referred to as “query information” or “query”) of movement of one user from the terminal device 10, a movement route (vector information or the like) similar to the query is obtained. Search and extract similar travel routes. Then, the information processing apparatus 100 transmits, to the terminal apparatus 10, recommended information based on the stop spot associated with the extracted similar movement route, the user who performed the movement, context information when moving, and the like. Also, for example, the data provided by the information processing apparatus 100 to the terminal device 10 is information for referring to recommended stop spot position information, specific name, URL (Uniform Resource Locator), and other stop spot information. It may be. In addition, when the information processing apparatus 100 acquires movement data of one user's movement from the terminal device 10, the information processing apparatus 100 searches for a movement route (such as vector information) similar to the query and provides the search result to the terminal device 10. Good. In the example of FIGS. 1 and 2, when the information processing apparatus 100 acquires movement data of one user's movement from the terminal device 10, the information processing apparatus 100 searches for a movement route that is similar to the movement of one user, Provided to the terminal device 10 as a movement route.

情報提供装置50は、情報処理装置100に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報提供装置50は、ウェブサーバ等の種々の外部装置から収集した移動経路情報等が格納されてもよい。例えば、情報提供装置50は、グラフ情報やインデックス情報やモデル等の種々の情報を情報処理装置100に提供する情報処理装置である。   The information providing apparatus 50 is an information processing apparatus in which information for providing various information to the information processing apparatus 100 is stored. For example, the information providing device 50 may store travel route information collected from various external devices such as a web server. For example, the information providing apparatus 50 is an information processing apparatus that provides the information processing apparatus 100 with various types of information such as graph information, index information, and models.

〔1−2.グラフ情報について〕
ここで、グラフ情報について説明する。また、情報処理装置100は、図2中のグラフ情報GR11に示すように、各ベクトル(ノード)が有向エッジにより連結されたグラフデータを対象に情報処理を行う。なお、図2中のグラフ情報GR11に示すようなグラフ情報は、情報処理装置100が生成してもよいし、情報処理装置100は、図2中のグラフ情報GR11に示すようなグラフ情報を情報提供装置50(図3参照)等の他の外部装置から取得してもよい。
[1-2. About graph information)
Here, the graph information will be described. Further, as illustrated in the graph information GR11 in FIG. 2, the information processing apparatus 100 performs information processing on graph data in which each vector (node) is connected by a directed edge. Note that the graph information as indicated by the graph information GR11 in FIG. 2 may be generated by the information processing apparatus 100, or the information processing apparatus 100 may include the graph information as indicated by the graph information GR11 in FIG. You may acquire from other external apparatuses, such as the provision apparatus 50 (refer FIG. 3).

また、ここでいう、有向エッジとは、一方向にしかデータを辿れないエッジを意味する。以下では、エッジにより辿る元、すなわち始点となるノードを参照元とし、エッジにより辿る先、すなわち終点となるノードを参照先とする。例えば、所定のノード「A」から所定のノード「B」に連結される有向エッジとは、参照元をノード「A」とし、参照先をノード「B」とするエッジであることを示す。なお、各ノードを連結するエッジは、有向エッジに限らず、種々のエッジであってもよい。例えば、各ノードを連結するエッジは、ノードを連結する方向のないエッジであってもよい。例えば、各ノードを連結するエッジは、相互に参照可能なエッジであってもよい。例えば、各ノードを連結するエッジは、全て双方向エッジであってもよい。   Further, the directed edge here means an edge that can trace data only in one direction. In the following, a source traced by an edge, that is, a node as a starting point is referred to as a reference source, and a destination traced by an edge, that is, a node as an end point is defined as a reference destination. For example, the directed edge connected from the predetermined node “A” to the predetermined node “B” indicates that the reference source is the node “A” and the reference destination is the node “B”. Note that the edge connecting the nodes is not limited to the directed edge, and may be various edges. For example, the edge connecting the nodes may be an edge having no direction to connect the nodes. For example, the edges connecting the nodes may be edges that can be referred to each other. For example, all the edges connecting the nodes may be bidirectional edges.

例えば、このようにノード「A」を参照元とするエッジをノード「A」の出力エッジという。また、例えば、このようにノード「B」を参照先とするエッジをノード「B」の入力エッジという。すなわち、ここでいう出力エッジ及び入力エッジとは、一の有向エッジをその有向エッジが連結する2つのノードのうち、いずれのノードを中心として捉えるかの相違であり、一の有向エッジが出力エッジ及び入力エッジになる。すなわち、出力エッジ及び入力エッジは、相対的な概念であって、一の有向エッジについて、参照元となるノードを中心として捉えた場合に出力エッジとなり、参照先となるノードを中心として捉えた場合に入力エッジとなる。なお、本実施形態においては、エッジについては、出力エッジや入力エッジ等の有向エッジを対象とするため、以下では、有向エッジを単に「エッジ」と記載する場合がある。   For example, such an edge having the node “A” as a reference source is referred to as an output edge of the node “A”. Further, for example, an edge with the node “B” as a reference destination in this way is referred to as an input edge of the node “B”. In other words, the output edge and the input edge here are differences in which one of the two nodes connected to the directed edge is regarded as the center, and the one directed edge. Becomes the output edge and the input edge. In other words, the output edge and the input edge are relative concepts, and for one directional edge, when the node as the reference source is regarded as the center, the output edge is regarded as the center, and the node as the reference destination is regarded as the center. The input edge. In the present embodiment, since the edges are directed edges such as output edges and input edges, the directed edges may be simply referred to as “edges” below.

例えば、情報処理装置100は、数百万〜数億単位の移動経路に対応するノードを対象に処理を行うが、図面においてはその一部のみを図示する。図2の例では、説明を簡単にするために、8個のノードを図示して処理の概要を説明する。例えば、情報処理装置100は、図2中のグラフ情報GR11に示すように、ノードN1、N2、N5等に示すような複数のノード(ベクトル)を含むグラフ情報を取得する。また、図2の例では、グラフ情報GR11における各ノードは、そのノードとの間の距離が近い方から所定数のノードへのエッジ(出力エッジ)が連結される。例えば、所定数は、目的や用途等に応じて、2や5や10や100等の種々の値であってもよい。例えば、所定数が3である場合、ノードN1からは、ノードN1からの距離が最も近いノード及び3番目に距離が近い3つのノードに出力エッジが連結される。なお、類似度を示す指標としての距離は、ベクトル(N次元ベクトル)間の距離として適用可能であれば、どのような距離であってもよく、例えば、ユークリッド距離やマハラノビス距離やコサイン距離等の種々の距離が用いられてもよい。   For example, the information processing apparatus 100 performs processing on nodes corresponding to millions to hundreds of millions of travel paths, but only a part of them is illustrated in the drawing. In the example of FIG. 2, in order to simplify the description, the outline of the process will be described by illustrating eight nodes. For example, the information processing apparatus 100 acquires graph information including a plurality of nodes (vectors) as indicated by nodes N1, N2, N5, etc., as indicated by the graph information GR11 in FIG. In the example of FIG. 2, each node in the graph information GR11 is connected with edges (output edges) to a predetermined number of nodes from the closest distance to the node. For example, the predetermined number may be various values such as 2, 5, 10, and 100 depending on the purpose and application. For example, when the predetermined number is 3, the output edge is connected from the node N1 to the node having the shortest distance from the node N1 and the three nodes having the third closest distance. The distance as the index indicating the similarity may be any distance as long as it can be applied as the distance between the vectors (N-dimensional vectors), such as the Euclidean distance, the Mahalanobis distance, and the cosine distance. Various distances may be used.

また、このように「ノードN*(*は任意の数値)」と記載した場合、そのノードはノードID「N*」により識別されるノードであることを示す。例えば、「ノードN1」と記載した場合、そのノードはノードID「N1」により識別されるノードである。   In addition, when “node N * (* is an arbitrary numerical value)” is described in this way, this indicates that the node is identified by the node ID “N *”. For example, when “node N1” is described, the node is a node identified by the node ID “N1”.

また、図2中のグラフ情報GR11では、ノードN712は、ノードN7へ向かう有向エッジであるエッジE7が連結される。すなわち、ノードN712は、ノードN7とエッジE7により連結される。このように「エッジE*(*は任意の数値)」と記載した場合、そのエッジはエッジID「E*」により識別されるエッジであることを示す。例えば、「エッジE11」と記載した場合、そのエッジはエッジID「E11」により識別されるエッジである。例えば、ノードN712を参照元とし、ノードN7を参照先として連結されるエッジE7により、ノードN712からノードN7に辿ることが可能となる。この場合、有向エッジであるエッジE7は、ノードN712を中心として識別される場合、出力エッジとなり、ノードN7を中心として識別される場合、入力エッジとなる。また、図2のグラフ情報GR11中の双方向矢印は、両方のノードから他方のノードへの有向エッジが連結されることを示す。例えば、グラフ情報GR11中のノードN2とノードN5との間の双方向矢印は、ノードN2からノードN5へ向かう有向エッジと、ノードN5からノードN2へ向かう有向エッジとの2つのエッジが連結されることを示す。   Further, in the graph information GR11 in FIG. 2, the node N712 is connected to the edge E7 that is a directed edge toward the node N7. That is, the node N712 is connected to the node N7 by the edge E7. Thus, when “edge E * (* is an arbitrary numerical value)” is described, it indicates that the edge is an edge identified by the edge ID “E *”. For example, when “edge E11” is described, the edge is an edge identified by the edge ID “E11”. For example, the node E712 can be traced from the node N712 to the node N7 by the edge E7 connected with the node N712 as a reference source and the node N7 as a reference destination. In this case, the edge E7 which is a directed edge is an output edge when identified with the node N712 as the center, and an input edge when identified with the node N7 as the center. Moreover, the bidirectional arrow in the graph information GR11 in FIG. 2 indicates that the directed edge from both nodes to the other node is connected. For example, the bidirectional arrow between the node N2 and the node N5 in the graph information GR11 connects two edges, a directed edge from the node N2 to the node N5 and a directed edge from the node N5 to the node N2. Indicates that

また、図2中のグラフ情報GR11は、ユークリッド空間であってもよい。また、図2に示すグラフ情報GR11は、各ベクトル間の距離等の説明のための概念的な図であり、グラフ情報GR11は、多次元空間である。例えば、図2に示すグラフ情報GR11は、平面上に図示するため2次元の態様にて図示されるが、例えば100次元や1000次元等の多次元空間であるものとする。   Further, the graph information GR11 in FIG. 2 may be a Euclidean space. Also, the graph information GR11 shown in FIG. 2 is a conceptual diagram for explaining the distance between the vectors and the like, and the graph information GR11 is a multidimensional space. For example, the graph information GR11 illustrated in FIG. 2 is illustrated in a two-dimensional manner to be illustrated on a plane, but is assumed to be a multidimensional space such as 100 dimensions or 1000 dimensions.

ここで、ベクトルデータ間の距離は、移動経路の類似性を示し、距離が近いほど類似している。本実施形態においては、グラフ情報GR11における各ノードの距離を対応する各オブジェクト間の類似度とする。例えば、各ノードに対応する対象(移動経路)の類似性が、グラフ情報GR11内におけるノード間の距離として写像されているものとする。例えば、各ノードに対応する概念間の類似度が各ノード間の距離に写像されているものとする。ここで、図2に示す例においては、グラフ情報GR11における各ノード間の距離が短いオブジェクト同士の類似度が高く、グラフ情報GR11における各ノード間の距離が長いオブジェクト同士の類似度が低い。例えば、図2中のグラフ情報GR11において、ノードID「N1」により識別されるノードと、ノードID「N2」により識別されるノードとは近接している、すなわち距離が短い。そのため、ノードID「N1」により識別されるノードに対応するオブジェクトと、ノードID「N2」により識別されるノードに対応するオブジェクトとは類似度が高いことを示す。   Here, the distance between vector data shows the similarity of a movement path | route, and it is so similar that distance is short. In the present embodiment, the distance between the nodes in the graph information GR11 is set as the similarity between the corresponding objects. For example, it is assumed that the similarity of the target (movement route) corresponding to each node is mapped as the distance between the nodes in the graph information GR11. For example, it is assumed that the similarity between concepts corresponding to each node is mapped to the distance between the nodes. Here, in the example illustrated in FIG. 2, the similarity between objects with short distances between nodes in the graph information GR11 is high, and the similarity between objects with long distances between nodes in the graph information GR11 is low. For example, in the graph information GR11 in FIG. 2, the node identified by the node ID “N1” and the node identified by the node ID “N2” are close to each other, that is, the distance is short. Therefore, the object corresponding to the node identified by the node ID “N1” and the object corresponding to the node identified by the node ID “N2” have a high degree of similarity.

また、例えば、図2中のグラフ情報GR11において、ノードID「N7」により識別されるノードと、ノードID「N354」により識別されるノードとは遠隔にある、すなわち距離が長い。そのため、ノードID「N7」により識別されるノードに対応するオブジェクトと、ノードID「N354」により識別されるノードに対応するオブジェクトとは類似度が低いことを示す。   Further, for example, in the graph information GR11 in FIG. 2, the node identified by the node ID “N7” and the node identified by the node ID “N354” are remote, that is, the distance is long. Therefore, the similarity between the object corresponding to the node identified by the node ID “N7” and the object corresponding to the node identified by the node ID “N354” is low.

〔1−3.ベクトルの生成例〕
また、ここでいう、各ノード(ベクトル)は、各オブジェクト(移動経路)に対応する。移動経路情報(移動データ)が様々な移動の態様を示す数値データであれば、それをベクトルデータとして、そのまま扱うことも可能である。しかし、移動データに、テキスト、画像、または、音声といった情報が含まれる場合には、ベクトルデータへの変換が必要となる。そこで、図1及び図2の例では、各移動経路の移動データから抽出された特徴量により生成された多次元(N次元)のベクトルがオブジェクトであってもよい。
[1-3. Example of vector generation)
Also, each node (vector) here corresponds to each object (movement path). If the movement route information (movement data) is numerical data indicating various modes of movement, it can be handled as vector data as it is. However, when the moving data includes information such as text, image, or sound, conversion to vector data is required. Therefore, in the example of FIGS. 1 and 2, a multi-dimensional (N-dimensional) vector generated by the feature amount extracted from the movement data of each movement route may be an object.

例えば、情報処理装置100は、移動データの特徴を抽出するモデルを用いて各移動経路の移動データからN次元ベクトルを生成してもよい。図1及び図2の例では、情報処理装置100は、モデル情報記憶部126(図10参照)に示すように、モデルID「M1」により識別されるモデル(モデルM1)を用いて、各移動経路の移動データからベクトルを生成する。上記のように、「モデルM*(*は任意の数値)」と記載した場合、そのモデルはモデルID「M*」により識別されるモデルであることを示す。例えば、「モデルM1」と記載した場合、そのモデルはモデルID「M1」により識別されるモデルである。また、モデル情報記憶部126に示すように、モデルM1は用途「特徴抽出(移動経路)」、すなわち移動経路のデータからの特徴抽出のために用いられるモデルであり、その具体的なモデルデータが「モデルデータMDT1」であることを示す。   For example, the information processing apparatus 100 may generate an N-dimensional vector from the movement data of each movement route using a model that extracts the characteristics of the movement data. In the example of FIGS. 1 and 2, the information processing apparatus 100 uses each model (model M1) identified by the model ID “M1” as shown in the model information storage unit 126 (see FIG. 10). A vector is generated from the movement data of the route. As described above, when “model M * (* is an arbitrary numerical value)” is described, it indicates that the model is a model identified by the model ID “M *”. For example, when “model M1” is described, the model is a model identified by the model ID “M1”. Further, as shown in the model information storage unit 126, the model M1 is a model used for use “feature extraction (movement route)”, that is, feature extraction from movement route data. “Model data MDT1” is indicated.

例えば、情報処理装置100は、モデルM1に任意の移動経路の移動データを入力することにより、モデルM1中の各要素(ニューロン)の値を演算し、入力した移動データと同様の情報を出力する。例えば、情報処理装置100は、中間層の各要素(ニューロン)の値を特徴量として抽出し、各移動経路に対応するN次元のベクトルデータを生成してもよい。   For example, the information processing apparatus 100 calculates the value of each element (neuron) in the model M1 by inputting movement data of an arbitrary movement path to the model M1, and outputs the same information as the input movement data. . For example, the information processing apparatus 100 may extract the value of each element (neuron) in the intermediate layer as a feature amount and generate N-dimensional vector data corresponding to each movement path.

ここで、図13を用いて、各移動経路に対応するベクトルデータの生成の一例を示す。図13は、実施形態に係る特徴量の抽出の一例を示す図である。図13は、モデルM1の概念図である。なお、図13では、各要素(ニューロン)の各接続関係を示す線の図示を省略する。図13に示すように、モデルM1は、入力層ILと、中間層CLと、出力層OLとを含む。例えば、モデルM1の入力層ILは、移動データが入力される層である。また、出力層OLは、入力層ILへの入力に応じて、入力された移動データと同様の情報を出力される層である。   Here, an example of generation of vector data corresponding to each movement route will be described with reference to FIG. FIG. 13 is a diagram illustrating an example of feature amount extraction according to the embodiment. FIG. 13 is a conceptual diagram of the model M1. Note that in FIG. 13, illustration of lines indicating connection relationships of elements (neurons) is omitted. As shown in FIG. 13, the model M1 includes an input layer IL, an intermediate layer CL, and an output layer OL. For example, the input layer IL of the model M1 is a layer to which movement data is input. The output layer OL is a layer that outputs the same information as the input movement data in response to an input to the input layer IL.

また、例えば、中間層CLの中央部の最も圧縮された圧縮層RPは、入力された移動データの特徴を表現する層である。例えば、モデルM1の中間層CLにおいて、入力層ILから圧縮層RPまでの間は、エンコードの処理を行う部分に対応する。モデルM1の中間層CLにおいて、入力層ILから圧縮層RPまでの間は、入力された移動データの特徴を圧縮する処理を行う部分に対応する。例えば、モデルM1の中間層CLにおいて、圧縮層RPから出力層OLまでの間は、デコードの処理を行う部分に対応する。モデルM1の中間層CLにおいて、圧縮層RPから出力層OLまでの間は、圧縮された移動データを復元する処理を行う部分に対応する。   In addition, for example, the most compressed compression layer RP at the center of the intermediate layer CL is a layer that represents the characteristics of the input movement data. For example, in the intermediate layer CL of the model M1, the portion from the input layer IL to the compression layer RP corresponds to a portion where encoding processing is performed. In the intermediate layer CL of the model M1, the portion from the input layer IL to the compression layer RP corresponds to a portion that performs processing for compressing the characteristics of the input movement data. For example, in the intermediate layer CL of the model M1, the portion from the compression layer RP to the output layer OL corresponds to a portion that performs decoding processing. In the intermediate layer CL of the model M1, the portion from the compression layer RP to the output layer OL corresponds to a portion that performs a process of restoring the compressed movement data.

例えば、情報処理装置100は、圧縮層RPに含まれるニューロンNL1やニューロンNL2等の情報をベクトルに用いてもよい。例えば、情報処理装置100は、ある移動経路の移動データが入力された場合に、算出されるニューロンNL1に対応する値VE1やニューロンNL2に対応する値VE2をベクトルの要素(一の次元の値)として抽出してもよい。例えば、情報処理装置100は、ある移動経路の移動データが入力された場合に、算出されるニューロンNL1に対応する値VE1をその移動経路のベクトルの1次元目の要素として抽出してもよい。また、例えば、情報処理装置100は、ある移動経路の移動データが入力された場合に、算出されるニューロンNL2に対応する値VE2をその移動経路のベクトルの2次元目の要素として抽出してもよい。このように、情報処理装置100は、各移動経路の移動データをモデルM1に入力することにより、各移動経路に対応するベクトルを生成してもよい。なお、情報処理装置100は、各移動経路に対応するベクトルを情報提供装置50等の他の外部装置から取得してもよい。なお、情報処理装置100は、ベクトルの各要素として、各ニューロンに対応する値自体を用いてもよいし、各ニューロンに対応する値に所定の係数を乗算した値を用いてもよい。また、図1及び図2の例では説明を簡単にするために、ベクトルの各要素(値)が整数である場合を示すが、ベクトルの各要素(値)は、小数点以下の数値を含む実数であってもよい。   For example, the information processing apparatus 100 may use information such as the neuron NL1 and the neuron NL2 included in the compression layer RP as a vector. For example, when movement data of a certain movement path is input, the information processing apparatus 100 uses a vector element (one-dimensional value) as a value VE1 corresponding to the calculated neuron NL1 or a value VE2 corresponding to the neuron NL2. May be extracted as For example, when movement data of a certain movement route is input, the information processing apparatus 100 may extract the value VE1 corresponding to the calculated neuron NL1 as the first dimension element of the movement route vector. Further, for example, when movement data of a certain movement route is input, the information processing apparatus 100 extracts the value VE2 corresponding to the calculated neuron NL2 as the second dimension element of the vector of the movement route. Good. As described above, the information processing apparatus 100 may generate a vector corresponding to each movement route by inputting the movement data of each movement route to the model M1. Note that the information processing apparatus 100 may acquire a vector corresponding to each movement route from another external apparatus such as the information providing apparatus 50. Note that the information processing apparatus 100 may use, as each element of the vector, a value corresponding to each neuron itself, or a value obtained by multiplying a value corresponding to each neuron by a predetermined coefficient. In addition, in the examples of FIGS. 1 and 2, for the sake of simplicity of explanation, each element (value) of the vector is an integer, but each element (value) of the vector is a real number including a numerical value after the decimal point. It may be.

なお、情報処理装置100は、圧縮層RPの要素(ニューロン)に限らず、中間層CL中の他の要素(ニューロン)の情報をベクトルに用いてもよい。例えば、情報処理装置100は、エンコード部分のニューロンNL3やデコード部分のニューロンNL4等の情報をベクトルに用いてもよい。例えば、情報処理装置100は、ある移動経路の移動データが入力された場合に、算出されるニューロンNL3に対応する値VE3やニューロンNL4に対応する値VE4をベクトルの要素(一の次元の値)として抽出してもよい。なお、上記は、一例であり、情報処理装置100は、オートエンコーダに限らず、種々のモデルを用いて、移動データからの特徴抽出を行ってもよい。例えば、情報処理装置100は、特定の移動パターンに適合する移動経路(移動データ)と適合しない移動経路(移動データ)を識別するように学習させたモデルを生成して、その中間層をベクトルデータとして抽出しても良い。また、例えば、トリプレットロス(triplet loss)といった類似性を学習する方法によりモデルを生成しても良い。また、情報処理装置100は、モデルを用いずに、特徴抽出を行ってもよい。例えば、情報処理装置100は、情報処理装置100の管理者等が設定して特徴(素性)に対応する情報を移動データから抽出し、ベクトルを生成してもよい。例えば、情報処理装置100は、移動経路に対応する複数の位置情報やユーザがその移動経路を移動した際の速度等の特徴(素性)に対応する情報を移動データから抽出し、ベクトルを生成してもよい。   Note that the information processing apparatus 100 may use not only the elements (neurons) of the compression layer RP but also information on other elements (neurons) in the intermediate layer CL as vectors. For example, the information processing apparatus 100 may use information such as the neuron NL3 of the encoding part and the neuron NL4 of the decoding part as a vector. For example, when movement data of a certain movement route is input, the information processing apparatus 100 uses a vector element (a one-dimensional value) as a value VE3 corresponding to the neuron NL3 and a value VE4 corresponding to the neuron NL4 that are calculated. May be extracted as Note that the above is an example, and the information processing apparatus 100 may perform feature extraction from movement data using various models without being limited to an auto encoder. For example, the information processing apparatus 100 generates a model that learns to identify a movement path (movement data) that does not match a movement path (movement data) that conforms to a specific movement pattern, and uses the intermediate layer as vector data. It may be extracted as For example, the model may be generated by a method of learning similarity such as a triplet loss. Further, the information processing apparatus 100 may perform feature extraction without using a model. For example, the information processing apparatus 100 may generate a vector by extracting information corresponding to the feature (feature) set by the administrator of the information processing apparatus 100 from the movement data. For example, the information processing apparatus 100 extracts a plurality of position information corresponding to the movement route and information corresponding to features (features) such as speed when the user moves on the movement route from the movement data, and generates a vector. May be.

また、例えば、情報処理装置100は、情報提供装置50等の他の外部装置からモデルM1を取得してもよい。なお、情報処理装置100は、移動経路情報記憶部123(図7参照)に記憶された各移動経路の移動データMD1、MD2、MD354、MD512等を入力として、モデルM1を生成してもよい。例えば、端末装置10は、各移動経路の移動データMD1、MD2、MD354、MD512等を入力として、モデルM1を生成してもよい。例えば、移動データMD1、MD2、MD354、MD512等は、移動経路に対応する複数の位置情報やユーザがその移動経路を移動した際の速度等を含んでもよい。例えば、移動データMD1、MD2、MD354、MD512等の移動データは、対応ユーザの移動における始点から終点までの間に検知されたユーザの位置情報群やその位置情報群の各位置情報が検知された時間等に関する情報を含んでもよい。また、例えば、移動データは、対応ユーザの移動における始点から終点までの間の平均の移動速度や最高速度や最低速度等に関する情報を含んでもよい。また、例えば、移動データは、対応ユーザの移動において立ち止まったりする等により移動を中止した位置や時間や期間等に関する情報を含んでもよい。なお、上記は一例であり、移動データには、対応ユーザの移動において検知される種々の情報が含まれてもよい。   For example, the information processing apparatus 100 may acquire the model M1 from another external device such as the information providing apparatus 50. Note that the information processing apparatus 100 may generate the model M1 using the movement data MD1, MD2, MD354, MD512, and the like of each movement route stored in the movement route information storage unit 123 (see FIG. 7) as an input. For example, the terminal device 10 may generate the model M1 using the movement data MD1, MD2, MD354, MD512, and the like of each movement route as inputs. For example, the movement data MD1, MD2, MD354, MD512, and the like may include a plurality of pieces of position information corresponding to the movement path, speeds when the user moves along the movement path, and the like. For example, in the movement data such as movement data MD1, MD2, MD354, and MD512, the position information group of the user detected from the start point to the end point in the movement of the corresponding user and each position information of the position information group are detected. Information about time etc. may be included. Further, for example, the movement data may include information on an average movement speed, a maximum speed, a minimum speed, and the like between the start point and the end point in the movement of the corresponding user. In addition, for example, the movement data may include information on the position, time, period, or the like where the movement is stopped due to, for example, stopping in the movement of the corresponding user. Note that the above is an example, and the movement data may include various information detected in the movement of the corresponding user.

情報処理装置100は、移動経路の移動経路情報(移動データ)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された移動経路情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するモデルM1を生成してもよい。なお、情報処理装置100は、ベクトル生成に用いるモデルを情報提供装置50等の他の外部装置から取得してもよい。   The information processing apparatus 100 includes an input layer to which movement route information (movement data) of a movement route is input, an output layer, and any layer from the input layer to the output layer and belonging to layers other than the output layer. Each element belonging to each layer other than the output layer with respect to the movement path information input to the input layer, including one element and a second element whose value is calculated based on the first element and the weight of the first element The model M1 that outputs the same information as the information input to the input layer from the output layer may be generated by performing the calculation based on the first element and the weight of the first element with the element as the first element. . Note that the information processing apparatus 100 may acquire a model used for vector generation from another external apparatus such as the information providing apparatus 50.

〔1−4.処理例〕
ここから、情報処理装置100は、ユーザから一のユーザの移動の移動データを取得し、一のユーザの移動に類似する移動経路に関する情報提供を行う場合を一例として説明する。図1及び図2の例では、端末装置10は、所定の管理者であるユーザU1により利用される。例えば、ユーザU1は、所定のエリアを散策しているユーザであってもよい。図1及び図2の例では、ユーザU1が散策している所定のエリアでの立ち寄りスポットの情報を所望する場合を示す。
[1-4. Processing example)
From here, the information processing apparatus 100 will be described by taking as an example a case where movement data of one user's movement is obtained from the user and information relating to a movement route similar to the movement of the one user is provided. In the example of FIGS. 1 and 2, the terminal device 10 is used by a user U1 who is a predetermined administrator. For example, the user U1 may be a user who is walking around a predetermined area. In the example of FIG.1 and FIG.2, the case where the user U1 desires the information of the stop spot in the predetermined area where he walks is shown.

まず、図1に示すエリア情報AR1について、簡単に説明する。図1の例では、エリア情報AR1は所定のエリアを模式的に示す図であり、ユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)が利用する端末装置10から取得する位置情報等の種々の移動データを用いて、ユーザU1に立ち寄りスポットを推奨する場合を示す。図1の例では、情報処理装置100は、ユーザU1が利用する端末装置10が有するGPSセンサ等の機能により、ユーザU1が利用する端末装置10の位置を取得する。図1中のエリア情報AR1には、所定のエリアにおけるユーザU1の移動におけるルートRT10や、所定のエリアに位置するPOI(関心地点:Point of Interest)等を模式的に示す。図1に示すエリア情報AR1は、ユーザU1の位置や所定のエリアに位置するPOIである各スポットSP1〜SP3等の位置を模式的に示す。   First, the area information AR1 shown in FIG. 1 will be briefly described. In the example of FIG. 1, the area information AR1 is a diagram schematically showing a predetermined area, and is a terminal device used by a user identified by a user ID “U1” (hereinafter sometimes referred to as “user U1”). 10 shows a case where a stop spot is recommended to the user U1 using various pieces of movement data such as position information acquired from 10. In the example of FIG. 1, the information processing apparatus 100 acquires the position of the terminal device 10 used by the user U1 by using a function such as a GPS sensor included in the terminal device 10 used by the user U1. The area information AR1 in FIG. 1 schematically shows a route RT10 in the movement of the user U1 in a predetermined area, a POI (Point of Interest) located in the predetermined area, and the like. The area information AR1 shown in FIG. 1 schematically shows the position of the user U1 and the positions of the spots SP1 to SP3 that are POIs located in a predetermined area.

図1の例では、ユーザU1は、ルートRT10を移動することにより、位置LC10から位置LC15まで移動する。なお、図1の例では位置情報LC10、LC3等の抽象的な符号で図示するが、位置情報は、具体的な緯度や経度を示す情報(緯度経度情報)等であってもよい。また、以下、「位置情報LC*(*は任意の数等の文字列)」を「位置LC*」と記載する場合がある。例えば、「位置LC1」と記載した場合、その位置は位置情報LC1に対応する位置であることを示す。   In the example of FIG. 1, the user U1 moves from the position LC10 to the position LC15 by moving along the route RT10. In the example of FIG. 1, although illustrated with abstract codes such as position information LC10 and LC3, the position information may be information (latitude / longitude information) indicating specific latitude and longitude. Hereinafter, “position information LC * (* is a character string such as an arbitrary number)” may be referred to as “position LC *”. For example, when “position LC1” is described, it indicates that the position corresponds to the position information LC1.

例えば、ユーザU1は、ルートRT10の始点である位置LC10からルートRT10の終点である位置LC15まで移動する。例えば、端末装置10は、GPSセンサ等の種々のセンサにより、ユーザU1がルートRT10を移動する際の位置情報を検知(収集)する。例えば、端末装置10は、GPSセンサ等の種々のセンサにより、ユーザU1がルートRT10を移動する際の複数の位置情報を検知(収集)する。例えば、端末装置10は、GPSセンサ等の種々のセンサにより、ユーザU1がルートRT10を移動する際の位置情報を検知し、位置情報とその位置情報の検知日時の組合せを収集する。例えば、端末装置10は、ユーザU1がルートRT10を移動する際の位置情報とその位置情報の検知日時の組合せにより、ユーザU1の移動速度やどの位置にどの日時に位置したかを特定する。また、例えば、端末装置10は、ユーザU1がルートRT10を移動する際の位置情報の検知日時の組合せにより、ユーザU1がルートRT10を移動する際の日時等の時刻情報を特定する。また、例えば、端末装置10は、ユーザU1がルートRT10を移動する際の位置情報とその位置情報の検知日時の組合せにより、ユーザU1がルートRT10を移動する際の天候等の気象情報を特定する。例えば、端末装置10は、インストール済みの所定のアプリケーションにより、ユーザU1がルートRT10を移動する際の移動データを取得してもよい。   For example, the user U1 moves from the position LC10 that is the start point of the route RT10 to the position LC15 that is the end point of the route RT10. For example, the terminal device 10 detects (collects) position information when the user U1 moves along the route RT10 using various sensors such as a GPS sensor. For example, the terminal device 10 detects (collects) a plurality of pieces of position information when the user U1 moves along the route RT10 using various sensors such as a GPS sensor. For example, the terminal device 10 detects position information when the user U1 moves along the route RT10 using various sensors such as a GPS sensor, and collects a combination of the position information and the detection date and time of the position information. For example, the terminal device 10 identifies the moving speed of the user U1 and the position and date of the user U1 based on the combination of the position information when the user U1 moves along the route RT10 and the detection date and time of the position information. In addition, for example, the terminal device 10 specifies time information such as the date and time when the user U1 moves the route RT10 based on the combination of the detection date and time of the position information when the user U1 moves the route RT10. Further, for example, the terminal device 10 specifies weather information such as weather when the user U1 moves the route RT10 by a combination of the position information when the user U1 moves the route RT10 and the detection date and time of the position information. . For example, the terminal device 10 may acquire movement data when the user U1 moves along the route RT10 by a predetermined application that has been installed.

そして、端末装置10は、ユーザU1が位置LC10から位置LC15まで移動する際の移動経路情報を情報処理装置100に送信する。端末装置10は、ユーザU1が位置LC10から位置LC15まで移動する間に検知した位置情報等の種々の情報を含む移動データMD10を情報処理装置100に送信する。例えば、端末装置10は、ユーザU1が位置LC10から位置LC15まで移動した際の位置情報群や移動速度や気象情報や時刻情報等の種々の情報を含む移動データMD10を情報処理装置100に送信する。なお、端末装置10は、リアルタイムにセンサにより検知された移動データを情報処理装置100に送信してもよい。例えば、端末装置10は、センサにより検知される度に随時移動データを情報処理装置100に送信してもよい。また、図1の例では、端末装置10は、ユーザU1を特定するユーザ情報を送信する。例えば、端末装置10は、ユーザU1を特定する情報として、ユーザID「U1」を情報処理装置100に送信する。   Then, the terminal device 10 transmits to the information processing device 100 movement path information when the user U1 moves from the position LC10 to the position LC15. The terminal device 10 transmits movement data MD10 including various information such as position information detected while the user U1 moves from the position LC10 to the position LC15 to the information processing apparatus 100. For example, the terminal apparatus 10 transmits to the information processing apparatus 100 movement data MD10 including various information such as a position information group, movement speed, weather information, and time information when the user U1 moves from the position LC10 to the position LC15. . Note that the terminal device 10 may transmit movement data detected by the sensor in real time to the information processing device 100. For example, the terminal device 10 may transmit movement data to the information processing apparatus 100 as needed every time it is detected by a sensor. In the example of FIG. 1, the terminal device 10 transmits user information that identifies the user U1. For example, the terminal apparatus 10 transmits a user ID “U1” to the information processing apparatus 100 as information for specifying the user U1.

そして、情報処理装置100は、ユーザU1が利用する端末装置10から移動経路情報を取得する(ステップS11)。例えば、情報処理装置100は、ユーザU1が利用する端末装置10から移動データMD10を取得する。例えば、情報処理装置100は、ユーザU1が位置LC10から位置LC15まで移動した際の位置情報群や移動速度や気象情報や時刻情報等の種々の情報を含む移動データMD10を取得する。図1の例では、情報処理装置100は、ユーザU1が位置LC10から位置LC15まで移動した際に検知された位置情報群や、位置LC10から位置LC15まで移動した際の時刻が12時等の昼の時間帯であることを示す情報を取得する。なお、情報処理装置100は、ユーザU1が位置LC10から位置LC15まで移動した際の天候が晴れであったことを示す気象情報を、端末装置10から取得してもよい。   Then, the information processing apparatus 100 acquires travel route information from the terminal device 10 used by the user U1 (step S11). For example, the information processing apparatus 100 acquires the movement data MD10 from the terminal device 10 used by the user U1. For example, the information processing apparatus 100 acquires movement data MD10 including various information such as a position information group, a moving speed, weather information, and time information when the user U1 moves from the position LC10 to the position LC15. In the example of FIG. 1, the information processing apparatus 100 includes a position information group detected when the user U1 moves from the position LC10 to the position LC15, and a daytime when the time when the user U1 moves from the position LC10 to the position LC15 is 12:00. Information indicating that it is the time zone of is acquired. Note that the information processing apparatus 100 may acquire weather information indicating that the weather when the user U1 has moved from the position LC10 to the position LC15 was clear from the terminal apparatus 10.

また、情報処理装置100は、ユーザU1を特定する情報と、ユーザ情報記憶部122に記憶されたユーザU1の属性情報に基づいて、ユーザU1が20代男性であることを特定する。なお、情報処理装置100は、ユーザU1が20代男性であることを示す情報を端末装置10から取得してもよい。   Further, the information processing apparatus 100 specifies that the user U1 is a male in his twenties based on information specifying the user U1 and attribute information of the user U1 stored in the user information storage unit 122. Note that the information processing apparatus 100 may acquire information indicating that the user U1 is a male in his 20s from the terminal apparatus 10.

なお、情報処理装置100は、ユーザU1のルートRT10の移動における位置情報とその位置情報の検知日時の組合せを端末装置10から取得してもよい。この場合、例えば、情報処理装置100は、ユーザU1がルートRT10を移動する際の位置情報とその位置情報の検知日時の組合せにより、ユーザU1の移動速度やどの位置にどの日時に位置したかを特定してもよい。また、例えば、情報処理装置100は、ユーザU1がルートRT10を移動する際の位置情報の検知日時の組合せにより、ユーザU1がルートRT10を移動する際の日時等の時刻情報を特定してもよい。また、例えば、情報処理装置100は、ユーザU1がルートRT10を移動する際の位置情報とその位置情報の検知日時の組合せにより、ユーザU1がルートRT10を移動する際の天候等の気象情報を特定してもよい。例えば、情報処理装置100は、気象情報を提供する外部装置に、ユーザU1がルートRT10を移動する際の位置情報とその位置情報の検知日時とを送信することにより、外部装置から気象情報を取得してもよい。   In addition, the information processing apparatus 100 may acquire the combination of the position information and the detection date and time of the position information in the movement of the user U1 on the route RT10 from the terminal apparatus 10. In this case, for example, the information processing apparatus 100 determines the moving speed of the user U1 and the position and date of the user U1 based on the combination of the position information when the user U1 moves along the route RT10 and the detection date and time of the position information. You may specify. In addition, for example, the information processing apparatus 100 may specify time information such as the date and time when the user U1 moves the route RT10 based on the combination of the position information detection date and time when the user U1 moves the route RT10. . Further, for example, the information processing apparatus 100 specifies weather information such as weather when the user U1 moves the route RT10 based on a combination of the position information when the user U1 moves the route RT10 and the detection date and time of the position information. May be. For example, the information processing apparatus 100 acquires the weather information from the external apparatus by transmitting the position information when the user U1 moves along the route RT10 and the detection date and time of the position information to the external apparatus that provides the weather information. May be.

そして、情報処理装置100は、類似移動経路を抽出する抽出処理を行う(ステップS12)。情報処理装置100は、取得したユーザU1の移動データに基づいて、ユーザU1の移動に類似する類似移動経路を抽出する抽出処理を行う。図1の例では、情報処理装置100は、移動データMD10を用いて抽出処理を行う。   Then, the information processing apparatus 100 performs an extraction process for extracting a similar movement route (step S12). The information processing apparatus 100 performs an extraction process of extracting a similar movement route similar to the movement of the user U1 based on the acquired movement data of the user U1. In the example of FIG. 1, the information processing apparatus 100 performs an extraction process using the movement data MD10.

ここから、図2を用いて、抽出処理の具体例を説明する。図2に示すように、情報処理装置100は、一のユーザの移動に対応する移動データからグラフ情報の探索に用いるベクトルを生成する。図2の例では、情報処理装置100は、処理群PS11に示すような処理により、ユーザU1のルートRT10における移動(以下、「ユーザU1の移動」とする場合がある)に対応するベクトルを生成する。情報処理装置100は、ユーザU1の移動に関する移動データMD10をモデルM1に入力する(ステップS12−1)。具体的には、情報処理装置100は、ユーザU1の移動の移動データMD10をモデルM1に入力する。そして、情報処理装置100は、移動データMD10の入力後のモデルM1中の情報を用いて、ベクトルを生成する(ステップS12−2)。例えば、情報処理装置100は、移動データMD10が入力されたモデルM1中の各要素を用いて、ベクトルデータを生成する。   From here, the specific example of an extraction process is demonstrated using FIG. As illustrated in FIG. 2, the information processing apparatus 100 generates a vector used for searching for graph information from movement data corresponding to movement of one user. In the example of FIG. 2, the information processing apparatus 100 generates a vector corresponding to the movement of the user U1 on the route RT10 (hereinafter, may be referred to as “movement of the user U1”) by the process shown in the processing group PS11. To do. The information processing apparatus 100 inputs movement data MD10 relating to movement of the user U1 to the model M1 (step S12-1). Specifically, the information processing apparatus 100 inputs movement data MD10 of movement of the user U1 to the model M1. And the information processing apparatus 100 produces | generates a vector using the information in the model M1 after the input of the movement data MD10 (step S12-2). For example, the information processing apparatus 100 generates vector data using each element in the model M1 to which the movement data MD10 is input.

図2の例では、情報処理装置100は、移動データMD10が入力されたモデルM1中の各要素の値を用いて、ベクトルデータVD10(単に「ベクトルVD10」ともいう)を生成する。例えば、情報処理装置100は、ユーザU1の移動の移動データMD10が入力された場合における、モデルM1のニューロンNL1に対応する値VE1(図13参照)やニューロンNL2に対応する値VE2(図13参照)を用いて、ベクトルを生成する。例えば、情報処理装置100は、ユーザU1の移動の移動データMD10が入力された場合に、算出されるニューロンNL1に対応する値VE1をベクトルVD10の1次元目の要素として抽出してもよい。また、例えば、情報処理装置100は、ある移動経路の移動データが入力された場合に、算出されるニューロンNL2に対応する値VE2をベクトルVD10の2次元目の要素として、ベクトルVD10を生成する。図2の例では、情報処理装置100は、1次元目の要素が「3」であり、2次元目の要素が「2」であるようなベクトルVD10を生成する。   In the example of FIG. 2, the information processing apparatus 100 generates vector data VD10 (also simply referred to as “vector VD10”) using the values of the elements in the model M1 to which the movement data MD10 is input. For example, the information processing apparatus 100 receives the value VE1 (see FIG. 13) corresponding to the neuron NL1 of the model M1 and the value VE2 (see FIG. 13) corresponding to the neuron NL2 when the movement data MD10 of the movement of the user U1 is input. ) To generate a vector. For example, when the movement data MD10 of the movement of the user U1 is input, the information processing apparatus 100 may extract the value VE1 corresponding to the calculated neuron NL1 as the first dimension element of the vector VD10. For example, when movement data of a certain movement route is input, the information processing apparatus 100 generates the vector VD10 using the calculated value VE2 corresponding to the neuron NL2 as a second-dimensional element of the vector VD10. In the example of FIG. 2, the information processing apparatus 100 generates a vector VD10 in which the first dimension element is “3” and the second dimension element is “2”.

そして、情報処理装置100は、ユーザU1の移動に類似する移動経路(類似移動経路)を検索する(ステップS12−3)。例えば、情報処理装置100は、非特許文献1に開示されるような近傍検索の技術等の種々の従来技術を適宜用いて、ユーザU1の移動の類似移動経路を検索してもよい。   Then, the information processing apparatus 100 searches for a movement route (similar movement route) similar to the movement of the user U1 (step S12-3). For example, the information processing apparatus 100 may search for a similar movement route of the movement of the user U1 by appropriately using various conventional techniques such as the technique of neighborhood search disclosed in Non-Patent Document 1.

図2の例では、情報処理装置100は、情報群INF11に示すように、グラフ情報GR11やインデックス情報IND11を用いてユーザU1の移動の類似移動経路を検索する。例えば、情報処理装置100は、グラフ情報記憶部125(図9参照)から移動経路に関するグラフ情報GR11を取得する。また、例えば、情報処理装置100は、インデックス情報記憶部124(図8参照)から、グラフ情報GR11における検索の起点となるノード(以下、「起点ベクトル」ともいう)の決定に用いるインデックス情報IND11を取得する。なお、インデックス情報IND11は、情報処理装置100が生成してもよいし、情報処理装置100は、インデックス情報IND11を情報提供装置50等の他の外部装置から取得してもよい。   In the example of FIG. 2, the information processing apparatus 100 searches for a similar movement route of the movement of the user U1 using the graph information GR11 and the index information IND11 as shown in the information group INF11. For example, the information processing apparatus 100 acquires the graph information GR11 regarding the travel route from the graph information storage unit 125 (see FIG. 9). Further, for example, the information processing apparatus 100 uses the index information storage unit 124 (see FIG. 8) to obtain the index information IND11 used to determine the node (hereinafter also referred to as “starting vector”) that is the starting point of the search in the graph information GR11. get. Note that the index information IND11 may be generated by the information processing apparatus 100, or the information processing apparatus 100 may acquire the index information IND11 from another external device such as the information providing apparatus 50.

そして、情報処理装置100は、一のユーザの移動(クエリ)に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。図2の例では、情報処理装置100は、ユーザU1の移動のベクトルVD10に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。すなわち、情報処理装置100は、ベクトルVD10とインデックス情報IND11とを用いて、グラフ情報GR11における起点ベクトルを決定する。   The information processing apparatus 100 uses the index information IND11 in order to determine (specify) the starting point vector corresponding to the movement (query) of one user. In the example of FIG. 2, the information processing apparatus 100 uses the index information IND11 in order to determine (specify) the starting point vector corresponding to the movement vector VD10 of the user U1. That is, the information processing apparatus 100 determines the starting vector in the graph information GR11 using the vector VD10 and the index information IND11.

図2中のインデックス情報IND11は、図8中のインデックス情報記憶部124に示す階層構造を有する。例えば、インデックス情報IND11は、ルートRTの直下に位置する第1階層のノード(ベクトル)が、節点VT1、VT2等であることを示す。また、例えば、インデックス情報IND11は、節点VT2の直下の第2階層のノードが、節点VT2−1〜VT2−4(図示せず)であることを示す。また、例えば、インデックス情報IND11は、節点VT2−2の直下の第3階層のノードが、ノードN1、ノードN2、ノードN5、すなわちグラフ情報GR11中のノード(ベクトル)であることを示す。   The index information IND11 in FIG. 2 has a hierarchical structure shown in the index information storage unit 124 in FIG. For example, the index information IND11 indicates that the first layer nodes (vectors) located immediately below the route RT are the nodes VT1, VT2, and the like. Further, for example, the index information IND11 indicates that the nodes in the second layer immediately below the node VT2 are nodes VT2-1 to VT2-4 (not shown). For example, the index information IND11 indicates that the nodes in the third hierarchy immediately below the node VT2-2 are the nodes N1, N2, and N5, that is, the nodes (vectors) in the graph information GR11.

例えば、情報処理装置100は、図2中のインデックス情報IND11に示すような木構造型のインデックス情報を用いて、グラフ情報GR11における起点ベクトルを決定する(ステップS12−4)。図2の例では、情報処理装置100は、ベクトルVD10を生成した後、インデックス情報IND11を上から下へ辿ることにより、インデックス情報IND11の近傍候補となる起点ベクトルを特定することにより、効率的に検索クエリ(一のユーザの移動データ)に対応する起点ベクトルを決定することができる。   For example, the information processing apparatus 100 determines a starting point vector in the graph information GR11 using tree structure type index information as indicated by the index information IND11 in FIG. 2 (step S12-4). In the example of FIG. 2, the information processing apparatus 100 generates the vector VD10 and then traces the index information IND11 from the top to the bottom, thereby efficiently specifying the starting vector that is a neighborhood candidate for the index information IND11. A starting vector corresponding to the search query (movement data of one user) can be determined.

例えば、情報処理装置100は、インデックス情報IND11をルートRTからリーフノード(グラフ情報GR11中のノード(ベクトル))まで辿ることにより、ベクトルVD10に対応する起点ベクトルを決定してもよい。図2の例では、例えば、情報処理装置100は、インデックス情報IND11をルートRTからノードN2まで辿ることにより、ノードN2を起点ベクトルとして決定する。例えば、情報処理装置100は、木構造に関する種々の従来技術を適宜用いて、インデックス情報IND11をルートRTからリーフノードまで辿ることにより、辿りついたリーフノードを起点ベクトルとして決定してもよい。   For example, the information processing apparatus 100 may determine the starting vector corresponding to the vector VD10 by tracing the index information IND11 from the root RT to the leaf node (node (vector) in the graph information GR11). In the example of FIG. 2, for example, the information processing apparatus 100 determines the node N2 as a starting vector by tracing the index information IND11 from the route RT to the node N2. For example, the information processing apparatus 100 may determine the leaf node that has reached the origin vector by tracing the index information IND11 from the root RT to the leaf node by appropriately using various conventional techniques related to the tree structure.

例えば、情報処理装置100は、ベクトルVD10との類似度に基づいて、インデックス情報IND11を下へ辿ることにより、起点ベクトルを決定してもよい。例えば、情報処理装置100は、ルートRTから節点VT1、VT2等のいずれの節点に辿るかを、ベクトルVD10と節点VT1、VT2との類似度に基づいて決定してもよい。例えば、情報処理装置100は、ルートRTから節点VT1、VT2等のうち、ベクトルVD10との類似度が最も高い節点VT2へ辿ると決定してもよい。また、例えば、情報処理装置100は、節点VT2から節点VT2−1〜VT2−4等のうち、ベクトルVD10との類似度が最も高い節点VT2−2へ辿ると決定してもよい。また、例えば、情報処理装置100は、節点VT2−2からノードN1、N2、N5等のうち、ベクトルVD10との類似度が最も高い節点ノードN2へ辿ると決定してもよい。   For example, the information processing apparatus 100 may determine the starting point vector by tracing down the index information IND11 based on the similarity with the vector VD10. For example, the information processing apparatus 100 may determine which node such as the nodes VT1 and VT2 is to be traced from the route RT based on the similarity between the vector VD10 and the nodes VT1 and VT2. For example, the information processing apparatus 100 may determine to trace from the route RT to the node VT2 having the highest similarity to the vector VD10 among the nodes VT1, VT2, and the like. In addition, for example, the information processing apparatus 100 may determine to trace from the node VT2 to the node VT2-2 having the highest similarity with the vector VD10 among the nodes VT2-1 to VT2-4. Further, for example, the information processing apparatus 100 may determine to trace from the node VT2-2 to the node node N2 having the highest similarity to the vector VD10 among the nodes N1, N2, and N5.

なお、図2の例では、説明を簡単にするために、起点ベクトルを1つ決定する場合を示すが、情報処理装置100は、複数個の起点ベクトルを決定してもよい。例えば、情報処理装置100は、ノードN1、N2、N5等の複数個のベクトル(ノード)を起点ベクトルとして決定してもよい。なお、インデックス情報IND11を用いずに、検索開始時にグラフ情報GR11からランダムに1つ以上のノードを選択し、それを起点ベクトルとしてもよいし、または、予め指定された1つ以上のノードを起点ベクトルとしても良い。   In the example of FIG. 2, for simplicity of explanation, a case where one starting point vector is determined is shown, but the information processing apparatus 100 may determine a plurality of starting point vectors. For example, the information processing apparatus 100 may determine a plurality of vectors (nodes) such as the nodes N1, N2, and N5 as the starting point vectors. Note that one or more nodes may be selected at random from the graph information GR11 at the start of the search without using the index information IND11, and may be used as a starting point vector, or one or more nodes specified in advance may be used as starting points. It can be a vector.

そして、情報処理装置100は、グラフ情報GR11を検索することにより、ユーザU1の移動の類似移動経路を抽出する(ステップS12−5)。例えば、情報処理装置100は、ノードN2の近傍に位置するノードを類似移動経路として抽出する。例えば、情報処理装置100は、ノードN2からの距離が近いノードを類似移動経路として抽出する。例えば、情報処理装置100は、ノードN2を起点として、エッジを辿ることにより、ノードN2から到達可能なノードを類似移動経路として抽出する。例えば、情報処理装置100は、所定数(例えば、2個や10個等)のノードを類似移動経路として抽出する。例えば、情報処理装置100は、図14に示すような検索処理により、ユーザU1の移動の類似移動経路を抽出してもよいが、詳細は後述する。図2の例では、情報処理装置100は、ノードN2を起点として、グラフ情報GR11を探索することにより、ノードN2やノードN1やノードN512等を類似移動経路として抽出する。   Then, the information processing apparatus 100 searches the graph information GR11 to extract a similar movement route for the movement of the user U1 (step S12-5). For example, the information processing apparatus 100 extracts a node located in the vicinity of the node N2 as a similar movement route. For example, the information processing apparatus 100 extracts a node having a short distance from the node N2 as a similar movement route. For example, the information processing apparatus 100 extracts a node that can be reached from the node N2 as a similar movement route by tracing the edge from the node N2. For example, the information processing apparatus 100 extracts a predetermined number (for example, 2 or 10) of nodes as similar movement paths. For example, the information processing apparatus 100 may extract a similar movement route of the movement of the user U1 by a search process as illustrated in FIG. 14, but details will be described later. In the example of FIG. 2, the information processing apparatus 100 extracts the node N2, the node N1, the node N512, and the like as a similar movement route by searching the graph information GR11 with the node N2 as a starting point.

これにより、情報処理装置100は、図1中の移動経路情報記憶部123に示すように、類似移動経路を抽出する。例えば、情報処理装置100は、ユーザU99の移動に対応する移動経路MP1や、ユーザU51の移動に対応する移動経路MP2や、ユーザU21の移動に対応する移動経路MP512等を抽出する。図1中の移動経路情報記憶部123に示すように、各ユーザの移動経路には、その移動経路に対応する移動後にユーザが訪問した訪問地点(立ち寄りスポット)が対応づけられている。   Thereby, the information processing apparatus 100 extracts a similar movement route as shown in the movement route information storage unit 123 in FIG. For example, the information processing apparatus 100 extracts a movement route MP1 corresponding to the movement of the user U99, a movement route MP2 corresponding to the movement of the user U51, a movement route MP512 corresponding to the movement of the user U21, and the like. As shown in the movement route information storage unit 123 in FIG. 1, each user's movement route is associated with a visit point (stop-on spot) visited by the user after the movement corresponding to the movement route.

そして、情報処理装置100は、抽出した類似移動経路に対応付けられた訪問地点に基づいて、対応訪問地点を抽出する(ステップS13)。例えば、情報処理装置100は、抽出した類似移動経路に対応付けられた訪問地点のうち、ユーザU1の属性に類似する属性のユーザの移動経路に対応付けられた訪問地点を抽出する。また、例えば、情報処理装置100は、抽出した類似移動経路に対応付けられた訪問地点のうち、ユーザU1の移動の時間帯と類似する時間帯におけるユーザの移動経路に対応付けられた訪問地点を抽出する。   Then, the information processing apparatus 100 extracts a corresponding visit point based on the visit point associated with the extracted similar movement route (step S13). For example, the information processing apparatus 100 extracts a visit point associated with the user's travel route having an attribute similar to the attribute of the user U1 from the visit points associated with the extracted similar travel route. Further, for example, the information processing apparatus 100 selects a visit point associated with the user's travel route in a time zone similar to the travel time zone of the user U1 among the visit points associated with the extracted similar travel route. Extract.

図1の例では、情報処理装置100は、ユーザの属性が20代男性であり、移動の時間帯が昼である移動経路に対応付けられた訪問地点を対応訪問地点として抽出する。この場合、情報処理装置100は、20代男性のユーザU99が昼に移動した際の訪問地点であるスポットSP2を対応訪問地点として抽出する。また、情報処理装置100は、20代男性のユーザU21が昼に移動した際の訪問地点であるスポットSP2を対応訪問地点として抽出する。また、図1の例では、他にも、情報処理装置100は、20代男性のユーザU111が昼に移動した際の訪問地点であるスポットSP1等も対応訪問地点として抽出する。また、情報処理装置100は、20代女性のユーザU51が夜に移動した際の訪問地点であるスポットSP3を対応訪問地点として抽出しない。   In the example of FIG. 1, the information processing apparatus 100 extracts a visit point associated with a travel route in which the user attribute is a male in his twenties and the travel time zone is daytime as a corresponding visit point. In this case, the information processing apparatus 100 extracts a spot SP2 that is a visit point when a user U99 of a male in his twenties moves in the daytime as a corresponding visit point. In addition, the information processing apparatus 100 extracts a spot SP2 that is a visit point when a user U21 of a male in his twenties moves in the daytime as a corresponding visit point. In addition, in the example of FIG. 1, the information processing apparatus 100 also extracts a spot SP <b> 1, which is a visit point when a male user U111 in his twenties moves in the daytime, as a corresponding visit point. Further, the information processing apparatus 100 does not extract the spot SP3, which is a visit point when a female U51 in the 20s moves at night, as a corresponding visit point.

これにより、情報処理装置100は、類似移動経路のうち、ユーザU1の属性やユーザU1の移動時のコンテキスト情報と類似性のある移動における訪問地点を対応訪問地点として抽出する。図1の例では、情報処理装置100は、POI情報記憶部121に示すように、スポットSP2を対応訪問地点として最も多く抽出する。   As a result, the information processing apparatus 100 extracts, as the corresponding visit points, the visit points in the movement similar to the attribute of the user U1 and the context information when the user U1 moves, from the similar movement routes. In the example of FIG. 1, the information processing apparatus 100 extracts the spot SP2 as the corresponding visited point most, as shown in the POI information storage unit 121.

そして、情報処理装置100は、抽出した対応訪問地点に基づいて、推奨地点を決定する(ステップS14)。例えば、情報処理装置100は、抽出した対応訪問地点中のスポットのうち、最多の訪問地点を推奨地点に決定する。図1の例では、情報処理装置100は、スポットSP2を推奨地点に決定する。   Then, the information processing apparatus 100 determines a recommended spot based on the extracted corresponding visited spot (step S14). For example, the information processing apparatus 100 determines the most visited points among the extracted corresponding visited points as recommended points. In the example of FIG. 1, the information processing apparatus 100 determines the spot SP2 as a recommended spot.

そして、情報処理装置100は、決定した推奨地点に関する情報を提供する(ステップS15)。図1の例では、情報処理装置100は、スポットSP2が推奨地点であることを示す推奨地点情報をユーザU1が利用する端末装置10に送信する。これにより、情報処理装置100は、スポットSP2がユーザU1の移動において最適な立ち寄りスポットであることを示す推奨地点情報をユーザU1が利用する端末装置10に提供する。   Then, the information processing apparatus 100 provides information regarding the determined recommended spot (step S15). In the example of FIG. 1, the information processing apparatus 100 transmits recommended spot information indicating that the spot SP2 is a recommended spot to the terminal device 10 used by the user U1. Thereby, the information processing apparatus 100 provides the recommended spot information indicating that the spot SP2 is the optimum stop spot in the movement of the user U1 to the terminal apparatus 10 used by the user U1.

上述したように、情報処理装置100は、グラフ情報GR11やインデックス情報IND11を用いて、ユーザU1から取得したユーザU1の移動の類似移動経路を抽出する。例えば、情報処理装置100は、インデックス情報IND11を用いて、ユーザU1の移動の類似移動経路を抽出する際のグラフ情報GR11における起点ベクトルを決定する。そして、情報処理装置100は、決定した起点ベクトルを起点としてグラフ情報GR11を探索することにより、ユーザU1の移動の類似移動経路を抽出する。   As described above, the information processing apparatus 100 extracts the similar movement route of the movement of the user U1 acquired from the user U1 using the graph information GR11 and the index information IND11. For example, the information processing apparatus 100 uses the index information IND11 to determine a starting vector in the graph information GR11 when extracting a similar movement route for the movement of the user U1. Then, the information processing apparatus 100 extracts the similar movement route of the movement of the user U1 by searching the graph information GR11 using the determined starting point vector as a starting point.

そして、情報処理装置100は、抽出した類似移動経路に対応付けられた訪問地点の情報に基づいて、ユーザU1に推奨する立ち寄りスポットを決定し、その情報をユーザU1が利用する端末装置10へ送信する。これにより、情報処理装置100は、ユーザの移動に応じて適切な推奨を行うことができる。   Then, the information processing apparatus 100 determines a stop spot recommended for the user U1 based on the information on the visited point associated with the extracted similar movement route, and transmits the information to the terminal apparatus 10 used by the user U1. To do. Thereby, the information processing apparatus 100 can make an appropriate recommendation according to the movement of the user.

例えば、ディープラーニングといった手法で、各ユーザの移動経路に対応する訪問地点を識別するという方法もあるが、移動経路に対応する多種多様な訪問地点が存在する場合においては、各訪問地点の事例が少ないので、学習ができずに識別精度を向上させることが難しいという問題がある。例えば、ディープラーニングといった学習手法で生成したモデルを用いて、そのモデルに移動経路の情報を入力し、出力されたスコアからその移動経路が所定の訪問地点に適するかを識別するという方法もあるが、多種多様な訪問地点が存在する場合においては、各訪問地点の事例が少ないため、モデルの精度を向上させることが難しく、識別精度を向上させることが難しい。一方で、情報処理装置100は、移動経路情報(移動データ)の各要素から抽出した特徴を基に生成した複数のベクトルのグラフ構造化したグラフ情報を用いて検索を行うことにより、ある移動経路に類似する類似移動経路を適切に抽出することができる。そして、情報処理装置100は、その類似移動経路に対応付けられた訪問地点の情報により、適切な訪問地点を決定することができる。そのため、情報処理装置100は、ある移動においてどのような訪問地点(立ち寄りスポット)が適切かを精度よく決定することができる。   For example, there is a method of identifying a visit point corresponding to each user's movement route by a technique such as deep learning. Since there are few, there is a problem that it is difficult to improve the identification accuracy without learning. For example, there is a method that uses a model generated by a learning method such as deep learning, inputs information on the travel route to the model, and identifies whether the travel route is suitable for a predetermined visit point from the output score. In the case where there are a wide variety of visiting points, since there are few examples of each visiting point, it is difficult to improve the accuracy of the model and it is difficult to improve the identification accuracy. On the other hand, the information processing apparatus 100 performs a search by using graph information obtained by graph-structured a plurality of vectors generated based on features extracted from each element of the movement route information (movement data), thereby obtaining a certain movement route. It is possible to appropriately extract a similar movement route similar to. Then, the information processing apparatus 100 can determine an appropriate visit point based on the visit point information associated with the similar movement route. Therefore, the information processing apparatus 100 can accurately determine what visit point (stop-on spot) is appropriate for a certain movement.

〔1−5.インデックス情報〕
図2の例に示すインデックス情報(インデックスデータ)は一例であり、情報処理装置100は、種々のインデックス情報を用いて、グラフ情報を検索してもよい。また、例えば、情報処理装置100は、検索時に用いるインデックスデータを生成してもよい。例えば、情報処理装置100は、高次元ベクトルを検索する検索インデックスをインデックスデータとして生成する。ここでいう高次元ベクトルとは、例えば、数百次元から数千次元のベクトルであってもよいし、それ以上の次元のベクトルであってもよい。
[1-5. Index information)
The index information (index data) illustrated in the example of FIG. 2 is an example, and the information processing apparatus 100 may search for graph information using various index information. For example, the information processing apparatus 100 may generate index data used at the time of search. For example, the information processing apparatus 100 generates a search index for searching for a high-dimensional vector as index data. The high-dimensional vector here may be, for example, a vector of several hundreds to thousands of dimensions, or a vector of more dimensions.

例えば、情報処理装置100は、図2に示すようなツリー構造(木構造)に関する検索インデックスをインデックスデータとして生成してもよい。例えば、情報処理装置100は、kd木(k-dimensional tree)に関する検索インデックスをインデックスデータとして生成してもよい。例えば、情報処理装置100は、VP木(Vantage-Point tree)に関する検索インデックスをインデックスデータとして生成してもよい。   For example, the information processing apparatus 100 may generate a search index related to a tree structure (tree structure) as shown in FIG. 2 as index data. For example, the information processing apparatus 100 may generate a search index related to a kd tree (k-dimensional tree) as index data. For example, the information processing apparatus 100 may generate a search index related to a VP tree (Vantage-Point tree) as index data.

また、例えば、情報処理装置100は、その他の木構造を有するインデックスデータとして生成してもよい。例えば、情報処理装置100は、木構造のインデックスデータのリーフがグラフデータに接続する種々のインデックスデータを生成してもよい。例えば、情報処理装置100は、木構造のインデックスデータのリーフがグラフデータ中のノードに対応する種々のインデックスデータを生成してもよい。また、情報処理装置100は、このようなインデックスデータを用いて検索を行う場合、インデックスデータを辿って到達したリーフ(ノード)からグラフデータを探索してもよい。   Further, for example, the information processing apparatus 100 may generate the index data having another tree structure. For example, the information processing apparatus 100 may generate various index data in which leaves of tree-structured index data are connected to graph data. For example, the information processing apparatus 100 may generate various index data in which the leaf of the tree-structured index data corresponds to a node in the graph data. Further, when performing a search using such index data, the information processing apparatus 100 may search for graph data from a leaf (node) that has arrived by tracing the index data.

なお、上述したようなインデックスデータは一例であり、情報処理装置100は、グラフデータ中のクエリを高速に特定することが可能であれば、どのようなデータ構造のインデックスデータを生成してもよい。例えば、情報処理装置100は、クエリに対応するグラフ情報中のノードを高速に特定することが可能であれば、バイナリ空間分割に関する技術等の種々の従来技術を適宜用いて、インデックスデータを生成してもよい。例えば、情報処理装置100は、高次元ベクトルの検索に対応可能なインデックスであれば、どのようなデータ構造のインデックスデータを生成してもよい。例えば、情報処理装置100は、非特許文献1に記載されるようなグラフ型の検索インデックスに関する情報をインデックス情報として用いてもよい。情報処理装置100は、上述のようなインデックスデータとグラフデータとを用いることにより、所定の対象に関するより効率的な検索を可能にすることができる。   Note that the index data as described above is an example, and the information processing apparatus 100 may generate index data of any data structure as long as it can identify a query in the graph data at high speed. . For example, if the information processing apparatus 100 can identify the node in the graph information corresponding to the query at a high speed, the information processing apparatus 100 generates index data by appropriately using various conventional techniques such as a technique related to binary space division. May be. For example, the information processing apparatus 100 may generate index data having any data structure as long as it is an index that can be used to search for a high-dimensional vector. For example, the information processing apparatus 100 may use information related to a graph-type search index as described in Non-Patent Document 1 as index information. The information processing apparatus 100 can enable more efficient search regarding a predetermined target by using the index data and the graph data as described above.

〔2.情報処理装置の構成〕
次に、図4を用いて、実施形態に係る情報処理装置100の構成について説明する。図4は、実施形態に係る情報処理装置の構成例を示す図である。図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[2. Configuration of information processing apparatus]
Next, the configuration of the information processing apparatus 100 according to the embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating a configuration example of the information processing apparatus according to the embodiment. As illustrated in FIG. 4, the information processing apparatus 100 includes a communication unit 110, a storage unit 120, and a control unit 130. The information processing apparatus 100 includes an input unit (for example, a keyboard and a mouse) that receives various operations from an administrator of the information processing apparatus 100 and a display unit (for example, a liquid crystal display) for displaying various types of information. You may have.

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワーク(例えば図3中のネットワークN)と有線または無線で接続され、端末装置10や情報提供装置50との間で情報の送受信を行う。
(Communication unit 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card). The communication unit 110 is connected to a network (for example, the network N in FIG. 3) by wire or wirelessly, and transmits and receives information to and from the terminal device 10 and the information providing device 50.

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図4に示すように、POI情報記憶部121と、ユーザ情報記憶部122と、移動経路情報記憶部123と、インデックス情報記憶部124と、グラフ情報記憶部125と、モデル情報記憶部126とを有する。
(Storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. As illustrated in FIG. 4, the storage unit 120 according to the embodiment includes a POI information storage unit 121, a user information storage unit 122, a movement route information storage unit 123, an index information storage unit 124, and a graph information storage unit 125. And a model information storage unit 126.

(POI情報記憶部121)
実施形態に係るPOI情報記憶部121は、POIに関する各種情報を記憶する。図5は、実施形態に係るPOI情報記憶部の一例を示す図である。図5に示すPOI情報記憶部121は、「POI_ID」、「POI名」、「所在地」といった項目が含まれる。
(POI information storage unit 121)
The POI information storage unit 121 according to the embodiment stores various types of information related to POI. FIG. 5 is a diagram illustrating an example of a POI information storage unit according to the embodiment. The POI information storage unit 121 illustrated in FIG. 5 includes items such as “POI_ID”, “POI name”, and “location”.

「POI_ID」は、POIを識別するための識別情報を示す。「POI」は、対応するPOI_IDにより識別されるPOIを示す。例えば、「POI名」は、対応するPOI_IDにより識別されるPOIの名称を示す。「所在地」は、対応するPOI_IDにより識別されるPOIの所在地を示す。   “POI_ID” indicates identification information for identifying the POI. “POI” indicates a POI identified by the corresponding POI_ID. For example, “POI name” indicates the name of the POI identified by the corresponding POI_ID. “Location” indicates the location of the POI identified by the corresponding POI_ID.

例えば、図5に示す例において、POI_ID「SP1」により識別されるPOI(スポットSP1)は、POI名が「XXタワー」であり、スポットSP1の所在地は、位置LC1であることを示す。なお、図5の例では位置を「LC1」等の抽象的な符号で図示するが、位置情報は、具体的な緯度経度情報等であってもよい。   For example, in the example shown in FIG. 5, the POI (spot SP1) identified by POI_ID “SP1” indicates that the POI name is “XX tower” and the location of the spot SP1 is the position LC1. In the example of FIG. 5, the position is illustrated by an abstract code such as “LC1”, but the position information may be specific latitude and longitude information.

なお、POI情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、POI情報記憶部121は、POIに対応する事業者の業種等のPOIに対応する事業者の情報等が記憶されてもよい。また、例えば、POI情報記憶部121は、POIにおいて提供される商品やサービスの情報等が記憶されてもよい。   The POI information storage unit 121 is not limited to the above, and may store various information according to the purpose. For example, the POI information storage unit 121 may store information on a business operator corresponding to the POI such as the business type of the business operator corresponding to the POI. Further, for example, the POI information storage unit 121 may store information on products and services provided in the POI.

(ユーザ情報記憶部122)
実施形態に係るユーザ情報記憶部122は、ユーザ属性に関する各種情報を記憶する。例えば、ユーザ情報記憶部122は、ユーザ属性情報を記憶する。図6は、実施形態に係るユーザ情報記憶部の一例を示す図である。図6に示すユーザ情報記憶部122は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目が含まれる。
(User information storage unit 122)
The user information storage unit 122 according to the embodiment stores various types of information regarding user attributes. For example, the user information storage unit 122 stores user attribute information. FIG. 6 is a diagram illustrating an example of a user information storage unit according to the embodiment. The user information storage unit 122 illustrated in FIG. 6 includes items such as “user ID”, “age”, “sex”, “home”, “work location”, and “interest”.

「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。   “User ID” indicates identification information for identifying a user. For example, the user identified by the user ID “U1” corresponds to the user U1 illustrated in the example of FIG. “Age” indicates the age of the user identified by the user ID. The “age” may be a specific age of the user identified by the user ID, such as 35 years old. “Gender” indicates the gender of the user identified by the user ID.

また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図6に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。   “Home” indicates location information of the user's home identified by the user ID. In the example illustrated in FIG. 6, “home” indicates an abstract code such as “LC11”, but may be latitude / longitude information or the like. For example, “home” may be a region name or an address.

また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図6に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。   “Work location” indicates position information of the user's work location identified by the user ID. In the example shown in FIG. 6, “work location” shows an abstract code such as “LC12”, but it may be latitude / longitude information or the like. Further, for example, the “work location” may be an area name or an address.

また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図6に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。   “Interest” indicates the interest of the user identified by the user ID. That is, “interest” indicates an object that is highly interested by the user identified by the user ID. In the example illustrated in FIG. 6, one “interest” is illustrated for each user, but may be plural.

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

なお、ユーザ情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部122は、ユーザのデモグラフィック属性に関する情報やサイコグラフィック属性に関する情報を記憶してもよい。例えば、ユーザ情報記憶部122は、氏名、家族構成、収入、興味、ライフスタイル等の情報を記憶してもよい。   Note that the user information storage unit 122 is not limited to the above, and may store various types of information according to the purpose. For example, the user information storage unit 122 may store information on the demographic attribute of the user and information on the psychographic attribute. For example, the user information storage unit 122 may store information such as name, family structure, income, interest, and lifestyle.

(移動経路情報記憶部123)
実施形態に係る移動経路情報記憶部123は、移動経路に関する各種情報を記憶する。例えば、移動経路情報記憶部123は、移動経路IDやベクトルデータを記憶する。図7は、実施形態に係る移動経路情報記憶部の一例を示す図である。図7に示す移動経路情報記憶部123は、「移動経路ID」、「移動データ」、「ベクトル情報」、「訪問地点」、「対応ユーザ」、「コンテキスト情報」といった項目が含まれる。
(Movement route information storage unit 123)
The movement route information storage unit 123 according to the embodiment stores various types of information regarding the movement route. For example, the movement route information storage unit 123 stores a movement route ID and vector data. FIG. 7 is a diagram illustrating an example of a movement route information storage unit according to the embodiment. The movement route information storage unit 123 illustrated in FIG. 7 includes items such as “movement route ID”, “movement data”, “vector information”, “visit point”, “corresponding user”, and “context information”.

「移動経路ID」は、移動経路(オブジェクト)を識別するための識別情報を示す。「移動データ」は、移動経路IDにより識別される移動経路に関する情報を示す。なお、図7の例では、移動データを「MD1」といった抽象的な符号で示すが、各移動データは、移動経路IDにより識別される移動経路に対応する複数の位置情報やユーザがその移動経路を移動した際の速度等の種々の移動経路に関する情報を含む。「ベクトル情報」とは、移動経路IDにより識別される移動経路(オブジェクト)に対応するベクトル情報を示す。すなわち、図7の例では、移動経路(オブジェクト)を識別する移動経路IDに対して、オブジェクトに対応するベクトルデータ(ベクトル情報)が対応付けられて登録されている。   “Movement path ID” indicates identification information for identifying a movement path (object). “Movement data” indicates information related to the movement route identified by the movement route ID. In the example of FIG. 7, the movement data is indicated by an abstract code such as “MD1”, but each movement data includes a plurality of pieces of position information corresponding to the movement path identified by the movement path ID and the user's movement path. It includes information on various moving routes such as the speed when moving. “Vector information” indicates vector information corresponding to a movement route (object) identified by the movement route ID. That is, in the example of FIG. 7, vector data (vector information) corresponding to an object is registered in association with a movement route ID that identifies the movement route (object).

「訪問地点」は、対応する移動経路で移動したユーザが、その移動後に立ち寄ったスポット(訪問地点)を示す。「対応ユーザ」は、対応する移動経路で移動したユーザを示す。「コンテキスト情報」は、対応する移動経路でユーザが移動した際のコンテキスト情報を示す。   “Visit point” indicates a spot (visit point) where a user who has moved along the corresponding movement route has stopped after the movement. “Corresponding user” indicates a user who has traveled along the corresponding travel route. “Context information” indicates context information when the user moves along the corresponding movement route.

例えば、図7の例では、移動経路ID「MP1」により識別される移動経路(オブジェクト)は、「2,4,5,2...」の多次元(N次元)のベクトル情報が対応付けられることを示す。例えば、移動経路ID「MP1」により識別される移動経路(移動経路MP1)については、モデルM1等により、移動経路MP1の特徴を示す「2,4,5,2...」の多次元(N次元)のベクトル情報が移動データMD1から抽出されたことを示す。   For example, in the example of FIG. 7, the movement path (object) identified by the movement path ID “MP1” is associated with multidimensional (N-dimensional) vector information of “2, 4, 5, 2. Indicates that For example, for the movement route (movement route MP1) identified by the movement route ID “MP1”, multi-dimensional “2, 4, 5, 2. N-dimensional) vector information is extracted from the movement data MD1.

例えば、移動経路MP1で移動したユーザは、スポットSP2に立ち寄ったことを示す。例えば、移動経路MP1で移動したユーザは、20代男性のユーザU99であることを示す。例えば、移動経路MP1に対応する移動時は、昼の時間帯であったことを示す。また、例えば、移動経路MP1に対応する移動時は、天候が晴れであったことを示す。   For example, a user who has moved on the movement route MP1 has stopped by the spot SP2. For example, it is indicated that the user who has moved on the movement route MP1 is a male user U99 in his twenties. For example, the time corresponding to the movement route MP1 indicates that it was a daytime time zone. In addition, for example, during the movement corresponding to the movement route MP1, the weather is clear.

なお、移動経路情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。   The movement route information storage unit 123 is not limited to the above, and may store various types of information according to the purpose.

(インデックス情報記憶部124)
実施形態に係るインデックス情報記憶部124は、インデックスに関する各種情報を記憶する。図8は、実施形態に係るインデックス情報記憶部の一例を示す図である。具体的には、図8の例では、インデックス情報記憶部124は、ツリー構造のインデックス情報を示す。図8の例では、インデックス情報記憶部124は、「ルート階層」、「第1階層」、「第2階層」、「第3階層」等といった項目が含まれる。なお、「第1階層」〜「第3階層」に限らず、インデックスの階層数に応じて、「第4階層」、「第5階層」、「第6階層」等が含まれてもよい。
(Index information storage unit 124)
The index information storage unit 124 according to the embodiment stores various types of information related to the index. FIG. 8 is a diagram illustrating an example of the index information storage unit according to the embodiment. Specifically, in the example of FIG. 8, the index information storage unit 124 shows tree-structured index information. In the example of FIG. 8, the index information storage unit 124 includes items such as “root hierarchy”, “first hierarchy”, “second hierarchy”, “third hierarchy”, and the like. In addition to “first hierarchy” to “third hierarchy”, “fourth hierarchy”, “fifth hierarchy”, “sixth hierarchy”, and the like may be included depending on the number of index hierarchies.

「ルート階層」は、インデックスを用いた起点ノードの決定の開始点となるルート(最上位)の階層を示す。「第1階層」は、インデックスの第1階層に属するノード(節点またはグラフ情報中のベクトル)を識別(特定)する情報が格納される。「第1階層」に格納されるノードは、インデックスの根(ルート)に直接結ばれる階層に対応するノードとなる。   The “root hierarchy” indicates a hierarchy of the root (highest level) that is a starting point for determining an origin node using an index. The “first hierarchy” stores information for identifying (specifying) nodes (nodes or vectors in graph information) belonging to the first hierarchy of the index. The node stored in the “first hierarchy” is a node corresponding to the hierarchy directly connected to the root of the index.

「第2階層」は、インデックスの第2階層に属するノード(節点またはグラフ情報中のベクトル)を識別(特定)する情報が格納される。「第2階層」に格納されるノードは、第1階層のノードに結ばれる直下の階層に対応するノードとなる。「第3階層」は、インデックスの第3階層に属するノード(節点またはグラフ情報中のベクトル)を識別(特定)する情報が格納される。「第3階層」に格納されるノードは、第2階層のノードに結ばれる直下の階層に対応するノードとなる。   The “second hierarchy” stores information for identifying (specifying) nodes (nodes or vectors in graph information) belonging to the second hierarchy of the index. The node stored in the “second hierarchy” is a node corresponding to the hierarchy directly below the node of the first hierarchy. The “third hierarchy” stores information for identifying (specifying) a node (a node or a vector in graph information) belonging to the third hierarchy of the index. The node stored in the “third hierarchy” is a node corresponding to the hierarchy directly below the second hierarchy node.

例えば、図8に示す例においては、インデックス情報記憶部124には、図1中のインデックス情報IND11に対応する情報が記憶される。例えば、インデックス情報記憶部124は、第1階層のノードが、節点VT1〜VT3等であることを示す。また、各節点の下の括弧内の数値は、各節点に対応するベクトルの値を示す。   For example, in the example shown in FIG. 8, the index information storage unit 124 stores information corresponding to the index information IND11 in FIG. For example, the index information storage unit 124 indicates that the nodes of the first hierarchy are the nodes VT1 to VT3 and the like. The numerical value in parentheses below each node indicates a vector value corresponding to each node.

また、例えば、インデックス情報記憶部124は、節点VT2の直下の第2階層のノードが、節点VT2−1〜VT2−4であることを示す。また、例えば、インデックス情報記憶部124は、節点VT2−2の直下の第3階層のノードが、ノードN1、ノードN2、ノードN5のグラフ情報GR11中のノード(ベクトル)であることを示す。   Further, for example, the index information storage unit 124 indicates that the nodes of the second hierarchy immediately below the node VT2 are the nodes VT2-1 to VT2-4. Further, for example, the index information storage unit 124 indicates that the node in the third hierarchy immediately below the node VT2-2 is a node (vector) in the graph information GR11 of the node N1, the node N2, and the node N5.

なお、インデックス情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。   The index information storage unit 124 is not limited to the above, and may store various types of information according to the purpose.

(グラフ情報記憶部125)
実施形態に係るグラフ情報記憶部125は、グラフ情報に関する各種情報を記憶する。図9は、実施形態に係るグラフ情報記憶部の一例を示す図である。図9の例では、グラフ情報記憶部125は、「ノードID」、「移動経路ID」、および「エッジ情報」といった項目を有する。また、「エッジ情報」には、「エッジID」や「参照先」といった情報が含まれる。
(Graph information storage unit 125)
The graph information storage unit 125 according to the embodiment stores various types of information regarding the graph information. FIG. 9 is a diagram illustrating an example of the graph information storage unit according to the embodiment. In the example of FIG. 9, the graph information storage unit 125 includes items such as “node ID”, “movement route ID”, and “edge information”. The “edge information” includes information such as “edge ID” and “reference destination”.

「ノードID」は、グラフデータにおける各ノード(対象)を識別するための識別情報を示す。また、「移動経路ID」は、移動経路(オブジェクト)を識別するための識別情報を示す。   “Node ID” indicates identification information for identifying each node (target) in the graph data. The “movement route ID” indicates identification information for identifying a movement route (object).

また、「エッジ情報」は、対応するノードに接続されるエッジに関する情報を示す。図9の例では、「エッジ情報」は、エッジが有向エッジである場合を示し、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジID」は、ノード間を連結するエッジを識別するための識別情報を示す。また、「参照先」は、エッジにより連結された参照先(ノード)を示す情報を示す。すなわち、図9の例では、ノードを識別するノードIDに対して、そのノードに対応するオブジェクト(対象)を識別する情報やそのノードからの有向エッジ(出力エッジ)が連結される参照先(ノード)が対応付けられて登録されている。   “Edge information” indicates information related to an edge connected to the corresponding node. In the example of FIG. 9, “edge information” indicates a case where the edge is a directed edge, and indicates information regarding an output edge output from a corresponding node. “Edge ID” indicates identification information for identifying an edge connecting nodes. “Reference destination” indicates information indicating a reference destination (node) connected by an edge. That is, in the example of FIG. 9, for a node ID for identifying a node, information for identifying an object (target) corresponding to the node and a reference destination to which a directed edge (output edge) from the node is linked ( Node) is registered in association with each other.

例えば、図9の例では、ノードID「N1」により識別されるノード(ベクトル)は、移動経路ID「MP1」により識別される移動経路(オブジェクト)に対応することを示す。また、ノードID「N1」により識別されるノードからは、エッジID「E11」により識別されるエッジが、ノードID「N712」により識別されるノード(ベクトル)に連結されることを示す。すなわち、図9の例では、ノードID「N1」により識別されるノード(ベクトル)からはノードID「N712」により識別されるノード(ベクトル)に辿ることができることを示す。   For example, in the example of FIG. 9, the node (vector) identified by the node ID “N1” corresponds to the travel route (object) identified by the travel route ID “MP1”. Further, from the node identified by the node ID “N1”, the edge identified by the edge ID “E11” is connected to the node (vector) identified by the node ID “N712”. That is, in the example of FIG. 9, the node (vector) identified by the node ID “N1” can be traced to the node (vector) identified by the node ID “N712”.

なお、グラフ情報記憶部125は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、グラフ情報記憶部125は、各ノード(ベクトル)間を連結するエッジの長さが記憶されてもよい。すなわち、グラフ情報記憶部125は、各ノード(ベクトル)間の距離を示す情報が記憶されてもよい。   The graph information storage unit 125 is not limited to the above, and may store various types of information according to the purpose. For example, the graph information storage unit 125 may store the length of an edge connecting each node (vector). That is, the graph information storage unit 125 may store information indicating the distance between each node (vector).

(モデル情報記憶部126)
実施形態に係るモデル情報記憶部126は、モデルに関する情報を記憶する。例えば、モデル情報記憶部126は、生成処理により生成されたモデル情報(モデルデータ)を記憶する。図10は、実施形態に係るモデル情報記憶部の一例を示す図である。図10に示すモデル情報記憶部126は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。なお、図10では、モデルM1、M2のみを図示するが、M21、M22等、各用途(予測の対象)に応じて多数のモデル情報が記憶されてもよい。
(Model information storage unit 126)
The model information storage unit 126 according to the embodiment stores information related to the model. For example, the model information storage unit 126 stores model information (model data) generated by the generation process. FIG. 10 is a diagram illustrating an example of the model information storage unit according to the embodiment. The model information storage unit 126 illustrated in FIG. 10 includes items such as “model ID”, “use”, and “model data”. In FIG. 10, only the models M1 and M2 are illustrated, but a lot of model information such as M21 and M22 may be stored according to each application (target of prediction).

「モデルID」は、モデルを識別するための識別情報を示す。例えば、モデルID「M1」により識別されるモデルは、図1の例に示したモデルM1に対応する。「用途」は、対応するモデルの用途を示す。また、「モデルデータ」は、対応付けられた対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。   “Model ID” indicates identification information for identifying a model. For example, the model identified by the model ID “M1” corresponds to the model M1 illustrated in the example of FIG. “Use” indicates the use of the corresponding model. “Model data” indicates data of a corresponding model associated with the model data. For example, “model data” includes information including nodes in each layer, functions adopted by the nodes, connection relationships between the nodes, and connection coefficients set for connections between the nodes.

例えば、図10に示す例において、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「特徴抽出(移動経路)」であり、入力された移動経路情報からの特徴の抽出に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。   For example, in the example shown in FIG. 10, the model (model M1) identified by the model ID “M1” has a use of “feature extraction (movement route)” and is used for feature extraction from the input movement route information. Indicates that it will be used. The model data of the model M1 is model data MDT1.

モデルM1(モデルデータMDT1)は、所定の移動経路の移動経路情報(移動データ)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された移動経路情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。   The model M1 (model data MDT1) is an input layer to which movement route information (movement data) of a predetermined movement route is input, an output layer, and any layer from the input layer to the output layer and other than the output layer A first element belonging to the layer, and a second element whose value is calculated based on the first element and the weight of the first element, and other than the output layer with respect to the movement path information input to the input layer The computer is configured to output information similar to the information input to the input layer from the output layer by performing an operation based on the first element and the weight of the first element, with each element belonging to each layer of the first element as the first element Is a model for making

また、モデルM1、M2等がDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、例えば、モデルM1、M2が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。   Further, it is assumed that the models M1, M2, etc. are realized by a neural network having one or a plurality of intermediate layers, such as DNN (Deep Neural Network). In this case, for example, the first element included in the models M1 and M2 corresponds to any node of the input layer or the intermediate layer. The second element corresponds to the next node, which is a node to which a value is transmitted from the node corresponding to the first element. The weight of the first element corresponds to a connection coefficient that is a weight considered for a value transmitted from a node corresponding to the first element to a node corresponding to the second element.

ここで、モデルM21、M22等が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、例えば、モデルM21、M22が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。   Here, it is assumed that the models M21, M22 and the like are realized by a regression model represented by “y = a1 * x1 + a2 * x2 +... + Ai * xi”. In this case, for example, the first elements included in the models M21 and M22 correspond to input data (xi) such as x1 and x2. The weight of the first element corresponds to the coefficient ai corresponding to xi. Here, the regression model can be regarded as a simple perceptron having an input layer and an output layer. When each model is regarded as a simple perceptron, the first element can correspond to any node of the input layer, and the second element can be regarded as a node of the output layer.

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

(制御部130)
図4の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。制御部130は、モデル情報記憶部126に記憶されているモデルM1、M2等に従った情報処理により、移動経路の移動経路情報(移動データ)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された移動経路情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力する。
(Control unit 130)
Returning to the description of FIG. 4, the control unit 130 is a controller, and is stored in a storage device inside the information processing apparatus 100 by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. Various programs (corresponding to an example of an information processing program) are executed by using the RAM as a work area. The control unit 130 is a controller, and is realized by an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The control unit 130 includes an input layer, an output layer, and an input layer to which movement route information (movement data) of the movement route is input by information processing according to the models M1, M2, and the like stored in the model information storage unit 126. A first element belonging to any layer from the layer to the output layer other than the output layer, and a second element whose value is calculated based on the weight of the first element and the first element , Input to the input layer by performing an operation based on the first element and the weight of the first element, with each element belonging to each layer other than the output layer as the first element for the movement path information input to the input layer The same information as the output information is output from the output layer.

図4に示すように、制御部130は、取得部131と、生成部132と、決定部133と、抽出部134と、送信部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。   As illustrated in FIG. 4, the control unit 130 includes an acquisition unit 131, a generation unit 132, a determination unit 133, an extraction unit 134, and a transmission unit 135, and functions and operations of information processing described below. Realize or execute. Note that the internal configuration of the control unit 130 is not limited to the configuration illustrated in FIG. 4, and may be another configuration as long as the information processing described below is performed.

(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、記憶部120から各種情報を取得する。例えば、取得部131は、POI情報記憶部121や、ユーザ情報記憶部122や、移動経路情報記憶部123や、インデックス情報記憶部124や、グラフ情報記憶部125や、モデル情報記憶部126等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得する。取得部131は、端末装置10や情報提供装置50から各種情報を取得する。
(Acquisition part 131)
The acquisition unit 131 acquires various types of information. For example, the acquisition unit 131 acquires various types of information from the storage unit 120. For example, the acquisition unit 131 includes a POI information storage unit 121, a user information storage unit 122, a movement route information storage unit 123, an index information storage unit 124, a graph information storage unit 125, a model information storage unit 126, and the like. Acquire various information. The acquisition unit 131 acquires various types of information from an external information processing apparatus. The acquisition unit 131 acquires various types of information from the terminal device 10 and the information providing device 50.

取得部131は、複数の移動経路の各々に対応する複数のノードであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のノードが類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する。また、取得部131は、複数の移動経路の各々に対応する移動において対応ユーザが訪れた訪問地点が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報を取得する。また、取得部131は、対応ユーザの属性情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの属性情報とを取得する。また、取得部131は、各移動経路に対応する移動におけるコンテキスト情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動におけるコンテキスト情報とを取得する。また、取得部131は、各移動経路に対応する移動における時刻情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動における時刻情報とを取得する。また、取得部131は、各移動経路に対応する移動における気象情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動における気象情報とを取得する。また、取得部131は、複数の移動経路の各々に対応する複数のベクトルの類似性に応じて、複数のノードが連結されたグラフ情報を取得する。   The acquisition unit 131 is a graph in which a plurality of nodes corresponding to each of a plurality of movement paths and a plurality of nodes associated with corresponding users who have moved corresponding to the respective movement paths are connected according to similarity. Information and movement information related to movement of one user are acquired. In addition, the acquisition unit 131 displays graph information in which a plurality of nodes associated with visit points visited by a corresponding user in a movement corresponding to each of a plurality of movement paths are linked according to the similarity of the plurality of movement paths. get. In addition, the acquisition unit 131 acquires graph information in which a plurality of nodes associated with the attribute information of the corresponding user are linked according to the similarity of the plurality of movement routes, and the attribute information of one user. The acquisition unit 131 also includes graph information in which a plurality of nodes associated with context information in movement corresponding to each movement route are linked according to the similarity of the plurality of movement routes, and context in the movement of one user. Get information and. The acquisition unit 131 also includes graph information in which a plurality of nodes associated with time information in movement corresponding to each movement route are linked according to the similarity of the plurality of movement routes, and time in movement of one user. Get information and. The acquisition unit 131 also includes graph information in which a plurality of nodes associated with weather information in the movement corresponding to each movement route are linked according to the similarity of the plurality of movement routes, and the weather in one user's movement. Get information and. Further, the acquisition unit 131 acquires graph information in which a plurality of nodes are connected according to the similarity of a plurality of vectors corresponding to each of a plurality of movement paths.

取得部131は、複数の移動経路の各々に対応する複数のベクトルであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のベクトルが類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する。また、取得部131は、複数の移動経路の各々に対応する移動において対応ユーザが訪れた訪問地点が関連付けられた複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。   The acquisition unit 131 is a graph in which a plurality of vectors corresponding to each of a plurality of movement paths, and a plurality of vectors associated with corresponding users who have moved corresponding to the respective movement paths are connected according to similarity. Information and movement information related to movement of one user are acquired. In addition, the acquisition unit 131 acquires graph information in which a plurality of vectors associated with visit points visited by a corresponding user in a movement corresponding to each of a plurality of movement routes are linked according to similarity.

また、取得部131は、対応ユーザの属性情報が関連付けられた複数のベクトルが類似性に応じて連結されたグラフ情報と、一のユーザの属性情報とを取得する。また、取得部131は、各移動経路に対応する移動におけるコンテキスト情報が関連付けられた複数のベクトルが類似性に応じて連結されたグラフ情報と、一のユーザの移動におけるコンテキスト情報とを取得する。   Further, the acquisition unit 131 acquires graph information in which a plurality of vectors associated with attribute information of a corresponding user are linked according to similarity, and attribute information of one user. In addition, the acquisition unit 131 acquires graph information in which a plurality of vectors associated with context information in movement corresponding to each movement route are linked according to similarity, and context information in movement of one user.

また、取得部131は、各移動経路に対応する移動における時刻情報が関連付けられた複数のベクトルが類似性に応じて連結されたグラフ情報と、一のユーザの移動における時刻情報とを取得する。また、取得部131は、各移動経路に対応する移動における気象情報が関連付けられた複数のベクトルが類似性に応じて連結されたグラフ情報と、一のユーザの移動における気象情報とを取得する。   The acquisition unit 131 acquires graph information in which a plurality of vectors associated with time information in movement corresponding to each movement route are linked according to similarity, and time information in movement of one user. In addition, the acquisition unit 131 acquires graph information in which a plurality of vectors associated with weather information in movement corresponding to each movement route are linked according to similarity, and weather information in movement of one user.

また、取得部131は、複数の移動経路の各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。また、取得部131は、所定のモデルを用いて複数の移動経路の各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。また、取得部131は、複数の移動経路に関する情報を所定のモデルに入力することにより、抽出される複数の移動経路の各々の特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。   In addition, the acquisition unit 131 acquires graph information in which a plurality of vectors indicating features of a plurality of movement paths are connected according to similarity. In addition, the acquisition unit 131 acquires graph information in which a plurality of vectors whose elements are feature amounts extracted from each of a plurality of movement paths using a predetermined model are connected according to similarity. In addition, the acquisition unit 131 inputs information on a plurality of movement routes to a predetermined model, whereby a plurality of vectors having elements of the feature amounts of the plurality of movement routes to be extracted are connected according to similarity. Get the graph information.

例えば、取得部131は、データ検索の対象となる複数のノード(ベクトル)を取得する。例えば、取得部131は、複数のノードと、複数のノードの各々を連結する複数の有向エッジを含む有向エッジ群を取得する。   For example, the acquisition unit 131 acquires a plurality of nodes (vectors) that are targets of data search. For example, the acquisition unit 131 acquires a directed edge group including a plurality of nodes and a plurality of directed edges that connect each of the plurality of nodes.

例えば、取得部131は、外部の情報処理装置からグラフ情報(グラフデータ)を取得する。例えば、取得部131は、グラフ情報記憶部125からグラフ情報を取得する。例えば、取得部131は、グラフ情報を取得する。図1の例では、取得部131は、グラフ情報GR11を取得する。   For example, the acquisition unit 131 acquires graph information (graph data) from an external information processing apparatus. For example, the acquisition unit 131 acquires graph information from the graph information storage unit 125. For example, the acquisition unit 131 acquires graph information. In the example of FIG. 1, the acquisition unit 131 acquires graph information GR11.

例えば、取得部131は、外部の情報処理装置からインデックス情報(インデックスデータ)を取得する。例えば、取得部131は、インデックス情報記憶部124からインデックス情報を取得する。例えば、取得部131は、木構造型のインデックス情報を取得する。図1の例では、取得部131は、インデックス情報IND11を取得する。   For example, the acquisition unit 131 acquires index information (index data) from an external information processing apparatus. For example, the acquisition unit 131 acquires index information from the index information storage unit 124. For example, the acquisition unit 131 acquires tree structure type index information. In the example of FIG. 1, the acquisition unit 131 acquires index information IND11.

また、図1の例では、取得部131は、ユーザU1が利用する端末装置10から移動経路情報を取得する。例えば、取得部131は、ユーザU1が利用する端末装置10から移動データMD10を取得する。また、取得部131は、ユーザU1が位置LC10から位置LC15まで移動した際の位置情報群や移動速度や気象情報や時刻情報等の種々の情報を含む移動データMD10を取得する。また、取得部131は、ユーザU1が位置LC10から位置LC15まで移動した際に検知された位置情報群や、位置LC10から位置LC15まで移動した際の時刻が12時等の昼の時間帯であることを示す情報を取得する。また、取得部131は、ユーザU1が位置LC10から位置LC15まで移動した際の天候が晴れであったことを示す気象情報を、端末装置10から取得してもよい。   In the example of FIG. 1, the acquisition unit 131 acquires travel route information from the terminal device 10 used by the user U1. For example, the acquisition unit 131 acquires the movement data MD10 from the terminal device 10 used by the user U1. In addition, the acquisition unit 131 acquires movement data MD10 including various information such as a position information group, a movement speed, weather information, and time information when the user U1 moves from the position LC10 to the position LC15. In addition, the acquisition unit 131 is a position information group detected when the user U1 moves from the position LC10 to the position LC15, and the time when the user U1 moves from the position LC10 to the position LC15 is a daytime period such as 12:00. Acquire information indicating that. The acquisition unit 131 may acquire weather information indicating that the weather when the user U1 has moved from the position LC10 to the position LC15 was clear from the terminal device 10.

図2の例では、取得部131は、情報群INF11に示すように、グラフ情報GR11やインデックス情報IND11を用いてユーザU1の移動の類似移動経路を検索する。例えば、取得部131は、グラフ情報記憶部125(図9参照)から移動経路に関するグラフ情報GR11を取得する。また、例えば、情報処理装置100は、インデックス情報記憶部124(図8参照)から、グラフ情報GR11における検索の起点となる起点ベクトルの決定に用いるインデックス情報IND11を取得する。   In the example of FIG. 2, as illustrated in the information group INF11, the acquisition unit 131 uses the graph information GR11 and the index information IND11 to search for a similar movement route for the movement of the user U1. For example, the acquisition unit 131 acquires graph information GR11 related to the travel route from the graph information storage unit 125 (see FIG. 9). Further, for example, the information processing apparatus 100 acquires index information IND11 used to determine a starting point vector serving as a starting point of search in the graph information GR11 from the index information storage unit 124 (see FIG. 8).

(生成部132)
生成部132は、各種情報を生成する。例えば、生成部132は、移動経路情報記憶部123に記憶された学習データ(移動経路情報)を用いて、モデル情報記憶部126に示すようなモデルを生成する。例えば、生成部132は、取得部131により取得された学習データに基づいて、入力した移動経路情報と同様の情報を出力するモデル(オートエンコーダ)を生成する。例えば、生成部132は、入力する移動経路情報自体を正解情報として、入力した移動経路情報と同様の情報を出力するモデル(オートエンコーダ)を生成する。
(Generator 132)
The generation unit 132 generates various types of information. For example, the generation unit 132 uses the learning data (movement route information) stored in the movement route information storage unit 123 to generate a model as shown in the model information storage unit 126. For example, the generation unit 132 generates a model (auto encoder) that outputs information similar to the input travel route information based on the learning data acquired by the acquisition unit 131. For example, the generation unit 132 generates a model (auto encoder) that outputs the same information as the input travel route information, using the input travel route information itself as correct information.

例えば、生成部132は、モデルM1等を生成し、生成したモデルM1等をモデル情報記憶部126に格納する。なお、生成部132は、いかなる学習アルゴリズムを用いてモデルM1を生成してもよい。例えば、生成部132は、ニューラルネットワーク(neural network)等の学習アルゴリズムを用いてモデルM1を生成する。一例として、生成部132がニューラルネットワークを用いてモデルM1等を生成する場合、モデルM1等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。   For example, the generation unit 132 generates a model M1 and the like, and stores the generated model M1 and the like in the model information storage unit 126. Note that the generation unit 132 may generate the model M1 using any learning algorithm. For example, the generation unit 132 generates the model M1 using a learning algorithm such as a neural network. As an example, when the generation unit 132 generates a model M1 or the like using a neural network, the model M1 or the like includes an input layer including one or more neurons, an intermediate layer including one or more neurons, and one or more neurons. Including an output layer.

生成部132は、移動経路の移動経路情報(移動データ)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された移動経路情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するモデルを生成する。   The generation unit 132 is a first layer belonging to any layer other than the output layer, which is any of the input layer, the output layer, and the input layer to the output layer to which the movement route information (movement data) of the movement route is input. Each element belonging to each layer other than the output layer with respect to the movement path information input to the input layer, the element and a second element whose value is calculated based on the first element and the weight of the first element Is used as the first element, and a calculation based on the first element and the weight of the first element is performed to generate a model that outputs information similar to the information input to the input layer from the output layer.

例えば、生成部132は、学習データに基づいてモデルを生成する。例えば、生成部132は、学習データに基づいてモデルを生成する。例えば、生成部132は、移動経路情報記憶部123中の移動データMD1、MD2等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。   For example, the generation unit 132 generates a model based on the learning data. For example, the generation unit 132 generates a model based on the learning data. For example, the generation unit 132 generates a model by performing learning using the movement data MD1, MD2 and the like in the movement route information storage unit 123 as learning data (teacher data).

例えば、生成部132は、移動データMD1が入力された場合に、モデルM1が移動データMD1と同様の情報を出力するように、学習処理を行う。例えば、生成部132は、移動データMD2が入力された場合に、モデルM1が移動データMD2と同様の情報を出力するように、学習処理を行う。   For example, when the movement data MD1 is input, the generation unit 132 performs a learning process so that the model M1 outputs the same information as the movement data MD1. For example, when the movement data MD2 is input, the generation unit 132 performs a learning process so that the model M1 outputs the same information as the movement data MD2.

なお、生成部132は、オートエンコーダとしてのM1に限らず、種々の学習アルゴリズムを用いてスポットSP1に立ち寄るかどうかを予測するモデルM21等を生成してもよい。例えば、生成部132は、ニューラルネットワーク(neural network)、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルM21等を生成する。一例として、生成部132がニューラルネットワークを用いてモデルM21等を生成する場合、モデルM21等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。   The generation unit 132 is not limited to M1 as an auto encoder, and may generate a model M21 that predicts whether or not to stop at the spot SP1 using various learning algorithms. For example, the generation unit 132 generates a model M21 and the like using a learning algorithm such as a neural network, a support vector machine (SVM), clustering, and reinforcement learning. As an example, when the generation unit 132 generates a model M21 or the like using a neural network, the model M21 or the like includes an input layer including one or more neurons, an intermediate layer including one or more neurons, and one or more neurons. Including an output layer.

生成部132は、モデルを生成し、生成したモデルをモデル情報記憶部126に格納する。具体的には、生成部132は、移動経路の移動経路情報(移動データ)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された移動経路情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、スポットSP1に立ち寄る移動経路かどうかの予測に用いられるスコアの値を出力層から出力するモデルを生成する。例えば、生成部132は、ある移動経路の移動経路情報(移動データ)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された移動経路情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、その移動経路が所定の用途に適した移動経路かどうかの予測に用いられるスコアの値を出力層から出力するモデルM21を生成する。例えば、生成部132は、スポットSP1に立ち寄る移動経路の移動経路情報が入力された場合に、スコア「1」を出力するようにモデルM21を生成する。例えば、生成部132は、スポットSP1に立ち寄らない移動経路の移動経路情報が入力された場合に、スコア「0」を出力するようにモデルM21を生成する。なお、情報処理装置100は、情報提供装置50等の他の外部装置からモデルを取得する場合、生成部132を有しなくてもよい。   The generation unit 132 generates a model and stores the generated model in the model information storage unit 126. Specifically, the generation unit 132 is any layer from the input layer, the output layer, and the input layer to the output layer to which the movement route information (movement data) of the movement route is input and other than the output layer. A first element belonging to the layer, and a second element whose value is calculated based on the weight of the first element and the first element, and for the movement path information input to the input layer, other than the output layer By using each element belonging to each layer as a first element and performing an operation based on the first element and the weight of the first element, a score value used for predicting whether or not the travel path stops at the spot SP1 is output from the output layer Generate the model to be used. For example, the generation unit 132 may be any layer from the input layer, the output layer, and the input layer to the output layer to which the movement route information (movement data) of a certain movement route is input, to a layer other than the output layer. And a second element whose value is calculated based on the first element and the weight of the first element, and for each of the layers other than the output layer with respect to the movement path information input to the input layer With each element belonging as a first element, a calculation is performed based on the first element and the weight of the first element, whereby a score value used for predicting whether the movement path is a movement path suitable for a predetermined application is obtained. A model M21 to be output from the output layer is generated. For example, the generation unit 132 generates the model M21 so as to output the score “1” when the movement route information of the movement route that stops at the spot SP1 is input. For example, the generation unit 132 generates the model M21 so as to output a score “0” when movement route information of a movement route that does not stop at the spot SP1 is input. Note that the information processing apparatus 100 may not include the generation unit 132 when acquiring a model from another external apparatus such as the information providing apparatus 50.

図2の例では、生成部132は、一のユーザの移動に対応する移動データからグラフ情報の探索に用いるベクトルを生成する。例えば、生成部132は、処理群PS11に示すような処理により、ユーザU1の移動に対応するベクトルを生成する。情報処理装置100は、ユーザU1の移動に関する移動データMD10をモデルM1に入力する。例えば、生成部132は、ユーザU1の移動の移動データMD10をモデルM1に入力する。そして、情報処理装置100は、移動データMD10の入力後のモデルM1中の情報を用いて、ベクトルを生成する。例えば、生成部132は、移動データMD10が入力されたモデルM1中の各要素を用いて、ベクトルデータを生成する。   In the example of FIG. 2, the generation unit 132 generates a vector used for searching for graph information from movement data corresponding to movement of one user. For example, the generation unit 132 generates a vector corresponding to the movement of the user U1 by a process as shown in the process group PS11. The information processing apparatus 100 inputs movement data MD10 related to the movement of the user U1 to the model M1. For example, the generation unit 132 inputs movement data MD10 of movement of the user U1 to the model M1. And the information processing apparatus 100 produces | generates a vector using the information in the model M1 after the input of the movement data MD10. For example, the generation unit 132 generates vector data using each element in the model M1 to which the movement data MD10 is input.

図2の例では、生成部132は、移動データMD10が入力されたモデルM1中の各要素の値を用いて、ベクトルVD10を生成する。例えば、生成部132は、ユーザU1の移動の移動データMD10が入力された場合における、モデルM1のニューロンNL1に対応する値VE1(図13参照)やニューロンNL2に対応する値VE2(図13参照)を用いて、ベクトルを生成する。例えば、生成部132は、ユーザU1の移動の移動データMD10が入力された場合に、算出されるニューロンNL1に対応する値VE1をベクトルVD10の1次元目の要素として抽出してもよい。例えば、生成部132は、ある移動経路の移動データが入力された場合に、算出されるニューロンNL2に対応する値VE2をベクトルVD10の2次元目の要素として、ベクトルVD10を生成する。例えば、生成部132は、1次元目の要素が「3」であり、2次元目の要素が「2」であるようなベクトルVD10を生成する。   In the example of FIG. 2, the generation unit 132 generates a vector VD10 using the value of each element in the model M1 to which the movement data MD10 is input. For example, the generation unit 132 receives the value VE1 corresponding to the neuron NL1 of the model M1 (see FIG. 13) and the value VE2 corresponding to the neuron NL2 (see FIG. 13) when the movement data MD10 of the movement of the user U1 is input. Is used to generate a vector. For example, the generation unit 132 may extract the value VE1 corresponding to the calculated neuron NL1 as the first dimension element of the vector VD10 when the movement data MD10 of the movement of the user U1 is input. For example, when movement data of a certain movement route is input, the generation unit 132 generates the vector VD10 using the calculated value VE2 corresponding to the neuron NL2 as the second dimension element of the vector VD10. For example, the generation unit 132 generates the vector VD10 in which the first dimension element is “3” and the second dimension element is “2”.

(決定部133)
決定部133は、各種情報を決定する。例えば、決定部133は、取得部131により取得された移動経路情報と、グラフ情報の検索の起点となる起点ベクトルに関する情報とに基づいて、起点ベクトルを決定する。決定部133は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定する。また、決定部133は、木構造型のインデックス情報に基づいて、起点ノードを決定する。例えば、決定部133は、移動経路情報と、グラフ情報の検索の起点ベクトルの決定の基準となる情報とに基づいて、起点ベクトルを決定する。また、決定部133は、起点ベクトルの決定に用いるインデックス情報に基づいて、起点ベクトルを決定する。また、決定部133は、木構造型のインデックス情報に基づいて、起点ベクトルを決定する。
(Determining unit 133)
The determination unit 133 determines various types of information. For example, the determination unit 133 determines the starting point vector based on the movement route information acquired by the acquiring unit 131 and information on the starting point vector that is the starting point of the search for the graph information. The determining unit 133 determines the starting node based on the index information used for determining the starting node. Further, the determination unit 133 determines a starting node based on the tree structure type index information. For example, the determination unit 133 determines the starting point vector based on the movement route information and information that serves as a reference for determining the starting point vector for searching the graph information. Further, the determination unit 133 determines a starting point vector based on the index information used for determining the starting point vector. Also, the determination unit 133 determines a starting point vector based on the tree structure type index information.

図2の例では、決定部133は、ユーザU1の移動のベクトルVD10に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。すなわち、決定部133は、ベクトルVD10とインデックス情報IND11とを用いて、グラフ情報GR11における起点ベクトルを決定する。   In the example of FIG. 2, the determination unit 133 uses the index information IND11 to determine (specify) the starting point vector corresponding to the movement vector VD10 of the user U1. That is, the determination unit 133 determines a starting point vector in the graph information GR11 using the vector VD10 and the index information IND11.

例えば、決定部133は、図2中のインデックス情報IND11に示すような木構造型のインデックス情報を用いて、グラフ情報GR11における起点ベクトルを決定する。図2の例では、決定部133は、ベクトルVD10を生成した後、インデックス情報IND11を上から下へ辿ることにより、インデックス情報IND11の近傍候補となる起点ベクトルを特定することにより、効率的に検索クエリ(一のユーザの移動データ)に対応する起点ベクトルを決定することができる。   For example, the determination unit 133 determines a starting point vector in the graph information GR11 using tree structure type index information as indicated by the index information IND11 in FIG. In the example of FIG. 2, after the determination unit 133 generates the vector VD10 and traces the index information IND11 from the top to the bottom, the determination unit 133 efficiently searches by specifying a starting vector that is a neighborhood candidate of the index information IND11. A starting vector corresponding to the query (movement data of one user) can be determined.

例えば、決定部133は、インデックス情報IND11をルートRTからリーフノード(グラフ情報GR11中のノード(ベクトル))まで辿ることにより、ベクトルVD10に対応する起点ベクトルを決定してもよい。図2の例では、例えば、決定部133は、インデックス情報IND11をルートRTからノードN2まで辿ることにより、ノードN2を起点ベクトルとして決定する。   For example, the determination unit 133 may determine the starting vector corresponding to the vector VD10 by tracing the index information IND11 from the root RT to the leaf node (the node (vector) in the graph information GR11). In the example of FIG. 2, for example, the determination unit 133 determines the node N2 as a starting vector by tracing the index information IND11 from the route RT to the node N2.

図1の例では、決定部133は、抽出した対応訪問地点に基づいて、推奨地点を決定する。例えば、決定部133は、抽出した対応訪問地点中のスポットのうち、最多の訪問地点を推奨地点に決定する。例えば、決定部133は、スポットSP2を推奨地点に決定する。   In the example of FIG. 1, the determination unit 133 determines a recommended point based on the extracted corresponding visit point. For example, the determination unit 133 determines the most visited points among the extracted corresponding visited points as recommended points. For example, the determination unit 133 determines the spot SP2 as a recommended point.

(抽出部134)
抽出部134は、各種情報を抽出する。例えば、抽出部134は、POI情報記憶部121や、ユーザ情報記憶部122や、移動経路情報記憶部123や、インデックス情報記憶部124や、グラフ情報記憶部125や、モデル情報記憶部126等から、各種情報を抽出する。抽出部134は、取得部131により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数の移動経路のうち、一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する。抽出部134は、グラフ情報に含まれるノードを検索することにより、一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する。抽出部134は、グラフ情報に含まれるノードをエッジの連結関係に基づいて辿ることにより、グラフ情報に含まれるノードを検索することにより、一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する。抽出部134は、決定部133により決定された起点ノードを起点として、類似移動経路を抽出する。例えば、抽出部134は、取得部131により取得された情報に基づいて、各種情報を抽出する。抽出部134は、取得部131により取得されたグラフ情報の複数のベクトルのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ベクトルを起点として、グラフ情報を検索することにより、複数の移動経路のうち、一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する。抽出部134は、決定部133により決定された起点ベクトルを起点として、類似移動経路を抽出する。例えば、抽出部134は、グラフ情報記憶部125に記憶された各ノード(ベクトル)間を連結するエッジの長さ(距離)の情報を用いてもよいし、各ノードのベクトル情報から各ノード(ベクトル)間を連結するエッジの長さ(距離)の情報を算出し、算出した長さ(距離)の情報を用いてもよい。
(Extractor 134)
The extraction unit 134 extracts various information. For example, the extraction unit 134 includes a POI information storage unit 121, a user information storage unit 122, a movement route information storage unit 123, an index information storage unit 124, a graph information storage unit 125, a model information storage unit 126, and the like. Extract various information. The extraction unit 134 searches for graph information starting from a starting node that is a starting point for searching for graph information determined based on a predetermined criterion among a plurality of nodes of the graph information acquired by the acquiring unit 131. Thus, a similar movement route that is a movement route similar to the movement of one user is extracted from the plurality of movement routes. The extraction unit 134 extracts a similar movement route that is a movement route similar to the movement of one user by searching for a node included in the graph information. The extraction unit 134 searches the nodes included in the graph information by tracing the nodes included in the graph information based on the connection relation of the edges, and thus is similar to the movement route of the movement similar to the movement of one user. Extract travel routes. The extraction unit 134 extracts a similar movement route using the starting node determined by the determination unit 133 as a starting point. For example, the extraction unit 134 extracts various types of information based on the information acquired by the acquisition unit 131. The extraction unit 134 searches for graph information using a starting point vector as a starting point for searching for graph information determined based on a predetermined criterion among a plurality of vectors of graph information acquired by the acquiring unit 131. Thus, a similar movement route that is a movement route similar to the movement of one user is extracted from the plurality of movement routes. The extracting unit 134 extracts a similar movement route using the starting point vector determined by the determining unit 133 as a starting point. For example, the extraction unit 134 may use information on the length (distance) of edges connecting between the nodes (vectors) stored in the graph information storage unit 125, or may determine each node ( Information on the length (distance) of the edges connecting the vectors) may be calculated, and the information on the calculated length (distance) may be used.

図1の例では、抽出部134は、グラフ情報GR11を検索することにより、ユーザU1の移動の類似移動経路を抽出する。例えば、抽出部134は、ノードN2の近傍に位置するノードを類似移動経路として抽出する。例えば、抽出部134は、ノードN2からの距離が近いノードを類似移動経路として抽出する。例えば、抽出部134は、ノードN2を起点として、エッジを辿ることにより、ノードN2から到達可能なノードを類似移動経路として抽出する。例えば、抽出部134は、所定数(例えば、2個や10個等)のノードを類似移動経路として抽出する。例えば、抽出部134は、図14に示すような検索処理により、ユーザU1の移動の類似移動経路を抽出してもよいが、詳細は後述する。図2の例では、抽出部134は、ノードN2を起点として、グラフ情報GR11を探索することにより、ノードN2やノードN1やノードN512等を類似移動経路として抽出する。   In the example of FIG. 1, the extraction unit 134 searches the graph information GR11 to extract a similar movement route for the movement of the user U1. For example, the extraction unit 134 extracts a node located in the vicinity of the node N2 as a similar movement route. For example, the extraction unit 134 extracts a node having a short distance from the node N2 as a similar movement route. For example, the extracting unit 134 extracts a node that can be reached from the node N2 as a similar movement route by tracing the edge from the node N2. For example, the extraction unit 134 extracts a predetermined number (for example, 2 or 10) of nodes as similar movement paths. For example, the extraction unit 134 may extract a similar movement route of the movement of the user U1 by a search process as shown in FIG. 14, but details will be described later. In the example of FIG. 2, the extracting unit 134 extracts the node N2, the node N1, the node N512, and the like as a similar movement route by searching the graph information GR11 with the node N2 as a starting point.

例えば、抽出部134は、図1中の移動経路情報記憶部123に示すように、類似移動経路を抽出する。例えば、抽出部134は、ユーザU99の移動に対応する移動経路MP1や、ユーザU51の移動に対応する移動経路MP2や、ユーザU21の移動に対応する移動経路MP512等を抽出する。   For example, the extraction unit 134 extracts similar movement routes as illustrated in the movement route information storage unit 123 in FIG. For example, the extraction unit 134 extracts a movement route MP1 corresponding to the movement of the user U99, a movement route MP2 corresponding to the movement of the user U51, a movement route MP512 corresponding to the movement of the user U21, and the like.

例えば、抽出部134は、抽出した類似移動経路に対応付けられた訪問地点に基づいて、対応訪問地点を抽出する。例えば、抽出部134は、抽出した類似移動経路に対応付けられた訪問地点のうち、ユーザU1の属性に類似する属性のユーザの移動経路に対応付けられた訪問地点を抽出する。また、例えば、抽出部134は、抽出した類似移動経路に対応付けられた訪問地点のうち、ユーザU1の移動の時間帯と類似する時間帯におけるユーザの移動経路に対応付けられた訪問地点を抽出する。   For example, the extraction unit 134 extracts a corresponding visit point based on the visit point associated with the extracted similar movement route. For example, the extraction unit 134 extracts a visit point associated with the user's travel route having an attribute similar to the attribute of the user U1 from the visit points associated with the extracted similar travel route. Further, for example, the extraction unit 134 extracts a visit point associated with the user's travel route in a time zone similar to the travel time zone of the user U1 from the visit points associated with the extracted similar travel route. To do.

図1の例では、抽出部134は、ユーザの属性が20代男性であり、移動の時間帯が昼である移動経路に対応付けられた訪問地点を対応訪問地点として抽出する。この場合、抽出部134は、20代男性のユーザU99が昼に移動した際の訪問地点であるスポットSP2を対応訪問地点として抽出する。また、抽出部134は、20代男性のユーザU21が昼に移動した際の訪問地点であるスポットSP2を対応訪問地点として抽出する。また、抽出部134は、20代男性のユーザU111が昼に移動した際の訪問地点であるスポットSP1を対応訪問地点として抽出する。また、抽出部134は、20代女性のユーザU51が夜に移動した際の訪問地点であるスポットSP3を対応訪問地点として抽出しない。   In the example of FIG. 1, the extraction unit 134 extracts a visit point associated with a travel route in which the user attribute is a male in his twenties and the travel time zone is daytime as a corresponding visit point. In this case, the extraction unit 134 extracts a spot SP2 that is a visit point when a user U99 of a male in his twenties moves in the daytime as a corresponding visit point. Further, the extraction unit 134 extracts a spot SP2 that is a visit point when a user U21 of a male in his twenties moves in the daytime as a corresponding visit point. Further, the extraction unit 134 extracts a spot SP1 that is a visit point when a user U111 of a male in his twenties moves in the daytime as a corresponding visit point. Further, the extraction unit 134 does not extract the spot SP3, which is a visit point when a female U51 in the 20s moves at night, as a corresponding visit point.

例えば、抽出部134は、類似移動経路のうち、ユーザU1の属性やユーザU1の移動時のコンテキスト情報と類似性のある移動における訪問地点を対応訪問地点として抽出する。図1の例では、抽出部134は、POI情報記憶部121に示すように、スポットSP2を対応訪問地点として最も多く抽出する。   For example, the extraction unit 134 extracts, as the corresponding visit points, the visit points in the movement similar to the attribute of the user U1 and the context information when the user U1 moves, from the similar movement routes. In the example of FIG. 1, as shown in the POI information storage unit 121, the extraction unit 134 extracts the spot SP <b> 2 most frequently as a corresponding visit point.

(送信部135)
送信部135は、各種情報を提供する。例えば、送信部135は、端末装置10や情報提供装置50に各種情報を送信する。例えば、送信部135は、端末装置10や情報提供装置50に各種情報を配信する。例えば、送信部135は、端末装置10や情報提供装置50に各種情報を提供する。
(Transmitter 135)
The transmission unit 135 provides various types of information. For example, the transmission unit 135 transmits various types of information to the terminal device 10 and the information providing device 50. For example, the transmission unit 135 distributes various types of information to the terminal device 10 and the information providing device 50. For example, the transmission unit 135 provides various types of information to the terminal device 10 and the information providing device 50.

送信部135は、抽出部134により抽出された類似移動経路に対応付けられた対応ユーザの情報に基づいて、一のユーザが利用する端末装置10へ一のユーザの移動に関連する推奨情報を送信する。送信部135は、類似移動経路に対応付けられた対応ユーザの訪問地点に基づいて、一のユーザの移動において訪れる地点を推奨する推奨情報を送信する。   The transmission unit 135 transmits the recommended information related to the movement of one user to the terminal device 10 used by one user based on the information on the corresponding user associated with the similar movement route extracted by the extraction unit 134. To do. The transmission unit 135 transmits recommended information for recommending a visited place in the movement of one user based on the visited place of the corresponding user associated with the similar movement route.

送信部135は、類似移動経路のうち、類似移動経路に対応付けられた対応ユーザの属性情報が、一のユーザの属性情報に対応する移動経路に基づく推奨情報を送信する。送信部135は、類似移動経路のうち、類似移動経路に対応付けられたコンテキスト情報が、一のユーザの移動におけるコンテキスト情報に対応する移動経路に基づく推奨情報を送信する。   The transmission unit 135 transmits recommendation information based on a movement route in which the attribute information of the corresponding user associated with the similar movement route among the similar movement routes corresponds to the attribute information of one user. The transmission unit 135 transmits recommendation information based on a movement route in which context information associated with the similar movement route among the similar movement routes corresponds to the context information in the movement of one user.

送信部135は、類似移動経路のうち、類似移動経路に対応付けられた時刻情報が、一のユーザの移動における時刻情報に対応する移動経路に基づく推奨情報を送信する。送信部135は、類似移動経路のうち、類似移動経路に対応付けられた気象情報が、一のユーザの移動における気象情報に対応する移動経路に基づく推奨情報を送信する。   The transmission unit 135 transmits the recommended information based on the movement route in which the time information associated with the similar movement route among the similar movement routes corresponds to the time information in the movement of one user. The transmission unit 135 transmits recommendation information based on a travel route in which the weather information associated with the similar travel route among the similar travel routes corresponds to the weather information in the movement of one user.

例えば、送信部135は、クエリに対応するオブジェクトIDを検索結果として提供する。例えば、送信部135は、抽出部134により選択されたオブジェクトIDを情報提供装置50へ提供する。送信部135は、抽出部134により選択されたオブジェクトIDをクエリに対応するベクトルを示す情報として情報提供装置50に提供する。また、送信部135は、生成部132により生成されたモデルを外部の情報処理装置へ提供してもよい。   For example, the transmission unit 135 provides an object ID corresponding to the query as a search result. For example, the transmission unit 135 provides the object ID selected by the extraction unit 134 to the information providing apparatus 50. The transmission unit 135 provides the information providing apparatus 50 with the object ID selected by the extraction unit 134 as information indicating a vector corresponding to the query. The transmission unit 135 may provide the model generated by the generation unit 132 to an external information processing apparatus.

図1の例では、送信部135は、決定部133により決定された推奨地点に関する情報を提供する。例えば、送信部135は、スポットSP2が推奨地点であることを示す推奨地点情報をユーザU1が利用する端末装置10に送信する。例えば、送信部135は、スポットSP2がユーザU1の移動において最適な立ち寄りスポットであることを示す推奨地点情報をユーザU1が利用する端末装置10に提供する。   In the example of FIG. 1, the transmission unit 135 provides information regarding the recommended spot determined by the determination unit 133. For example, the transmission unit 135 transmits recommended spot information indicating that the spot SP2 is a recommended spot to the terminal device 10 used by the user U1. For example, the transmission unit 135 provides the recommended spot information indicating that the spot SP2 is the optimum stop spot in the movement of the user U1 to the terminal device 10 used by the user U1.

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

図11に示すように、情報処理装置100は、一のユーザの移動経路に関する情報(移動データ)を取得する(ステップS101)。図1の例では、情報処理装置100は、端末装置10からユーザU1の移動に関する移動データMD10を取得する。   As illustrated in FIG. 11, the information processing apparatus 100 acquires information (movement data) regarding a movement route of one user (step S <b> 101). In the example of FIG. 1, the information processing apparatus 100 acquires movement data MD <b> 10 related to the movement of the user U <b> 1 from the terminal device 10.

情報処理装置100は、移動経路に関するグラフ情報を取得する(ステップS102)。例えば、情報処理装置100は、グラフ情報記憶部125から移動経路に関するグラフ情報GR11を取得する。   The information processing apparatus 100 acquires graph information related to the movement route (step S102). For example, the information processing apparatus 100 acquires the graph information GR11 regarding the movement route from the graph information storage unit 125.

そして、情報処理装置100は、モデルを用いて一のユーザの移動データからベクトルを生成する(ステップS103)。図1の例では、情報処理装置100は、モデル情報記憶部126に記憶されたモデルM1を用いて、移動データMD10からベクトルVD10を生成する。   Then, the information processing apparatus 100 generates a vector from the movement data of one user using the model (step S103). In the example of FIG. 1, the information processing apparatus 100 generates a vector VD10 from the movement data MD10 using the model M1 stored in the model information storage unit 126.

そして、情報処理装置100は、グラフ情報を検索することにより、一のユーザの移動経路の類似移動経路を抽出する(ステップS104)。例えば、情報処理装置100は、生成したベクトルとインデックス情報を用いて起点ベクトルを決定する。図1の例では、情報処理装置100は、ベクトルVD10と、インデックス情報記憶部124に記憶されたインデックス情報IND11とを用いて、起点ベクトルをノードN2に決定する。そして、図1の例では、情報処理装置100は、ノードN2を起点として、グラフ情報GR11を探索することにより、ノードN2やノードN1やノードN512を類似移動経路として抽出する。   Then, the information processing apparatus 100 extracts a similar movement route of the movement route of one user by searching for graph information (step S104). For example, the information processing apparatus 100 determines a starting point vector using the generated vector and index information. In the example of FIG. 1, the information processing apparatus 100 determines the starting vector as the node N2 using the vector VD10 and the index information IND11 stored in the index information storage unit 124. In the example of FIG. 1, the information processing apparatus 100 extracts the node N2, the node N1, and the node N512 as similar movement paths by searching the graph information GR11 with the node N2 as a starting point.

そして、情報処理装置100は、抽出した移動経路から、属性情報及びコンテキスト情報に基づいて、対応訪問地点を抽出する(ステップS105)。図1の例では、情報処理装置100は、ユーザの属性が20代男性であり、移動の時間帯が昼である移動経路に対応付けられた訪問地点を対応訪問地点として抽出する。   Then, the information processing apparatus 100 extracts a corresponding visit point from the extracted travel route based on the attribute information and the context information (Step S105). In the example of FIG. 1, the information processing apparatus 100 extracts a visit point associated with a travel route in which the user attribute is a male in his twenties and the travel time zone is daytime as a corresponding visit point.

そして、情報処理装置100は、抽出した各対応訪問地点の数に基づいて、推奨訪問地点を決定する(ステップS106)。図1の例では、情報処理装置100は、抽出した対応訪問地点中のスポットのうち、最多の訪問地点であるスポットSP2を推奨地点に決定する。   Then, the information processing apparatus 100 determines a recommended visit point based on the extracted number of corresponding visit points (step S106). In the example of FIG. 1, the information processing apparatus 100 determines a spot SP2 that is the most visited among the extracted spots in the corresponding visited points as a recommended point.

そして、情報処理装置100は、推奨訪問地点の情報を送信する(ステップS107)。図1の例では、情報処理装置100は、スポットSP2の情報を推奨訪問地点としてユーザU1が利用する端末装置10に送信する。   Then, the information processing apparatus 100 transmits information on recommended visit points (step S107). In the example of FIG. 1, the information processing apparatus 100 transmits information on the spot SP2 to the terminal apparatus 10 used by the user U1 as a recommended visit point.

〔4.生成処理のフロー〕
次に、図12を用いて、実施形態に係る情報処理システム1による生成処理の手順について説明する。図12は、実施形態に係る生成処理の一例を示すフローチャートである。
[4. Generation process flow)
Next, a generation process procedure performed by the information processing system 1 according to the embodiment will be described with reference to FIG. FIG. 12 is a flowchart illustrating an example of the generation process according to the embodiment.

図12に示すように、情報処理装置100は、学習データを取得する(ステップS201)。例えば、情報処理装置100は、移動経路情報記憶部123から学習データを取得する。例えば、情報処理装置100は、移動経路情報記憶部123から移動データMD1、MD2等を学習データとして取得する。   As illustrated in FIG. 12, the information processing apparatus 100 acquires learning data (step S201). For example, the information processing apparatus 100 acquires learning data from the movement route information storage unit 123. For example, the information processing apparatus 100 acquires movement data MD1, MD2, and the like as learning data from the movement route information storage unit 123.

その後、情報処理装置100は、学習データに基づきモデルを生成する(ステップS202)。例えば、情報処理装置100は、移動経路情報記憶部123から学習データを用いてモデルM1を生成する。例えば、情報処理装置100は、入力層に入力される情報(移動データ)と同様の情報(移動データ)を出力層から出力するようにモデルM1を生成する。例えば、情報処理装置100は、移動経路の移動データを入力とするオートエンコーダとしてのモデルM1を生成する。   Thereafter, the information processing apparatus 100 generates a model based on the learning data (step S202). For example, the information processing apparatus 100 generates a model M1 using learning data from the movement route information storage unit 123. For example, the information processing apparatus 100 generates the model M1 so that information (movement data) similar to information (movement data) input to the input layer is output from the output layer. For example, the information processing apparatus 100 generates a model M1 as an auto encoder that receives movement data of a movement route as an input.

〔5.検索例〕
ここで、上述したグラフ情報を用いた検索の一例を示す。なお、グラフ情報(グラフデータ)を用いた検索は下記に限らず、種々の手順により行われてもよい。この点について、図14を一例として説明する。図14は、グラフデータ(グラフ情報)を用いた検索処理の一例を示すフローチャートである。また、以下でいうオブジェクトは、ベクトルやノードと読み替えてもよい。なお、以下では、情報処理装置100が検索処理を行うものとして説明するが、検索処理は他の装置により行われてもよい。例えば、情報処理装置100は、検索クエリとして、一のユーザの移動の移動データから生成されたベクトルデータを用いる。例えば、情報処理装置100は、一のユーザの移動の移動データから生成されたベクトルデータとインデックス情報とに基づいて決定された起点ベクトルを起点としてグラフデータを検索する。図1の例では、情報処理装置100は、ユーザU1の移動のベクトルVD10とインデックス情報IND11とに基づいて決定された起点ベクトルであるノードN2を起点としてグラフ情報GR11を検索する。
[5. Search example)
Here, an example of the search using the graph information described above is shown. The search using the graph information (graph data) is not limited to the following, and may be performed by various procedures. This point will be described with reference to FIG. 14 as an example. FIG. 14 is a flowchart illustrating an example of a search process using graph data (graph information). Further, the object described below may be read as a vector or a node. In the following description, it is assumed that the information processing apparatus 100 performs a search process, but the search process may be performed by another apparatus. For example, the information processing apparatus 100 uses vector data generated from movement data of one user's movement as a search query. For example, the information processing apparatus 100 searches for graph data using a starting point vector determined based on vector data generated from movement data of one user's movement and index information as a starting point. In the example of FIG. 1, the information processing apparatus 100 searches the graph information GR11 using the node N2, which is a starting vector determined based on the movement vector VD10 of the user U1 and the index information IND11, as a starting point.

ここでは、近傍オブジェクト集合N(G,y)は、ノードyに付与されているエッジにより関連付けられている近傍のオブジェクトの集合である。「G」は、所定のグラフデータ(例えば、グラフ情報GR11等)であってもよい。例えば、情報処理装置100は、k近傍検索処理を実行する。   Here, the neighboring object set N (G, y) is a set of neighboring objects that are related by the edge given to the node y. “G” may be predetermined graph data (eg, graph information GR11). For example, the information processing apparatus 100 performs k neighborhood search processing.

例えば、情報処理装置100は、超球の半径rを∞(無限大)に設定し(ステップS300)、既存のオブジェクト集合から部分集合Sを抽出する(ステップS301)。例えば、情報処理装置100は、ルートノード(起点ベクトル)として選択されたオブジェクト(ノード)を部分集合Sとして抽出してもよい。図1の例では、情報処理装置100は、起点ベクトルであるノードN2等を部分集合Sとして抽出してもよい。また、例えば、超球とは、検索範囲を示す仮想的な球である。なお、ステップS301において抽出されたオブジェクト集合Sに含まれるオブジェクトは、同時に検索結果のオブジェクト集合Rの初期集合にも含められる。   For example, the information processing apparatus 100 sets the radius r of the hypersphere to ∞ (infinite) (step S300), and extracts the subset S from the existing object set (step S301). For example, the information processing apparatus 100 may extract the object (node) selected as the root node (starting vector) as the subset S. In the example of FIG. 1, the information processing apparatus 100 may extract the starting point vector such as the node N2 as a subset S. Further, for example, a hypersphere is a virtual sphere that indicates a search range. It should be noted that the objects included in the object set S extracted in step S301 are also included in the initial set of the search result object set R at the same time.

次に、情報処理装置100は、オブジェクト集合Sに含まれるオブジェクトの中で、検索クエリオブジェクトをyとするとオブジェクトyとの距離が最も短いオブジェクトを抽出し、オブジェクトsとする(ステップS302)。図1の例では、情報処理装置100は、オブジェクト集合Sに含まれるオブジェクトの中で、検索クエリオブジェクトであるベクトルVD10との距離が最も短いオブジェクトを抽出し、オブジェクトsとする。例えば、情報処理装置100は、オブジェクト集合Sに含まれるオブジェクトの中で、ベクトルVD10との距離が最も短いノードN2を抽出し、オブジェクトsとする。例えば、情報処理装置100は、ルートノード(起点ベクトル)として選択されたオブジェクト(ノード)のみがオブジェクト集合Sの要素の場合には、結果的にルートノード(起点ベクトル)がオブジェクトsとして抽出される。次に、情報処理装置100は、オブジェクトsをオブジェクト集合Sから除外する(ステップS303)。   Next, the information processing apparatus 100 extracts, from the objects included in the object set S, an object having the shortest distance from the object y when the search query object is y, and sets it as an object s (step S302). In the example of FIG. 1, the information processing apparatus 100 extracts an object having the shortest distance from the vector VD10 that is a search query object among the objects included in the object set S, and sets it as an object s. For example, the information processing apparatus 100 extracts the node N2 having the shortest distance from the vector VD10 among the objects included in the object set S and sets it as the object s. For example, when only the object (node) selected as the root node (starting vector) is an element of the object set S, the information processing apparatus 100 extracts the root node (starting vector) as the object s as a result. . Next, the information processing apparatus 100 excludes the object s from the object set S (step S303).

次に、情報処理装置100は、オブジェクトsとオブジェクトyとの距離d(s,y)がr(1+ε)を超えるか否かを判定する(ステップS304)。ここで、εは拡張要素であり、r(1+ε)は、探索範囲(この範囲内のノードのみを探索する。検索範囲よりも大きくすることで精度を高めることができる)の半径を示す値である。オブジェクトsとオブジェクトyとの距離d(s,y)がr(1+ε)を超える場合(ステップS304:Yes)、情報処理装置100は、オブジェクト集合Rをオブジェクトyの近傍オブジェクト集合として出力し(ステップS305)、処理を終了する。   Next, the information processing apparatus 100 determines whether or not the distance d (s, y) between the object s and the object y exceeds r (1 + ε) (step S304). Here, ε is an expansion element, and r (1 + ε) is a value indicating the radius of the search range (search only for nodes within this range. The accuracy can be increased by making it larger than the search range). is there. When the distance d (s, y) between the object s and the object y exceeds r (1 + ε) (step S304: Yes), the information processing apparatus 100 outputs the object set R as a neighborhood object set of the object y (step S304). S305), the process is terminated.

オブジェクトsと検索クエリオブジェクトyとの距離d(s,y)がr(1+ε)を超えない場合(ステップS304:No)、情報処理装置100は、オブジェクトsの近傍オブジェクト集合N(G,s)の要素であるオブジェクトの中からオブジェクト集合Cに含まれないオブジェクトを一つ選択し、選択したオブジェクトuを、オブジェクト集合Cに格納する(ステップS306)。オブジェクト集合Cは、重複検索を回避するために便宜上設けられるものであり、処理開始時には空集合に設定される。   When the distance d (s, y) between the object s and the search query object y does not exceed r (1 + ε) (step S304: No), the information processing apparatus 100 determines the neighborhood object set N (G, s) of the object s. One object that is not included in the object set C is selected from the objects that are the elements of the selected element u, and the selected object u is stored in the object set C (step S306). The object set C is provided for convenience in order to avoid duplicate search, and is set to an empty set at the start of processing.

次に、情報処理装置100は、オブジェクトuとオブジェクトyとの距離d(u,y)がr(1+ε)以下であるか否かを判定する(ステップS307)。オブジェクトuとオブジェクトyとの距離d(u,y)がr(1+ε)以下である場合(ステップS307:Yes)、情報処理装置100は、オブジェクトuをオブジェクト集合Sに追加する(ステップS308)。   Next, the information processing apparatus 100 determines whether or not the distance d (u, y) between the object u and the object y is equal to or less than r (1 + ε) (step S307). When the distance d (u, y) between the object u and the object y is equal to or less than r (1 + ε) (step S307: Yes), the information processing apparatus 100 adds the object u to the object set S (step S308).

次に、情報処理装置100は、オブジェクトuとオブジェクトyとの距離d(u,y)がr以下であるか否かを判定する(ステップS309)。オブジェクトuとオブジェクトyとの距離d(u,y)がrを超える場合(ステップS309:No)、情報処理装置100は、ステップS315の判定(処理)を行う。   Next, the information processing apparatus 100 determines whether the distance d (u, y) between the object u and the object y is equal to or smaller than r (step S309). When the distance d (u, y) between the object u and the object y exceeds r (step S309: No), the information processing apparatus 100 performs the determination (processing) in step S315.

オブジェクトuとオブジェクトyとの距離d(u,y)がr以下である場合(ステップS309:Yes)、情報処理装置100は、オブジェクトuをオブジェクト集合Rに追加する(ステップS310)。そして、情報処理装置100は、オブジェクト集合Rに含まれるオブジェクト数がksを超えるか否かを判定する(ステップS311)。所定数ksは、任意に定められる自然数である。例えば、ks=2やks=10等の種々の設定であってもよい。   When the distance d (u, y) between the object u and the object y is equal to or less than r (step S309: Yes), the information processing apparatus 100 adds the object u to the object set R (step S310). Then, the information processing apparatus 100 determines whether or not the number of objects included in the object set R exceeds ks (step S311). The predetermined number ks is a natural number that is arbitrarily determined. For example, various settings such as ks = 2 and ks = 10 may be used.

オブジェクト集合Rに含まれるオブジェクト数がksを超える場合(ステップS311:Yes)、情報処理装置100は、オブジェクト集合Rに含まれるオブジェクトの中でオブジェクトyとの距離が最も長い(遠い)オブジェクトを、オブジェクト集合Rから除外する(ステップS312)。   When the number of objects included in the object set R exceeds ks (step S311: Yes), the information processing apparatus 100 determines an object having the longest (far) object from the object y among the objects included in the object set R. Exclude from the object set R (step S312).

次に、情報処理装置100は、オブジェクト集合Rに含まれるオブジェクト数がksと一致するか否かを判定する(ステップS313)。オブジェクト集合Rに含まれるオブジェクト数がksと一致する場合(ステップS313:Yes)、情報処理装置100は、オブジェクト集合Rに含まれるオブジェクトの中でオブジェクトyとの距離が最も長い(遠い)オブジェクトと、オブジェクトyとの距離を、新たなrに設定する(ステップS314)。   Next, the information processing apparatus 100 determines whether or not the number of objects included in the object set R matches ks (step S313). When the number of objects included in the object set R matches ks (step S313: Yes), the information processing apparatus 100 determines that the object having the longest (far) distance from the object y among the objects included in the object set R is The distance from the object y is set to a new r (step S314).

そして、情報処理装置100は、オブジェクトsの近傍オブジェクト集合N(G,s)の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Cに格納し終えたか否かを判定する(ステップS315)。オブジェクトsの近傍オブジェクト集合N(G,s)の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Cに格納し終えていない場合(ステップS315:No)、情報処理装置100は、ステップS306に戻って処理を繰り返す。   Then, the information processing apparatus 100 determines whether all objects have been selected from the objects that are elements of the neighboring object set N (G, s) of the object s and stored in the object set C (step S315). . When all the objects have not been selected and stored in the object set C from the objects that are elements of the neighboring object set N (G, s) of the object s (step S315: No), the information processing apparatus 100 performs step S306. Return to and repeat the process.

オブジェクトsの近傍オブジェクト集合N(G,s)の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Cに格納し終えた場合(ステップS315:Yes)、情報処理装置100は、オブジェクト集合Sが空集合であるか否かを判定する(ステップS316)。オブジェクト集合Sが空集合でない場合(ステップS316:No)、情報処理装置100は、ステップS302に戻って処理を繰り返す。また、オブジェクト集合Sが空集合である場合(ステップS316:Yes)、情報処理装置100は、オブジェクト集合Rを出力し、処理を終了する(ステップS317)。例えば、情報処理装置100は、オブジェクト集合Rに含まれるオブジェクト(ノード)を検索クエリ(入力オブジェクトy)に対応する検索結果として、検索を行った端末装置10等へ提供してもよい。図1の例では、情報処理装置100は、オブジェクト集合Rに含まれるノードN2やノードN1を検索クエリ(ユーザU1のルートRT10における移動のベクトルVD10)に対応する検索結果として、検索を行った端末装置10等へ提供してもよい。例えば、情報処理装置100は、ノードN2に対応する移動経路MP2や、ノードN1に対応する移動経路MP35をユーザU1の移動に類似する移動経路としてユーザU1が利用する端末装置10に提供する。   When all the objects are selected from the objects that are elements of the neighboring object set N (G, s) of the object s and stored in the object set C (step S315: Yes), the information processing apparatus 100 determines that the object set S It is determined whether or not is an empty set (step S316). When the object set S is not an empty set (step S316: No), the information processing apparatus 100 returns to step S302 and repeats the process. If the object set S is an empty set (step S316: Yes), the information processing apparatus 100 outputs the object set R and ends the process (step S317). For example, the information processing apparatus 100 may provide an object (node) included in the object set R as a search result corresponding to the search query (input object y) to the terminal device 10 that performed the search. In the example of FIG. 1, the information processing apparatus 100 searches the nodes N2 and N1 included in the object set R as search results corresponding to the search query (movement vector VD10 in the route RT10 of the user U1). You may provide to the apparatus 10 grade | etc.,. For example, the information processing apparatus 100 provides the travel route MP2 corresponding to the node N2 or the travel route MP35 corresponding to the node N1 to the terminal device 10 used by the user U1 as a travel route similar to the movement of the user U1.

〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、抽出部134と、送信部135を有する。取得部131は、複数の移動経路の各々に対応する複数のノードであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のノードが類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する。抽出部134は、取得部131により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数の移動経路のうち、一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する。送信部135は、抽出部134により抽出された類似移動経路に対応付けられた対応ユーザの情報に基づいて、一のユーザが利用する端末装置へ一のユーザの移動に関連する推奨情報を送信する。
[6. effect〕
As described above, the information processing apparatus 100 according to the embodiment includes the acquisition unit 131, the extraction unit 134, and the transmission unit 135. The acquisition unit 131 is a graph in which a plurality of nodes corresponding to each of a plurality of movement paths and a plurality of nodes associated with corresponding users who have moved corresponding to the respective movement paths are connected according to similarity. Information and movement information related to movement of one user are acquired. The extraction unit 134 searches for graph information starting from a starting node that is a starting point for searching for graph information determined based on a predetermined criterion among a plurality of nodes of the graph information acquired by the acquiring unit 131. Thus, a similar movement route that is a movement route similar to the movement of one user is extracted from the plurality of movement routes. The transmission unit 135 transmits the recommended information related to the movement of the one user to the terminal device used by the one user based on the corresponding user information associated with the similar movement route extracted by the extraction unit 134. .

このように、実施形態に係る情報処理装置100は、起点ノードを起点としてグラフ情報を検索し、複数の移動経路のうち、一のユーザの移動に類似する類似移動経路を抽出する。そして、情報処理装置100は、抽出した類似移動経路に対応付けられた対応ユーザの情報に基づいて、一のユーザが利用する端末装置へ一のユーザの移動に関連する推奨情報を送信することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment searches the graph information using the starting node as a starting point, and extracts a similar moving path similar to the movement of one user from the plurality of moving paths. Then, the information processing apparatus 100 transmits recommended information related to the movement of the one user to the terminal device used by the one user, based on the information of the corresponding user associated with the extracted similar movement route. Appropriate recommendations can be made according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、複数の移動経路の各々に対応する移動において対応ユーザが訪れた訪問地点が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報を取得する。送信部135は、類似移動経路に対応付けられた対応ユーザの訪問地点に基づいて、一のユーザの移動において訪れる地点を推奨する推奨情報を送信する。   Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 is configured such that a plurality of nodes associated with visit points visited by a corresponding user in a movement corresponding to each of a plurality of movement paths are similar to a plurality of movement paths. Get connected graph information according to gender. The transmission unit 135 transmits recommended information for recommending a visited place in the movement of one user based on the visited place of the corresponding user associated with the similar movement route.

このように、実施形態に係る情報処理装置100は、類似移動経路に対応付けられた対応ユーザの訪問地点に基づいて、一のユーザの移動において訪れる地点を推奨する推奨情報を送信することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment transmits recommended information that recommends a point visited in the movement of one user based on the visit point of the corresponding user associated with the similar movement route. Appropriate recommendations can be made according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、対応ユーザの属性情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの属性情報とを取得する。送信部135は、類似移動経路のうち、類似移動経路に対応付けられた対応ユーザの属性情報が、一のユーザの属性情報に対応する移動経路に基づく推奨情報を送信する。   Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 includes one piece of graph information in which a plurality of nodes associated with attribute information of a corresponding user are linked according to the similarity of a plurality of travel routes, Get user attribute information. The transmission unit 135 transmits recommendation information based on a movement route in which the attribute information of the corresponding user associated with the similar movement route among the similar movement routes corresponds to the attribute information of one user.

このように、実施形態に係る情報処理装置100は、類似移動経路のうち、類似移動経路に対応付けられた対応ユーザの属性情報が、一のユーザの属性情報に対応する移動経路に基づく推奨情報を送信することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment has recommended information based on a movement route in which the attribute information of the corresponding user associated with the similar movement route among the similar movement routes corresponds to the attribute information of one user. By transmitting this, it is possible to make an appropriate recommendation according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、各移動経路に対応する移動におけるコンテキスト情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動におけるコンテキスト情報とを取得する。送信部135は、類似移動経路のうち、類似移動経路に対応付けられたコンテキスト情報が、一のユーザの移動におけるコンテキスト情報に対応する移動経路に基づく推奨情報を送信する。   Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 is a graph in which a plurality of nodes associated with context information in movement corresponding to each movement route are connected according to the similarity of the plurality of movement routes. Information and context information in the movement of one user are acquired. The transmission unit 135 transmits recommendation information based on a movement route in which context information associated with the similar movement route among the similar movement routes corresponds to the context information in the movement of one user.

このように、実施形態に係る情報処理装置100は、類似移動経路のうち、類似移動経路に対応付けられたコンテキスト情報が、一のユーザの移動におけるコンテキスト情報に対応する移動経路に基づく推奨情報を送信することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment provides the recommended information based on the movement path corresponding to the context information in the movement of one user in the context information associated with the similar movement path among the similar movement paths. By transmitting, an appropriate recommendation can be made according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、各移動経路に対応する移動における時刻情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動における時刻情報とを取得する。送信部135は、類似移動経路のうち、類似移動経路に対応付けられた時刻情報が、一のユーザの移動における時刻情報に対応する移動経路に基づく推奨情報を送信する。   In the information processing apparatus 100 according to the embodiment, the acquisition unit 131 is a graph in which a plurality of nodes associated with time information in movement corresponding to each movement route are connected according to the similarity of the plurality of movement routes. Information and time information in the movement of one user are acquired. The transmission unit 135 transmits the recommended information based on the movement route in which the time information associated with the similar movement route among the similar movement routes corresponds to the time information in the movement of one user.

このように、実施形態に係る情報処理装置100は、類似移動経路のうち、類似移動経路に対応付けられた時刻情報が、一のユーザの移動における時刻情報に対応する移動経路に基づく推奨情報を送信することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment includes the recommended information based on the movement route corresponding to the time information in the movement of one user in the time information associated with the similar movement route among the similar movement routes. By transmitting, an appropriate recommendation can be made according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、各移動経路に対応する移動における気象情報が関連付けられた複数のノードが、複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動における気象情報とを取得する。送信部135は、類似移動経路のうち、類似移動経路に対応付けられた気象情報が、一のユーザの移動における気象情報に対応する移動経路に基づく推奨情報を送信する。   In the information processing apparatus 100 according to the embodiment, the acquisition unit 131 is a graph in which a plurality of nodes associated with weather information in movement corresponding to each movement route are connected according to the similarity of the plurality of movement routes. Information and weather information in the movement of one user are acquired. The transmission unit 135 transmits the recommended information based on the travel route in which the weather information associated with the similar travel route among the similar travel routes corresponds to the weather information in the movement of one user.

このように、実施形態に係る情報処理装置100は、類似移動経路のうち、類似移動経路に対応付けられた気象情報が、一のユーザの移動における気象情報に対応する移動経路に基づく推奨情報を送信することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment provides the recommended information based on the travel route corresponding to the weather information in the movement of one user in which the weather information associated with the similar travel route among the similar travel routes. By transmitting, an appropriate recommendation can be made according to the movement of the user.

また、実施形態に係る情報処理装置100は、決定部133を有する。決定部133は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定する。抽出部134は、決定部133により決定された起点ノードを起点として、類似移動経路を抽出する。   Further, the information processing apparatus 100 according to the embodiment includes a determination unit 133. The determining unit 133 determines the starting node based on the index information used for determining the starting node. The extraction unit 134 extracts a similar movement route using the starting node determined by the determination unit 133 as a starting point.

このように、実施形態に係る情報処理装置100は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定することにより、適切な起点からグラフ情報を検索することができるため、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment can search the graph information from an appropriate starting point by determining the starting point node based on the index information used for determining the starting point node. Appropriate recommendations can be made according to travel.

また、実施形態に係る情報処理装置100において、決定部133は、木構造型のインデックス情報に基づいて、起点ノードを決定する。   Further, in the information processing apparatus 100 according to the embodiment, the determination unit 133 determines a starting node based on tree structure type index information.

このように、実施形態に係る情報処理装置100は、木構造型のインデックス情報に基づいて、起点ノードを決定することにより、起点を高速に決定しつつ、適切な起点からグラフ情報を検索することができるため、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment searches the graph information from an appropriate starting point while determining the starting point at high speed by determining the starting point node based on the tree structure type index information. Therefore, an appropriate recommendation can be made according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、複数の移動経路の各々に対応する複数のベクトルの類似性に応じて、複数のノードが連結されたグラフ情報を取得する。   In the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires graph information in which a plurality of nodes are connected according to the similarity of a plurality of vectors corresponding to each of a plurality of movement paths.

このように、実施形態に係る情報処理装置100は、複数の移動経路の各々に対応する複数のベクトルの類似性に応じて、複数のノードが連結されたグラフ情報を取得することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment acquires the graph information in which a plurality of nodes are connected according to the similarity of a plurality of vectors corresponding to each of the plurality of movement paths, thereby Appropriate recommendations can be made according to travel.

また、実施形態に係る情報処理装置100において、取得部131は、複数の移動経路の各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。   Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires graph information in which a plurality of vectors indicating features of a plurality of movement paths are connected according to similarity.

このように、実施形態に係る情報処理装置100は、複数の移動経路の各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment obtains graph information in which a plurality of vectors indicating the characteristics of a plurality of movement paths are connected according to similarity, and accordingly, according to the movement of the user. Appropriate recommendations can be made.

また、実施形態に係る情報処理装置100において、取得部131は、所定のモデルを用いて複数の移動経路の各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。   Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 connects a plurality of vectors whose elements are feature amounts extracted from each of a plurality of movement paths using a predetermined model according to similarity. Get the graph information.

このように、実施形態に係る情報処理装置100は、所定のモデルを用いて複数の移動経路の各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment is a graph in which a plurality of vectors whose elements are feature amounts extracted from each of a plurality of movement paths using a predetermined model are connected according to similarity. By acquiring the information, it is possible to make an appropriate recommendation according to the movement of the user.

また、実施形態に係る情報処理装置100において、取得部131は、複数の移動経路に関する情報を所定のモデルに入力することにより、抽出される複数の移動経路の各々の特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。   Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 inputs a plurality of movement routes into a predetermined model, and thereby obtains a plurality of elements having each feature amount of the plurality of movement routes extracted as an element. The graph information in which the vectors are connected according to the similarity is acquired.

このように、実施形態に係る情報処理装置100は、複数の移動経路に関する情報を所定のモデルに入力することにより、抽出される複数の移動経路の各々の特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得することにより、ユーザの移動に応じて適切な推奨を行うことができる。   As described above, the information processing apparatus 100 according to the embodiment inputs information related to a plurality of movement routes to a predetermined model, so that a plurality of vectors whose elements are the feature amounts of the plurality of movement routes to be extracted are obtained. By obtaining the graph information linked according to the similarity, it is possible to make an appropriate recommendation according to the movement of the user.

〔7.ハードウェア構成〕
上述してきた実施形態に係る情報処理装置100は、例えば図15に示すような構成のコンピュータ1000によって実現される。図15は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
[7. Hardware configuration)
The information processing apparatus 100 according to the embodiment described above is realized by a computer 1000 configured as shown in FIG. 15, for example. FIG. 15 is a hardware configuration diagram illustrating an example of a computer that implements the functions of the information processing apparatus. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface (I / F) 1500, an input / output interface (I / F) 1600, and a media interface (I / F). ) 1700.

CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。   The CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400 and controls each unit. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 is started up, a program depending on the hardware of the computer 1000, and the like.

HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。   The HDD 1400 stores programs executed by the CPU 1100, data used by the programs, and the like. The communication interface 1500 receives data from other devices via the network N and sends the data to the CPU 1100, and transmits data generated by the CPU 1100 to other devices via the network N.

CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。   The CPU 1100 controls an output device such as a display and a printer and an input device such as a keyboard and a mouse via the input / output interface 1600. The CPU 1100 acquires data from the input device via the input / output interface 1600. In addition, the CPU 1100 outputs the generated data to the output device via the input / output interface 1600.

メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。   The media interface 1700 reads a program or data stored in the recording medium 1800 and provides it to the CPU 1100 via the RAM 1200. The CPU 1100 loads such a program from the recording medium 1800 onto the RAM 1200 via the media interface 1700, and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory. Etc.

例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。   For example, when the computer 1000 functions as the information processing apparatus 100 according to the embodiment, the CPU 1100 of the computer 1000 executes a program or data (for example, model M1 (model data MDT1)) loaded on the RAM 1200. The function of the control unit 130 is realized. The CPU 1100 of the computer 1000 reads and executes these programs or data (for example, model M1 (model data MDT1)) from the recording medium 1800. As another example, these programs or data are transmitted from other devices via the network N. May be obtained.

以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。   As described above, some of the embodiments of the present application have been described in detail with reference to the drawings. It is possible to implement the present invention in other forms with improvements.

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

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

また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   In addition, the processes described in the embodiments described above can be appropriately combined within a range in which the process contents are not contradictory.

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

1 情報処理システム
100 情報処理装置
123 移動経路情報記憶部
124 インデックス情報記憶部
125 グラフ情報記憶部
126 モデル情報記憶部
130 制御部
131 取得部
132 生成部
133 決定部
134 抽出部
135 送信部
10 端末装置
50 情報提供装置
N ネットワーク
DESCRIPTION OF SYMBOLS 1 Information processing system 100 Information processing apparatus 123 Movement path information storage part 124 Index information storage part 125 Graph information storage part 126 Model information storage part 130 Control part 131 Acquisition part 132 Generation part 133 Determination part 134 Extraction part 135 Transmission part 10 Terminal apparatus 50 Information provider N Network

Claims (14)

複数の移動経路の各々に対応する複数のノードであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のノードが、前記複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する取得部と、
前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数の移動経路のうち、前記一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する抽出部と、
前記抽出部により抽出された前記類似移動経路に対応付けられた前記対応ユーザの情報に基づいて、前記一のユーザが利用する端末装置へ前記一のユーザの移動に関連する推奨情報を送信する送信部と、
を備えたことを特徴とする情報処理装置。
A plurality of nodes corresponding to each of the plurality of movement paths, and a plurality of nodes associated with corresponding users who have moved corresponding to the respective movement paths are connected according to the similarity of the plurality of movement paths. An acquisition unit for acquiring movement information relating to movement of one user,
By searching the graph information starting from a starting node that is a starting point for searching for the graph information determined based on a predetermined criterion among the plurality of nodes of the graph information acquired by the acquiring unit. An extraction unit for extracting a similar movement route that is a movement route similar to the movement of the one user among the plurality of movement routes;
Transmission that transmits recommended information related to the movement of the one user to the terminal device used by the one user based on the information of the corresponding user associated with the similar movement route extracted by the extraction unit And
An information processing apparatus comprising:
前記取得部は、
前記複数の移動経路の各々に対応する移動において前記対応ユーザが訪れた訪問地点が関連付けられた前記複数のノードが、前記複数の移動経路の類似性に応じて連結された前記グラフ情報を取得し、
前記送信部は、
前記類似移動経路に対応付けられた前記対応ユーザの前記訪問地点に基づいて、前記一のユーザの移動において訪れる地点を推奨する前記推奨情報を送信する
ことを特徴とする請求項1に記載の情報処理装置。
The acquisition unit
The plurality of nodes associated with the visit points visited by the corresponding user in the movement corresponding to each of the plurality of movement paths acquire the graph information connected according to the similarity of the plurality of movement paths. ,
The transmitter is
2. The information according to claim 1, wherein the recommendation information for recommending a point visited in the movement of the one user is transmitted based on the visited point of the corresponding user associated with the similar movement route. Processing equipment.
前記取得部は、
前記対応ユーザの属性情報が関連付けられた前記複数のノードが、前記複数の移動経路の類似性に応じて連結された前記グラフ情報と、前記一のユーザの属性情報とを取得し、
前記送信部は、
前記類似移動経路のうち、前記類似移動経路に対応付けられた前記対応ユーザの属性情報が、前記一のユーザの属性情報に対応する移動経路に基づく前記推奨情報を送信する
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
The acquisition unit
The plurality of nodes associated with the attribute information of the corresponding user acquire the graph information connected according to the similarity of the plurality of travel routes, and the attribute information of the one user,
The transmitter is
The attribute information of the corresponding user associated with the similar movement route among the similar movement routes transmits the recommended information based on the movement route corresponding to the attribute information of the one user. The information processing apparatus according to claim 1 or 2.
前記取得部は、
各移動経路に対応する移動におけるコンテキスト情報が関連付けられた前記複数のノードが、前記複数の移動経路の類似性に応じて連結された前記グラフ情報と、前記一のユーザの移動におけるコンテキスト情報とを取得し、
前記送信部は、
前記類似移動経路のうち、前記類似移動経路に対応付けられたコンテキスト情報が、前記一のユーザの移動におけるコンテキスト情報に対応する移動経路に基づく前記推奨情報を送信する
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
The acquisition unit
The graph information in which the plurality of nodes associated with the context information in the movement corresponding to each movement path are connected according to the similarity of the plurality of movement paths, and the context information in the movement of the one user. Acquired,
The transmitter is
The context information associated with the similar movement path among the similar movement paths transmits the recommended information based on the movement path corresponding to the context information in the movement of the one user. The information processing apparatus according to any one of?
前記取得部は、
各移動経路に対応する移動における時刻情報が関連付けられた前記複数のノードが、前記複数の移動経路の類似性に応じて連結された前記グラフ情報と、前記一のユーザの移動における時刻情報とを取得し、
前記送信部は、
前記類似移動経路のうち、前記類似移動経路に対応付けられた時刻情報が、前記一のユーザの移動における時刻情報に対応する移動経路に基づく前記推奨情報を送信する
ことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
The acquisition unit
The graph information in which the plurality of nodes associated with the time information in the movement corresponding to each movement route are linked according to the similarity of the plurality of movement routes, and the time information in the movement of the one user. Acquired,
The transmitter is
The time information associated with the similar movement route among the similar movement routes transmits the recommended information based on the movement route corresponding to the time information in the movement of the one user. Information processing apparatus of any one of -4.
前記取得部は、
各移動経路に対応する移動における気象情報が関連付けられた前記複数のノードが、前記複数の移動経路の類似性に応じて連結された前記グラフ情報と、前記一のユーザの移動における気象情報とを取得し、
前記送信部は、
前記類似移動経路のうち、前記類似移動経路に対応付けられた気象情報が、前記一のユーザの移動における気象情報に対応する移動経路に基づく前記推奨情報を送信する
ことを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
The acquisition unit
The graph information in which the plurality of nodes associated with the weather information in the movement corresponding to each movement path are connected according to the similarity of the plurality of movement paths, and the weather information in the movement of the one user. Acquired,
The transmitter is
The weather information associated with the similar travel route among the similar travel routes transmits the recommended information based on the travel route corresponding to the weather information in the movement of the one user. Information processing apparatus of any one of -5.
前記起点ノードの決定に用いるインデックス情報に基づいて、前記起点ノードを決定する決定部、
をさらに備え、
前記抽出部は、
前記決定部により決定された前記起点ノードを起点として、前記類似移動経路を抽出する
ことを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
A determination unit that determines the starting node based on index information used to determine the starting node;
Further comprising
The extraction unit includes:
The information processing apparatus according to claim 1, wherein the similar movement route is extracted using the starting node determined by the determining unit as a starting point.
前記決定部は、
木構造型の前記インデックス情報に基づいて、前記起点ノードを決定する
ことを特徴とする請求項7に記載の情報処理装置。
The determination unit
The information processing apparatus according to claim 7, wherein the starting node is determined based on the tree structure type index information.
前記取得部は、
前記複数の移動経路の各々に対応する複数のベクトルの類似性に応じて、前記複数のノードが連結されたグラフ情報を取得する
ことを特徴とする請求項1〜8のいずれか1項に記載の情報処理装置。
The acquisition unit
The graph information in which the plurality of nodes are connected is acquired according to the similarity of a plurality of vectors corresponding to each of the plurality of movement paths. Information processing device.
前記取得部は、
前記複数の移動経路の各々の特徴を示す前記複数のベクトルが類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項9に記載の情報処理装置。
The acquisition unit
The information processing apparatus according to claim 9, wherein the graph information obtained by connecting the plurality of vectors indicating the characteristics of the plurality of movement paths according to similarity is acquired.
前記取得部は、
所定のモデルを用いて前記複数の移動経路の各々から抽出された特徴量を要素とする前記複数のベクトルが、類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項9または請求項10に記載の情報処理装置。
The acquisition unit
The graph information in which the plurality of vectors each having a feature amount extracted from each of the plurality of movement paths using a predetermined model as elements is acquired according to similarity. The information processing apparatus according to claim 9 or claim 10.
前記取得部は、
前記複数の移動経路に関する情報を所定のモデルに入力することにより、抽出される前記複数の移動経路の各々の特徴量を要素とする前記複数のベクトルが、類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項9〜11のいずれか1項に記載の情報処理装置。
The acquisition unit
The graph in which the plurality of vectors each having the feature amount of each of the plurality of movement paths extracted by inputting information on the plurality of movement paths into a predetermined model are connected according to similarity. The information processing apparatus according to claim 9, wherein information is acquired.
コンピュータが実行する情報処理方法であって、
複数の移動経路の各々に対応する複数のノードであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のノードが、前記複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する取得工程と、
前記取得工程により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数の移動経路のうち、前記一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する抽出工程と、
前記抽出工程により抽出された前記類似移動経路に対応付けられた前記対応ユーザの情報に基づいて、前記一のユーザが利用する端末装置へ前記一のユーザの移動に関連する推奨情報を送信する送信工程と、
を含んだことを特徴とする情報処理方法。
An information processing method executed by a computer,
A plurality of nodes corresponding to each of the plurality of movement paths, and a plurality of nodes associated with corresponding users who have moved corresponding to the respective movement paths are connected according to the similarity of the plurality of movement paths. The acquisition process of acquiring the movement information related to the movement of the graph information and the movement of one user,
By searching the graph information starting from a starting node that is a starting point of the search of the graph information determined based on a predetermined criterion among the plurality of nodes of the graph information acquired by the acquiring step An extraction step of extracting a similar movement route that is a movement route similar to the movement of the one user among the plurality of movement routes;
Transmission for transmitting recommended information related to the movement of the one user to the terminal device used by the one user based on the information of the corresponding user associated with the similar movement route extracted by the extraction step Process,
An information processing method comprising:
複数の移動経路の各々に対応する複数のノードであって、各移動経路に対応する移動を行った対応ユーザが関連付けられた複数のノードが、前記複数の移動経路の類似性に応じて連結されたグラフ情報と、一のユーザの移動に関する移動情報を取得する取得手順と、
前記取得手順により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数の移動経路のうち、前記一のユーザの移動に類似する移動の移動経路である類似移動経路を抽出する抽出手順と、
前記抽出手順により抽出された前記類似移動経路に対応付けられた前記対応ユーザの情報に基づいて、前記一のユーザが利用する端末装置へ前記一のユーザの移動に関連する推奨情報を送信する送信手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
A plurality of nodes corresponding to each of the plurality of movement paths, and a plurality of nodes associated with corresponding users who have moved corresponding to the respective movement paths are connected according to the similarity of the plurality of movement paths. Acquisition information for acquiring movement information related to movement of a single user,
By searching for the graph information starting from a starting node that is a starting point for searching for the graph information determined based on a predetermined criterion among the plurality of nodes of the graph information acquired by the acquiring procedure An extraction procedure for extracting a similar movement route that is a movement route similar to the movement of the one user among the plurality of movement routes;
Transmission for transmitting recommended information related to the movement of the one user to the terminal device used by the one user based on the information of the corresponding user associated with the similar movement route extracted by the extraction procedure Procedure and
An information processing program for causing a computer to execute.
JP2018022329A 2018-02-09 2018-02-09 Information processing equipment, information processing methods, and information processing programs Active JP7067946B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018022329A JP7067946B2 (en) 2018-02-09 2018-02-09 Information processing equipment, information processing methods, and information processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018022329A JP7067946B2 (en) 2018-02-09 2018-02-09 Information processing equipment, information processing methods, and information processing programs

Publications (2)

Publication Number Publication Date
JP2019139513A true JP2019139513A (en) 2019-08-22
JP7067946B2 JP7067946B2 (en) 2022-05-16

Family

ID=67694011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022329A Active JP7067946B2 (en) 2018-02-09 2018-02-09 Information processing equipment, information processing methods, and information processing programs

Country Status (1)

Country Link
JP (1) JP7067946B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7420435B2 (en) 2020-01-27 2024-01-23 Necソリューションイノベータ株式会社 Prediction model generation device, specific behavior prediction device, specific behavior prediction system device, prediction model production method, specific behavior prediction result information production method, program, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140362A (en) * 2000-10-31 2002-05-17 Toshiba Corp System and method for providing information to moving body
US20030100993A1 (en) * 2001-11-27 2003-05-29 Kirshenbaum Evan R. Automatic gathering and analysis of data on commute paths
JP2011214939A (en) * 2010-03-31 2011-10-27 Denso Corp Navigation system and program thereof
JP2013246036A (en) * 2012-05-25 2013-12-09 Toyota Infotechnology Center Co Ltd Information providing device, information providing method, and information providing program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140362A (en) * 2000-10-31 2002-05-17 Toshiba Corp System and method for providing information to moving body
US20030100993A1 (en) * 2001-11-27 2003-05-29 Kirshenbaum Evan R. Automatic gathering and analysis of data on commute paths
JP2011214939A (en) * 2010-03-31 2011-10-27 Denso Corp Navigation system and program thereof
JP2013246036A (en) * 2012-05-25 2013-12-09 Toyota Infotechnology Center Co Ltd Information providing device, information providing method, and information providing program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岩崎雅二郎: "木構造型インデックスを用いた近似k最近傍グラフによる近傍検索", 情報処理学会論文誌 論文誌ジャーナル [CD−ROM], vol. 52, no. 2, JPN6021005574, 15 February 2011 (2011-02-15), JP, pages 817 - 828, ISSN: 0004619157 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7420435B2 (en) 2020-01-27 2024-01-23 Necソリューションイノベータ株式会社 Prediction model generation device, specific behavior prediction device, specific behavior prediction system device, prediction model production method, specific behavior prediction result information production method, program, and recording medium

Also Published As

Publication number Publication date
JP7067946B2 (en) 2022-05-16

Similar Documents

Publication Publication Date Title
US10878002B2 (en) Activity based analytics
Kurashima et al. Travel route recommendation using geotagged photos
EP3241370B1 (en) Analyzing semantic places and related data from a plurality of location data reports
Fogli et al. Exploiting semantics for context-aware itinerary recommendation
Dogan et al. In-store behavioral analytics technology selection using fuzzy decision making
JP6967462B2 (en) Information processing equipment, information processing methods, and information processing programs
Doan et al. An attentive spatio-temporal neural model for successive point of interest recommendation
Ren et al. Mining dynamic preferences from geographical and interactive correlations for next POI recommendation
JP7067946B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6976178B2 (en) Extractor, extraction method, and extraction program
Zhou et al. Similarity-based probabilistic category-based location recommendation utilizing temporal and geographical influence
US20210231449A1 (en) Deep User Modeling by Behavior
US10979850B1 (en) Method and apparatus for federated location fingerprinting
JP6276722B2 (en) Behavior prediction device, behavior prediction method, and behavior prediction program
JP7041530B2 (en) Display program, display method, and display device
JP2019128795A (en) Authentication device, authentication method, and authentication program
Chen et al. Mining user trajectories from smartphone data considering data uncertainty
US10149649B2 (en) Method for identifying exercise path, method for searching for exercise path, and system thereof
JP2019095831A (en) Extractor, extraction method, and extraction program
JP2019159965A (en) Information processor, information processing method and program
US20230376799A1 (en) Machine learning model for recommending interaction parties
JP7221590B2 (en) Extraction device, extraction method, and extraction program
JP2019159806A (en) Information processor, information processing method and program
Santana et al. Transforming Geo-Referenced Data in Contextual Information for Context-Aware Recommender Systems
Zhang et al. Context-aware location annotation on mobility records through user grouping

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220119

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220119

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220131

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220428

R150 Certificate of patent or registration of utility model

Ref document number: 7067946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350