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

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

Info

Publication number
JP6865706B2
JP6865706B2 JP2018048357A JP2018048357A JP6865706B2 JP 6865706 B2 JP6865706 B2 JP 6865706B2 JP 2018048357 A JP2018048357 A JP 2018048357A JP 2018048357 A JP2018048357 A JP 2018048357A JP 6865706 B2 JP6865706 B2 JP 6865706B2
Authority
JP
Japan
Prior art keywords
information
item
node
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.)
Active
Application number
JP2018048357A
Other languages
Japanese (ja)
Other versions
JP2019160064A (en
Inventor
隼人 小林
隼人 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2018048357A priority Critical patent/JP6865706B2/en
Publication of JP2019160064A publication Critical patent/JP2019160064A/en
Application granted granted Critical
Publication of JP6865706B2 publication Critical patent/JP6865706B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

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

従来、種々の情報を抽出する技術が提供されている。例えば、他のカテゴリに属する概念間の相対的な関係を考慮した上で、概念間の類似性を推定する技術が提供されている。このような技術において推定された概念間の類似性に基づいて、アイテムの配信等の種々のサービスが提供される。 Conventionally, techniques for extracting various types of information have been provided. For example, a technique for estimating the similarity between concepts is provided in consideration of the relative relationships between concepts belonging to other categories. Various services such as item delivery are provided based on the similarities between the concepts estimated in such techniques.

特開2007−213151号公報Japanese Unexamined Patent Publication No. 2007-21351

岩崎雅二郎 "木構造型インデックスを利用した近似k最近傍グラフによる近傍検索", 情報処理学会論文誌, 2011/2, Vol. 52, No. 2. pp.817-828.Masajiro Iwasaki "Neighborhood search by approximate k-nearest neighbor graph using tree-structured index", IPSJ Journal, 2011/2, Vol. 52, No. 2. pp.817-828.

しかしながら、上記の従来技術では、アイテムを適切に抽出することが難しい場合がある。例えば、他のカテゴリに属する概念間の類似性を推定するだけでは、所望の情報を抽出することが難しい。例えば、同じカテゴリに属する情報の類似性を推定することができるとは限らず、このような場合、所望の情報を抽出することが難しい。 However, with the above prior art, it may be difficult to properly extract the item. For example, it is difficult to extract desired information only by estimating the similarity between concepts belonging to other categories. For example, it is not always possible to estimate the similarity of information belonging to the same category, and in such a case, it is difficult to extract desired information.

本願は、上記に鑑みてなされたものであって、アイテムを適切に抽出する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。 The present application has been made in view of the above, and an object of the present application is to provide an information processing device, an information processing method, and an information processing program for appropriately extracting items.

本願に係る情報処理装置は、複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じてエッジにより連結されたグラフ情報であって、前記複数のノードのうち、前記類似性とは異なる観点による所定の条件を満たすノード間が前記エッジとは異なる特別エッジにより連結されたグラフ情報と、一のアイテムに関するアイテム情報を取得する取得部と、前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記一のアイテムと類似するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記特別エッジが連結されたノードに到達した場合、当該ノードと前記特別エッジにより連結された他のノードを前記対象アイテムとして抽出する検索部と、を備えたことを特徴とする。 The information processing apparatus according to the present application is graph information in which a plurality of nodes corresponding to each of the plurality of items are connected by edges according to the similarity of the plurality of items, and among the plurality of nodes, the said Graph information in which nodes satisfying a predetermined condition from a viewpoint different from similarity are connected by a special edge different from the edge, an acquisition unit for acquiring item information related to one item, and an acquisition unit acquired by the acquisition unit. Among the plurality of items of the graph information, by searching the graph information from the starting node which is the starting point of the search of the graph information determined based on a predetermined criterion, the graph information is searched. , A similar item, which is an item similar to the one item, is extracted as a target item, and when the node reaches the node to which the special edge is connected at the time of searching the graph information, the node and the special edge are connected. It is characterized by including a search unit for extracting other nodes as the target item.

実施形態の一態様によれば、アイテムを適切に抽出することができるという効果を奏する。 According to one aspect of the embodiment, there is an effect that the item can be appropriately extracted.

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

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

(実施形態)
〔1.情報処理〕
図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1では、情報処理装置100がアイテムの一例として、所定の電子商取引サービスで販売される商品をグラフ構造化したグラフデータ(グラフ情報)を検索することにより、類似するアイテムである類似アイテムを対象アイテムとして抽出する場合を示す。なお、ここでいう商品には、所定の電子商取引サービスで販売可能であればどのような対象であってもよく、サービス等が含まれてもよい。また、図1では、情報処理装置100がグラフ情報の検索時に、後述する特別エッジが連結されたノードに到達した場合、当該ノードと特別エッジにより連結された他のノードを対象アイテムとして抽出する場合を示す。図1では、情報処理装置100は、各アイテムに対応するベクトルデータ(「ベクトル情報」や、単に「ベクトル」ともいう)を用いてアイテムをグラフ構造化したグラフ情報を用いる。なお、情報処理装置100が用いる情報は、ベクトルに限らず、各アイテムの類似性を表現可能な情報であれば、どのような形式の情報であってもよい。例えば、情報処理装置100は、各アイテムに対応する所定のデータや値を用いてアイテムをグラフ構造化したグラフ情報を用いてもよい。例えば、情報処理装置100は、各アイテムから生成された所定の数値(例えば2進数の値や16進数の値)を用いてアイテムをグラフ構造化したグラフ情報を用いてもよい。また、図1の例では、商品(商品情報)をアイテムの一例として示すが、アイテムは、商品(商品情報)に限らず、記事コンテンツや動画コンテンツ等の種々の対象であってもよい。すなわち、対象とするアイテム(オブジェクト)は、各アイテム間の類似性を表現可能であれば、どのようなアイテム(情報)であってもよい。
(Embodiment)
[1. Information processing]
An example of information processing according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of information processing according to an embodiment. In FIG. 1, as an example of an item, the information processing device 100 targets similar items that are similar items by searching graph data (graph information) in which products sold by a predetermined electronic commerce service are graph-structured. The case of extracting as an item is shown. The product referred to here may be any target as long as it can be sold by a predetermined electronic commerce service, and may include a service or the like. Further, in FIG. 1, when the information processing apparatus 100 reaches a node to which a special edge described later is connected at the time of searching graph information, another node connected to the node by the special edge is extracted as a target item. Is shown. In FIG. 1, the information processing apparatus 100 uses graph information in which items are graph-structured using vector data (also referred to as “vector information” or simply “vector”) corresponding to each item. The information used by the information processing device 100 is not limited to a vector, and may be any form of information as long as it can express the similarity of each item. For example, the information processing apparatus 100 may use graph information in which items are graph-structured using predetermined data or values corresponding to each item. For example, the information processing apparatus 100 may use graph information in which items are graph-structured using predetermined numerical values (for example, binary values and hexadecimal values) generated from each item. Further, in the example of FIG. 1, a product (product information) is shown as an example of an item, but the item is not limited to the product (product information) and may be various objects such as article content and video content. That is, the target item (object) may be any item (information) as long as the similarity between the items can be expressed.

〔1−1.グラフ情報について〕
また、情報処理装置100は、図1中のグラフ情報GR11に示すように、各ベクトル(ノード)が有向エッジにより連結されたグラフデータを用いて情報処理を行う。なお、図1中のグラフ情報GR11に示すようなグラフ情報は、情報処理装置100が生成してもよいし、情報処理装置100は、図1中のグラフ情報GR11に示すようなグラフ情報を情報提供装置50(図2参照)等の他の外部装置から取得してもよい。
[1-1. About graph information]
Further, as shown in the graph information GR11 in FIG. 1, the information processing apparatus 100 performs information processing using graph data in which each vector (node) is connected by a directed edge. The information processing device 100 may generate the graph information as shown in the graph information GR 11 in FIG. 1, and the information processing device 100 may generate the graph information as shown in the graph information GR 11 in FIG. It may be obtained from another external device such as the providing device 50 (see FIG. 2).

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

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

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

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

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

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

ここで、ベクトルデータ間の距離は、アイテムの類似性を示し、距離が近いほど類似している。本実施形態においては、グラフ情報GR11における各ノードの距離を対応する各オブジェクト間の類似度とする。例えば、各ノードに対応するアイテムの類似性が、グラフ情報GR11内におけるノード間の距離として写像されているものとする。例えば、各ノードに対応する概念間の類似度が各ノード間の距離に写像されているものとする。ここで、図1に示す例においては、グラフ情報GR11における各ノード間の距離が短いオブジェクト同士の類似度が高く、グラフ情報GR11における各ノード間の距離が長いオブジェクト同士の類似度が低い。例えば、図1中のグラフ情報GR11において、ノードID「N35」により識別されるノードと、ノードID「N693」により識別されるノードとは近接している、すなわち距離が短い。そのため、ノードID「N35」により識別されるノードに対応するオブジェクトと、ノードID「N693」により識別されるノードに対応するオブジェクトとは類似度が高いことを示す。 Here, the distance between the vector data indicates the similarity of the items, and the closer the distance is, the more similar the items are. In the present embodiment, the distance of each node in the graph information GR11 is defined as the degree of similarity between the corresponding objects. For example, it is assumed that the similarity of the items corresponding to each node is mapped as the distance between the nodes in the graph information GR11. For example, assume that the similarity between the concepts corresponding to each node is mapped to the distance between each node. Here, in the example shown in FIG. 1, the similarity between the objects having a short distance between the nodes in the graph information GR11 is high, and the similarity between the objects having a long distance between the nodes in the graph information GR11 is low. For example, in the graph information GR11 in FIG. 1, the node identified by the node ID “N35” and the node identified by the node ID “N693” are close to each other, that is, the distance is short. Therefore, it is shown that the object corresponding to the node identified by the node ID "N35" and the object corresponding to the node identified by the node ID "N693" have a high degree of similarity.

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

〔1−2.ベクトルの生成例〕
また、ここでいう、各ノード(ベクトル)は、各オブジェクト(アイテム)に対応する。アイテム情報が様々なアイテムの状態を示す数値データであれば、それをベクトルデータとして、そのまま扱うことも可能である。しかし、アイテム情報が、テキスト、画像、または、音声であったりする場合には、ベクトルデータへの変換が必要となる。そこで、図1の例では、各アイテムのアイテム情報から抽出された特徴量により生成された多次元(N次元)のベクトルがオブジェクトであってもよい。
[1-2. Vector generation example]
Further, each node (vector) referred to here corresponds to each object (item). If the item information is numerical data indicating the state of various items, it can be treated as it is as vector data. However, if the item information is text, image, or voice, conversion to vector data is required. Therefore, in the example of FIG. 1, the multidimensional (N-dimensional) vector generated by the feature amount extracted from the item information of each item may be an object.

例えば、情報処理装置100は、アイテム情報の特徴を抽出するモデルを用いて各アイテムのアイテム情報からN次元ベクトルを生成してもよい。図1の例では、情報処理装置100は、モデル情報記憶部124(図7参照)に示すように、モデルID「M1」により識別されるモデル(モデルM1)を用いて、各アイテムのアイテム情報からベクトルを生成する。上記のように、「モデルM*(*は任意の数値)」と記載した場合、そのモデルはモデルID「M*」により識別されるモデルであることを示す。例えば、「モデルM1」と記載した場合、そのモデルはモデルID「M1」により識別されるモデルである。また、モデル情報記憶部124に示すように、モデルM1は用途「特徴抽出(商品)」、すなわちアイテムのデータ(アイテム情報)からの特徴抽出のために用いられるモデルであり、その具体的なモデルデータが「モデルデータMDT1」であることを示す。 For example, the information processing apparatus 100 may generate an N-dimensional vector from the item information of each item by using a model that extracts the features of the item information. In the example of FIG. 1, as shown in the model information storage unit 124 (see FIG. 7), the information processing apparatus 100 uses the model (model M1) identified by the model ID “M1” to provide item information for each item. Generate a vector from. As described above, when "model M * (* is an arbitrary numerical value)" is described, it means that the model is a model identified by the model ID "M *". For example, when described as "model M1", the model is a model identified by the model ID "M1". Further, as shown in the model information storage unit 124, the model M1 is a model used for the purpose "feature extraction (product)", that is, feature extraction from item data (item information), and a specific model thereof. Indicates that the data is "model data MDT1".

例えば、情報処理装置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 the item information of an arbitrary item into the model M1, and outputs the same information as the input item information. For example, the information processing apparatus 100 may extract the values of each element (neuron) in the intermediate layer as a feature amount and generate N-dimensional vector data corresponding to each item.

ここで、図11を用いて、各アイテムに対応するベクトルデータの生成の一例を示す。図11は、実施形態に係る特徴量の抽出の一例を示す図である。図11は、モデルM1の概念図である。なお、図11では、各要素(ニューロン)の各接続関係を示す線の図示を省略する。図11に示すように、モデルM1は、入力層ILと、中間層CLと、出力層OLとを含む。例えば、モデルM1の入力層ILは、アイテム情報が入力される層である。また、出力層OLは、入力層ILへの入力に応じて、入力されたアイテム情報と同様の情報を出力される層である。 Here, FIG. 11 is used to show an example of generating vector data corresponding to each item. FIG. 11 is a diagram showing an example of extraction of the feature amount according to the embodiment. FIG. 11 is a conceptual diagram of the model M1. In FIG. 11, the line showing each connection relationship of each element (neuron) is omitted. As shown in FIG. 11, 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 into which item information is input. Further, the output layer OL is a layer that outputs the same information as the input item information in response to the input to the input layer IL.

また、例えば、中間層CLの中央部の最も圧縮された圧縮層RPは、入力されたアイテム情報の特徴を表現する層である。例えば、モデルM1の中間層CLにおいて、入力層ILから圧縮層RPまでの間は、エンコードの処理を行う部分に対応する。モデルM1の中間層CLにおいて、入力層ILから圧縮層RPまでの間は、入力されたアイテム情報の特徴を圧縮する処理を行う部分に対応する。例えば、モデルM1の中間層CLにおいて、圧縮層RPから出力層OLまでの間は、デコードの処理を行う部分に対応する。モデルM1の中間層CLにおいて、圧縮層RPから出力層OLまでの間は、圧縮されたアイテム情報を復元する処理を行う部分に対応する。 Further, for example, the most compressed compression layer RP in the central portion of the intermediate layer CL is a layer expressing the characteristics of the input item information. 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 the portion where the encoding process is performed. In the intermediate layer CL of the model M1, between the input layer IL and the compression layer RP corresponds to a portion that performs a process of compressing the characteristics of the input item information. 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 the portion where the decoding process is performed. 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 item information.

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

なお、情報処理装置100は、圧縮層RPの要素(ニューロン)に限らず、中間層CL中の他の要素(ニューロン)の情報をベクトルに用いてもよい。例えば、情報処理装置100は、エンコード部分のニューロンNL3やデコード部分のニューロンNL4等の情報をベクトルに用いてもよい。例えば、情報処理装置100は、あるアイテムのアイテム情報が入力された場合に、算出されるニューロンNL3に対応する値VE3やニューロンNL4に対応する値VE4をベクトルの要素(一の次元の値)として抽出してもよい。なお、上記は、一例であり、情報処理装置100は、オートエンコーダに限らず、種々のモデルを用いて、アイテム情報からの特徴抽出を行ってもよい。例えば、セール用等の所定の目的に適したアイテムと適さないアイテムを識別するように学習させたモデルを生成して、その中間層をベクトルデータとして抽出しても良い。また、例えば、トリプレットロス(triplet loss)といった類似性を学習する方法によりモデルを生成しても良い。また、情報処理装置100は、モデルを用いずに、特徴抽出を行ってもよい。例えば、情報処理装置100は、情報処理装置100の管理者等が設定して特徴(素性)に対応する情報をアイテム情報から抽出し、ベクトルを生成してもよい。例えば、情報処理装置100は、アイテムの商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等の特徴(素性)に対応する情報をアイテム情報から抽出し、ベクトルを生成してもよい。 The information processing apparatus 100 is not limited to the elements (neurons) of the compression layer RP, and may use information of other elements (neurons) in the intermediate layer CL as a vector. For example, the information processing apparatus 100 may use information such as the neuron NL3 in the encoding portion and the neuron NL4 in the decoding portion as a vector. For example, the information processing apparatus 100 uses the value VE3 corresponding to the calculated neuron NL3 and the value VE4 corresponding to the neuron NL4 as vector elements (values of one dimension) when the item information of a certain item is input. It may be extracted. The above is an example, and the information processing apparatus 100 may extract features from item information using various models, not limited to the autoencoder. For example, a model trained to identify an item suitable for a predetermined purpose such as for sale and an item not suitable for sale may be generated, and the intermediate layer thereof may be extracted as vector data. The model may also be generated by, for example, a method of learning similarity such as triplet loss. Further, the information processing apparatus 100 may perform feature extraction without using a model. For example, the information processing device 100 may be set by the administrator of the information processing device 100 or the like to extract information corresponding to the feature (identity) from the item information and generate a vector. For example, the information processing apparatus 100 may generate a vector by extracting information corresponding to features (features) such as a product category, title, description, image information, manufacturer, and size of an item from the item information.

また、例えば、情報処理装置100は、情報提供装置50等の他の外部装置からモデルM1を取得してもよい。なお、情報処理装置100は、アイテム情報記憶部121(図4参照)に記憶された各アイテムのアイテム情報IDT1、IDT2、IDT451等を入力として、モデルM1を生成してもよい。例えば、情報処理装置100は、各アイテムのアイテム情報IDT1、IDT2、IDT451等を入力として、モデルM1を生成してもよい。例えば、アイテム情報IDT1、IDT2、IDT451等は、アイテムの商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等を含んでもよい。例えば、商品等がアイテムである場合におけるアイテム情報(商品情報)は、商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等に関する情報を含んでもよい。例えば、アイテム情報は、対応する商品の商品カテゴリが飲料水や酒類や調味料等のいずれであるかを示す情報を含んでもよい。例えば、アイテム情報は、対応する商品の商品カテゴリがビールやワインやケッチャプやソース等のいずれであるかを示す詳細な商品カテゴリを示す情報を含んでもよい。 Further, for example, the information processing device 100 may acquire the model M1 from another external device such as the information providing device 50. The information processing device 100 may generate the model M1 by inputting the item information IDT1, IDT2, IDT451, etc. of each item stored in the item information storage unit 121 (see FIG. 4). For example, the information processing apparatus 100 may generate the model M1 by inputting the item information IDT1, IDT2, IDT451, etc. of each item. For example, the item information IDT1, IDT2, IDT451 and the like may include the product category, title, description, image information, manufacturer, size and the like of the item. For example, the item information (product information) when the product or the like is an item may include information on the product category, title, description, image information, manufacturer, size, and the like. For example, the item information may include information indicating whether the product category of the corresponding product is drinking water, alcoholic beverages, seasonings, or the like. For example, the item information may include information indicating a detailed product category indicating whether the product category of the corresponding product is beer, wine, ketchup, sauce, or the like.

また、例えば、アイテム情報は、対応する商品が撮像された画像情報を含んでもよい。例えば、アイテム情報は、対応する商品の製造元がどのメーカであるかを示す情報を含んでもよい。例えば、アイテム情報は、対応する商品の内容量等どのようなサイズであるかを示す情報を含んでもよい。例えば、アイテム情報は、対応する商品のターゲットとするユーザが20代であることを示す情報や対応する商品のターゲットとするユーザが女性であることを示す情報等の商品のターゲットを示す情報を含んでもよい。なお、上記は一例であり、アイテム情報には、どのような情報が含まれてもよい。例えば、アイテムが記事コンテンツである場合、アイテム情報は、記事のタイトルや本文や画像等の種々の情報が含まれてもよい。すなわち、情報処理装置100は、アイテムとなる対象に応じて、アイテム情報を適宜用いて、処理を行ってもよい。 Further, for example, the item information may include image information obtained by capturing an image of the corresponding product. For example, the item information may include information indicating which manufacturer is the manufacturer of the corresponding product. For example, the item information may include information indicating what size the product has, such as the content of the corresponding product. For example, the item information includes information indicating the target of the product, such as information indicating that the target user of the corresponding product is in his twenties and information indicating that the target user of the corresponding product is a woman. But it may be. The above is an example, and any information may be included in the item information. For example, when the item is article content, the item information may include various information such as the title, body, and image of the article. That is, the information processing apparatus 100 may perform processing by appropriately using the item information according to the target to be an item.

情報処理装置100は、アイテムのアイテム情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたアイテム情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するモデルM1を生成してもよい。なお、情報処理装置100は、ベクトル生成に用いるモデルを情報提供装置50等の他の外部装置から取得してもよい。 The information processing device 100 includes an input layer into which item information of an item is input, an output layer, a first element which is any layer from the input layer to the output layer and belongs to a layer other than the output layer, and a first element. For the item information input to the input layer, including the second element whose value is calculated based on the element and the weight of the first element, each element belonging to each layer other than the output layer is set as the first element. By performing the calculation 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. The information processing device 100 may acquire a model used for vector generation from another external device such as the information providing device 50.

〔1−3.処理例〕
ここから、グラフ情報を用いた処理について説明する。図1の例では、特別エッジの追加について説明した後、その特別エッジを含むグラフ情報を用いた情報処理について説明する。ここでいう特別エッジは、「エッジE*(*は任意の数値)」と記載されるエッジを連結する観点(基準)とは、異なる観点(基準)による所定の条件を満たすノード間を連結するエッジであってもよい。例えば、特別エッジは、アイテム情報の類似性とは異なる観点(基準)による所定の条件を満たすノード間を連結するエッジである。すなわち、特別エッジは、グラフ情報に通常とは異なる観点(基準)を導入し、グラフ情報を拡張するエッジ(拡張エッジ)である。
[1-3. Processing example]
From here, processing using graph information will be described. In the example of FIG. 1, after the addition of the special edge is described, the information processing using the graph information including the special edge will be described. The special edge referred to here connects nodes that satisfy predetermined conditions from a different viewpoint (reference) from the viewpoint (reference) for connecting the edges described as "edge E * (* is an arbitrary numerical value)". It may be an edge. For example, a special edge is an edge that connects nodes that satisfy a predetermined condition from a viewpoint (reference) different from the similarity of item information. That is, the special edge is an edge (extended edge) that expands the graph information by introducing an unusual viewpoint (reference) into the graph information.

以下では、ステップS11〜S13の処理により、グラフ情報GR11に追加されるエッジをエッジ特別とし、それ以外のエッジを「通常エッジ」と記載する場合がある。エッジID「E*(*は任意の数値)」により識別されるエッジを「通常エッジ」と記載する場合がある。また、エッジID「SE*(*は任意の数値)」により識別されるエッジを「特別エッジ」と記載する場合がある。すなわち、「エッジE*(*は任意の数値)」と記載されるエッジは「通常エッジ」であり、「特別エッジSE*(*は任意の数値)」と記載されるエッジは「特別エッジ」である。 In the following, the edge added to the graph information GR11 by the processing of steps S11 to S13 may be referred to as an edge special, and the other edges may be referred to as a "normal edge". The edge identified by the edge ID "E * (* is an arbitrary numerical value)" may be described as "normal edge". Further, the edge identified by the edge ID "SE * (* is an arbitrary numerical value)" may be described as "special edge". That is, the edge described as "edge E * (* is an arbitrary numerical value)" is a "normal edge", and the edge described as "special edge SE * (* is an arbitrary numerical value)" is a "special edge". Is.

図1の例では、特別エッジの追加の一例として、商品であるアイテムがユーザに一緒に購入されている複数のアイテムが特別エッジで連結される場合を示す。すなわち、図1の例では、情報処理装置100は、ユーザの購買行動において、合わせ購入の対象となっている複数のアイテムを、アイテム間の類似性に関わらず特別エッジで連結する場合を一例として示す。 In the example of FIG. 1, as an example of adding a special edge, a case where a plurality of items in which an item as a product is purchased together by a user are connected by a special edge is shown. That is, in the example of FIG. 1, the information processing device 100 connects a plurality of items to be purchased together at a special edge regardless of the similarity between the items in the user's purchasing behavior as an example. Shown.

まず、情報処理装置100は、所定の履歴を示すログを取得する(ステップS11)。情報処理装置100は、所定の期間におけるユーザの行動を示す履歴情報を取得する。例えば、情報処理装置100は、履歴情報記憶部125(図8参照)から履歴情報を取得する。ここでいう所定の期間は、目的に応じて種々の時間が設定されてもよく、1時間や3日や2週間や1ヶ月等の種々の期間であってもよい。図1の例では、所定の期間は、日時#11〜#13等を含む1週間であるものとし、収集対象期間と記載する場合がある。 First, the information processing device 100 acquires a log showing a predetermined history (step S11). The information processing device 100 acquires historical information indicating the user's behavior in a predetermined period. For example, the information processing device 100 acquires history information from the history information storage unit 125 (see FIG. 8). The predetermined period referred to here may be set to various times depending on the purpose, or may be various periods such as 1 hour, 3 days, 2 weeks, 1 month, and the like. In the example of FIG. 1, the predetermined period is one week including the date and time # 11 to # 13, and may be described as the collection target period.

例えば、情報処理装置100は、ログ一覧LGT11に示すように、日時#11〜#13等を含む収集対象期間におけるユーザの行動履歴を取得する。図1の例では、図示を省略するが、情報処理装置100は、各行動を行ったユーザの情報を含む履歴情報を取得してもよい。 For example, as shown in the log list LGT11, the information processing apparatus 100 acquires the user's action history in the collection target period including the date and time # 11 to # 13. In the example of FIG. 1, although not shown, the information processing apparatus 100 may acquire history information including information of a user who has performed each action.

「日時」は、対応する行動が行われた日時を示す。なお、日時#11〜日時#13等は、対応する行動が行われた具体的な日時であるものとする。「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」等は、対応する行動において共通して対象となったアイテムを示す。図1の例では、「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」等は、対応する行動において併せて購入されたアイテム(商品)を示す。 "Date and time" indicates the date and time when the corresponding action was performed. The date and time # 11 to date and time # 13 and the like are assumed to be specific dates and times when the corresponding action was performed. "Target item # 1 (purchased product # 1)", "target item # 2 (purchased product # 2)", etc. indicate items that are commonly targeted in the corresponding action. In the example of FIG. 1, "target item # 1 (purchased product # 1)", "target item # 2 (purchased product # 2)", and the like indicate items (products) purchased together in the corresponding action.

図1に示す例において、収集対象期間内の日時#11においてアイテム#35とアイテム#831が合わせて購入されたことを示す。また、収集対象期間内の日時#11においてアイテム#1は単体で購入されたことを示す。また、収集対象期間内の日時#11においてアイテム#35とアイテム#831が合わせて購入されたことを示す。 In the example shown in FIG. 1, it is shown that item # 35 and item # 831 were purchased together at the date and time # 11 within the collection target period. In addition, it indicates that the item # 1 was purchased alone at the date and time # 11 within the collection target period. It also indicates that item # 35 and item # 831 were purchased together at the date and time # 11 within the collection target period.

そして、情報処理装置100は、ログ一覧LGT11に示すような履歴情報に基づいて、特別な関連性を有するアイテムを判定する(ステップS12)。例えば、情報処理装置100は、ログ一覧LGT11において、1つの行動における対象として一緒に含まれるようなアイテム同士を特別な関連性を有するアイテムと判定する。 Then, the information processing apparatus 100 determines an item having a special relevance based on the history information as shown in the log list LGT 11 (step S12). For example, the information processing apparatus 100 determines in the log list LGT11 that items that are included together as targets in one action are items having a special relationship.

例えば、情報処理装置100は、所定の期間におけるユーザ群の行動において、行動の対象として共起する回数が所定の閾値以上である複数のアイテムを特別な関連性を有するアイテムであると判定する。例えば、情報処理装置100は、所定の期間において併せて購入される回数が所定の閾値以上である複数の商品である複数のアイテムに各々対応する複数のノードを特別な関連性を有するアイテムであると判定する。なお、アイテム同士を特別な関連性は、上記に限らず、グラフ情報を生成した際の観点とは異なる観点であり、アイテム間の有意な関係であれば、どのような関係であってもよい。 For example, the information processing device 100 determines that, in the behavior of a group of users in a predetermined period, a plurality of items in which the number of co-occurrence as an action target is equal to or greater than a predetermined threshold value are items having a special relationship. For example, the information processing device 100 is an item having a special relationship with a plurality of nodes corresponding to a plurality of items, which are a plurality of products whose number of purchases in a predetermined period is equal to or greater than a predetermined threshold value. Is determined. The special relationship between the items is not limited to the above, and is a viewpoint different from the viewpoint when the graph information is generated, and any relationship may be used as long as it is a significant relationship between the items. ..

例えば、情報処理装置100は、日時#11〜#13等を含む収集対象期間内において、所定の閾値(例えば、1000回等)以上合せて購入された複数のノードを、特別な関連性を有するアイテムであると判定する。図1の例では、情報処理装置100は、収集対象期間内において、アイテム#35とアイテム#831との2つのアイテム(商品)が所定の閾値以上合せて購入されたと判定する。そして、情報処理装置100は、アイテム#35とアイテム#831とを、特別な関連性を有するアイテムであると判定する。そのため、情報処理装置100は、アイテム#35とアイテム#831との間に特別エッジを追加すると判定する。 For example, the information processing apparatus 100 has a special relationship with a plurality of nodes purchased at a predetermined threshold value (for example, 1000 times or more) within the collection target period including the date and time # 11 to # 13. Determined to be an item. In the example of FIG. 1, the information processing apparatus 100 determines that two items (goods), item # 35 and item # 831, have been purchased in accordance with a predetermined threshold value or more within the collection target period. Then, the information processing apparatus 100 determines that the item # 35 and the item # 831 are items having a special relationship. Therefore, the information processing apparatus 100 determines that a special edge is added between the item # 35 and the item # 831.

そして、情報処理装置100は、特別な関連性を有するアイテム間を連結する特別エッジを追加する。図1の例では、情報処理装置100は、特別エッジ一覧SEL11に示すような、特別エッジSE35や特別エッジSE831を追加する。 Then, the information processing apparatus 100 adds a special edge that connects items having a special relationship. In the example of FIG. 1, the information processing apparatus 100 adds a special edge SE35 and a special edge SE831 as shown in the special edge list SEL11.

情報処理装置100は、ノードN35からノードN831に連結される特別エッジSE35を生成する。情報処理装置100は、ノードN35を参照元とし、ノードN831を参照先とする特別エッジSE35を生成する。情報処理装置100は、特別エッジSE35の情報をグラフ情報記憶部123(図6参照)に追加(登録)する。 The information processing device 100 generates a special edge SE35 connected from the node N35 to the node N831. The information processing apparatus 100 generates a special edge SE35 with the node N35 as the reference source and the node N831 as the reference destination. The information processing device 100 adds (registers) the information of the special edge SE35 to the graph information storage unit 123 (see FIG. 6).

また、情報処理装置100は、ノードN831からノードN35に連結される特別エッジSE831を生成する。情報処理装置100は、ノードN831を参照元とし、ノードN35を参照先とする特別エッジSE831を生成する。情報処理装置100は、特別エッジSE831の情報をグラフ情報記憶部123(図6参照)に追加(登録)する。 Further, the information processing apparatus 100 generates a special edge SE831 connected from the node N831 to the node N35. The information processing apparatus 100 generates a special edge SE831 with the node N831 as the reference source and the node N35 as the reference destination. The information processing device 100 adds (registers) the information of the special edge SE831 to the graph information storage unit 123 (see FIG. 6).

例えば、情報処理装置100は、図1中の情報群INF11に示すように、グラフ情報GR11に、点線で示す特別エッジSE35や特別エッジSE831(図示省略)を追加する。これにより、情報処理装置100は、特別な関連性を有するアイテム間を特別エッジで連結したグラフ情報を生成する。 For example, the information processing apparatus 100 adds a special edge SE35 and a special edge SE831 (not shown) shown by a dotted line to the graph information GR11 as shown in the information group INF11 in FIG. As a result, the information processing apparatus 100 generates graph information in which items having a special relationship are connected by a special edge.

ここから、特別エッジSE35が追加されたグラフ情報GR11を用いた情報提供を一例として説明する。情報処理装置100は、ユーザから一のアイテムのアイテム情報を取得し、一のアイテムに類似するアイテムに基づいてサービスを提供する場合を一例として説明する。図1の例では、端末装置10は、ユーザU1により利用されるスマートフォンであり、ユーザU1がアイテムである商品の商品情報を閲覧している場合を示す。 From here, information provision using the graph information GR11 to which the special edge SE35 is added will be described as an example. The case where the information processing apparatus 100 acquires the item information of one item from the user and provides the service based on the item similar to the one item will be described as an example. In the example of FIG. 1, the terminal device 10 is a smartphone used by the user U1, and shows a case where the user U1 is browsing the product information of the product which is an item.

まず、端末装置10は、アイテムXのアイテム情報IDT11を情報処理装置100へ送信する。図1の例では、アイテム情報IDT11等は、アイテム(商品)の商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等に関する情報を含む。なお、アイテム情報IDT11等は、アイテム(商品)の説明文(文字情報)のみであってもよい。 First, the terminal device 10 transmits the item information IDT11 of the item X to the information processing device 100. In the example of FIG. 1, the item information IDT11 and the like include information on the product category, title, description, image information, manufacturer, size, etc. of the item (product). The item information IDT11 and the like may be only the description (character information) of the item (product).

そして、情報処理装置100は、一のアイテムに関するアイテム情報を取得する(ステップS14)。図1の例では、情報処理装置100は、ユーザU1の端末装置10からアイテムXに関するアイテム情報IDT11を取得する。なお、情報処理装置100は、アイテムXが携帯する端末装置10(図2参照)からアイテムXに関するアイテム情報IDT11を取得する。 Then, the information processing device 100 acquires the item information regarding one item (step S14). In the example of FIG. 1, the information processing device 100 acquires the item information IDT11 related to the item X from the terminal device 10 of the user U1. The information processing device 100 acquires the item information IDT 11 related to the item X from the terminal device 10 (see FIG. 2) carried by the item X.

そして、情報処理装置100は、一のアイテムに対応するアイテム情報からグラフ情報の探索に用いるベクトルを生成する。図1の例では、情報処理装置100は、処理群PS11に示すような処理により、アイテムXに対応するベクトルを生成する。情報処理装置100は、アイテムXに関するアイテム情報IDT11をモデルM1に入力する(ステップS15)。具体的には、情報処理装置100は、アイテムXのアイテム情報IDT11をモデルM1に入力する。そして、情報処理装置100は、アイテム情報IDT11の入力後のモデルM1中の情報を用いて、ベクトルを生成する(ステップS16)。例えば、情報処理装置100は、アイテム情報IDT11が入力されたモデルM1中の各要素を用いて、ベクトルデータを生成する。 Then, the information processing apparatus 100 generates a vector used for searching graph information from the item information corresponding to one item. In the example of FIG. 1, the information processing apparatus 100 generates a vector corresponding to the item X by the processing as shown in the processing group PS11. The information processing device 100 inputs the item information IDT11 related to the item X into the model M1 (step S15). Specifically, the information processing apparatus 100 inputs the item information IDT11 of the item X into the model M1. Then, the information processing apparatus 100 generates a vector by using the information in the model M1 after inputting the item information IDT 11 (step S16). For example, the information processing apparatus 100 generates vector data using each element in the model M1 in which the item information IDT11 is input.

図1の例では、情報処理装置100は、アイテム情報IDT11が入力されたモデルM1中の各要素の値を用いて、ベクトルデータVD11(単に「ベクトルVD11」ともいう)を生成する。例えば、情報処理装置100は、アイテムXのアイテム情報IDT11が入力された場合における、モデルM1のニューロンNL1に対応する値VE1(図11参照)やニューロンNL2に対応する値VE2(図11参照)を用いて、ベクトルを生成する。例えば、情報処理装置100は、アイテムXのアイテム情報IDT11が入力された場合に、算出されるニューロンNL1に対応する値VE1をベクトルVD11の1次元目の要素として抽出してもよい。また、例えば、情報処理装置100は、あるアイテムのアイテム情報が入力された場合に、算出されるニューロンNL2に対応する値VE2をベクトルVD11の2次元目の要素として、ベクトルVD11を生成する。図1の例では、情報処理装置100は、1次元目の要素が「35」であり、2次元目の要素が「63」であるようなベクトルVD11を生成する。 In the example of FIG. 1, the information processing apparatus 100 generates vector data VD11 (also simply referred to as “vector VD11”) by using the value of each element in the model M1 in which the item information IDT11 is input. For example, the information processing apparatus 100 sets a value VE1 (see FIG. 11) corresponding to the neuron NL1 of the model M1 and a value VE2 (see FIG. 11) corresponding to the neuron NL2 when the item information IDT11 of the item X is input. To generate a vector. For example, the information processing apparatus 100 may extract the value VE1 corresponding to the calculated neuron NL1 as the first-dimensional element of the vector VD11 when the item information IDT11 of the item X is input. Further, for example, the information processing apparatus 100 generates the vector VD11 by using the value VE2 corresponding to the calculated neuron NL2 as the second-dimensional element of the vector VD11 when the item information of a certain item is input. In the example of FIG. 1, the information processing apparatus 100 generates a vector VD11 in which the element of the first dimension is "35" and the element of the second dimension is "63".

そして、情報処理装置100は、対象アイテムを検索する(ステップS17)。例えば、情報処理装置100は、アイテムXに関する対象アイテムを検索する。例えば、情報処理装置100は、非特許文献1に開示されるような近傍検索の技術等の種々の従来技術を適宜用いて、アイテムXの対象アイテムを検索してもよい。例えば、情報処理装置100は、類似性が高いノード間がエッジで連結されたグラフ情報GR11を用いる。 Then, the information processing device 100 searches for the target item (step S17). For example, the information processing device 100 searches for a target item related to the item X. For example, the information processing apparatus 100 may search for the target item of item X by appropriately using various conventional techniques such as a neighborhood search technique disclosed in Non-Patent Document 1. For example, the information processing apparatus 100 uses the graph information GR11 in which nodes having high similarity are connected by an edge.

図1の例では、情報処理装置100は、情報群INF11に示すように、グラフ情報GR11やインデックス情報IND11を用いてアイテムXの対象アイテムを検索する。例えば、情報処理装置100は、グラフ情報記憶部123(図6参照)からアイテムに関するグラフ情報GR11を取得する。また、例えば、情報処理装置100は、インデックス情報記憶部122(図5参照)から、グラフ情報GR11における検索の起点となるノード(以下、「起点ベクトル」ともいう)の決定に用いるインデックス情報IND11を取得する。なお、インデックス情報IND11は、情報処理装置100が生成してもよいし、情報処理装置100は、インデックス情報IND11を情報提供装置50等の他の外部装置から取得してもよい。 In the example of FIG. 1, the information processing apparatus 100 searches for the target item of the item X by 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 graph information GR11 regarding an item from the graph information storage unit 123 (see FIG. 6). Further, for example, the information processing apparatus 100 uses the index information storage unit 122 (see FIG. 5) to obtain the index information IND11 used for determining the node (hereinafter, also referred to as “starting point vector”) that is the starting point of the search in the graph information GR11. get. The index information IND 11 may be generated by the information processing device 100, or the information processing device 100 may acquire the index information IND 11 from another external device such as the information providing device 50.

そして、情報処理装置100は、一のアイテム(クエリ)に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。図1の例では、情報処理装置100は、アイテムXのベクトルVD11に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。すなわち、情報処理装置100は、ベクトルVD11とインデックス情報IND11とを用いて、グラフ情報GR11における起点ベクトルを決定する。 Then, the information processing apparatus 100 uses the index information IND11 to determine (specify) the starting point vector corresponding to one item (query). In the example of FIG. 1, the information processing apparatus 100 uses the index information IND11 to determine (specify) the starting point vector corresponding to the vector VD11 of the item X. That is, the information processing apparatus 100 uses the vector VD11 and the index information IND11 to determine the starting point vector in the graph information GR11.

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

例えば、情報処理装置100は、図1中のインデックス情報IND11に示すような木構造型のインデックス情報を用いて、グラフ情報GR11における起点ベクトルを決定する(ステップS18)。図1の例では、情報処理装置100は、ベクトルVD11を生成した後、インデックス情報IND11を上から下へ辿ることにより、インデックス情報IND11の近傍候補となる起点ベクトルを特定することにより、効率的に検索クエリ(一のアイテム)に対応する起点ベクトルを決定することができる。 For example, the information processing apparatus 100 determines the starting point vector in the graph information GR 11 by using the tree-structured index information as shown in the index information IND 11 in FIG. 1 (step S18). In the example of FIG. 1, the information processing apparatus 100 efficiently generates the vector VD11 and then traces the index information IND11 from top to bottom to identify a starting point vector that is a candidate near the index information IND11. The origin vector corresponding to the search query (one item) can be determined.

例えば、情報処理装置100は、インデックス情報IND11をルートRTからリーフノード(グラフ情報GR11中のノード(ベクトル))まで辿ることにより、ベクトルVD11に対応する起点ベクトルを決定してもよい。図1の例では、例えば、情報処理装置100は、インデックス情報IND11をルートRTからノードN451まで辿ることにより、ノードN451を起点ベクトルとして決定する。例えば、情報処理装置100は、木構造に関する種々の従来技術を適宜用いて、インデックス情報IND11をルートRTからリーフノードまで辿ることにより、辿りついたリーフノードを起点ベクトルとして決定してもよい。例えば、情報処理装置100は、ベクトルVD11との類似度に基づいて、インデックス情報IND11を下へ辿ることにより、起点ベクトルを決定してもよい。例えば、情報処理装置100は、ルートRTから節点VT1、VT2等のいずれの節点に辿るかを、ベクトルVD11と節点VT1、VT2との類似度に基づいて決定してもよい。例えば、情報処理装置100は、ルートRTから節点VT1、VT2等のうち、ベクトルVD11との類似度が最も高い節点VT2へ辿ると決定してもよい。また、例えば、情報処理装置100は、節点VT2から節点VT2−1〜VT2−4等のうち、ベクトルVD11との類似度が最も高い節点VT2−2へ辿ると決定してもよい。また、例えば、情報処理装置100は、節点VT2−2からノードN35、N451、N693等のうち、ベクトルVD11との類似度が最も高い節点ノードN451へ辿ると決定してもよい。なお、図1の例では、説明を簡単にするために、起点ベクトルを1つ決定する場合を示すが、情報処理装置100は、複数個の起点ベクトルを決定してもよい。例えば、情報処理装置100は、ノードN451、N35、N693、N2等の複数個のベクトル(ノード)を起点ベクトルとして決定してもよい。なお、インデックス情報IND11を用いずに、検索開始時にグラフ情報GR11からランダムに1つ以上のノードを選択し、それを起点ベクトルとしてもよいし、または、予め指定された1つ以上のノードを起点ベクトルとしても良い。 For example, the information processing apparatus 100 may determine the starting point vector corresponding to the vector VD11 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. 1, for example, the information processing apparatus 100 determines the node N451 as a starting point vector by tracing the index information IND11 from the root RT to the node N451. For example, the information processing apparatus 100 may determine the leaf node reached as a starting point 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. For example, the information processing apparatus 100 may determine the starting point vector by tracing the index information IND11 downward based on the similarity with the vector VD11. For example, the information processing apparatus 100 may determine which node, such as node VT1 or VT2, is to be traced from the root RT based on the degree of similarity between the vector VD11 and the nodes VT1 and VT2. For example, the information processing apparatus 100 may determine that the root RT traces to the node VT2 having the highest degree of similarity to the vector VD11 among the nodes VT1, VT2, and the like. Further, for example, the information processing apparatus 100 may determine from the node VT2 to the node VT2-2 having the highest degree of similarity to the vector VD11 among the nodes VT2-1 to VT2-4 and the like. Further, for example, the information processing apparatus 100 may determine that the node VT2-2 traces to the node node N451 having the highest similarity to the vector VD11 among the nodes N35, N451, N693 and the like. In the example of FIG. 1, for the sake of simplicity, the 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 nodes N451, N35, N693, and N2 as starting point vectors. It should be noted that one or more nodes may be randomly selected from the graph information GR11 at the start of the search without using the index information IND11 and used as a starting point vector, or one or more nodes specified in advance may be used as the starting point. It may be a vector.

そして、情報処理装置100は、グラフ情報GR11を検索することにより、アイテムXの対象アイテムを抽出する(ステップS19)。例えば、情報処理装置100は、ノードN451の近傍に位置するノードを対象アイテムとして抽出する。例えば、情報処理装置100は、ノードN451からの距離が近いノードを対象アイテムとして抽出する。例えば、情報処理装置100は、ノードN451を起点として、エッジを辿ることにより、ノードN451から到達可能なノードを対象アイテムとして抽出する。例えば、情報処理装置100は、所定数(例えば、2個や10個等)のノードを対象アイテムとして抽出する。例えば、情報処理装置100は、図12に示すような検索処理により、アイテムXの対象アイテムを抽出してもよいが、詳細は後述する。図1の例では、情報処理装置100は、ノードN451を起点として、グラフ情報GR11を探索することにより、ノードN451やノードN35を対象アイテムとして抽出する。 Then, the information processing apparatus 100 extracts the target item of the item X by searching the graph information GR11 (step S19). For example, the information processing device 100 extracts a node located in the vicinity of the node N451 as a target item. For example, the information processing device 100 extracts a node having a short distance from the node N451 as a target item. For example, the information processing apparatus 100 extracts a node that can be reached from the node N451 as a target item by tracing the edge starting from the node N451. For example, the information processing device 100 extracts a predetermined number of nodes (for example, 2 or 10 nodes) as target items. For example, the information processing apparatus 100 may extract the target item of the item X by the search process as shown in FIG. 12, but the details will be described later. In the example of FIG. 1, the information processing apparatus 100 extracts the node N451 and the node N35 as target items by searching the graph information GR11 starting from the node N451.

ここで、ステップS19において、情報処理装置100は、グラフ情報GR11における特別エッジ以外のエッジ(通常エッジ)を辿ってノード(以下「通常抽出ノード」ともいう)を抽出した場合、その通常抽出ノードから特別エッジが他のエッジに連結されているかどうかを判定する。例えば、情報処理装置100は、通常抽出ノードを参照元として、通常抽出ノードと他のオブジェクトとを連結する特別エッジがあるかどうかを判定する。そして、情報処理装置100は、通常抽出ノードを参照元として、通常抽出ノードと他のオブジェクト(特別オブジェクト)とを連結する特別エッジがあると判定した場合、その特別オブジェクトを抽出すると決定する。 Here, in step S19, when the information processing apparatus 100 extracts a node (hereinafter, also referred to as “normal extraction node”) by tracing an edge (normal edge) other than the special edge in the graph information GR11, the information processing apparatus 100 extracts the node (hereinafter, also referred to as “normal extraction node”) from the normal extraction node. Determine if a special edge is connected to another edge. For example, the information processing apparatus 100 determines whether or not there is a special edge that connects the normal extraction node and another object with the normal extraction node as a reference source. Then, when the information processing apparatus 100 determines that there is a special edge connecting the normal extraction node and another object (special object) with the normal extraction node as a reference source, it determines that the special object is extracted.

まず、情報処理装置100は、ノードN451を対象アイテムとして抽出した場合、ノードN451から特別エッジが他のエッジに連結されているかどうかを判定する。図1の例では、情報処理装置100は、起点ノードであるノードN451を抽出した場合、ノードN451から特別エッジが他のエッジに連結されているかどうかを判定する。例えば、情報処理装置100は、ノードN451からの特別エッジが0本、すなわちノードN451から他のエッジへの特別エッジはないと判定する。そして、情報処理装置100は、ノードN451に関する特別オブジェクトの抽出はないと判定し、通常エッジでの検索を行う。 First, when the node N451 is extracted as a target item, the information processing apparatus 100 determines whether or not a special edge is connected to another edge from the node N451. In the example of FIG. 1, when the node N451 which is the starting node is extracted, the information processing apparatus 100 determines whether or not a special edge is connected to another edge from the node N451. For example, the information processing apparatus 100 determines that there are no special edges from the node N451, that is, there are no special edges from the node N451 to other edges. Then, the information processing apparatus 100 determines that the special object related to the node N451 is not extracted, and performs a search at the normal edge.

次に、情報処理装置100は、ノードN35を対象アイテムとして抽出した場合、ノードN35から特別エッジが他のエッジに連結されているかどうかを判定する。図1の例では、情報処理装置100は、ノードN451から通常エッジを辿ることよりノードN35を抽出した場合、ノードN35から特別エッジが他のエッジに連結されているかどうかを判定する。例えば、情報処理装置100は、ノードN35からはノードN831への特別エッジSE35が連結されているため、ノードN35から他のエッジへの特別エッジがあると判定する。そのため、情報処理装置100は、ノードN35から特別エッジSE35が連結されたノードN831を対象アイテムとして抽出する。 Next, when the node N35 is extracted as the target item, the information processing apparatus 100 determines whether or not the special edge is connected to another edge from the node N35. In the example of FIG. 1, when the node N35 is extracted from the node N451 by tracing the normal edge, the information processing apparatus 100 determines whether or not the special edge is connected to another edge from the node N35. For example, the information processing apparatus 100 determines that there is a special edge from the node N35 to another edge because the special edge SE35 from the node N35 to the node N831 is connected. Therefore, the information processing apparatus 100 extracts the node N831 to which the special edge SE35 is connected from the node N35 as the target item.

なお、情報処理装置100は、特別オブジェクトを抽出したオブジェクトの数に加えなくてもよい。すなわち、情報処理装置100は、特別オブジェクトの数を所定数との比較に用いなくてもよい。この場合、情報処理装置100は、対象アイテムとして抽出したオブジェクトのうち、特別オブジェクトを除くオブジェクトの数を所定数との比較に用いてもよい。また、情報処理装置100は、特別エッジの連結により対象アイテムとして抽出されたノードから辿れるノードへの検索を行わなくてもよい。図1の例では、情報処理装置100は、特別エッジの連結により対象アイテムとして抽出されたノードN831から辿れるノードへの検索を行わない。この場合、情報処理装置100は、ノードN35から通常エッジを辿ることによる検索を行う。これにより、情報処理装置100は、アイテムXと関連性の低いノードが対象アイテムとして抽出されるのを抑制することができる。なお、情報処理装置100は、ノードN831から辿れるノードを対象アイテムとして抽出してもよい。 The information processing device 100 does not have to add the special object to the number of extracted objects. That is, the information processing apparatus 100 does not have to use the number of special objects for comparison with a predetermined number. In this case, the information processing apparatus 100 may use the number of objects excluding special objects among the objects extracted as the target items for comparison with a predetermined number. Further, the information processing apparatus 100 does not have to search for a node that can be traced from the node extracted as the target item by connecting the special edges. In the example of FIG. 1, the information processing apparatus 100 does not search for the node that can be traced from the node N831 extracted as the target item by connecting the special edges. In this case, the information processing apparatus 100 performs a search by tracing a normal edge from the node N35. As a result, the information processing apparatus 100 can suppress the extraction of nodes having a low relevance to the item X as target items. The information processing device 100 may extract a node that can be traced from the node N831 as a target item.

そして、抽出装置100は、抽出した対象アイテムに関する情報を提供する(ステップS20)。図1の例では、抽出装置100は、ノードN451に対応するアイテム#451や、ノードN35に対応するアイテム#35や、ノードN831に対応するアイテム#831を対象アイテムとしてユーザU1が利用する端末装置10に提供する。 Then, the extraction device 100 provides information regarding the extracted target item (step S20). In the example of FIG. 1, the extraction device 100 is a terminal device used by the user U1 with the item # 451 corresponding to the node N451, the item # 35 corresponding to the node N35, and the item # 831 corresponding to the node N831 as target items. Provided to 10.

上述したように、情報処理装置100は、グラフ情報GR11やインデックス情報IND11を用いて、ユーザU1から取得したアイテムXの対象アイテムを抽出する。例えば、情報処理装置100は、インデックス情報IND11を用いて、アイテムXの対象アイテムを抽出する際のグラフ情報GR11における起点ベクトルを決定する。そして、情報処理装置100は、決定した起点ベクトルを起点としてグラフ情報GR11を探索することにより、アイテムXの対象アイテムを抽出する。これにより、情報処理装置100は、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 extracts the target item of the item X acquired from the user U1 by using the graph information GR11 and the index information IND11. For example, the information processing apparatus 100 uses the index information IND11 to determine the starting point vector in the graph information GR11 when extracting the target item of the item X. Then, the information processing apparatus 100 extracts the target item of the item X by searching the graph information GR11 with the determined starting point vector as the starting point. As a result, the information processing apparatus 100 can appropriately extract items.

また、情報処理装置100は、グラフ情報の検索時において特別エッジが連結されたノードに到達した場合、ノードと特別エッジにより連結された他のノードを対象アイテムとして抽出することにより、異なる観点での対象アイテムも抽出することができる。例えば、情報処理装置100は、グラフ情報の検索時において特別エッジが連結されたノードに到達した場合、ノードと特別エッジにより連結された他のノードを対象アイテムとして抽出することにより、異なる観点での対象アイテムも抽出することができる。 Further, when the information processing apparatus 100 reaches the node to which the special edge is connected at the time of searching the graph information, the information processing apparatus 100 extracts the node and another node connected by the special edge as the target item, so that the information processing device 100 can be viewed from a different viewpoint. Target items can also be extracted. For example, when the information processing apparatus 100 reaches a node to which a special edge is connected at the time of searching graph information, the information processing apparatus 100 extracts the node and another node connected by the special edge as a target item, so that the information processing device 100 can be viewed from a different viewpoint. Target items can also be extracted.

例えば、情報処理装置100は、アイテムXと類似するアイテム(類似アイテム)が、例えばアイテムXと一見関係が無いように見える場合であっても、グラフ情報を用いることで、アイテムXの類似アイテム(対象アイテム)として抽出でき、アイテムを適切に抽出することができる。例えば、ディープラーニングといった手法で、セール用アイテム等の所定の目的に適したアイテムを識別するという方法もあるが、所定の目的に適するかに影響する多種多様な要素が存在する場合においては、各要素の事例が少ないので、学習ができずに識別精度を向上させることが難しいという問題がある。例えば、ディープラーニングといった学習手法で生成したモデルを用いて、そのモデルにアイテムの情報を入力し、出力されたスコアからそのアイテムが所定の目的に適するかを識別するという方法もあるが、多種多様な要素が存在する場合においては、各要素の事例が少ないため、モデルの精度を向上させることが難しく、識別精度を向上させることが難しい。一方で、情報処理装置100は、各アイテムから抽出した特徴を基に生成した複数のベクトルのグラフ構造化したグラフ情報を用いて検索を行うことにより、アイテムを適切に抽出することができる。 For example, the information processing apparatus 100 uses graph information to make an item similar to item X (similar item) even when an item similar to item X (similar item) does not seem to have a relationship with item X at first glance. It can be extracted as a target item), and the item can be extracted appropriately. For example, there is a method of identifying an item suitable for a predetermined purpose such as a sale item by a method such as deep learning, but when there are various factors that affect whether or not the item is suitable for a predetermined purpose, each item is used. Since there are few examples of elements, there is a problem that it is difficult to improve the identification accuracy without learning. For example, there is a method of inputting item information into the model using a model generated by a learning method such as deep learning and identifying whether the item is suitable for a predetermined purpose from the output score, but there are various methods. When there are various elements, it is difficult to improve the accuracy of the model and it is difficult to improve the identification accuracy because there are few cases of each element. On the other hand, the information processing apparatus 100 can appropriately extract an item by performing a search using graph-structured graph information of a plurality of vectors generated based on the features extracted from each item.

〔1−4.グラフ情報の生成(特別エッジの追加)について〕
図1の例で説明したように、情報処理装置100は、所定の条件を満たすノード間を特別エッジで連結し、その連結を基にグラフを検索することにより、アイテムを適切に抽出することができる。ここで、従来からあるグラフベースインデックス(以下、「従来グラフ」とする)でも超大規模アイテムの検索や推薦(レコメンド)に有効である。一方で、従来グラフがある観点で構築された場合、その従来グラフを用いたアイテムレコメンドを行う際に、別観点の新しい情報を動的に(例えば期間限定で)考慮するのが困難であるという課題がある。
[1-4. About generation of graph information (addition of special edges)]
As described in the example of FIG. 1, the information processing apparatus 100 can appropriately extract items by connecting nodes satisfying a predetermined condition with a special edge and searching a graph based on the connection. it can. Here, the conventional graph-based index (hereinafter referred to as “conventional graph”) is also effective for searching and recommending (recommendation) of ultra-large-scale items. On the other hand, when a conventional graph is constructed from a certain viewpoint, it is difficult to dynamically (for example, for a limited time) consider new information from another viewpoint when making an item recommendation using the conventional graph. There are challenges.

例えば、観点の新しい情報を動的に(例えば期間限定で)考慮する点については、以下のような例が挙げられる。例えば、アイテムのコンテンツ距離(類似性)で構築したグラフ情報(インデックス)があったときに、過去数時間で一緒に買われた頻度に関する距離を考慮したい場合がある。例えば、ユーザの行動履歴を用いることにより、雨が降っているとき、暑いとき、寒いとき、地震が発生したときなど、状況に応じて一緒に買われやすい傾向があるアイテムのクラスタを抽出し、その情報を反映させたい場合がある。しかしながら、状況が変化したときに従来グラフのグラフ情報を再構築するのは時間を要する。また、事前にすべての場合を想定して従来グラフのグラフ情報を個別に用意するのは困難であり、現実的ではない。 For example, the following is an example of dynamically (for example, for a limited time) considering new information of the viewpoint. For example, when there is graph information (index) constructed from item content distances (similarities), you may want to consider the distances related to how often they were bought together in the last few hours. For example, by using the user's behavior history, we can extract clusters of items that tend to be bought together depending on the situation, such as when it is raining, when it is hot, when it is cold, or when an earthquake occurs. You may want to reflect that information. However, it takes time to reconstruct the graph information of the conventional graph when the situation changes. In addition, it is difficult and impractical to individually prepare the graph information of the conventional graph assuming all cases in advance.

そこで、情報処理装置100は、別観点の情報(距離尺度等)によりヒューリスティックにグラフ情報を拡張する。例えば、情報処理装置100は、直近の過去数時間で一緒に買われた頻度に関する距離(類似度)を用いてグラフ情報を更新してもよい。例えば、情報処理装置100は、直近の過去数時間に合せて購入される回数が急増した商品Aと商品Bに拡張エッジ(特別エッジ)を追加する。例えば、情報処理装置100は、テレビで所定の有名人(アーティストA)が商品AAが好きだと言って話題になったときに、アーティストAの商品(例えばCD(Compact Disc)等の音楽コンテンツ)と商品AAをグラフ情報上において拡張エッジ(特別エッジ)で連結する。なお、情報処理装置100が自動で行ってもよいし、情報処理装置100の管理者等が手作業で行っても良い。 Therefore, the information processing apparatus 100 heuristically expands the graph information by using information from another viewpoint (distance scale or the like). For example, the information processing apparatus 100 may update the graph information using the distance (similarity) regarding the frequency of being bought together in the last few hours. For example, the information processing apparatus 100 adds an extended edge (special edge) to the product A and the product B whose number of purchases has increased rapidly in the last few hours. For example, when a predetermined celebrity (artist A) talks about a product AA on a television, the information processing device 100 is referred to as a product of the artist A (for example, music content such as a CD (Compact Disc)). The product AA is connected by an extended edge (special edge) on the graph information. The information processing device 100 may perform the operation automatically, or the administrator of the information processing device 100 may perform the operation manually.

この場合、情報処理装置100は、グラフ情報全体の再構築は必要なく、瞬時に更新することができる。また、情報処理装置100は、更新後のグラフ情報を用いたサービス提供において、所望の効果がない場合は、追加したエッジを削除することにより、瞬時に元のグラフ情報に戻すことができる。 In this case, the information processing apparatus 100 does not need to reconstruct the entire graph information and can be updated instantly. Further, the information processing apparatus 100 can instantly return to the original graph information by deleting the added edge when the service is provided using the updated graph information and the desired effect is not obtained.

例えば、従来グラフで検索した候補の中から、別尺度で絞り込むといつ二段階での抽出方法も考えられる。しかしながら、この抽出方法では、所望の対象商品が抽出されない可能性があるため、効率的ではない。また、各尺度で別々に検索してマージする場合では、両方の尺度を考慮した検索(ノードの遷移)が考慮されないので潜在的な需要を見逃す可能性がある。 For example, if you narrow down the candidates searched by the conventional graph by another scale, you can think of a two-step extraction method. However, this extraction method is not efficient because the desired target product may not be extracted. In addition, when searching and merging separately for each scale, potential demand may be overlooked because the search (node transition) considering both scales is not considered.

一方で、情報処理装置100は、取得したデータから適当な距離を算出できない場合であっても、過去の知見(経験知)から情報処理装置100の管理者等が強制的に、「これが好きな人はこれが好きなはず」等のノード間の特別な関連性を示す情報を埋め込むことができる。例えば、情報処理装置100は、単独観点では難しい、グラフ情報の商品A、Bの類似度のX倍といった相対的な指定もできる。例えば、情報処理装置100は、上記のように、アイテムの類似性以外の観点(尺度)により、特別エッジを追加することにより、種々の観点に基づく検索を可能にし、アイテムの適切な抽出を可能にする。 On the other hand, even if the information processing device 100 cannot calculate an appropriate distance from the acquired data, the administrator of the information processing device 100 forcibly "likes this" based on past knowledge (experience knowledge). You can embed information that shows special relationships between nodes, such as "people should like this." For example, the information processing apparatus 100 can also specify relative values such as X times the similarity of the products A and B of the graph information, which is difficult from a single viewpoint. For example, as described above, the information processing apparatus 100 enables a search based on various viewpoints by adding a special edge from a viewpoint (scale) other than the similarity of items, and enables appropriate extraction of items. To.

例えば、類似度を「各ユーザの閲覧ログにおいて一定時間内に共起した(一緒に閲覧された)ページの頻度」と定義(設定)した場合、リアルタイムで距離関数が変化するため、リアルタイムにグラフ情報に完全に反映するのは現状の技術では困難である。そのため、情報処理装置100は、ログから頻出パス(ショートカット)を別アルゴリズムで検出してエッジを追加すること等により、現状のグラフ情報をリアルタイムで(ヒューリスティックに)拡張して処理しつつ、所定の時間帯(深夜等)にバッチで全体のグラフ情報を更新してもよい。 For example, if the similarity is defined (set) as "the frequency of pages that co-occur (viewed together) within a certain period of time in each user's browsing log", the distance function changes in real time, so the graph changes in real time. It is difficult with the current technology to completely reflect it in the information. Therefore, the information processing apparatus 100 detects a frequent path (shortcut) from the log by another algorithm, adds an edge, and the like, thereby expanding and processing the current graph information in real time (heuristically), and at a predetermined value. The entire graph information may be updated in batch during the time zone (midnight, etc.).

〔1−4−1.特別エッジ〕
図1の例では、情報処理装置100が所定の期間におけるユーザの行動に基づいて、アイテム間を特別エッジで連結するかの判定を行う場合を示したが、情報処理装置100は、期間に限らず、種々の条件に基づいて、アイテム間を特別エッジで連結するかの判定を行ってもよい。例えば、情報処理装置100は、ユーザの位置情報などのコンテキストを用いてもよい。例えば、情報処理装置100は、ユーザのコンテキストが所定の条件を満たす場合のユーザの行動群を対象とし、その情報群に基づいて、アイテム間を特別エッジで連結するかの判定を行ってもよい。例えば、情報処理装置100は、所定のエリアに位置するユーザの行動群を対象とし、その情報群に基づいて、アイテム間を特別エッジで連結するかの判定を行ってもよい。例えば、情報処理装置100は、所定のエリアに位置するユーザの行動においてアイテム間に特別な関連性がある場合、そのアイテム間を特別エッジで連結すると判定してもよい。また、情報処理装置100は、所定のエリア(Xエリア)に基づいて追加された特別エッジ(特別エッジX)を、Xエリアに位置するユーザが情報提供先である場合に用いると決定してもよい。例えば、情報処理装置100は、Xエリアに位置するユーザが情報提供先である場合、検索時に特別エッジXを辿ることにより対象アイテムを抽出する。また、情報処理装置100は、Xエリア以外のエリアに位置するユーザが情報提供先である場合、検索時に特別エッジXを辿らずに対象アイテムを抽出する。なお、情報処理装置100は、特別エッジを用いるかどうかを種々の情報を基に決定してもよい。このように、情報処理装置100は、種々の情報を用いて特別エッジの利用可否を決定してもよい。情報処理装置100は、ユーザの位置情報などのコンテキストを用いて、特別エッジを用いて対象アイテムを抽出するかどうかを決定してもよい。情報処理装置100は、ユーザが所定のエリアに位置するかどうかに応じて、特別エッジを用いて対象アイテムを抽出するかどうかを決定してもよい。例えば、情報処理装置100は、特別エッジを用いて対象アイテムを抽出するかを、情報提供先となるユーザの属性情報に基づいて決定してもよい。
[1-4-1. Special edge]
In the example of FIG. 1, the case where the information processing device 100 determines whether to connect the items with a special edge based on the behavior of the user in a predetermined period is shown, but the information processing device 100 is limited to the period. Instead, it may be determined whether or not the items are connected by a special edge based on various conditions. For example, the information processing device 100 may use a context such as a user's position information. For example, the information processing device 100 may target a user's action group when the user's context satisfies a predetermined condition, and determine whether to connect the items with a special edge based on the information group. .. For example, the information processing device 100 may target a user's action group located in a predetermined area and determine whether to connect the items with a special edge based on the information group. For example, the information processing device 100 may determine that if there is a special relationship between items in the behavior of a user located in a predetermined area, the items are connected by a special edge. Further, even if the information processing device 100 determines that the special edge (special edge X) added based on the predetermined area (X area) is used when the user located in the X area is the information providing destination. Good. For example, when the user located in the X area is the information providing destination, the information processing device 100 extracts the target item by tracing the special edge X at the time of searching. Further, when the user located in the area other than the X area is the information providing destination, the information processing device 100 extracts the target item without following the special edge X at the time of searching. The information processing apparatus 100 may determine whether or not to use the special edge based on various information. In this way, the information processing apparatus 100 may determine the availability of the special edge by using various information. The information processing apparatus 100 may decide whether or not to extract the target item by using the special edge by using the context such as the position information of the user. The information processing apparatus 100 may decide whether or not to extract the target item by using the special edge depending on whether or not the user is located in a predetermined area. For example, the information processing apparatus 100 may determine whether to extract the target item using the special edge based on the attribute information of the user who is the information providing destination.

例えば、情報処理装置100は、特別エッジに対象とするユーザ属性を示す情報を対応付けて記憶してもよい。この場合、情報処理装置100は、特別エッジに対応付けられたユーザ属性と情報提供先のユーザのユーザ属性とを比較し、特別エッジに対応付けられたユーザ属性にユーザのユーザ属性が一致する場合、その特別エッジを用いると決定してもよい。 For example, the information processing apparatus 100 may store information indicating a target user attribute in association with a special edge. In this case, the information processing apparatus 100 compares the user attribute associated with the special edge with the user attribute of the information providing destination user, and the user attribute of the user matches the user attribute associated with the special edge. , You may decide to use that special edge.

例えば、情報処理装置100は、20代男性を対象のユーザ属性とする特別エッジ(「特別エッジY」とする)がグラフ情報に含まれ、情報提供先のユーザが20代男性である場合、特別エッジYを用いて対象アイテムを抽出する。一方で、報処理装置100は、20代男性を対象のユーザ属性とする特別エッジYがグラフ情報に含まれる場合であっても、情報提供先のユーザが20代女性である場合、特別エッジYを用いずに、対象アイテムを抽出する。 For example, in the information processing device 100, when a special edge (referred to as "special edge Y") whose user attribute is a male in his twenties is included in the graph information and the user to whom the information is provided is a male in his twenties, it is special. The target item is extracted using the edge Y. On the other hand, in the information processing device 100, even if the graph information includes a special edge Y whose user attribute is a man in his twenties, the special edge Y is when the user to whom the information is provided is a woman in his twenties. Extract the target item without using.

また、例えば、情報処理装置100は、ユーザの購買情報に限らず、種々の情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、ユーザが所定のサービスにおいて投稿した投稿情報を含むユーザの行動情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、アイテム#22とアイテム#33がユーザの投稿情報において所定の閾値以上の回数で共起する場合、アイテム#22とアイテム#33との間に特別エッジを追加すると判定してもよい。 Further, for example, the information processing apparatus 100 may determine the addition of a special edge by using various information, not limited to the user's purchase information. For example, the information processing device 100 may determine the addition of a special edge by using the user's behavior information including the posted information posted by the user in a predetermined service. For example, the information processing device 100 determines that a special edge is added between item # 22 and item # 33 when item # 22 and item # 33 co-occur in the user's posted information more than a predetermined threshold value. You may.

例えば、情報処理装置100は、SNSにおいてユーザが投稿した投稿情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、Twitter(登録商標)やFacebook(登録商標)等においてユーザが投稿した投稿情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、ユーザがTwitterにおいて投稿した文字情報を含むユーザの行動情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、ユーザがメッセージサービスにおいて入力した情報を含むユーザの行動情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、ユーザがLINE(登録商標)等のメッセージサービスにおいて入力した情報を含むユーザの行動情報を用いて、特別エッジの追加を判定してもよい。例えば、情報処理装置100は、電子メールにおいて入力した情報を含むユーザの行動情報を用いて、特別エッジの追加を判定してもよい。なお、情報処理装置100は、投稿情報に限らず、ユーザの種々の行動情報を用いて、特別エッジの追加を判定してもよい。 For example, the information processing device 100 may determine the addition of a special edge by using the posted information posted by the user on the SNS. For example, the information processing apparatus 100 may determine the addition of a special edge by using the posted information posted by the user on Twitter (registered trademark), Facebook (registered trademark), or the like. For example, the information processing device 100 may determine the addition of a special edge by using the user's behavior information including the character information posted by the user on Twitter. For example, the information processing apparatus 100 may determine the addition of a special edge by using the user's action information including the information input by the user in the message service. For example, the information processing apparatus 100 may determine the addition of a special edge by using the user's behavior information including the information input by the user in a message service such as LINE (registered trademark). For example, the information processing device 100 may determine the addition of a special edge by using the user's behavior information including the information input in the e-mail. The information processing device 100 may determine the addition of a special edge by using various behavior information of the user, not limited to the posted information.

次に、図13を用いて、グラフ情報への特別エッジの追加についいて説明する。図13は、特別エッジの追加の一例を示す図である。まず、情報処理装置100は、所定の履歴を示すログを取得する(ステップS51)。情報処理装置100は、所定の期間におけるユーザの行動を示す履歴情報を取得する。例えば、情報処理装置100は、履歴情報記憶部125(図8参照)から履歴情報を取得する。図13の例では、所定の期間は、日時#51〜#53等を含む3ヶ月であるものとし、収集対象期間と記載する場合がある。 Next, the addition of a special edge to the graph information will be described with reference to FIG. FIG. 13 is a diagram showing an example of adding a special edge. First, the information processing device 100 acquires a log showing a predetermined history (step S51). The information processing device 100 acquires historical information indicating the user's behavior in a predetermined period. For example, the information processing device 100 acquires history information from the history information storage unit 125 (see FIG. 8). In the example of FIG. 13, the predetermined period is 3 months including the date and time # 51 to # 53, and may be described as the collection target period.

例えば、情報処理装置100は、ログ一覧LGT51に示すように、日時#51〜#53等を含む収集対象期間におけるユーザの行動履歴を取得する。図13の例では、図示を省略するが、情報処理装置100は、各行動を行ったユーザの情報を含む履歴情報を取得してもよい。 For example, as shown in the log list LGT51, the information processing apparatus 100 acquires the user's action history in the collection target period including the date and time # 51 to # 53 and the like. In the example of FIG. 13, although not shown, the information processing apparatus 100 may acquire history information including information of a user who has performed each action.

「日時」は、対応する行動が行われた日時を示す。なお、日時#51〜日時#53等は、対応する行動が行われた具体的な日時であるものとする。「対象アイテム#1」、「対象アイテム#2」等は、対応する行動において共通して対象となったアイテムを示す。図13の例では、「対象アイテム#1」、「対象アイテム#2」等は、対応する行動において併せて購入されたアイテム(商品)を示す。 "Date and time" indicates the date and time when the corresponding action was performed. The date and time # 51 to date and time # 53 and the like are assumed to be specific dates and times when the corresponding action was performed. "Target item # 1", "target item # 2", etc. indicate items that are commonly targeted in the corresponding action. In the example of FIG. 13, "target item # 1", "target item # 2", and the like indicate items (products) purchased together in the corresponding action.

図13に示す例において、収集対象期間内の日時#51においてアイテム#51とアイテム#555が合わせて購入されたことを示す。また、収集対象期間内の日時#51においてアイテム#51とアイテム#555が合わせて購入されたことを示す。また、収集対象期間内の日時#51においてアイテム#555とアイテム#51が合わせて購入されたことを示す。 In the example shown in FIG. 13, it is shown that the item # 51 and the item # 555 were purchased together at the date and time # 51 within the collection target period. It also indicates that item # 51 and item # 555 were purchased together at the date and time # 51 within the collection target period. It also indicates that item # 555 and item # 51 were purchased together at the date and time # 51 within the collection target period.

そして、情報処理装置100は、ログ一覧LGT51に示すような履歴情報に基づいて、特別な関連性を有するアイテムを判定する(ステップS52)。例えば、情報処理装置100は、日時#51〜#53等を含む収集対象期間内において、所定の閾値(例えば、5000回等)以上合せて購入された複数のノードを、特別な関連性を有するアイテムであると判定する。図13の例では、情報処理装置100は、収集対象期間内において、アイテム#51とアイテム#555との2つのアイテム(商品)が所定の閾値以上合せて購入されたと判定する。そして、情報処理装置100は、アイテム#51とアイテム#555とを、特別な関連性を有するアイテムであると判定する。そのため、情報処理装置100は、アイテム#51とアイテム#555との間に特別エッジを追加すると判定する。 Then, the information processing apparatus 100 determines an item having a special relevance based on the history information as shown in the log list LGT51 (step S52). For example, the information processing apparatus 100 has a special relationship with a plurality of nodes purchased at a predetermined threshold value (for example, 5000 times or more) within the collection target period including the date and time # 51 to # 53 and the like. Determined to be an item. In the example of FIG. 13, the information processing apparatus 100 determines that two items (goods), item # 51 and item # 555, have been purchased in accordance with a predetermined threshold value or more within the collection target period. Then, the information processing apparatus 100 determines that the item # 51 and the item # 555 are items having a special relationship. Therefore, the information processing apparatus 100 determines that a special edge is added between the item # 51 and the item # 555.

そして、情報処理装置100は、特別な関連性を有するアイテム間を連結する特別エッジを追加する。図13の例では、情報処理装置100は、特別エッジSE51や特別エッジSE555を追加する。 Then, the information processing apparatus 100 adds a special edge that connects items having a special relationship. In the example of FIG. 13, the information processing apparatus 100 adds a special edge SE51 and a special edge SE555.

情報処理装置100は、ノードN51からノードN555に連結される特別エッジSE51を生成する。情報処理装置100は、ノードN51を参照元とし、ノードN555を参照先とする特別エッジSE51を生成する。例えば、情報処理装置100は、特別エッジSE51の情報をグラフ情報記憶部123(図6参照)に追加(登録)する。 The information processing device 100 generates a special edge SE51 connected from the node N51 to the node N555. The information processing device 100 generates a special edge SE51 with the node N51 as the reference source and the node N555 as the reference destination. For example, the information processing apparatus 100 adds (registers) the information of the special edge SE51 to the graph information storage unit 123 (see FIG. 6).

また、情報処理装置100は、ノードN555からノードN51に連結される特別エッジSE555を生成する。情報処理装置100は、ノードN555を参照元とし、ノードN51を参照先とする特別エッジSE555を生成する。情報処理装置100は、特別エッジSE555の情報をグラフ情報記憶部123(図6参照)に追加(登録)する。 Further, the information processing apparatus 100 generates a special edge SE555 connected from the node N555 to the node N51. The information processing apparatus 100 generates a special edge SE555 with node N555 as a reference source and node N51 as a reference destination. The information processing device 100 adds (registers) the information of the special edge SE555 to the graph information storage unit 123 (see FIG. 6).

例えば、情報処理装置100は、図13中のグラフ情報GR21に、点線で示す特別エッジSE51や特別エッジSE555を追加する。これにより、情報処理装置100は、特別な関連性を有するアイテム間を特別エッジで連結したグラフ情報を生成する。なお、情報処理装置100は、特別エッジSE51や特別エッジSE555の追加から所定期間が経過した場合、特別エッジSE51や特別エッジSE555を、グラフ情報GR21から取り除いて良い。情報処理装置100は、特別エッジSE51や特別エッジSE555の追加から所定期間が経過した場合、グラフ情報記憶部123(図6参照)から特別エッジSE51や特別エッジSE555を削除して良い。 For example, the information processing apparatus 100 adds the special edge SE51 and the special edge SE555 shown by the dotted line to the graph information GR21 in FIG. As a result, the information processing apparatus 100 generates graph information in which items having a special relationship are connected by a special edge. The information processing apparatus 100 may remove the special edge SE51 and the special edge SE555 from the graph information GR 21 when a predetermined period has elapsed from the addition of the special edge SE51 and the special edge SE555. When a predetermined period has elapsed from the addition of the special edge SE51 or the special edge SE555, the information processing apparatus 100 may delete the special edge SE51 or the special edge SE555 from the graph information storage unit 123 (see FIG. 6).

このように、情報処理装置100は、グラフ情報GR21に示すように、距離が遠いノード間、すなわちアイテム情報での類似性が低いアイテムであっても、ユーザの行動を基に特別な関連性を判定し、特別エッジで連結する。これにより、情報処理装置100は、ユーザの行動に適応的なグラフ情報を生成し、ユーザに適応的な情報提供を行うことができる。 In this way, as shown in the graph information GR21, the information processing device 100 makes a special relationship based on the user's behavior even if the items are far apart from each other, that is, the items have low similarity in the item information. Judge and connect with a special edge. As a result, the information processing device 100 can generate graph information adaptive to the user's behavior and provide the user with adaptive information.

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

例えば、情報処理装置100は、図1に示すようなツリー構造(木構造)に関する検索インデックスをインデックスデータとして生成してもよい。例えば、情報処理装置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. 1 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 index data having another tree structure. For example, the information processing apparatus 100 may generate various index data in which the leaf of the index data of the tree structure is connected to the graph data. For example, the information processing apparatus 100 may generate various index data in which the leaf of the index data of the tree structure corresponds to the node in the graph data. Further, when the information processing apparatus 100 searches using such index data, the information processing apparatus 100 may search the graph data from the leaf (node) reached by tracing the index data.

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

〔2.情報処理システムの構成〕
図2に示すように、情報処理システム1は、端末装置10と、情報提供装置50と、情報処理装置100とが含まれる。端末装置10と、情報提供装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図2は、実施形態に係る情報処理システムの構成例を示す図である。なお、図2に示した情報処理システム1には、複数台の端末装置10や、複数台の情報提供装置50や、複数台の情報処理装置100が含まれてもよい。
[2. Information processing system configuration]
As shown in FIG. 2, 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 to each other via a predetermined network N so as to be communicable by wire or wirelessly. FIG. 2 is a diagram showing a configuration example of an information processing system according to an embodiment. The information processing system 1 shown in FIG. 2 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)等により実現される。例えば、端末装置10は、所定のサーバシステムを管理者が利用する情報処理装置であってもよい。例えば、端末装置10は、アイテム情報を収集し、アイテム情報を情報処理装置100へ送信する。 The terminal device 10 is an information processing device used by the user. The terminal device 10 accepts various operations by the user. In the following, the terminal device 10 may be referred to as a user. That is, in the following, 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. For example, the terminal device 10 may be an information processing device in which an administrator uses a predetermined server system. For example, the terminal device 10 collects item information and transmits the item information to the information processing device 100.

情報処理装置100は、種々の情報処理を行う情報処理装置である。情報処理装置100は、グラフ情報を検索することにより、複数のアイテムのうち、一のアイテムと類似するアイテムである類似アイテムを対象アイテムとして抽出する情報処理装置である。情報処理装置100は、グラフ情報の検索時において特別エッジが連結されたノードに到達した場合、当該ノードと特別エッジにより連結された他のノードを対象アイテムとして抽出する情報処理装置である。例えば、情報処理装置100は、一のアイテムに関するアイテム情報を取得し、アイテム情報と、グラフ情報の検索の起点となる起点ベクトルに関する情報とに基づいて、起点ベクトルを決定する。 The information processing device 100 is an information processing device that performs various types of information processing. The information processing device 100 is an information processing device that extracts similar items that are similar to one item among a plurality of items as target items by searching graph information. The information processing device 100 is an information processing device that, when a node to which a special edge is connected is reached at the time of searching graph information, extracts another node connected to the node by the special edge as a target item. For example, the information processing apparatus 100 acquires item information related to one item, and determines the starting point vector based on the item information and the information related to the starting point vector that is the starting point for searching the graph information.

情報処理装置100は、ユーザ等に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報処理装置100は、端末装置10から一のアイテムのアイテム情報(以下、「クエリ情報」や「クエリ」ともいう)を取得すると、クエリに類似するアイテム(ベクトル情報等)を検索し、検索結果を端末装置10に提供する。図1の例では、情報処理装置100は、端末装置10から一のアイテムのアイテム情報を取得すると、一のアイテムに類似するアイテムを検索し、検索結果を類似のアイテムとして端末装置10に提供する。また、例えば、情報処理装置100が端末装置10に提供するデータは、アイテムの名称やアイテムのアイテム情報自体であってもよいし、URL(Uniform Resource Locator)等の対応するデータを参照するための情報であってもよい。 The information processing device 100 is an information processing device in which information for providing various information to a user or the like is stored. For example, when the information processing device 100 acquires the item information (hereinafter, also referred to as "query information" or "query") of one item from the terminal device 10, it searches for an item (vector information or the like) similar to the query. The search result is provided to the terminal device 10. In the example of FIG. 1, when the information processing device 100 acquires the item information of one item from the terminal device 10, it searches for an item similar to the one item and provides the search result to the terminal device 10 as a similar item. .. Further, for example, the data provided by the information processing device 100 to the terminal device 10 may be the item name or the item information itself of the item, or for referring to the corresponding data such as a URL (Uniform Resource Locator). It may be information.

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

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

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

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

(アイテム情報記憶部121)
実施形態に係るアイテム情報記憶部121は、アイテム(オブジェクト)に関する各種情報を記憶する。例えば、アイテム情報記憶部121は、アイテムIDやベクトルデータを記憶する。図4の例では、アイテムに関するアイテム情報を記憶する。図4は、実施形態に係るアイテム情報記憶部の一例を示す図である。図4に示すアイテム情報記憶部121は、「アイテムID」、「アイテム」、「アイテム情報」、「ベクトル情報」といった項目が含まれる。
(Item information storage unit 121)
The item information storage unit 121 according to the embodiment stores various information related to the item (object). For example, the item information storage unit 121 stores item IDs and vector data. In the example of FIG. 4, item information about the item is stored. FIG. 4 is a diagram showing an example of the item information storage unit according to the embodiment. The item information storage unit 121 shown in FIG. 4 includes items such as "item ID", "item", "item information", and "vector information".

「アイテムID」は、アイテム(オブジェクト)を識別するための識別情報を示す。また、「アイテム」は、アイテムIDにより識別されるアイテムの具体的な名称や内容等を示す。なお、図4の例では、アイテムを「アイテム#1」といった抽象的な符号で示すが、括弧内の「A商品」等のように、アイテム(商品)を特定するための文字情報等が含まれてもよい。 The "item ID" indicates identification information for identifying an item (object). Further, the "item" indicates a specific name, content, or the like of the item identified by the item ID. In the example of FIG. 4, the item is indicated by an abstract code such as "item # 1", but includes character information for identifying the item (product) such as "A product" in parentheses. May be.

「アイテム情報」は、アイテムIDにより識別されるアイテムに関する情報を示す。なお、図4の例では、アイテム情報を「IDT1」といった抽象的な符号で示すが、各アイテム情報は、アイテムIDにより識別されるアイテムの商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等の種々のアイテムに関する情報を含んでもよい。「ベクトル情報」とは、アイテムIDにより識別されるアイテム(オブジェクト)に対応するベクトル情報を示す。すなわち、図4の例では、アイテム(オブジェクト)を識別するアイテムIDに対して、オブジェクトに対応するベクトルデータ(ベクトル情報)が対応付けられて登録されている。 "Item information" indicates information about an item identified by an item ID. In the example of FIG. 4, the item information is indicated by an abstract code such as "IDT1", but each item information is the product category, title, description, image information, manufacturer, and size of the item identified by the item ID. May include information about various items such as. The "vector information" indicates the vector information corresponding to the item (object) identified by the item ID. That is, in the example of FIG. 4, the vector data (vector information) corresponding to the object is associated and registered with the item ID that identifies the item (object).

例えば、図4の例では、アイテムID「IM1」により識別されるアイテム(オブジェクト)は、「10,24,54,2...」の多次元(N次元)のベクトル情報が対応付けられることを示す。例えば、アイテム#1については、モデルM1等により、アイテム#1の特徴を示す「10,24,54,2...」の多次元(N次元)のベクトル情報がアイテム情報IDT1から抽出されたことを示す。また、図4の例では、アイテム#1の指標値は、「VL1」であることを示す。 For example, in the example of FIG. 4, the item (object) identified by the item ID "IM1" is associated with the multidimensional (N-dimensional) vector information of "10, 24, 54, 2 ...". Is shown. For example, for item # 1, multidimensional (N-dimensional) vector information of "10, 24, 54, 2 ..." indicating the characteristics of item # 1 is extracted from item information IDT1 by model M1 or the like. Show that. Further, in the example of FIG. 4, the index value of item # 1 is shown to be “VL1”.

なお、アイテム情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 The item information storage unit 121 is not limited to the above, and various information may be stored depending on the purpose.

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

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

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

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

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

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

(グラフ情報記憶部123)
実施形態に係るグラフ情報記憶部123は、グラフ情報に関する各種情報を記憶する。図6は、実施形態に係るグラフ情報記憶部の一例を示す図である。図6の例では、グラフ情報記憶部123は、「ノードID」、「アイテムID」、「エッジ情報」、および「特別エッジ情報」といった項目を有する。また、「エッジ情報」や「特別エッジ情報」には、「エッジID」や「参照先」といった情報が含まれる。
(Graph Information Storage Unit 123)
The graph information storage unit 123 according to the embodiment stores various information related to the graph information. FIG. 6 is a diagram showing an example of a graph information storage unit according to the embodiment. In the example of FIG. 6, the graph information storage unit 123 has items such as "node ID", "item ID", "edge information", and "special edge information". Further, the "edge information" and "special edge information" include information such as "edge ID" and "reference destination".

「ノードID」は、グラフデータにおける各ノード(アイテム)を識別するための識別情報を示す。また、「アイテムID」は、アイテム(オブジェクト)を識別するための識別情報を示す。 The "node ID" indicates identification information for identifying each node (item) in the graph data. Further, the "item ID" indicates identification information for identifying an item (object).

また、「エッジ情報」は、対応するノードに接続されるエッジに関する情報を示す。「エッジ情報」は、複数のアイテムの類似性に応じてノードを連結するエッジに関する情報を示す。例えば、「エッジ情報」は、通常エッジに関する情報を示す。図6の例では、「エッジ情報」は、エッジが有向エッジである場合を示し、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジID」は、ノード間を連結するエッジを識別するための識別情報を示す。また、「参照先」は、エッジにより連結された参照先(ノード)を示す情報を示す。すなわち、図6の例では、ノードを識別するノードIDに対して、そのノードに対応するオブジェクト(アイテム)を識別する情報やそのノードからの有向エッジ(出力エッジ)が連結される参照先(ノード)が対応付けられて登録されている。 Further, "edge information" indicates information about an edge connected to the corresponding node. "Edge information" indicates information about an edge that connects nodes according to the similarity of a plurality of items. For example, "edge information" usually indicates information about an edge. In the example of FIG. 6, “edge information” indicates a case where the edge is a directed edge, and indicates information about an output edge output from the corresponding node. Further, the "edge ID" indicates identification information for identifying an edge connecting the nodes. Further, "reference destination" indicates information indicating a reference destination (node) connected by an edge. That is, in the example of FIG. 6, the reference destination (output edge) to which the information for identifying the object (item) corresponding to the node and the directed edge (output edge) from the node are connected to the node ID for identifying the node. Node) is associated and registered.

また、「特別エッジ情報」は、対応するノードに接続される特別エッジに関する情報を示す。「特別エッジ情報」は、通常エッジを連結する観点とは異なる観点による所定の条件を満たすノードを連結するエッジ(特別エッジ)に関する情報を示す。図6の例では、「特別エッジ情報」は、特別エッジが有向エッジである場合を示し、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジID」は、ノード間を連結する特別エッジを識別するための識別情報を示す。また、「参照先」は、特別エッジにより連結された参照先(ノード)を示す情報を示す。すなわち、図6の例では、ノードを識別するノードIDに対して、そのノードに対応するオブジェクト(アイテム)を識別する情報やそのノードからの有向エッジ(出力エッジ)が連結される参照先(ノード)が対応付けられて登録されている。 Further, "special edge information" indicates information about the special edge connected to the corresponding node. "Special edge information" indicates information on an edge (special edge) that connects nodes that satisfy a predetermined condition from a viewpoint different from the viewpoint of connecting normal edges. In the example of FIG. 6, “special edge information” indicates a case where the special edge is a directed edge, and indicates information about an output edge output from the corresponding node. Further, the "edge ID" indicates identification information for identifying a special edge connecting the nodes. Further, "reference destination" indicates information indicating a reference destination (node) connected by a special edge. That is, in the example of FIG. 6, the reference destination (output edge) to which the information for identifying the object (item) corresponding to the node and the directed edge (output edge) from the node are connected to the node ID for identifying the node. Node) is associated and registered.

例えば、図6の例では、ノードID「N1」により識別されるノード(ベクトル)は、アイテムID「IM1」により識別されるアイテム(オブジェクト)に対応することを示す。 For example, in the example of FIG. 6, it is shown that the node (vector) identified by the node ID “N1” corresponds to the item (object) identified by the item ID “IM1”.

また、ノードID「N1」により識別されるノードからは、エッジID「E11」により識別されるエッジ(通常エッジ)が、ノードID「N25」により識別されるノード(ベクトル)に連結されることを示す。図6の例では、ノードID「N1」により識別されるノード(ベクトル)からはノードID「N25」により識別されるノード(ベクトル)に辿ることができることを示す。すなわち、ノードN1からは、通常エッジであるエッジE11によりノードN25に辿ることができることを示す。 Further, from the node identified by the node ID "N1", the edge (normal edge) identified by the edge ID "E11" is connected to the node (vector) identified by the node ID "N25". Shown. In the example of FIG. 6, it is shown that the node (vector) identified by the node ID “N1” can be traced to the node (vector) identified by the node ID “N25”. That is, it is shown that the node N1 can be traced to the node N25 by the edge E11 which is a normal edge.

また、ノードID「N1」により識別されるノードからは、特別エッジは他のノードへ接続されていないことを示す。図6の例では、ノードID「N1」により識別されるノード(ベクトル)を参照元とする特別エッジはないことを示す。すなわち、ノードN1からは、特別エッジにより辿ることができるノードはないことを示す。 Further, the node identified by the node ID "N1" indicates that the special edge is not connected to another node. In the example of FIG. 6, it is shown that there is no special edge whose reference source is the node (vector) identified by the node ID “N1”. That is, it is shown that there is no node that can be traced by the special edge from the node N1.

また、ノードID「N35」により識別されるノードからは、エッジID「E351」により識別されるエッジ(通常エッジ)が、ノードID「N693」により識別されるノード(ベクトル)に連結されることを示す。図6の例では、ノードID「N35」により識別されるノード(ベクトル)からはノードID「N693」により識別されるノード(ベクトル)に辿ることができることを示す。すなわち、ノードN35からは、通常エッジであるエッジE351によりノードN693に辿ることができることを示す。 Further, from the node identified by the node ID "N35", the edge (normal edge) identified by the edge ID "E351" is connected to the node (vector) identified by the node ID "N693". Shown. In the example of FIG. 6, it is shown that the node (vector) identified by the node ID “N35” can be traced to the node (vector) identified by the node ID “N693”. That is, it is shown that the node N65 can be traced to the node N693 by the edge E351 which is a normal edge.

また、ノードID「N35」により識別されるノードからは、エッジID「SE35」により識別される特別エッジが、ノードID「N831」により識別されるノード(ベクトル)に連結されることを示す。図6の例では、ノードID「N35」により識別されるノード(ベクトル)からはノードID「N831」により識別されるノード(ベクトル)に辿ることができることを示す。すなわち、ノードN35からは、特別エッジSE35によりノードN831に辿ることができることを示す。 Further, from the node identified by the node ID "N35", it is shown that the special edge identified by the edge ID "SE35" is connected to the node (vector) identified by the node ID "N831". In the example of FIG. 6, it is shown that the node (vector) identified by the node ID “N35” can be traced to the node (vector) identified by the node ID “N831”. That is, it is shown that the node N35 can be traced to the node N831 by the special edge SE35.

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

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

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

例えば、図7に示す例において、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「特徴抽出(商品)」であり、入力されたアイテム情報からの特徴の抽出に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。 For example, in the example shown in FIG. 7, the model (model M1) identified by the model ID "M1" has a purpose of "feature extraction (product)" and is used for extracting features from input item information. Show that. Further, it is shown that the model data of the model M1 is the model data MDT1.

モデルM1(モデルデータMDT1)は、アイテムのアイテム情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたアイテム情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。 The model M1 (model data MDT1) includes an input layer into which item information of an item is input, an output layer, and a first element that is any layer from the input layer to the output layer and belongs to a layer other than the output layer. , A second element whose value is calculated based on the first element and the weight of the first element, and each element belonging to each layer other than the output layer with respect to the item information input to the input layer is first. As an element, it is a model for making a computer function so as to output the same information as 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.

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

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

(履歴情報記憶部125)
実施形態に係る履歴情報記憶部125は、履歴に関する各種情報を記憶する。図8は、実施形態に係る履歴情報記憶部の一例を示す図である。履歴情報記憶部125は、複数のユーザ(ユーザ群)の各種行動の履歴を示す情報を記憶する。例えば、履歴情報記憶部125は、ユーザが行動を行った日時や対象となるアイテムを示す情報を記憶する。図8の例では、履歴情報記憶部125は、ユーザが商品の購入を行った日時や購入対象となった商品(購入商品)を記憶する。図8に示す履歴情報記憶部125には、「履歴ID」、「日時」、「ユーザ」、「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」といった項目を有する。
(History information storage unit 125)
The history information storage unit 125 according to the embodiment stores various information related to the history. FIG. 8 is a diagram showing an example of the history information storage unit according to the embodiment. The history information storage unit 125 stores information indicating the history of various actions of a plurality of users (user groups). For example, the history information storage unit 125 stores information indicating the date and time when the user performed an action and the target item. In the example of FIG. 8, the history information storage unit 125 stores the date and time when the user purchased the product and the product (purchased product) to be purchased. In the history information storage unit 125 shown in FIG. 8, "history ID", "date and time", "user", "target item # 1 (purchased product # 1)", "target item # 2 (purchased product # 2)" It has items such as.

「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」は、行動の対象となったアイテムを示すが、「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」のみに限らず、対象アイテム数だけ記憶されてもよく、例えば「対象アイテム#3(購入商品#3)」、「対象アイテム#4(購入商品#4)」等が含まれてもよい。なお、図8では、説明を簡単にするために、ユーザの商品の購入に関する行動のみを図示するが、ユーザの行動は、商品の購入に限らず、アイテム情報(商品情報)の閲覧やアイテム(商品)の検索等の種々の行動が含まれるものとする。例えば、行動がアイテム情報の閲覧である場合、履歴情報記憶部125中の「対象アイテム#1」や「対象アイテム#2」には、閲覧されたアイテムを示す情報が記憶される。また、例えば、行動がアイテム情報の検索である場合、履歴情報記憶部125中の「対象アイテム#1」や「対象アイテム#2」には、その検索時に一緒に抽出されたアイテムを示す情報が記憶される。 "Target item # 1 (purchased product # 1)" and "target item # 2 (purchased product # 2)" indicate items that are the target of action, but "target item # 1 (purchased product # 1)" , Not limited to "target item # 2 (purchased product # 2)", only the number of target items may be stored, for example, "target item # 3 (purchased product # 3)", "target item # 4 (purchased product # 4)". # 4) ”etc. may be included. In FIG. 8, for the sake of simplicity, only the user's behavior regarding the purchase of the product is shown, but the user's behavior is not limited to the purchase of the product, but the browsing of item information (product information) and the item (product information). Various actions such as searching for products) shall be included. For example, when the action is browsing item information, information indicating the browsed item is stored in "target item # 1" and "target item # 2" in the history information storage unit 125. Further, for example, when the action is a search for item information, the "target item # 1" and "target item # 2" in the history information storage unit 125 contain information indicating the items extracted together with the search. It will be remembered.

「履歴ID」は、履歴を識別するための識別情報を示す。「日時」は、対応する行動が行われた日時を示す。なお、図8の例では、日時を「日時#11」といった抽象的な符号で示すが、「2018年3月13日20時45分38秒」等のように、対応する行動が行われた具体的な日時であってもよい。「ユーザ」は、対応する行動が行ったユーザを示す。 The "history ID" indicates identification information for identifying the history. "Date and time" indicates the date and time when the corresponding action was performed. In the example of FIG. 8, the date and time are indicated by an abstract code such as "date and time # 11", but the corresponding action was performed such as "20:45:38 on March 13, 2018". It may be a specific date and time. “User” refers to a user who has performed the corresponding action.

「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」等は、対応する行動において共通して対象となったアイテムを示す。図8の例では、「対象アイテム#1(購入商品#1)」、「対象アイテム#2(購入商品#2)」等は、対応する行動において併せて購入されたアイテム(商品)を示す。 "Target item # 1 (purchased product # 1)", "target item # 2 (purchased product # 2)", etc. indicate items that are commonly targeted in the corresponding action. In the example of FIG. 8, "target item # 1 (purchased product # 1)", "target item # 2 (purchased product # 2)", and the like indicate items (products) purchased together in the corresponding action.

図8に示す例において、履歴ID「LG11」により識別される履歴は、日時#11においてユーザU5が行った商品を購入する行動であることを示す。また、日時#11においてユーザU5は、アイテム#35とアイテム#831を合わせて購入したことを示す。 In the example shown in FIG. 8, the history identified by the history ID “LG11” indicates that the user U5 purchases the product at the date and time # 11. Further, at the date and time # 11, the user U5 indicates that the item # 35 and the item # 831 have been purchased together.

なお、履歴情報記憶部125は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 The history information storage unit 125 is not limited to the above, and may store various information depending on the purpose.

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

図3に示すように、制御部130は、取得部131と、生成部132と、決定部133と、検索部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As shown in FIG. 3, the control unit 130 includes an acquisition unit 131, a generation unit 132, a determination unit 133, a search unit 134, and a provision unit 135, and functions and operations of information processing described below. To realize or execute. The internal configuration of the control unit 130 is not limited to the configuration shown in FIG. 3, and may be another configuration as long as it is a configuration for performing information processing described later.

(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、記憶部120から各種情報を取得する。例えば、取得部131は、アイテム情報記憶部121や、インデックス情報記憶部122や、グラフ情報記憶部123や、モデル情報記憶部124や、履歴情報記憶部125等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得する。取得部131は、端末装置10や情報提供装置50から各種情報を取得する。
(Acquisition unit 131)
The acquisition unit 131 acquires various types of information. For example, the acquisition unit 131 acquires various information from the storage unit 120. For example, the acquisition unit 131 acquires various information from the item information storage unit 121, the index information storage unit 122, the graph information storage unit 123, the model information storage unit 124, the history information storage unit 125, and the like. In addition, the acquisition unit 131 acquires various types of information from an external information processing device. The acquisition unit 131 acquires various information from the terminal device 10 and the information providing device 50.

取得部131は、複数のアイテムの各々に対応する複数のノードが、複数のアイテムの類似性に応じてエッジにより連結されたグラフ情報であって、複数のノードのうち、類似性とは異なる観点による所定の条件を満たすノード間がエッジとは異なる特別エッジにより連結されたグラフ情報を取得する。取得部131は、一のアイテムに関するアイテム情報を取得する。取得部131は、複数のアイテムの各々に対応する複数のベクトルが、複数のアイテムの類似性に応じて連結されたグラフ情報と、一のアイテムに関するアイテム情報を取得する。取得部131は、複数のアイテムの各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得する。 The acquisition unit 131 is graph information in which a plurality of nodes corresponding to each of the plurality of items are connected by edges according to the similarity of the plurality of items, and is a viewpoint different from the similarity among the plurality of nodes. Acquires graph information in which nodes that satisfy the predetermined conditions are connected by a special edge different from the edge. The acquisition unit 131 acquires item information related to one item. The acquisition unit 131 acquires graph information in which a plurality of vectors corresponding to each of the plurality of items are concatenated according to the similarity of the plurality of items, and item information relating to one item. The acquisition unit 131 acquires graph information in which a plurality of vectors indicating the characteristics of each of the plurality of items are concatenated according to their similarity.

取得部131は、所定のモデルを用いて複数のアイテムの各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。取得部131は、複数のアイテムに関する情報を所定のモデルに入力することにより、抽出される複数のアイテムの各々の特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。 The acquisition unit 131 acquires graph information in which a plurality of vectors whose elements are feature quantities extracted from each of a plurality of items using a predetermined model are concatenated according to the similarity. By inputting information about a plurality of items into a predetermined model, the acquisition unit 131 is a graph information in which a plurality of vectors whose elements are the feature amounts of the plurality of items to be extracted are concatenated according to the similarity. To get.

取得部131は、複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が特別エッジにより連結されたグラフ情報を取得する。取得部131は、複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が特別エッジにより連結されたグラフ情報を取得する。取得部131は、所定の期間において併せて購入される回数が所定の閾値以上である複数の商品である複数のアイテムに各々対応する複数のノード間が、特別エッジにより連結されたグラフ情報を取得する。取得部131は、複数のアイテムのうち、所定の閾値以上の検索時において共通して到達するノード間が特別エッジにより連結されたグラフ情報を取得する。 The acquisition unit 131 acquires graph information in which nodes having a predetermined commonality in the behavior of the user group among a plurality of items are connected by a special edge. The acquisition unit 131 acquires graph information in which nodes having a predetermined commonality in the behavior of the user group among a plurality of items are connected by a special edge. The acquisition unit 131 acquires graph information in which a plurality of nodes corresponding to a plurality of items, which are a plurality of products whose number of purchases in a predetermined period is equal to or greater than a predetermined threshold value, are connected by a special edge. To do. The acquisition unit 131 acquires graph information in which nodes that reach in common at the time of a search of a predetermined threshold value or more among a plurality of items are connected by a special edge.

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

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

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

また、取得部131は、ユーザが利用する端末装置10から一のアイテムに関するアイテム情報を取得する。例えば、取得部131は、検索クエリとして、一のアイテムのアイテム情報を取得する。例えば、取得部131は、アイテムに関する検索クエリを取得する。取得部131は、ユーザU1が利用する端末装置10からアイテムXに関するアイテム情報IDT11を取得する。 In addition, the acquisition unit 131 acquires item information related to one item from the terminal device 10 used by the user. For example, the acquisition unit 131 acquires the item information of one item as a search query. For example, the acquisition unit 131 acquires a search query related to an item. The acquisition unit 131 acquires the item information IDT11 related to the item X from the terminal device 10 used by the user U1.

例えば、取得部131は、一のアイテムに関するアイテム情報を取得する。例えば、取得部131は、端末装置10からアイテムXに関するアイテム情報IDT11を取得する。例えば、取得部131は、グラフ情報記憶部123からアイテムに関するグラフ情報GR11を取得する。また、例えば、取得部131は、インデックス情報記憶部122(図5参照)から、グラフ情報GR11における検索の起点となるノード(起点ベクトル)の決定に用いるインデックス情報IND11を取得する。 For example, the acquisition unit 131 acquires item information related to one item. For example, the acquisition unit 131 acquires the item information IDT11 related to the item X from the terminal device 10. For example, the acquisition unit 131 acquires the graph information GR11 regarding the item from the graph information storage unit 123. Further, for example, the acquisition unit 131 acquires the index information IND11 used for determining the node (starting point vector) that is the starting point of the search in the graph information GR 11 from the index information storage unit 122 (see FIG. 5).

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

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

生成部132は、アイテムのアイテム情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたアイテム情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するモデルを生成する。 The generation unit 132 includes an input layer into which item information of an item is input, an output layer, a first element which is any layer from the input layer to the output layer and belongs to a layer other than the output layer, and a first element. A second element whose value is calculated based on the weight of the first element and the second element, and each element belonging to each layer other than the output layer is set as the first element with respect to the item information input to the input layer. By performing an operation based on the weights of one element and the first element, a model that outputs the same information as the information input to the input layer from the output layer is generated.

例えば、生成部132は、学習データに基づいてモデルを生成する。例えば、生成部132は、アイテム情報記憶部121中のアイテム情報IDT1、IDT2等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。 For example, the generation unit 132 generates a model based on the training data. For example, the generation unit 132 generates a model by learning using the item information IDT1, IDT2, etc. in the item information storage unit 121 as learning data (teacher data).

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

なお、生成部132は、オートエンコーダとしてのモデルM1に限らず、種々の学習アルゴリズムを用いてアイテム(入館)に対応するモデルM21やアイテム(入国)に対応するモデルM22等を生成してもよい。例えば、生成部132は、ニューラルネットワーク(neural network)、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルM21、M22等を生成する。一例として、生成部132がニューラルネットワークを用いてモデルM21、M22等を生成する場合、モデルM21、M22等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。なお、情報処理装置100は、情報提供装置50等の他の外部装置からモデルを取得する場合、生成部132を有しなくてもよい。 The generation unit 132 is not limited to the model M1 as an autoencoder, and may generate a model M21 corresponding to an item (entrance), a model M22 corresponding to an item (entry), and the like by using various learning algorithms. .. For example, the generation unit 132 generates models M21, M22, and the like using learning algorithms such as a neural network, a support vector machine (SVM), clustering, and reinforcement learning. As an example, when the generation unit 132 generates models M21, M22, etc. using a neural network, the models M21, M22, etc. include an input layer containing one or more neurons and an intermediate layer containing one or more neurons. It has an output layer containing the above neurons. The information processing device 100 does not have to have the generation unit 132 when acquiring a model from another external device such as the information providing device 50.

図1の例では、生成部132は、アイテム情報の特徴を抽出するモデルを用いて各アイテムのアイテム情報からN次元ベクトルを生成する。生成部132は、モデル情報記憶部124(図7)に示すモデルM1を用いて、各アイテムのアイテム情報からベクトルを生成する。 In the example of FIG. 1, the generation unit 132 generates an N-dimensional vector from the item information of each item by using a model that extracts the features of the item information. The generation unit 132 generates a vector from the item information of each item by using the model M1 shown in the model information storage unit 124 (FIG. 7).

また、生成部132は、一のアイテムに対応するアイテム情報からグラフ情報の探索に用いるベクトルを生成する。図1の例では、生成部132は、処理群PS11に示すような処理により、アイテムXに対応するベクトルを生成する。生成部132は、アイテムXに関するアイテム情報IDT11をモデルM1に入力する。具体的には、生成部132は、アイテムXの商品カテゴリ、タイトル、説明文、画像情報、製造元、サイズ等の情報を含むアイテム情報IDT11をモデルM1に入力する。そして、生成部132は、アイテム情報IDT11の入力後のモデルM1中の情報を用いて、ベクトルを生成する。例えば、生成部132は、アイテム情報IDT11が入力されたモデルM1中の各要素を用いて、ベクトルデータを生成する。 Further, the generation unit 132 generates a vector used for searching graph information from the item information corresponding to one item. In the example of FIG. 1, the generation unit 132 generates the vector corresponding to the item X by the processing as shown in the processing group PS11. The generation unit 132 inputs the item information IDT11 regarding the item X into the model M1. Specifically, the generation unit 132 inputs the item information IDT11 including information such as the product category, title, description, image information, manufacturer, and size of the item X into the model M1. Then, the generation unit 132 generates a vector by using the information in the model M1 after the input of the item information IDT11. For example, the generation unit 132 generates vector data using each element in the model M1 in which the item information IDT11 is input.

図1の例では、生成部132は、アイテム情報IDT11が入力されたモデルM1中の各要素の値を用いて、ベクトルVD11を生成する。例えば、生成部132は、アイテムXのアイテム情報IDT11が入力された場合における、モデルM1のニューロンNL1に対応する値VE1(図11参照)やニューロンNL2に対応する値VE2(図11参照)を用いて、ベクトルを生成する。例えば、生成部132は、アイテムXのアイテム情報IDT11が入力された場合に、算出されるニューロンNL1に対応する値VE1をベクトルVD11の1次元目の要素として抽出してもよい。また、例えば、生成部132は、アイテムのアイテム情報が入力された場合に、算出されるニューロンNL2に対応する値VE2をベクトルVD11の2次元目の要素として、ベクトルVD11を生成する。図1の例では、生成部132は、1次元目の要素が「35」であり、2次元目の要素が「63」であるようなベクトルVD11を生成する。 In the example of FIG. 1, the generation unit 132 generates the vector VD11 by using the value of each element in the model M1 in which the item information IDT11 is input. For example, the generation unit 132 uses the value VE1 (see FIG. 11) corresponding to the neuron NL1 of the model M1 and the value VE2 (see FIG. 11) corresponding to the neuron NL2 when the item information IDT11 of the item X is input. To generate a vector. For example, the generation unit 132 may extract the value VE1 corresponding to the calculated neuron NL1 as the first-dimensional element of the vector VD11 when the item information IDT11 of the item X is input. Further, for example, the generation unit 132 generates the vector VD11 by using the value VE2 corresponding to the calculated neuron NL2 as the second-dimensional element of the vector VD11 when the item information of the item is input. In the example of FIG. 1, the generation unit 132 generates the vector VD11 such that the element of the first dimension is “35” and the element of the second dimension is “63”.

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

図1の例では、決定部133は、一のアイテム(クエリ)に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。例えば、決定部133は、アイテムXのベクトルVD11に対応する起点ベクトルを決定(特定)するために、インデックス情報IND11を用いる。決定部133は、ベクトルVD11とインデックス情報IND11とを用いて、グラフ情報GR11における起点ベクトルを決定する。 In the example of FIG. 1, the determination unit 133 uses the index information IND11 to determine (specify) the origin vector corresponding to one item (query). For example, the determination unit 133 uses the index information IND11 to determine (specify) the starting point vector corresponding to the vector VD11 of the item X. The determination unit 133 determines the starting point vector in the graph information GR 11 by using the vector VD11 and the index information IND11.

例えば、決定部133は、図1中のインデックス情報IND11に示すような木構造型のインデックス情報を用いて、グラフ情報GR11における起点ベクトルを決定する。図1の例では、決定部133は、ベクトルVD11を生成した後、インデックス情報IND11を上から下へ辿ることにより、インデックス情報IND11の近傍候補となる起点ベクトルを特定することにより、効率的に検索クエリ(一のアイテム)に対応する起点ベクトルを決定する。 For example, the determination unit 133 determines the starting point vector in the graph information GR 11 by using the tree-structured index information as shown in the index information IND11 in FIG. In the example of FIG. 1, after generating the vector VD11, the determination unit 133 efficiently searches by tracing the index information IND11 from top to bottom to identify a starting point vector that is a candidate near the index information IND11. Determine the origin vector corresponding to the query (one item).

例えば、決定部133は、インデックス情報IND11をルートRTからリーフノード(グラフ情報GR11中のノード(ベクトル))まで辿ることにより、ベクトルVD11に対応する起点ベクトルを決定する。図1の例では、決定部133は、インデックス情報IND11をルートRTからノードN451まで辿ることにより、ノードN451を起点ベクトルとして決定する。 For example, the determination unit 133 determines the starting point vector corresponding to the vector VD11 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. 1, the determination unit 133 determines the node N451 as the starting point vector by tracing the index information IND11 from the root RT to the node N451.

図1の例では、決定部133は、通常抽出ノードを参照元として、通常抽出ノードと他のオブジェクト(特別オブジェクト)とを連結する特別エッジがあると検索部134により判定された場合、その特別オブジェクトを抽出すると決定する。 In the example of FIG. 1, when the search unit 134 determines that the determination unit 133 has a special edge connecting the normal extraction node and another object (special object) with the normal extraction node as a reference source, the special Decide to extract the object.

(検索部134)
検索部134は、各種情報を検索する。例えば、検索部134は、取得部131により取得された情報を用いて、各種情報を検索する。例えば、検索部134は、各種情報を抽出する。例えば、検索部134は、取得部131により取得された情報を用いて、各種情報を抽出する。例えば、検索部134は、各種判定処理を行う。例えば、検索部134は、取得部131により取得された情報を用いて、各種情報を判定する。例えば、検索部134は、記憶部120に記憶された各種情報を検索する。例えば、取得部131は、アイテム情報記憶部121や、インデックス情報記憶部122や、グラフ情報記憶部123や、モデル情報記憶部124や履歴情報記憶部125等に記憶された各種情報を検索する。例えば、検索部134は、各種情報を用いて算出処理を行う。例えば、検索部134は、ベクトルに関する情報を用いて、ベクトル間の距離を算出する。例えば、検索部134は、グラフ情報記憶部123に記憶された各ノード(ベクトル)間を連結するエッジの長さ(距離)の情報を用いてもよいし、各ノードのベクトル情報から各ノード(ベクトル)間を連結するエッジの長さ(距離)の情報を算出し、算出した長さ(距離)の情報を用いてもよい。
(Search unit 134)
The search unit 134 searches for various types of information. For example, the search unit 134 searches for various types of information using the information acquired by the acquisition unit 131. For example, the search unit 134 extracts various information. For example, the search unit 134 extracts various information using the information acquired by the acquisition unit 131. For example, the search unit 134 performs various determination processes. For example, the search unit 134 determines various types of information using the information acquired by the acquisition unit 131. For example, the search unit 134 searches for various information stored in the storage unit 120. For example, the acquisition unit 131 searches for various information stored in the item information storage unit 121, the index information storage unit 122, the graph information storage unit 123, the model information storage unit 124, the history information storage unit 125, and the like. For example, the search unit 134 performs a calculation process using various information. For example, the search unit 134 calculates the distance between the vectors using the information about the vectors. For example, the search unit 134 may use information on the length (distance) of the edge connecting each node (vector) stored in the graph information storage unit 123, or each node (from the vector information of each node). Information on the length (distance) of the edges connecting the vectors) may be calculated, and the calculated length (distance) information may be used.

検索部134は、取得部131により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数のアイテムのうち、一のアイテムと類似するアイテムである対象アイテムを抽出する。検索部134は、決定部133により決定された起点ノードを起点として、対象アイテムを抽出する。検索部134は、グラフ情報の検索時において特別エッジが連結されたノードに到達した場合、当該ノードと特別エッジにより連結された他のノードを対象アイテムとして抽出する。 The search unit 134 searches for graph information from a plurality of nodes of the graph information acquired by the acquisition unit 131, starting from the starting node that is the starting point for searching the graph information determined based on a predetermined criterion. Extracts the target item, which is an item similar to one item, out of a plurality of items. The search unit 134 extracts the target item starting from the starting point node determined by the determining unit 133. When the search unit 134 reaches the node to which the special edge is connected at the time of searching the graph information, the search unit 134 extracts the node and another node connected by the special edge as the target item.

検索部134は、取得部131により取得されたグラフ情報の複数のベクトルのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである対象アイテムを抽出する。検索部134は、各種情報を抽出する。例えば、検索部134は、決定部133により決定された起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムに類似するアイテムである類似アイテムを対象アイテムとして抽出する。 The search unit 134 searches the graph information starting from the starting point vector that is the starting point for searching the graph information determined based on a predetermined criterion among the plurality of vectors of the graph information acquired by the acquisition unit 131. , Extract the target item which is an item similar to one item from a plurality of items. The search unit 134 extracts various information. For example, the search unit 134 searches the graph information with the starting point vector determined by the determining unit 133 as the starting point, and extracts similar items that are similar to one item among a plurality of items as target items. ..

図1の例では、検索部134は、対象アイテムを検索する。例えば、検索部134は、アイテムXに関する対象アイテムを検索する。例えば、検索部134は、非特許文献1に開示されるような近傍検索の技術等の種々の従来技術を適宜用いて、アイテムXの対象アイテムを検索してもよい。例えば、検索部134は、類似性が高いノード間がエッジで連結されたグラフ情報GR11を用いる。 In the example of FIG. 1, the search unit 134 searches for the target item. For example, the search unit 134 searches for the target item related to the item X. For example, the search unit 134 may search for the target item of item X by appropriately using various conventional techniques such as a neighborhood search technique disclosed in Non-Patent Document 1. For example, the search unit 134 uses the graph information GR11 in which nodes having high similarity are connected by an edge.

図1の例では、検索部134は、情報群INF11に示すように、グラフ情報GR11やインデックス情報IND11を用いてアイテムXの対象アイテムを検索する。検索部134は、ノードN451を起点として、グラフ情報GR11を探索することにより、ノードN451やノードN35を対象アイテムとして抽出する。 In the example of FIG. 1, the search unit 134 searches for the target item of the item X by using the graph information GR11 and the index information IND11 as shown in the information group INF11. The search unit 134 extracts the node N451 and the node N35 as target items by searching the graph information GR11 starting from the node N451.

検索部134は、グラフ情報GR11における特別エッジ以外のエッジ(通常エッジ)を辿ってノード(通常抽出ノード)を抽出した場合、その通常抽出ノードから特別エッジが他のエッジに連結されているかどうかを判定する。例えば、検索部134は、通常抽出ノードを参照元として、通常抽出ノードと他のオブジェクトとを連結する特別エッジがあるかどうかを判定する。そして、検索部134は、通常抽出ノードを参照元として、通常抽出ノードと他のオブジェクト(特別オブジェクト)とを連結する特別エッジがあると判定した。 When a node (normal extraction node) is extracted by tracing an edge (normal edge) other than the special edge in the graph information GR11, the search unit 134 determines whether or not the special edge is connected to another edge from the normal extraction node. judge. For example, the search unit 134 determines whether or not there is a special edge that connects the normal extraction node and other objects with the normal extraction node as a reference source. Then, the search unit 134 determines that there is a special edge that connects the normal extraction node and another object (special object) with the normal extraction node as the reference source.

検索部134は、ノードN451を対象アイテムとして抽出した場合、ノードN451から特別エッジが他のエッジに連結されているかどうかを判定する。図1の例では、検索部134は、起点ノードであるノードN451を抽出した場合、ノードN451から特別エッジが他のエッジに連結されているかどうかを判定する。例えば、検索部134は、ノードN451からの特別エッジが0本、すなわちノードN451から他のエッジへの特別エッジはないと判定する。そして、検索部134は、ノードN451に関する特別オブジェクトの抽出はないと判定し、通常エッジでの検索を行う。 When the node N451 is extracted as the target item, the search unit 134 determines whether or not a special edge is connected to another edge from the node N451. In the example of FIG. 1, when the node N451 which is the starting node is extracted, the search unit 134 determines whether or not the special edge is connected to another edge from the node N451. For example, the search unit 134 determines that there are no special edges from the node N451, that is, there are no special edges from the node N451 to other edges. Then, the search unit 134 determines that the special object related to the node N451 is not extracted, and performs a search at the normal edge.

検索部134は、ノードN35を対象アイテムとして抽出した場合、ノードN35から特別エッジが他のエッジに連結されているかどうかを判定する。図1の例では、検索部134は、ノードN451から通常エッジを辿ることよりノードN35を抽出した場合、ノードN35から特別エッジが他のエッジに連結されているかどうかを判定する。例えば、検索部134は、ノードN35からはノードN831への特別エッジSE35が連結されているため、ノードN35から他のエッジへの特別エッジがあると判定する。そのため、検索部134は、ノードN35から特別エッジSE35が連結されたノードN831を対象アイテムとして抽出する。 When the node N35 is extracted as the target item, the search unit 134 determines whether or not a special edge is connected to another edge from the node N35. In the example of FIG. 1, when the node N35 is extracted by tracing the normal edge from the node N451, the search unit 134 determines whether or not the special edge is connected to another edge from the node N35. For example, the search unit 134 determines that there is a special edge from the node N35 to another edge because the special edge SE35 from the node N35 to the node N831 is connected. Therefore, the search unit 134 extracts the node N831 to which the special edge SE35 is connected from the node N35 as the target item.

また、検索部134は、特別エッジの連結により対象アイテムとして抽出されたノードから辿れるノードへの検索を行わなくてもよい。図1の例では、検索部134は、特別エッジの連結により対象アイテムとして抽出されたノードN831から辿れるノードへの検索を行わなくてもよい。この場合、検索部134は、ノードN35から通常エッジを辿ることによる検索を行う。なお、検索部134は、ノードN831から辿れるノードを対象アイテムとして抽出してもよい。 Further, the search unit 134 does not have to search for the node that can be traced from the node extracted as the target item by concatenating the special edges. In the example of FIG. 1, the search unit 134 does not have to search for the node that can be traced from the node N831 extracted as the target item by connecting the special edges. In this case, the search unit 134 performs a search by tracing a normal edge from the node N35. The search unit 134 may extract a node that can be traced from the node N831 as a target item.

(提供部135)
提供部135は、各種情報を提供する。例えば、提供部135は、端末装置10や情報提供装置50に各種情報を送信する。例えば、提供部135は、端末装置10や情報提供装置50に各種情報を配信する。例えば、提供部135は、端末装置10や情報提供装置50に各種情報を提供する。提供部135は、検索部134により抽出された対象アイテムに基づいて、所定のサービスを提供する。また、提供部135は、対象アイテムに関する情報提供サービスを提供する。提供部135は、端末装置10に対象アイテムに関する情報を提供する。
(Providing section 135)
The providing unit 135 provides various types of information. For example, the providing unit 135 transmits various information to the terminal device 10 and the information providing device 50. For example, the providing unit 135 distributes various information to the terminal device 10 and the information providing device 50. For example, the providing unit 135 provides various information to the terminal device 10 and the information providing device 50. The providing unit 135 provides a predetermined service based on the target item extracted by the search unit 134. In addition, the providing unit 135 provides an information providing service regarding the target item. The providing unit 135 provides the terminal device 10 with information regarding the target item.

提供部135は、検索部134により抽出された対象アイテムに基づいて、所定のサービスを提供する。提供部135は、端末装置10に所定のサービスを提供する。提供部135は、対象アイテムに関する情報提供サービスを提供する。 The providing unit 135 provides a predetermined service based on the target item extracted by the search unit 134. The providing unit 135 provides a predetermined service to the terminal device 10. The providing unit 135 provides an information providing service regarding the target item.

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

図1の例では、提供部135は、ノードN451に対応するアイテム#451や、ノードN35に対応するアイテム#35や、ノードN831に対応するアイテム#831を対象アイテムとしてユーザU1が利用する端末装置10に提供する。 In the example of FIG. 1, the providing unit 135 is a terminal device used by the user U1 with the item # 451 corresponding to the node N451, the item # 35 corresponding to the node N35, and the item # 831 corresponding to the node N831 as target items. Provided to 10.

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

図9に示すように、情報処理装置100は、一のアイテムに関するアイテム情報を取得する(ステップS101)。図1の例では、情報処理装置100は、端末装置10からアイテムXに関するアイテム情報IDT11を取得する。 As shown in FIG. 9, the information processing apparatus 100 acquires item information related to one item (step S101). In the example of FIG. 1, the information processing device 100 acquires the item information IDT11 related to the item X from the terminal device 10.

情報処理装置100は、複数のアイテムに関するグラフ情報を取得する(ステップS102)。例えば、情報処理装置100は、グラフ情報記憶部123からアイテムに関するグラフ情報GR11を取得する。図1の例では、情報処理装置100は、グラフ情報記憶部123から特別エッジSE35を含むグラフ情報GR11を取得する。 The information processing device 100 acquires graph information related to a plurality of items (step S102). For example, the information processing apparatus 100 acquires graph information GR11 regarding an item from the graph information storage unit 123. In the example of FIG. 1, the information processing apparatus 100 acquires the graph information GR 11 including the special edge SE 35 from the graph information storage unit 123.

そして、情報処理装置100は、モデルを用いて一のアイテムに関するアイテム情報からベクトルを生成する(ステップS103)。図1の例では、情報処理装置100は、モデル情報記憶部124に記憶されたモデルM1を用いて、アイテム情報IDT11からベクトルVD11を生成する。 Then, the information processing apparatus 100 generates a vector from the item information about one item by using the model (step S103). In the example of FIG. 1, the information processing apparatus 100 generates the vector VD11 from the item information IDT11 by using the model M1 stored in the model information storage unit 124.

そして、情報処理装置100は、生成したベクトルとインデックス情報を用いて起点ベクトルを決定する(ステップS104)。図1の例では、情報処理装置100は、ベクトルVD11と、インデックス情報記憶部122に記憶されたインデックス情報IND11とを用いて、起点ベクトルをノードN451に決定する。 Then, the information processing apparatus 100 determines the starting point vector using the generated vector and the index information (step S104). In the example of FIG. 1, the information processing apparatus 100 determines the starting point vector at the node N451 by using the vector VD11 and the index information IND11 stored in the index information storage unit 122.

そして、情報処理装置100は、グラフ情報を検索することにより、一のアイテムの類似アイテムを対象アイテムとして抽出し、グラフ情報の検索時において拡張エッジが連結されたノードに到達した場合、当該ノードと拡張エッジにより連結された他のノードを対象アイテムとして抽出する(ステップS105)。例えば、情報処理装置100は、グラフ情報を検索することにより、一のアイテムと類似するアイテムを対象アイテムとして抽出する。図1の例では、情報処理装置100は、ノードN35を抽出した場合、ノードN35を参照元とする特別エッジSE35の参照先であるノードN831を対象アイテムとして抽出する。 Then, the information processing apparatus 100 extracts similar items of one item as target items by searching the graph information, and when the node reaches the node to which the extended edges are connected at the time of searching the graph information, the information processing device 100 and the node are connected. Other nodes connected by the extended edge are extracted as target items (step S105). For example, the information processing apparatus 100 extracts an item similar to one item as a target item by searching the graph information. In the example of FIG. 1, when the node N35 is extracted, the information processing apparatus 100 extracts the node N831 which is the reference destination of the special edge SE35 whose reference source is the node N35 as the target item.

そして、情報処理装置100は、対象アイテムに基づいてサービスを提供する(ステップS106)。図1の例では、情報処理装置100は、対象アイテムとして抽出されたアイテム#451やアイテム#35やアイテム#831を示す情報をユーザU1が利用する端末装置10へ提供する。 Then, the information processing device 100 provides a service based on the target item (step S106). In the example of FIG. 1, the information processing device 100 provides information indicating items # 451, item # 35, and item # 831 extracted as target items to the terminal device 10 used by the user U1.

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

図10に示すように、情報処理装置100は、学習データを取得する(ステップS201)。例えば、情報処理装置100は、アイテム情報記憶部121から学習データを取得する。例えば、情報処理装置100は、アイテム情報記憶部121からアイテム情報IDT1、IDT2等を学習データとして取得する。 As shown in FIG. 10, the information processing apparatus 100 acquires the learning data (step S201). For example, the information processing device 100 acquires learning data from the item information storage unit 121. For example, the information processing device 100 acquires item information IDT1, IDT2, and the like as learning data from the item information storage unit 121.

その後、情報処理装置100は、学習データに基づきモデルを生成する(ステップS202)。例えば、情報処理装置100は、アイテム情報記憶部121から学習データを用いてモデルM1を生成する。例えば、情報処理装置100は、入力層に入力される情報(アイテム情報)と同様の情報(アイテム情報)を出力層から出力するようにモデルM1を生成する。例えば、情報処理装置100は、アイテムのアイテム情報を入力とするオートエンコーダとしてのモデルM1を生成する。 After that, the information processing apparatus 100 generates a model based on the training data (step S202). For example, the information processing device 100 generates the model M1 from the item information storage unit 121 using the learning data. For example, the information processing apparatus 100 generates the model M1 so as to output the same information (item information) as the information (item information) input to the input layer from the output layer. For example, the information processing apparatus 100 generates a model M1 as an autoencoder that inputs item information of an item.

〔6.検索例〕
ここで、上述したグラフ情報を用いた検索の一例を示す。なお、グラフ情報(グラフデータ)を用いた検索は下記に限らず、種々の手順により行われてもよい。この点について、図12を一例として説明する。図12は、グラフデータ(グラフ情報)を用いた検索処理の一例を示すフローチャートである。以下に説明する検索処理は、例えば情報処理装置100の検索部134によって行われる。また、以下でいうオブジェクトは、ベクトルやノードと読み替えてもよい。なお、以下では、情報処理装置100が検索処理を行うものとして説明するが、検索処理は他の装置により行われてもよい。例えば、情報処理装置100は、検索クエリとして、一のアイテムのアイテム情報から生成されたベクトルデータを用いる。例えば、情報処理装置100は、一のアイテムのアイテム情報から生成されたベクトルデータとインデックス情報とに基づいて決定された起点ベクトルを起点としてグラフデータを検索する。図1の例では、情報処理装置100は、アイテムXのベクトルVD11とインデックス情報IND11とに基づいて決定された起点ベクトルであるノードN451を起点としてグラフ情報GR11を検索する。
[6. Search example]
Here, an example of a search using the graph information described above is shown. The search using 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. 12 as an example. FIG. 12 is a flowchart showing an example of a search process using graph data (graph information). The search process described below is performed by, for example, the search unit 134 of the information processing apparatus 100. In addition, the objects referred to below may be read as vectors and nodes. In the following description, it is assumed that the information processing device 100 performs the search process, but the search process may be performed by another device. For example, the information processing apparatus 100 uses vector data generated from the item information of one item as a search query. For example, the information processing apparatus 100 searches graph data starting from a starting point vector determined based on vector data generated from item information of one item and index information. In the example of FIG. 1, the information processing apparatus 100 searches the graph information GR11 starting from the node N451 which is the starting point vector determined based on the vector VD11 of the item X and the index information IND11.

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

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

次に、情報処理装置100は、オブジェクト集合Sに含まれるオブジェクトの中で、検索クエリオブジェクトをyとするとオブジェクトyとの距離が最も短いオブジェクトを抽出し、オブジェクトsとする(ステップS302)。図1の例では、情報処理装置100は、オブジェクト集合Sに含まれるオブジェクトの中で、検索クエリオブジェクトであるベクトルVD11との距離が最も短いオブジェクトを抽出し、オブジェクトsとする。例えば、情報処理装置100は、オブジェクト集合Sに含まれるオブジェクトの中で、ベクトルVD11との距離が最も短いノードN451を抽出し、オブジェクトsとする。例えば、情報処理装置100は、ルートノード(起点ベクトル)として選択されたオブジェクト(ノード)のみがオブジェクト集合Sの要素の場合には、結果的にルートノード(起点ベクトル)がオブジェクトsとして抽出される。次に、情報処理装置100は、オブジェクトsをオブジェクト集合Sから除外する(ステップS303)。 Next, the information processing apparatus 100 extracts the object having the shortest distance from the object y from the objects included in the object set S, where y is the search query object, and sets it as the object s (step S302). In the example of FIG. 1, the information processing apparatus 100 extracts the object having the shortest distance from the vector VD11, which is the search query object, among the objects included in the object set S, and sets them as objects s. For example, the information processing apparatus 100 extracts the node N451 having the shortest distance from the vector VD11 among the objects included in the object set S and uses it as the object s. For example, in the information processing apparatus 100, when only the object (node) selected as the root node (starting point vector) is an element of the object set S, the root node (starting point vector) is extracted as the object s as a result. .. Next, the information processing apparatus 100 excludes the objects 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 (exceeds) r (1 + ε) (step S304). Here, ε is an extension element, and r (1 + ε) is a value indicating the radius of the search range (searching only the nodes within this range. The accuracy can be improved 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 set of objects in the vicinity of the object y (step S304: Yes). Step 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 neighboring 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 above, 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)。また、オブジェクトuとオブジェクトyとの距離d(u,y)がr(1+ε)以下ではない場合(ステップS307:No)、情報処理装置100は、ステップS309の判定(処理)を行う。 Next, the information processing apparatus 100 determines whether or not the distance d (u, y) between the object u and the object y is r (1 + ε) or less (step S307). When the distance d (u, y) between the object u and the object y is r (1 + ε) or less (step S307: Yes), the information processing apparatus 100 adds the object u to the object set S (step S308). If the distance d (u, y) between the object u and the object y is not less than or equal to r (1 + ε) (step S307: No), the information processing apparatus 100 determines (processes) step S309.

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

オブジェクトuとオブジェクトyとの距離d(u,y)がr以下である場合(ステップS309:Yes)、情報処理装置100は、オブジェクトuをオブジェクト集合Rに追加する(ステップS310)。 When the distance d (u, y) between the object u and the object y is r or less (step S309: Yes), the information processing apparatus 100 adds the object u to the object set R (step S310).

ここで、ステップS310後において、情報処理装置100は、オブジェクトuを参照元として、オブジェクトuと他のオブジェクトとを連結する特別エッジがあるかどうかを判定する。情報処理装置100は、オブジェクトuを参照元として、オブジェクトuと他のオブジェクト(特別オブジェクト)とを連結する特別エッジがあると判定した場合、その特別オブジェクトを抽出すると決定する。なお、情報処理装置100は、特別オブジェクトをオブジェクト集合Rに追加してもよいし、オブジェクト集合Rとは個別に特別オブジェクトの情報を記憶してもよい。また、情報処理装置100は、特別オブジェクトの数を後述するksとの比較に用いなくてもよい。例えば、情報処理装置100は、特別オブジェクトを抽出した場合、特別オブジェクトの数をオブジェクト数に加えてもよいし、特別オブジェクトの数をオブジェクト数に加えなくてもよい。例えば、情報処理装置100は、ステップS311やステップS313でのksとの比較処理を、特別オブジェクトを除くオブジェクト集合Rに含まれる通常オブジェクトの数を対象に行ってもよい。 Here, after step S310, the information processing apparatus 100 determines whether or not there is a special edge that connects the object u and another object with the object u as a reference source. When the information processing apparatus 100 determines that there is a special edge that connects the object u and another object (special object) with the object u as a reference source, it determines that the special object is extracted. The information processing device 100 may add a special object to the object set R, or may store information on the special object separately from the object set R. Further, the information processing apparatus 100 does not have to use the number of special objects for comparison with ks described later. For example, when the information processing apparatus 100 extracts a special object, the number of special objects may be added to the number of objects, or the number of special objects may not be added to the number of objects. For example, the information processing apparatus 100 may perform the comparison process with ks in steps S311 and S313 for the number of normal objects included in the object set R excluding the special object.

例えば、情報処理装置100は、特別オブジェクトをオブジェクト集合Rに追加する場合、特別オブジェクトに特定のフラグ等を付与することにより、他のオブジェクト(通常オブジェクト)と識別可能に特別オブジェクトを管理してもよい。この場合、情報処理装置100は、オブジェクト集合Rに含まれる特別オブジェクト以外のオブジェクト(通常オブジェクト)の数をオブジェクト集合Rに含まれるオブジェクトの数としてもよい。また、情報処理装置100は、オブジェクト集合Rに含まれる特別オブジェクトをステップS312やステップS314で対象となるオブジェクトに含めなくてもよい。例えば、情報処理装置100は、ステップS312やステップS314の処理を、特別オブジェクトを除くオブジェクト集合Rに含まれる通常オブジェクトのみを対象に行ってもよい。 For example, when the information processing apparatus 100 adds a special object to the object set R, the information processing device 100 may manage the special object so that it can be distinguished from other objects (normal objects) by giving a specific flag or the like to the special object. Good. In this case, the information processing apparatus 100 may use the number of objects (normal objects) other than the special objects included in the object set R as the number of objects included in the object set R. Further, the information processing apparatus 100 does not have to include the special object included in the object set R in the target object in step S312 or step S314. For example, the information processing apparatus 100 may perform the processing of steps S312 and S314 only on the normal objects included in the object set R excluding the special objects.

また、情報処理装置100は、オブジェクト集合Rとは別の集合(特別集合)に特別オブジェクトを追加してもよい。この場合、情報処理装置100は、ステップS317においてオブジェクト集合Rに含まれるオブジェクトと特別集合に含まれるオブジェクト(特別オブジェクト)の両方を検索結果として出力してもよい。 Further, the information processing apparatus 100 may add a special object to a set (special set) different from the object set R. In this case, the information processing apparatus 100 may output both the object included in the object set R and the object (special object) included in the special set as the search result in step S317.

情報処理装置100は、オブジェクト集合Rに含まれるオブジェクト数がksをこえるか否かを判定する(ステップS311)。所定数ksは、任意に定められる自然数である。例えば、ks=2やks=10等の種々の設定であってもよい。オブジェクト集合Rに含まれるオブジェクト数がksを超えない場合(ステップS311:No)、情報処理装置100は、ステップS313の判定(処理)を行う。 The information processing device 100 determines whether or not the number of objects included in the object set R exceeds ks (step S311). The predetermined number ks is an arbitrarily determined natural number. For example, various settings such as ks = 2 and ks = 10 may be used. When the number of objects included in the object set R does not exceed ks (step S311: No), the information processing apparatus 100 determines (processes) step S313.

オブジェクト集合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 selects the object having the longest (far) distance 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:No)、情報処理装置100は、ステップS315の判定(処理)を行う。また、オブジェクト集合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 does not match ks (step S313: No), the information processing apparatus 100 determines (processes) step S315. When the number of objects included in the object set R matches ks (step S313: Yes), the information processing apparatus 100 has the longest distance (far) from the object y among the objects included in the object set R. The distance between the object and 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 selects all the objects from the objects that are the elements of the object set N (G, s) in the vicinity of the objects s, and determines whether or not all the objects have been stored in the object set C (step S315). .. When all the objects are selected from the objects which are the elements of the object set N (G, s) in the vicinity of the object s and are not completely stored in the object set C (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に含まれるノードN451やノードN35を検索クエリ(アイテムXのベクトルVD11)に対応する検索結果として、検索を行った端末装置10等へ提供してもよい。例えば、情報処理装置100は、ノードN451に対応するアイテム#451や、ノードN35に対応するアイテム#35や、ノードN1に対応するアイテム#1を対象アイテムとしてユーザU1が利用する端末装置10に提供する。 When all the objects are selected from the objects that are the elements of the object set N (G, s) in the vicinity of the objects s and stored in the object set C (step S315: Yes), the information processing apparatus 100 sets the object set S. Determines whether or not is an empty set (step S316). If 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. When 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 device 100 may provide an object (node) included in the object set R to the terminal device 10 or the like that has performed the search as a search result corresponding to the search query (input object y). In the example of FIG. 1, the information processing device 100 provides the node N451 and the node N35 included in the object set R to the searched terminal device 10 and the like as the search result corresponding to the search query (vector VD11 of the item X). You may. For example, the information processing device 100 provides the terminal device 10 used by the user U1 with the item # 451 corresponding to the node N451, the item # 35 corresponding to the node N35, and the item # 1 corresponding to the node N1 as target items. To do.

〔7.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、検索部134とを有する。取得部131は、複数のアイテムの各々に対応する複数のノードが、複数のアイテムの類似性に応じてエッジにより連結されたグラフ情報であって、複数のノードのうち、類似性とは異なる観点による所定の条件を満たすノード間がエッジとは異なる特別エッジにより連結されたグラフ情報と、一のアイテムに関するアイテム情報を取得する。検索部134は、取得部131により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて決定されたグラフ情報の検索の起点となる起点ノードを起点として、グラフ情報を検索することにより、複数のアイテムのうち、一のアイテムと類似するアイテムである類似アイテムを対象アイテムとして抽出し、グラフ情報の検索時において特別エッジが連結されたノードに到達した場合、当該ノードと特別エッジにより連結された他のノードを対象アイテムとして抽出する。
[7. effect〕
As described above, the information processing apparatus 100 according to the embodiment includes an acquisition unit 131 and a search unit 134. The acquisition unit 131 is graph information in which a plurality of nodes corresponding to each of the plurality of items are connected by edges according to the similarity of the plurality of items, and is a viewpoint different from the similarity among the plurality of nodes. The graph information in which the nodes satisfying the predetermined conditions are connected by a special edge different from the edge and the item information related to one item are acquired. The search unit 134 searches for graph information from a plurality of nodes of the graph information acquired by the acquisition unit 131, starting from the starting node that is the starting point for searching the graph information determined based on a predetermined criterion. When a similar item, which is an item similar to one item, is extracted as a target item from a plurality of items and a node to which a special edge is connected is reached at the time of searching graph information, the node and the special edge are used. Extract other concatenated nodes as target items.

このように、実施形態に係る情報処理装置100は、起点ベクトルを起点としてグラフ情報を検索することにより、複数のアイテムのうち、一のアイテムの類似アイテム等を含む対象アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment appropriately extracts the target item including a similar item of one item from the plurality of items by searching the graph information with the starting point vector as the starting point. Can be done.

また、実施形態に係る情報処理装置100は、決定部133を有する。決定部133は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定する。検索部134は、決定部133により決定された起点ノードを起点として、対象アイテムを抽出する。 Further, the information processing apparatus 100 according to the embodiment has a determination unit 133. The determination unit 133 determines the origin node based on the index information used for determining the origin node. The search unit 134 extracts the target item starting from the starting point node determined by the determining unit 133.

このように、実施形態に係る情報処理装置100は、起点ベクトルの決定に用いるインデックス情報に基づいて、起点ベクトルを決定することにより、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately extract items by determining the starting point vector based on the index information used for determining the starting point vector.

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

このように、実施形態に係る情報処理装置100は、木構造型のインデックス情報に基づいて、起点ベクトルを決定することにより、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately extract items by determining the starting point vector based on the index information of the tree structure type.

また、実施形態に係る情報処理装置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 the characteristics of each of the plurality of items are connected according to the similarity.

このように、実施形態に係る情報処理装置100は、複数のアイテムの各々の特徴を示す複数のベクトルが類似性に応じて連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment appropriately extracts items by acquiring graph information in which a plurality of vectors indicating the characteristics of each of the plurality of items are concatenated according to their similarity. Can be done.

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

このように、実施形態に係る情報処理装置100は、所定のモデルを用いて複数のアイテムの各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。 As described above, in the information processing apparatus 100 according to the embodiment, graph information in which a plurality of vectors whose elements are feature quantities extracted from each of a plurality of items using a predetermined model are concatenated according to their similarity. Items can be properly extracted by acquiring.

また、実施形態に係る情報処理装置100において、取得部131は、複数のアイテムに関する情報を所定のモデルに入力することにより、抽出される複数のアイテムの各々の特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 inputs information about a plurality of items into a predetermined model, and a plurality of vectors having the feature amounts of the plurality of items to be extracted as elements. Gets the graph information concatenated according to the similarity.

このように、実施形態に係る情報処理装置100は、複数のアイテムに関する情報を所定のモデルに入力することにより、抽出される複数のアイテムの各々の特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。 As described above, in the information processing apparatus 100 according to the embodiment, by inputting information about a plurality of items into a predetermined model, a plurality of vectors having features of each of the plurality of items extracted are similar. Items can be appropriately extracted by acquiring graph information concatenated according to gender.

また、実施形態に係る情報処理装置100において、取得部131は、複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が特別エッジにより連結されたグラフ情報を取得する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires graph information in which nodes having a predetermined commonality in the behavior of the user group among a plurality of items are connected by a special edge.

このように、実施形態に係る情報処理装置100は、複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が特別エッジにより連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment obtains graph information in which nodes having a predetermined commonality in the behavior of a group of users are connected by a special edge among a plurality of items to obtain the item. It can be extracted appropriately.

また、実施形態に係る情報処理装置100において、取得部131は、複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が特別エッジにより連結されたグラフ情報を取得する。 Further, in the information processing apparatus 100 according to the embodiment, the acquisition unit 131 acquires graph information in which nodes having a predetermined commonality in the behavior of the user group among a plurality of items are connected by a special edge.

このように、実施形態に係る情報処理装置100は、複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が特別エッジにより連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment obtains graph information in which nodes having a predetermined commonality in the behavior of a group of users are connected by a special edge among a plurality of items to obtain the item. It can be extracted appropriately.

また、実施形態に係る情報処理装置100において、取得部131は、所定の期間において併せて購入される回数が所定の閾値以上である複数の商品である複数のアイテムに各々対応する複数のノード間が、特別エッジにより連結されたグラフ情報を取得する。 Further, in the information processing device 100 according to the embodiment, the acquisition unit 131 is located between a plurality of nodes corresponding to a plurality of items which are a plurality of products whose number of purchases in a predetermined period is equal to or greater than a predetermined threshold value. Gets the graph information connected by the special edge.

このように、実施形態に係る情報処理装置100は、所定の期間において併せて購入される回数が所定の閾値以上である複数の商品である複数のアイテムに各々対応する複数のノード間が、特別エッジにより連結されたグラフ情報を取得することにより、アイテムを適切に抽出することができる。 As described above, the information processing apparatus 100 according to the embodiment is specially provided between a plurality of nodes corresponding to a plurality of items which are a plurality of products whose number of purchases in a predetermined period is equal to or greater than a predetermined threshold value. Items can be appropriately extracted by acquiring the graph information connected by the edges.

また、実施形態に係る情報処理装置100は、提供部135を有する。提供部135は、検索部134により抽出された対象アイテムに基づいて、所定のサービスを提供する。 Further, the information processing device 100 according to the embodiment has a providing unit 135. The providing unit 135 provides a predetermined service based on the target item extracted by the search unit 134.

このように、実施形態に係る情報処理装置100は、抽出した対象アイテムに基づいて、所定のサービスを提供することにより、類似のアイテムに関する情報を用いたサービスを適切に提供することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately provide a service using information on similar items by providing a predetermined service based on the extracted target item.

また、実施形態に係る情報処理装置100において、取得部131は、ユーザが利用する端末装置から一のアイテムに関するアイテム情報を取得する。提供部135は、端末装置10に所定のサービスを提供する。 Further, in the information processing device 100 according to the embodiment, the acquisition unit 131 acquires item information related to one item from the terminal device used by the user. The providing unit 135 provides a predetermined service to the terminal device 10.

このように、実施形態に係る情報処理装置100は、ユーザが利用する端末装置10から一のアイテムに関するアイテム情報を取得し、端末装置10に所定のサービスを提供することにより、類似のアイテムに関する情報を用いたサービスを適切に提供することができる。 As described above, the information processing device 100 according to the embodiment acquires the item information about one item from the terminal device 10 used by the user, and provides the terminal device 10 with a predetermined service to provide information about similar items. It is possible to appropriately provide services using.

また、実施形態に係る情報処理装置100において、提供部135は、対象アイテムに関する情報提供サービスを提供する。 Further, in the information processing apparatus 100 according to the embodiment, the providing unit 135 provides an information providing service regarding the target item.

このように、実施形態に係る情報処理装置100は、対象アイテムに関する情報提供サービスを提供することにより、類似のアイテムに関する情報を用いたサービスを適切に提供することができる。 As described above, the information processing apparatus 100 according to the embodiment can appropriately provide the service using the information about the similar item by providing the information providing service about the target item.

〔8.ハードウェア構成〕
上述してきた実施形態に係る情報処理装置100は、例えば図14に示すような構成のコンピュータ1000によって実現される。図14は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
[8. Hardware configuration]
The information processing apparatus 100 according to the above-described embodiment is realized by, for example, a computer 1000 having a configuration as shown in FIG. FIG. 14 is a hardware configuration diagram showing an example of a computer that realizes the functions of the information processing device. 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). ) Has 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 part. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 is started, a program depending on the hardware of the computer 1000, and the like.

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

CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。 The CPU 1100 controls an output device such as a display or a printer, and an input device such as a keyboard or a mouse via the input / output interface 1600. The CPU 1100 acquires data from the input device via the input / output interface 1600. Further, 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 the program or data to the CPU 1100 via the RAM 1200. The CPU 1100 loads the 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. And so on.

例えば、コンピュータ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, but as another example, these programs from another device via the network N. May be obtained.

以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Although some of the embodiments of the present application have been described in detail with reference to the drawings, these are examples, and various modifications are made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure line of the invention. It is possible to practice the present invention in other improved forms.

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

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

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

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

1 情報処理システム
100 情報処理装置
121 アイテム情報記憶部
122 インデックス情報記憶部
123 グラフ情報記憶部
124 モデル情報記憶部
125 履歴情報記憶部
130 制御部
131 取得部
132 生成部
133 決定部
134 検索部
135 提供部
10 端末装置
50 情報提供装置
N ネットワーク
1 Information processing system 100 Information processing device 121 Item information storage unit 122 Index information storage unit 123 Graph information storage unit 124 Model information storage unit 125 History information storage unit 130 Control unit 131 Acquisition unit 132 Generation unit 133 Decision unit 134 Search unit 135 Provided Department 10 Terminal device 50 Information providing device N network

Claims (15)

複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じてエッジにより連結されたグラフ情報であって、前記複数のノードのうち、前記類似性とは異なる観点による所定の条件を満たすノード間が前記エッジとは異なる特別エッジにより連結されたグラフ情報と、一のアイテムに関するアイテム情報を取得する取得部と、
前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記一のアイテムと類似するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記特別エッジが連結されたノードに到達した場合、当該ノードと前記特別エッジにより連結された他のノードを前記対象アイテムとして抽出する検索部と、
を備えたことを特徴とする情報処理装置。
A plurality of nodes corresponding to each of the plurality of items are graph information connected by edges according to the similarity of the plurality of items, and among the plurality of nodes, a predetermined viewpoint different from the similarity is determined. Graph information in which nodes satisfying the above conditions are connected by a special edge different from the edge, an acquisition unit for acquiring item information related to one item, and an acquisition unit.
By searching the graph information from the plurality of nodes of the graph information acquired by the acquisition unit, starting from the starting node that is the starting point for searching the graph information determined based on a predetermined criterion. When a similar item, which is an item similar to the one item, is extracted as a target item from the plurality of items, and the node reaches the node to which the special edge is connected at the time of searching the graph information, the node and the node are used. A search unit that extracts other nodes connected by the special edge as the target item, and
An information processing device characterized by being equipped with.
前記起点ノードの決定に用いるインデックス情報に基づいて、前記起点ノードを決定する決定部、
をさらに備え、
前記検索部は、
前記決定部により決定された前記起点ノードを起点として、前記対象アイテムを抽出する
ことを特徴とする請求項1に記載の情報処理装置。
A determination unit that determines the origin node based on the index information used to determine the origin node.
With more
The search unit
The information processing apparatus according to claim 1, wherein the target item is extracted from the starting point node determined by the determining unit.
前記決定部は、
木構造型の前記インデックス情報に基づいて、前記起点ノードを決定する
ことを特徴とする請求項2に記載の情報処理装置。
The decision unit
The information processing apparatus according to claim 2, wherein the starting node is determined based on the index information of the tree structure type.
前記取得部は、
前記複数のアイテムの各々に対応する複数のベクトルの類似性に応じて、前記複数のノードが連結されたグラフ情報を取得する
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
The acquisition unit
The invention according to any one of claims 1 to 3, wherein the graph information in which the plurality of nodes are connected is acquired according to the similarity of the plurality of vectors corresponding to each of the plurality of items. Information processing device.
前記取得部は、
前記複数のアイテムの各々の特徴を示す前記複数のベクトルが類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項4に記載の情報処理装置。
The acquisition unit
The information processing apparatus according to claim 4, wherein the plurality of vectors showing the characteristics of each of the plurality of items acquire the graph information in which the plurality of vectors are connected according to the similarity.
前記取得部は、
所定のモデルを用いて前記複数のアイテムの各々から抽出された特徴量を要素とする前記複数のベクトルが、類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項4または請求項5に記載の情報処理装置。
The acquisition unit
4. Claim 4 characterized in that the plurality of vectors having feature quantities extracted from each of the plurality of items using a predetermined model are concatenated according to the similarity to obtain the graph information. Alternatively, the information processing apparatus according to claim 5.
前記取得部は、
前記複数のアイテムに関する情報を所定のモデルに入力することにより、抽出される前記複数のアイテムの各々の特徴量を要素とする前記複数のベクトルが、類似性に応じて連結された前記グラフ情報を取得する
ことを特徴とする請求項4〜6のいずれか1項に記載の情報処理装置。
The acquisition unit
By inputting information about the plurality of items into a predetermined model, the graph information in which the plurality of vectors having the feature amounts of the plurality of items extracted as elements are concatenated according to the similarity is obtained. The information processing apparatus according to any one of claims 4 to 6, wherein the information processing apparatus is to be acquired.
前記取得部は、
前記複数のアイテムのうち、ユーザ群の行動において所定の共通性を有するノード間が前記特別エッジにより連結されたグラフ情報を取得する
ことを特徴とする請求項1〜7のいずれか1項に記載の情報処理装置。
The acquisition unit
The invention according to any one of claims 1 to 7, wherein among the plurality of items, nodes having a predetermined commonality in the behavior of the user group acquire graph information connected by the special edge. Information processing equipment.
前記取得部は、
所定の期間における前記ユーザ群の行動において、前記行動の対象として共起する回数が所定の閾値以上である複数のアイテムに各々対応する複数のノード間が、前記特別エッジにより連結されたグラフ情報を取得する
ことを特徴とする請求項8に記載の情報処理装置。
The acquisition unit
In the behavior of the user group in a predetermined period, graph information in which a plurality of nodes corresponding to a plurality of items whose co-occurrence as a target of the behavior is equal to or more than a predetermined threshold value are connected by the special edge is displayed. The information processing apparatus according to claim 8, wherein the information processing apparatus is to be acquired.
前記取得部は、
前記所定の期間において併せて購入される回数が所定の閾値以上である複数の商品である複数のアイテムに各々対応する複数のノード間が、前記特別エッジにより連結されたグラフ情報を取得する
ことを特徴とする請求項9に記載の情報処理装置。
The acquisition unit
Acquiring graph information in which a plurality of nodes corresponding to a plurality of items, which are a plurality of products whose number of purchases in the predetermined period is equal to or greater than a predetermined threshold value, are connected by the special edge. The information processing apparatus according to claim 9.
前記検索部により抽出された前記対象アイテムに基づいて、所定のサービスを提供する提供部、
をさらに備えたことを特徴とする請求項1〜10のいずれか1項に記載の情報処理装置。
A provider that provides a predetermined service based on the target item extracted by the search unit,
The information processing apparatus according to any one of claims 1 to 10, further comprising.
前記取得部は、
ユーザが利用する端末装置から前記一のアイテムに関する前記アイテム情報を取得し、
前記提供部は、
前記端末装置に前記所定のサービスを提供する
ことを特徴とする請求項11に記載の情報処理装置。
The acquisition unit
The item information about the one item is acquired from the terminal device used by the user, and the item information is acquired.
The providing part
The information processing device according to claim 11, wherein the predetermined service is provided to the terminal device.
前記提供部は、
前記対象アイテムに基づいて、情報提供サービスを提供する
ことを特徴とする請求項11または請求項12に記載の情報処理装置。
The providing part
The information processing device according to claim 11 or 12, wherein an information providing service is provided based on the target item.
コンピュータが実行する情報処理方法であって、
複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じてエッジにより連結されたグラフ情報であって、前記複数のノードのうち、前記類似性とは異なる観点による所定の条件を満たすノード間が前記エッジとは異なる特別エッジにより連結されたグラフ情報と、一のアイテムに関するアイテム情報を取得する取得工程と、
前記取得工程により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記一のアイテムと類似するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記特別エッジが連結されたノードに到達した場合、当該ノードと前記特別エッジにより連結された他のノードを前記対象アイテムとして抽出する検索工程と、
を含んだことを特徴とする情報処理方法。
It is an information processing method executed by a computer.
A plurality of nodes corresponding to each of the plurality of items are graph information connected by edges according to the similarity of the plurality of items, and among the plurality of nodes, a predetermined viewpoint different from the similarity is determined. Graph information in which nodes satisfying the above conditions are connected by a special edge different from the edge, and an acquisition process for acquiring item information related to one item.
By searching the graph information from the plurality of nodes of the graph information acquired in the acquisition step, starting from the starting node that is the starting point for searching the graph information determined based on a predetermined criterion. When a similar item, which is an item similar to the one item, is extracted as a target item from the plurality of items, and the node reaches the node to which the special edge is connected at the time of searching the graph information, the node and the node are used. A search process for extracting other nodes connected by the special edge as the target item, and
An information processing method characterized by including.
複数のアイテムの各々に対応する複数のノードが、前記複数のアイテムの類似性に応じてエッジにより連結されたグラフ情報であって、前記複数のノードのうち、前記類似性とは異なる観点による所定の条件を満たすノード間が前記エッジとは異なる特別エッジにより連結されたグラフ情報と、一のアイテムに関するアイテム情報を取得する取得手順と、
前記取得手順により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて決定された前記グラフ情報の検索の起点となる起点ノードを起点として、前記グラフ情報を検索することにより、前記複数のアイテムのうち、前記一のアイテムと類似するアイテムである類似アイテムを対象アイテムとして抽出し、前記グラフ情報の検索時において前記特別エッジが連結されたノードに到達した場合、当該ノードと前記特別エッジにより連結された他のノードを前記対象アイテムとして抽出する検索手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
A plurality of nodes corresponding to each of the plurality of items are graph information connected by edges according to the similarity of the plurality of items, and among the plurality of nodes, a predetermined viewpoint different from the similarity is determined. Graph information in which nodes satisfying the above conditions are connected by a special edge different from the edge, an acquisition procedure for acquiring item information related to one item, and an acquisition procedure.
By searching the graph information from the plurality of nodes of the graph information acquired by the acquisition procedure, starting from the starting node that is the starting point for searching the graph information determined based on a predetermined criterion. When a similar item, which is an item similar to the one item, is extracted as a target item from the plurality of items, and the node reaches the node to which the special edge is connected at the time of searching the graph information, the node and the node are used. A search procedure for extracting other nodes connected by the special edge as the target item, and
An information processing program characterized by having a computer execute.
JP2018048357A 2018-03-15 2018-03-15 Information processing equipment, information processing methods, and information processing programs Active JP6865706B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018048357A JP6865706B2 (en) 2018-03-15 2018-03-15 Information processing equipment, information processing methods, and information processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018048357A JP6865706B2 (en) 2018-03-15 2018-03-15 Information processing equipment, information processing methods, and information processing programs

Publications (2)

Publication Number Publication Date
JP2019160064A JP2019160064A (en) 2019-09-19
JP6865706B2 true JP6865706B2 (en) 2021-04-28

Family

ID=67994870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018048357A Active JP6865706B2 (en) 2018-03-15 2018-03-15 Information processing equipment, information processing methods, and information processing programs

Country Status (1)

Country Link
JP (1) JP6865706B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7130019B2 (en) * 2020-08-20 2022-09-02 ヤフー株式会社 Information processing device, information processing method, and information processing program

Also Published As

Publication number Publication date
JP2019160064A (en) 2019-09-19

Similar Documents

Publication Publication Date Title
JP6134444B2 (en) Method and system for recommending information
JP6967462B2 (en) Information processing equipment, information processing methods, and information processing programs
US20180342004A1 (en) Cumulative success-based recommendations for repeat users
JP7122120B2 (en) Information processing device, information processing method, and information processing program
Tewari et al. Sequencing of items in personalized recommendations using multiple recommendation techniques
US11367117B1 (en) Artificial intelligence system for generating network-accessible recommendations with explanatory metadata
TW201804400A (en) Data object pushing method, device and system
CN110264277B (en) Data processing method and device executed by computing equipment, medium and computing equipment
CN113268656A (en) User recommendation method and device, electronic equipment and computer storage medium
US20170316100A1 (en) Retrieval of Content Using Link-Based Search
KR101639656B1 (en) Method and server apparatus for advertising
CN106708871A (en) Method and device for identifying social service characteristics user
CN111967924A (en) Commodity recommendation method, commodity recommendation device, computer device, and medium
JP6865706B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6976178B2 (en) Extractor, extraction method, and extraction program
CN113744002A (en) Method, device, equipment and computer readable medium for pushing information
Edi Surya et al. Recommendation System with Content-Based Filtering in NFT Marketplace
JP7158870B2 (en) Information processing device, information processing method, and information processing program
JP6960361B2 (en) Information processing equipment, information processing methods, and information processing programs
JP7041530B2 (en) Display program, display method, and display device
JP6856567B2 (en) Information processing equipment, information processing methods, and information processing programs
JP7414906B2 (en) Information processing device, information processing method, and information processing program
JP6964540B2 (en) Information processing equipment, information processing methods, and information processing programs
JP6976183B2 (en) Extractor, extraction method, and extraction program
JP6976202B2 (en) Information processing equipment, information processing methods, and information processing programs

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210406

R150 Certificate of patent or registration of utility model

Ref document number: 6865706

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250