The present invention relates to an information processing apparatus, an information processing method, and a program thereof, and particularly to a technique for predicting a user attribute.
It is effective to estimate user attributes (features) in order to recommend appropriate services to users and develop businesses related to users. JP 2016-162399A discloses a technique for estimating an attribute of a user of a mobile terminal based on relationship information between a user of another mobile terminal (proximal terminal) and the user of the mobile terminal, which is included in the attribute information of the user of the other mobile terminal (proximal terminal).
In the technique disclosed in JP 2016-162399A, the attribute of one of a pair of users is estimated based on the relationship information of the pair of users, but the relationship information of the pair is only local information, and thus it has not been possible to sufficiently improve the accuracy of user attribute estimation.
The present invention has been made in view of the above problem, and an object thereof is to provide a technique for estimating an attribute of a user based on comprehensive relationships between the user and a plurality of other users.
In order to solve the above problem, one aspect of the information processing apparatus according to the present invention includes: an acquisition unit configured to acquire factual features of each of a plurality of users as user features; a creation unit configured to create a relationship graph indicating a social relationship between the plurality of users based on the user features; a target user setting unit configured to set a target user among the plurality of users; a related user setting unit configured to set, as a related user, at least one user related to the target user among the plurality of users, based on the relationship graph; and an estimation unit configured to estimate an attribute of the target user based on the user feature of the target user and the user feature of the related user.
The estimation unit may estimate the attribute of the target user based on a machine learning model configured to receive the user feature of the target user and the user feature of the related user as input and output the attribute of the target user.
In the relationship graph, each user may be indicated by a user node, and the creation unit may connect nodes with links based on the factual features.
The creation unit may connect a pair of user nodes having the same factual feature with an explicit link, and connect, with an implicit link, a pair of nodes that are not connected with the explicit link, based on a plurality of pairs of user nodes that are connected with the explicit links.
The creation unit may determine a closeness of the connected pair based on at least one factual feature shared by the pair.
In the relationship graph, the related user setting unit may set, as the related user, at least one user corresponding to at least one user node whose closeness with the user node corresponding to the target user is greater than a predetermined threshold.
The user feature may include demographic information of a user, and information relating to use of a web service of a user.
In order to solve the above problem, one aspect of the information processing method according to the present invention includes: acquiring factual features of each of a plurality of users as user features; creating a relationship graph indicating a social relationship between the plurality of users based on the user features; setting a target user among the plurality of users; setting, as a related user, at least one user related to the target user among the plurality of users, based on the relationship graph; and estimating an attribute of the target user based on the user feature of the target user and the user feature of the related user.
In order to solve the above problem, one aspect of the program according to the present invention is an information processing program for causing a computer to execute information processing, the program causing the computer to execute: acquisition processing for acquiring factual features of each of a plurality of users as user features; creation processing for creating a relationship graph indicating a social relationship between the plurality of users based on the user features; target user setting processing for setting a target user among the plurality of users; related user setting processing for setting, as a related user, at least one user related to the target user among the plurality of users, based on the relationship graph; and estimation processing for estimating an attribute of the target user based on the user feature of the target user and the user feature of the related user.
According to this invention, it is possible to accurately estimate an attribute of a user.
The objects, aspects, and effects of the present invention described above and objects, aspects and effects of the present invention not described above can be understood by a person skilled in the art based on the following modes for carrying out the invention by referring to the accompanying drawings and the description of the claims.
Hereinafter, an embodiment for implementing the present invention will be described in detail with reference to the accompanying drawings. Constituent elements disclosed hereinafter that have the same function as each other are denoted by identical reference signs, and description thereof is omitted. Note that the embodiment disclosed hereinafter is an example serving as a means of realizing the present invention, the embodiment is to be amended or modified as appropriate according to the configuration of the apparatus to which the present invention is applied and various conditions, and the present invention is not limited to the following embodiment. Also, not all combinations of features described in the present embodiment are essential for the solving means of the present invention.
Functional Configuration of Information Processing Apparatus
The user apparatus 11 is, for example, an apparatus such as a smartphone or a tablet, and can communicate with the information processing apparatus 10 via a public network such as LTE (Long Term Evolution) or a wireless communication network such as a wireless LAN (Local Area Network). The user apparatus 11 has a display unit (display screen) such as a liquid crystal display, and each user can perform various operations through a GUI (Graphic User Interface) installed in the liquid crystal display. The operations include various operations performed with a finger or a stylus on content such as images displayed on the screen, such as a tap operation, a slide operation, or a scroll operation.
Note that the user apparatus 11 is not limited to an apparatus of the form shown in
The user apparatus 11 can use a service by logging into a web service (Internet-related service) provided via the information processing apparatus 10, from the information processing apparatus 10 or another apparatus (not shown). The web service can include an online mall, an online supermarket, or a service relating to communication, finance, real estate, sports, or travel, which are provided via the Internet. The user apparatus 11 can transmit information relating to the user of the user apparatus 11 to the information processing apparatus 10 by using such a web service.
For example, the user apparatus 11 can transmit information relating to the user apparatus or the user, such as the IP (Internet Protocol) address of the user apparatus 11, the address of the user, or the name of the user, to the information processing apparatus 10.
Also, the user apparatus 11 can perform positioning calculation based on signals or the like received from GPS (Global Positioning System) satellites (not shown), generate information obtained through the calculation as position information of the user apparatus 11, and transmit the generated information to the information processing apparatus 10.
The information processing apparatus 10 acquires various types of information from the user apparatus 11, and based on the information, creates a relationship graph network (hereinafter referred to as a relationship graph) showing social relationships between users. Then, the information processing apparatus 10 estimates an attribute of a target user using the created relationship graph.
Functional Configuration of Information Processing Apparatus 10
The information processing apparatus 10 according to the present embodiment first acquires various types of information from the user apparatuses 11-1 to 11-N and creates a relationship graph showing social relationships between the users 1 to N. Then, the information processing apparatus 10 specifies a target user among the users 1 to N, and acquires information on the target user and information on a user related to the target user based on the created relationship graph. The information processing apparatus 10 estimates an attribute of the target user by applying the acquired information to a trained machine learning model.
The information processing apparatus 10 shown in
The user feature acquisition unit 101 acquires factual features (factual information) (hereinafter referred to as user features) about the user apparatuses or the users from each of the user apparatuses 11-1 to 11-N. The user features are features (information) based on facts actually or objectively acquired from the user apparatuses or the users. For example, the user feature acquisition unit 101 can directly acquire the user features from the user apparatuses 11. Also, the user feature acquisition unit 101 can acquire the user features as information registered with a predetermined web service by the users of the user apparatuses 11.
The user features include IP addresses of the user apparatuses, the addresses of the users or the names of the users, the numbers of credit cards possessed by the users, demographic information of the users (demographic user attributes such as sex, age, residential area, occupation, and family composition), position information of the user apparatuses, and the like. Also, the user features may include registration numbers and registration names used when using a predetermined web service. Also, the user features may include information relating to a call history, a delivery address other than the address of the user for a product at the time of using the predetermined web service, a use status during use of the predetermined web service, a use history, a search history, and points that can be accumulated through use of a service. Thus, the user features can include any information, including information relating to the user apparatus or the user, and information relating to use of a predetermined service through communication.
The user feature acquisition unit 101 stores the acquired user features in the user feature storage unit 120 as the user features 121.
The graph creation unit 102 uses the various user features acquired by the user feature acquisition unit 101 to create a relationship graph. The relationship graph will be described later.
The target user feature setting unit 103 performs setting of a user (hereinafter referred to as a target user) whose attribute is to be estimated. The target user may be set by an operator through an input operation performed using an input unit (input unit 95 in
The related user feature setting unit 104 determines at least one other user associated with the target user set by the target user feature setting unit 103 as a related user, based on the relationship graph created by graph creation unit 102. In this embodiment, the related user feature setting unit 104 determines at least one other user having a high closeness score (described later) with the target user (for example, higher than a predetermined threshold) as a related user. Furthermore, the related user feature setting unit 104 acquires the user feature of the related user from the user features 121 and sets the acquired user feature in the attribute estimation unit 105.
The attribute estimation unit 105 estimates (predicts) an attribute of the target user based on the user feature of the target user set by the target user feature setting unit 10 and the user feature of the related user set by the related user feature setting unit 104. In this embodiment, the attribute prediction model 111 that has been trained by the training unit 106 is used to estimate the attribute of the target user. The processing for estimating the attribute of the target user will be described later.
The training unit 106 trains the attribute prediction model 111 and the score prediction model 112 and stores the trained attribute prediction model 111 and score prediction model 112 in the learning model storage unit 110. Processing for training each learning model will be described later.
The output unit 107 outputs the result (estimation result) of the attribute of the target user estimated by the attribute estimation unit 105. The output unit 107 may also generate and output information relating to the estimated attribute of the target user. The output can be any output processing, and may be output to an external apparatus via the communication I/F (the communication I/F 97 in
Procedure for Creating Relationship Graph
Next, a procedure for creating a relationship graph according to this embodiment will be described. Note that users A to E in the following description are users referred to for the description, and can be users of the user apparatuses 11. Also, the relationship graph is constituted by connections of user nodes circled in
Step S31: Link Creation
In step S31, the graph creation unit 102 predicts and creates links between a plurality of users.
The processing for creating links will be described with reference to
The online mall 41 is a shopping mall that is available online (using the Internet). For example, the online mall 41 can provide a wide variety of products and services such as fashion, books, food, concert tickets, and real estate.
The golf course reservation service 42 is operated by a website that provides a service relating to a golf course online, and for example, can provide a search for golf courses, reservations, and lesson information.
The travel-related reservation service 43 is operated by a website that provides various travel services that are available online. The travel-related reservation service 43 can, for example, provide reservations for hotels and travel tours, reservations for airline tickets and rental cars, sightseeing information, hotels, and information on surrounding areas of hotels.
The card management system 44 is operated by a website that provides a service related to a credit card issued and managed by a predetermined card management company. The card management system 44 may also provide a service relating to at least one of the online mall 41, the golf course reservation service 42, and the travel-related reservation service 43.
In the example of
In such a case, the graph creation unit 102 creates explicit links between the users A to C (e.g., a link L1 between the user A and the user C) with the feature of having the same IP address, as shown in a link state 45.
In such a case, the graph creation unit 102 creates explicit links between the users A to C (for example, a link L1 between the user A and the user C) with the feature of having the same address, as shown in a link state 46.
In such a case, the graph creation unit 102 creates explicit links between the users A to C (for example, a link L1 between the user A and the user C) with the feature of having the same card, as shown in a link state 47.
Step S32: Inferring Relationships Between Links
In step S32, the graph creation unit 102 infers relationships between the links predicted and created in step S31. The processing for inferring relationships between links will be described with reference to
The graph creation unit 102 treats the pair of users connected by the link created in step S31 as a data point and groups the pair (the data point) into a cluster representing a common type, using various types of information acquired by the user feature acquisition unit 101. The various types of information can be information such as an IP address, an address, a credit card, an age, a sex, or a friend. Also, each cluster can be a cluster having a relationship such as spouses, a parent and child, neighbors, people sharing the same household, co-workers, friends, siblings of the same sex, or siblings of different sexes. In the example of
For example, if the user A and the user B have (share) features 50 of having the same surname, having an age difference of 10 years or less, being of opposite sexes, and having the same address, the graph creation unit 102 can group the pair of the user A and the user B into the cluster indicating the relationship of husband and wife (spouses).
At the start of step S51, it is assumed that the pair to be grouped has the features of having the same address and the same surname. In step S52, the graph creation unit 102 determines whether or not the target pair has the feature of being of the same sex. If the target pair has the feature of being of the same sex (Yes in step S52), the graph creation unit 102 determines in step S53 whether or not the age difference of the target pair is a predetermined threshold value (=X value) or less. If the age difference of the target pair is greater than the X value (No in step S53), the graph creation unit 102 groups the target pair into the parent-child cluster 51. If the age difference is the X value or less (Yes in step S53), the graph creation unit 102 groups the target pair into the same-sex siblings cluster 53. If the target pair does not have the feature of being of the same sex (No in step S52), the graph creation unit 102 determines in step S54 whether or not the age difference of the target pair is a predetermined threshold value (=Y value) or less. If the age difference is greater than the Y value (No in step S54), the graph creation unit 102 groups the target pair into the parent-child cluster 51. If the age difference is the Y value or less (Yes in step S54), the graph creation unit 102 groups the target pair into the spouse cluster 52.
Step S33: Score Assignment Based on Closeness of Relationship
In step S33, the graph creation unit 102 estimates a score based on the closeness of the relationship for the pair inferred in step S32, and assigns the score to the pair. In this embodiment, the score is a numeric value between 0 and 1, but there is no particular limitation on the numeric value that the score can take.
In the example of
In this embodiment, a score prediction model 112 is used to predict the closeness score for a user pair. Schematic architecture of the score prediction model 112 is shown in
The score prediction model 112 is, for example, a learning model that performs weak supervised learning, such as a learning model using a convolutional neural network (CNN). In the present embodiment, the score prediction model 112 is a learning model that is trained using closeness scores (0 to 1) attached to a plurality of features for user pairs as training data, as shown in
It should be noted that, in the present embodiment, although the closeness score for a user pair is predicted using the score prediction model 112, the graph creation unit 102 may also be configured to predict the score using another method.
Through the above processing, explicit links or implicit links are formed between a plurality of users, closeness scores are assigned for each link, and a relationship graph is created.
User Attribute Estimation Processing
Next, user attribute estimation processing according to the present embodiment will be described. In this embodiment, the attribute estimation unit 105 uses the trained attribute prediction model 111 to estimate the user attribute of the target user.
In the training stage, the training unit 106 uses, as training data, a combination of a user feature and a user attribute (correct data (label)) linked to the user feature or estimated in the past to train the attribute prediction model 111. Here, the type of relationship may also be added to the user features included in the combination.
In the present embodiment, the estimated user attribute represents, for example, an attribute related to consumption behavior, such as behavior patterns of the user on a certain day, hobbies and preferences, types of services frequently used and items purchased, lifestyle, and family role. Also, the estimated user attribute may represent, for example, an attribute related to financial assets or economic situation of the user. Also, the estimated user attribute may be a demographic attribute, a psychographic attribute, a geographic attribute, or a behavioral attribute. Note that the demographic attribute in this context refers to information that is not included in the demographic information.
In the estimation stage, the attribute estimation unit 105 inputs the user features of the target user and the user features of the user related to the target user identified based on the created relationship graph into the attribute prediction model 111, and estimates the attribute of the target user. In this embodiment, as shown in
In
Also, the user features of the related user may be weighted and used. For example, user features of a user with a high closeness score may be given a high weight and input to the attribute prediction model 111, and user features of a user with a low closeness score may be given a low weight and input to the attribute prediction model 111.
Hardware Configuration of Information Processing Apparatus 10
The information processing apparatus 10 according to the present embodiment can be implemented also on any one or more computers, mobile apparatuses, or other processing platforms.
With reference to
As shown in
The CPU (Central Processing Unit) 91 performs overall control of operations in the information processing apparatus 10, and controls each constituent unit (92 to 97) via the system bus 98, which is a data transmission path.
The ROM (Read Only Memory) 92 is a non-volatile memory that stores control programs and the like needed for the CPU 91 to execute processing. Note that the program may also be stored in a non-volatile memory such as the HDD (Hard Disk Drive) 94 or an SSD (Solid State Drive), or an external memory such as a detachable storage medium (not shown).
The RAM (Random Access Memory) 93 is a volatile memory and functions as a main memory, a work area, and the like of the CPU 91. That is, during execution of processing, the CPU 91 executes various functional operations by loading necessary programs and the like from the ROM 92 to the RAM 93, and executing the programs and the like. The learning model storage unit 110 and the user feature storage unit 120 shown in
The HDD 94 stores various types of data, various types of information, and the like that are needed when the CPU 91 performs processing using a program. Also, the HDD 94 stores various types of data, various types of information, and the like obtained by the CPU 91 performing processing using a program or the like.
The input unit 95 is constituted by a keyboard or a pointing apparatus such as a mouse.
The display unit 96 is constituted by a monitor such as a liquid crystal display (LCD). The display unit 86 may also function as a GUI (Graphical User Interface) due to being included in combination with the input unit 95.
The communication I/F 97 is an interface that controls communication between the information processing apparatus 10 and an external apparatus.
The communication I/F 97 provides an interface with a network and executes communication with an external apparatus via the network. Various types of data, various types of parameters, and the like are transmitted and received to and from the external apparatus via the communication I/F 97. In this embodiment, the communication I/F 97 may execute communication via a wired LAN (Local Area Network) or a dedicated line conforming to a communication standard such as Ethernet (registered trademark). However, the network that can be used in this embodiment is not limited thereto, and may also be constituted by a wireless network. This wireless network includes a wireless PAN (Personal Area Network) such as Bluetooth (registered trademark), ZigBee (registered trademark), and UWB (Ultra Wide Band). This wireless network also includes a wireless LAN (Local Area Network) such as Wi-Fi (Wireless Fidelity) (registered trademark) and a wireless MAN (Metropolitan Area Network) such as WiMAX (registered trademark). Furthermore, the wireless network includes a wireless WAN (Wide Area Network) such as LTE/3G, 4G, and 5G. Note that it is sufficient that the network connects the apparatuses such that communication is possible therebetween and is capable of communication, and the standard, scale, and configuration of communication is not limited to the above.
The function of at least some of the elements of the information processing apparatus 10 shown in
Hardware Configuration of User Apparatus 11
The hardware configuration of the user apparatus 11 shown in
Flow of Processing
In step S101, the user feature acquisition unit 101 acquires the user features of the users from the user apparatuses 11-1 to 11-N and stores the acquired user features in the user feature storage unit 120 as the user features 121. The processing of step S101 may also be processing for acquiring (collecting) user features of a predetermined past period.
In step S102, the graph creation unit 102 uses the various user features acquired by the user feature acquisition unit 101 to create a relationship graph for the users 1 to N. The procedure for creating the relationship graph is as described above.
In step S103, the target user feature setting unit 103 sets a user (target user) whose attribute is to be estimated from among the users 1 to N. As described above, the target user may be set by the operator through an input operation performed using the input unit 95, may be set in the system in advance, or may be set by any program stored in the ROM 92 or the RAM 93. Furthermore, in step S103, the target user feature setting unit 103 acquires the user features of the target user from the user features 121 and sets the acquired user features in the attribute estimation unit 105.
In step S104, the related user feature setting unit 104 determines, as a related user, at least one other user having a high closeness score (described later) with the target user based on the relationship graph created by the graph creation unit 102. Furthermore, the related user feature setting unit 104 acquires the user features of the related user from the user features 121 and sets the acquired user features in the attribute estimation unit 105.
In step S105, the attribute estimation unit 105 inputs the user features of the target user and the user features of the related user set in steps S103 and S104 to the attribute prediction model 111, and estimates the attribute of the target user.
In step S106, the output unit 107 outputs the result (estimation result) of the attribute of the target user estimated in step S105. The output unit 107 may also generate information relating to the estimated attribute of the target user and output the information to an external apparatus (not shown).
In this manner, the information processing apparatus 10 creates a relationship graph network (relationship graph) indicating social relationships between users from the user features of a plurality of users, and based on the relationship graph, estimates an attribute of the target user. This makes it possible to, for example, develop marketing using user attributes.
For example, if the related user determined based on the relationship graph is associated with the attribute of having a pet due to a pet food purchase history, the attribute of having a pet is similarly estimated for the target user associated with the related user as a spouse. In such a case, presenting all pet-related advertisements to the target user may improve the effectiveness of advertisement.
It should be noted that although a specific embodiment has been described above, the embodiment is merely an example, and is not intended to limit the scope of the present invention. The apparatuses and methods described in the present specification can be embodied in forms other than those described above. Also, the above-described embodiment can be subjected to omission, replacement, and modification as appropriate without departing from the scope of the present invention. Modes obtained through such omission, replacement, and modification are encompassed in the description of the claims and the range of equivalency thereto, and belong to the technical scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2022-053169 | Mar 2022 | JP | national |