WO2023245938A1 - 对象推荐方法和装置 - Google Patents

对象推荐方法和装置 Download PDF

Info

Publication number
WO2023245938A1
WO2023245938A1 PCT/CN2022/127146 CN2022127146W WO2023245938A1 WO 2023245938 A1 WO2023245938 A1 WO 2023245938A1 CN 2022127146 W CN2022127146 W CN 2022127146W WO 2023245938 A1 WO2023245938 A1 WO 2023245938A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
subset
users
vector representation
preference
Prior art date
Application number
PCT/CN2022/127146
Other languages
English (en)
French (fr)
Inventor
胡小雨
王朝旭
曹茜
王卓颖
郑宇航
秦首科
Original Assignee
百度在线网络技术(北京)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 百度在线网络技术(北京)有限公司 filed Critical 百度在线网络技术(北京)有限公司
Publication of WO2023245938A1 publication Critical patent/WO2023245938A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Definitions

  • the present disclosure relates to the field of computer technology, in particular to the field of recommendation technology based on artificial intelligence, and specifically to an object recommendation method, device, electronic device, computer-readable storage medium and computer program product.
  • Artificial intelligence is the study of using computers to simulate certain human thinking processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.). It has both hardware-level technology and software-level technology. Artificial intelligence hardware technology generally includes technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing, etc.; artificial intelligence software technology mainly includes computer vision technology, speech recognition technology, natural language processing technology, and machine learning/depth Learning, big data processing technology, knowledge graph technology and other major directions.
  • object recommendation based on artificial intelligence predicts the user's preferences for objects and recommends objects that match the user's preferences.
  • the present disclosure provides an object recommendation method, device, electronic device, computer-readable storage medium and computer program product.
  • an object recommendation method including: obtaining a first user subset corresponding to an object to be recommended from a user set, where the influence of each user in the first user subset is greater than The influence of a first user in the user set that is different from each user in the first user subset, wherein each user in the user set has a related user subset, and the influence indicates the corresponding user
  • Each user in the relevant user subset has the possibility of preferring the object preferred by the corresponding user; recommend the object to each user in the first user subset to obtain the a first subset, each user in the first subset having a first operation on the object, the first operation indicating a preference for the object; and based on the first subset, determining whether to The object is recommended to a target user in the user set, and the target user is different from each user in the first user subset.
  • an object recommendation device including: a first user set acquisition unit configured to obtain a first user subset corresponding to an object to be recommended from the user set, the The influence of each user in a user subset is greater than the influence of a first user in the user set that is different from each user in the first user subset, wherein each user in the user set has A subset of related users, the influence indicating that each user in the subset of related users of the corresponding user has a preference for an object preferred by the corresponding user; a first recommendation unit configured to recommend the object Give each user in the first subset of users to obtain the first subset in the first set of users.
  • Each user in the first subset has a first operation on the object. The first operation indicating a preference for the object; and a second recommendation unit configured to determine, based on the first subset, whether to recommend the object to a target user in the user set, the target user being different from the Each user in the first subset of users.
  • an electronic device including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores information that can be executed by the at least one processor.
  • the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to the embodiment of the present disclosure.
  • a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform a method according to an embodiment of the present disclosure.
  • a computer program product including a computer program, wherein the computer program, when executed by a processor, implements the method described in embodiments of the present disclosure.
  • objects recommended to the target user can be avoided from causing an information cocoon for the target user, and at the same time, the objects recommended to the target user can be objects preferred by the target user, thereby improving the user experience.
  • FIG. 1 illustrates a schematic diagram of an exemplary system in which various methods described herein may be implemented in accordance with embodiments of the present disclosure
  • Figure 2 shows a flow chart of an object recommendation method according to an embodiment of the present disclosure
  • Figure 3 shows a flow chart of a process of obtaining a first user subset corresponding to an object to be recommended from a user collection in an object recommendation method according to an embodiment of the present disclosure
  • FIG. 4 shows a flowchart of a process of determining whether to recommend an object to a target user in a user set based on a first subset in an object recommendation method according to an embodiment of the present disclosure
  • Figure 5 shows a flowchart that can implement a process of obtaining a target user's predicted preference for an object based on the first subset in the object recommendation method according to an embodiment of the present disclosure
  • FIG. 6 shows a flowchart that can implement a process of obtaining a vector representation of an object based on the vector representation of each user in the first subset in the object recommendation method according to an embodiment of the present disclosure
  • FIG. 7 shows a flowchart that can implement a process of obtaining predicted preferences based on a vector representation of an object and a vector representation of a target user in the object recommendation method according to an embodiment of the present disclosure
  • Figure 8 shows a structural block diagram of an object recommendation device according to an embodiment of the present disclosure.
  • FIG. 9 shows a structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure.
  • first”, “second”, etc. to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of these elements. Such terms are only used for Distinguish one feature from another.
  • first element and the second element may refer to the same instance of the element, and in some cases, based on contextual description, they may refer to different instances.
  • FIG. 1 shows a schematic diagram of an exemplary system 100 in which various methods and apparatus described herein may be implemented in accordance with embodiments of the present disclosure.
  • the system 100 includes one or more client devices 101 , 102 , 103 , 104 , 105 , and 106 , a server 120 , and one or more communication networks coupling the one or more client devices to the server 120 110.
  • Client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
  • the server 120 may run one or more services or software applications that enable execution of object recommendation methods.
  • server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments.
  • these services may be provided as web-based services or cloud services, such as under a Software as a Service (SaaS) model to users of client devices 101, 102, 103, 104, 105, and/or 106 .
  • SaaS Software as a Service
  • server 120 may include one or more components that implement the functions performed by server 120 . These components may include software components, hardware components, or combinations thereof that are executable by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and/or 106 may, in turn, utilize one or more client applications to interact with server 120 to utilize services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from system 100 . Accordingly, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
  • client devices 101, 102, 103, 104, 105, and/or 106 Users may use client devices 101, 102, 103, 104, 105, and/or 106 to receive recommended objects.
  • the client device may provide an interface that enables a user of the client device to interact with the client device.
  • the client device can also output information to the user via the interface.
  • FIG. 1 depicts only six client devices, those skilled in the art will understand that the present disclosure can support any number of client devices.
  • Client devices 101, 102, 103, 104, 105, and/or 106 may include various types of computer devices, such as portable handheld devices, general purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, Smart screen equipment, self-service terminal equipment, service robots, game systems, thin clients, various messaging equipment, sensors or other sensing equipment, etc.
  • These computer devices can run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems , such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android.
  • Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), and the like.
  • Wearable devices may include head-mounted displays (such as smart glasses) and other devices.
  • Gaming systems may include various handheld gaming devices, Internet-enabled gaming devices, and the like.
  • the client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (such as email applications), Short Message Service (SMS) applications, and can use various communication protocols.
  • Network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols (including, but not limited to, TCP/IP, SNA, IPX, etc.).
  • one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, Blockchain networks, Public Switched Telephone Network (PSTN), infrared networks, wireless networks (e.g. Bluetooth, WIFI) and/or any combination of these and/or other networks.
  • LAN local area network
  • Ethernet-based network a token ring
  • WAN wide area network
  • VPN virtual private network
  • PSTN Public Switched Telephone Network
  • WIFI wireless networks
  • Server 120 may include one or more general purpose computers, special purpose server computers (eg, PC (Personal Computer) servers, UNIX servers, midrange servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination .
  • Server 120 may include one or more virtual machines running a virtual operating system, or other computing architecture involving virtualization (eg, one or more flexible pools of logical storage devices that may be virtualized to maintain the server's virtual storage devices).
  • server 120 may run one or more services or software applications that provide the functionality described below.
  • Computing units in server 120 may run one or more operating systems, including any of the operating systems described above, as well as any commercially available server operating system.
  • Server 120 may also run any of a variety of additional server applications and/or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.
  • server 120 may include one or more applications to analyze and incorporate data feeds and/or event updates received from users of client devices 101, 102, 103, 104, 105, and/or 106.
  • Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices of client devices 101 , 102 , 103 , 104 , 105 , and/or 106 .
  • the server 120 may be a server of a distributed system, or a server combined with a blockchain.
  • the server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
  • Cloud server is a host product in the cloud computing service system to solve the shortcomings of difficult management and weak business scalability in traditional physical host and virtual private server (VPS) services.
  • System 100 may also include one or more databases 130.
  • these databases may be used to store data and other information.
  • databases 130 may be used to store information such as audio files and video files.
  • Database 130 may reside in various locations.
  • a database used by server 120 may be local to server 120, or may be remote from server 120 and may communicate with server 120 via a network-based or dedicated connection.
  • Database 130 may be of different types.
  • the database used by server 120 may be, for example, a relational database.
  • One or more of these databases may store, update, and retrieve data to and from the database in response to commands.
  • one or more of databases 130 may also be used by applications to store application data.
  • the database used by the application can be different types of databases such as key-value repositories, object repositories or regular repositories backed by a file system.
  • the system 100 of Figure 1 may be configured and operated in various ways to enable the application of the various methods and apparatus described in accordance with the present disclosure.
  • an object recommendation method is provided. As shown in Figure 2, an object recommendation method 200 according to some embodiments of the present disclosure includes:
  • Step S210 Obtain a first user subset corresponding to the object to be recommended from the user set.
  • the influence of each user in the first user subset is greater than that in the user set that is different from the first user subset.
  • the influence of the first user of each user wherein each user in the set of users has a subset of related users, and the influence indicates that each user in the subset of related users of the corresponding user has an influence on the corresponding user
  • the object of preference has the possibility of preference;
  • Step S220 Recommend the object to each user in the first user subset to obtain a first subset in the first user set.
  • Each user in the first subset has a third preference for the object. an operation, the first operation indicating a preference for the object;
  • Step S230 Based on the first subset, determine whether to recommend the object to a target user in the user set, where the target user is different from each user in the first user subset.
  • the influence of each user in the first user subset is greater than the first user in the user set that is different from each user in the first user subset.
  • influence so that the users in the first user subset obtained are users with greater influence, that is, when the objects preferred by the user are recommended to each user in the relevant user subset of the user, the user's preferred The object is more likely to be preferred by users in the corresponding user subset. Therefore, when the object to be recommended is recommended to each user in the first user subset, when a user in the first user subset prefers the object, the user in the related user subset is more likely to prefer the object.
  • the correlation between the user and the candidate object is determined based on the user's historical behavior, and whether to recommend the candidate object to the user is determined based on the correlation.
  • a method of obtaining the correlation between a candidate object and the user is, for example, by calculating the similarity between the candidate object and the object preferred by the user as indicated by the user's historical behavior, and using the similarity as an evaluation index of correlation to perform object recommendation.
  • the objects recommended to the user are objects related to the user's points of interest, creating an information cocoon.
  • strategies that often target irrelevance are used to adjust the delivered objects. For example, irrelevant objects are randomly pushed, which makes the recommended objects bad and damages the user experience.
  • correlation is not used as an indicator to determine whether to recommend an object to a target user, which can avoid creating an information cocoon for the target user by recommending the object to the target user.
  • the objects recommended to the target objects are not randomly pushed irrelevant objects, which can improve the accuracy of the recommended objects in line with user preferences and improve user experience.
  • the objects to be recommended may be any information, resources, etc. that exist in the form of electronic data, such as videos, articles, commodities, etc.
  • the recommendation of the objects to be recommended is realized.
  • the users in the user set are users who use each client to receive the object to be recommended. Among them, each user has a corresponding ID on the client, and the user can be obtained through this ID.
  • the relevant user subset for each user in the user set may be a set of users with whom it is directly connected.
  • the relevant user subset of user A is a set of users who have a friend relationship with user A.
  • the relevant user subset of user A is a set of users who follow user A.
  • each user in the user set when each user in the user set performs a related operation on the recommended object, it indicates that it has a preference for the recommended object. For example, if user A clicks on an article recommended to him, it indicates that user A has a preference for the article.
  • the operations performed by the user on the recommended objects may include a variety of operations, such as clicking, liking, sharing, commenting, collecting or following, etc. Different operations indicate that users have different preferences for recommended objects. For example, a like indicates that the user prefers the recommended object to a greater degree than a click indicates that the user prefers the recommended object.
  • the first user subset corresponding to the object to be recommended is obtained according to the historical user behavior of each user in the user set, where the historical user behavior is obtained when the historical object is recommended to the user.
  • Historical objects are objects recommended to the user before the object to be recommended.
  • the object corresponds to a first category in multiple categories, and each category in the multiple categories has a corresponding object.
  • the object to be recommended is obtained from the user collection.
  • the corresponding first user subset includes:
  • Step S310 For each category in the plurality of categories, obtain a second user subset corresponding to the corresponding object of the category, wherein each user in the second user subset has the above-mentioned First operation;
  • Step S320 For each category in the plurality of categories, for each user in the second user subset, recommend the corresponding object of the category to the relevant user subset of the user to obtain the corresponding object of the user. a third subset of users, wherein each user in the third subset of users has the first operation on the corresponding object;
  • Step S330 For each category in the plurality of categories, determine the classified user subset of the category based on the third user subset corresponding to each user in the second user subset corresponding to the corresponding object of the category; and
  • Step S340 Determine the first user subset based on the classified user subset of each classification in the plurality of classifications and the first classification.
  • the classification label of the object is often set first, and the object is recommended accordingly based on the classification label of the object.
  • the classification label indicates the object classification of the object in multiple categories.
  • a first user subset is obtained for a single object.
  • the process of converting a user subset into a user subset corresponding to all objects with the same classification as the object improves the accuracy of the obtained first user subset.
  • each category corresponds to multiple objects.
  • multiple categories may include: finance, literature and history, science, etc., and each category corresponds to multiple articles.
  • the corresponding object for each of the plurality of categories is any one of the plurality of objects for that category.
  • the second user subset corresponding to the category is obtained by recommending corresponding objects of each category in the plurality of categories to each user in the user set.
  • the user will be added to the second user subset corresponding to the category.
  • users whose recommendation acceptance rate is greater than a preset threshold in the second user subset corresponding to the corresponding object of the category are added to the classified user subset of the category, so as to Get a subset of category users for this category.
  • the recommendation acceptance rate indicates the ratio of the number of users in the third user subset corresponding to the user to the number of users in the user's related user subset.
  • the classified user subset of the category includes a preset number of users in the second user subset corresponding to the category, wherein, the classified user subset of the category includes The ratio of the number of users in the third user subset corresponding to each user to the number of users in the corresponding user subset is greater than the number of users in the third user subset corresponding to the second user in the second user subset corresponding to the corresponding object of the category The ratio of the number to the number of users of the corresponding user subset, where the second user is distinct from each user in the classified user subset.
  • the users whose number of users in the third user subset have a larger ratio to the number of the corresponding user subset are determined to be users in the classified user subset of the category, so that the determined corresponding The user subset is a user with high influence, ensuring the accuracy of the obtained first user subset corresponding to the object to be recommended.
  • steps S310-S320 by performing steps S310-S320 respectively for multiple objects corresponding to each category in the multiple categories, based on the second user subset corresponding to each object of the multiple objects and the second user The third user subset corresponding to each user in the subset is obtained to obtain the classified user subset of the category.
  • determining whether to recommend the object to the target user in the user set includes:
  • Step S410 Obtain the target user's predicted preference for the object based on the first subset.
  • Step S420 Based on the predicted preference, determine whether to recommend the object to the target user.
  • the target user's predicted preference for the object is obtained.
  • the predicted preference indicates whether the target user has a preference. Since the first user subset is obtained based on the first user subset corresponding to the object to be recommended, It includes the preferences of each user in the first user subset for the object, and the target user's predicted preference for the object obtained based on the first user subset is accurate.
  • the target user's predicted preference for the object is obtained. For example, if the number of users in the first subset whose similarity to the target user is greater than a preset value exceeds a preset quantity threshold, it is determined that the target user has a preference for the object.
  • obtaining the target user's predicted preference for the object includes:
  • Step S510 Obtain the vector representation of each user in the first subset and the vector representation of the target user;
  • Step S520 Obtain the vector representation of the object based on the vector representation of each user in the first subset.
  • Step S530 Obtain the predicted preference based on the vector representation of the object and the vector representation of the target user.
  • the vector representation of the object is obtained. Since the first user subset is obtained based on the first user subset corresponding to the object to be recommended, it includes the use of each user in the first user subset to recommend the object. preferences, so that the obtained vector representation of the object includes the preferences of the first user subset, thereby making the characterization of the object more accurate.
  • each user in the first subset and the target user are obtained and represented by a vector.
  • each user is expressed as a vector as vec user .
  • obtaining the vector representation of the object includes:
  • Step S610 Cluster the first subset based on the vector representation of each user in the first subset to obtain multiple cluster centers;
  • Step S620 Obtain a vector representation of the object based on the multiple clustering centers.
  • Kmeans clustering is used to obtain cluster centers of multiple vector representations of multiple users in the first subset; by using linear weighting on the cluster centers, the vector representation of the object is obtained.
  • c i represents the i-th cluster center vector
  • a i represents the preset weight parameter of the i-th cluster center vector, where i is a positive integer less than k, and k is the number of cluster center vectors.
  • the first subset includes a second subset, wherein each user in the second subset has a second operation on the object, the second operation indicates a second operation on the object. Preference, wherein the second operation indicates a preference for the object greater than the first operation.
  • Cluster the first subset and the second subset respectively to obtain multiple clustering centers of the first subset and multiple clustering centers of the second subset; respectively based on multiple clustering of the first subset center and multiple cluster centers of the second subset to obtain a vector representation of the object.
  • the vector of an object obtained based on multiple cluster centers of the first subset is expressed as
  • the vector representation of the object obtained based on multiple cluster centers of the second subset is expressed as
  • the first operation includes clicking, and the second operation includes: like, share, comment, favorite, or follow.
  • obtaining the predicted preference includes:
  • Step S710 Obtain the evaluation index corresponding to the object, the evaluation index indicating the degree of preference of the first subset for the object;
  • Step S720 Determine the prediction preference based on the evaluation index, the vector representation of the object, and the vector representation of the target user.
  • the target user's predicted preference for the object is determined, so that the obtained predicted preference for the object by the target user is based on the user behavior of each user in the first subset. Quantification to further improve the accuracy of the obtained predicted preferences.
  • the evaluation indicators include:
  • Dot spread ratio indicates the ratio of the number of users of the first subset to the number of users of the first user subset
  • Average length of time spent the average length of time spent indicating the sum of the length of time spent by each user in the first subset on the object
  • the interaction rate indicates the ratio of the number of users in the second subset of the first subset to the number of users of the first subset, wherein each user in the second subset has an interest in the
  • the object has a second operation, the second operation indicates a preference for the object, wherein the second operation indicates a preference for the object greater than the first operation.
  • the number of users in the first subset is M
  • the number of users in the first subset is N
  • the number of users in the second subset is K
  • K, M and N are positive integers
  • total_dur is the sum of the time spent on the object by each user in the first subset.
  • determining the predicted preference based on the evaluation index, the vector representation of the object, and the vector representation of the target user includes:
  • the predicted preference is obtained.
  • the similarity between the vector representation of the object and the vector representation of the target user is obtained by calculating cosine similarity, wherein the vector representation of the object is obtained based on a plurality of cluster centers of the first subset
  • the first similarity simi click is obtained through formula (5):
  • vec user is the vector representation of the target user.
  • vec user is the vector representation of the target user.
  • the obtained first similarity is represented by a vector for an object obtained based on the plurality of cluster centers of the first subset and the vector obtained for the object based on the plurality of cluster centers of the first subset Indicates that the second degree of similarity obtained obtains the predicted preference.
  • the predicted preference factor is obtained through formula (7):
  • the predicted preference is added to the recommendation model of the target user, so that the recommendation model makes comprehensive recommendations based on the predicted preference and other metrics.
  • an object recommendation device is also provided.
  • the device 800 includes: a first user set acquisition unit 810 configured to obtain the object correspondence to be recommended from the user set.
  • a first user subset, the influence of each user in the first user subset is greater than the influence of a first user in the user set that is different from each user in the first user subset, wherein,
  • Each user in the user set has a related user subset, and the influence indicates a possibility that each user in the related user subset of the corresponding user has a preference for an object preferred by the corresponding user; the first recommendation unit 820.
  • a second recommendation unit 830 is configured to determine whether to recommend the object to the set of users based on the first subset.
  • the target users are different from each user in the first user subset.
  • the object corresponds to a first category among multiple categories, each category in the multiple categories has a corresponding object
  • the first user set acquisition unit 810 includes: a first recommendation subunit , configured for, for each category in the plurality of categories, obtaining a second user subset corresponding to the corresponding object of the category, wherein each user in the second user subset has an identity for the corresponding object of the category The first operation; the second recommendation subunit is configured to recommend, for each of the plurality of categories, the corresponding object of the category to each user in the second user subset.
  • the relevant user subset of the user is used to obtain the third user subset corresponding to the user, wherein each user in the third user subset has the first operation on the corresponding object;
  • the second user set acquisition unit is configured to determine a classified user subset of the classification based on a third user subset corresponding to each user in the second user subset corresponding to the corresponding object of the classification; and a determining unit configured to determine based on the plurality of A subset of classified users for each of the categories and the first category determines the first subset of users.
  • the ratio of the number of users in the third user subset corresponding to each user in the classified user subset of the category to the number of users in the relevant user subset Greater than the ratio of the number of users in the third user subset corresponding to the second user in the second user subset corresponding to the corresponding object of the classification to the number of users in the relevant user subset, wherein the second user is different from the user in the classification every user in the subset.
  • the second recommendation unit 830 includes: a preference acquisition unit configured to obtain the target user's predicted preference for the object based on the first subset; and a third recommendation subunit , configured to determine whether to recommend the object to the target user based on the predicted preference.
  • the preference acquisition unit includes: a vector representation acquisition unit configured to obtain a vector representation of each user in the first subset and a vector representation of the target user; a characterization unit configured for obtaining the vector representation of the object based on the vector representation of each user in the first subset; and a preference acquisition subunit configured for based on the vector representation of the object and the vector representation of the target user , to obtain the predicted preference.
  • the vector representation obtaining unit includes: a clustering unit configured to cluster the first subset based on the vector representation of each user in the first subset to obtain a plurality of clustering centers; and a representation subunit configured to obtain a vector representation of the object based on the plurality of clustering centers.
  • the preference acquisition subunit includes: an evaluation index acquisition unit configured to obtain an evaluation index corresponding to the object, the evaluation index indicating the degree of preference of the first subset for the object. ; and a determining subunit configured to determine the predicted preference based on the evaluation index, the vector representation of the object, and the vector representation of the target user.
  • the evaluation indicators include: click-to-view ratio, which indicates the ratio of the number of users of the first subset to the number of users of the first user subset; average time spent, so The average time spent indicates the sum of the length of time each user in the first subset spends on the object; or the interaction rate, the interaction rate indicates the number of users in the second subset in the first subset The ratio to the number of users of the first subset, wherein each user in the second subset has a second operation on the object, the second operation indicates a preference for the object, where The second operation indicates a preference for the object greater than the first operation.
  • the first operation includes clicking, and the second operation includes: like, share, comment, favorite, or follow.
  • an electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor. , the instructions are executed by the at least one processor, so that the at least one processor can perform the method according to the embodiment of the present disclosure.
  • a non-transitory computer-readable storage medium stores computer instructions, wherein the computer instructions are used to cause the computer to perform a method according to an embodiment of the present disclosure.
  • a computer program product includes a computer program, wherein the computer program, when executed by a processor, implements a method according to an embodiment of the disclosure.
  • the collection, storage, use, processing, transmission, provision and disclosure of user personal information are in compliance with relevant laws and regulations and do not violate public order and good customs.
  • an electronic device a readable storage medium, and a computer program product are also provided.
  • Electronic devices are intended to refer to various forms of digital electronic computing devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices, and other similar computing devices.
  • the components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit implementations of the disclosure described and/or claimed herein.
  • the electronic device 900 includes a computing unit 901 that can perform calculations according to a computer program stored in a read-only memory (ROM) 902 or loaded from a storage unit 908 into a random access memory (RAM) 903 . Perform various appropriate actions and processing.
  • RAM 903 various programs and data required for the operation of the electronic device 900 can also be stored.
  • Computing unit 901, ROM 902 and RAM 903 are connected to each other via bus 904.
  • An input/output (I/O) interface 905 is also connected to bus 904.
  • the input unit 906 may be any type of device capable of inputting information to the electronic device 900, the input unit 906 may receive input numeric or character information, and generate key signal input related to user settings and/or function control of the electronic device, and This may include, but is not limited to, a mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone, and/or remote control.
  • Output unit 907 may be any type of device capable of presenting information, and may include, but is not limited to, a display, speakers, video/audio output terminal, vibrator, and/or printer.
  • the storage unit 908 may include, but is not limited to, magnetic disks and optical disks.
  • the communication unit 909 allows the electronic device 900 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunications networks, and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver and/or a chip Groups such as BluetoothTM devices, 802.11 devices, WiFi devices, WiMax devices, cellular communications devices, and/or the like.
  • Computing unit 901 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc.
  • the computing unit 901 performs various methods and processes described above, such as method 200.
  • method 200 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 908.
  • part or all of the computer program may be loaded and/or installed onto the electronic device 900 via the ROM 902 and/or the communication unit 909.
  • the computer program When the computer program is loaded into RAM 903 and executed by computing unit 901, one or more steps of method 200 described above may be performed.
  • computing unit 901 may be configured to perform method 200 in any other suitable manner (eg, by means of firmware).
  • Various implementations of the systems and techniques described above may be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip implemented in a system (SOC), complex programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof.
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • ASSPs application specific standard products
  • SOC system
  • CPLD complex programmable logic device
  • computer hardware firmware, software, and/or combinations thereof.
  • These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor
  • the processor which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • An output device may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • An output device may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that the program codes, when executed by the processor or controller, cause the functions specified in the flowcharts and/or block diagrams/ The operation is implemented.
  • the program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include one or more wire-based electrical connections, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • CD-ROM portable compact disk read-only memory
  • magnetic storage device or any suitable combination of the above.
  • the systems and techniques described herein may be implemented on a computer having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user ); and a keyboard and pointing device (eg, a mouse or a trackball) through which a user can provide input to the computer.
  • a display device eg, a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • a keyboard and pointing device eg, a mouse or a trackball
  • Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including Acoustic input, voice input or tactile input) to receive input from the user.
  • the systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system.
  • the components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.
  • Computer systems may include clients and servers.
  • Clients and servers are generally remote from each other and typically interact over a communications network.
  • the relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other.
  • the server can be a cloud server, a distributed system server, or a server combined with a blockchain.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种对象推荐方法和装置,涉及计算机技术领域,尤其涉及基于人工智能的推荐技术领域。实现方案为:从用户集合中,获得待推荐的对象对应的第一用户子集,第一用户子集中的每一个用户的影响力大于用户集合中区别于第一用户子集中的每一个用户的第一用户的影响力;将对象推荐给第一用户子集中的每一个用户,以获得第一用户集合中的第一子集,第一子集中的每一个用户对对象具有第一操作,第一操作指示对对象具有偏好;以及基于第一子集,将对象推荐给用户集合中的目标用户,目标用户区别于第一用户子集中的每一个用户。

Description

对象推荐方法和装置
相关申请的交叉引用
本申请要求于2022年6月24日提交的中国专利申请202210720881.9的优先权,其全部内容通过引用整体结合在本申请中。
技术领域
本公开涉及计算机技术领域,尤其涉及基于人工智能的推荐技术领域,具体涉及一种对象推荐方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
基于人工智能的推荐技术,已经渗透到各个领域。其中,基于人工智能的对象推荐,通过预测用户对对象的偏好,向用户推荐符合其偏好的对象。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种对象推荐方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种对象推荐方法,包括:从用户集合中,获得待推荐的对象对应的第一用户子集,所述第一用户子集中的每一个用户的影响力大于所述用户集合中区别于所述第一用户子集中的每一个用户的第一用户的影响力,其中,所述用户集合中的每一个用户具有相关用户子集,所述影响力指示相应用户的相关用户子集中的每一个用户对所述相应用户所偏好的对象具有偏好的可能性;将所述对象推荐给第一用户子集中的每一个用户,以获得所述第一用户集合中的第一子集,所述第一子集中的每 一个用户对所述对象具有第一操作,所述第一操作指示对所述对象具有偏好;以及基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户,所述目标用户区别于所述第一用户子集中的每一个用户。
根据本公开的另一方面,提供了一种对象推荐装置,包括:第一用户集合获取单元,被配置用于从用户集合中,获得待推荐的对象对应的第一用户子集,所述第一用户子集中的每一个用户的影响力大于所述用户集合中区别于所述第一用户子集中的每一个用户的第一用户的影响力,其中,所述用户集合中的每一个用户具有相关用户子集,所述影响力指示相应用户的相关用户子集中的每一个用户对所述相应用户所偏好的对象具有偏好的可能性;第一推荐单元,被配置用于将所述对象推荐给第一用户子集中的每一个用户,以获得所述第一用户集合中的第一子集,所述第一子集中的每一个用户对所述对象具有第一操作,所述第一操作指示对所述对象具有偏好;以及第二推荐单元,被配置用于基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户,所述目标用户区别于所述第一用户子集中的每一个用户。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据本公开的实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开的实施例所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现本公开的实施例所述的方法。
根据本公开的一个或多个实施例,可以避免向目标用户推荐的对象造成目标用户的信息茧房,同时可以使向目标用户推荐的对象是目标用户偏好的对象,提升用户体验。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性***的示意图;
图2示出了根据本公开的实施例的对象推荐方法的流程图;
图3示出了根据本公开的实施例的对象推荐方法中从用户集合中获得待推荐的对象对应的第一用户子集的过程的流程图;
图4示出了根据本公开的实施例的对象推荐方法中基于第一子集确定是否将对象推荐给用户集合中的目标用户的过程的流程图;
图5示出了可以实现根据本公开的实施例的对象推荐方法中基于第一子集获得目标用户对对象的预测偏好的过程的流程图;
图6示出了可以实现根据本公开的实施例的对象推荐方法中基于第一子集中的每一个用户的向量表示获得对象的向量表示的过程的流程图;
图7示出了可以实现根据本公开的实施例的对象推荐方法中基于对象的向量表示和目标用户的向量表示获得预测偏好的过程的流程图;
图8示出了根据本公开的实施例的对象推荐装置的结构框图;以及
图9示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个要素与另一要素区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该 要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性***100的示意图。参考图1,该***100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够执行对象推荐方法的一个或多个服务或软件应用。
在某些实施例中,服务器120还可以提供其他服务或软件应用,这些服务或软件应用可以包括非虚拟环境和虚拟环境。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的***配置是可能的,其可以与***100不同。因此,图1是用于实施本文所描述的各种方法的***的一个示例,并且不旨在进行限制。
用户可以使用客户端设备101、102、103、104、105和/或106来接收被推荐的对象。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏***、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作***,例如MICROSOFT Windows、APPLE iOS、类UNIX操作***、Linux或类Linux操作***(例如GOOGLE Chrome OS);或包括各种移动操作系 统,例如MICROSOFT Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏***可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作***的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作***以及任何商业上可用的服务器操作***的一个或多个操作***。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和/或106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和/或106的一个或多个显示设备来显示数据馈送和/或实时事件。
在一些实施方式中,服务器120可以为分布式***的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与 虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。
***100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类型。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件***支持的常规存储库。
图1的***100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
根据本公开的一方面,提供了一种对象推荐方法。如图2所示,根据本公开的一些实施例的对象推荐方法200包括:
步骤S210:从用户集合中,获得待推荐的对象对应的第一用户子集,所述第一用户子集中的每一个用户的影响力大于所述用户集合中区别于所述第一用户子集中的每一个用户的第一用户的影响力,其中,所述用户集合中的每一个用户具有相关用户子集,所述影响力指示相应用户的相关用户子集中的每一个用户对所述相应用户所偏好的对象具有偏好的可能性;
步骤S220:将所述对象推荐给第一用户子集中的每一个用户,以获得所述第一用户集合中的第一子集,所述第一子集中的每一个用户对所述对象具有第一操作,所述第一操作指示对所述对象具有偏好;以及
步骤S230:基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户,所述目标用户区别于所述第一用户子集中的每一个用户。
从用户集合中获得待推荐的对象对应的第一用户子集,由于第一用户子集中的每一个用户的影响力大于用户集合中区别于该第一用户子集中的每一个用户的第一用户的影响力,使得所获得的第一用户子集中的用户是具有较大影响力的用户,即将该用户所偏好的对象推荐给该用户的相关用户子集中的每一个用户时,该用户所偏好的对象被相应 用户子集中的用户偏好的可能性较大。从而将该待推荐的对象推荐给该第一用户子集中的每一个用户时,当该第一用户子集中的一用户偏好该对象时,其相关用户子集中偏好该对象的用户可能性大。通过获得第一用户子集中对该对象具有偏好的第一子集,并基于第一子集将该对象推荐给目标用户。由于第一子集中的各个用户的相关用户子集中偏好该对象的可能性大,通过该第一子集判断是否将该对象推荐目标用户,使得判断结果更加准确,提升所获得的目标用户的用户体验。
在相关技术中,基于用户的历史行为,确定用户与候选对象的相关性,并且基于相关性确定是否向用户推荐候选对象。获得候选对象与用户的相关性的方法例如,通过计算候选对象与用户历史行为所指示的用户所偏好的对象的相似性,将相似性作为相关性的评价指标,进行对象推荐。使给用户推荐的对象是用户兴趣点相关的对象,造成信息茧房。为了给用于推荐多样性的对象,往往以不相关性为目标的策略,对下发对象进行调整,例如,随机推送不相关的对象,使得推荐的对象不好,损害用户体验。
在根据本公开的实施例中,不以相关性为指标,判断是否将对象推荐给目标用户,可以避免给目标对象推荐的对象造成目标用户的信息茧房。同时,给目标对象推荐的对象也不是随机推送的不相关对象,可以提升所推荐的对象符合用户偏好的准确性,提升用户体验。
根据本公开的实施例,待推荐的对象可以是任何以电子数据形式存在的任何信息、资源等,例如,视频、文章、商品等。通过将待推荐的对象通过网络传送给各个客户端,实现对待推荐的对象的推荐。
在一些实施例中,用户集合中的用户是该使用各个客户端接收该待推荐对象的用户。其中,每一个用户在客户端上具有相应的ID,通过该ID可以获得该用户。
在一些实施例中,用户集合中的每一个用户的相关用户子集可以是与其有直接联系的用户构成的集合。例如,用户A的相关用户子集是,与用户A具有朋友关系的用户所构成的集合。又例如,用户A的相关用户子集是,关注用户A的用户所构成的集合。
在一些实施例中,用户集合中的每一个用户对被推荐的对象执行相关操作时,指示其对该被推荐的对象具有偏好。例如,用户A点击了推荐给其的文章,则指示该用户A对该文章具有偏好。
可以理解,用户对被推荐的对象所执行的操作可以包括多种,例如,点击、点赞、分享、评论、收藏或者关注等等。不同的操作指示的用户对被推荐的对象的偏好程度不同。 例如,点赞指示用户对被推荐的对象的偏好程度要大于点击所指示的用户对被推荐的对象的偏好程度。
在一些实施例中,根据用户集合中的每一个用户的历史用户行为,获得待推荐的对象对应的第一用户子集,其中,历史用户行为是在将历史对象推荐给该用户时获得的。历史对象是在待推荐的对象之前被推荐给用户的对象。
在一些实施例中,所述对象对应于多个分类中的第一分类,所述多个分类中的每一个分类具有相应对象,如图3所示,从用户集合中,获得待推荐的对象对应的第一用户子集包括:
步骤S310:针对所述多个分类中的每一个分类,获得该分类的相应对象对应的第二用户子集,其中,该第二用户子集中的每一个用户对该分类的相应对象具有所述第一操作;
步骤S320:针对所述多个分类中的每一个分类,针对所述第二用户子集中的每一个用户,将该分类的相应对象推荐给该用户的相关用户子集,以获得该用户对应的第三用户子集,其中,该第三用户子集中的每一个用户对该相应对象具有所述第一操作;
步骤S330:针对所述多个分类中的每一个分类,基于该分类的相应对象对应的第二用户子集中的每一个用户对应的第三用户子集,确定该分类的分类用户子集;以及
步骤S340:基于所述多个分类中的每一个分类的分类用户子集和所述第一分类,确定所述第一用户子集。
在对待推荐的对象进行推荐的过程中,往往先设置对象的分类标签,基于对象的分类标签对对象进行相应推荐,该分类标签指示对象在多个分类中的对象分类。
在根据本公开的实施例中,通过获得多个分类中的每一个分类的相应用户集合,并基于对象的在多个分类中对应的分类,获得第一用户子集,将对单个对象获得第一用户子集的过程,转化成对与该对象具有相同分类的所有对象所对应的用户子集的过程,提升所获得的第一用户子集的准确性。
在一些实施例中,针对不同的待推荐对象,具有相应的多个分类,其中,每一个分类下对应多个对象。
例如,当待推荐的对象为文章的情况下,多个分类可以包括:财经类、文史类、科学类等等,每一个分类下对应多篇文章。
在一些实施例中,多个分类中的每一个分类的相应对象是该分类对象的多个对象的中任一个。
在一些实施例中,通过将多个分类中的每一个分类的相应对象推荐给用户集合中的每一个用户,以获得该分类对应的第二用户子集。
例如,将应于一用户对该相应对象具有第一操作,将该用户添加至该分类对应的第二用户子集。
在一些实施例中,针对多个分类中的每一个分类,将该分类的相应对象对应的第二用户子集中的推荐接受率大于预设阈值的用户添加至该分类的分类用户子集,以获得该分类的分类用户子集。其中,推荐接受率指示该用户对应的第三用户子集中的用户数量与该用户的相关用户子集的用户数量的比值。
在一些实施例中,针对多个分类中的每一个分类,该分类的分类用户子集包括该分类对应的第二用户子集中的预设数量的用户,其中,该分类的分类用户子集中的每一个用户对应的第三用户子集中的用户数量与相应用户子集的用户数量的比,大于该分类的相应对象对应的第二用户子集中的第二用户对应的第三用户子集中的用户数量与相应用户子集的用户数量的比,其中,所述第二用户区别于该分类用户子集中的每一个用户。
将每个分类的对应的第二用户子集中,第三用户子集的用户数量与相应用户子集的数量的比例大的用户确定为该分类的分类用户子集中的用户,使所确定的相应用户子集是影响力大的用户,保证所获得的待推荐的对象对应的第一用户子集的准确性。
在一些实施例中,通过针对多个分类中的每一个分类对应的多个对象,分别执行步骤S310-S320之后,基于该多个对象每一个对象对应的第二用户子集和该第二用户子集中的每一个用户对应的第三用户子集,获得该分类的分类用户子集。
在一些实施例中,如图4所示,基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户包括:
步骤S410:基于所述第一子集,获得所述目标用户对所述对象的预测偏好;以及
步骤S420:基于所述预测偏好,确定是否将所述对象推荐给所述目标用户。
基于第一用户子集,获得目标用户对对象的预测偏好,该预测偏好指示所述目标用户是否具有偏好,由于第一用户子集是基于待推荐的对象对应的第一用户子集获得的,其包含第一用户子集中各个用户用于对对象的偏好,基于该第一用户子集获得的目标用户对对象的预测偏好准确。
在一些实施例中,通过计算该第一子集中的每一个用户与目标用户的相似度,获得该目标用户对对象的预测偏好。例如,第一子集中的与目标用户之间的相似度大于预设值的用户的数量超过预设数量阈值,则确定该目标用户对对象具有偏好。
在一些实施例中,如图5所示,基于所述第一子集,获得所述目标用户对所述对象的预测偏好包括:
步骤S510:获得所述第一子集中的每一个用户的向量表示和所述目标用户的向量表示;
步骤S520:基于所述第一子集中的每一个用户的向量表示,获得所述对象的向量表示;以及
步骤S530:基于所述对象的向量表示和所述目标用户的向量表示,获得所述预测偏好。
基于第一用户子集的向量,获得对象的向量表示,由于第一用户子集是基于待推荐的对象对应的第一用户子集获得的,其包含第一用户子集中各个用户用于对对象的偏好,使得所获得的对象的向量表示中包括第一用户子集的偏好,从而使得对对象的表征更加准确。
在一些实施例中,通过获得第一子集中的每一个用户和目标用户采用以向量进行表示。例如,将每一个用户采用向量表示为vec user
在一些实施例中,如图6所示,基于所述第一子集中的每一个用户的向量表示,获得所述对象的向量表示包括:
步骤S610:基于所述第一子集中的每一个用户的向量表示,对所述第一子集进行聚类,以获得多个聚类中心;以及
步骤S620:基于所述多个聚类中心,获得所述对象的向量表示。
通过对第一子集中的多个用户进行聚类,获得对象的向量表示,使得所获得的对象的向量表示准确。
在一些实施例中,采用Kmeans聚类获得第一子集中的多个用户的多个向量表示的聚类中心;通过对聚类中心使用线性加权,获得该对象的向量表示。
例如,通过公式(1)获得对象的向量表示vec lookalike
Figure PCTCN2022127146-appb-000001
其中,c i表示第i个聚类中心向量,a i表示第i个聚类中心向量的预设权重参数,其中,i为小于k的正整数,k为聚类中心向量的数量。
在一些实施例中,所述第一子集包括第二子集,其中,所述第二子集中的每一个用户对所述对象具有第二操作,所述第二操作指示对所述对象具有偏好,其中,所述第二操作指示对所述对象的偏好程度大于所述第一操作。分别对第一子集和第二子集进行聚 类,以获得第一子集的多个聚类中心和第二子集的多个聚类中心;分别基于第一子集的多个聚类中心和第二子集的多个聚类中心,获得对象的向量表示。
例如,基于第一子集的多个聚类中心获得的对象的向量表示为
Figure PCTCN2022127146-appb-000002
基于第二子集的多个聚类中心获得的对象的向量表示为
Figure PCTCN2022127146-appb-000003
在一些实施例中,所述第一操作包括点击,所述第二操作包括:点赞、分享、评论、收藏或者关注。
在一些实施例中,如图7所示,基于所述对象的向量表示和所述目标用户的向量表示,获得所述预测偏好包括:
步骤S710:获得所述对象对应的评价指标,所述评价指标指示所述第一子集对所述对象偏好的程度;以及
步骤S720:基于所述评价指标、所述对象的向量表示和所述目标用户的向量表示,确定所述预测偏好。
通过获得指示第一子集对所述对象偏好的程度的评价指标,确定目标用户对对象的预测偏好,使得所获得的目标用户对对象的预测偏好根据第一子集中的各个用户的用户行为进行量化,进一步提升所获得的预测偏好的准确性。
在一些实施例中,所述评价指标包括:
点展比,所述点展比指示所述第一子集的用户数量与所述第一用户子集的用户数量的比值;
平均花费时长,所述平均花费时长指示所述第一子集中的每一个用户在所述对象上耗费的时间长度的总和;或者
互动率,所述互动率指示所述第一子集中的第二子集中的用户数量与所述第一子集的用户数量的比值,其中,所述第二子集中的每一个用户对所述对象具有第二操作,所述第二操作指示对所述对象具有偏好,其中,所述第二操作指示对所述对象的偏好程度大于所述第一操作。
例如,第一子集的用户数量为M,第一用户子集的用户数量为N,第二子集中的用户数量为K,其中,K、M和N为正整数;则通过公式(2)获得点展比ctr:
ctr=M/N       (2)。
通过公式(3)获得平均花费时长mean_dur:
mean_dur=total_dur/M      (3);
其中,total_dur为第一子集中的各个用户在该对象上花费的时长的总和。
通过公式(4)获得互动率interact_ratio:
interact_ratio=K/M       (4)。
在一些实施例中,基于所述评价指标、所述对象的向量表示和所述目标用户的向量表示,确定所述预测偏好包括:
获得所述对象的向量表示和所述目标用户的向量表示之间的相似度;以及
基于所述相似度和所述评价指标,获得所述预测偏好。
在一些实施例中,通过计算余弦相似度,获得对象的向量表示和目标用户的向量表示之间的相似度,其中,针对基于第一子集的多个聚类中心获得的对象的向量表示
Figure PCTCN2022127146-appb-000004
通过公式(5)获得第一相似度simi click
Figure PCTCN2022127146-appb-000005
其中,vec user为目标用户的向量表示。
针对基于第二子集的多个聚类中心获得的对象的向量表示
Figure PCTCN2022127146-appb-000006
通过公式(6)获得第二相似度simi interact
Figure PCTCN2022127146-appb-000007
其中,vec user为目标用户的向量表示。
在一些实施例中,通过针对基于第一子集的多个聚类中心获得的对象的向量表示所获得的第一相似度和针对基于第一子集的多个聚类中心获得的对象的向量表示所获得的第二相似度获得预测偏好。例如,通过公式(7)获得预测偏好factor:
factor=simi click*(ctr*mean_dur)+simiunteract*interact_ratio      (7);
其中,simi click、ctr、mean_dur、simi interact以及interact_ratio采用前述公式(2)-(6)获得。
在一些实施例中,响应于预测偏好大于预设值,确定向该目标用户推荐该对象。
在一些实施例中,将预测偏好添加至该目标用户的推荐模型中,以使推荐模型基于该预测偏好和其他度量指标,进行综合推荐。
根据本公开的另一方面,还提供了一种对象推荐装置,如图8所示,装置800包括:第一用户集合获取单元810,被配置用于从用户集合中,获得待推荐的对象对应的第一用户子集,所述第一用户子集中的每一个用户的影响力大于所述用户集合中区别于所述第一用户子集中的每一个用户的第一用户的影响力,其中,所述用户集合中的每一个用户 具有相关用户子集,所述影响力指示相应用户的相关用户子集中的每一个用户对所述相应用户所偏好的对象具有偏好的可能性;第一推荐单元820,被配置用于将所述对象推荐给第一用户子集中的每一个用户,以获得所述第一用户集合中的第一子集,所述第一子集中的每一个用户对所述对象具有第一操作,所述第一操作指示对所述对象具有偏好;以及第二推荐单元830,被配置用于基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户,所述目标用户区别于所述第一用户子集中的每一个用户。
在一些实施例中,所述对象对应于多个分类中的第一分类,所述多个分类中的每一个分类具有相应对象,所述第一用户集合获取单元810包括:第一推荐子单元,被配置用于针对所述多个分类中的每一个分类,获得该分类的相应对象对应的第二用户子集,其中,该第二用户子集中的每一个用户对该分类的相应对象具有所述第一操作;第二推荐子单元,被配置用于针对所述多个分类中的每一个分类,针对所述第二用户子集中的每一个用户,将该分类的相应对象推荐给该用户的相关用户子集,以获得该用户对应的第三用户子集,其中,该第三用户子集中的每一个用户对该相应对象具有所述第一操作;第二用户集合获取单元,被配置用于基于该分类的相应对象对应的第二用户子集中的每一个用户对应的第三用户子集,确定该分类的分类用户子集;以及确定单元,被配置用于基于所述多个分类中的每一个分类的分类用户子集和所述第一分类,确定所述第一用户子集。
在一些实施例中,针对所述多个分类中的每一个分类,该分类的分类用户子集中的每一个用户对应的第三用户子集中的用户数量与相关用户子集的用户数量的比,大于该分类的相应对象对应的第二用户子集中的第二用户对应的第三用户子集中的用户数量与相关用户子集的用户数量的比,其中,所述第二用户区别于该分类用户子集中的每一个用户。
在一些实施例中,所述第二推荐单元830包括:偏好获取单元,被配置用于基于所述第一子集,获得所述目标用户对所述对象的预测偏好;以及第三推荐子单元,被配置用于基于所述预测偏好,确定是否将所述对象推荐给所述目标用户。
在一些实施例中,所述偏好获取单元包括:向量表示获取单元,被配置用于获得所述第一子集中的每一个用户的向量表示和所述目标用户的向量表示;表征单元,被配置用于基于所述第一子集中的每一个用户的向量表示,获得所述对象的向量表示;以及偏好获取子单元,被配置用于基于所述对象的向量表示和所述目标用户的向量表示,获得所述预测偏好。
在一些实施例中,所述向量表示获取单元包括:聚类单元,被配置用于基于所述第一子集中的每一个用户的向量表示,对所述第一子集进行聚类,以获得多个聚类中心;以及表征子单元,被配置用于基于所述多个聚类中心,获得所述对象的向量表示。
在一些实施例中,所述偏好获取子单元包括:评价指标获取单元,被配置用于获得所述对象对应的评价指标,所述评价指标指示所述第一子集对所述对象偏好的程度;以及确定子单元,被配置用于基于所述评价指标、所述对象的向量表示和所述目标用户的向量表示,确定所述预测偏好。
在一些实施例中,所述评价指标包括:点展比,所述点展比指示所述第一子集的用户数量与所述第一用户子集的用户数量的比值;平均花费时长,所述平均花费时长指示所述第一子集中的每一个用户在所述对象上耗费的时间长度的总和;或者互动率,所述互动率指示所述第一子集中的第二子集中的用户数量与所述第一子集的用户数量的比值,其中,所述第二子集中的每一个用户对所述对象具有第二操作,所述第二操作指示对所述对象具有偏好,其中,所述第二操作指示对所述对象的偏好程度大于所述第一操作。
在一些实施例中,所述第一操作包括点击,所述第二操作包括:点赞、分享、评论、收藏或者关注。
根据本公开的另一方面,一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据本公开的实施例所述的方法。
根据本公开的另一方面,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开的实施例所述的方法。
根据本公开的另一方面,一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据本公开的实施例所述的方法。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、 刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如方法200。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计 算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (21)

  1. 一种对象推荐方法,包括:
    从用户集合中,获得待推荐的对象对应的第一用户子集,所述第一用户子集中的每一个用户的影响力大于所述用户集合中区别于所述第一用户子集中的每一个用户的第一用户的影响力,其中,所述用户集合中的每一个用户具有相关用户子集,所述影响力指示相应用户的相关用户子集中的每一个用户对所述相应用户所偏好的对象具有偏好的可能性;
    将所述对象推荐给第一用户子集中的每一个用户,以获得所述第一用户子集中的第一子集,所述第一子集中的每一个用户对所述对象具有第一操作,所述第一操作指示对所述对象具有偏好;以及
    基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户,所述目标用户区别于所述第一用户子集中的每一个用户。
  2. 根据权利要求1所述的方法,其中,所述对象对应于多个分类中的第一分类,所述多个分类中的每一个分类具有相应对象,所述从用户集合中,获得待推荐的对象对应的第一用户子集包括:
    针对所述多个分类中的每一个分类,
    获得该分类的相应对象对应的第二用户子集,其中,该第二用户子集中的每一个用户对该分类的相应对象具有所述第一操作;
    针对所述第二用户子集中的每一个用户,将该分类的相应对象推荐给该用户的相关用户子集,以获得该用户对应的第三用户子集,其中,该第三用户子集中的每一个用户对该相应对象具有所述第一操作;
    基于该分类的相应对象对应的第二用户子集中的每一个用户对应的第三用户子集,确定该分类的分类用户子集;以及
    基于所述多个分类中的每一个分类的分类用户子集和所述第一分类,确定所述第一用户子集。
  3. 根据权利要求2所述的方法,其中,针对所述多个分类中的每一个分类,该分类的分类用户子集中的每一个用户对应的第三用户子集中的用户数量与相关用户子集的用户数量的比,大于该分类的相应对象对应的第二用户子集中的第二用户对应的第三用户 子集中的用户数量与相关用户子集的用户数量的比,其中,所述第二用户区别于该分类用户子集中的每一个用户。
  4. 根据权利要求1所述的方法,其中,所述基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户包括:
    基于所述第一子集,获得所述目标用户对所述对象的预测偏好;以及
    基于所述预测偏好,确定是否将所述对象推荐给所述目标用户。
  5. 根据权利要求4所述的方法,其中,所述基于所述第一子集,获得所述目标用户对所述对象的预测偏好包括:
    获得所述第一子集中的每一个用户的向量表示和所述目标用户的向量表示;
    基于所述第一子集中的每一个用户的向量表示,获得所述对象的向量表示;以及
    基于所述对象的向量表示和所述目标用户的向量表示,获得所述预测偏好。
  6. 根据权利要求5所述的方法,其中,所述基于所述第一子集中的每一个用户的向量表示,获得所述对象的向量表示包括:
    基于所述第一子集中的每一个用户的向量表示,对所述第一子集进行聚类,以获得多个聚类中心;以及
    基于所述多个聚类中心,获得所述对象的向量表示。
  7. 根据权利要求5所述的方法,其中,所述基于所述对象的向量表示和所述目标用户的向量表示,获得所述预测偏好包括:
    获得所述对象对应的评价指标,所述评价指标指示所述第一子集对所述对象偏好的程度;以及
    基于所述评价指标、所述对象的向量表示和所述目标用户的向量表示,确定所述预测偏好。
  8. 根据权利要求7所述的方法,其中,所述评价指标包括:
    点展比,所述点展比指示所述第一子集的用户数量与所述第一用户子集的用户数量的比值;
    平均花费时长,所述平均花费时长指示所述第一子集中的每一个用户在所述对象上耗费的时间长度的总和;或者
    互动率,所述互动率指示所述第一子集中的第二子集中的用户数量与所述第一子集的用户数量的比值,其中,所述第二子集中的每一个用户对所述对象具有第二操作,所述第二操作指示对所述对象具有偏好,其中,所述第二操作指示对所述对象的偏好程度大于所述第一操作。
  9. 根据权利要求8所述的方法,其中,所述第一操作包括点击,所述第二操作包括:点赞、分享、评论、收藏或者关注。
  10. 一种对象推荐装置,包括:
    第一用户集合获取单元,被配置用于从用户集合中,获得待推荐的对象对应的第一用户子集,所述第一用户子集中的每一个用户的影响力大于所述用户集合中区别于所述第一用户子集中的每一个用户的第一用户的影响力,其中,所述用户集合中的每一个用户具有相关用户子集,所述影响力指示相应用户的相关用户子集中的每一个用户对所述相应用户所偏好的对象具有偏好的可能性;
    第一推荐单元,被配置用于将所述对象推荐给第一用户子集中的每一个用户,以获得所述第一用户子集中的第一子集,所述第一子集中的每一个用户对所述对象具有第一操作,所述第一操作指示对所述对象具有偏好;以及
    第二推荐单元,被配置用于基于所述第一子集,确定是否将所述对象推荐给所述用户集合中的目标用户,所述目标用户区别于所述第一用户子集中的每一个用户。
  11. 根据权利要求10所述的装置,其中,所述对象对应于多个分类中的第一分类,所述多个分类中的每一个分类具有相应对象,所述第一用户集合获取单元包括:
    第一推荐子单元,被配置用于针对所述多个分类中的每一个分类,获得该分类的相应对象对应的第二用户子集,其中,该第二用户子集中的每一个用户对该分类的相应对象具有所述第一操作;
    第二推荐子单元,被配置用于针对所述多个分类中的每一个分类,针对所述第二用户子集中的每一个用户,将该分类的相应对象推荐给该用户的相关用户子集,以获得该 用户对应的第三用户子集,其中,该第三用户子集中的每一个用户对该相应对象具有所述第一操作;
    第二用户集合获取单元,被配置用于基于该分类的相应对象对应的第二用户子集中的每一个用户对应的第三用户子集,确定该分类的分类用户子集;以及
    确定单元,被配置用于基于所述多个分类中的每一个分类的分类用户子集和所述第一分类,确定所述第一用户子集。
  12. 根据权利要求11所述的装置,其中,针对所述多个分类中的每一个分类,该分类的分类用户子集中的每一个用户对应的第三用户子集中的用户数量与相关用户子集的用户数量的比,大于该分类的相应对象对应的第二用户子集中的第二用户对应的第三用户子集中的用户数量与相关用户子集的用户数量的比,其中,所述第二用户区别于该分类用户子集中的每一个用户。
  13. 根据权利要求10所述的装置,其中,所述第二推荐单元包括:
    偏好获取单元,被配置用于基于所述第一子集,获得所述目标用户对所述对象的预测偏好;以及
    第三推荐子单元,被配置用于基于所述预测偏好,确定是否将所述对象推荐给所述目标用户。
  14. 根据权利要求13所述的装置,其中,所述偏好获取单元包括:
    向量表示获取单元,被配置用于获得所述第一子集中的每一个用户的向量表示和所述目标用户的向量表示;
    表征单元,被配置用于基于所述第一子集中的每一个用户的向量表示,获得所述对象的向量表示;以及
    偏好获取子单元,被配置用于基于所述对象的向量表示和所述目标用户的向量表示,获得所述预测偏好。
  15. 根据权利要求14所述的装置,其中,所述向量表示获取单元包括:
    聚类单元,被配置用于基于所述第一子集中的每一个用户的向量表示,对所述第一子集进行聚类,以获得多个聚类中心;以及
    表征子单元,被配置用于基于所述多个聚类中心,获得所述对象的向量表示。
  16. 根据权利要求14所述的装置,其中,所述偏好获取子单元包括:
    评价指标获取单元,被配置用于获得所述对象对应的评价指标,所述评价指标指示所述第一子集对所述对象偏好的程度;以及
    确定子单元,被配置用于基于所述评价指标、所述对象的向量表示和所述目标用户的向量表示,确定所述预测偏好。
  17. 根据权利要求16所述的装置,其中,所述评价指标包括:
    点展比,所述点展比指示所述第一子集的用户数量与所述第一用户子集的用户数量的比值;
    平均花费时长,所述平均花费时长指示所述第一子集中的每一个用户在所述对象上耗费的时间长度的总和;或者
    互动率,所述互动率指示所述第一子集中的第二子集中的用户数量与所述第一子集的用户数量的比值,其中,所述第二子集中的每一个用户对所述对象具有第二操作,所述第二操作指示对所述对象具有偏好,其中,所述第二操作指示对所述对象的偏好程度大于所述第一操作。
  18. 根据权利要求17所述的装置,其中,所述第一操作包括点击,所述第二操作包括:点赞、分享、评论、收藏或者关注。
  19. 一种电子设备,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;其中
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
  20. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
  21. 一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-9中任一项所述的方法。
PCT/CN2022/127146 2022-06-24 2022-10-24 对象推荐方法和装置 WO2023245938A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210720881.9 2022-06-24
CN202210720881.9A CN114791982B (zh) 2022-06-24 2022-06-24 对象推荐方法和装置

Publications (1)

Publication Number Publication Date
WO2023245938A1 true WO2023245938A1 (zh) 2023-12-28

Family

ID=82463591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/127146 WO2023245938A1 (zh) 2022-06-24 2022-10-24 对象推荐方法和装置

Country Status (2)

Country Link
CN (1) CN114791982B (zh)
WO (1) WO2023245938A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114791982B (zh) * 2022-06-24 2022-10-14 百度在线网络技术(北京)有限公司 对象推荐方法和装置
CN116383487B (zh) * 2023-03-16 2023-10-13 上海外国语大学 基于用户重测信度与群体脑间一致性的信息茧房识别方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150356082A1 (en) * 2014-06-09 2015-12-10 William Lewis Perdue Product Recommendation Engine
US9519867B1 (en) * 2012-10-31 2016-12-13 Sprint Communications Company L.P. Optimizing a user experience
US20210042810A1 (en) * 2019-08-09 2021-02-11 Virgin Cruises Intermediate Limited Systems and methods for computer generated recommendations with improved accuracy and relevance
WO2021206995A1 (en) * 2020-04-07 2021-10-14 Koda Health, Inc. System for delivering targeted content with care preference suggestions
CN114493707A (zh) * 2022-01-28 2022-05-13 北京百度网讯科技有限公司 对象推荐方法和装置
CN114791982A (zh) * 2022-06-24 2022-07-26 百度在线网络技术(北京)有限公司 对象推荐方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379158B (zh) * 2012-04-24 2016-05-25 ***通信集团公司 一种社交网络中推荐好友信息的方法及***
CN106919564A (zh) * 2015-12-24 2017-07-04 天津科技大学 一种基于移动用户行为的影响力度量方法
CN108510373A (zh) * 2018-04-12 2018-09-07 京东方科技集团股份有限公司 画作推荐方法、画作推荐装置、设备及存储介质
CN110413868B (zh) * 2018-11-06 2023-04-07 腾讯科技(深圳)有限公司 信息推荐方法、装置、***及存储介质
CN114139045A (zh) * 2021-10-29 2022-03-04 北京达佳互联信息技术有限公司 对象推荐方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519867B1 (en) * 2012-10-31 2016-12-13 Sprint Communications Company L.P. Optimizing a user experience
US20150356082A1 (en) * 2014-06-09 2015-12-10 William Lewis Perdue Product Recommendation Engine
US20210042810A1 (en) * 2019-08-09 2021-02-11 Virgin Cruises Intermediate Limited Systems and methods for computer generated recommendations with improved accuracy and relevance
WO2021206995A1 (en) * 2020-04-07 2021-10-14 Koda Health, Inc. System for delivering targeted content with care preference suggestions
CN114493707A (zh) * 2022-01-28 2022-05-13 北京百度网讯科技有限公司 对象推荐方法和装置
CN114791982A (zh) * 2022-06-24 2022-07-26 百度在线网络技术(北京)有限公司 对象推荐方法和装置

Also Published As

Publication number Publication date
CN114791982A (zh) 2022-07-26
CN114791982B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
US11553048B2 (en) Method and apparatus, computer device and medium
WO2023245938A1 (zh) 对象推荐方法和装置
WO2023142406A1 (zh) 排序方法、排序模型的训练方法、装置、电子设备及介质
WO2023231350A1 (zh) 利用整数规划求解器实现的任务处理方法、设备和介质
CN112836072A (zh) 信息展示方法及装置、电子设备和介质
KR20230006601A (ko) 정렬 방법, 정렬 모델의 트레이닝 방법, 장치, 전자 기기 및 매체
CN114723949A (zh) 三维场景分割方法和用于训练分割模型的方法
WO2024027125A1 (zh) 对象推荐方法、装置、电子设备和存储介质
WO2023240833A1 (zh) 信息推荐方法及装置、电子设备和介质
WO2023142408A1 (zh) 数据处理方法和用于训练预测模型的方法
WO2023050732A1 (zh) 对象推荐方法和装置
CN113312554B (zh) 用于评价推荐***的方法及装置、电子设备和介质
CN112860681B (zh) 数据清洗方法及装置、计算机设备和介质
CN115809364B (zh) 对象推荐方法和模型训练方法
CN114861071B (zh) 对象推荐方法和装置
CN115033782B (zh) 推荐对象的方法、机器学习模型的训练方法、装置和设备
EP4113398A2 (en) Data labeling processing method and apparatus, electronic device and medium
CN115587228B (zh) 对象查询方法、对象存储方法及装置
CN113722534B (zh) 视频推荐方法和装置
CN115829653A (zh) 广告文本的相关度确定方法及装置、设备和介质
CN113420227A (zh) 点击率预估模型的训练方法、预估点击率的方法、装置
CN118113934A (zh) 数据处理方法、装置、电子设备、介质和程序产品
CN117194798A (zh) 内容的推荐方法、装置、电子设备和介质
CN117992675A (zh) 内容推荐方法、装置、电子设备及存储介质
CN112559883A (zh) 用于评估推荐***的方法、装置、电子设备以及可读介质

Legal Events

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

Ref document number: 22947675

Country of ref document: EP

Kind code of ref document: A1