Live broadcast recommendation method, device, equipment and computer-readable storage medium

Through the live broadcast recommendation method based on the graph model, the multi-dimensional characteristics between the user and the anchor are used to generate multi-dimensional representation vectors, which solves the problem of inaccurate existing recommendation methods and achieves more efficient live broadcast recommendations.

CN116017068BActive Publication Date: 2025-02-14MICRO DREAM TECHTRONIC NETWORK TECH CHINACO
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211610532.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-14
Publication Date
2025-02-14
Estimated Expiration
2042-12-14

AI Technical Summary

Technical Problem

The existing live broadcast recommendation methods are difficult to fully utilize the multi-dimensional characteristics between users and anchors during the recall and sorting process, resulting in inaccurate recommendations and inability to meet user needs.

Method used

A live broadcast recommendation method based on graph model is adopted, and multi-dimensional representation vectors of users and anchors are generated by training the viewing relationship between users and anchors and the intimate relationship network between anchors, and recommendations are made based on these vectors.

Benefits of technology

It improves the accuracy of live broadcast recommendations, can recall more live broadcast anchors that meet their interests and needs, and enhances user experience and platform benefits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116017068B_ABST
    Figure CN116017068B_ABST
Patent Text Reader

Abstract

This application provides a live streaming recommendation method, apparatus, device, and computer-readable storage medium. The method includes: obtaining user features of a target user; inputting the user features into a graph model to obtain an output user vector of the target user, wherein the graph model is trained based on the viewing relationship between the user and the streamer and the close relationship between streamers; and recalling corresponding streamers for the target user based on the user vector of the target user and the streamer vector of each of multiple streamers. Simultaneously, the live streaming recommendation ranking model is optimized based on the user vector and the streamer vector. This application enables the recommendation of streamers that better meet the user's needs, improving the accuracy of live streaming recommendations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to information processing technology, and in particular to a live broadcast recommendation method, device, equipment and computer-readable storage medium. Background Art

[0002] With the rise of Internet live broadcast platforms, more and more traditional media are releasing the latest news through live broadcasts, and watching live broadcasts has become the main channel for Internet users to obtain information. However, there are a large number of live broadcast videos, covering a wide range of categories and with diverse and complex content. Recommending anchors that users are interested in can not only improve user experience but also bring more revenue to live broadcast platforms.

[0003] At present, most of the live broadcast recommendation paradigms are based on the recall, sorting, and re-arrangement of user historical viewing data. In the recall process or sorting process, learning user representation vectors (embedding) and anchor representation vectors is widely used. However, there is a problem that the user representation and the anchor's collaborative information can only be learned to a certain extent. For example, only information in two dimensions, user ID and anchor ID, can be learned, and it is difficult to integrate more useful features. As a result, the recall process, sorting process, and even the entire live broadcast recommendation process are not accurate enough, and it is impossible to recommend anchors that meet the needs of users. Summary of the invention

[0004] The present application provides a live broadcast recommendation method, apparatus, device and computer-readable storage medium, which can improve the accuracy of live broadcast host recommendation.

[0005] In a first aspect, the present application provides a live broadcast recommendation method, which can be applied to a live broadcast recommendation system. The method may include: obtaining user features of a target user; inputting the user features into a graph model for vector search to obtain an output user vector of the target user, wherein the graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors; based on the user vector of the target user and the anchor vector of each of the multiple anchors, recalling the corresponding anchor for the target user, wherein the anchor vector of each anchor is obtained through the graph model.

[0006] In some possible implementations, based on the user vector of the target user and the anchor vector of each of the multiple anchors, recalling corresponding anchors for the target user includes: calculating a first similarity between the user vector of the target user and the anchor vector of each of the multiple anchors; and recalling anchors whose first similarity meets a first preset condition.

[0007] In some possible implementations, after obtaining the user characteristics of the target user, the method further includes: determining, according to the user characteristics, at least one viewed anchor that the target user has watched within a preset time from a plurality of anchors; inputting the anchor characteristics of the at least one viewed anchor into the graph model for vector search, and obtaining an output anchor vector of each viewed anchor in the at least one viewed anchor;

[0008] The method of recalling corresponding anchors for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors includes: recalling corresponding anchors for the target user based on the user vector of the target user, the anchor vector of each watched anchor and the anchor vector of each anchor.

[0009] In some possible implementations, based on the user vector of the target user, the anchor vector of each watched anchor, and the anchor vector of each anchor, recalling corresponding anchors for the target user includes: calculating a first similarity between the user vector of the target user and the anchor vector of each anchor; respectively calculating a second similarity between the anchor vector of each watched anchor and the anchor vector of each anchor; determining a first anchor from multiple anchors whose first similarity meets a first preset condition; for each watched anchor, determining a second anchor from multiple anchors whose second similarity meets a second preset condition; and recalling corresponding anchors for the target user based on anchor features of the first anchor and anchor features of the second anchor.

[0010] In a second aspect, the present application provides a training method for a graph model, which can be applied to a live broadcast recommendation system. The method may include: generating live broadcast training samples based on historical live broadcast data, wherein the live broadcast training samples include historical live broadcast data of sample users and historical live broadcast data of sample anchors; extracting features from the historical live broadcast data of sample users and historical live broadcast data of sample anchors to obtain user features of sample users and anchor features of sample anchors; constructing a viewing relationship network and an intimate relationship network based on user features and anchor features, wherein the viewing relationship network is used to describe the viewing relationship between users and anchors, and the intimate relationship network is used to describe the intimate relationship between anchors; iteratively training the graph model based on the viewing relationship network and the intimate relationship network until the graph model converges to obtain a user vector of the sample user and an anchor vector of the sample anchor.

[0011] In some possible implementations, the viewing relationship network includes: a user node representing a sample user, a host node representing a sample host, and an edge pointing from the user node to the host node, wherein the weight of the edge is determined by normalization based on the historical viewing data of the sample user.

[0012] In some possible implementations, the intimacy network includes: anchor nodes representing sample anchors and edges from one anchor node to another anchor node among the anchor nodes, wherein the weight of the edge is determined based on the intimacy between the sample anchor nodes.

[0013] In some possible implementations, the graph model is iteratively trained based on the viewing relationship network and the intimate relationship network, including: sampling the viewing relationship network and the intimate relationship network to obtain multiple sub-relationship networks; performing at least one layer of neighborhood aggregation on each of the multiple sub-relationship networks to obtain user vectors of sample users and anchor vectors of sample anchors; adjusting model parameters of the graph model based on the user vectors of sample users, the anchor vectors of sample anchors, and the cross-entropy loss function.

[0014] In some possible implementations, live broadcast training samples are generated based on historical live broadcast data, including: obtaining historical live broadcast data within a first time period, the historical live broadcast data including user-side historical data and host-side historical live broadcast data; calculating the user's click weight for the host based on the user's viewing time of the host in the historical live broadcast data; and sampling the user-side historical data and the host-side historical live broadcast data according to the click weight to generate live broadcast training samples.

[0015] In some possible implementations, the above method also includes: obtaining historical live broadcast data on the anchor side within the second time period; performing feature extraction on the historical live broadcast data on the anchor side to obtain anchor features; and updating model parameters of the graph model based on the anchor features.

[0016] In some possible implementations, after iteratively training the graph model based on the viewing relationship network and the intimacy relationship network, the above method also includes: determining the user vector of the sample user and the anchor vector of the sample anchor as pre-trained vectors; determining the pre-trained vector as the initialization vector of the refined ranking model, the initialization vector is used to train the refined ranking model, and the refined ranking model is used to sort the recalled anchors.

[0017] In a third aspect, the present application provides a live broadcast recommendation device, which can be applied to a live broadcast recommendation system. The device may include: a feature acquisition module, which is used to obtain user features of a target user; a vector calculation module, which is used to input the user features into a graph model to obtain an output user vector of the target user, wherein the graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors; and a recall module, which is used to recall the corresponding anchor for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors, wherein the anchor vector of each anchor is obtained through the graph model.

[0018] In some possible implementations, the recall module is further used to: calculate a first similarity between a user vector of a target user and a host vector of each of a plurality of hosts; and recall hosts whose first similarity meets a first preset condition.

[0019] In some possible implementations, the feature acquisition module is further used to: after obtaining the user features of the target user, determine, from multiple hosts, at least one viewed host that the target user has watched within a preset time period according to the user features; the vector calculation module is used to input the host features of the at least one viewed host into the graph model respectively, and obtain the host vector of each viewed host in the at least one viewed host outputted; the recall module is further used to recall corresponding hosts for the target user based on the user vector of the target user, the host vector of each viewed host, and the host vector of each host.

[0020] In some possible implementations, the recall module is further used to: calculate a first similarity between a user vector of a target user and an anchor vector of each anchor; respectively calculate a second similarity between an anchor vector of each viewed anchor and an anchor vector of each anchor; determine a first anchor from multiple anchors whose first similarity satisfies a first preset condition; for each viewed anchor, determine a second anchor from multiple anchors whose second similarity satisfies a second preset condition; and recall corresponding anchors for the target user based on the anchor features of the first anchor and the anchor features of the second anchor.

[0021] In a fourth aspect, the present application provides a live broadcast recommendation device, which can be applied to a live broadcast recommendation system. The device may include: a feature acquisition module, which is also used to: generate live broadcast training samples based on historical live broadcast data, wherein the live broadcast training samples include historical live broadcast data of sample users and historical live broadcast data of sample anchors; extract features from the historical live broadcast data of sample users and historical live broadcast data of sample anchors to obtain user features of sample users and anchor features of sample anchors; a vector calculation module, which is also used to: construct a viewing relationship network and an intimate relationship network based on user features and anchor features, wherein the viewing relationship network is used to describe the viewing relationship between users and anchors, and the intimate relationship network is used to describe the intimate relationship between anchors; based on the viewing relationship network and the intimate relationship network, iteratively train the graph model until the graph model converges to obtain the user vector of the sample user and the anchor vector of the sample anchor.

[0022] In some possible implementations, the viewing relationship network includes: a user node representing a sample user, a host node representing a sample host, and an edge pointing from the user node to the host node, wherein the weight of the edge is determined by normalization based on the historical viewing data of the sample user.

[0023] In some possible implementations, the intimacy network includes: anchor nodes representing sample anchors and edges from one anchor node to another anchor node among the anchor nodes, wherein the weight of the edge is determined based on the intimacy between the sample anchor nodes.

[0024] In some possible implementations, the vector calculation module is also used to: sample the viewing relationship network and the intimate relationship network to obtain multiple sub-relationship networks; perform at least one layer of neighborhood aggregation on each of the multiple sub-relationship networks to obtain the user vector of the sample user and the anchor vector of the sample anchor; adjust the model parameters of the graph model based on the user vector of the sample user, the anchor vector of the sample anchor and the cross entropy loss function.

[0025] In some possible implementations, the feature acquisition module is also used to: obtain historical live broadcast data within a first time period, the historical live broadcast data including user-side historical data and host-side historical live broadcast data; calculate the user's click weight for the host based on the user's viewing time of the host in the historical live broadcast data; sample the user-side historical data and the host-side historical live broadcast data according to the click weight to generate a live broadcast training sample.

[0026] In some possible implementations, the feature acquisition module is also used to: obtain historical live broadcast data on the anchor side within a second duration, where the second duration is less than the first duration; perform feature extraction on the historical live broadcast data on the anchor side to obtain anchor features; and update model parameters of the graph model based on the anchor features.

[0027] In some possible embodiments, the above-mentioned device also includes: a sorting module, which is also used to determine the user vector of the sample user and the anchor vector of the sample anchor as pre-trained vectors after the vector calculation module iteratively trains the graph model based on the viewing relationship network and the intimacy network; determine the pre-trained vector as the initialization vector of the refined ranking model, the initialization vector is used to train the refined ranking model, and the refined ranking model is used to sort the recalled anchors.

[0028] In a third aspect, the present application provides an electronic device, which may include: a memory for storing executable instructions; and a processor for executing the executable instructions stored in the memory to implement a live broadcast recommendation method as in the first aspect and any one of its possible implementations.

[0029] In a fourth aspect, the present application provides a computer-readable storage medium storing executable instructions, which, when executed by a processor, can implement a live broadcast recommendation method as in the first aspect and any one of its possible implementations.

[0030] In a fifth aspect, the present application provides a computer program product, including a computer program or instructions. When the computer program or instructions are executed by a processor, it can implement the live broadcast recommendation method as described in the first aspect and any one of its possible implementations.

[0031] This application has the following beneficial effects:

[0032] In the present application, since the graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors, the characterization vector learning of the user nodes and the anchor nodes in the graph model will be more comprehensive and diverse. In this way, by inputting the user characteristics of the target user into the graph model to obtain the user vector of the target user, it is possible to make full use of the viewing relationship between the user and the anchor and the close relationship between the anchors, thereby obtaining a user vector and an anchor vector containing more dimensional features. Then, based on the user vector of the target user and the anchor vectors of each anchor, more live broadcast anchors that meet the user's interests and needs can be recalled for the target user, thereby improving the accuracy of live broadcast recommendations. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 It is a schematic diagram of the architecture of a live broadcast recommendation system provided in an embodiment of the present application;

[0034] Figure 2 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application;

[0035] Figure 3 This is a flowchart of a live broadcast recommendation method provided in an embodiment of the present application.

[0036] Figure 4 It is a flowchart of another live broadcast recommendation method provided in an embodiment of the present application;

[0037] Figure 5 It is a flowchart of a training method for a graph model provided in an embodiment of the present application;

[0038] Figure 6 This is a schematic diagram of a sample data generation process provided by an embodiment of the present application;

[0039] Figure 7 It is a schematic diagram of a processing flow of user characteristics and anchor characteristics provided in an embodiment of the present application;

[0040] Figure 8 is a schematic diagram of a viewing relationship network and an intimate relationship network provided in an embodiment of the present application;

[0041] Fig. 9 It is a flowchart of another method for training a graph model provided in an embodiment of the present application;

[0042] Fig.10 It is a flowchart of another method for training a graph model provided in an embodiment of the present application;

[0043] Fig.11 It is a flowchart of a training method for a refined ranking model provided in an embodiment of the present application;

[0044] Fig.12 This is a flow chart of another live broadcast recommendation method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

[0046] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0047] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.

[0048] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0049] With the rise of Internet live broadcast platforms, more and more traditional media are releasing the latest news through live broadcasts, and watching live broadcasts has become the main channel for Internet users to obtain information. However, there are a large number of live broadcast videos, covering a wide range of categories and with diverse and complex content. Recommending live broadcasts that users are interested in can not only improve user experience but also bring more revenue to live broadcast platforms.

[0050] First, it should be noted that in the embodiments of the present application, the user representation vector can also be described as the user's representation vector, user representation embedding, user vector, user latent vector, etc. The user representation vector is used to represent the user's features for downstream recall, sorting, and other processes. The anchor representation vector can also be described as the anchor's representation vector, anchor representation embedding, anchor vector, anchor latent vector, etc. The anchor representation vector is used to represent the anchor's features for downstream recall, sorting, and other processes.

[0051] At present, most of the live broadcast recommendation paradigms are based on the recall, sorting, and re-arrangement of user historical viewing data. Learning user representation vectors or host representation vectors is widely used in various recall and sorting methods. The learned user representation vectors and host representation vectors can be used downstream to calculate the similarity between users and hosts, and the similarity between hosts, so as to recall or sort the hosts.

[0052] In some possible implementations, among the many methods of learning representation vectors, matrix decomposition algorithms are widely used, such as triangular decomposition algorithm, orthogonal triangular decomposition algorithm, singular value decomposition (SVD), FunkSVD algorithm, BiasSVD algorithm, etc. Among them, the matrix decomposition algorithm mainly constructs the viewing relationship between users and anchors, uses the user's viewing time of the anchor as the matrix weight, and then decomposes the viewing time matrix M corresponding to m users and n anchors into two low-dimensional matrices P and Q based on the collaborative filtering algorithm of matrix decomposition:

[0053]

[0054] Among them, P represents the latent vector matrix of dimension k corresponding to m users, and Q represents the latent vector matrix of dimension k corresponding to n anchors. The latent vector matrix here can be used as a portrait representation of users or anchors. The inner product of the i-th vector in the matrix P and the j-th vector in the matrix Q represents the i-th user's preference evaluation for the j-th anchor:

[0055] M ij =P i ×Q j (2)

[0056] Here, the collaborative filtering algorithm based on matrix decomposition generally adopts mean square error as the loss function, and generally uses the cross least squares optimization method to solve it. By continuously iterating to minimize the loss function, the latent vectors in P and Q are continuously updated.

[0057]

[0058] In some possible implementations, the user vector and anchor vector obtained by matrix decomposition can be used in the recall process of live broadcast recommendation and the pre-training of the ranking model.

[0059] It is understandable that the above matrix decomposition can learn the collaborative information of users and anchors to a certain extent, but generally only uses information of two dimensions: user identification (i.e., user ID (identity)) and anchor identification (i.e., anchor ID). It is difficult to integrate more useful features, such as user demographic information (such as age, gender, long-term anchor preference sequence, etc.) and anchor basic information (such as anchor type, live broadcast popularity, etc.). As a result, the recall process, sorting process, and even the entire recommendation process are not accurate enough, and it is impossible to recommend anchors that meet users' needs.

[0060] On the other hand, the above-mentioned matrix decomposition algorithm cannot utilize the global information of the user-host relationship graph when learning user representation vectors and host representation vectors, so that each user representation vector and host representation vector cannot aggregate the feature information of other related hosts, resulting in limited hosts recalled for users, and thus unable to recommend hosts that meet their needs to users.

[0061] On the other hand, when learning user representation vectors and host representation vectors in the above-mentioned matrix decomposition algorithm, only the interactive relationship network between users and hosts is used, resulting in insufficient learning information, which limits the hosts recalled for users and makes it impossible to recommend hosts that meet their needs.

[0062] In order to solve the above problems, the embodiments of the present application provide a live broadcast recommendation method, device, equipment and computer-readable storage medium, which can improve the accuracy of live broadcast recommendations and recommend anchors that meet the needs of users.

[0063] The live broadcast recommendation method provided in the embodiment of the present application can be implemented by various electronic devices, for example, it can be implemented by a server alone, or it can be implemented by a terminal and a server in collaboration. For example, the server alone executes the live broadcast recommendation method described below, or the terminal sends a recommendation request message to the server, and the server executes the live broadcast recommendation method according to the received recommendation request message.

[0064] Among them, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, and big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, and the embodiments of the present application do not make specific restrictions on this.

[0065] In some embodiments, the live broadcast recommendation method provided by the embodiment of the present application is implemented by the server alone as an example. The server obtains the user features of the target user, and then inputs the user features into a graph model trained based on the viewing relationship between the user and the anchor and the intimacy between the anchors, and obtains the output user vector of the target user; based on the user vector of the target user and the anchor vector of each of the multiple anchors, the corresponding anchor is recalled for the target user.

[0066] In some embodiments, the live broadcast recommendation method provided in the embodiment of the present application is described by taking the server and the terminal cooperating to implement the live broadcast recommendation method provided in the embodiment of the present application as an example. Figure 1 , Figure 1 The terminal (exemplarily showing the terminal 100-1 and the terminal 100-2) is connected to the server 200 via the network 300, and the network 300 can be a wide area network or a local area network, or a combination of the two.

[0067] In some embodiments, the terminal or server 200 can implement the live broadcast recommendation method provided by the embodiment of the present application by running a computer program. For example, the computer program can be a native program or software module in the operating system; for example, it can be a local (local) application (APP, Application), that is, a program that needs to be installed in the operating system to run, such as a live broadcast APP; it can also be a live broadcast applet, that is, a live broadcast program that can be run only by downloading it to a browser environment; it can also be a live broadcast applet that can be embedded in any APP. In short, the above-mentioned computer program can be any form of application, module or plug-in, and the embodiment of the present application does not specifically limit this. Here, the above-mentioned computer program running on the terminal can also be described as a live broadcast client.

[0068] Here, terminal 100-1 is used as the target object for explanation, and terminal 100-1 displays the interface of the APP on the current interface 110-1. Exemplarily, terminal 100-1 can also display the live broadcast content of the recommended anchor on the current interface. Server 200 can receive the user information of the target user sent by terminal 100-1. Then, server 200 extracts user features from the user information of the target user, and then inputs the user features into the graph model trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors, and obtains the output user vector of the target user; finally, server 200 recalls the corresponding anchor for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors.

[0069] See also Figure 2 , Figure 2 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. Figure 2 The electronic device 20 shown may be the above-mentioned terminal and / or server 200. The electronic device 20 may include: at least one processor 210, a memory 250, at least one network interface 220 and a user interface 230. The various components in the server 200 are coupled together via a bus system 240. It can be understood that the bus system 240 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 240 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 240 is not shown in FIG. Figure 2 Various buses are labeled as bus system 240 .

[0070] The processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0071] The user interface 230 includes one or more output devices 231 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 230 also includes one or more input devices 232, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0072] The memory 250 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 250 may optionally include one or more storage devices that are physically remote from the processor 210.

[0073] The memory 250 includes a volatile memory or a nonvolatile memory, and may also include both volatile and nonvolatile memories. The nonvolatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 250 described in the embodiments of the present application is intended to include any suitable type of memory.

[0074] In some embodiments, memory 250 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.

[0075] Operating system 251, including system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;

[0076] A network communication module 252, for reaching other computing devices via one or more (wired or wireless) network interfaces 220, exemplary network interfaces 220 include: Bluetooth, wireless compatibility certification (Wi-Fi), and universal serial bus (USB);

[0077] A presentation module 253 for enabling presentation of live content via one or more output devices 231 (e.g., display screen, speaker, etc.) associated with a user interface 230 (e.g., a user interface for operating peripheral devices and displaying content and information);

[0078] The input processing module 254 is used to detect one or more user inputs or interactions from one of the one or more input devices 232 and translate the detected inputs or interactions.

[0079] In some embodiments, the device provided in the embodiments of the present application can be implemented in software. Figure 2 A live broadcast recommendation device 255 stored in the memory 250 is shown, which can be software in the form of programs and plug-ins, including the following software modules: a feature acquisition module 2551, a vector calculation module 2552, a recall module 2553 and a sorting module 2554. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented, and the functions of each module will be explained below.

[0080] In other embodiments, the device provided in the embodiment of the present application can be implemented in hardware. As an example, the live broadcast recommendation device provided in the embodiment of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the live broadcast recommendation method provided in the embodiment of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field-programmable gate array (FPGA) or other electronic components, and the embodiment of the present application does not specifically limit this.

[0081] The live broadcast recommendation method provided in the embodiment of the present application will be explained in combination with the exemplary application and implementation of the live broadcast recommendation system provided in the embodiment of the present application.

[0082] See also Figure 3 , Figure 3 is a flowchart of a live broadcast recommendation method provided in an embodiment of the present application, which will be combined with Figure 3 The steps shown are explained.

[0083] In step S301, user characteristics of a target user are obtained.

[0084] It can be understood that the live broadcast recommendation device can recommend live broadcast hosts (which can also be described as hosts, hosts users, live broadcast room users, etc.) to target users periodically (such as on a daily basis), or it can send a recommendation request message to the live broadcast recommendation device based on the live broadcast client logged in by the target user to request the live broadcast recommendation device to recommend hosts to the target user.

[0085] In one embodiment, the recommendation request message may carry user information of the target user. Next, after obtaining the user information of the target user, the live broadcast recommendation device extracts features and obtains user features of the target user (also described as user-side features).

[0086] In some possible embodiments, user features may include: user demographic attribute features (also referred to as user basic features), user sequence class features, user context features, and the like.

[0087] In one embodiment, user demographic attributes can be understood as user age, gender, region, etc.; user sequence features can be understood as the sequence of watching anchors, user interest tags (such as military, finance, entertainment, education, etc.) and the sequence of watching live broadcast types, etc.; user context features can be understood as the timestamp, duration, season, etc. of the user watching the anchor. Of course, user features can also include other features in the user portrait, which are not specifically limited in the embodiment of the present application.

[0088] In step S302, the user features are input into the graph model to perform vector search, and the user vector of the target user is output.

[0089] The above graph model is trained based on the viewing relationship between users and anchors and the intimacy between anchors. Here, the viewing relationship between users and anchors can describe the user's preference for anchors, and the intimacy between anchors is used to describe the correlation between anchors. The higher the intimacy, the higher the correlation between anchors.

[0090] In this way, the nodes in the trained graph model can fuse the features of neighboring nodes, integrate various heterogeneous information such as collaborative information, user behavior information, content attribute information, etc. in a unified framework, and uniformly represent them in the form of vectors, thereby obtaining richer representation features to represent the relationship between users and anchors. Then, the node representation vector obtained through the graph model integrates various heterogeneous information and can better express the hidden meaning of users and anchors. Here, the graph model can also be called a graph neural network.

[0091] It can be understood that the trained graph model may include user nodes, anchor nodes, and each node has a corresponding representation vector, that is, the user node corresponds to the user representation vector, and the anchor node corresponds to the anchor representation vector. Then, in step S302, after obtaining the user features of the target user through S301, the live broadcast recommendation device inputs the user features into the trained graph model for vector search to obtain the user node matching the target user and its corresponding user representation vector.

[0092] In step S303, based on the user vector of the target user and the anchor vector of each of the multiple anchors, corresponding anchors are recalled for the target user.

[0093] It is understandable that the live broadcast recommendation device can also obtain the anchor representation vectors of multiple anchors through the above-mentioned graph model. Then, the live broadcast recommendation device can determine the anchors similar to the target user based on the similarity between the user vector of the target user and the anchor vectors of multiple anchors (i.e., the first similarity), and recall these anchors. Since the recalled anchors are similar to the target user, the anchors finally recommended to the target user can meet the user's needs, thereby improving the accuracy of the live broadcast recommendation. Exemplarily, the live broadcast recommendation device can calculate the first similarity between the user vector and each anchor vector through a vector index framework.

[0094] Here, the multiple anchors may be anchors of the entire network, or may be some anchors selected from the anchors of the entire network according to the user characteristics of the target user, or may be the topN anchors with the most traffic in the entire network. Here, topN is to sort the traffic of the anchors of the entire network from large to small, and select the top N anchors, where N is a positive integer. Of course, the above-mentioned multiple anchors may also exist in other situations, as long as they are at least part of the anchors of the entire network, and the embodiments of the present application do not make specific limitations on this.

[0095] For example, assuming that the target user is 30 years old, then the multiple anchors can be anchors watched by users aged 30 to 35 on the entire network; or, assuming that the target user is a 30-year-old female, then the multiple anchors can be anchors watched by female users aged 30 to 35 on the entire network; further, assuming that the IP location of the target user is Beijing, then the multiple anchors can be anchors watched by users in Beijing. Of course, multiple anchors can also be selected based on other user characteristics and combinations of user characteristics, which is not specifically limited in the embodiments of the present application.

[0096] In one embodiment, in step S303, the live broadcast recommendation device may perform a user-based recall. Specifically, the live broadcast recommendation device may calculate a first similarity between a user vector of a target user and an anchor vector of each of a plurality of anchors, and recall the anchors whose first similarity satisfies a first preset condition. Here, the first preset condition may be understood as the similarity satisfying a preset threshold, and the preset threshold may be a preset value set according to a recall requirement, or may be a similarity satisfying the number of recalled anchors. Of course, the preset threshold may also be other situations, and the embodiment of the present application does not specifically limit this.

[0097] Exemplarily, after obtaining the user vector of the target user in step S302, the live broadcast recommendation device calculates the similarity between the user vector and the anchor vector of each anchor, i.e., the first similarity. Then, the live broadcast recommendation device sorts the multiple first similarities, selects the topN most similar anchors as the user-based collaborative filtering results, and recalls these anchors. In this way, the anchors that better meet the needs of the target user are recommended to improve the accuracy of the live broadcast recommendation.

[0098] In the embodiment of the present application, since the graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors, the characterization vector learning of the user nodes and the anchor nodes in the graph model will be more comprehensive and diverse. In this way, by inputting the user characteristics of the target user into the graph model to obtain the user vector of the target user, it is possible to make full use of the viewing relationship between the user and the anchor and the close relationship between the anchors, thereby obtaining a user vector and an anchor vector containing more dimensional features. Then, based on the user vector of the target user and the anchor vectors of each anchor, more live broadcast anchors that meet the user's interests and needs can be recalled for the target user, thereby improving the accuracy of live broadcast recommendations.

[0099] In some possible embodiments, see Figure 4 , Figure 4 is a flowchart of another live broadcast recommendation method provided by an embodiment of the present application, which is combined with Figure 4 To further express the potential association relationship between the user and the anchor, after step S301, the above method may further include steps S401 to S403.

[0100] In step S401, at least one viewed anchor watched by the target user within a preset time period is determined from multiple anchors according to the user characteristics.

[0101] It is understandable that, since the user characteristics include the user viewing sequence, the live broadcast recommendation device can determine the anchors who have been watched within a preset time period (such as 60 days, 30 days, 15 days, 7 days, etc.) based on the user viewing sequence, that is, the anchors who have been watched.

[0102] In step S402, the host features of at least one viewed host are respectively input into the graph model for vector search, and the host vector of each viewed host in the at least one viewed host is output.

[0103] It can be understood that after the live broadcast recommendation device determines the watched anchors of the target user in step S403, it obtains the anchor information of the watched anchors, and extracts features from the anchor information to obtain anchor features. Then, the live broadcast recommendation device inputs the anchor features into the above-mentioned graph model, and obtains the output anchor vector of the watched anchor. Similar to S302, since the above-mentioned graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors. In this way, the nodes in the trained graph model can fuse the features of the adjacent nodes, fuse various heterogeneous information such as collaborative information, user behavior information, content attribute information, etc. in a unified framework, and uniformly represent them in the form of vectors, thereby obtaining richer representation features to represent the relationship between the anchors. Then, the node representation vector obtained by the graph model integrates various heterogeneous information and can better express the implicit meaning between the user and the anchor and between the anchors.

[0104] In step S403, based on the user vector of the target user, the anchor vector of each watched anchor, and the anchor vector of each anchor, the corresponding anchor is recalled for the target user.

[0105] It can be understood that in addition to calculating the first similarity between the user and multiple anchors as in step S303, the live broadcast recommendation device can also perform recall based on the anchor. Specifically, the live broadcast recommendation device can obtain the anchor vectors of the viewed anchor and the above-mentioned multiple anchors through the graph model. Then, the live broadcast recommendation device can determine the anchors similar to the viewed anchor based on the similarity between the anchor vector of the viewed anchor and the anchor vectors of multiple anchors (i.e., the second similarity). Finally, the live broadcast recommendation system recalls the anchors similar to the user and the anchors similar to the viewed anchors, thereby recommending anchors that can meet the user's needs to the target user's anchors, thereby improving the accuracy of the live broadcast recommendation. Exemplarily, the live broadcast recommendation device can calculate the second similarity between the user vector and each anchor vector through a vector index framework.

[0106] In one embodiment, in step S403, the live broadcast recommendation device can calculate the first similarity between the user vector of the target user and the anchor vector of each anchor, and respectively calculate the second similarity between the anchor vector of each viewed anchor and the anchor vector of each anchor. Then, the live broadcast recommendation device can determine a first anchor from multiple anchors whose first similarity meets the first preset condition, and determine a second anchor from multiple anchors whose second similarity meets the second preset condition for each viewed anchor. Finally, the live broadcast recommendation device can recall the corresponding anchor for the target user based on the first anchor and the second anchor. Here, the second preset condition can be understood as the similarity meeting the preset threshold value. The preset threshold value can be a preset value set according to the recall requirement, or it can be the similarity meeting the number of recalled anchors. Of course, the preset threshold value can also be other situations, and the embodiment of the present application does not specifically limit this.

[0107] In actual applications, the live broadcast recommendation device can recall some or all of the first and second anchors. For example, the live broadcast recommendation device can set the number of anchors to be recalled by each user. When the live broadcast recommendation device recommends anchors to target users on a periodic basis (such as on a daily basis), the number of anchors to be recalled can be 300 users, 500 users, 1000 users, etc. Here, it can also be understood that the live broadcast recommendation device can recall the topN anchors from the union of the first and second anchors. The value of N can be the number of anchors to be recalled.

[0108] In another embodiment, for each viewed anchor, a preset number of anchors may be set, that is, for each viewed anchor, multiple most similar anchors may be taken and merged to obtain a second anchor corresponding to each viewed anchor. For example, for each recently viewed anchor, 10 most similar second anchors may be taken and merged.

[0109] In practical applications, the above-mentioned recall scheme based on anchors is easily affected by the introduction of anchor category features in the features, resulting in a large number of anchors of the same category as the recently watched anchor in the calculated second anchors. However, users will not watch the same category of anchors repeatedly in a short period of time. Therefore, in order to prevent the above situation from happening, when recalling anchors, the number of anchors of the same category can be limited. After merging the second anchor, the maximum number of anchors of the same category can be selected according to their live broadcast popularity, such as 3, 5, 10, etc., in this way, it can avoid the large-scale introduction of anchors of the same category and improve the quality of recommendation.

[0110] Exemplarily, in the actual effect evaluation of the above-mentioned live broadcast recommendation method, an online AB experiment evaluation method can be used. Specifically, the live broadcast recommendation device can divide all traffic into a 10% control group, a 10% experimental group and 80% main traffic. Among them, the 10% control group and 80% main traffic adopt the traditional recall based on matrix decomposition vectors, and the 10% experimental group adopts the recall based on the graph model in the embodiment of the present application. The final effect compares the exposure rate and click rate of the anchors in the experimental group and the control group. The online effect shows that the recall based on the graph model has a significant business improvement compared to the traditional recall based on the matrix decomposition vector.

[0111] In the embodiment of the present application, since the graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors, the characterization vector learning of the user nodes and the anchor nodes in the graph model will be more comprehensive and diverse. In this way, by inputting the user features of the target user into the graph model to obtain the user vector of the target user, and by inputting the anchor features of the watched anchor into the graph model to obtain the anchor vector of the watched anchor, the other interaction information of the users of the entire site is further fully utilized, so that users and anchors who do not have direct interactive behaviors can also learn potential associations, thereby obtaining user vectors and anchor vectors containing more dimensional features. Then, based on the user vector of the target user and the anchor vectors of each anchor, more live broadcast anchors that meet the user's interests and needs can be recalled for the target user, thereby improving the accuracy of live broadcast recommendations.

[0112] At this point, the live broadcast recommendation process based on the graph model has been realized.

[0113] In some possible embodiments, the present application also provides a method for training a graph model, which can be used to train the graph model in the above live broadcast recommendation method. Figure 5 , Figure 5 is a flowchart of a training method for a graph model provided in an embodiment of the present application, which will be combined with Figure 5 The steps shown are explained.

[0114] In step S501, a live broadcast training sample is generated based on historical live broadcast data.

[0115] In one embodiment, the sample data can be divided into offline samples and online samples. The offline samples can be spliced ​​from the historical live data within the first duration. The online samples can be spliced ​​from the historical live data within the second duration. Exemplarily, the second duration can be less than the first duration, the first duration is at the day level, that is, the first duration can be 1 day, 5 days, 7 days, 15 days, 30 days, etc.; the second duration is at the minute level, that is, the second duration can be 1 minute, 3 minutes, 10 minutes, 30 minutes, 60 minutes, etc.

[0116] In one embodiment, the historical live broadcast data may include at least one of the following three: historical live broadcast exposure data, historical live broadcast click data, and historical live broadcast room entry and exit data. The historical live broadcast data may include historical live broadcast data on the user side, such as historical live broadcast click data, and historical live broadcast data on the anchor side, such as historical live broadcast click data and historical live broadcast room entry and exit data. The live broadcast recommendation device may obtain the historical live broadcast data of the sample user (which may also be understood as the user side live broadcast training sample) by sampling the historical live broadcast data on the user side, and may obtain the historical live broadcast data of the sample anchor (which may also be understood as the anchor side live broadcast training sample) by sampling the historical live broadcast data on the anchor side.

[0117] In the examples of this application, see Figure 6 , Figure 6 This is a schematic diagram of the sample data generation process provided by the embodiment of the present application. Figure 6 The steps shown are explained. In the embodiment of the present application, the sample data can be spliced ​​from multiple historical live data. Exemplarily, the offline sample can be spliced ​​from the historical live data on the user side and the historical live data on the anchor side, that is, the historical live exposure data, the historical live click data, and the historical live room entry and exit data. The online sample can be spliced ​​from the historical live exposure data and the historical live room entry and exit data. Of course, the sample data can also include other historical live data, which is not specifically limited in the embodiment of the present application.

[0118] In some possible embodiments, the live broadcast recommendation device can also remove the viewing records with too long or too short viewing time from the sample data to clean the sample data. Exemplarily, the live broadcast recommendation device removes the sample data with a viewing time greater than 5 hours and less than 5 seconds.

[0119] In some possible embodiments, for the sample data after elimination, the live broadcast recommendation device can map the user's viewing time of the anchor to the interval of 0-1 according to the viewing time, and obtain the user's click weight of the anchor. The specific mapping method is as follows:

[0120]

[0121] Among them, W t is the click weight of the user of the current sample data on the anchor, T current is the viewing time of the current sample data, T max is the longest viewing time of the anchor in the sample data, T min is the shortest viewing time of the anchor in the sample data. t It can be used as the sampling weight of the subsequent graph model. The larger the weight, the greater the probability of being collected as a neighbor node.

[0122] In one embodiment, after obtaining the click weight of the user on the anchor, the live broadcast recommendation device samples the historical live broadcast data on the user side and the historical live broadcast data on the anchor side according to the click weight to generate live broadcast training samples. t The historical live broadcast data is sampled to generate live broadcast training samples, that is, the sample data and the corresponding W t Generate live training samples.

[0123] In step S502, feature extraction is performed on the historical live broadcast data of the sample users and the historical live broadcast data of the sample anchors to obtain user features of the sample users and anchor features of the sample anchors.

[0124] In one embodiment, the user characteristics of the sample users (i.e., user-side characteristics) may include user demographic characteristics (age, gender, region, etc.), user sequence characteristics (sequence of watching anchors, user interest tags (such as military / finance / entertainment / education, etc.), sequence of watching live broadcast types, etc.), user context characteristics (such as time, season, etc.), etc. The anchor characteristics of the sample anchors (i.e., anchor-side characteristics) include anchor demographic characteristics, anchor ability type, anchor multi-level interest tags, anchor historical popularity, etc.

[0125] For example, see Figure 7 , Figure 7 This is a schematic diagram of the processing flow of user features and anchor features provided in the embodiment of the present application. Figure 7 The steps shown are explained. The live broadcast recommendation device extracts features from the live broadcast training samples to obtain basic attribute features of users and anchors, features of user historical viewing sequences of anchors, features of user interest tags, statistical features of user and anchor historical data, anchor tag features, and user context features. Then, the live broadcast recommendation device classifies all features according to users and anchors to obtain user features and anchor features. Exemplarily, the statistical features of user and anchor historical data may include: historical click-through rates of users within the past first duration (such as 30 days), historical click-through rates of anchors within the past first duration, weighted average viewing time, etc.

[0126] Furthermore, after collecting user / anchor features from multiple dimensions, the features need to be cleaned to remove outlier samples. For missing value features, median features are used to fill in. Multi-value features are aggregated using average pooling in the model, and continuous value features are segmented using median statistics.

[0127] In step S503, a viewing relationship network and an intimate relationship network are constructed based on user characteristics and anchor characteristics.

[0128] The viewing relationship network is used to describe the viewing relationship between users and anchors, that is, the user's preference for anchors, and the intimacy network is used to describe the intimacy between anchors, that is, the correlation between anchors. The higher the intimacy, the higher the correlation between anchors.

[0129] It can be understood that the live broadcast recommendation device obtains the association relationship between sample users and sample anchors and between sample anchors based on user characteristics and anchor characteristics, and then constructs a viewing relationship network between users and anchors (which can also be described as a user-anchor viewing relationship network) and an intimate relationship network between anchors (which can also be described as an anchor-anchor intimate relationship network).

[0130] In some possible implementations, the viewing relationship network includes: a user node representing a sample user, a host node representing a sample host, and an edge from the user node to the host node, wherein the weight of the edge is normalized and determined based on the historical viewing data of the sample user. For example, see Figure 8 , Figure 8 Schematic diagram of the viewing relationship network and the intimate relationship network provided by the embodiment of the present application. Figure 8 The structure shown is explained. Figure 8 As shown in (a), the viewing relationship network includes: user nodes {u1, u2, u3} and anchor nodes {v1, v2, v3, v4, v5}. Node u1 has a viewing relationship with nodes v1 and v2, node u2 has a viewing relationship with nodes v3 and v4, and node u3 has a viewing relationship with nodes v4 and v5. Here, the viewing relationship network includes two types of nodes, user nodes and anchor nodes, forming a heterogeneous network.

[0131] In one embodiment, in order to ensure the overall balance of the network, the number of edges of active users is limited when generating the viewing relationship network. For example, a user can obtain a maximum of 20 viewing records of different anchors in one day based on the viewing time.

[0132] In some possible embodiments, the intimacy network includes: anchor nodes representing sample anchors and edges from one anchor node to another anchor node, wherein the weight of the edge is determined based on the intimacy between the sample anchor nodes. Figure 8 , Figure 8 As shown in (b), the intimate relationship network includes: anchor nodes {v1, v2, v3, v4, v5}. Node v1 has an intimate relationship with nodes v3 and v4, node v2 has an intimate relationship with nodes v4 and v5, and node v3 has an intimate relationship with nodes v1 and v5. Here, the intimate relationship network only includes anchor nodes, forming a homogeneous network.

[0133] In practical applications, the viewing relationship network and the intimacy relationship network can be integrated. Figure 8 , Figure 8 As shown in (c), the fusion network includes: user nodes {u1, u2, u3} and anchor nodes {v1, v2, v3, v4, v5}. Node u1 has a watching relationship with nodes v1 and v2, node u2 has a watching relationship with nodes v3 and v4, and node u3 has a watching relationship with nodes v4 and v5. Node v1 has a close relationship with nodes v3 and v4, node v2 has a close relationship with nodes v4 and v5, and node v3 has a close relationship with nodes v1 and v5.

[0134] Optionally, user characteristics and / or anchor characteristics may be added to the above viewing relationship network and / or intimate relationship network to form Figure 8 The network shown in (d).

[0135] Of course, the above-mentioned viewing relationship network and intimate relationship network may also have other situations, and the embodiments of the present application do not make specific limitations on this.

[0136] In step S504, based on the viewing relationship network and the intimate relationship network, the graph model is iteratively trained until the graph model converges, and the user vector of the sample user and the host vector of the sample host are obtained.

[0137] It is understandable that in the training process of the graph model, an inductive learning method (such as graph hsage) can be selected to learn user vectors and anchor vectors. Fig. 9 , Fig. 9 This is a flow chart of another method for training a graph model provided in an embodiment of the present application. Fig. 9 The steps shown are explained. Before aggregating the neighbor nodes in the graph model, the live broadcast recommendation device can first sample the viewing relationship network and the intimate relationship network to obtain multiple sub-relationship networks. Then, the live broadcast recommendation device can perform at least one layer of neighborhood aggregation on each of the multiple sub-relationship networks, that is, use the aggregation function to perform at least one layer of aggregation on the features of the neighboring nodes to obtain the user vector of the sample user and the anchor vector of the sample anchor. Next, the live broadcast recommendation device performs supervised learning on the graph model based on the user vector of the sample user, the anchor vector of the sample anchor, and the cross-entropy loss function, thereby effectively avoiding the disadvantage of integrating all neighbor nodes and failing to complete large-scale data vector representation learning. On the other hand, the inductive learning method is a method that can use the attribute information of the node to efficiently generate representation vectors of nodes that have not appeared, realize more detailed learning of the global and local topological structures of viewing relationships and intimacy, and can naturally integrate the attribute characteristics of the node.

[0138] Exemplarily, in the above learning process, an operation of averaging each dimension of the node vector can be adopted. In the embodiment of the present application, according to the following formulas (5) and (6), the attribute information of the node is used to efficiently generate the representation vector of the node that has not appeared, and the core of the node representation vector is generated.

[0139]

[0140]

[0141] Among them, N (v) represents the neighbor set of node v, CONCAT is a vector concatenation operation, W k is the network parameter of the kth fully connected layer, and σ is the nonlinear activation function. The relu function is used in the embodiment of the present application. When the kth node vector of the node v is generated When , first aggregate all the neighboring nodes N of the sampled node v (v) The k-1th layer vector of node v is obtained by And with the k-1 layer node vector of the current node v Finally, through a layer of full connection transformation, we get the node vector of node v in the kth layer. After K layers of neighborhood aggregation, the node vector of the Kth layer is As the final node vector Z v .

[0142] Furthermore, according to the above formulas (5) and (6), the graph model will undergo relatively large parameter modifications at the beginning of training. As the training progresses, the recognition effect of the graph model approaches the optimal value, the amplitude of the model parameter modification decreases, and finally the parameters tend to converge, and the graph model completes training.

[0143] In one embodiment, after obtaining the vectors after the user and the anchor are aggregated, the above-mentioned graph model can use the cross entropy loss function for supervised learning. Here, the positive sample is a sample of a user watching an anchor. In order to enable the graph model to learn more information about the anchor, the negative sample can be obtained by random sampling. In an embodiment of the present application, the relationship between the user and the anchor is represented by constructing a user-anchor viewing relationship network and an anchor-anchor intimacy network. A relationship sub-network is constructed by random sampling to represent the connection between the user and the anchor. By predicting the user's preference for the anchor, the graph model can better learn global structured information. The user vector of the sample user and the anchor vector of the sample anchor finally output by the graph model can be further used in the live broadcast recommendation method as described in one or more of the above embodiments.

[0144] In practical applications, after obtaining the aggregated vectors of users and anchors, deep neural networks (DNN) can be used to process the aggregated user vectors and anchor vectors.

[0145] In some possible embodiments, in order to fully learn the global structural information of the network while controlling the training cost, in the embodiment of the present application, a second-order neighborhood aggregation method is adopted. First, by aggregating the node vectors of the second-order neighborhood nodes, a first-order neighborhood node vector is generated, and then the first-order neighbor vector is aggregated, and the node vector itself is fused to complete the update of its own node vector. It should be noted that the anchor side samples the relationship sub-network of the neighbor node from the anchor intimacy relationship network, and the user side samples the relationship sub-network of the neighbor node from the viewing relationship network.

[0146] It should be noted that the above-mentioned graph model can be trained using the above-mentioned offline samples, or it can be trained using the above-mentioned online samples. Of course, offline samples and online samples can also be used for collaborative training. In practical applications, if the above-mentioned graph model is updated using real-time samples, it may be biased due to some local sample distribution problems. This problem can be corrected by collaborative training using offline samples and online samples. If the above-mentioned graph model is updated using online samples for a long time, the probability of out of vocabulary (OOV) will increase, that is, the new feature cannot find the corresponding node vector in the neural network, so the default value vector is used. This problem can be avoided well by collaborative training using offline samples and online samples.

[0147] In one embodiment, in the process of using online samples to train the graph model, the live broadcast recommendation device can obtain the anchor side historical live broadcast data within the second time period, such as historical live broadcast exposure data and historical live broadcast room entry and exit data, and extract features from the live broadcast data to obtain corresponding user and anchor features. Then, the live broadcast recommendation device updates the model parameters of the graph model online based on these real-time features.

[0148] For example, see Fig.10 , Fig.10 This is a flow chart of another method for training a graph model provided in an embodiment of the present application. Fig.10The steps shown are explained. In step S1001, the live broadcast recommendation device collects the historical live broadcast data of the anchor side within the second time period from the message queue that records the live broadcast exposure data, the real-time entry and exit data of the live broadcast room and other anchor side live broadcast data. Then, in step S1002, the live broadcast recommendation device performs processes such as splicing and cleaning on the online samples to generate online samples at the minute level. Next, in step S1003, the live broadcast recommendation device dynamically updates the graph model parameters through the real-time training task of the graph model. Finally, in step S1004, the live broadcast recommendation device regularly exports the anchor vector to dynamically update the anchor vector obtained based on the offline sample.

[0149] It should be noted that in the process of the above-mentioned online sample training graph model, attention should be paid to the sample attribution problem. Due to the natural serialization of behavior reporting, the sample labeling will be delayed. For example, the user display behavior data arrives first, followed by the user click behavior data, and finally the user playback time data. Then, when the display data and click data generated by the same user on the same live stream arrive one after another, it is necessary to determine how to attribute the sample labels and update the graph model. To this end, in an embodiment of the present application, negative samples will be cached first, waiting for potential positive samples to arrive. If subsequent positive samples arrive, the graph model will be updated.

[0150] In some other possible embodiments, in order to further improve the accuracy of live broadcast recommendation, after the above-mentioned graph model outputs the user vector and the anchor vector, the user vector and the anchor vector can be used not only in the downstream recall process, but also in pre-training the fine ranking model in the downstream sorting process. Then, after step S504, the above-mentioned method further includes: determining the user vector of the sample user and the anchor vector of the sample anchor as the pre-training vector; determining the pre-training vector as the initialization vector of the fine ranking model, the initialization vector is used to train the fine ranking model, and the fine ranking model is used to sort the recalled anchors.

[0151] It can be understood that the main scenarios in the live broadcast recommendation business can be divided into live stream recommendation and post-live broadcast recommendation, among which, the post-live broadcast recommendation contains a large number of potential viewing samples that have not been applied by the live stream recommendation. The purpose of knowledge transfer can be achieved by using this part of the viewing samples. Specifically, first of all, a large number of post-live broadcast recommendation viewing samples can be used to generate user vectors and anchor vectors through the graph model, so as to obtain user vectors and anchor vectors that have not appeared in the live stream recommendation stream, and use this part of user vectors and anchor vectors as pre-training vectors to initialize the user ID vector and anchor ID vector of the refined ranking model (that is, the initialization vector of the refined ranking model). Then, the model is further fine-tuned through samples of the live broadcast recommendation stream. In this way, when the sorting model scores a new user or a new anchor, if the graph model does not have the historical data of the user or anchor, then the parameters in the refined ranking model are not well iterated. The use of pre-training can avoid some of this situation and partially solve the cold start problem of the refined ranking model.

[0152] For example, see Fig.11 , Fig.11 This is a flow chart of a training method for a refined ranking model provided in an embodiment of the present application. Fig.11 The steps shown are explained. The specific process is: in step S1101, the live broadcast recommendation device uses pre-trained user and anchor vectors and other auxiliary feature vectors to splice through the vector splicing layer. Then, in step S1102, the live broadcast recommendation device passes through the multi-layer neural network fully connected layer. Next, in step S1103, the live broadcast recommendation device uses the cross entropy loss function to calculate the loss. Finally, in step S1104, the live broadcast recommendation device updates the model parameters and each feature representation vector through the gradient back propagation of the loss. After the model loss converges, the model file is saved for the live broadcast recommendation device to perform online scoring.

[0153] In some possible embodiments, the user vectors and anchor vectors generated by the graph model are evaluated using offline and online AB test evaluations, and the offline indicator uses the area under the curve (AUC) indicator to judge the effect of the pre-trained vector. The offline experiment tests three types of sorting models: the user vectors and anchor vectors generated by the above-mentioned graph model initialize the model ID class vectors, the vectors generated by matrix decomposition initialize the model ID class vectors, and the randomly initialized model ID class vectors. The offline evaluation A UC shows that the effect of the graph model vector is greater than the effect of the matrix decomposition vector, and the effect of the matrix decomposition vector is greater than the randomly initialized model vector. The online experiment tests two types of sorting models: vector initialized model vectors and randomly initialized model vectors. The final online effect shows that the online click-through rate indicator is significantly improved after the vector generated by the graph model is initialized to the sorting model ID vector.

[0154] The live broadcast recommendation method is described below with a specific example.

[0155] See also Fig.12 , Fig.12 This is a flowchart of another live broadcast recommendation method provided by an embodiment of the present application. Fig.12 The steps shown are explained.

[0156] In step S1201, a live broadcast training sample is generated according to historical live broadcast data;

[0157] In step S1202, feature extraction is performed on the live broadcast training sample to obtain user features of the sample user and host features of the sample host;

[0158] In step S1203, a viewing relationship network and an intimate relationship network are constructed based on user characteristics and anchor characteristics;

[0159] In step S1204, based on the viewing relationship network and the intimate relationship network, a graph model is trained to obtain a user vector of a sample user and a host vector of a sample host;

[0160] In step S1205, the anchor side historical live broadcast data within the second duration is obtained, and feature extraction is performed on the anchor side historical live broadcast data to obtain corresponding anchor features;

[0161] In step S1206, based on the anchor characteristics, the model parameters of the graph model are updated;

[0162] It should be noted that, after step S1206, steps S1207 to S1209 and / or steps S1210 to S1211 may be executed.

[0163] In step S1207, user characteristics of the target user are obtained;

[0164] In step S1208, the user features are input into the graph model to obtain the output user vector of the target user;

[0165] In step S1209, based on the user vector of the target user and the anchor vector of each of the multiple anchors, corresponding anchors are recalled for the target user;

[0166] In step S1210, the user vector of the sample user and the host vector of the sample host are determined as pre-trained vectors;

[0167] In step S1211, the pre-trained vector is input into the refined ranking model to train the refined ranking model;

[0168] It should be noted that step S1212 may be executed after step S1209 or step S1211.

[0169] In step S1212, the recall or sorting effect of the graph model is evaluated.

[0170] As can be seen from the above, the embodiment of the present application also provides two user vector and anchor vector application scenarios, including vector similarity recall and sorting model pre-trained vector loading, which can achieve good business indicators in the recommendation process recall and sorting. Furthermore, the embodiment of the present application provides a new user vector and anchor vector generation method, which improves the accuracy of user and anchor representation vectors from multiple aspects, while taking into account the changes in live broadcast content and user preference time, and improving the timeliness of recommendations.

[0171] Based on the same inventive concept, the following further describes the exemplary structure of the live broadcast recommendation device provided in the embodiment of the present application implemented as a software module. In some embodiments, Figure 2 As shown, the software modules stored in the live broadcast recommendation device 255 of the memory 240 may include:

[0172] The feature acquisition module 2551 is used to obtain the user features of the target user; the vector calculation module 2552 is used to input the user features into the graph model for vector search to obtain the output user vector of the target user, and the graph model is trained based on the viewing relationship between the user and the anchor and the close relationship between the anchors; the recall module 2553 is used to recall the corresponding anchor for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors, and the anchor vector of each anchor is obtained through the graph model.

[0173] In some possible embodiments, the recall module 2553 is further used to: calculate a first similarity between a user vector of a target user and a host vector of each of a plurality of hosts; and recall hosts whose first similarity meets a first preset condition.

[0174] In some possible embodiments, the feature acquisition module 2551 is further used to: after obtaining the user features of the target user, determine, from multiple hosts, at least one viewed host that the target user has watched within a preset time period according to the user features; the vector calculation module 2552 is used to input the host features of at least one viewed host into the graph model respectively, and obtain the host vector of each viewed host in the output at least one viewed host; the recall module 2553 is further used to recall the corresponding hosts for the target user based on the user vector of the target user, the host vector of each viewed host, and the host vector of each host.

[0175] In some possible embodiments, the recall module 2553 is further used to: calculate a first similarity between a user vector of a target user and an anchor vector of each anchor; respectively calculate a second similarity between an anchor vector of each viewed anchor and an anchor vector of each anchor; determine an anchor feature of a first anchor whose first similarity satisfies a first preset condition from a plurality of anchors; for each viewed anchor, determine an anchor feature of a second anchor whose second similarity satisfies a second preset condition from a plurality of anchors; and recall the first anchor and the second anchor based on the anchor feature of the first anchor and the anchor feature of the second anchor.

[0176] In some possible embodiments, the feature acquisition module 2551 is also used to: generate live broadcast training samples based on historical live broadcast data, wherein the live broadcast training samples include historical live broadcast data of sample users and historical live broadcast data of sample hosts; perform feature extraction on the historical live broadcast data of sample users and the historical live broadcast data of sample hosts to obtain user features of sample users and host features of sample hosts; the vector calculation module 2552 is also used to: construct a viewing relationship network and an intimate relationship network based on user features and host features, wherein the viewing relationship network is used to describe the viewing relationship between users and hosts, and the intimate relationship network is used to describe the intimate relationship between hosts; perform iterative training on the graph model based on the viewing relationship network and the intimate relationship network until the graph model converges to obtain the user vector of the sample user and the host vector of the sample host.

[0177] In some possible embodiments, the viewing relationship network includes: a user node representing a sample user, a host node representing a sample host, and an edge pointing from the user node to the host node, wherein the weight of the edge is determined by normalization based on the historical viewing data of the sample user.

[0178] In some possible embodiments, the intimacy network includes: anchor nodes representing sample anchors and edges from one anchor node to another anchor node among the anchor nodes, wherein the weight of the edge is determined based on the intimacy between the sample anchor nodes.

[0179] In some possible embodiments, the vector calculation module 2552 is also used to: sample the viewing relationship network and the intimate relationship network to obtain multiple sub-relationship networks; perform at least one layer of neighborhood aggregation on each of the multiple sub-relationship networks to obtain the user vector of the sample user and the anchor vector of the sample anchor; adjust the model parameters of the graph model based on the user vector of the sample user, the anchor vector of the sample anchor and the cross-entropy loss function.

[0180] In some possible embodiments, the feature acquisition module 2551 is also used to: obtain historical live broadcast data within the first time period, the historical live broadcast data including user-side historical data and host-side historical live broadcast data; calculate the user's click weight for the host based on the user's viewing time of the host in the historical live broadcast data; sample the user-side historical data and the host-side historical live broadcast data according to the click weight to generate a live broadcast training sample.

[0181] In some possible embodiments, the historical live broadcast data includes: historical live broadcast data on the user side and historical live broadcast data on the anchor side; wherein the feature acquisition module 2551 is further used to: obtain historical live broadcast data on the anchor side within a second duration, where the second duration is less than the first duration; perform feature extraction on the historical live broadcast data on the anchor side to obtain anchor features; and update the model parameters of the graph model based on the anchor features.

[0182] In some possible embodiments, the above-mentioned device also includes: a sorting module 2554, which is also used to determine the user vector of the sample user and the anchor vector of the sample anchor as pre-trained vectors after the vector calculation module iteratively trains the graph model based on the viewing relationship network and the intimate relationship network; the pre-trained vector input is determined as the initialization vector of the refined ranking model, the initialization vector is used to train the refined ranking model, and the refined ranking model is used to sort the recalled anchors.

[0183] Based on the same inventive concept, the embodiment of the present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the live broadcast recommendation method described above in the embodiment of the present application.

[0184] Based on the same inventive concept, an embodiment of the present application provides a computer-readable storage medium storing executable instructions, wherein executable instructions are stored. When the executable instructions are executed by a processor, the processor will execute the live broadcast recommendation method provided by the embodiment of the present application, for example, Figure 3 The live broadcast recommendation method shown.

[0185] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EP ROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various devices including one or any combination of the above memories.

[0186] In some embodiments, executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.

[0187] As an example, executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a hypertext markup language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).

[0188] By way of example, executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.

[0189] In summary, the embodiment of the present application can make full use of the viewing relationship between users and anchors and the close relationship between anchors, so as to obtain user vectors and anchor vectors containing more dimensional features. Then, based on the user vector of the target user and the anchor vectors of each anchor, it is possible to recall live anchors that are more in line with the user's interests and needs for the target user, thereby improving the accuracy of anchor recommendation.

[0190] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.

Claims

1. A live broadcast recommendation method, characterized in that: The method comprises: Obtain user characteristics of target users; Inputting the user features into a graph model to perform vector search to obtain a user vector of the target user, wherein the graph model is trained based on the viewing relationship between the user and the anchor and the intimacy between the anchors; Recalling corresponding anchors for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors, wherein the anchor vector of each anchor is obtained through the graph model; After obtaining the user characteristics of the target user, the method further includes: Determine, according to the user characteristics, at least one viewed anchor from the multiple anchors that the target user has watched within a preset time period; Inputting the host features of the at least one viewed host into the graph model respectively to perform vector search, and obtaining an output host vector of each of the at least one viewed host; The step of recalling corresponding anchors for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors includes: Based on the user vector of the target user, the anchor vector of each watched anchor, and the anchor vector of each anchor, corresponding anchors are recalled for the target user.

2. The method according to claim 1, characterized in that: The calling out corresponding anchors for the target user based on the user vector of the target user and the anchor vector of each of the multiple anchors includes: Calculating a first similarity between a user vector of the target user and a host vector of each of the multiple hosts; The anchors whose first similarity meets the first preset condition are recalled.

3. The method according to claim 1, characterized in that The recalling corresponding anchors for the target user based on the user vector of the target user, the anchor vector of each watched anchor, and the anchor vector of each anchor includes: Calculating a first similarity between a user vector of the target user and a host vector of each host; respectively calculating a second similarity between the anchor vector of each of the viewed anchors and the anchor vector of each of the anchors; Determine, from the multiple hosts, a first host whose first similarity satisfies a first preset condition; For each of the viewed hosts, determining a second host from the multiple hosts whose second similarity satisfies a second preset condition; Based on the anchor feature of the first anchor and the anchor feature of the second anchor, corresponding anchors are recalled for the target user.

4. A method for training a graph model, characterized in that: include: Generate live broadcast training samples based on historical live broadcast data; wherein the live broadcast training samples include historical live broadcast data of sample users and historical live broadcast data of sample anchors; Performing feature extraction on the historical live broadcast data of the sample users and the historical live broadcast data of the sample anchors to obtain user features of the sample users and anchor features of the sample anchors; According to the user characteristics and the anchor characteristics, a viewing relationship network and an intimate relationship network are constructed, wherein the viewing relationship network is used to describe the viewing relationship between the user and the anchor, and the intimate relationship network is used to describe the intimate relationship between the anchors; Based on the viewing relationship network and the intimate relationship network, the graph model is iteratively trained until the graph model converges, so as to obtain the user vector of the sample user and the anchor vector of the sample anchor.

5. The method according to claim 4, characterized in that The viewing relationship network includes: a user node representing the sample user, a host node representing the sample host, and an edge pointing from the user node to the host node, wherein the weight of the edge is determined by normalization based on the historical viewing data of the sample user.

6. The method according to claim 4, characterized in that The intimacy network includes: anchor nodes representing the sample anchors and edges from one of the anchor nodes to another anchor node, wherein the weight of the edge is determined based on the intimacy between the sample anchor nodes.

7. The method according to claim 4, characterized in that The iterative training of the graph model based on the viewing relationship network and the intimacy relationship network includes: Sampling the viewing relationship network and the intimate relationship network to obtain a plurality of sub-relationship networks; Performing at least one layer of neighborhood aggregation on each of the multiple sub-relationship networks to obtain a user vector of the sample user and a host vector of the sample host; Based on the user vector of the sample user, the anchor vector of the sample anchor, and the cross entropy loss function, the model parameters of the graph model are adjusted.

8. The method according to claim 4, characterized in that The generating of live broadcast training samples according to historical live broadcast data includes: Acquire historical live broadcast data within a first duration, wherein the historical live broadcast data includes user-side historical data and anchor-side historical live broadcast data; Calculate the click weight of the user on the anchor according to the viewing time of the user on the anchor in the historical live broadcast data; According to the click weight, the user-side historical data and the anchor-side historical live broadcast data are sampled to generate the live broadcast training sample.

9. The method according to claim 8, characterized in that The method further comprises: Acquire the anchor-side historical live broadcast data within a second duration, where the second duration is shorter than the first duration; Extracting features from the anchor's historical live broadcast data to obtain anchor features; Based on the anchor characteristics, model parameters of the graph model are updated.

10. The method according to claim 4, characterized in that After iteratively training the graph model based on the viewing relationship network and the intimacy relationship network, the method further includes: Determine the user vector of the sample user and the host vector of the sample host as pre-trained vectors; The pre-trained vector is determined as an initialization vector of a refined ranking model, and the initialization vector is used to train the refined ranking model, and the refined ranking model is used to sort the recalled anchors.

11. A live broadcast recommendation device, characterized in that: The device comprises: A feature acquisition module is used to obtain user features of target users; A vector calculation module, used for inputting the user features into a graph model to obtain a user vector of the target user as an output, wherein the graph model is trained based on the viewing relationship between the user and the anchor and the intimacy between the anchors; a recall module, configured to recall corresponding anchors for the target user based on a user vector of the target user and an anchor vector of each of the multiple anchors, wherein the anchor vector of each anchor is obtained through the graph model; The feature acquisition module is further configured to determine, after obtaining the user feature of the target user, at least one viewed anchor watched by the target user within a preset time period from among the multiple anchors according to the user feature; The vector calculation module is further used to input the anchor features of the at least one viewed anchor into the graph model respectively to perform vector search, and obtain an output anchor vector of each viewed anchor in the at least one viewed anchor; The recall module is further used to recall corresponding anchors for the target user based on the user vector of the target user, the anchor vector of each watched anchor, and the anchor vector of each anchor.

12. An electronic device, characterized in that: The electronic device comprises: A memory for storing executable instructions; A processor, configured to execute the executable instructions stored in the memory to implement the live broadcast recommendation method as described in any one of claims 1 to 10.

13. A computer-readable storage medium storing executable instructions, characterized in that: When the executable instructions are executed by the processor, the live broadcast recommendation method as described in any one of claims 1 to 10 can be implemented.

Citation Information

Patent Citations

  • Live broadcast recommendation model training method, live broadcast recommendation method and related equipment

    CN113919923A