Recommendation device

The recommendation device addresses the issue of differing user behaviors in real and virtual spaces by constructing graphs to connect user nodes, ensuring personalized item recommendations align with both environments, thereby improving the customer experience.

WO2025191641A1PCT designated stage Publication Date: 2025-09-18NTT DOCOMO INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/009308
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-11
Publication Date
2025-09-18

AI Technical Summary

Technical Problem

Existing recommendation systems fail to account for the differences in user behavior between real and virtual spaces, leading to an undesirable customer experience when recommending items to users active in both environments.

Method used

A recommendation device that constructs and analyzes graphs in a vector space to connect user nodes representing real and virtual space activities, determining item recommendations based on the weight of connections between these nodes.

Benefits of technology

Enables personalized item recommendations that align with the user's characteristics in both real and virtual spaces, enhancing the customer experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024009308_18092025_PF_FP_ABST
    Figure JP2024009308_18092025_PF_FP_ABST
Patent Text Reader

Abstract

This recommendation device includes: a first determination unit that determines a first graph including a first user node indicating a user active in a real space, one or more first item nodes corresponding to items used by the user in the real space, and one or more first edges connecting the first user node and the one or more first item nodes; a second determination unit that determines a second graph including a second user node indicating an avatar acting in place of the user in a virtual space, one or more second item nodes corresponding to items used by the avatar in the virtual space, and one or more second edges connecting the second user node and the one or more second item nodes; a third determination unit that determines a third edge indicating a weight related to the degree of connection between the first user node and the second user node; and a recommendation unit that recommends at least one second item or at least one first item to the user or the avatar in accordance with the weight of the third edge.
Need to check novelty before this filing date? Find Prior Art

Description

Recommendation device

[0001] The present invention relates to a recommendation device.

[0002] When a user is active in both real space and virtual space, for example, items may be recommended to the user in the virtual space based on the user's activities in the real space.

[0003] For example, Patent Document 1 discloses an information processing system that acquires a user's activity history in real space and, based on the acquired activity history, recommends to the user certain items in a virtual space where the user interacts with other users via an avatar.

[0004] Patent No. 735143

[0005] However, a user who is active in both real space and virtual space may use different characters and behave differently in the real space and virtual space. When recommending items to a user in each of the real space and virtual space, it is necessary to take into consideration the differences between the user's characters in the real space and the virtual space, otherwise the customer experience will be undesirable.

[0006] The present disclosure aims to provide a recommendation device that recommends items to a user who is active in both real space and virtual space, based on characters in both real space and virtual space.

[0007] The recommendation device according to the present disclosure includes a first determination unit that determines a first graph in a vector space including a first user node representing a user who is active in a real space, one or more first item nodes that correspond one-to-one to one or more first items used by the user in the real space, and one or more first edges that connect the first user node to the one or more first item nodes, a second user node representing an avatar that acts on behalf of the user in a virtual space, and one or more second item nodes that correspond one-to-one to one or more second items used by the avatar in the virtual space. a second determination unit that determines a second graph in the vector space including a node and one or more second edges that connect the second user node to the one or more second item nodes; a third determination unit that determines a third edge that connects the first user node to the second user node and a weight related to the degree of connection of the third edge; and a recommendation unit that recommends at least one second item of the one or more second items or at least one first item of the one or more first items to the user or the avatar according to the weight of the third edge.

[0008] According to the present disclosure, items can be recommended to a user who is active in both real space and virtual space based on characters in both real space and virtual space.

[0009] A diagram showing an example of the overall configuration of a recommendation system 1. A block diagram showing an example of the configuration of a supplying server 20. A block diagram showing an example of the configuration of a terminal device 50[k]. A diagram showing an example of the configuration of a first history database HDB1. A diagram showing an example of the configuration of a second history database HDB2. A diagram showing an example of the configuration of a third history database HDB3. A block diagram showing an example of the configuration of a recommendation device 10. A diagram showing an example of the configuration of a user database UDB. A diagram showing an example of the configuration of a real space database RDB. A diagram showing an example of the configuration of a first virtual space database VDB1. A diagram showing an example of the configuration of a second virtual space database VDB2. A diagram showing an example of a first graph FG. A diagram showing an example of a second graph SG. A diagram showing an example of a third graph TG1. A diagram showing an example of a third graph TG2. A flowchart showing the operation of the recommendation device 10.

[0010] As described above, it is conceivable that a user active in both real space and virtual space may use different characters and behave differently in the real space and virtual space. In such cases, a recommendation device that recommends items to a user must take into consideration the user's characters in both the real space and the virtual space in order to provide an undesirable customer experience for the user. Specifically, the recommendation device may recommend to a user active in virtual space an item that is appropriate for the user's character active in real space but is inappropriate for the user's character active in virtual space. Similarly, the recommendation device may recommend to a user active in real space an item that is appropriate for the user's character active in virtual space but is inappropriate for the user's character active in real space.

[0011] Therefore, the recommendation device 10 according to the present disclosure determines a first graph FG in a vector space including a first user node FUN indicating a user U active in the real space RS, one or more first item nodes FIN corresponding one-to-one to one or more first items FI used by the user U in the real space RS, and one or more first edges FEG connecting the first user node FUN and the one or more first item nodes FIN, as described below. Furthermore, the recommendation device 10 determines a second graph SG in a vector space including a second user node SUN indicating an avatar A active on behalf of the user U in the virtual space VS, one or more second item nodes SIN corresponding one-to-one to one or more second items SI used by the avatar A in the virtual space VS, and one or more second edges SEG connecting the second user node SUN and the one or more second item nodes SIN, as described below. Then, the recommendation device 10 recommends at least one first item FI or at least one second item SI to a user U active in the real space RS or an avatar A active in the virtual space VS, depending on the weight related to the degree of connection of the third edge connecting the first user node FUN and the second user node SUN.

[0012] 1: First Embodiment 1-1: Configuration of First Embodiment 1-1-1: Overall Configuration Fig. 1 is a diagram showing an example of the overall configuration of a recommendation system 1 according to this embodiment. The recommendation system 1 includes a recommendation device 10, a providing server 20, and terminal devices 50[1] to 50[n]. The recommendation device 10, the providing server 20, and terminal devices 50[1] to 50[n] are connected to each other via a communication network NET so as to be able to communicate with each other.

[0013] Terminal device 50[1] to terminal device 50[n] correspond one-to-one to user U[1] to user U[n]. Each of users U[1] to U[n] uses terminal device 50[1] to terminal device 50[n], respectively. n is a natural number equal to or greater than 1. Furthermore, user U[k] uses terminal device 50[k]. k is a natural number equal to or greater than 1 and equal to or less than n. Below, terminal device 50[k] may be described as a representative example of terminal device 50[1] to terminal device 50[n].

[0014] The user U[k] engages in activities in the real space RS by using the terminal device 50[k]. Specifically, the user U[k] visits various sites in the real space RS, for example, using a browser installed on the terminal device 50[k]. The user U[k] also uses, for example, an application installed on the terminal device 50[k] in the real space RS.

[0015] Furthermore, user U[k] uses terminal device 50[k] to act in virtual space VS. Specifically, by using terminal device 50[k], user U[k] causes avatar A[k] corresponding to user U[k] to act on behalf of user U[k] in the virtual space service provided by provisioning server 20. Avatar A[k] uses content in virtual space VS. Furthermore, user U[k] owns and uses an NFT (Non-Fungible Token) as avatar A[k] in virtual space VS.

[0016] The terminal device 50[k] may be a personal computer (PC), a smartphone, or a tablet.

[0017] The provisioning server 20 provides a virtual space service to the terminal devices 50[1] to 50[n]. The virtual space service provides a virtual space VS in which avatars A[1] to A[n], which correspond one-to-one with the users U[1] to U[n], are active. One or more virtual objects VO are also placed in the virtual space VS. The one or more virtual objects VO are objects that provide one or more pieces of content to be used by the avatars A[1] to A[n].

[0018] As described above, the recommendation device 10 recommends items to each of the users U[1] to U[n] or the avatars A[1] to A[n]. The item may be, for example, a site that the user U[k] visits using a browser installed on the terminal device 50[k] in the real space RS. Alternatively, the item may be, for example, an application installed on the terminal device 50[k] that the user U[k] uses in the real space RS. Alternatively, the item may be, for example, content that the avatar A[k] uses in the virtual space VS. Alternatively, the item may be, for example, an NFT that the user U[k] owns and uses as the avatar A[k] in the virtual space VS.

[0019] 1, the recommendation system 1 includes one supply server 20, but the number of supply servers 20 may be any number. The recommendation system 1 also includes n terminal devices 50[1] to 50[n]. However, the number of terminal devices 50 may be any number.

[0020] 2 is a block diagram showing an example of the configuration of the provisioning server 20. The provisioning server 20 includes a processing device 21, a storage device 22, an input device 23, and a communication device 24. The elements of the provisioning server 20 are connected to each other by one or more buses for communicating information.

[0021] The processing device 21 is a processor that controls the entire supplying server 20. The processing device 21 is configured using, for example, one or more chips. The processing device 21 is configured using, for example, a central processing unit (CPU) that includes an interface with peripheral devices, an arithmetic unit, and registers. Some or all of the functions of the processing device 21 may be realized by hardware such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). The processing device 21 executes various processes in parallel or sequentially.

[0022] The storage device 22 is a recording medium that can be read and written by the processing device 21. The storage device 22 also stores a plurality of programs including a control program PR2 that the processing device 21 executes.

[0023] The input device 23 is a device that receives operations from the administrator of the supplying server 20. For example, the input device 23 includes a keyboard, a touchpad, a touch panel, or a pointing device such as a mouse.

[0024] The communication device 24 is hardware serving as a transmitting / receiving device for communicating with other devices. The communication device 24 is also referred to as, for example, a network device, a network controller, a network card, or a communication module. The communication device 24 may include a connector for wired connection and an interface circuit corresponding to the connector. The communication device 24 may also include a wireless communication interface. Examples of the connector and interface circuit for wired connection include products that comply with wired LAN, IEEE 1394, and USB. Examples of the wireless communication interface include products that comply with wireless LAN, Bluetooth (registered trademark), etc.

[0025] The processing device 21 functions as a communication control unit 211, a generation unit 212, and an acquisition unit 213, for example, by reading and executing a control program PR2 from the storage device 22.

[0026] The communication control unit 211 causes the communication device 24 to transmit and receive various information between the recommendation device 10 and the terminal devices 50[1] to 50[n].

[0027] The generation unit 212 generates image information representing avatar A[1] to avatar A[n] and image information representing one or more virtual objects VO. This image information is transmitted to terminal device 50[1] to terminal device 50[n] via communication device 24. Terminal device 50[1] to terminal device 50[n] use this image information to display avatar A[1] to avatar A[n] and one or more virtual objects VO on a display 53, which will be described later.

[0028] The acquisition unit 213 acquires information indicating the operation details of users U[1] to U[n] with respect to avatars A[1] to A[n] and one or more virtual objects VO from each of terminal devices 50[1] to 50[n] via the communication device 24. For example, user U[k] inputs operation details indicating the actions of avatar A[k] with respect to one or more virtual objects VO from terminal device 50[k]. As a result, avatar A[k], which replaces user U[k], can use content provided by one or more virtual objects VO.

[0029] 1-1-3: Configuration of Terminal Device Fig. 3 is a block diagram showing an example configuration of terminal device 50[k]. Note that, among terminal devices 50[1] to 50[n], the configurations of terminal devices 50[1] to 50[n] other than terminal device 50[k] may also be the same as that shown in Fig. 3.

[0030] The terminal device 50[k] includes a processing device 51, a storage device 52, a display 53, an input device 54, a speaker 55, and a communication device 56. The elements of the terminal device 50[k] are connected to each other by one or more buses for communicating information.

[0031] The processing device 51 is a processor that controls the entire terminal device 50[k]. The processing device 51 is configured, for example, using one or more chips. The processing device 51 is configured, for example, using a central processing unit (CPU) that includes an interface with peripheral devices, an arithmetic unit, and registers. Some or all of the functions of the processing device 51 may be realized by hardware such as a DSP, ASIC, PLD, and FPGA. The processing device 51 executes various processes in parallel or sequentially.

[0032] The storage device 52 is a recording medium that can be read from and written to by the processing device 51. The storage device 52 also stores a plurality of programs including a control program PR5 executed by the processing device 51. The storage device 52 also stores a first history database HDB1, a second history database HDB2, and a third history database HDB3.

[0033] FIG. 4 is a diagram showing an example of the configuration of the first history database HDB1. The first history database HDB1 stores first history data HD1. The first history data HD1 is data indicating sites visited by user U[k] in the real space RS or applications used in the real space RS. The first history data HD1 includes data indicating the date and time, visited site addresses, site types, used applications, and application types. The "date and time" is the date and time when user U[k] visited a site indicated by the "visited site address" in the real space RS, or the date and time when user U[k] used an application indicated by the "used application" in the real space RS. The "visited site address" is the address of a site visited by user U[k]. The "site type" is the type of site visited by user U[k]. The "site type" is obtained, for example, from keywords written using meta tags in the source code of a site visited by user U[k]. "Used application" is the name of an application installed on terminal device 50[k] that was used by user U[k]. "Application type" is the type of application indicated by "Used application". The first history data HD1 is either a set of data indicating each of "date and time," "visited site address," and "site type," or a set of data indicating each of "date and time," "used application," and "application type."

[0034] 4, the first history database HDB1 stores, as one example, first history data HD1 indicating that a user U[k] visited a site with the address "http: / / www.AAA.co.jp" at 19:34 on November 24, 2023, and that the site is a travel-related site. Also, as another example, the first history database HDB1 stores, as another example, first history data HD1 indicating that a user U[k] used an application called CCC at 12:42 on November 27, 2023, and that the application is a fishing-related application.

[0035] FIG. 5 is a diagram showing an example of the configuration of the second history database HDB2. The second history database HDB2 stores second history data HD2. The second history data HD2 is data indicating content used by user U[k] as avatar A[k] in virtual space VS. The second history data HD2 includes data indicating the date and time of use, the content used, and the type of content. The "date and time of use" is the date and time when user U[k] used the content indicated by "used content" in virtual space VS as avatar A[k]. The "used content" is the name of the content used by user U[k] as avatar A[k]. The "content type" is the type of content used by user U[k] as avatar A[k].

[0036] In the example shown in Figure 5, the second history database HDB2 stores, as an example, second history data HD2 indicating that user U[k], as avatar A[k], used the content "PPP" at 20:12 on November 24, 2023, and that the content in question is content related to a picture book.

[0037] FIG. 6 is a diagram showing an example of the configuration of the third history database HDB3. The third history database HDB3 stores third history data HD3. The third history data HD3 is data indicating the NFTs owned and used by user U[k] in the virtual space VS. The third history data HD3 includes data indicating the purchase date and time, the sale date and time, and the NFT-ID. The "purchase date and time" is the date and time when user U[k], acting as avatar A[k], purchased the NFT indicated by the "NFT-ID." The "sale date and time" is the date and time when user U[k], acting as avatar A[k], sold the NFT indicated by the "NFT-ID." The "NFT-ID" is the identifier of the NFT purchased and sold by user U[k], acting as avatar A[k].

[0038] In the example shown in FIG. 6 , the third history database HDB3 stores, as an example, third history data HD3 indicating that user U[k], as avatar A[k], purchased an NFT called "KKK" at 1:24 PM on November 24, 2023. Note that the third history data HD3 has a blank sales date and time column. This blank indicates that user U[k] currently owns the NFT called "KKK." Furthermore, as another example, the third history database HDB3 stores third history data HD3 indicating that user U[k], as avatar A[k], purchased an NFT called "LLL" at 9:35 AM on November 25, 2023 and sold the NFT at 3:13 AM on December 2, 2023.

[0039] 3, the display 53 is a device that displays images and text information. The display 53 displays various images under the control of the processing device 51. For example, various display panels such as a liquid crystal panel and an organic EL panel are suitably used as the display 53.

[0040] The input device 54 is a device that accepts operations from the user U. For example, the input device 54 includes a keyboard, a touchpad, a touch panel, or a pointing device such as a mouse. Here, if the input device 54 includes a touch panel, it may also serve as the display 53.

[0041] The speaker 55 is a device that emits sound. The speaker 55 emits various sounds under the control of the processing device 51. For example, sound data, which is a digital signal, is converted into a sound signal, which is an analog signal, by a DA converter (not shown). The amplitude of the sound signal is amplified by an amplifier (not shown). The speaker 55 emits the sound represented by the sound signal after the amplitude has been amplified.

[0042] The communication device 56 is hardware serving as a transmitting / receiving device for communicating with other devices. The communication device 56 is also referred to as, for example, a network device, a network controller, a network card, or a communication module. The communication device 56 may include a connector for wired connection and an interface circuit corresponding to the connector. The communication device 56 may also include a wireless communication interface. Examples of the connector and interface circuit for wired connection include products that comply with wired LAN, IEEE 1394, and USB. Examples of the wireless communication interface include products that comply with wireless LAN, Bluetooth (registered trademark), etc.

[0043] The processing device 51 functions as a communication control unit 511, a display control unit 512, an audio control unit 513, and a management unit 514, for example, by reading and executing a control program PR5 from the storage device 52.

[0044] The communication control unit 511 causes the communication device 56 to transmit and receive various data between the recommendation device 10 and the provisioning server 20 .

[0045] The display control unit 512 uses a browser to display images showing sites visited by the user U[k] using the terminal device 50[k] on the display 53. The display control unit 512 also displays images used in applications used by the user U[k] on the display 53. The display control unit 512 also displays, based on data received from the providing server 20, an image showing a virtual space VS including avatars A[1] to A[n] and one or more virtual objects VO on the display 53.

[0046] The audio control unit 513 emits various sounds from the speaker 55. For example, the audio of a site visited by the user U[k] using the terminal device 50[k] is emitted from the speaker 55. The audio control unit 513 also emits audio used in an application used by the user U[k] from the speaker 55. The audio control unit 513 also emits audio within the virtual space VS from the speaker 55.

[0047] The management unit 514 manages a first history database HDB1, a second history database HDB2, and a third history database HDB3. Specifically, the management unit 514 generates first history data HD1 in response to user U[k]'s visit to a site in the real space RS and user [k]'s use of an application in the real space RS, and stores the first history data HD1 in the first history database HDB1. The management unit 514 also generates second history data HD2 in response to user U[k]'s use of content in the virtual space VS, and stores the second history data HD2 in the second history database HDB2. The management unit 514 also generates third history data HD3 in response to user U[k]'s buying and selling of NFTs in the virtual space VS, and stores the third history data HD3 in the third history database HDB3. Furthermore, the management unit 514 transmits the first history data HD1 stored in the first history database HDB1, the second history data HD2 stored in the second history database HDB2, and the third history data HD3 stored in the third history database HDB3 to the recommendation device 10.

[0048] 7 is a block diagram showing an example configuration of the recommendation device 10. The recommendation device 10 includes a processing device 11, a storage device 12, an input device 13, and a communication device 14. The elements of the recommendation device 10 are connected to each other by a single or multiple buses for communicating information.

[0049] The processing device 11 is a processor that controls the entire recommendation device 10. The processing device 11 is configured using, for example, one or more chips. The processing device 11 is configured using, for example, a central processing unit (CPU) including an interface with peripheral devices, an arithmetic unit, a register, etc. Some or all of the functions of the processing device 11 may be realized by hardware such as a DSP, an ASIC, a PLD, and an FPGA. The processing device 11 executes various processes in parallel or sequentially.

[0050] The storage device 12 is a recording medium that can be read and written by the processing device 11. The storage device 12 also stores a plurality of programs including a control program PR1 executed by the processing device 11. The storage device 12 also stores a user database UDB, a real space database RDB, a first virtual space database VDB1, a second virtual space database VDB2, a first learning model LM1, and a second learning model LM2.

[0051] 8 is a diagram showing an example of the configuration of the user database UDB. User data UD is stored in the user database UDB. The user data UD is data indicating the correspondence between the identifier of a user U and the identifier of an avatar A that the user U uses in place of the user U in the virtual space VS. The user data UD includes data indicating each of a user ID and an avatar ID. The "user ID" is the identifier of the user U. The avatar ID is the identifier of the avatar A that the user U uses in place of the user U in the virtual space VS.

[0052] In the example shown in Figure 8, the user database UDB stores, as an example, user data UD indicating that a user U with a user ID of "U001" uses an avatar A with an avatar ID of "A001" in the virtual space VS.

[0053] FIG. 9 is a diagram illustrating an example of the configuration of the real space database RDB. The real space database RDB stores real space data RD. The real space data RD is data in which the recommendation device 10 associates first history data HD1 acquired from the terminal devices 50[1] to 50[n] with the user U linked to the first history data HD1. The real space data RD includes data indicating a user ID, date and time, visited site addresses, site types, used applications, and application types. The "user ID" is an identifier for the user U. The "date and time" is the date and time when the user U indicated by the "user ID" visited the site indicated by the "visited site address" in the real space RS, or the date and time when the user U used the application indicated by the "used application" in the real space RS. The "visited site address" is the address of the site visited by the user U. The "site type" is the type of site visited by the user U. The "site type" is obtained, for example, from keywords written using meta tags in the source code of the site visited by the user U. The "used application" is the name of the application used by the user U. The "application type" is the type of application indicated by the "used application". The real-space data RD is either a set of data indicating each of the "user ID", "date and time", "visited site address", and "site type", or a set of data indicating each of the "user ID", "date and time", "used application", and "application type".

[0054] 9 , the real space database RDB stores, as one example, first history data HD1 indicating that a user U with a user ID of "U003" used an application called "GGG" at 9:29 PM on November 23, 2023, and that the application is related to fashion. Furthermore, as another example, the real space database RDB stores real space data RD indicating that a user U with a user ID of "U001" visited a site with the address "http: / / www.AAA.co.jp" at 7:34 PM on November 24, 2023, and that the site is related to travel.

[0055] FIG. 10 is a diagram illustrating an example of the configuration of the first virtual space database VDB1. The first virtual space database VDB1 stores first virtual space data VD1. The first virtual space data VD1 is data in which the recommendation device 10 associates second history data HD2 acquired from terminal devices 50[1] to 50[n] with an avatar A linked to the second history data HD2. The first virtual space data VD1 includes data indicating an avatar ID, a usage date and time, used content, and a content type. The "avatar ID" is an identifier for the avatar A. The "usage date and time" is the date and time when the user U used the content indicated by the "used content" in the virtual space VS as the avatar A indicated by the "avatar ID." The "used content" is the name of the content used by the user U as the avatar A indicated by the "avatar ID." The "content type" is the type of content used by the user U.

[0056] In the example shown in Figure 10, the first virtual space database VDB1 stores, as an example, first virtual space data VD1 indicating that user U, as avatar A with avatar ID "J005", used content "OOO" at 12:51 on November 23, 2023, and that the content is content related to automobiles.

[0057] FIG. 11 is a diagram showing an example of the configuration of the second virtual space database VDB2. The second virtual space database VDB2 stores second virtual space data VD2. The second virtual space data VD2 is data in which the recommendation device 10 associates third history data HD3 acquired from terminal devices 50[1] to 50[n] with an avatar A linked to the third history data HD3. The second virtual space data VD2 includes data indicating an avatar ID, purchase date and time, sale date and time, and NFT-ID. The "avatar ID" is an identifier for avatar A. The "usage date and time" is the date and time when user U purchased the NFT indicated by the "NFT-ID" as avatar A indicated by the "avatar ID," and the "purchase date and time" is the date and time when user U purchased the NFT indicated by the "NFT-ID" as avatar A indicated by the "avatar ID." The "sale date and time" is the date and time when user U sold the NFT indicated by the "NFT-ID" as avatar A indicated by the "avatar ID." The "NFT-ID" is the identifier of the NFT that user U purchased and sold as avatar A indicated by the "avatar ID."

[0058] 11 , the second virtual space database VDB2 stores, as an example, second virtual space data VD2 indicating that user U, as avatar A with avatar ID "J001," purchased an NFT called "KKK" at 1:24 PM on November 24, 2023. Note that the second virtual space data VD2 has a blank field for the date and time of sale. This blank field indicates that user U, as avatar A with avatar ID "J001," currently owns an NFT called "KKK." In addition, as another example, the second virtual space database VDB2 stores second virtual space data VD2 indicating that user U, as avatar A with avatar ID "J001", purchased an NFT called "LLL" at 9:35 on November 25, 2023, and sold the NFT at 3:13 on December 2, 2023.

[0059] In FIG. 6 , the first learning model LM1 is a learning model for determining a first attribute vector FAV corresponding to a first user node FUN when the first determination unit 113 (described later) determines a first graph FG. The first user node FUN represents a user U active in the real space RS. The first attribute vector FAV has one or more attributes as components. The values ​​of the components of the first attribute vector FAV corresponding to each of the one or more attributes indicate the probability that the user U possesses each attribute in the real space RS. The attributes represent the characteristics of a group to which the user U belongs, such as male, female, office worker, athlete, artist, student, or infant. The probability is expressed as a value between 0 and 1. For example, the attribute vector is expressed as (male, female, office worker, athlete, artist, student, infant) = (0.7, 0.3, 0.2, 0.1, 0.3, 0.2, 0.1).

[0060] The first learning model LM1 is generated by learning teacher data in the learning phase. The teacher data used to generate the first learning model LM1 includes multiple pairs of attributes of a user U and the types of one or more items used by the user U. As described below, the first determination unit 113 inputs one or more first items FI used by the user U corresponding to the first user node FUN into the first learning model LM1 to obtain probability estimates, which are components of the first attribute vector FAV corresponding to the first user node FUN.

[0061] The first learning model LM1 is generated in a device external to the recommendation device 10. In particular, the first learning model LM1 is preferably generated in a server (not shown). In this case, the recommendation device 10 acquires the first learning model LM1 from the server (not shown) via the communication network NET.

[0062] The second learning model LM2 is a learning model for determining a second attribute vector SAV corresponding to a second user node SUN when the second determination unit 114 (described later) determines a second graph SG. The second user node SUN represents an avatar A acting on behalf of a user U in the virtual space VS. The second attribute vector SAV has one or more attributes as components. The value of each component of the second attribute vector SAV corresponding to one or more attributes indicates the probability that the avatar A possesses each attribute in the virtual space VS. The attribute indicates the characteristics of a group to which the avatar A belongs, such as male, female, office worker, athlete, artist, student, or child. The probability is expressed as a value between 0 and 1. For example, the attribute vector is expressed as (male, female, office worker, athlete, artist, student, child) = (0.2, 0.8, 0.1, 0.3, 0.1, 0.1, 0.2).

[0063] The second learning model LM2 is generated by learning teacher data in the learning phase. The teacher data used to generate the second learning model LM2 includes multiple pairs of attributes of avatar A and one or more types of items used by the avatar A. As described below, the second determination unit 114 inputs one or more second items SI used by avatar A corresponding to the second user node SUN into the second learning model LM2 to obtain probability estimates, which are components of the second attribute vector SAV corresponding to the second user node SUN.

[0064] The second learning model LM2 is generated by a device external to the recommendation device 10. In particular, the second learning model LM2 is preferably generated by a server (not shown). In this case, the recommendation device 10 acquires the second learning model LM2 from the server (not shown) via the communication network NET.

[0065] At least one of the first learning model LM1 and the second learning model LM2 is a binary classification model. Furthermore, at least one of the first learning model LM1 and the second learning model LM2 may be a model that uses a LightGBM (Light Gradient Boosting Machine). Alternatively, at least one of the first learning model LM1 and the second learning model LM2 may be a model that performs node classification, which is one of the techniques of a graph neural network (GNN).

[0066] The input device 13 is a device that receives operations from the administrator of the recommendation device 10. For example, the input device 13 includes a keyboard, a touchpad, a touch panel, or a pointing device such as a mouse.

[0067] The communication device 14 is hardware serving as a transmitting / receiving device for communicating with other devices. The communication device 14 is also referred to as, for example, a network device, a network controller, a network card, or a communication module. The communication device 14 may include a connector for wired connection and an interface circuit corresponding to the connector. The communication device 14 may also include a wireless communication interface. Examples of the connector and interface circuit for wired connection include products that comply with wired LAN, IEEE 1394, and USB. Examples of the wireless communication interface include products that comply with wireless LAN, Bluetooth (registered trademark), etc.

[0068] The processing device 11 functions as a communication control unit 111, an acquisition unit 112, a first determination unit 113, a second determination unit 114, a third determination unit 115, and a recommendation unit 116, for example, by reading and executing a control program PR1 from the storage device 12.

[0069] The communication control unit 111 causes the communication device 14 to transmit and receive various data between the provisioning server 20 and the terminal devices 50[1] to 50[n].

[0070] The acquisition unit 112 acquires first history data HD1, second history data HD2, and third history data HD3 from each of the terminal devices 50[1] to 50[n]. The acquisition unit 112 also generates real space data RD by associating the first history data HD1 with a user U who uses the terminal device 50 from which the first history data HD1 was acquired. The acquisition unit 112 stores the generated real space data RD in a real space database RDB. Similarly, the acquisition unit 112 generates first virtual space data VD1 by associating the second history data HD2 with an avatar A linked to the user U who uses the terminal device 50 from which the second history data HD2 was acquired. The acquisition unit 112 stores the generated first virtual space data VD1 in a first virtual space database VDB1. Similarly, the acquisition unit 112 generates second virtual space data VD2 by associating the third history data HD3 with an avatar A linked to the user U who uses the terminal device 50 from which the third history data HD3 was acquired. The acquisition unit 112 stores the generated second virtual space data VD2 in the second virtual space database VDB2.

[0071] The first determination unit 113 determines a first graph FG using the real space data RD stored in the real space database RDB. The first graph FG includes a first user node FUN representing a user U active in the real space RS, one or more first item nodes FIN corresponding one-to-one to one or more first items FI used by the user U in the real space RS, and one or more first edges FEG connecting the first user node FUN to the one or more first item nodes FIN.

[0072] 12 is a diagram showing an example of a first graph FG. The first graph FG has first user nodes FUN1 and FUN2, and first item nodes FIN1 to FIN4. Each of the first user nodes FUN1 and FUN2 corresponds to a user U indicated by a "user ID" in the real space database RDB of FIG. 9. Furthermore, each of the first item nodes FIN1 to FIN4 corresponds to a site indicated by a "visited site address" or an application indicated by a "used application" in the real space database RDB of FIG. 9.

[0073] 12, first edges FEG1 to FEG5 are set based on the usage history of a first item FI represented by first item nodes FIN1 to FIN4 by a user U represented by first user nodes FUN1 to FUN2. In the example shown in FIG. 12, the user U represented by the first user node FUN1 uses the first item FI1 represented by the first item node FIN1, so a first edge FEG1 is set that connects the first user node FUN1 and the first item node FIN1. Furthermore, the user U represented by the first user node FUN1 uses the first item FI2 represented by the first item node FIN2, so a first edge FEG2 is set that connects the first user node FUN1 and the first item node FIN2. Furthermore, since the user U represented by the first user node FUN1 uses the first item FI3 represented by the first item node FIN3, a first edge FEG3 is set connecting the first user node FUN1 and the first item node FIN3. Furthermore, since the user U represented by the first user node FUN2 uses the first item FI3 represented by the first item node FIN3, a first edge FEG4 is set connecting the first user node FUN2 and the first item node FIN3. Furthermore, since the user U represented by the first user node FUN2 uses the first item FI4 represented by the first item node FIN4, a first edge FEG5 is set connecting the first user node FUN2 and the first item node FIN4.

[0074] Furthermore, in the vector space shown in FIG. 12 , a feature vector is set for each of the first item nodes FIN1 to FIN4. A vector having randomly-valued components may be set as the initial value of the feature vector. Alternatively, a vector indicating the type of item indicated by the first item nodes FIN1 to FIN4 may be set as the feature vector. For example, if the first item node FIN1 is an application called "GGG" shown in the first line of the real-space database RDB of FIG. 9 , a feature vector indicating the application type "Fashion" may be set for the first item node FIN1. Alternatively, if the first item node FIN2 is a site indicated by the address "http: / / www.AAA.co.jp" shown in the second line of the real-space database RDB of FIG. 9 , a feature vector indicating the site type "Travel" may be set for the first item node FIN2. Furthermore, the first item nodes FIN1 to FIN4 are placed at positions in the vector space shown in Fig. 12 where the coordinates are the values ​​of the components of the feature vector set for each of the first item nodes FIN1 to FIN4. For example, if the components of the feature vector set for the first item node FIN1 are (x, y) = (x1, y1), the first item node FIN1 is placed at the coordinates (x, y) = (x1, y1) in the vector space shown in Fig. 12.

[0075] Next, in the vector space shown in FIG. 12 , first attribute vectors FAV1 to FAV2 are set for the first user nodes FUN1 to FUN2, respectively. Specifically, as described above, the first determination unit 113 inputs the first item FI indicated by the first item nodes FIN1 to FIN3, which is the target of use for the first user node FUN1, into the first learning model LM1. As a result, the first determination unit 113 acquires the first attribute vector FAV1 output from the first learning model LM1. Similarly, the first determination unit 113 inputs the first item FI indicated by the first item nodes FIN3 to FIN4, which is the target of use for the first user node FUN2, into the first learning model LM1. As a result, the first determination unit 113 acquires the first attribute vector FAV2 output from the first learning model LM1. Furthermore, in the vector space shown in Fig. 12, the first user node FUN1 is placed at a position whose coordinates are the values ​​of the components of the first attribute vector FAV1 set for the first user node FUN1. Also, in the vector space shown in Fig. 12, the first user node FUN2 is placed at a position whose coordinates are the values ​​of the components of the first attribute vector FAV2 set for the first user node FUN2. For example, if the components of the first attribute vector FAV1 set for the first user node FUN1 are (x, y) = (x2, y2), the first user node FUN1 is placed at coordinates (x, y) = (x2, y2) in the vector space shown in Fig. 12.

[0076] 12, for convenience of explanation, the vector space in which the first user nodes FUN1 to FUN2 and the first item nodes FIN1 to FIN4 are arranged is two-dimensional. However, the vector space may be a space of any dimension greater than or equal to two.

[0077] 7, the second determination unit 114 determines a second graph SG using the first virtual space data VD1 stored in the first virtual space database VDB1 and the second virtual space data VD2 stored in the second virtual space database VDB2. The second graph SG includes a second user node SUN representing an avatar A acting on behalf of a user U in the virtual space VS, one or more second item nodes SIN corresponding one-to-one to one or more second items SI used by the avatar A in the virtual space VS, and one or more second edges SEG connecting the second user node SUN to the one or more second item nodes SIN.

[0078] FIG. 13 is a diagram showing an example of the second graph SG. The second graph SG has second user nodes SUN1 and SUN2, and second item nodes SIN1 to SIN3. Each of the second user nodes SUN1 and SUN2 corresponds to a user U indicated by an "avatar ID" in the first virtual space database VDB1 of FIG. 10 and the second virtual space database VDB2 of FIG. 11. Furthermore, each of the second item nodes SIN1 to SIN3 corresponds to content indicated by "used content" in the first virtual space database VDB1 of FIG. 10, or an NFT indicated by an "NFT-ID" in the second virtual space database VDB2 of FIG. 11.

[0079] 13, second edges SEG1 to SEG4 are set based on the usage history of the second item SI represented by the second item nodes SIN1 to SIN3 by avatar A represented by the second user nodes SUN1 to SUN2. In the example shown in FIG. 13, avatar A represented by the second user node SUN1 uses the second item SI1 represented by the second item node SIN1, so a second edge SEG1 connecting the second user node SUN1 and the second item node SIN1 is set. Furthermore, avatar A represented by the second user node SUN1 uses the second item SI2 represented by the second item node SIN2, so a second edge SEG2 connecting the second user node SUN1 and the second item node SIN2 is set. Furthermore, since avatar A represented by second user node SUN1 uses second item SI3 represented by second item node SIN3, a second edge SEG3 is set connecting second user node SUN1 and second item node SIN3. Furthermore, since avatar A represented by second user node SUN2 uses second item SI3 represented by second item node SIN3, a second edge SEG4 is set connecting second user node SUN2 and second item node SIN3.

[0080] Furthermore, in the vector space shown in FIG. 13 , a feature vector is set for each of the second item nodes SIN1 to SIN3. A vector having randomly-valued components may be set as the initial value of the feature vector. Alternatively, a vector indicating the type of the second item SI indicated by the second item nodes SIN1 to SIN3 may be set as the feature vector. For example, if the second item node SIN1 is the content "OOO" shown in the first row of the first virtual space database VDB1 in FIG. 10 , a feature vector indicating the content type "automobile" may be set for the second item node SIN1. Alternatively, if the second item node SIN2 is the NFT indicated by the identifier "LLL" shown in the second row of the second virtual space database VDB2 in FIG. 11 , a feature vector indicating the type of content to which the NFT is linked may be set for the first item node FIN2. Furthermore, second item nodes SIN1 to SIN3 are placed at positions in the vector space shown in Fig. 13 where the coordinates are the values ​​of the components of the feature vector set for each of second item nodes SIN1 to SIN3. For example, if the components of the feature vector set for second item node SIN1 are (x, y) = (x3, y3), second item node SIN1 is placed at the coordinates (x, y) = (x3, y3) in the vector space shown in Fig. 13.

[0081] Next, in the vector space shown in Figure 13, second attribute vectors SAV1 to SAV2 are set for second user nodes SUN1 to SUN2, respectively. Specifically, as described above, the second determination unit 114 inputs the second item SI indicated by second item nodes SIN1 to SIN3, which is the target of use for second user node SUN1, into the second learning model LM2 and obtains the second attribute vector SAV1 output from the second learning model LM2. Similarly, the second determination unit 114 inputs the second item SI indicated by second item node SIN3, which is the target of use for second user node SUN2, into the second learning model LM2 and obtains the second attribute vector SAV2 output from the second learning model LM2. Furthermore, the second user node SUN1 is placed at a position whose coordinates are the values ​​of the components of the second attribute vector SAV1 set for the second user node SUN1 in the vector space shown in Fig. 13. Also, the second user node SUN2 is placed at a position whose coordinates are the values ​​of the components of the second attribute vector SAV2 set for the second user node SUN2 in the vector space shown in Fig. 13. For example, if the components of the second attribute vector SAV1 set for the second user node SUN1 are (x, y) = (x4, y4), the second user node SUN1 is placed at coordinates (x, y) = (x4, y4) in the vector space shown in Fig. 12.

[0082] 12, for convenience of explanation, the vector space in which the first user nodes FUN1 to FUN2 and the first item nodes FIN1 to FIN4 are arranged is two-dimensional. However, the vector space may be a space of any dimension greater than or equal to two.

[0083] 7 , the third determination unit 115 determines a third edge TEG that connects the first user node FUN and the second user node SUN and a weight related to the degree of connection of the third edge TEG. In addition, the third determination unit 115 connects the first user node FUN and the second user node SUN via the third edge TEG to determine a third graph TG1 that includes the first graph FG, the second graph SG, and the third edge TEG.

[0084] Fig. 14 is a diagram showing an example of a third graph TG1. As shown in Fig. 14, the third graph TG1 includes the first graph FG shown in Fig. 12 and the second graph SG shown in Fig. 13.

[0085] As described above, the third determination unit 115 determines a weight related to the degree of coupling of the third edge TEG. When the value indicating the weight is 1, the first user node FUN and the second user node SUN are coupled. On the other hand, when the value indicating the weight is 0, the first user node FUN and the second user node SUN are not coupled. The third determination unit 115 calculates the value indicating the weight based on the first attribute vector FAV corresponding to the first user node FUN and the second attribute vector SAV corresponding to the second user node SUN. Specifically, the third determination unit 115 calculates the distance between the first attribute vector FAV and the second attribute vector SAV, specifically, the cosine similarity or the Euclidean distance. Based on the calculation result, the third determination unit 115 determines the degree of coupling between the first user node FUN and the second user node SUN. The third determination unit 115 determines that the degree of coupling between the first user node FUN and the second user node SUN is "heavy" as the similarity between the first attribute vector FAV and the second attribute vector SAV increases.

[0086] 14 , the third determination unit 115 connects the first user node FUN1 included in the first graph FG to the second user node SUN1 included in the second graph SG via a third edge TEG1 in the third graph TG1. Similarly, the third determination unit 115 connects the first user node FUN2 included in the first graph FG to the second user node SUN2 included in the second graph SG via a third edge TEG2 in the third graph TG1. On the other hand, the third determination unit 115 does not connect the first user node FUN1 included in the first graph FG to the second user node SUN2 included in the second graph SG in the third graph TG1. Similarly, the third determination unit 115 does not connect the first user node FUN2 included in the first graph FG to the second user node SUN1 included in the second graph SG in the third graph TG1.

[0087] 14, the higher the similarity between the first user node FUN and the second user node SUN, the shorter the distance of the third edge TEG connecting the first user node FUN and the second user node SUN. In other words, the shorter the distance of the third edge TEG connecting the first user node FUN and the second user node SUN, the closer the numerical value indicating the weight of the connection between the first user node FUN and the second user node SUN becomes to 1.

[0088] 14 , the length of the third edge TEG1 is shorter than the length of the third edge TEG2. This is because the similarity between the first user node FUN1 and the second user node SUN1, which are connected by the third edge TEG1, is higher than the similarity between the first user node FUN2 and the second user node SUN2, which are connected by the third edge TEG2. In other words, the similarity between the character of user U represented by the first user node FUN1 and the character of avatar A represented by the second user node SUN1 is higher than the similarity between the character of user U represented by the first user node FUN2 and the character of avatar A represented by the second user node SUN2.

[0089] In Figure 7, the recommendation unit 116 recommends to the user U or the avatar A at least one second item SI out of one or more second items SI used by the avatar A, or at least one first item FI out of one or more first items FI used by the user U, depending on the weight of the third edge TEG.

[0090] More specifically, when the numerical value indicating the weight of the third edge TEG is equal to or greater than the first value, the recommendation unit 116 recommends a first item FI indicated by at least one first item node FIN and a second item SI indicated by at least one second item node SIN to the user U indicated by the first user node FUN. On the other hand, when the numerical value indicating the weight of the third edge TEG is less than the first value, the recommendation unit 116 recommends the first item FI indicated by at least one first item node FIN to the user U indicated by the first user node FUN. However, in this case, the recommendation unit 116 does not recommend the second item SI indicated by at least one second item node SIN to the user U indicated by the first user node FUN.

[0091] Furthermore, when the numerical value indicating the weight of the third edge TEG is equal to or greater than the first value, the recommendation unit 116 recommends the first item FI indicated by at least one first item node FIN and the second item SI indicated by at least one second item node SIN to the avatar A indicated by the second user node SUN. On the other hand, when the numerical value indicating the weight of the third edge TEG is equal to or greater than the first value, the recommendation unit 116 recommends the second item SI indicated by at least one second item node SIN to the avatar A indicated by the second user node SUN. However, in this case, the recommendation unit 116 does not recommend the first item FI indicated by at least one first item node FIN to the avatar A indicated by the second user node SUN.

[0092] For example, in the third graph TG1 shown in FIG. 14 , suppose the numerical value indicating the weight of the third edge TEG1 is equal to or greater than a first value, while the numerical value indicating the weight of the third edge TEG2 is less than the first value. In this case, the recommendation unit 116 recommends, to a user U indicated by a first user node FUN1, at least one first item FI among the multiple first items FI indicated by first item nodes FIN1 to FIN3, and at least one second item SI among the multiple second items SI indicated by second item nodes SIN1 to SIN3. Similarly, the recommendation unit 116 recommends, to an avatar A indicated by a second user node SUN1, at least one first item FI among the multiple first items FI indicated by first item nodes FIN1 to FIN3, and at least one second item SI among the multiple second items SI indicated by second item nodes SIN1 to SIN3.

[0093] On the other hand, the recommendation unit 116 recommends at least one first item FI of the multiple first items FI indicated by the first item nodes FIN3 to FIN4 to the user U indicated by the first user node FUN2. However, the recommendation unit 116 does not recommend the second item SI indicated by the second item node SIN3 to the user U indicated by the first user node FUN2. Similarly, the recommendation unit 116 recommends the second item SI indicated by the second item node SIN3 to the avatar A indicated by the second user node SUN2. However, the recommendation unit 116 does not recommend any of the multiple first items FI indicated by the first item nodes FIN3 to FIN4 to the avatar A indicated by the second user node SUN2.

[0094] In addition, the recommendation unit 116 may determine the items to recommend to the user U or the avatar A based on the results of link prediction, which is one of the graph neural network (GNN) techniques targeting the third graph TG1 using the real space data RD, the first virtual space data VD1, and the second virtual space data VD2.

[0095] 15 is a diagram showing an example of a third graph TG2 resulting from link prediction for the third graph TG1 shown in FIG. 14. In the process of link prediction, the first determination unit 113 determines a weight related to the degree of connection between the first user node FUN and one or more first item nodes FIN for each of one or more first edges FEG. Furthermore, the second determination unit 114 determines a weight related to the degree of connection between the second user node SUN and one or more second item nodes SIN for each of one or more second edges SEG.

[0096] As above, the higher the similarity between the first user node FUN and the first item node FIN, the heavier the bond weight between them, and the closer the distance between them. On the other hand, the lower the similarity between the first user node FUN and the first item node FIN, the lighter the bond weight between them, and the greater the distance between them. Similarly, the higher the similarity between the second user node SUN and the second item node SIN, the heavier the bond weight between them, and the greater the distance between them. On the other hand, the lower the similarity between the second user node SUN and the second item node SIN, the lighter the bond weight between them, and the greater the distance between them.

[0097] Then, when the weight of the first edge FEG is equal to or greater than the second value, the first determination unit 113 keeps the first user node FUN and the first item node FIN connected via the first edge FEG. On the other hand, when the weight of the first edge FEG is less than the second value, the first determination unit 113 does not connect the first user node FUN and the first item node FIN via the first edge FEG. Similarly, when the weight of the second edge SEG is equal to or greater than the second value, the second determination unit 114 keeps the second user node SUN and the second item node SIN connected via the second edge SEG. On the other hand, when the weight of the second edge SEG is less than the second value, the second determination unit 114 does not connect the second user node SUN and the second item node SIN via the second edge SEG.

[0098] When the weight of the third edge TEG is equal to or greater than the first value, the recommendation unit 116 determines at least one second item SI to recommend to the user U based on the weights of one or more second edges SEG. More specifically, the recommendation unit 116 preferentially recommends, to the user U corresponding to the first user node FUN, the second item SI corresponding to the second item node SIN connected to the shorter second edge SEG. For example, in the third graph TG2 of FIG. 15 , the length of the second edge SEG1 is shorter than the length of the second edge SEG3, which is shorter than the length of the second edge SEG2. Therefore, the recommendation unit 116 preferentially recommends the second item SI1 corresponding to the second item node SIN1 to the user U corresponding to the first user node FUN1 over the second item SI3 corresponding to the second item node SIN3. In addition, the recommendation unit 116 recommends the second item SI3 corresponding to the second item node SIN3 to the user U corresponding to the first user node FUN1 in preference to the second item SI2 corresponding to the second item node SIN2.

[0099] Furthermore, when the weight of the third edge TEG is equal to or greater than the first value, the recommendation unit 116 determines at least one first item FI to recommend to the avatar A based on the weights of one or more first edges FEG. More specifically, the recommendation unit 116 preferentially recommends, to the avatar A corresponding to the second user node SUN, a first item FI corresponding to a first item node FIN connected to a shorter first edge FEG. For example, in the third graph TG2 of FIG. 15 , the length of the first edge FEG2 is shorter than the length of the first edge FEG1, which is shorter than the length of the first edge FEG3. Therefore, the recommendation unit 116 preferentially recommends the first item FI2 corresponding to the first item node FIN2 to the avatar A corresponding to the second user node SUN1 over the first item FI1 corresponding to the first item node FIN1. Furthermore, the recommendation unit 116 recommends the first item FI1 corresponding to the first item node FIN1 to the avatar A corresponding to the second user node SUN1 in preference to the first item FI3 corresponding to the first item node FIN3.

[0100] 1-2: Operation of the Recommendation Device FIG. 16 is a flowchart showing the operation of the recommendation device 10.

[0101] In step S1, the processing device 11 functions as the acquisition unit 112. The processing device 11 acquires the first history data HD1, the second history data HD2, and the third history data HD3 from each of the terminal devices 50[1] to 50[n].

[0102] In step S2, processing device 11 functions as acquisition unit 112. Processing device 11 generates real space data RD by associating first history data HD1 acquired in step S1 with user U who uses terminal device 50 from which the first history data HD1 was acquired. Acquisition unit 112 stores the generated real space data RD in real space database RDB. Processing device 11 also generates first virtual space data VD1 by associating second history data HD2 acquired in step S1 with avatar A linked to user U who uses terminal device 50 from which the second history data HD2 was acquired. Acquisition unit 112 stores the generated first virtual space data VD1 in first virtual space database VDB1. Furthermore, processing device 11 generates second virtual space data VD2 by associating third history data HD3 acquired in step S1 with avatar A linked to user U who uses terminal device 50 from which the third history data HD3 was acquired. Acquisition unit 112 stores the generated second virtual space data VD2 in second virtual space database VDB2.

[0103] In step S3, the processing device 11 functions as a first determination unit 113. The processing device 11 determines a first graph FG using the real space data RD stored in the real space database RDB.

[0104] In step S4, the processing device 11 functions as the second determination unit 114. The processing device 11 determines the second graph SG using the first virtual space data VD1 stored in the first virtual space database VDB1 and the second virtual space data VD2 stored in the second virtual space database VDB2.

[0105] In step S5, the processing device 11 functions as the third determination unit 115. The processing device 11 determines a third edge TEG that connects the first user node FUN and the second user node SUN, and a weight related to the degree of connection of the third edge TEG.

[0106] In step S6, the processing device 11 functions as the recommendation unit 116. The processing device 11 recommends, to the user U or the avatar A, at least one second item SI among the one or more second items SI used by the avatar A, or at least one first item FI among the one or more first items FI used by the user U, according to the weight of the third edge TEG determined in step S5.

[0107] 1-3: Effects of the First Embodiment The recommendation device 10 according to this embodiment includes a first determination unit 113, a second determination unit 114, a third determination unit 115, and a recommendation unit 116. The first determination unit 113 determines a first graph FG in a vector space. The first graph FG includes a first user node FUN indicating a user U active in the real space RS, one or more first item nodes FIN corresponding one-to-one to one or more first items FI used by the user U in the real space RS, and one or more first edges FEG connecting the first user node FUN and the one or more first item nodes FIN. The second determination unit 114 determines a second graph SG in the vector space. The second graph SG includes a second user node SUN representing an avatar A acting on behalf of a user U in the virtual space VS, one or more second item nodes SIN corresponding one-to-one to one or more second items SI used by the avatar A in the virtual space VS, and one or more second edges SEG connecting the second user node SUN to the one or more second item nodes SIN. The third determination unit 115 determines a third edge TEG connecting the first user node FUN to the second user node SUN and a third edge TEG indicating a weight related to the degree of connection of the third edge TEG. The recommendation unit 116 recommends at least one second item SI of the one or more second items SI or at least one first item FI of the one or more first items FI to the user U or the avatar A according to the weight of the third edge TEG.

[0108] The recommendation device 10 has the above configuration, and can therefore recommend items to a user U who is active in both the real space RS and the virtual space VS based on the characters in each of the real space RS and the virtual space VS.

[0109] More specifically, it is conceivable that a user U who is active in both the real space RS and the virtual space VS uses different characters and behaves differently in the real space RS and the virtual space VS. In such a case, the recommendation device 10 can recommend items to the user U by taking into consideration the characters of the user U in both the real space RS and the virtual space VS.

[0110] In addition, in the recommendation device 10, the recommendation unit 116 recommends at least one second item SI or at least one first item FI to a user U or an avatar A based on the result of link prediction targeting a third graph TG including a first graph FG, a second graph SG, and a third edge TEG.

[0111] Because the recommendation device 10 has the above-mentioned configuration, it can recommend at least one second item SI or at least one first item FI to a user U or an avatar A based on the relationship between the first user node FUN and the first item node FIN in the first graph FG, and the relationship between the second user node SUN and the second item node SIN in the second graph SG.

[0112] Furthermore, in the recommendation device 10, when the weight indicating the degree of coupling of the third edge TEG is equal to or greater than a first value, the recommendation unit 116 recommends both at least one first item FI and at least one second item SI to the user U. Furthermore, when the weight indicating the degree of coupling of the third edge TEG is less than the first value, the recommendation device 10 recommends at least one first item FI to the user U and does not recommend at least one second item SI.

[0113] Because the recommendation device 10 has the above configuration, when the similarity between the first user node FUN and the second user node SUN is relatively high, the recommendation device 10 can recommend both the first item FI and the second item SI to the user U corresponding to the first user node FUN. On the other hand, when the similarity between the first user node FUN and the second user node SUN is relatively low, the recommendation device 10 recommends the first item FI to the user U corresponding to the first user node FUN, but does not recommend the second item SI.

[0114] Furthermore, in the recommendation device 10, when the weight indicating the degree of connection of the third edge TEG is equal to or greater than a first value, the recommendation unit 116 recommends both at least one first item FI and at least one second item SI to the avatar A. Furthermore, when the weight indicating the degree of connection of the third edge TEG is less than the first value, the recommendation unit 116 does not recommend at least one first item FI to the avatar A, but recommends at least one second item SI.

[0115] Because the recommendation device 10 has the above configuration, when the similarity between the first user node FUN and the second user node SUN is relatively high, the recommendation device 10 can recommend both the first item FI and the second item SI to the avatar A corresponding to the second user node SUN. On the other hand, when the similarity between the first user node FUN and the second user node SUN is relatively low, the recommendation device 10 recommends the second item SI to the avatar A corresponding to the second user node SUN, but does not recommend the first item FI.

[0116] Furthermore, in the recommendation device 10, the second determination unit 114 determines a weight related to the degree of coupling between the second user node SUN and one or more second item nodes SIN for each of the one or more second edge SEGs. When the weight related to the degree of coupling of the third edge TEG is equal to or greater than a first value, the recommendation unit 116 determines at least one second item SI to recommend to the user U based on the weights of the one or more second edge SEGs.

[0117] Because the recommendation device 10 has the above-mentioned configuration, when the similarity between the first user node FUN and the second user node SUN is relatively high, it can recommend to the user U corresponding to the first user node FUN the second item SI that is used relatively frequently by the avatar A corresponding to the second user node SUN.

[0118] Furthermore, in the recommendation device 10, the first determination unit 113 determines a weight related to the degree of coupling between the first user node FUN and one or more first item nodes FIN for each of the one or more first edge FEGs. When the weight indicating the degree of coupling of the third edge TEG is equal to or greater than a first value, the recommendation unit 116 determines at least one first item FI to recommend to the avatar A based on the weights of the one or more first edge FEGs.

[0119] Because the recommendation device 10 has the above-mentioned configuration, when the similarity between the first user node FUN and the second user node SUN is relatively high, it can recommend to the avatar A corresponding to the second user node SUN the first item FI that is used relatively frequently by the user U corresponding to the first user node FUN.

[0120] Furthermore, in the recommendation device 10, the third determination unit 115 determines the above weight based on the distance between the first attribute vector FAV corresponding to the first user node FUN and the second attribute vector SAV corresponding to the second user node SUN.

[0121] Because the recommendation device 10 has the above configuration, it can determine the weight of the third edge TEG based on the similarity between the attributes of the user U corresponding to the first user node FUN and the attributes of the avatar A corresponding to the second user node SUN.

[0122] Furthermore, in the recommendation device 10, each of the first attribute vector FAV and the second attribute vector SAV has one or more attributes as components. The value of a component of the first attribute vector FAV corresponding to each of the one or more attributes indicates the probability that the user U has each attribute in the real space RS. The value of a component of the second attribute vector SAV corresponding to each of the one or more attributes indicates the probability that the avatar A has each attribute in the virtual space VS.

[0123] Because the recommendation device 10 has the above-mentioned configuration, when determining the weight of the third edge TEG, it can calculate the similarity between the attribute of user U corresponding to the first user node FUN and the attribute of avatar A corresponding to the second user node SUN based on the probability that user U belongs to various attributes and the probability that avatar A belongs to various attributes.

[0124] 2: Modifications The present disclosure is not limited to the above-described exemplary embodiments. Specific modifications are exemplified below. Two or more modifications selected from the following examples may be combined. Furthermore, the above-described embodiments and the following modifications may be combined in any combination as long as they are not mutually contradictory.

[0125] 2-1: Variation 1 In the above embodiment, the recommendation device 10 acquires second history data HD2 from the terminal devices 50[1] to 50[n] and generates first virtual space data VD1 using the acquired second history data HD2. The recommendation device 10 also acquires third history data HD3 from the terminal devices 50[1] to 50[n] and generates second virtual space data VD2 using the acquired third history data HD3.

[0126] However, instead of acquiring the second history data HD2 from the terminal devices 50[1] to 50[n], the recommendation device 10 may acquire the first virtual space data VD1 from the provisioning server 20. Similarly, instead of acquiring the third history data HD3 from the terminal devices 50[1] to 50[n], the recommendation device 10 may acquire the second virtual space data VD2 from the provisioning server 20.

[0127] In these cases, both the recommendation device 10 and the provisioning server 20 may be incorporated into the same housing and function as a single device.

[0128] 2-2: Modification 2 In the above embodiment, the third determination unit 115 determined the third edge TEG indicating a weight related to the degree of coupling between the first user node FUN and the second user node SUN. Specifically, the third determination unit 115 calculated the cosine similarity or Euclidean distance between the first attribute vector FAV and the second attribute vector SAV, and determined the degree of coupling between the first user node FUN and the second user node SUN based on the calculation result. As a result, in the example of the third graph TG1 shown in FIG. 14 , the third determination unit 115 coupled the first user node FUN1 included in the first graph FG and the second user node SUN1 included in the second graph SG with the third edge TEG1. Similarly, in the third graph TG1, the third determination unit 115 connected the first user node FUN2 included in the first graph FG to the second user node SUN2 included in the second graph SG via the third edge TEG2. On the other hand, in the third graph TG1, the third determination unit 115 did not connect the first user node FUN1 included in the first graph FG to the second user node SUN2 included in the second graph SG. Similarly, in the third graph TG1, the third determination unit 115 did not connect the first user node FUN2 included in the first graph FG to the second user node SUN1 included in the second graph SG.

[0129] In short, the third determination unit 115 did not combine the first user node FUN1 included in the first graph FG with the second user node SUN2 included in the second graph SG based on the calculation result of the cosine similarity or Euclidean distance between the first attribute vector FAV and the second attribute vector SAV. Similarly, the third determination unit 115 did not combine the first user node FUN2 included in the first graph FG with the second user node SUN1 included in the second graph SG based on the calculation result of the cosine similarity or Euclidean distance between the first attribute vector FAV and the second attribute vector SAV.

[0130] However, the third determination unit 115 may not combine the first user node FUN1 included in the first graph FG with the second user node SUN2 included in the second graph SG based on the user data UD stored in the user database UDB. Similarly, the third determination unit 115 may not combine the first user node FUN2 included in the first graph FG with the second user node SUN1 included in the second graph SG based on the user data UD stored in the user database UDB.

[0131] 2-3: Modification 3 In the above embodiment, the recommendation device 10 was equipped with a single first determination unit 113, a single second determination unit 114, and a single third determination unit 115. Furthermore, the first determination unit 113 determined a single first graph FG in a vector space including a first user node FUN representing a user U[k] active in the real space RS. Furthermore, the second determination unit 114 determined a single second graph SG in a vector space including a second user node SUN representing an avatar A[k] active in place of the user U[k] in the virtual space VS. Furthermore, the third determination unit 115 determined a single third edge TEG connecting the first user node FUN and the second user node SUN and a weight related to the degree of connection of the third edge TEG.

[0132] However, the recommendation device 10 can include any number of first determination units 113, any number of second determination units 114, and any number of third determination units 115. For example, the recommendation device 10 may include a plurality of first determination units 113, a plurality of second determination units 114, and a plurality of third determination units 115.

[0133] In this case, a plurality of first user nodes FUN representing user U[k] and a plurality of second user nodes SUN representing avatar A[k] are arranged in the vector space. Furthermore, a plurality of third edges TEG connect the plurality of first user nodes FUN and the plurality of second user nodes SUN. Furthermore, a plurality of first graphs FG in one-to-one correspondence with the plurality of first user nodes FUN, a plurality of second graphs SG in one-to-one correspondence with the plurality of second user nodes SUN, and an arbitrary number of third graphs TG including any number of first graphs FG among the plurality of first graphs FG and any number of second graphs SG among the plurality of second graphs SG are arranged in the vector space.

[0134] As a result, the recommendation device 10 can recommend at least one first item FI or at least one second item SI, for example, individually to each of the first user node FUN corresponding to the user U[k] in daily life and the first user node FUN corresponding to the user U[k] at work. Similarly, the recommendation device 10 can recommend at least one first item FI or at least one second item SI, for example, individually to each of the second user node SUN corresponding to the avatar A[k] in the first virtual space VS1 and the second user node SUN corresponding to the avatar A[k] in the second virtual space VS2.

[0135] 3: Others (1) In the above-described embodiment, the storage devices 12, 22, and 52 are exemplified by ROM and RAM, but they may also be flexible disks, magneto-optical disks (e.g., compact disks, digital versatile disks, Blu-ray (registered trademark) disks), smart cards, flash memory devices (e.g., cards, sticks, key drives), CD-ROMs (Compact Disc-ROMs), registers, removable disks, hard disks, floppy (registered trademark) disks, magnetic strips, databases, servers, or other suitable storage media. The programs may also be transmitted from a network via telecommunications lines. The programs may also be transmitted from a communications network (NET) via telecommunications lines.

[0136] (2) In the above-described embodiments, the described information, signals, etc. may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.

[0137] (3) In the above-described embodiment, input and output information may be stored in a specific location (for example, a memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be transmitted to another device.

[0138] (4) In the above-described embodiment, the determination may be made based on a value (0 or 1) represented using one bit, a Boolean value (true or false), or a comparison of numerical values ​​(e.g., comparison with a predetermined value).

[0139] (5) The order of the exemplary procedures, sequences, flowcharts, etc. illustrated in the above-described embodiments may be rearranged unless inconsistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.

[0140] (6) Each function illustrated in Figures 1 to 15 is realized by any combination of hardware and / or software. Furthermore, the method for realizing each functional block is not particularly limited. That is, each functional block may be realized using a single device that is physically or logically coupled, or may be realized using two or more physically or logically separated devices that are connected directly or indirectly (e.g., by wire, wirelessly, etc.) and these multiple devices. A functional block may be realized by combining software with the single device or the multiple devices.

[0141] (7) The programs exemplified in the above-described embodiments should be broadly construed to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., regardless of whether they are called software, firmware, middleware, microcode, hardware description language, or by other names.

[0142] Software, instructions, information, etc. may also be transmitted or received over a transmission medium. For example, if software is transmitted from a website, server, or other remote source using wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave), then these wired and / or wireless technologies are included within the definition of transmission media.

[0143] (8) In each of the foregoing embodiments, the terms "system" and "network" are used interchangeably.

[0144] (9) The information, parameters, etc. described in this disclosure may be expressed using absolute values, relative values ​​from a predetermined value, or corresponding other information.

[0145] (10) In the above-described embodiment, the recommendation device 10, the providing server 20, and the terminal devices 50[1] to 50[n] may be mobile stations (MS). A mobile station may also be referred to by those skilled in the art as a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communication device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other appropriate term. In addition, in the present disclosure, terms such as "mobile station," "user terminal," "user equipment (UE)," and "terminal" may be used interchangeably.

[0146] (11) In the above-described embodiments, the terms "connected," "coupled," or any variations thereof refer to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be a physical coupling or connection, a logical coupling or connection, or a combination thereof. For example, "connected" may be read as "access." As used in this disclosure, two elements may be considered to be "connected" or "coupled" to each other using at least one of one or more wires, cables, and printed electrical connections, as well as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and optical (both visible and invisible) range, as some non-limiting and non-exhaustive examples.

[0147] (12) In the above embodiments, the phrase "based on" does not mean "based only on," unless otherwise specified. In other words, the phrase "based on" means both "based only on" and "based at least on."

[0148] (13) As used in this disclosure, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (e.g., searching a table, database, or other data structure), and ascertaining something that is considered to be a "determining." Also, "determining" and "determining" may include receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, accessing (e.g., accessing data in memory), and so on. Furthermore, "judgment" and "decision" can include regarding resolving, selecting, choosing, establishing, comparing, etc. as having been "judged" or "decided." In other words, "judgment" and "decision" can include regarding some action as having been "judged" or "decided." Furthermore, "judgment (decision)" can be interpreted as "assuming," "expecting," "considering," etc.

[0149] (14) In the above embodiments, when the terms "include," "including," and variations thereof are used, these terms are intended to be inclusive, similar to the term "comprising." Furthermore, the term "or," as used in this disclosure, is not intended to be an exclusive or.

[0150] (15) In this disclosure, where articles are added by translation, such as a, an, and the in English, this disclosure may include the nouns following these articles being plural.

[0151] (16) In this disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "combined" may also be interpreted in the same way as "different."

[0152] (17) Each aspect / embodiment described in this disclosure may be used alone, in combination, or switched depending on the implementation. Notification of predetermined information (e.g., notification that "X is true") is not limited to explicit notification, but may be implicit (e.g., not notifying the predetermined information).

[0153] Although the present disclosure has been described in detail above, it is clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the spirit and scope of the present disclosure as defined by the claims. Therefore, the description of the present disclosure is intended to be illustrative and does not have any limiting meaning on the present disclosure.

[0154] 1... Recommendation system, 10... Recommendation device, 11... Processing device, 12... Storage device, 13... Input device, 14... Communication device, 20... Supply server, 21... Processing device, 22... Storage device, 23... Input device, 24... Communication device, 50... Terminal device, 51... Processing device, 52... Storage device, 53... Display, 54... Input device, 55... Speaker, 56... Communication device, 111... Communication control unit, 112... Acquisition unit, 113... First determination unit, 114... Second determination unit, 115... Third determination unit, 116... Recommendation unit, 211... Communication control unit, 2 12...generation unit, 213...acquisition unit, 511...communication control unit, 512...display control unit, 513...audio control unit, 514...management unit, A...avatar, FAV, FAV1, FAV2...first attribute vector, FEG, FEG1, FEG2, FEG3, FEG4, FEG5...first edge, FG...first graph, FI, FI1, FI2, FI3, FI4...first item, FIN, FIN1, FIN2, FIN3, FIN4...first item node, FUN, FUN1, FUN2...first user node, HD1...first history data, HD2...second history data, HD3...third history data, HDB1...first history database, HDB2...second history database, HDB3...third history database, LM1...first learning model, LM2...second learning model, NET...communication network, PR1, PR2, PR5...control program, RD...real space data, RDB...real space database, RS...real space, SAV, SAV1, SAV2...second attribute vector, SEG, SEG1, SEG2, SEG3, SEG4...second edge, SG...second graph, SI , SI1, SI2, SI3...second item, SIN, SIN1, SIN2, SIN3...second item node, SUN, SUN1, SUN2...second user node, TEG, TEG1, TEG2...third edge, TG, TG1, TG2...third graph, U...user, UD...user data, UDB...user database, VD1...first virtual space data, VD2...second virtual space data, VDB1...first virtual space database, VDB2...second virtual space database, VO...virtual object, VS...virtual space

Claims

1. A first determination unit that determines a first graph in a vector space including a first user node representing a user acting in real space, one or more first item nodes that correspond one-to-one to one or more first items used by the user in the real space, and one or more first edges connecting the first user node to the one or more first item nodes; a second determination unit that determines a second graph in the vector space including a second user node representing an avatar acting on behalf of the user in virtual space, one or more second item nodes that correspond one-to-one to one or more second items used by the avatar in the virtual space, and one or more second edges connecting the second user node to the one or more second item nodes; and a third determination unit that determines a third edge connecting the first user node to the second user node and a weight related to the degree of connection of the third edge; a recommendation unit that recommends at least one second item among the one or more second items or at least one first item among the one or more first items to the user or the avatar according to a weight of the third edge.

2. The recommendation device described in claim 1, wherein the recommendation unit recommends the at least one second item or the at least one first item to the user or the avatar based on a result of link prediction targeting a third graph including the first graph, the second graph, and the third edge.

3. The recommendation device described in claim 1, wherein the recommendation unit recommends both the at least one first item and the at least one second item to the user when a weight indicating the degree of connection of the third edge is equal to or greater than a first value, and recommends the at least one first item to the user and does not recommend the at least one second item when the weight indicating the degree of connection of the third edge is less than the first value.

4. The recommendation device described in claim 1, wherein the recommendation unit recommends both the at least one first item and the at least one second item to the avatar when a weight indicating the degree of connection of the third edge is equal to or greater than a first value, and does not recommend the at least one first item to the avatar and recommends the at least one second item when the weight indicating the degree of connection of the third edge is less than the first value.

5. The recommendation device described in claim 1, wherein the second determination unit determines a weight related to the degree of connection between the second user node and the one or more second item nodes for each of the one or more second edges, and the recommendation unit determines the at least one second item to recommend to the user based on the weight indicating the degree of connection of the one or more second edges when the weight indicating the degree of connection of the third edge is equal to or greater than a first value.

6. The recommendation device described in claim 1, wherein the first determination unit determines a weight related to the degree of connection between the first user node and the one or more first item nodes for each of the one or more first edges, and the recommendation unit determines the at least one first item to recommend to the avatar based on the weight indicating the degree of connection of the one or more first edges when the weight indicating the degree of connection of the third edge is equal to or greater than a first value.

7. The recommendation device according to claim 1, wherein the third determination unit determines the weight based on a distance between a first attribute vector corresponding to the first user node and a second attribute vector corresponding to the second user node.

8. A recommendation device as described in claim 7, wherein each of the first attribute vector and the second attribute vector has one or more attributes as components, the value of a component of the first attribute vector corresponding to each of the one or more attributes indicates the probability that the user has each attribute in the real space, and the value of a component of the second attribute vector corresponding to each of the one or more attributes indicates the probability that the avatar has each attribute in the virtual space.

Citation Information

Patent Citations

  • Virtual reality space providing system, and virtual reality space providing method and program

    JP2012014676A

  • Information processor, information processing method and program

    JP2019160064A

  • Real-time graph-based embedding construction method and system for personalized content recommendation

    JP2021026779A

  • Information processing system and information processing method

    JP7281241B1