WO2023095456A1 - レコメンド装置 - Google Patents

レコメンド装置 Download PDF

Info

Publication number
WO2023095456A1
WO2023095456A1 PCT/JP2022/037344 JP2022037344W WO2023095456A1 WO 2023095456 A1 WO2023095456 A1 WO 2023095456A1 JP 2022037344 W JP2022037344 W JP 2022037344W WO 2023095456 A1 WO2023095456 A1 WO 2023095456A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
line
content
sight
trajectory
Prior art date
Application number
PCT/JP2022/037344
Other languages
English (en)
French (fr)
Inventor
邦宏 相場
素平 小野
航 明石
翔 前沖
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Publication of WO2023095456A1 publication Critical patent/WO2023095456A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements

Definitions

  • One aspect of the present disclosure relates to a recommendation device that recommends content to users.
  • a recommendation system that recommends products, etc. according to the user to the user is known.
  • Such a recommendation system extracts information related to the user's interest using, for example, a log of user clicks or page transitions related to product selection. Then, the recommendation system sorts products using information about the user's interests, and recommends the sorted products to the user.
  • Patent Literature 1 an image including a face is presented to a user, the bias of the user's line of sight in the image is calculated based on line-of-sight information regarding the movement of the user's line of sight, and recommended information determined based on the line-of-sight bias. is disclosed to the user.
  • Logs of user clicks or page transitions related to product selection may be affected by erroneous operations. Therefore, it may not be possible to recommend content that fully reflects the user's preferences based on these pieces of information.
  • the algorithm that makes recommendations simply using the movement of the line of sight as described in Patent Document 1, when the movement of the line of sight differs for each product, such as online shopping, what is the user's gaze focused on? It is difficult to discriminate whether or not the content has been used, and as a result, it may not be possible to appropriately discriminate the user's taste, and it may not be possible to recommend content that fully reflects the user's taste.
  • one aspect of the present disclosure aims to provide a recommendation device capable of recommending content that matches the user's taste.
  • a recommendation device includes an acquisition unit that acquires a line-of-sight image that visualizes the line-of-sight trajectory of a user who browses content displayed on a user terminal, and extracts a feature vector that indicates the feature amount of the line-of-sight image. a generation unit that generates a correspondence relationship between the content and the trajectory of the line of sight of the user as a user context based on the feature vector; A calculation unit and an output unit that outputs a recommendation result of content selected based on the score.
  • the line-of-sight image is converted into a feature quantity, thereby extracting a feature vector indicating the feature quantity of the line-of-sight trajectory of the user browsing the content. Then, based on the feature vector, a correspondence relationship between the content and the trajectory of the user's line of sight is generated as a user context. Furthermore, the score of each content is calculated based on such user context, and a recommendation result is output. Instead of determining what the user was gazing at (for example, what information the user was gazing at, such as content information such as price or product details), the trajectory of the line of sight is visualized and each content is identified.
  • a recommendation device capable of appropriately grasping the preferences of each user and recommending content that matches the preferences of the users.
  • FIG. 10 is a diagram illustrating generation of user context; It is a figure explaining the outline of the recommendation based on a line-of-sight vector.
  • 4 is a flowchart showing processing executed by a recommendation device; It is a figure which shows the hardware constitutions of a recommendation apparatus.
  • FIG. 1 is a diagram showing the functional configuration of the recommendation device 10 according to this embodiment.
  • the recommendation device 10 is a device that recommends content according to each user's preference to the user (that is, delivers the content to the user's user terminal 30).
  • a content is, for example, any tangible or intangible that is traded for a fee or for free, and is a concept that includes the provision of goods and services.
  • the recommendation device 10 learns the user's preference based on a line-of-sight image obtained by imaging the trajectory of the line of sight of the user browsing the content displayed on the user terminal 30 .
  • the recommendation device 10 selects content to be recommended to the user so that content that meets the user's taste is targeted for distribution.
  • the recommendation system 1 includes a recommendation device 10 and a user terminal 30.
  • the user terminal 30 is a communication terminal having a communication function, such as a smart phone, a tablet terminal, or a personal computer.
  • the user terminal 30 is communicably connected to the recommendation device 10 via a network.
  • the user terminal 30 has a function of displaying various screens, a function of detecting the trajectory of the user's line of sight, a function of transmitting various types of information to the recommendation device 10, and a function of receiving distribution of recommended content from the recommendation device 10. , and the ability to display the content.
  • the recommendation system 1 actually includes a plurality of user terminals 30 for each user.
  • the user terminal 30 displays a product detail screen for browsing products that are content.
  • the user terminal 30 detects the trajectory of the line of sight of the user browsing the content displayed on the user terminal 30 .
  • a method for detecting the trajectory of the line of sight is not limited.
  • the user terminal 30 may detect the trajectory of the user's viewpoint using the method of corneal reflection (PCCR).
  • PCCR corneal reflection
  • the user terminal 30 may include an infrared emitting device and an infrared camera as hardware configuration.
  • the user terminal 30 transmits information indicating the detected trajectory of the user's line of sight to the recommendation device 10 . Further, the user terminal 30 may transmit information indicating the user's purchase history regarding the content displayed on the user terminal 30 to the recommendation device 10 . Furthermore, the user terminal 30 may transmit user demographic data to the recommendation device 10 . Examples of demographic data include, but are not limited to, age, gender, place of residence, family structure, and occupation. Demographic data can be represented, for example, as numerical values or assigned codes (gender code, residence code, family structure code, occupation code, etc.). Furthermore, the user terminal 30 may transmit the user's content metadata to the recommendation device 10 .
  • the content metadata is metadata of the content that the user browsed last (immediately before). Content metadata includes, for example, class, genre, presence/absence of campaign, etc., but is not limited to these. Content metadata can be represented, for example, as a numerical value or assigned code (price range code, genre code, campaign code, etc.).
  • FIG. 2 is a diagram showing an example of a product detail screen G for browsing products.
  • the product detail screen G is, for example, a web page for online shopping.
  • the product detail screen G may be provided to the user terminal 30 by, for example, the recommendation device 10, or may be provided to the user terminal 30 by another external system.
  • Various types of information about the content are displayed on the product detail screen G.
  • FIG. In one example, the product detail screen G displays a product image C1, a product price C2, a detailed text C3, and additional information C4 relating to a hamburger.
  • the user terminal 30 detects the trajectory of the user's line of sight, for example, each time the product detail screen G is accessed. Also, the user terminal 30 may measure the browsing time of the content. The browsing time of the content may be the display time of the product detail screen G, for example.
  • FIG. 3 is a diagram illustrating an example of the line-of-sight trajectory V.
  • the trajectory V of the line of sight is the trajectory of the user's line of sight with respect to the content displayed on the product detail screen G.
  • the trajectory V of the line of sight is the trajectory of the user's line of sight with respect to the content detected when the product detail screen G is accessed for the first time.
  • the line of sight trajectory V is represented by a solid black line.
  • line-of-sight trajectory V indicates that line-of-sight moves in the order of product image C1, product price C2, detailed sentence C3, additional information C4, and detailed sentence C3.
  • the user terminal 30 transmits information indicating the detected line-of-sight trajectory V to the recommendation device 10 .
  • the information indicating the line-of-sight trajectory V has the browsing time of the content.
  • the recommendation device 10 receives information indicating the trajectory V of the line of sight.
  • the recommendation device 10 includes a storage unit 2, a line-of-sight image generation unit 11, an acquisition unit 12, an extraction unit 13, a generation unit 14, a calculation unit 15, and an output unit 16.
  • the storage unit 2 stores demographic data 21 and content metadata 22 of each user.
  • the recommendation device 10 stores the demographic data and content metadata of each user received from the user terminal 30 of each user in the storage unit 2 .
  • the recommendation device 10 may store, in the storage unit 2 , information indicating the trajectory of the line of sight received from the user terminal 30 and information indicating the user's purchase record regarding the content displayed on the user terminal 30 .
  • the line-of-sight image generation unit 11 generates a line-of-sight image that visualizes the trajectory of the user's line of sight. For example, the line-of-sight image generation unit 11 generates a line-of-sight image that visualizes the line-of-sight trajectory V based on information indicating the line-of-sight trajectory V received from the user terminal 30, for example. The line-of-sight image generation unit 11 outputs the generated line-of-sight image to the acquisition unit 12 .
  • the acquisition unit 12 acquires a line-of-sight image that is an image of the trajectory of the line of sight of the user browsing the content displayed on the user terminal 30 .
  • the acquisition unit 12 acquires a line-of-sight image in which the line-of-sight trajectory V is imaged by the line-of-sight image generation unit 11 .
  • the acquisition unit 12 acquires the browsing time of content and user demographic data. For example, the acquisition unit 12 acquires the browsing time during which the user browsed the content based on the information indicating the line-of-sight trajectory V received from the user terminal 30, for example. The acquisition unit 12 also acquires demographic data of each user stored in the storage unit 2 .
  • the extraction unit 13 extracts a feature vector (line-of-sight vector) indicating the feature amount of the line-of-sight image. For example, the extraction unit 13 generates numerical data obtained by converting the line-of-sight image into a feature quantity. Then, the extraction unit 13 extracts the first principal component as a line-of-sight vector by performing principal component analysis on the numerical data.
  • a feature vector line-of-sight vector
  • FIG. 4 is a diagram for explaining an example of a line-of-sight image converted into a feature quantity.
  • the line-of-sight image VP shown in FIG. 4 is a line-of-sight image obtained by imaging the trajectory V of the line of sight.
  • the extraction unit 13 extracts the feature amount of the line-of-sight image VP and generates two-dimensional or three-dimensional numerical data.
  • the extraction unit 13 divides the line-of-sight image VP into 6 ⁇ 6 regions, and acquires the feature amount in each divided region. Then, the extraction unit 13 generates numerical data VA in a two-dimensional array having 6 rows ⁇ 6 columns of elements corresponding to the feature amounts in each region.
  • the numerical value of each element of the numerical data VA indicates how much the user viewed which part of the content. For example, the higher the numerical value of the element of the numerical data VA, the higher the density of the line-of-sight trajectory V in the line-of-sight image VP. Also, the lower the numerical value of the element of the numerical data VA, the lower the density of the line-of-sight trajectory V in the line-of-sight image VP.
  • the numerical value of each element of the numerical data VA does not consider (determine) the position of the information on the content. More specifically, the numerical value of each element of the numerical data VA does not consider (discriminate) the positions of the product image C1, product price C2, detailed text C3, incidental information C4, etc. on the product detail screen G1.
  • FIG. 5 is a diagram illustrating extraction of a line-of-sight vector.
  • the extraction unit 13 extracts the first principal component as the line-of-sight vector by performing principal component analysis on the numerical data VA.
  • the extraction unit 13 extracts the acquired first principal component as the line-of-sight vector V t,a .
  • t is the number of trials (number of visits) and a is the content.
  • the line-of-sight vector extracted in this manner may differ for each trajectory of the user's line of sight, each visit, or each content. That is, the line-of-sight vector V t,a can be said to be the line-of-sight vector of "a certain visit to a certain content by a certain user".
  • the generation unit 14 generates the correspondence relationship between the content and the line-of-sight locus of the user as a user context based on the line-of-sight vector, which is a feature vector. For example, the generation unit 14 generates the correspondence relationship between the content and the trajectory of the user's line of sight as the user context based on the feature vector, browsing time, and demographic data.
  • FIG. 6 is a diagram illustrating generation of user context.
  • the acquisition unit 12 further acquires content metadata C t,a , demographic data U t,a , and browsing time T t,a .
  • t is the number of trials (visits), and a is the content.
  • the generation unit 14 generates the user context z t,a based on the line-of-sight vector V t,a , the content metadata C t,a , the demographic data U t,a , and the browsing time T t ,a. .
  • the line-of-sight vector V t,a has [v_1, v_2, .
  • the content metadata C t,a has [1,4,1] as elements.
  • Each element in the content metadata Ct ,a indicates a price range code, a genre code, and a campaign code, respectively.
  • the demographic data U t,a has [29,1,20] as elements.
  • Each element in demographic data U t,a indicates age, gender code, and place of residence code, respectively.
  • the viewing time T t,a has as a component [20] indicating the viewing time in seconds.
  • the generation unit 14 combines the line-of-sight vector V t,a , the content metadata C t,a , the demographic data U t,a , and the browsing time T t,a to generate the user context z t,a Generate.
  • the generation unit 14 may generate the user context z t,a based only on the line-of-sight vector V t,a .
  • the generation unit 14 generates a user context z t,a based on one or more of a line-of-sight vector V t,a , content metadata C t,a , demographic data U t,a , and viewing time T t ,a. may be generated.
  • the calculation unit 15 calculates the score of each of a plurality of contents of recommendation candidates using the user context. For example, the calculation unit 15 calculates the content score pt,a by the following equation (1) to which the contextual bandit algorithm is applied.
  • t is the number of trials (number of visits), and a is the content (corresponding to arm in the ContextualBandit algorithm).
  • ( ⁇ a ) ⁇ is a term (utilization term) whose value is updated by learning from feedback of past user behavior as to what kind of score each content should be assigned to the user context.
  • ⁇ s t,a is a term (search term) that is updated along with the update of ( ⁇ a ) ⁇ and represents the uncertainty of the score (the degree to be searched) for each content.
  • the number of ( ⁇ a ) ⁇ and the number of ⁇ s t,a exist corresponding to the number of contents.
  • the Contextual Bandit Algorithm calculates a score by performing a search without correct data, and learns the user context in the process of calculating the score.
  • the calculation unit 15 learns the user context as, for example, "a user who makes such a line-of-sight movement for this content”. Note that when the user context includes content metadata, a model is created that learns the preferences of “the user who browsed content with such characteristics just before and made such eye movement”.
  • Correct answer data may be used for the Contextual Bandit algorithm.
  • the acquisition unit 12 further acquires correct answer data indicating the user's purchase record of the content displayed on the user terminal. Then, the calculation unit 15 learns the user context zt,a using the correct answer data in calculating the score.
  • the output unit 16 outputs a recommendation result of content selected based on the score. For example, the output unit 16 selects one or a plurality of contents from a plurality of contents in descending order of the score pt ,a , and transmits the recommendation result of the selected contents to the user terminal 30 .
  • FIG. 7 is a diagram for explaining an overview of recommendations based on line-of-sight vectors.
  • the generation unit 14 combines the line-of-sight vector V t,a , the content metadata C t,a , the demographic data U t,a , and the browsing time T t,a to generate the user context z t,a Generate.
  • the calculation unit 15 calculates a score for each of a plurality of contents as recommendation candidates using the user context.
  • the calculation unit 15 also learns the user context zt,a in calculating the score using the learning model E (for example, the Contextual Bandit algorithm).
  • the output unit 16 selects one or a plurality of contents in descending order of score from a plurality of contents, and transmits the recommendation result of the selected contents to the user terminal 30 .
  • the user terminal 30 displays the received recommendation result.
  • the user terminal 30 detects the trajectory of the user's line of sight (step S1).
  • the user terminal 30 detects the trajectory V of the user's line of sight with respect to the content while the product detail screen G shown in FIG. 3 is being displayed.
  • the user terminal 30 transmits information indicating the detected line-of-sight trajectory V to the recommendation device 10 .
  • the acquisition unit 12 acquires a line-of-sight image that is an image of the trajectory of the line of sight of the user browsing the content displayed on the user terminal 30 (step S2). For example, the acquisition unit 12 acquires the line-of-sight image VP in which the line-of-sight trajectory V is imaged by the line-of-sight image generation unit 11 .
  • the acquisition unit 12 acquires the viewing time for viewing the content (step S3). For example, the acquisition unit 12 acquires the browsing time T t,a during which the user browsed the content based on the information indicating the line-of-sight trajectory V received from the user terminal 30, for example.
  • the acquisition unit 12 acquires user demographic data (step S4).
  • the acquisition unit 12 acquires user demographic data U t,a stored in the storage unit 2 .
  • the acquisition unit 12 acquires the user's content metadata (step S5).
  • the acquisition unit 12 acquires the user's content metadata Ct,a stored in the storage unit 2 .
  • the extraction unit 13 extracts a feature vector (line-of-sight vector) indicating the feature amount of the line-of-sight image (step S6). For example, the extraction unit 13 generates numerical data obtained by converting the line-of-sight image into a feature quantity. Then, the extraction unit 13 extracts the first principal component as a line-of-sight vector by performing principal component analysis on the numerical data. In one example, the extraction unit 13 generates numerical data VA obtained by converting the line-of-sight image VP into a feature quantity (see FIG. 4). Further, the extracting unit 13 extracts the first principal component as the line-of-sight vector V t,a by performing principal component analysis on the numerical data VA (see FIG. 5).
  • a feature vector line-of-sight vector
  • the generation unit 14 Based on the line-of-sight vector, which is a feature vector, the generation unit 14 generates a correspondence relationship between the content and the trajectory of the user's line of sight as a user context (step S7). For example, the generation unit 14 combines the line-of-sight vector V t,a , the content metadata C t,a , the demographic data U t,a , and the browsing time T t,a to generate the user context z t,a Generate.
  • the calculation unit 15 uses the user context to calculate the score of each of the plurality of contents that are the recommendation candidates (step S8). In one example, the calculation unit 15 calculates the score pt,a of the content using Equation (1). The calculation unit 15 also learns the user context z t ,a in the process of calculating the score pt ,a .
  • the acquisition unit 12 may further acquire correct answer data indicating the user's purchase record of the content displayed on the user terminal 30.
  • the calculation unit 15 may learn the user context using the correct answer data in calculating the score.
  • the output unit 16 outputs the recommendation result of the content selected based on the score (step S9). For example, the output unit 16 selects one or a plurality of contents from a plurality of contents in descending order of the score pt ,a , and transmits the recommendation result of the selected contents to the user terminal 30 .
  • the recommendation device 10 includes an acquisition unit 12 that acquires a line-of-sight image that is an image of the line-of-sight trajectory of a user browsing content displayed on a user terminal 30, and a feature vector that indicates the feature amount of the line-of-sight image.
  • an extraction unit 13 for extraction a generation unit 14 for generating a correspondence relationship between the content and the trajectory of the line of sight of the user as a user context based on the feature vector, and a score for each of a plurality of content of recommendation candidates using the user context.
  • an output unit 16 for outputting a recommendation result of content selected based on the score.
  • the line-of-sight image is converted into a feature quantity, thereby extracting a feature vector indicating the feature quantity of the line-of-sight trajectory of the user browsing the content. Then, based on the feature vector, a correspondence relationship between the content and the trajectory of the user's line of sight is generated as a user context. Furthermore, the score of each content is calculated based on such user context, and a recommendation result is output. Instead of determining what the user was gazing at (for example, what information the user was gazing at, such as content information such as price or product details), the trajectory of the line of sight is visualized and each content is identified. By calculating the score, it becomes possible to grasp the user's preferences abstractly on a behavioral basis.
  • the processing of the recommendation device 10 can be said to be reinforcement learning based on the line of sight trajectory.
  • Such reinforcement learning can be learned on the premise that a different line-of-sight trajectory occurs for each content, so it is easier to capture individuality than an algorithm that simply uses line-of-sight.
  • the recommendation device 10 can deal with the problem of not knowing what line of sight trajectory leads to what user's preference.
  • the acquisition unit 12 further acquires content metadata, which is meta information about the content last viewed by the user, the viewing time of the content, and demographic data of the user.
  • the generation unit 14 generates, as a user context, the correspondence relationship between the content and the trajectory of the user's line of sight, based on the feature vector, content metadata, demographic data, and browsing time.
  • User context reflects content metadata, demographic data, and viewing time in addition to feature vectors. Then, the score of each content is calculated based on such user context, and a recommendation result is output. Reflecting the user's characteristics in the recommendation results makes it easier for content that meets the user's tastes to appear in the recommendation results.
  • the acquisition unit 12 further acquires correct data indicating the user's purchase record of the content displayed on the user terminal 30 .
  • the calculation unit 15 learns the user context using the correct answer data in calculating the score. Correct data is reflected in the user context in addition to the feature vector. Then, the score of each content is calculated based on such user context, and a recommendation result is output. Reflecting the correct data in the recommendation result makes it easier for content that meets the user's taste to appear in the recommendation result.
  • the extraction unit 13 divides the line-of-sight image and the information about the content (for example, the product image C1, the product price C2, the detailed sentence C3, the incidental information C4, etc.) into regions that are associated with each other, and the feature amount in each divided region. may be obtained.
  • the acquisition unit 12 may further acquire the location of information regarding content from the user terminal 30 .
  • the generation unit 14 generates a correspondence relationship between the content and the trajectory of the line of sight of the user as a user context, based on the feature vector, the content metadata, the demographic data, the browsing time, and the position of the information about the content. good.
  • the user context reflects the position of the information about the content.
  • the calculation unit 15 may further learn the user context in which the position of the information regarding the content is reflected in the calculation of the score.
  • the user terminal 30 transmits the detected line-of-sight trajectory V to the recommendation device 10 .
  • the recommendation device 10 receives a line-of-sight image in which the line-of-sight trajectory V is imaged.
  • each functional block may be implemented using one device physically or logically coupled, or directly or indirectly using two or more physically or logically separated devices (e.g. , wired, wireless, etc.) and may be implemented using these multiple devices.
  • a functional block may be implemented by combining software in the one device or the plurality of devices.
  • Functions include judging, determining, determining, calculating, calculating, processing, deriving, examining, searching, checking, receiving, transmitting, outputting, accessing, resolving, selecting, choosing, establishing, comparing, assuming, expecting, assuming, Broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, etc.
  • a functional block (component) that performs transmission is called a transmitting unit or transmitter. In either case, as described above, the implementation method is not particularly limited.
  • the recommendation device 10 may function as a computer that performs information processing of the present disclosure.
  • FIG. 9 is a diagram illustrating an example of a hardware configuration of the recommendation device 10 according to an embodiment of the present disclosure.
  • the recommendation device 10 described above may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
  • the hardware configuration of the user terminal 30 may be the one described here.
  • the term "apparatus” can be read as a circuit, device, unit, or the like.
  • the hardware configuration of the recommendation device 10 may be configured to include one or more of each device shown in the figure, or may be configured without including some of the devices.
  • Each function in the recommendation device 10 is performed by causing the processor 1001 to perform calculations, controlling communication by the communication device 1004, controlling communication by the communication device 1004, and controlling the and by controlling at least one of reading and writing of data in the storage 1003 .
  • the processor 1001 for example, operates an operating system and controls the entire computer.
  • the processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, registers, and the like.
  • CPU central processing unit
  • each function in the recommendation device 10 described above may be implemented by the processor 1001 .
  • the processor 1001 reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 to the memory 1002, and executes various processes according to them.
  • programs program codes
  • software modules software modules
  • data etc.
  • the program a program that causes a computer to execute at least part of the operations described in the above embodiments is used.
  • each function of the recommendation device 10 may be implemented by a control program stored in the memory 1002 and running on the processor 1001 .
  • FIG. Processor 1001 may be implemented by one or more chips.
  • the program may be transmitted from a network via an electric communication line.
  • the memory 1002 is a computer-readable recording medium, and is composed of at least one of, for example, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. may be
  • ROM Read Only Memory
  • EPROM Erasable Programmable ROM
  • EEPROM Electrical Erasable Programmable ROM
  • RAM Random Access Memory
  • the memory 1002 may also be called a register, cache, main memory (main storage device), or the like.
  • the memory 1002 can store executable programs (program code), software modules, etc. for performing information processing according to an embodiment of the present disclosure.
  • the storage 1003 is a computer-readable recording medium, for example, an optical disc such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disc, a magneto-optical disc (for example, a compact disc, a digital versatile disc, a Blu-ray disk), smart card, flash memory (eg, card, stick, key drive), floppy disk, magnetic strip, and/or the like.
  • Storage 1003 may also be called an auxiliary storage device.
  • a storage medium included in the recommendation device 10 may be, for example, a database including at least one of the memory 1002 and the storage 1003, a server, or other suitable medium.
  • the communication device 1004 is hardware (transmitting/receiving device) for communicating between computers via at least one of a wired network and a wireless network, and is also called a network device, a network controller, a network card, a communication module, or the like.
  • the input device 1005 is an input device (for example, keyboard, mouse, microphone, switch, button, sensor, etc.) that receives input from the outside.
  • the output device 1006 is an output device (eg, display, speaker, LED lamp, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated (for example, a touch panel).
  • Each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information.
  • the bus 1007 may be configured using a single bus, or may be configured using different buses between devices.
  • the recommendation device 10 includes hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array).
  • DSP digital signal processor
  • ASIC Application Specific Integrated Circuit
  • PLD Physical Location Deposition
  • FPGA Field Programmable Gate Array
  • processor 1001 may be implemented using at least one of these pieces of hardware.
  • Input/output information may be stored in a specific location (for example, memory) or managed using a management table. Input/output information and the like can be overwritten, updated, or appended. The output information and the like may be deleted. The entered information and the like may be transmitted to another device.
  • the determination may be made by a value represented by one bit (0 or 1), by a true/false value (Boolean: true or false), or by numerical comparison (for example, a predetermined value).
  • notification of predetermined information is not limited to being performed explicitly, but may be performed implicitly (for example, not notifying the predetermined information). good too.
  • Software whether referred to as software, firmware, middleware, microcode, hardware description language or otherwise, includes instructions, instruction sets, code, code segments, program code, programs, subprograms, and software modules. , applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, and the like.
  • software, instructions, information, etc. may be transmitted and received via a transmission medium.
  • the software uses at least one of wired technology (coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.) and wireless technology (infrared, microwave, etc.) to website, Wired and/or wireless technologies are included within the definition of transmission medium when sent from a server or other remote source.
  • wired technology coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.
  • wireless technology infrared, microwave, etc.
  • system and “network” used in this disclosure are used interchangeably.
  • information, parameters, etc. described in the present disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information. may be represented.
  • determining and “determining” used in this disclosure may encompass a wide variety of actions.
  • “Judgement” and “determination” are, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (eg, lookup in a table, database, or other data structure);
  • "judgment” and “determination” are used for receiving (e.g., receiving information), transmitting (e.g., transmitting information), input, output, access (accessing) (for example, accessing data in memory) may include deeming that a "judgment” or “decision” has been made.
  • judgment and “decision” are considered to be “judgment” and “decision” by resolving, selecting, choosing, establishing, comparing, etc. can contain.
  • judgment and “decision” may include considering that some action is “judgment” and “decision”.
  • judgment (decision) may be read as “assuming”, “expecting”, “considering”, or the like.
  • connection means any direct or indirect connection or coupling between two or more elements, It can include the presence of one or more intermediate elements between two elements being “connected” or “coupled.” Couplings or connections between elements may be physical, logical, or a combination thereof. For example, “connection” may be read as "access”.
  • two elements are defined using at least one of one or more wires, cables, and printed electrical connections and, as some non-limiting and non-exhaustive examples, in the radio frequency domain. , electromagnetic energy having wavelengths in the microwave and optical (both visible and invisible) regions, and the like.
  • any reference to elements using the "first,” “second,” etc. designations used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, reference to a first and second element does not imply that only two elements can be employed or that the first element must precede the second element in any way.
  • a and B are different may mean “A and B are different from each other.”
  • the term may also mean that "A and B are different from C”.
  • Terms such as “separate,” “coupled,” etc. may also be interpreted in the same manner as “different.”

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

レコメンド装置10は、ユーザ端末30に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像を取得する取得部12と、視線画像の特徴量を示す特徴ベクトルを抽出する抽出部13と、特徴ベクトルに基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する生成部14と、ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する算出部15と、スコアに基づいて選択したコンテンツのレコメンド結果を出力する出力部16と、を備える。

Description

レコメンド装置
 本開示の一側面は、ユーザにコンテンツを推薦するレコメンド装置に関する。
 オンラインショッピング等において、ユーザに応じた商品等をユーザに推薦するレコメンドシステムが知られている。このようなレコメンドシステムは、例えば、商品の選択に係るユーザのクリック又はページ遷移のログ等を用いてユーザの興味に関する情報を抽出する。そして、レコメンドシステムは、ユーザの興味に関する情報を用いて商品をソートし、ソートされた商品をユーザに推薦する。
 特許文献1には、ユーザに対して顔を含む画像を提示し、ユーザの視線の動きに関する視線情報に基づいて画像におけるユーザの視線の偏りを計算し、視線の偏りに基づいて決定したレコメンド情報をユーザに提示するレコメンド装置が開示されている。
特開2019-192072号公報
 商品の選択に係るユーザのクリック又はページ遷移のログ等は、誤操作等の影響があり得る。そのため、これらの情報に基づいてユーザの嗜好を十分に反映させたコンテンツをレコメンドできない場合がある。また、特許文献1に記載されたような単に視線の動きを用いてレコメンドするアルゴリズムにおいては、例えばオンラインショッピング等のように商品ごとに異なる視線の動きが生じる場合に、ユーザが何を注視していたのかを判別することが難しく、これによって、ユーザの嗜好を適切に判別できず、ユーザの嗜好を十分に反映させたコンテンツをレコメンドできない場合がある。
 そこで、本開示の一側面は、ユーザの嗜好に合ったコンテンツをレコメンドすることが可能なレコメンド装置を提供することを目的とする。
 本開示の一側面に係るレコメンド装置は、ユーザ端末に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像を取得する取得部と、視線画像の特徴量を示す特徴ベクトルを抽出する抽出部と、特徴ベクトルに基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する生成部と、ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する算出部と、スコアに基づいて選択したコンテンツのレコメンド結果を出力する出力部と、を備える。
 本開示の一側面に係るレコメンド装置においては、視線画像が特徴量化されることによって、コンテンツを閲覧するユーザの視線の軌跡の特徴量を示す特徴ベクトルが抽出される。そして、特徴ベクトルに基づいてコンテンツとユーザの視線の軌跡との対応関係がユーザコンテキストとして生成される。さらに、このようなユーザコンテキストを基に各コンテンツのスコアが算出され、レコメンド結果が出力される。ユーザが何を注視していたのか(例えばコンテンツの情報である価格又は商品詳細等の何の情報を注視していたのか)を判別するのではなく、視線の軌跡が画像化されて各コンテンツのスコアが算出されることにより、ユーザの嗜好を行動ベースで抽象的に捉えることが可能になる。このような嗜好の捉え方によれば、ユーザが何を注視していたのかを判別することによるコンテンツの情報(例えば価格及び商品詳細等)に関するユーザの嗜好を判別する必要がない。そして、視線画像を基にしたスコアにより、ユーザの視線の軌跡に応じたコンテンツを選択できる。その結果、ユーザの嗜好に合ったコンテンツをレコメンドすることができる。
 本開示の一側面によれば、ユーザごとの嗜好を適切に捉え、ユーザの嗜好に合ったコンテンツをレコメンドすることが可能なレコメンド装置を提供することができる。
実施形態に係るレコメンド装置の機能構成を示す図である。 商品を閲覧するための商品詳細画面の一例を示す図である。 視線の軌跡の一例を説明する図である。 特徴量化した視線画像の一例を説明する図である。 視線ベクトルの抽出について説明する図である。 ユーザコンテキストの生成について説明する図である。 視線ベクトルを基にしたレコメンドの概略について説明する図である。 レコメンド装置が実行する処理を示すフローチャートである。 レコメンド装置のハードウェア構成を示す図である。
 以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
 図1は、本実施形態に係るレコメンド装置10の機能構成を示す図である。レコメンド装置10は、各ユーザの嗜好に沿ったコンテンツをユーザに推薦する(すなわち、ユーザのユーザ端末30に配信する)装置である。コンテンツとは、例えば、有償または無償で取引される任意の有体物又は無体物のことをいい、商品及びサービスの提供を含む概念である。レコメンド装置10は、ユーザ端末30に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像に基づいて、ユーザの嗜好を学習する。レコメンド装置10は、ユーザの嗜好に沿ったコンテンツが配信対象となるように、ユーザに推薦するコンテンツを選択する。
 図1に示されるように、レコメンドシステム1は、レコメンド装置10と、ユーザ端末30とを含んで構成されている。ユーザ端末30は、通信機能を有した通信端末であり、例えばスマートフォン、タブレット型端末、パーソナルコンピュータ等である。ユーザ端末30は、ネットワークを介してレコメンド装置10と通信可能に接続されている。ユーザ端末30は、各種画面を表示する機能と、ユーザの視線の軌跡を検知する機能と、各種情報をレコメンド装置10に送信する機能と、レコメンド装置10からレコメンド対象のコンテンツの配信を受ける機能と、該コンテンツを表示する機能と、を少なくとも有している。図1においてはユーザ端末30が1台のみ図示されているが、実際には各ユーザ分、複数台のユーザ端末30がレコメンドシステム1に含まれている。
 例えば、ユーザ端末30は、コンテンツである商品を閲覧するための商品詳細画面を表示する。また、ユーザ端末30は、ユーザ端末30に表示されたコンテンツを閲覧するユーザの視線の軌跡を検知する。視線の軌跡の検知方法は限定されない。一例として、ユーザ端末30は、角膜反射法(PCCR)を用いてユーザの視点の軌跡を検知してもよい。角膜反射法を採用する場合、ユーザ端末30はハードウェア構成として赤外線出射装置および赤外線カメラを備えてもよい。
 ユーザ端末30は、検知したユーザの視線の軌跡を示す情報をレコメンド装置10に送信する。また、ユーザ端末30は、ユーザ端末30に表示されたコンテンツに関するユーザの購入実績を示す情報をレコメンド装置10に送信してもよい。さらに、ユーザ端末30は、ユーザのデモグラフィックデータをレコメンド装置10に送信してもよい。デモグラフィックデータとしては、例えば年齢、性別、居住地、家族構成、職業等が挙げられるがこれらに限られない。デモグラフィックデータは、例えば数値又は割り当てられた符号(性別コード、居住地コード、家族構成コード、職業コード等)として表され得る。さらに、ユーザ端末30は、ユーザのコンテンツメタデータをレコメンド装置10に送信してもよい。コンテンツメタデータとは、ユーザが最後(直前)に閲覧したコンテンツのメタ情報である。コンテンツメタデータとしては、例えば格帯、ジャンル、キャンペーン有無等が挙げられるがこれらに限られない。コンテンツメタデータは、例えば数値又は割り当てられた符号(価格帯コード、ジャンルコード、キャンペーンコード等)として表され得る。
 図2は、商品を閲覧するための商品詳細画面Gの一例を示す図である。商品詳細画面Gは、例えばオンラインショッピングのWebページである。商品詳細画面Gは、例えばレコメンド装置10によってユーザ端末30に提供されてもよいし、他の外部システムによってユーザ端末30に提供されてもよい。商品詳細画面Gには、コンテンツに関する各種情報が表示されている。一例では、商品詳細画面Gには、ハンバーガーに関する商品画像C1、商品価格C2、詳細文C3、及び付帯情報C4が表示されている。
 ユーザ端末30は、例えば商品詳細画面Gに対するアクセスごとにユーザの視線の軌跡を検知する。また、ユーザ端末30は、コンテンツの閲覧時間を計測してもよい。コンテンツの閲覧時間は、例えば商品詳細画面Gの表示時間であってもよい。
 図3は、視線の軌跡Vの一例を説明する図である。視線の軌跡Vは、商品詳細画面Gに表示されたコンテンツに対するユーザの視線の軌跡である。一例では、視線の軌跡Vは、商品詳細画面Gの初回アクセス時に検知されたコンテンツに対するユーザの視線の軌跡である。図3において、視線の軌跡Vは、黒色の実線により表されている。例えば、視線の軌跡Vは、商品画像C1、商品価格C2、詳細文C3、付帯情報C4、詳細文C3の順に視線が移動したことを示す。
 ユーザ端末30は、検知した視線の軌跡Vを示す情報をレコメンド装置10に送信する。視線の軌跡Vを示す情報は、コンテンツの閲覧時間を有する。レコメンド装置10は、視線の軌跡Vを示す情報を受信する。
 図1に戻り、レコメンド装置10は、記憶部2と、視線画像生成部11と、取得部12と、抽出部13と、生成部14と、算出部15と、出力部16と、を備えている。
 記憶部2は、各ユーザのデモグラフィックデータ21及びコンテンツメタデータ22を記憶する。例えば、レコメンド装置10は、各ユーザのユーザ端末30から受信した各ユーザのデモグラフィックデータ及びコンテンツメタデータを記憶部2に記憶する。レコメンド装置10は、ユーザ端末30から受信した視線の軌跡を示す情報、及びユーザ端末30に表示されたコンテンツに関するユーザの購入実績を示す情報を記憶部2に記憶してもよい。
 視線画像生成部11は、ユーザの視線の軌跡を画像化した視線画像を生成する。例えば、視線画像生成部11は、例えばユーザ端末30から受信した視線の軌跡Vを示す情報に基づいて、視線の軌跡Vを画像化した視線画像を生成する。視線画像生成部11は、生成した視線画像を取得部12に出力する。
 取得部12は、ユーザ端末30に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像を取得する。例えば、取得部12は、視線画像生成部11によって視線の軌跡Vが画像化された視線画像を取得する。
 取得部12は、コンテンツを閲覧した閲覧時間及びユーザのデモグラフィックデータを取得する。例えば、取得部12は、例えばユーザ端末30から受信した視線の軌跡Vを示す情報に基づいて、ユーザがコンテンツを閲覧した閲覧時間を取得する。また、取得部12は、記憶部2に記憶されている各ユーザのデモグラフィックデータを取得する。
 抽出部13は、視線画像の特徴量を示す特徴ベクトル(視線ベクトル)を抽出する。例えば、抽出部13は、視線画像を特徴量化した数値データを生成する。そして、抽出部13は、数値データに対し主成分分析を行うことにより、第1主成分を視線ベクトルとして抽出する。
 図4は、特徴量化した視線画像の一例を説明する図である。図4に示される視線画像VPは、視線の軌跡Vを画像化した視線画像である。例えば、抽出部13は、視線画像VPの特徴量を抽出し、二次元又は三次元の数値データを生成する。一例として、抽出部13は、視線画像VPを6×6の領域に分割し、分割した各領域における特徴量を取得する。そして、抽出部13は、各領域における特徴量にそれぞれ対応する6行×6列の要素を有する二次元配列の数値データVAを生成する。
 数値データVAの各要素の数値は、ユーザがコンテンツのどの部分をどのぐらい見たかを示している。例えば、数値データVAの要素の数値が高いほど、視線画像VPにおける視線の軌跡Vの密度が高い。また、数値データVAの要素の数値が低いほど、視線画像VPにおける視線の軌跡Vの密度が低い。ここで、数値データVAの各要素の数値は、コンテンツに関する情報がどの位置にあるかについて考慮(判別)していない。より詳細には、数値データVAの各要素の数値は、商品詳細画面G1上の商品画像C1、商品価格C2、詳細文C3、及び付帯情報C4等の位置を考慮(判別)していない。
 図5は、視線ベクトルの抽出について説明する図である。例えば、抽出部13は、数値データVAに対し主成分分析を行うことにより、第1主成分を視線ベクトルとして抽出する。一例では、抽出部13は、取得した第1主成分を視線ベクトルVt,aとして抽出する。ここで、tは試行回(訪問回)、aはコンテンツである。このように抽出される視線ベクトルは、ユーザの視線の軌跡ごと、訪問回ごと、又はコンテンツごとに異なり得る。すなわち、視線ベクトルVt,aは、「あるユーザの、あるコンテンツに対する、ある訪問回の」視線ベクトルと言える。
 図1に戻り、生成部14は、特徴ベクトルである視線ベクトルに基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する。例えば、生成部14は、特徴ベクトル、閲覧時間及びデモグラフィックデータに基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する。
 図6は、ユーザコンテキストの生成について説明する図である。例えば、取得部12は、コンテンツメタデータCt,a、デモグラフィックデータUt,a、及び閲覧時間Tt,aを更に取得する。tは試行回(訪問回)、aはコンテンツである。そして、生成部14は、視線ベクトルVt,a、コンテンツメタデータCt,a、デモグラフィックデータUt,a、及び閲覧時間Tt,aに基づいて、ユーザコンテキストzt,aを生成する。一例では、視線ベクトルVt,aは、要素として特徴量の第1主成分をそれぞれ示す[v_1,v_2,・・・,v_n]を有する。コンテンツメタデータCt,aは、要素として[1,4,1]を有する。コンテンツメタデータCt,aにおける各要素は、それぞれ価格帯コード、ジャンルコード、キャンペーンコードを示す。デモグラフィックデータUt,aは、要素として[29,1,20]を有する。デモグラフィックデータUt,aにおける各要素は、それぞれ年齢、性別コード、居住地コードを示す。閲覧時間Tt,aは、要素として閲覧時間の秒数を示す[20]を有する。
 例えば、生成部14は、視線ベクトルVt,a、コンテンツメタデータCt,a、デモグラフィックデータUt,a、及び閲覧時間Tt,aを結合させることによって、ユーザコンテキストzt,aを生成する。生成部14は、視線ベクトルVt,aのみに基づいてユーザコンテキストzt,aを生成してもよい。生成部14は、視線ベクトルVt,a、コンテンツメタデータCt,a、デモグラフィックデータUt,a、及び閲覧時間Tt,aの一つ又は複数に基づいてユーザコンテキストzt,aを生成してもよい。
 図1に戻り、算出部15は、ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する。例えば、算出部15は、Contextual Banditアルゴリズムを適用した次式(1)によりコンテンツのスコアpt,aを算出する。
Figure JPOXMLDOC01-appb-M000001
 ここで、tは試行回(訪問回)、aはコンテンツ(ContextualBanditアルゴリズムにおけるarmに対応する)である。(θa)^は、ユーザコンテキストに対して、各コンテンツがどのようなスコアをつければよいか過去のユーザ行動のフィードバックを受けて学習し、値が更新される項(活用項)である。α√st,aは、(θa)^の更新と共に更新され、各コンテンツに対するスコアの不確かさ(探索すべき度合い)を表す項(探索項)である。(θa)^の数、及びα√st,aの数は、コンテンツの数に対応して存在する。Contextual Banditアルゴリズムは、正解データがない状態で探索を行うことによりスコアを算出し、スコアの算出過程でユーザコンテキストを学習する。算出部15は、例えば「このコンテンツにはこのような視線の動きをするユーザ」としてユーザコンテキストを学習する。なお、ユーザコンテキストにコンテンツメタデータが含まれる場合、「直前にこのような特徴のコンテンツを閲覧して、このような視線の動きをしたユーザ」の好みを学習するモデルが作成される。
 Contextual Banditアルゴリズムには、正解データが用いられてもよい。例えば、取得部12は、ユーザがユーザ端末に表示されたコンテンツを購入した実績を示す正解データを更に取得する。そして、算出部15は、スコアの算出において正解データを用いてユーザコンテキストzt,aを学習する。
 出力部16は、スコアに基づいて選択したコンテンツのレコメンド結果を出力する。例えば、出力部16は、複数のコンテンツのうちからスコアpt,aの降順に1つ又は複数のコンテンツを選択し、選択したコンテンツのレコメンド結果をユーザ端末30に送信する。
 図7は、視線ベクトルを基にしたレコメンドの概略について説明する図である。例えば、生成部14は、視線ベクトルVt,a、コンテンツメタデータCt,a、デモグラフィックデータUt,a、及び閲覧時間Tt,aを結合させることによって、ユーザコンテキストzt,aを生成する。算出部15は、ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する。また、算出部15は、学習モデルE(例えばContextual Banditアルゴリズム)を用いたスコアの算出においてユーザコンテキストzt,aを学習する。出力部16は、複数のコンテンツのうちからスコアの降順に1つ又は複数のコンテンツを選択し、選択したコンテンツのレコメンド結果をユーザ端末30に送信する。ユーザ端末30は、受信したレコメンド結果を表示する。
 次に、レコメンドシステム1が実行する処理について、図8に示されるフローチャートを用いて説明する。
 ユーザ端末30は、ユーザの視線の軌跡を検知する(ステップS1)。ユーザ端末30は、図3に示される商品詳細画面Gの表示中に、コンテンツに対するユーザの視線の軌跡Vを検知する。ユーザ端末30は、検知した視線の軌跡Vを示す情報をレコメンド装置10に送信する。
 取得部12は、ユーザ端末30に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像を取得する(ステップS2)。例えば、取得部12は、視線画像生成部11によって視線の軌跡Vが画像化された視線画像VPを取得する。
 取得部12は、コンテンツを閲覧した閲覧時間を取得する(ステップS3)。例えば、取得部12は、例えばユーザ端末30から受信した視線の軌跡Vを示す情報に基づいて、ユーザがコンテンツを閲覧した閲覧時間Tt,aを取得する。
 取得部12は、ユーザのデモグラフィックデータを取得する(ステップS4)。例えば、取得部12は、記憶部2に記憶されているユーザのデモグラフィックデータUt,aを取得する。
 取得部12は、ユーザのコンテンツメタデータを取得する(ステップS5)。例えば、取得部12は、記憶部2に記憶されているユーザのコンテンツメタデータCt,aを取得する。
 抽出部13は、視線画像の特徴量を示す特徴ベクトル(視線ベクトル)を抽出する(ステップS6)。例えば、抽出部13は、視線画像を特徴量化した数値データを生成する。そして、抽出部13は、数値データに対し主成分分析を行うことにより、第1主成分を視線ベクトルとして抽出する。一例では、抽出部13は、視線画像VPを特徴量化した数値データVAを生成する(図4参照)。また、抽出部13は、数値データVAに対し主成分分析を行うことにより、第1主成分を視線ベクトルVt,aとして抽出する(図5参照)。
 生成部14は、生成部14は、特徴ベクトルである視線ベクトルに基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する(ステップS7)。例えば、生成部14は、視線ベクトルVt,a、コンテンツメタデータCt,a、デモグラフィックデータUt,a、及び閲覧時間Tt,aを結合させることによって、ユーザコンテキストzt,aを生成する。
 算出部15は、ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する(ステップS8)。一例では、算出部15は、式(1)によりコンテンツのスコアpt,aを算出する。また、算出部15は、スコアpt,aの算出過程でユーザコンテキストzt,aを学習する。
 ステップS8の処理において、取得部12は、ユーザがユーザ端末30に表示されたコンテンツを購入した実績を示す正解データを更に取得してもよい。算出部15は、スコアの算出において正解データを用いてユーザコンテキストを学習してもよい。
 出力部16は、スコアに基づいて選択したコンテンツのレコメンド結果を出力する(ステップS9)。例えば、出力部16は、複数のコンテンツのうちからスコアpt,aの降順に1つ又は複数のコンテンツを選択し、選択したコンテンツのレコメンド結果をユーザ端末30に送信する。
 次に、本実施形態に係るレコメンド装置10の作用効果について説明する。
 本実施形態に係るレコメンド装置10は、ユーザ端末30に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像を取得する取得部12と、視線画像の特徴量を示す特徴ベクトルを抽出する抽出部13と、特徴ベクトルに基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する生成部14と、ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する算出部15と、スコアに基づいて選択したコンテンツのレコメンド結果を出力する出力部16と、を備える。
 本実施形態に係るレコメンド装置10では、視線画像が特徴量化されることによって、コンテンツを閲覧するユーザの視線の軌跡の特徴量を示す特徴ベクトルが抽出される。そして、特徴ベクトルに基づいてコンテンツとユーザの視線の軌跡との対応関係がユーザコンテキストとして生成される。さらに、このようなユーザコンテキストを基に各コンテンツのスコアが算出され、レコメンド結果が出力される。ユーザが何を注視していたのか(例えばコンテンツの情報である価格又は商品詳細等の何の情報を注視していたのか)を判別するのではなく、視線の軌跡が画像化されて各コンテンツのスコアが算出されることにより、ユーザの嗜好を行動ベースで抽象的に捉えることが可能になる。このような嗜好の捉え方によれば、ユーザが何を注視していたのかを判別することによるコンテンツの情報(例えば価格及び商品詳細等)に関するユーザの嗜好を判別する必要がない。そして、視線画像を基にしたスコアにより、ユーザの視線の軌跡に応じたコンテンツを選択できる。その結果、ユーザの嗜好に合ったコンテンツをレコメンドすることができる。
 なお、レコメンド装置10の処理は、視線の軌跡を基にした強化学習であると言える。このような強化学習は、コンテンツごとに異なる視線の軌跡が生じる前提で学習可能であるため、単に視線を用いたアルゴリズムよりも個性を捉えやすい。レコメンド装置10は、強化学習を用いることにより、どのような視線の軌跡がどのようなユーザの嗜好に繋がるかが分からない問題にも対処できる。
 上述したレコメンド装置10において、取得部12は、ユーザが最後に閲覧したコンテンツのメタ情報であるコンテンツメタデータ、コンテンツを閲覧した閲覧時間及びユーザのデモグラフィックデータを更に取得する。生成部14は、特徴ベクトル、コンテンツメタデータ、デモグラフィックデータ、及び閲覧時間に基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する。ユーザコンテキストには、特徴ベクトルに加えてコンテンツメタデータ、デモグラフィックデータ、及び閲覧時間が反映される。そして、このようなユーザコンテキストを基に各コンテンツのスコアが算出され、レコメンド結果が出力される。ユーザの特性がレコメンド結果に反映されることにより、レコメンド結果には、ユーザの嗜好に沿ったコンテンツが出現されやすくなる。
 上述したレコメンド装置10において、取得部12は、ユーザがユーザ端末30に表示されたコンテンツを購入した実績を示す正解データを更に取得する。算出部15は、スコアの算出において正解データを用いてユーザコンテキストを学習する。ユーザコンテキストには、特徴ベクトルに加えて正解データが反映される。そして、このようなユーザコンテキストを基に各コンテンツのスコアが算出され、レコメンド結果が出力される。正解データがレコメンド結果に反映されることにより、レコメンド結果には、ユーザの嗜好に沿ったコンテンツが出現されやすくなる。
(変形例)
 上述の実施形態では、図4に示される数値データVAの各要素の数値は、コンテンツに関する情報がどの位置にあるかについて考慮していないと説明したが、抽出部13は、コンテンツに関する情報の位置を考慮して数値データを生成してもよい。例えば、抽出部13は、視線画像とコンテンツに関する情報(例えば商品画像C1、商品価格C2、詳細文C3、及び付帯情報C4等)とを対応付けた領域に分割し、分割した各領域における特徴量を取得してもよい。或いは、取得部12は、ユーザ端末30からコンテンツに関する情報の位置を更に取得してもよい。そして、生成部14は、特徴ベクトル、コンテンツメタデータ、デモグラフィックデータ、閲覧時間、及びコンテンツに関する情報の位置に基づいて、コンテンツとユーザの視線の軌跡との対応関係をユーザコンテキストとして生成してもよい。これらの処理によれば、ユーザコンテキストにコンテンツに関する情報の位置が反映される。算出部15は、スコアの算出においてコンテンツに関する情報の位置が反映されたユーザコンテキストをさらに学習してもよい。
 上述の実施形態では、ユーザ端末30は、検知した視線の軌跡Vをレコメンド装置10に送信しているが、ユーザ端末30は、検知した視線の軌跡Vを画像化した視線画像をレコメンド装置10に送信してもよい。この場合、レコメンド装置10は、視線の軌跡Vが画像化された視線画像を受信する。
 なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
 機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
 例えば、本開示の一実施の形態におけるレコメンド装置10は、本開示の情報処理を行うコンピュータとして機能してもよい。図9は、本開示の一実施の形態に係るレコメンド装置10のハードウェア構成の一例を示す図である。上述のレコメンド装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。また、ユーザ端末30のハードウェア構成も、ここで説明するものであってもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンド装置10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 レコメンド装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述のレコメンド装置10における各機能は、プロセッサ1001によって実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、レコメンド装置10における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。レコメンド装置10が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
 また、レコメンド装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
 本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
 本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
 また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
 本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
 「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
 本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
 本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
 本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
 10…レコメンド装置、11…視線画像生成部、12…取得部、13…抽出部、14…生成部、15…算出部、16…出力部、21…デモグラフィックデータ、30…ユーザ端末。

 

Claims (3)

  1.  ユーザ端末に表示されたコンテンツを閲覧するユーザの視線の軌跡を画像化した視線画像を取得する取得部と、
     前記視線画像の特徴量を示す特徴ベクトルを抽出する抽出部と、
     前記特徴ベクトルに基づいて、前記コンテンツと前記ユーザの視線の軌跡との対応関係をユーザコンテキストとして生成する生成部と、
     前記ユーザコンテキストを用いて、レコメンド候補の複数のコンテンツそれぞれのスコアを算出する算出部と、
     前記スコアに基づいて選択したコンテンツのレコメンド結果を出力する出力部と、
    を備える、レコメンド装置。
  2.  前記取得部は、前記ユーザが最後に閲覧したコンテンツのメタ情報であるコンテンツメタデータ、前記ユーザのデモグラフィックデータ、及び前記コンテンツを閲覧した閲覧時間を更に取得し、
     前記生成部は、前記特徴ベクトル、前記コンテンツメタデータ、前記デモグラフィックデータ、及び前記閲覧時間に基づいて、前記コンテンツと前記ユーザの視線の軌跡との対応関係を前記ユーザコンテキストとして生成する、
     請求項1に記載のレコメンド装置。
  3.  前記取得部は、前記ユーザが前記ユーザ端末に表示された前記コンテンツを購入した実績を示す正解データを更に取得し、
     前記算出部は、前記スコアの算出において前記正解データを用いて前記ユーザコンテキストを学習する、
     請求項1又は2に記載のレコメンド装置。

     
PCT/JP2022/037344 2021-11-29 2022-10-05 レコメンド装置 WO2023095456A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-192950 2021-11-29
JP2021192950 2021-11-29

Publications (1)

Publication Number Publication Date
WO2023095456A1 true WO2023095456A1 (ja) 2023-06-01

Family

ID=86539239

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/037344 WO2023095456A1 (ja) 2021-11-29 2022-10-05 レコメンド装置

Country Status (1)

Country Link
WO (1) WO2023095456A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008072739A1 (ja) * 2006-12-15 2008-06-19 Visual Interactive Sensitivity Research Institute Co., Ltd. 視聴傾向管理装置、システム及びプログラム
US20190236680A1 (en) * 2018-01-29 2019-08-01 Selligent, Inc. Systems and Methods for Providing Personalized Online Content
JP2020123962A (ja) * 2016-06-30 2020-08-13 株式会社ソニー・インタラクティブエンタテインメント 注視追跡のための装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008072739A1 (ja) * 2006-12-15 2008-06-19 Visual Interactive Sensitivity Research Institute Co., Ltd. 視聴傾向管理装置、システム及びプログラム
JP2020123962A (ja) * 2016-06-30 2020-08-13 株式会社ソニー・インタラクティブエンタテインメント 注視追跡のための装置及び方法
US20190236680A1 (en) * 2018-01-29 2019-08-01 Selligent, Inc. Systems and Methods for Providing Personalized Online Content

Similar Documents

Publication Publication Date Title
US11449719B2 (en) Image evaluation
EP3752973A1 (en) System and method for generating aspect-enhanced explainable description-based recommendations
US20210232633A1 (en) Indexing and presenting content using latent interests
US20090216639A1 (en) Advertising selection and display based on electronic profile information
US11397764B2 (en) Machine learning for digital image selection across object variations
WO2020238951A1 (zh) 网络内容处理方法、装置、设备及计算机存储介质
CN110692061A (zh) 使用人工智能模型提供概述信息的装置和方法
US8527475B1 (en) System and method for identifying structured data items lacking requisite information for rule-based duplicate detection
US20160012124A1 (en) Methods for automatic query translation
CN109493101A (zh) 目标品牌信息确定方法、装置、电子设备及存储介质
WO2023095456A1 (ja) レコメンド装置
WO2007139290A1 (en) Method and apparatus for using tab corresponding to query to provide additional information
JP7500583B2 (ja) 価格予測装置
WO2022009876A1 (ja) レコメンドシステム
WO2023084954A1 (ja) レコメンド装置
WO2020231091A1 (en) Improved exploration for interactive recommendation systems
CN111159558B (zh) 一种推荐列表的生成方法、装置和电子设备
CN113641915A (zh) 对象的推荐方法、装置、设备、存储介质和程序产品
JP2018045476A (ja) 評価値に基づいて推奨するコンテンツを決定するシステム
JP7337017B2 (ja) 還元値設定システム及び還元値設定方法
KR20180033777A (ko) 번역문과 함께 이미지를 제공하는 방법, 장치 및 컴퓨터 프로그램
KR102477841B1 (ko) 상품 검색 장치, 서버 및 검색 시스템의 제어 방법
US10936662B1 (en) Detection of automated agents through interaction element presentation
WO2022163204A1 (ja) 情報処理装置
US20230244737A1 (en) Recommendation system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22898241

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023563538

Country of ref document: JP

Kind code of ref document: A