JP7309673B2 - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP7309673B2 JP7309673B2 JP2020141065A JP2020141065A JP7309673B2 JP 7309673 B2 JP7309673 B2 JP 7309673B2 JP 2020141065 A JP2020141065 A JP 2020141065A JP 2020141065 A JP2020141065 A JP 2020141065A JP 7309673 B2 JP7309673 B2 JP 7309673B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- attribute
- user group
- probability
- attribute information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 47
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000011156 evaluation Methods 0.000 claims description 28
- 230000000295 complement effect Effects 0.000 claims description 26
- 238000005457 optimization Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.
ユーザに対してアイテムの推薦をする際、アイテムを推薦する対象となる対象ユーザが評価したアイテムを同じように評価している類似ユーザの過去評価を参照して、対象ユーザが評価する可能性の高いアイテムを推定し補完する技術がある。このような技術の中には、他事業の顧客に対して自事業のアイテムの推薦などのアプローチを行うことも行われている。ここで、複数の事業間で共通の顧客に対して共通なクラスタを付与し、それをもとにデータの関連付けを行う技術も存在する(例えば特許文献1参照)。 When recommending an item to a user, it is possible for the target user to evaluate the item by referring to the past evaluations of similar users who have similarly evaluated the item evaluated by the target user to whom the item is to be recommended. There are techniques to estimate and complement expensive items. Among such techniques, approaches such as recommending items of one's own business to customers of other businesses are also performed. Here, there is also a technique of assigning a common cluster to a common customer among a plurality of businesses and relating data based on the cluster (for example, see Patent Document 1).
上記の技術は、あらかじめ顧客がクラスタに分類されていることを前提としており、クラスタリングの精度を高めるための技術ではない。しかしながら、クラスタの分類精度は推定精度に影響するため、クラスタの分類を固定してしまうと、推定精度の向上には限界があると考えられる。このように、類似した情報に基づいて欠落している情報を推定する技術には改善の余地があると考えられる。 The above technique is based on the premise that customers are classified into clusters in advance, and is not a technique for improving the accuracy of clustering. However, since the cluster classification accuracy affects the estimation accuracy, if the cluster classification is fixed, it is considered that there is a limit to the improvement of the estimation accuracy. Thus, it is considered that there is room for improvement in techniques for estimating missing information based on similar information.
本発明はこれらの点に鑑みてなされたものであり、類似した情報に基づいて推定する欠落情報の推定精度を向上させるための技術を提供することを目的とする。 The present invention has been made in view of these points, and it is an object of the present invention to provide a technique for improving the estimation accuracy of missing information estimated based on similar information.
本発明の第1の態様は、情報処理装置である。この装置は、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するユーザ群情報取得部と、前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する確率設定部と、前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する補完データ生成部と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、前記補完データ生成部が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する更新部と、を備え、前記補完データ生成部は、前記更新部が更新した前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する。 A first aspect of the present invention is an information processing apparatus. (1) a user identifier for specifying each user included in a first user group; a plurality of first attribute information included in a first attribute category for each user; first user group information including a plurality of pieces of second attribute information included in the attribute category; (2) user identifiers for specifying each user included in the second user group; and first attribute category for each user (3) a user identifier for identifying each user included in the third user group, and a second attribute category for each user included in the a user group information acquisition unit that acquires third user group information that includes only a plurality of second attribute information, and an affiliation indicating the probability that each user included in the first user group belongs to each of a plurality of clusters a probability setting unit for setting a probability and an attribute probability indicating the realization probability of each of the first attribute information and the second attribute information in each cluster; and based on the belonging probability and the attribute probability, the a complementary data generation unit that generates a plurality of the second attribute information regarding each of the users included in the second user group and a plurality of the first attribute information regarding each of the users included in the third user group; identifying whether information generated by the complementary data generating unit is included in the first attribute information and the second attribute information of each user included in the first user group, the second user group, and the third user group; The identification evaluation function determined from the identification function, the generated first attribute information or the second attribute information, and each user included in the first user group, the second user group, and the third user group an updating unit that updates the discriminant function, the belonging probability, and the attribute probability using a generative adversarial network based on a generated evaluation function that evaluates an error of the first attribute information or the second attribute information. , the complementary data generating unit, based on the belonging probability and the attribute probability updated by the updating unit, generates a plurality of the second attribute information about each of the users included in the second user group, and the third user and generating a plurality of pieces of first attribute information about each of the users included in the group.
前記確率設定部は、前記属性確率の初期値を設定する初期確率設定部と、EM(Expectation-Maximization)アルゴリズムのEステップにより前記所属確率を更新する所属確率更新部と、前記EMアルゴリズムのMステップにより前記属性確率を更新する属性確率更新部と、所定の収束条件を満たすまで前記所属確率更新部に前記所属確率を更新させるとともに、前記属性確率更新部に前記属性確率を更新させる最適化部と、を備えてもよい。 The probability setting unit includes an initial probability setting unit that sets an initial value of the attribute probability, an affiliation probability updating unit that updates the affiliation probability by the E step of an EM (Expectation-Maximization) algorithm, and an M step of the EM algorithm. an attribute probability updating unit for updating the attribute probabilities by and an optimization unit for causing the attribute probability updating unit to update the attribute probabilities until a predetermined convergence condition is satisfied, and for causing the attribute probability updating unit to update the attribute probabilities; , may be provided.
前記第1属性カテゴリーと前記第2属性カテゴリーとは、それぞれ商品に関する異なるカテゴリーを示してもよく、前記第1属性情報と前記第2属性情報とは、それぞれ前記第1属性カテゴリーと前記第2属性カテゴリーとに含まれる商品の購入の有無を示す情報であってもよく、前記情報処理装置は、前記補完データ生成部が生成した前記第2ユーザ群に含まれる前記第2属性情報に基づいて前記第2ユーザ群の各ユーザに推薦する前記第2属性カテゴリーの商品を選択するとともに、前記補完データ生成部が生成した前記第3ユーザ群に含まれる前記第1属性情報に基づいて前記第3ユーザ群の各ユーザに推薦する前記第1属性カテゴリーの商品を選択する推薦商品選択部をさらに備えてもよい。 The first attribute category and the second attribute category may indicate different categories related to products, respectively, and the first attribute information and the second attribute information are the first attribute category and the second attribute, respectively. The information may be information indicating whether or not a product included in the category is purchased, and the information processing device generates the second attribute information included in the second user group generated by the complementary data generation unit. Selecting the product of the second attribute category recommended to each user of the second user group, and the third user based on the first attribute information included in the third user group generated by the complementary data generation unit A recommended product selection unit that selects products of the first attribute category to be recommended to each user of the group may be further provided.
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するステップと、前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定するステップと、前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新するステップと、更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、を実行する。 A second aspect of the present invention is an information processing method. In this method, the processor performs (1) a user identifier for specifying each user included in the first user group, a plurality of first attribute information included in the first attribute category for each user, each user (2) a user identifier for identifying each user included in the second user group; Second user group information including only a plurality of first attribute information included in one attribute category; (3) user identifiers for identifying each user included in the third user group; and second attributes related to each user a third user group information containing only a plurality of second attribute information included in the category; and a belonging probability indicating a probability that each user included in the first user group belongs to each of a plurality of clusters. and an attribute probability indicating a realization probability of each of the first attribute information and the second attribute information in each cluster; and based on the belonging probability and the attribute probability, the second user a step of generating a plurality of said second attribute information relating to each user included in the group and a plurality of said first attribute information relating to each user included in said third user group; an identification evaluation function determined from an identification function that identifies whether or not the generated information is included in the first attribute information and the second attribute information of each user included in the second user group and the third user group; The error between the first attribute information or the second attribute information and the first attribute information or the second attribute information of each user included in the first user group, the second user group, and the third user group updating the discriminant function, the membership probabilities, and the attribute probabilities using a generative adversarial network based on a generative evaluation function to be evaluated; and based on the updated membership probabilities and the attribute probabilities, generating a plurality of pieces of second attribute information about each user included in the second user group and a plurality of pieces of first attribute information about each user included in the third user group.
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得する機能と、前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する機能と、前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する機能と、更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、を実現させる。 A third aspect of the present invention is a program. This program stores (1) a user identifier for specifying each user included in a first user group, a plurality of first attribute information included in a first attribute category for each user, each user (2) a user identifier for identifying each user included in the second user group; Second user group information including only a plurality of first attribute information included in one attribute category; (3) user identifiers for identifying each user included in the third user group; and second attributes related to each user third user group information containing only a plurality of second attribute information included in the category; and belonging probability indicating the probability that each user included in the first user group belongs to each of a plurality of clusters. and attribute probabilities indicating realization probabilities of the first attribute information and the second attribute information in each cluster, and based on the belonging probabilities and the attribute probabilities, the second user a function of generating a plurality of second attribute information about each user included in the group and a plurality of first attribute information about each user included in the third user group; an identification evaluation function determined from an identification function that identifies whether or not the generated information is included in the first attribute information and the second attribute information of each user included in the second user group and the third user group; The error between the first attribute information or the second attribute information and the first attribute information or the second attribute information of each user included in the first user group, the second user group, and the third user group a function of updating the discriminant function, the membership probabilities, and the attribute probabilities using a generative adversarial network, based on a generative evaluation function to be evaluated; and based on the updated membership probabilities and the attribute probabilities, A function of generating a plurality of pieces of second attribute information about each user included in the second user group and a plurality of pieces of first attribute information about each user included in the third user group is realized.
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。 In order to provide this program or update part of the program, a computer-readable recording medium recording this program may be provided, or this program may be transmitted via a communication line.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。 Any combination of the above-described components, and expressions of the present invention converted into methods, devices, systems, computer programs, data structures, recording media, etc. are also effective as aspects of the present invention.
本発明によれば、類似した情報に基づいて推定する欠落情報の推定精度を向上させることができる。 According to the present invention, it is possible to improve the estimation accuracy of missing information estimated based on similar information.
<実施の形態の概要>
実施の形態の概要を述べる。実施の形態に係る情報処理装置は、欠如している情報と関連する情報に基づいて、欠如している情報を推定して補完する装置である。具体例としては、実施の形態に係る情報処理装置は、あるカテゴリーに含まれるアイテム群(例えば、生鮮食品)と、別のカテゴリーに含まれるアイテム群(例えば、インスタント食品)との両方のカテゴリーにおいて購買履歴があるユーザ群の購買履歴に基づいて、一方のカテゴリーに含まれるアイテム群のみの購買履歴があるユーザについて、他方のカテゴリーに含まれるアイテムを購買するか否かを示す傾向を推定する。
<Overview of Embodiment>
An outline of an embodiment will be described. An information processing apparatus according to an embodiment is an apparatus that estimates and complements missing information based on information related to the missing information. As a specific example, the information processing device according to the embodiment performs Based on the purchase histories of a group of users with purchase histories, the tendency of users who have purchase histories of only items included in one category to purchase items included in the other category is estimated.
図1(a)-(b)は、実施の形態に係る情報処理装置が実行する推定処理の概要を説明するための図である。具体的には、図1(a)はユーザ属性とユーザ群との関係を説明するための図であり、図1(b)は、実施の形態に係る情報処理装置の推定対象となる情報を説明するための図である。 FIGS. 1(a) and 1(b) are diagrams for explaining an overview of estimation processing executed by the information processing apparatus according to the embodiment. Specifically, FIG. 1A is a diagram for explaining the relationship between user attributes and user groups, and FIG. It is a figure for explaining.
図1(a)において、第1ユーザ属性は、第1カテゴリーに含まれるアイテムの購買履歴を示す情報を示す。また、第2ユーザ属性は、第1カテゴリーとは異なる第2カテゴリーに含まれるアイテムの購買履歴を示す。図1(a)において、第1ユーザ群は、第1ユーザ属性と第2ユーザ属性との二つの属性を持つユーザの集合である。 In FIG. 1A, the first user attribute indicates information indicating the purchase history of items included in the first category. Also, the second user attribute indicates the purchase history of items included in a second category different from the first category. In FIG. 1A, the first user group is a set of users having two attributes, a first user attribute and a second user attribute.
第2ユーザ群は、第1ユーザ属性を持つが、第2ユーザ属性は持たないユーザの集合である。すなわち、第1ユーザ群に含まれるユーザは、第2カテゴリーのアイテムの購買の傾向をつかむことができないユーザである。一方、第3ユーザ群は、第2ユーザ属性を持つが、第1ユーザ属性は持たないユーザの集合である。すなわち、第3ユーザ群に含まれるユーザは、第1カテゴリーのアイテムの購買の傾向をつかむことができないユーザである。 A second user group is a set of users who have the first user attribute but do not have the second user attribute. That is, the users included in the first user group are users who cannot grasp the purchasing tendency of items in the second category. On the other hand, the third user group is a group of users who have the second user attribute but do not have the first user attribute. That is, users included in the third user group are users who cannot grasp the purchasing tendency of items in the first category.
図1(b)は、各ユーザを特定するためのユーザ識別子と、各ユーザの属性情報とを対応づけて格納するユーザデータベースのデータ構造を模式的に示す図である。実施の形態に係る情報処理装置は、各ユーザにはユーザ識別子を一意に割り当てて管理している。図1(b)においては、第1ユーザ群に含まれるユーザは、ユーザ識別子がUID0001、UID0002、UID0003、及びUID0004が割り当てられた4人のユーザである。第2ユーザ群に含まれるユーザは、ユーザ識別子がUID0005、UID0006、UID0007、UID0008、及びUID0009の5人のユーザであり、第3ユーザ群に含まれるユーザは、ユーザ識別子がUID0010及びUID0011の2人のユーザである。 FIG. 1(b) is a diagram schematically showing the data structure of a user database that stores a user identifier for specifying each user and attribute information of each user in association with each other. The information processing apparatus according to the embodiment manages each user by uniquely assigning a user identifier. In FIG. 1B, the users included in the first user group are four users assigned user identifiers UID0001, UID0002, UID0003, and UID0004. The users included in the second user group are five users whose user identifiers are UID0005, UID0006, UID0007, UID0008, and UID0009, and the users included in the third user group are two users whose user identifiers are UID0010 and UID0011. is a user of
図1(b)において、第1属性情報は「S1」、「S2」、及び「S3」で示される3つの情報を含むが、これはそれぞれ第1カテゴリーに含まれる3つの異なるアイテムに関する購買の有無を示す情報であり、具体的には「1」は購買有、「0」は購買無を示している。例えば、ユーザ識別がUID0001であるユーザの「S1」は「1」であるので、このユーザは過去にS1に対応するアイテムを購買したことがあることを示している。同様に、第2属性情報に含まれる「T1」及び「T2」は、それぞれ第2カテゴリーに含まれる2つの異なるアイテムに関する購買の有無を示す情報である。例えば、ユーザ識別子がUID0004であるユーザは、過去にT1に対応するアイテムを購買したことがないことを示している。 In FIG. 1(b), the first attribute information includes three pieces of information indicated by 'S1', 'S2' and 'S3', each of which is a purchase order for three different items included in the first category. This is information indicating the presence/absence. Specifically, "1" indicates that there is a purchase, and "0" indicates that there is no purchase. For example, "S1" of a user whose user identification is UID0001 is "1", indicating that this user has purchased an item corresponding to S1 in the past. Similarly, "T1" and "T2" included in the second attribute information are information indicating whether or not two different items included in the second category are purchased. For example, a user whose user identifier is UID0004 has never purchased an item corresponding to T1 in the past.
図1(b)において右肩上がりの斜線で示すように、第2ユーザ群に含まれるユーザはいずれも第2属性情報が空欄である。これは、第2ユーザ群に含まれるユーザについては、第2属性情報が不明であることを示している。また、図1(b)において右肩下がりの斜線で示すように、第3ユーザ群に含まれるユーザはいずれも第1属性情報が空欄である。これは、第3ユーザ群に含まれるユーザについては、第1属性情報が不明であることを示している。実施の形態に係る情報処理装置の処理目的は、図1(b)における斜線で示す領域、すなわち、第2ユーザ群に関する第2属性情報と、第3ユーザ群に関する第1属性情報とを推定することである。 As indicated by the upward slanted lines in FIG. 1(b), the second attribute information of all the users included in the second user group is blank. This indicates that the second attribute information is unknown for users included in the second user group. In addition, as indicated by the diagonal lines slanting downward to the right in FIG. 1(b), the first attribute information of all the users included in the third user group is blank. This indicates that the first attribute information is unknown for the users included in the third user group. The processing purpose of the information processing apparatus according to the embodiment is to estimate the area indicated by diagonal lines in FIG. That is.
図1(a)-(b)は、説明の便宜のため、ユーザの総数は11であるが、一般には11よりも多いことが多く、また、各属性情報の種類数も3よりも多いことが多い。実施の形態に係る情報処理装置は、第1ユーザの属性情報を解析することにより、第1属性情報と第2属性情報との統計的な関係性を算出する。例えば、第1属性情がいずれも「1」であるユーザは、第1属性情報における「T1」が1である傾向が高いとする。この場合、第2ユーザ群において第1属性情報がいずれも「1」であるユーザは、第2属性情報におけるT1に対応する商品を購買する蓋然性が高いと考えられる。 In FIGS. 1(a) and 1(b), for convenience of explanation, the total number of users is 11, but in general the number is often more than 11, and the number of types of attribute information is more than 3. There are many. The information processing apparatus according to the embodiment calculates a statistical relationship between the first attribute information and the second attribute information by analyzing the attribute information of the first user. For example, it is assumed that a user whose first attribute information is all "1" has a high tendency to have "T1" of "1" in the first attribute information. In this case, it is considered highly probable that the users in the second user group whose first attribute information is "1" will purchase the product corresponding to T1 in the second attribute information.
詳細は後述するが、実施の形態に係る情報処理装置は、2以上のクラスタを設定し、各ユーザがそれぞれのクラスタに属する確率を、既知のEM(Expectation-Maximization)アルゴリズムを用いて更新しながら推定する。実施の形態に係る情報処理装置は、さらに、既知の敵対的生成ネットワーク(Generative Adversarial Networks;GAN)の枠組みを用いることにより、推定した情報が、元からある情報であるか、あるいは推定された情報であるかの判別を難しくするという意味において、推定精度を高める。これにより、実施の形態に係る情報処理装置は、算出した関係性を用いて、第2ユーザ群における第2属性情報と、第3ユーザ群における第1属性情報との推定精度を向上させることができる。 Although the details will be described later, the information processing apparatus according to the embodiment sets two or more clusters, and updates the probability that each user belongs to each cluster using a known EM (Expectation-Maximization) algorithm. presume. The information processing apparatus according to the embodiment further uses a known framework of Generative Adversarial Networks (GAN) to determine whether the estimated information is original information or estimated information The estimation accuracy is improved in the sense that it is difficult to determine whether or not As a result, the information processing apparatus according to the embodiment uses the calculated relationship to improve the estimation accuracy of the second attribute information for the second user group and the first attribute information for the third user group. can.
<実施の形態に係る情報処理装置1の機能構成>
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
<Functional Configuration of
FIG. 2 is a diagram schematically showing the functional configuration of the
記憶部2は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。記憶部2は、図1(b)に示すユーザデータベースも記憶している。
The
制御部3は、情報処理装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによってユーザ群情報取得部30、確率設定部31、補完データ生成部32、更新部33、及び推薦商品選択部34として機能する。確率設定部31は、初期確率設定部310、所属確率更新部311、属性確率更新部312、及び最適化部313を含む。
The
なお、図2は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
Note that FIG. 2 shows an example in which the
ユーザ群情報取得部30は、記憶部2に格納されているユーザデータベースを参照して、第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報を取得する。また、ユーザ群情報取得部30は、ユーザデータベースを参照して、第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報を取得する。さらに、ユーザ群情報取得部30は、ユーザデータベースを参照して、第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報を取得する。
The user group
確率設定部31は、第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける第1属性情報と第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する。
The
図3(a)-(c)は、確率設定部31が設定する所属確率と属性確率との一例を示す図である。具体的には、図3(a)は確率設定部31が設定する属性確率の初期値の一例を示す図であり、図3(b)は属性確率の初期値に基づいて算出した所属確率を示す図である。確率設定部31の初期確率設定部310は、例えば乱数等を用いることにより、属性確率の初期値を設定する。
FIGS. 3A to 3C are diagrams showing examples of belonging probabilities and attribute probabilities set by the
例えば、ユーザ識別子がUID00005であるユーザが第1クラスタに属している確率P(第1クラスタ|ID=UID00005)は、以下のように計算できる。
P(第1クラスタ|ID=UID00005)∝P(ID=UID00005,第1クラスタ)=P(S1=1|第1クラスタ)×P(S2=1|第1クラスタ)×P(S3=1|第1クラスタ)=0.89×0.0013×0.7499=0.000896。
For example, the probability P that a user whose user identifier is UID00005 belongs to the first cluster (first cluster |ID=UID00005) can be calculated as follows.
P(first cluster|ID=UID00005)∝P(ID=UID00005, first cluster)=P(S1=1|first cluster)×P(S2=1|first cluster)×P(S3=1| first cluster) = 0.89 x 0.0013 x 0.7499 = 0.000896.
同様に、ユーザ識別子がUID00005であるユーザが第2クラスタに属している確率P(第2クラスタ|ID=UID00005)は、以下のように計算できる。
P(第2クラスタ|ID=UID00005)∝(ID=UID00005,第2クラスタ)=P(S1=1|第2クラスタ)×P(S2=1|第2クラスタ)×P(S3=1|第2クラスタ)=0.9856×0.0450×0.3888=0.01723。
Similarly, the probability P that the user whose user identifier is UID00005 belongs to the second cluster (second cluster |ID=UID00005) can be calculated as follows.
P(second cluster|ID=UID00005)∝(ID=UID00005, second cluster)=P(S1=1|second cluster)×P(S2=1|second cluster)×P(S3=1|
P(第1クラスタ|ID=UID00005)、P(第2クラスタ|ID=UID00005)の右辺には、それぞれ各クラスの事前確率であるP(第1クラスタ)、P(第2クラスタ)を乗算するのが正しいが、簡単のためP(第1クラスタ)=P(第2クラスタ)=0.5とみなして省略している。ただし、省略せずP(第1クラスタ)、P(第2クラスタ)を推定してもよい。 The right sides of P (first cluster |ID=UID00005) and P (second cluster |ID=UID00005) are multiplied by the prior probabilities P (first cluster) and P (second cluster) of each class, respectively. is correct, but for the sake of simplicity, it is assumed that P (first cluster)=P (second cluster)=0.5 and is omitted. However, P (first cluster) and P (second cluster) may be estimated without omission.
これより、ユーザ識別子がUID0005のユーザに関する第1クラスタの事後確率P(第1クラスタ|ID=UID00005)は、P(ID=UID00005,第1クラスタ)とP(ID=UID00005,第2クラスタ)とに基づいて以下のように計算できる。 From this, the posterior probability P (first cluster|ID=UID00005) of the first cluster regarding the user whose user identifier is UID0005 is P (ID=UID00005, first cluster) and P (ID=UID00005, second cluster). can be calculated as follows.
P(第1クラスタ|ID=UID00005)=P(ID=UID00005,第1クラスタ)/(P(ID=UID00005,第1クラスタ)+P(ID=UID00005,第2クラスタ))=0.000896/(0.000896+0.01723)=0.0494。 P(first cluster|ID=UID00005)=P(ID=UID00005, first cluster)/(P(ID=UID00005, first cluster)+P(ID=UID00005, second cluster))=0.000896/( 0.000896 + 0.01723) = 0.0494.
一方、ユーザ識別子がUID0005のユーザに関する第1クラスタの事後確率P(第2クラスタ|ID=UID00005)は、以下のように計算できる。 On the other hand, the posterior probability P (second cluster |ID=UID00005) of the first cluster regarding the user whose user identifier is UID0005 can be calculated as follows.
P(第2クラスタ|ID=UID00005)=1-P(第1クラスタ|ID=UID00005)=0.9506。 P(second cluster|ID=UID00005)=1−P(first cluster|ID=UID00005)=0.9506.
なお、図3(a)に示す属性確率から、図3(b)に示す所属確率を生成する処理は、EMアルゴリズムにおけるEステップに相当する。確率設定部31の所属確率更新部311は、EMアルゴリズムのEステップを実行することにより所属確率を更新する。
Note that the process of generating the belonging probabilities shown in FIG. 3(b) from the attribute probabilities shown in FIG. 3(a) corresponds to step E in the EM algorithm. The belonging
確率設定部31の属性確率更新部312は、図3(b)に示す所属確率に基づいて、EMアルゴリズムのMステップを実行することにより属性確率を更新する。確率設定部31の最適化部313は、所定の収束条件を満たすまで所属確率更新部311に所属確率を更新させるとともに、属性確率更新部312に属性確率を更新させる。これにより、確率設定部31は、最終的に図3(c)に示す属性確率を生成する。図示はしないが、図3(c)に示す属性確率に基づいて、属性確率更新部312は最終的な所属確率も算出する。
The attribute
図3に示す例では、確率設定部31は、第1クラスタと第2クラスタとの二つのクラスタを設定した場合の例を示している。図3(a)において、例えば、ユーザが第1クラスタに属する場合、そのユーザが第1属性情報の「S3」の購入履歴がある可能性が74.99%(0.7499の割合)であることを示している。確率設定部31は、EMアルゴリズム及びGANのフレームワークを用いることにより、属性確率及び所属確率を更新する。
The example shown in FIG. 3 shows an example in which the
図3(c)は、確率設定部31が更新処理によって生成した属性確率の一例を示す図である。例えば、P(T1=1|第1クラスタ)、P(T1=1|第2クラスタ)は以下のように計算される。
FIG.3(c) is a figure which shows an example of the attribute probability which the
P(T1=1|第1クラスタ)=
{P(T1=1|ID=UID0001)×P(第1クラスタ|ID=UID0001)
+P(T1=1|ID=UID0002)×P(第1クラスタ|ID=UID0002)
+P(T1=1|ID=UID0003)×P(第1クラスタ|ID=UID0003)
+P(T1=1|ID=UID0004)×P(第1クラスタ|ID=UID0004)
+P(T1=1|ID=UID0010)×P(第1クラスタ|ID=UID0010)
+P(T1=1|ID=UID0011)×P(第1クラスタ|ID=UID0011)}/{P(第1クラスタ|ID=UID0001)+P(第1クラスタ|ID=UID0002)+P(第1クラスタ|ID=UID0003)+P(第1クラスタ|ID=UID0004)+P(第1クラスタ|ID=UID0010)+P(第1クラスタ|ID=UID0011)}
={1×0.5293+1×0.9970+1×0.0075+0×0.0019+1×0.9558+0×0.1481}/{0.5293+0.9970+0.0075+0.0019+0.9558+0.1481}
=0.9432
P(T1=1|first cluster)=
{P(T1=1|ID=UID0001)×P(first cluster|ID=UID0001)
+P(T1=1|ID=UID0002)×P(first cluster|ID=UID0002)
+P(T1=1|ID=UID0003)×P(first cluster|ID=UID0003)
+P(T1=1|ID=UID0004)×P(first cluster|ID=UID0004)
+P(T1=1|ID=UID0010)×P(first cluster|ID=UID0010)
+P(T1=1|ID=UID0011)×P(first cluster|ID=UID0011)}/{P(first cluster|ID=UID0001)+P(first cluster|ID=UID0002)+P(first cluster| ID=UID0003)+P(first cluster|ID=UID0004)+P(first cluster|ID=UID0010)+P(first cluster|ID=UID0011)}
= {1 x 0.5293 + 1 x 0.9970 + 1 x 0.0075 + 0 x 0.0019 + 1 x 0.9558 + 0 x 0.1481} / {0.5293 + 0.9970 + 0.0075 + 0.0019 + 0.9558 + 0.1481}
= 0.9432
P(T1=1|第2クラスタ)=
{P(T1=1|ID=UID0001)×P(第2クラスタ|ID=UID0001)
+P(T1=1|ID=UID0002)×P(第2クラスタ|ID=UID0002)
+P(T1=1|ID=UID0003)×P(第2クラスタ|ID=UID0003)
+P(T1=1|ID=UID0004)×P(第2クラスタ|ID=UID0004)
+P(T1=1|ID=UID0010)×P(第2クラスタ|ID=UID0010)
+P(T1=1|ID=UID0011)×P(第2クラスタ|ID=UID0011)}/{P(第2クラスタ|ID=UID0001)+P(第2クラスタ|ID=UID0002)+P(第2クラスタ|ID=UID0003)+P(第2クラスタ|ID=UID0004)+P(第2クラスタ|ID=UID0010)+P(第2クラスタ|ID=UID0011)}
={1×0.4707+1×0.0030+1×0.9925+0.9981+1×0.0442+0×0.8519}/{0.4707+0.0030+0.9925+0.9981+0.0442+0.8519}
=0.4495
P(T1=1|2nd cluster)=
{P(T1=1|ID=UID0001)×P(second cluster|ID=UID0001)
+P(T1=1|ID=UID0002)×P(second cluster|ID=UID0002)
+P(T1=1|ID=UID0003)×P(second cluster|ID=UID0003)
+P(T1=1|ID=UID0004)×P(second cluster|ID=UID0004)
+P(T1=1|ID=UID0010)×P(second cluster|ID=UID0010)
+P(T1=1|ID=UID0011)×P(second cluster|ID=UID0011)}/{P(second cluster|ID=UID0001)+P(second cluster|ID=UID0002)+P(second cluster| ID=UID0003)+P(second cluster|ID=UID0004)+P(second cluster|ID=UID0010)+P(second cluster|ID=UID0011)}
= {1 x 0.4707 + 1 x 0.0030 + 1 x 0.9925 + 0.9981 + 1 x 0.0442 + 0 x 0.8519} / {0.4707 + 0.0030 + 0.9925 + 0.9981 + 0.0442 + 0.8519}
= 0.4495
確率設定部31が実行する更新処理により、図3(a)に示す属性確率の初期値は、図3(c)に示す値に更新される。更新処理を繰り返し行う場合は、更新後の値である図3(c)に示す値を図3(a)に設定し、図3(c)に示す値を更新する。
By the updating process executed by the
補完データ生成部32は、所属確率と属性確率とに基づいて、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報と、を生成する。図1(b)に示すように、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報とは、いずれも欠落している情報である。
Based on the affiliation probability and the attribute probability, the complementary
例えば、補完データ生成部32は、ユーザ識別子がUID0005のユーザにおける「T1」が1である確率P(T1=1|ID=UID0005)は、以下のように計算できる。
P(T1=1|ID=UID0005)=P(T1=1|第1クラスタ)×P(第1クラスタ|ID=UID0005)+P(T1=1|第2クラスタ)×P(第2クラスタ|ID=UID0005)=0.9432×0.0494+0.4495×0.9506=0.4739。
For example, the complementary
P(T1=1|ID=UID0005)=P(T1=1|1st cluster)×P(1st cluster|ID=UID0005)+P(T1=1|2nd cluster)×P(2nd cluster|ID =UID0005) = 0.9432 x 0.0494 + 0.4495 x 0.9506 = 0.4739.
また、ユーザ識別子がUID0005のユーザにおける「T1」が0である確率P(T1=0|ID=UID0005)は、以下のように計算できる。
P(T1=0|ID=UID0005)=1-P(T1=1|ID=UID0005)=1-0.4739=0.5261。
Also, the probability P (T1=0|ID=UID0005) that "T1" is 0 for the user whose user identifier is UID0005 can be calculated as follows.
P(T1=0|ID=UID0005)=1−P(T1=1|ID=UID0005)=1−0.4739=0.5261.
図4は、実施の形態に係る補完データ生成部32による補完後のユーザデータベースを示す図である。図4においてアンダーラインで示すように、図1(b)に示すユーザデータベースでは欠落している情報が補完データ生成部32によって補完されている。
FIG. 4 is a diagram showing the user database after complementation by the complementation
図5は、補完後のユーザデータベースを示す図であり、二値化処理を施した補完後のユーザデータベースを示す図である。より具体的には、図4に示すデータベースの各値に対し、閾値(例えば、0.5)未満を0、閾値以上を1とする二値化を施した図である。図5では、図1で実現値が与えられているものは図1の値を埋める。 FIG. 5 is a diagram showing the user database after complementation, and is a diagram showing the user database after complementation that has undergone binarization processing. More specifically, each value in the database shown in FIG. 4 is binarized such that 0 is less than a threshold value (for example, 0.5) and 1 is greater than or equal to the threshold value. In FIG. 5, those for which actual values are given in FIG. 1 fill in the values in FIG.
図2の説明に戻る。更新部33は、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、補完データ生成部32が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された第1属性情報又は第2属性情報と、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて識別関数、所属確率、及び属性確率を更新する。
Returning to the description of FIG. The
識別関数は、図5に示す補完後のデータのうち実現値(xn∈Xn)か、補完値(xr∈Xr)かを識別する関数であり、入力が真なら1、偽なら0を返す関数である。識別評価関数ODの具体例は、以下の式(1)で表現できる。識別評価関数は大きい方がよい。 The discriminant function is a function that discriminates whether the data after completion shown in FIG . A function that returns 0. A specific example of the identification evaluation function OD can be expressed by the following equation (1). A larger discriminative evaluation function is better.
m次元のベクトルの入力x.=(x.1,x.2,・・・,x.m)とした場合(・には実現値を意味するn又は補完値を意味するrが入る)、一例として識別関数は以下の式(2)のように表現できる。 An m-dimensional vector input x . =( x.1 , x.2 , . (2) can be expressed.
式(2)において、w1,w2,・・・,wmは、はベクトルの次元毎の識別関数の係数であり、exp(・)/Σexp(・)はsoftmax関数と呼ばれ、この関数を通すことにより出力値が[0,1]の範囲となり、かつ、出力値合計が1となる。 In equation (2 ) , w 1 , w 2 , . By passing the function, the output value is in the range [0, 1], and the total output value is 1.
識別関数はクラスタ毎に学習してもよい。その場合は、クラスタc毎にDcを作成し、識別評価関数ODは以下の式(3)のように設定する。 A discriminant function may be learned for each cluster. In that case, Dc is created for each cluster c, and the identification evaluation function OD is set as shown in the following equation (3).
また、一例としてクラスタc毎の識別関数は以下の式(4)のように表現できる。 Also, as an example, the discriminant function for each cluster c can be expressed as in Equation (4) below.
式(4)において、wc1,wc2,・・・,wcmは、クラスタc毎の識別関数の係数である。クラスタ毎の関数とすることで、クラスタ毎の実現値、補完値の割合の違いを考慮した識別を行うことが可能となる。ここで、更新部33は、ODの値が大きくなるように学習及び更新を所定の回数繰り返す。
In Equation (4), w c1 , w c2 , . . . , w cm are the coefficients of the discrimination function for each cluster c. By using a function for each cluster, it is possible to perform discrimination considering the difference in the ratio of the actual value and the complementary value for each cluster. Here, the updating
生成評価関数OGは、実現値(xn∈Xn)の補完生成のよさ(再構成損失)L(x,n)と、補完値(xr∈Xr)の真偽識別の行い難さを評価するために用いられる関数である。生成評価関数OGは、以下の式(5)に示すように、属性_S3と真偽識別の行い易さの加重和として設定する。 The generation evaluation function OG is the goodness of complementary generation (reconstruction loss) L(x, n) of the realization value (x n ∈ X n ) and the difficulty of authenticity discrimination of the complementary value (x r ∈ X r ). It is a function used to evaluate strength. The generation evaluation function OG is set as a weighted sum of the attribute_S3 and the ease of authenticity discrimination, as shown in the following equation (5).
識別関数をクラスタc毎に学習する場合は、生成評価関数OGは以下の式(6)のように設定する。 When the discriminant function is learned for each cluster c, the generated evaluation function OG is set as shown in the following equation (6).
更新部33は、生成評価関数OGの値が小さくなるように学習及び更新を所定の回数繰り返す。また、実現値(xn∈Xn)の補完生成のよさ(再構成損失)L(xn)は以下の式(7)のように設定できる。生成評価関数は小さい方がよく、敵対的生成ネットワークは識別評価関数を大きくしつつ生成評価関数を小さくするミニマックスゲームにより属性確率等を最適化する。
The updating
ΣlogL(xn)=-Σi∈ID_S{I(属性_S331=1,ID_S=i)logP(属性_S31=1|ID_S=i)+I(属性_S31=0,ID_S=i)logP(属性_S31=0|ID_S=i)+I(属性_S32=1,ID_S=i)logP(属性_S32=1|ID_S=i)+I(属性_S32=0,ID_S=i)logP(属性_S32=0|ID_S=i)+I(属性_S33=1,ID_S=i)logP(属性_S33=1|ID_S=i)+I(属性_S33=0,ID_S=i)logP(属性_S33=0|ID_S=i))-Σj∈ID_T{I(属性_T1=1,ID_T=j)logP(属性_T1=1|ID_T=j)+I(属性_T1=0,ID_T=j)logP(属性_T1=0|ID_T=j)+I(属性_T2=1,ID_T=j)logP(属性_T2=1|ID_T=j)+I(属性_T2=0,ID_T=j)logP(属性_T2=0|ID_T=j)) (7) ΣlogL(x n )=−ΣiεID_S{I(attribute_S331=1, ID_S=i) logP(attribute_S31=1|ID_S=i)+I(attribute_S31=0, ID_S=i) logP(attribute_S31=0 |ID_S=i)+I(attribute_S32=1, ID_S=i) logP(attribute_S32=1|ID_S=i)+I(attribute_S32=0, ID_S=i) logP(attribute_S32=0|ID_S=i)+I (attribute_S33=1, ID_S=i) logP(attribute_S33=1|ID_S=i)+I(attribute_S33=0, ID_S=i) logP(attribute_S33=0|ID_S=i))−ΣjεID_T{I (attribute_T1=1, ID_T=j) logP(attribute_T1=1|ID_T=j)+I(attribute_T1=0, ID_T=j) logP(attribute_T1=0|ID_T=j)+I(attribute_T2=1, ID_T=j) logP(attribute_T2=1|ID_T=j)+I(attribute_T2=0, ID_T=j) logP(attribute_T2=0|ID_T=j)) (7)
式(7)において、ID_Sは第2ユーザ群のユーザ識別子を示し、ID_Tは第3ユーザ群のユーザ識別子を示す。また、例えばP(属性_S31=1|ID_S=i)などの確率値は、更新部33が図4に示す補完後のユーザデータベースを参照することにより取得できる。
In equation (7), ID_S indicates the user identifier of the second user group, and ID_T indicates the user identifier of the third user group. Also, for example, a probability value such as P (attribute_S31=1|ID_S=i) can be obtained by referring to the user database after complement shown in FIG. 4 by the updating
ここで、図3(a)に示す属性確率が生成評価関数において更新されるパラメータであり、図4に示す補完後のユーザデータベースは補完データ生成部32により図1(b)に示す属性情報及び図3(a)に示す属性確率から再計算される。 Here, the attribute probability shown in FIG. 3A is a parameter updated in the generated evaluation function, and the complemented user database shown in FIG. It is recalculated from the attribute probabilities shown in FIG. 3(a).
以上において、属性情報のみから計算できる単純なモデルの例を示しているが、階層ベイズモデルなど、より属性情報に関する多数のパラメータを有する複雑なモデルに変更しても構わない。また、I(属性S3=1,ID_S=i)はID_Sの属性S3=1ならば1、0ならば0を返す指示関数である。 In the above, an example of a simple model that can be calculated only from attribute information is shown, but it may be changed to a complicated model having many parameters related to attribute information, such as a hierarchical Bayesian model. I (attribute S3=1, ID_S=i) is an indicator function that returns 1 if the attribute S3 of ID_S is 1 and returns 0 if it is 0.
図2の説明に戻る。補完データ生成部32は、更新部33が更新した所属確率と属性確率とに基づいて、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報と、を生成する。
Returning to the description of FIG. Based on the belonging probability and the attribute probability updated by the updating
このように、実施の形態に係る情報処理装置1は、EMアルゴリズムを用いることにより、各ユーザが属するクラスタを固定することなく、第1ユーザ群の属性情報に基づいて各ユーザの各クラスタの所属確率を推定する。これにより、各ユーザが所属するクラスタを固定する場合と比較して、先見情報の統計的な解析により各ユーザが属するクラスタを推定することができる。
In this way, the
実施の形態に係る情報処理装置1は、さらに、EMアルゴリズムを用いることによって推定した値をいわば初期値として、GANのフレームワークを用いることにより、推定した欠損情報の精度を高める。これにより、情報処理装置1は、類似した情報に基づいて推定さする欠落情報の推定精度を向上させることができる。
The
<実施の形態に係る情報処理装置1の利用シーン>
実施の形態に係る情報処理装置1は、例えば、あるユーザのアイテムの購買履歴に基づいて、その購買履歴が存在するアイテムと別のカテゴリーに含まれるアイテムのうち、ユーザに推薦するアイテムを選択することに用いることができる。
<Use scene of
The
この場合、第1属性カテゴリーと第2属性カテゴリーとは、それぞれ商品に関する異なるカテゴリーを示しているものとする。また、第1属性情報と第2属性情報とは、それぞれ第1属性カテゴリーと第2属性カテゴリーとに含まれる商品の購入の有無を示す情報であるものとする。 In this case, it is assumed that the first attribute category and the second attribute category indicate different categories of products. Also, the first attribute information and the second attribute information shall be information indicating whether or not the product included in the first attribute category and the second attribute category is purchased, respectively.
推薦商品選択部34は、補完データ生成部32が生成した第2ユーザ群に含まれる第2属性情報に基づいて第2ユーザ群の各ユーザに推薦する第2属性カテゴリーの商品を選択する。同様に、推薦商品選択部は、補完データ生成部32が生成した第3ユーザ群に含まれる第1属性情報に基づいて第3ユーザ群の各ユーザに推薦する第1属性カテゴリーの商品を選択する。これにより、情報処理装置1は、二つのカテゴリーのうち一方のカテゴリーに含まれるアイテムの購買履歴のみが存在するユーザに対し、別のカテゴリーに含まれるアイテムの中から統計的に購買する可能性が高いアイテムを選択することができる。
The recommended
<情報処理装置1が実行する情報処理方法の処理フロー>
図6は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
<Processing Flow of Information Processing Method Executed by
FIG. 6 is a flowchart for explaining the flow of information processing executed by the
ユーザ群情報取得部30は、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得する(ステップS2)。
The user group
確率設定部31は、第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率を設定する(ステップS4)。また、確率設定部31は、各クラスタにおける第1属性情報と第2属性情報とのそれぞれの実現確率を示す属性確率を設定する(ステップS6)。
The
補完データ生成部32は、所属確率と属性確率とに基づいて、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報と、を生成する(ステップS8)。
Based on the affiliation probability and the attribute probability, the complementary
更新部33は、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、補完データ生成部32が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された第1属性情報又は第2属性情報と、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて識別関数、所属確率、及び属性確率を更新する(ステップS10)。
The
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、類似した情報に基づいて推定する欠落情報の推定精度を向上させることができる。
<Effects of
As described above, according to the
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments, and various modifications and changes are possible within the scope of the gist thereof. be. For example, all or part of the device can be functionally or physically distributed and integrated in arbitrary units. In addition, new embodiments resulting from arbitrary combinations of multiple embodiments are also included in the embodiments of the present invention. The effect of the new embodiment caused by the combination has the effect of the original embodiment.
1・・・情報処理装置
2・・・記憶部
3・・・制御部
30・・・ユーザ群情報取得部
31・・・確率設定部
310・・・初期確率設定部
311・・・所属確率更新部
312・・・属性確率更新部
313・・・最適化部
32・・・補完データ生成部
33・・・更新部
34・・・推薦商品選択部
Claims (5)
前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する確率設定部と、
前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する補完データ生成部と、
前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、前記補完データ生成部が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する更新部と、を備え、
前記補完データ生成部は、前記更新部が更新した前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する、
情報処理装置。 (1) A user identifier for specifying each user included in the first user group, a plurality of first attribute information included in the first attribute category for each user, and a second attribute category for each user. (2) a user identifier for identifying each user included in the second user group; and a plurality of items included in the first attribute category for each user (3) a user identifier for identifying each user included in the third user group, and a plurality of second attributes included in the second attribute category for each user a user group information acquisition unit that acquires third user group information that includes only two attribute information;
A belonging probability indicating a probability that each user included in the first user group belongs to each of a plurality of clusters, and an attribute probability indicating a realization probability of each of the first attribute information and the second attribute information in each cluster. and a probability setting unit for setting
Based on the belonging probability and the attribute probability, a plurality of the second attribute information regarding each of the users included in the second user group and a plurality of the first attribute information regarding each of the users included in the third user group. and a complementary data generation unit that generates
whether the information generated by the complementary data generation unit is included in the first attribute information and the second attribute information of each user included in the first user group, the second user group, and the third user group; The identification evaluation function determined from the identification function that identifies the generated first attribute information or the second attribute information, and each included in the first user group, the second user group, and the third user group an updating unit that updates the discriminant function, the belonging probability, and the attribute probability using a generative adversarial network based on a generated evaluation function that evaluates an error in the user's first attribute information or second attribute information; with
The complementary data generation unit generates a plurality of pieces of second attribute information about each user included in the second user group and the third user group based on the belonging probability and the attribute probability updated by the updating unit. generating a plurality of said first attribute information for each of the users included in
Information processing equipment.
前記属性確率の初期値を設定する初期確率設定部と、
EM(Expectation-Maximization)アルゴリズムのEステップにより前記所属確率を更新する所属確率更新部と、
前記EMアルゴリズムのMステップにより前記属性確率を更新する属性確率更新部と、
所定の収束条件を満たすまで前記所属確率更新部に前記所属確率を更新させるとともに、前記属性確率更新部に前記属性確率を更新させる最適化部と、
を備える請求項1に記載の情報処理装置。 The probability setting unit
an initial probability setting unit that sets an initial value of the attribute probability;
an affiliation probability updating unit that updates the affiliation probability by the E step of an EM (Expectation-Maximization) algorithm;
an attribute probability updating unit that updates the attribute probability according to the M step of the EM algorithm;
an optimization unit that causes the attribute probability updating unit to update the belonging probability until a predetermined convergence condition is satisfied, and causes the attribute probability updating unit to update the attribute probability;
The information processing apparatus according to claim 1, comprising:
前記第1属性情報と前記第2属性情報とは、それぞれ前記第1属性カテゴリーと前記第2属性カテゴリーとに含まれる商品の購入の有無を示す情報であり、
前記情報処理装置は、
前記補完データ生成部が生成した前記第2ユーザ群に含まれる前記第2属性情報に基づいて前記第2ユーザ群の各ユーザに推薦する前記第2属性カテゴリーの商品を選択するとともに、前記補完データ生成部が生成した前記第3ユーザ群に含まれる前記第1属性情報に基づいて前記第3ユーザ群の各ユーザに推薦する前記第1属性カテゴリーの商品を選択する推薦商品選択部をさらに備える、
請求項1又は2に記載の情報処理装置。 The first attribute category and the second attribute category indicate different categories of products, respectively,
The first attribute information and the second attribute information are information indicating whether or not the products included in the first attribute category and the second attribute category are purchased, respectively,
The information processing device is
Selecting a product of the second attribute category to be recommended to each user of the second user group based on the second attribute information included in the second user group generated by the complementary data generation unit, and selecting the complementary data further comprising a recommended product selection unit that selects a product of the first attribute category to be recommended to each user of the third user group based on the first attribute information included in the third user group generated by the generation unit;
The information processing apparatus according to claim 1 or 2.
(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するステップと、
前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定するステップと、
前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、
前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新するステップと、
更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、
を実行する情報処理方法。 the processor
(1) A user identifier for specifying each user included in the first user group, a plurality of first attribute information included in the first attribute category for each user, and a second attribute category for each user. (2) a user identifier for identifying each user included in the second user group; and a plurality of items included in the first attribute category for each user (3) a user identifier for identifying each user included in the third user group, and a plurality of second attributes included in the second attribute category for each user obtaining third user group information including only two attribute information;
A belonging probability indicating a probability that each user included in the first user group belongs to each of a plurality of clusters, and an attribute probability indicating a realization probability of each of the first attribute information and the second attribute information in each cluster. and setting
Based on the belonging probability and the attribute probability, a plurality of the second attribute information regarding each of the users included in the second user group and a plurality of the first attribute information regarding each of the users included in the third user group. and generating
From an identification function that identifies whether generated information is included in the first attribute information and second attribute information of each user included in the first user group, the second user group, and the third user group A determined identification evaluation function, the generated first attribute information or the second attribute information, and the first attribute information of each user included in the first user group, the second user group, and the third user group or updating the discriminant function, the membership probabilities, and the attribute probabilities using a generative adversarial network, based on a generated evaluation function that evaluates the error of the second attribute information;
Based on the updated affiliation probability and the attribute probability, a plurality of the second attribute information regarding each of the users included in the second user group and a plurality of the second attribute information regarding each of the users included in the third user group. 1 attribute information;
Information processing method that performs
(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得する機能と、
前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する機能と、
前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、
前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する機能と、
更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、
を実現させるプログラム。 to the computer,
(1) A user identifier for specifying each user included in the first user group, a plurality of first attribute information included in the first attribute category for each user, and a second attribute category for each user. (2) a user identifier for identifying each user included in the second user group; and a plurality of items included in the first attribute category for each user (3) a user identifier for identifying each user included in the third user group, and a plurality of second attributes included in the second attribute category for each user a function of acquiring third user group information including only two attribute information;
A belonging probability indicating a probability that each user included in the first user group belongs to each of a plurality of clusters, and an attribute probability indicating a realization probability of each of the first attribute information and the second attribute information in each cluster. and the ability to set
Based on the belonging probability and the attribute probability, a plurality of the second attribute information regarding each of the users included in the second user group and a plurality of the first attribute information regarding each of the users included in the third user group. , and a function that generates
From an identification function that identifies whether generated information is included in the first attribute information and second attribute information of each user included in the first user group, the second user group, and the third user group A determined identification evaluation function, the generated first attribute information or the second attribute information, and the first attribute information of each user included in the first user group, the second user group, and the third user group or a function of updating the discriminant function, the belonging probability, and the attribute probability using a generative adversarial network, based on a generated evaluation function that evaluates the error of the second attribute information;
Based on the updated affiliation probability and the attribute probability, a plurality of the second attribute information regarding each of the users included in the second user group and a plurality of the second attribute information regarding each of the users included in the third user group. 1 attribute information;
program to realize
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020141065A JP7309673B2 (en) | 2020-08-24 | 2020-08-24 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020141065A JP7309673B2 (en) | 2020-08-24 | 2020-08-24 | Information processing device, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022036713A JP2022036713A (en) | 2022-03-08 |
JP7309673B2 true JP7309673B2 (en) | 2023-07-18 |
Family
ID=80493588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020141065A Active JP7309673B2 (en) | 2020-08-24 | 2020-08-24 | Information processing device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7309673B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014219785A (en) | 2013-05-07 | 2014-11-20 | カルチュア・コンビニエンス・クラブ株式会社 | Market research and analysis system |
JP2016031678A (en) | 2014-07-29 | 2016-03-07 | 日本電信電話株式会社 | Cluster extraction device, method, and program |
JP2017102710A (en) | 2015-12-02 | 2017-06-08 | 日本電信電話株式会社 | Data analysis device, data analysis method, and data analysis processing program |
JP2019175419A (en) | 2018-09-26 | 2019-10-10 | 株式会社博報堂Dyホールディングス | Data providing system, data providing method, and computer program |
-
2020
- 2020-08-24 JP JP2020141065A patent/JP7309673B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014219785A (en) | 2013-05-07 | 2014-11-20 | カルチュア・コンビニエンス・クラブ株式会社 | Market research and analysis system |
JP2016031678A (en) | 2014-07-29 | 2016-03-07 | 日本電信電話株式会社 | Cluster extraction device, method, and program |
JP2017102710A (en) | 2015-12-02 | 2017-06-08 | 日本電信電話株式会社 | Data analysis device, data analysis method, and data analysis processing program |
JP2019175419A (en) | 2018-09-26 | 2019-10-10 | 株式会社博報堂Dyホールディングス | Data providing system, data providing method, and computer program |
Also Published As
Publication number | Publication date |
---|---|
JP2022036713A (en) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11995702B2 (en) | Item recommendations using convolutions on weighted graphs | |
CN109902708B (en) | Recommendation model training method and related device | |
TWI631518B (en) | Computer server system having one or more computing devices and computer-implemented method of training and event classifier model | |
Jacobs et al. | Model-based purchase predictions for large assortments | |
JP6414363B2 (en) | Prediction system, method and program | |
CA3134043A1 (en) | Systems and methods for model fairness | |
CN110462607B (en) | Identifying reason codes from gradient boosters | |
JP6311851B2 (en) | Co-clustering system, method and program | |
US8768866B2 (en) | Computer-implemented systems and methods for forecasting and estimation using grid regression | |
Wang et al. | An improved consensus-based model for large group decision making problems considering experts with linguistic weighted information | |
CN112115358A (en) | Personalized recommendation method using multi-hop path features in knowledge graph | |
WO2018088277A1 (en) | Prediction model generation system, method, and program | |
CN110019563B (en) | Portrait modeling method and device based on multi-dimensional data | |
WO2018078761A1 (en) | Clustering system, method, program, and recommendation system | |
CN112560105B (en) | Joint modeling method and device for protecting multi-party data privacy | |
Bauckhage et al. | Kernel archetypal analysis for clustering web search frequency time series | |
US10313457B2 (en) | Collaborative filtering in directed graph | |
JP7309673B2 (en) | Information processing device, information processing method, and program | |
JP6558765B2 (en) | Processing device, processing method, estimation device, estimation method, and program | |
JPWO2018088276A1 (en) | Prediction model generation system, method and program | |
JP2019021210A (en) | Specification device and specification method | |
Sharma | Identifying Factors Contributing to Lead Conversion Using Machine Learning to Gain Business Insights | |
CN111931035A (en) | Service recommendation method, device and equipment | |
CN117009883B (en) | Object classification model construction method, object classification method, device and equipment | |
WO2023085165A1 (en) | Item recommendation device and item recommendation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220616 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230517 |
|
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: 20230704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230705 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7309673 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |