WO2022141968A1 - 对象推荐方法及装置、计算机设备和介质 - Google Patents

对象推荐方法及装置、计算机设备和介质 Download PDF

Info

Publication number
WO2022141968A1
WO2022141968A1 PCT/CN2021/088893 CN2021088893W WO2022141968A1 WO 2022141968 A1 WO2022141968 A1 WO 2022141968A1 CN 2021088893 W CN2021088893 W CN 2021088893W WO 2022141968 A1 WO2022141968 A1 WO 2022141968A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
user portrait
portrait
matching
matching model
Prior art date
Application number
PCT/CN2021/088893
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 北京百度网讯科技有限公司
Priority to EP21912307.2A priority Critical patent/EP4080384A4/en
Priority to KR1020227011140A priority patent/KR20220049604A/ko
Priority to JP2022519613A priority patent/JP7316453B2/ja
Priority to US17/824,318 priority patent/US11553048B2/en
Publication of WO2022141968A1 publication Critical patent/WO2022141968A1/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Definitions

  • the present disclosure relates to the technical field of artificial intelligence, in particular to the technical field of content recommendation, and in particular to a method and apparatus for object recommendation, computer equipment, media and program products
  • Artificial intelligence is the study of making computers to simulate certain thinking processes and intelligent behaviors of people (such as learning, reasoning, thinking, planning, etc.), and there are both hardware-level technologies and software-level technologies.
  • Artificial intelligence hardware technologies generally include fields such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include 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. Artificial intelligence is more and more widely used in various fields, such as object recommendation.
  • the present disclosure provides an object recommendation method and apparatus, computer equipment, medium and program product.
  • an object recommendation method includes: acquiring a first user portrait of a user, wherein the first user portrait is determined based on behavior data of the user in a first historical time period; using a matching model, Determine the recommended object based on the first user portrait; recommend the recommended object to the user; obtain a second user portrait of the user, wherein the second user portrait is determined based on the behavior data of the user in the second historical time period, and the The behavior data includes the behavior data after recommending the recommended object to the user; and based on the first user portrait, the second user portrait and the recommended object, the matching model is updated.
  • an object recommendation apparatus includes: a first acquisition unit configured to acquire a first user portrait of a user, wherein the first user portrait is based on the user in a first historical time period A matching model, configured to determine a recommended object based on the first user portrait; a recommending unit, configured to recommend a recommended object to a user; a second acquiring unit, configured to acquire a second user of the user portrait, wherein the second user portrait is determined based on the behavior data of the user in the second historical time period, and the behavior data in the second historical time period includes the behavior data after recommending the recommended object to the user; and the updating unit is configured to Based on the first user portrait, the second user portrait and the recommended object, the matching model is updated.
  • a computer device comprising: a memory, a processor, and a computer program stored on the memory, wherein the processor is configured to execute the computer program to implement the steps of the above method.
  • a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the above-described method.
  • a computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the steps of the above-described method.
  • the matching model in the process of performing object recommendation by the matching model, can be continuously updated according to the recommendation result, so as to improve the matching effect of the matching model.
  • FIG. 1 shows a schematic diagram of an exemplary system in which various methods described herein may be implemented, according to embodiments of the present disclosure
  • FIG. 2 is a flowchart illustrating an object recommendation method according to an exemplary embodiment of the present disclosure
  • FIG. 3 is a flowchart illustrating an engineer training course recommendation according to an exemplary embodiment of the present disclosure
  • FIG. 4 is a block diagram illustrating an object recommendation apparatus according to an exemplary embodiment of the present disclosure
  • FIG. 5 is a block diagram illustrating 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, and such terms are only used for Distinguish one element from another.
  • first element and the second element may refer to the same instance of the element, while in some cases they may refer to different instances based on the context of the description.
  • the computer can simulate the human thinking process based on the trained matching model, and recommend targeted products, contents, services and other objects to different users.
  • users may be recommended training courses, audios, videos, etc. that may be of interest to the user;
  • the commodity purchase recommendation scenario the user may be recommended commodities that may be of interest to the user;
  • the matching model once the matching model is trained, it will be applied to the process of object recommendation with fixed parameters. This results in that the matching model cannot be adjusted according to the actual application effect during the application process of the matching model.
  • the present disclosure proposes an object recommendation method and apparatus, computer equipment, medium and program product.
  • the method updates the matching model based on the first user portrait before the recommended object is recommended to the user, the second user portrait after the recommended object is recommended to the user, and the recommended object, so as to realize the dynamic update of the matching model during the application process of the matching model, and continuously update the matching model. Improve the matching effect of the matching model.
  • 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 the method of object recommendation to be performed.
  • server 120 may also provide other services or software applications that may include non-virtual and virtual environments.
  • these services may be provided as web-based services or cloud services, eg, provided to users of client devices 101, 102, 103, 104, 105, and/or 106 under a software-as-a-service (SaaS) model .
  • 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 executable by one or more processors, hardware components, or a combination thereof. 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 the 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, FIG. 1 is one example of a system for implementing the various methods described herein, and is not intended to be limiting.
  • the user may use the client devices 101 , 102 , 103 , 104 , 105 and/or 106 to obtain the first and/or second user portraits, and recommend objects to the user.
  • a client device may provide an interface that enables a user of the client device to interact with the client device.
  • the client device may also output information to the user via the interface.
  • FIG. 1 depicts only six types of client devices, those skilled in the art will appreciate that the present disclosure may 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, Gaming systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may 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 can include head-mounted displays and other devices.
  • Gaming systems may include various handheld gaming devices, Internet-enabled gaming devices, and the like.
  • Client devices are capable of executing a variety of different applications, such as various Internet-related applications, communication applications (eg, e-mail applications), Short Message Service (SMS) applications, and may use various communication protocols.
  • applications such as various Internet-related applications, communication applications (eg, e-mail applications), Short Message Service (SMS) applications, and may use various communication protocols.
  • communication applications eg, e-mail applications
  • SMS Short Message Service
  • 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, and the like.
  • the 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, Public Switched Telephone Network (PSTN), infrared networks, wireless networks (eg, 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 virtual operating systems, or other computing architectures that involve virtualization (eg, may be virtualized to maintain one or more flexible pools of logical storage devices of the server's virtual storage devices).
  • server 120 may run one or more services or software applications that provide the functionality described below.
  • 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 systems.
  • 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 consolidate data feeds and/or event updates received from users of client devices 101 , 102 , 103 , 104 , 105 , and 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 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 an intelligent cloud host with artificial intelligence technology.
  • Cloud server is a host product in the cloud computing service system to solve the defects of difficult management and weak business expansion in traditional physical host and virtual private server (VPS, Virtual Private Server) services.
  • System 100 may also include one or more databases 130 .
  • these databases may be used to store data and other information.
  • one or more of the databases 130 may be used to store information such as audio files and video files.
  • Data repository 130 may reside in various locations.
  • the data repository 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.
  • Data repository 130 can be of different types.
  • the data repository used by server 120 may be a database, such as a relational database.
  • One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
  • one or more of the databases 130 may also be used by applications to store application data.
  • Databases used by applications can be different types of databases such as key-value stores, object stores, or regular stores backed by a file system.
  • the system 100 of FIG. 1 may be configured and operated in various ways to enable application of the various methods and apparatuses described in accordance with the present disclosure.
  • FIG. 2 is a flowchart illustrating an object recommendation method according to an exemplary embodiment of the present disclosure.
  • the method may include: step S201, obtaining a first user portrait of the user, wherein the first user portrait is determined based on the behavior data of the user in the first historical time period; step S202, using a matching model, based on The first user portrait determines the recommended object; step S203, recommends the recommended object to the user; step S204, obtains a second user portrait of the user, wherein the second user portrait is determined based on the behavior data of the user in the second historical time period, and the second The behavior data in the historical time period includes the behavior data after recommending the recommended object to the user; and step S205 , updating the matching model based on the first user portrait, the second user portrait and the recommended object.
  • the updated matching model can be used to perform subsequent object recommendation. Therefore, it is possible to dynamically update the matching model during the application process of the matching model, and continuously improve the matching effect of the matching model.
  • the first user portrait may be determined based on the behavior data of the user in the first historical time period.
  • the behavior data may include one or more behaviors of the user in the first historical time period, for example, one or more of clicking, uploading, downloading, browsing, evaluating, or scoring, and also including user behaviors for content data.
  • the first user portrait may be jointly determined through user attribute data and user behavior data within the first historical time period.
  • the user attribute data may include the user's age, gender, occupation, position, and the like.
  • the execution subject for executing the object recommendation method may acquire the behavior data and/or attribute data of the user through a limited connection or a wireless connection.
  • the above-mentioned behavior data and/or attribute data may be automatically collected by the execution body, or may be uploaded by the user, which is not limited herein.
  • the first user portrait may include one or more user characteristics and their corresponding one or more first evaluation values.
  • first evaluation values may be realized through one or more user features included in the first user portrait and one or more first evaluation values corresponding to them.
  • a smaller first evaluation value may represent a lower evaluation, and vice versa.
  • one or more user characteristics included in the first user portrait may be preset according to actual needs.
  • the user portrait of the student can be set to include five user characteristics such as Chinese, mathematics, English, history, geography, and politics. Through the first evaluation value corresponding to each user characteristic, you can Evaluate the student's learning ability on each user characteristic.
  • the execution subject may calculate the data included in the first user portrait based on the acquired behavior data of the user in the first historical time period, or the user attribute data and the behavior data of the user in the first historical time period, respectively.
  • a first evaluation value for each of the one or more user characteristics may be calculated.
  • the first evaluation value of each user feature can be calculated according to a predetermined rule, and the first evaluation value can also be calculated through various machine learning models including neural networks, which are not limited here.
  • the recommended object may be determined based on the first user portrait.
  • using the matching model to determine the recommended object based on the first user portrait may include: using the matching model, respectively determining a matching value between each selectable object in the plurality of selectable objects and the first user portrait; and based on each selectable object
  • the matching value of one selectable object and the first user portrait determines that at least one selectable object among the multiple selectable objects is the recommended object corresponding to the first user portrait.
  • the matching degree of each selectable object can be quantified, and then one or more selectable objects with higher matching values among the multiple selectable objects can be determined as the recommended objects by using the matching value obtained by quantization.
  • the matching model may include a correlation model, and using the matching model, respectively determining a matching value of each selectable object in the plurality of selectable objects with the first user portrait may include: determining at least one of the first user portraits A user feature is the first target user feature; and for each optional object in the plurality of optional objects, a correlation value between the optional object and the first target user feature is determined by using a correlation model, and the correlation value is determined. It is determined as the matching value between the selectable object and the first user portrait. Therefore, by determining at least one user feature in the first user portrait to be matched with the first target user feature, targeted recommendation of some user features in the first user portrait can be implemented, and the accuracy of the recommendation can be improved.
  • the first target user characteristic may include any one or more user characteristics to be promoted in the first user portrait.
  • the correlation model may determine the correlation value between the first target user feature and each selectable object through a calculation rule based on similarity matching and/or semantic matching.
  • the correlation model may include a calculation module and a correction module.
  • the calculation module can calculate the initial correlation value l between the first target user feature and each optional object by similarity matching and/or semantic matching
  • the modification module stores a modification constant m.
  • the correlation model can determine the correlation value q between the selectable object and the first target user feature through the initial correlation value l calculated by the calculation module and the correction constant m stored in the correction module.
  • represents the correction coefficient of the correlation model, -1 ⁇ 1.
  • the value of ⁇ can be updated according to the recommendation effect during the application of the correlation model.
  • determining that at least one user characteristic in the first user portrait is the first target user characteristic may include: determining that the user characteristic corresponding to the minimum value of the one or more first evaluation values in the first user portrait is: The first target user characteristics. In this way, targeted recommendation of the short-board features in the first user portrait can be implemented with respect to the short-board features in one or more user features in the first user portrait.
  • the matching value between the first user portrait and each optional object can be calculated through the machine learning model.
  • determining that at least one user characteristic in the first user portrait is the second target user characteristic may include: determining that the user characteristic corresponding to the minimum value of the one or more first evaluation values in the first user portrait is: Second target user characteristics. In this way, targeted recommendations can be made for the short-board features in the first user portrait.
  • the matching model may adopt one or more machine learning models such as neural network, decision tree, and classifier.
  • the structure of the matching model and the type of input and output can be set.
  • the trained matching model can be used to calculate the matching value between the selectable object and the first user portrait.
  • the matching value corresponding to each optional object output by the matching model can be obtained by inputting the user feature vector into the matching model.
  • an object feature vector corresponding to the selectable object may be determined.
  • the matching value corresponding to the selectable object output by the matching model can be obtained.
  • step S203 may be performed to recommend the recommended object to the user.
  • the object recommendation may be performed in various ways, such as sending the recommended object to the user, or sending the user relevant information such as a link and an identifier of the recommended object, which is not limited herein.
  • step S204 may be performed to obtain a second user portrait of the user, wherein the second user portrait is determined based on the behavior data of the user in the second historical time period, and the behavior data in the second historical time period Including behavior data after recommending objects to users.
  • the user portrait can be updated according to the user behavior data after the recommendation is performed to the user.
  • the second user portrait of the user may be acquired in response to determining that the time period after the recommendation object is recommended to the user is greater than the preset time period.
  • the preset duration may be the user's learning cycle. If the time after recommending the recommended object to the user is longer than the preset time, it means that the learning cycle has passed since the recommended object is recommended to the user, and a second user portrait of the user should be obtained, so that the user's learning effect can be evaluated.
  • the second user portrait may include one or more user characteristics and their corresponding one or more second evaluation values.
  • one or more user characteristics in the second user portrait may be the same as one or more user characteristics in the first user portrait, so that changes of each user characteristic before and after performing object recommendation can be analyzed.
  • the acquisition method of the second user portrait may be the same as the acquisition method of the first user portrait, and details are not described herein again.
  • the matching model may be updated based on the first user portrait, the second user portrait and the recommended object.
  • the matching model may be updated based on the difference between the first user profile and the second user profile.
  • the difference between the first user portrait and the second user portrait that is, the difference between the user portraits before and after recommending the object to the user
  • the recommendation effect of the recommended object can be evaluated, and then the first user can be adjusted in a targeted manner.
  • the matching value between the user profile and the recommended object is not limited to the difference between the first user portrait and the second user profile.
  • the matching model when the difference between the first user portrait and the second user portrait meets expectations, it means that the recommended object recommended by the matching model based on the first user portrait is valid. Therefore, the matching model should be kept unchanged, Or update the matching model to increase the matching value between the first user portrait and the recommended object; when the difference between the first user portrait and the second user portrait does not meet expectations, it means that the matching model is based on the first user portrait. The recommended recommended object is invalid or the effect is small, therefore, the matching model should be updated to reduce the matching value between the first user portrait and the recommended object.
  • updating the matching model may include: based on the first user portrait corresponding to the first target user feature and the second evaluation value corresponding to the first target user feature in the second user portrait, update the matching model to adjust the correlation value (eg, similarity value) between the recommended object and the first target user feature .
  • the correlation value eg, similarity value
  • the correlation value between the recommended object and the feature of the first target user may be updated according to the recommendation effect of the recommended object, and the calculation rule of the correlation model may be modified inversely based on the updated correlation value.
  • the correlation between the first target user feature and the recommended object can be increased or keep the correlation value between the first target user feature and the recommended object unchanged; in the case that the first evaluation value and the second evaluation value corresponding to the first target user feature are not in line with expectations, the corresponding Decrease the correlation value between the first target user feature and the recommended object.
  • the increase threshold ⁇ may be preset, and the correction parameter ⁇ is calculated on this basis.
  • T represents the maximum value in the value range of the evaluation value (including the first evaluation value and the second evaluation value)
  • t 2 represents the second evaluation value corresponding to the first target user feature
  • t 1 represents the first evaluation value corresponding to the first target user feature.
  • the weighted sum of the correlation value between the first target user feature and the recommended object and the normalized result of the correction parameter ⁇ may be used as the updated correlation value.
  • the weighted sum of the sub-correction parameters of each of the user features may be used as the correction parameter.
  • the normalization calculation of the correction parameter ⁇ can be realized by various calculation methods including the sigmoid function, which is not limited here.
  • the calculation rule of the correlation model can be modified, thereby realizing the updating of the correlation model.
  • the selectable object and the first target user feature can be determined by using the initial correlation value l calculated by the calculation module and the correction constant m stored in the correction module
  • the correction coefficient ⁇ in the correlation model can be updated according to the recommendation effect of the recommended object, thereby adjusting the correlation value between the recommended object and the feature of the first target user.
  • the correction coefficient ⁇ may be adjusted based on the correction parameter ⁇ determined above.
  • updating the matching model may include: based on the first evaluation value corresponding to the second target user feature in the first user portrait and the second user portrait
  • the second evaluation value corresponding to the second target user feature of the user is determined, and the matching value label corresponding to the user feature vector and the recommended object is determined; and the matching model is trained by using the user feature vector and the matching value label as training data.
  • the matching value label corresponding to the user feature vector and the recommended object may be set as The larger value within the matching value range; in the case where the difference between the first evaluation value and the second evaluation value corresponding to the second target user feature does not meet expectations, the user feature vector and the corresponding recommendation object can be set
  • the matching value label of is the smaller value within the matching value range. For example, when the value range of the matching value is from 0 to 1, the matching value label can be labeled when the difference between the first evaluation value and the second evaluation value corresponding to the second target user feature is in line with expectations. Set to 1, and set the matching value label to 0 when the difference between the first evaluation value and the second evaluation value corresponding to the second target user feature does not meet expectations.
  • the increase threshold ⁇ may be preset, and the correction parameter ⁇ is calculated on this basis.
  • P represents the maximum value in the value range of the evaluation value (including the first evaluation value and the second evaluation value)
  • p 2 represents the second evaluation value corresponding to the second target user feature
  • p 1 represents the first evaluation value corresponding to the second target user feature
  • the normalized result of the correction parameter ⁇ can be used as a matching value label.
  • the normalization calculation of the correction parameter ⁇ can be implemented by various calculation methods including the sigmoid function, which is not limited here.
  • the users targeted by the object recommendation method may be engineers (ie, users) involved in software development or project development.
  • engineers can recommend training courses (ie objects) that match their personal work ability.
  • the behavior data of the engineer in the first historical period is collected through the program compilation platform, and the behavior data may include code data submitted by the engineer, code review execution and other behavior data. It is understandable that the behavior data of engineers in their daily work can be automatically collected by the system, and engineers do not need to actively provide their own behavior data.
  • a first user portrait 3001 of the engineer as shown in FIG. 3 may be constructed, for example, as described in step S201.
  • the first user portrait 3001 may include user characteristics for evaluating the capabilities of engineers in various aspects, for example, may include research and development contributions, code quality, engineering reputation, technology reuse, and collaboration specifications.
  • R&D contribution is used to represent the contribution made by engineers to the development and review of the code base.
  • Code quality is used to indicate the validity of the code submitted by engineers.
  • Project reputation is used to indicate whether engineers cheated in evaluating projects.
  • Technology reuse represents the ability of engineers to comprehensively use different technologies.
  • Collaboration specifications represent the ability of engineers to work collaboratively with others.
  • the first user portrait also includes first evaluation values corresponding to R&D contribution, code quality, engineering reputation, technology reuse, and collaborative specification.
  • the first evaluation value of the user characteristic of the code quality of the engineer is low, and the code quality can be regarded as the target user characteristic.
  • step S301 using the course recommendation matching model, the recommended courses (ie objects) corresponding to the first user portrait 3001 can be determined, for example, as described in step S202.
  • step S302-1 the course recommendation matching model recommends the training course of "The Way to Improve Code Quality" to the user.
  • the second user portrait 3002 may be constructed in step S303-1, for example, as described in step S204.
  • the course recommendation matching model is updated in step S304-1, for example, as described in step S205, to Improve the match between the target user characteristics and the training course "How to Improve Code Quality".
  • step S302-2 the course recommendation matching model recommends the training course of "Efficient Research and Development" to the user.
  • a second user portrait 3003 may be constructed in step S303-2, for example, as described in step S204.
  • the course recommendation matching model is updated in step S304-2 accordingly, for example, as described in step S205, to Reduce the matching value between the target user characteristics and the training course "Efficient R&D".
  • the course recommendation model can be updated and improved in the course of using the course recommendation model.
  • an object recommendation apparatus 400 is further provided.
  • the apparatus 400 includes: a first obtaining unit 401 configured to obtain a first user portrait of a user, wherein the first user The portrait is determined based on the behavior data of the user in the first historical time period; the matching model 402 is configured to determine the recommended object based on the first user portrait; the recommending unit 403 is configured to recommend the recommended object to the user; the second obtaining unit 404, is configured to obtain a second user portrait of the user, wherein the second user portrait is determined based on the behavior data of the user in the second historical time period, and the behavior data in the second historical time period includes after recommending the recommended object to the user. and the updating unit 405, configured to update the matching model based on the first user portrait, the second user portrait and the recommended object.
  • the update unit includes a first update subunit configured to update the matching model based on the difference between the first user profile and the second user profile.
  • the matching model includes: a first determination unit configured to respectively determine a matching value of each selectable object among the plurality of selectable objects and the first user portrait; and a second determination unit configured to use Based on the matching value between each selectable object and the first user portrait, at least one selectable object among the plurality of selectable objects is determined as a recommended object corresponding to the first user portrait.
  • the first user portrait includes one or more user characteristics and their corresponding one or more first evaluation values
  • the second user portrait includes one or more user characteristics and their corresponding one or more first evaluation values.
  • the second evaluation value is the first user portrait.
  • the matching model includes a correlation model
  • the first determination unit includes: a first sub-determination unit configured to determine at least one user characteristic in the first user profile as the first target user characteristic; and a second sub-determination unit
  • the determining unit is configured to, for each selectable object in the plurality of selectable objects, use a correlation model to determine a correlation value between the selectable object and the feature of the first target user, and determine the correlation value as the The matching value of the optional object and the first user portrait.
  • the updating unit includes: a second updating subunit configured to be based on the first evaluation value corresponding to the first target user feature in the first user portrait and the first target user feature in the second user portrait For the corresponding second evaluation value, the matching model is updated to adjust the correlation value between the recommended object and the feature of the first target user.
  • the first determination unit includes: a sub-construction unit configured to construct a user feature vector corresponding to the first user portrait based on one or more first evaluation values; and a sub-output unit configured to For each selectable object in the plurality of selectable objects, in response to the user feature vector being input to the matching model, the matching model outputs a matching value between the selectable object and the first user portrait.
  • the updating unit includes: a third determining unit configured to be based on at least one of the one or more first evaluation values included in the first user portrait and one or more first evaluation values included in the second user portrait At least one of the second evaluation values determines a matching value label corresponding to the first user portrait and the recommended object; and a training unit configured to use the user feature vector and the matching value label corresponding to the first user portrait as training data to train the matching model.
  • a computer device comprising: a memory, a processor, and a computer program stored on the memory, wherein the processor is configured to execute the computer program to implement the steps of the above method.
  • a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the steps of the above method when executed by a processor.
  • a computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the steps of the above method.
  • Electronic devices are intended to represent various forms of digital electronic computer devices, such as laptops, desktops, 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 processors, cellular phones, smart phones, wearable devices, and other similar computing devices.
  • the components shown herein, their connections and relationships, and their functions are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
  • the device 500 includes a computing unit 501 that can be executed according to a computer program stored in a read only memory (ROM) 502 or loaded from a storage unit 508 into a random access memory (RAM) 503 Various appropriate actions and handling. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored.
  • the computing unit 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504.
  • An input/output (I/O) interface 505 is also connected to bus 504 .
  • the input unit 506 may be any type of device capable of inputting information to the device 500, the input unit 506 may receive input numerical or character information, and generate key signal input related to user settings and/or function control of the electronic device, and may Including but not limited to mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone and/or remote control.
  • the output unit 507 may be any type of device capable of presenting information, and may include, but is not limited to, a display, speakers, video/audio output terminals, vibrators, and/or printers.
  • the storage unit 508 may include, but is not limited to, magnetic disks and optical disks.
  • Communication unit 509 allows device 500 to exchange information/data with other devices through computer networks such as the Internet and/or various telecommunication networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and/or chipsets , such as BluetoothTM devices, 1302.11 devices, WiFi devices, WiMax devices, cellular communication devices and/or the like.
  • Computing unit 501 may be various general-purpose and/or special-purpose processing components with processing and computing capabilities. Some examples of computing units 501 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various specialized artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any suitable processor, controller, microcontroller, etc.
  • the computing unit 501 executes the various methods and processes described above, such as the object recommendation method.
  • the object recommendation method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 508 .
  • part or all of the computer program may be loaded and/or installed on device 500 via ROM 502 and/or communication unit 509 .
  • the computer program When the computer program is loaded into RAM 503 and executed by computing unit 501, one or more steps of the object recommendation method described above may be performed.
  • the computing unit 501 may be configured to perform the object recommendation method by any other suitable means (eg, by means of firmware).
  • Various implementations of the systems and techniques described herein above may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips system (SOC), load 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 systems on chips system
  • CPLD load programmable logic device
  • computer hardware firmware, software, and/or combinations thereof.
  • These various embodiments may include being implemented in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor that
  • 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.
  • 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 apparatus, such that the program code, when executed by the processor or controller, performs the functions/functions specified in the flowcharts and/or block diagrams. Action is implemented.
  • the program code may execute entirely on the machine, partly on the machine, partly on the machine and partly on a remote machine as a stand-alone software package 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 the instruction execution system, apparatus or device.
  • the machine-readable medium can 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, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), fiber optics, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • CD-ROM compact disk read only memory
  • magnetic storage or any suitable combination of the foregoing.
  • 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 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 trackball
  • Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (eg, visual feedback, auditory feedback, or tactile feedback); and can be 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 on a computing system that includes back-end components (eg, as a data server), or a computing system that includes middleware components (eg, an application server), or a computing system that includes front-end components (eg, a user's computer having a graphical user interface or web browser through which a user may interact with implementations of the systems and techniques 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 communication network). Examples of communication networks include: Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
  • a computer system can include clients and servers.
  • Clients and servers are generally remote from each other and usually interact through a communication network.
  • the relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种对象推荐方法及装置、计算机设备和介质,涉及人工智能领域,尤其涉及内容推荐技术领域。对象推荐方法包括:获取用户的第一用户画像,其中,第一用户画像基于用户在第一历史时间段内的行为数据确定(S201);利用匹配模型,基于第一用户画像确定推荐对象(S202);向用户推荐推荐对象(S203);获取用户的第二用户画像,其中,第二用户画像基于用户在第二历史时间段内的行为数据确定,第二历史时间段内的行为数据包括向用户推荐推荐对象后的行为数据(S204);以及基于第一用户画像、第二用户画像和推荐对象,更新匹配模型(S205)。

Description

对象推荐方法及装置、计算机设备和介质
相关申请的交叉引用
本申请要求于2020年12月28日提交的中国专利申请202011582545.X的优先权,其全部内容通过引用整体结合在本申请中。
技术领域
本公开涉及人工智能技术领域,尤其涉及内容推荐技术领域,具体涉及对象推荐方法及装置、计算机设备、介质和程序产品
背景技术
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术,也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等领域;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。人工智能被越来越广泛地应用在各个领域,例如对象推荐领域。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种对象推荐方法及装置、计算机设备、介质和程序产品。
根据本公开的一方面,提供了一种对象推荐方法,方法包括:获取用户的第一用户画像,其中,第一用户画像基于用户在第一历史时间段内的行为数据确定;利用匹配模型,基于第一用户画像确定推荐对象;向用户推荐推荐对象;获取用户的第二用户画像,其中,第二用户画像基于用户在第二历史时间段内的行为数据确定,第二历史时间段内的行为数据包括向用户推荐推荐对象后的行为数据;以及基于第一用户画像、第二用户画像和推荐对象,更新匹配模型。
根据本公开的另一方面,提供了一种对象推荐装置,装置包括:第一获取单元,被配置用于获取用户的第一用户画像,其中,第一用户画像基于用户在第一历史时间段内的行为数据确定;匹配模型,被配置用于基于第一用户画像确定推荐对象;推荐单元,被配置用于向用户推荐推荐对象;第二获取单元,被配置用于获取用户的第二用户画像,其中,第二用户画像基于用户在第二历史时间段内的行为数据确定,第二历史时间段内的行为数据包括向用户推荐推荐对象后的行为数据;以及更新单元,被配置用于基于第一用户画像、第二用户画像和推荐对象,更新匹配模型。
根据本公开的另一方面,提供了一种计算机设备,包括:存储器、处理器以及存储在存储器上的计算机程序,其中,处理器被配置为执行计算机程序以实现上述方法的步骤。
根据本公开的另一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述的方法的步骤。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序被处理器执行时实现上述的方法的步骤。
根据本公开的一个或多个实施例,可以在匹配模型执行对象推荐的过程中,不断根据推荐结果更新匹配模型,提升匹配模型的匹配效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性***的示意图;
图2是示出根据本公开示例性实施例的对象推荐方法流程图;
图3是示出根据本公开示例性实施例的工程师培训课程推荐流程图;
图4是示出根据本公开示例性实施例的对象推荐装置框图;
图5是示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
作为人工智能技术应用的一个方面,可以使计算机基于经过训练的匹配模型来模拟人的思维过程,对不同用户进行有针对性的产品、内容、服务等对象的推荐。例如,在信息交互推荐场景中,可以为用户推荐其可能感兴趣的培训课程、音频、视频等;在商品购买推荐场景中,可以为用户推荐其可能感兴趣的商品;在婚恋或交友推荐场景中,可以为用户推荐其可能感兴趣的人物等。
相关技术中,匹配模型一旦训练完成,就会以固定的参数应用于对象推荐的过程中。这导致在匹配模型的应用过程中,匹配模型无法根据实际应用效果进行调整。
基于此,本公开提出一种对象推荐方法及装置、计算机设备、介质和程序产品。该方法基于向用户推荐推荐对象之前的第一用户画像、向用户推荐推荐对象之后的第二用户画像和推荐对象更新匹配模型,实现在匹配模型的应用过程中,对匹配模型的动态更新,不断提升匹配模型的匹配效果。
下面将结合附图详细描述本公开的实施例。
图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是示出根据本公开示例性实施例的对象推荐方法流程图。如图2所示,该方法可以包括:步骤S201、获取用户的第一用户画像,其中,第一用户画像基于用户在第一历史时间段内的行为数据确定;步骤S202、利用匹配模型,基于第一用户画像确定推荐对象;步骤S203、向用户推荐推荐对象;步骤S204、获取用户的第二用户画像,其中,第二用户画像基于用户在第二历史时间段内的行为数据确定,第二历史时间段内的行为数据包括向用户推荐推荐对象后的行为数据;以及步骤S205、基于第一用户画像、第二用户画像和推荐对象,更新匹配模型。更新后的匹配模型可以用于执行后续对象推荐。由此能够实现在匹配模型的应用过程中,对匹配模型的动态更新,不断提升匹配模型的匹配效果。
针对步骤S201,第一用户画像可以基于用户在第一历史时间段内的行为数据确定。可选地,行为数据可以包括用户在第一历史时间段的一种或多种行为,例如,点击、上传、下载、浏览、评价或打分中的一种或多种,也包括用户行为所针对的内容数据。
在一种实施方式中,第一用户画像可以通过用户属性数据和用户在第一历史时间段内的行为数据共同确定。可选地,用户属性数据可以包括用户的年龄、性别、职业、职位等。
在一种实施方式中,用于执行对象推荐方法的执行主体可以通过有限连接或无线连接的方式获取用户的行为数据和/或属性数据。可选的,上述行为数据和/或属性数据可以由执行主体自动采集,也可以通过用户上传,在此不作限定。
根据一些实施例,第一用户画像可以包括一个或多个用户特征及其分别对应的一个或多个第一评价值。由此,通过第一用户画像中所包含的一个或多个用户特征及其分别对应的一个或多个第一评价值,可以基于实际需要实现对用户在多个不同维度的用户特征上的评价。例如,较小的第一评价值可以代表较低的评价,反之亦然。
在一种实施方式中,第一用户画像中所包括一个或多个用户特征可以根据实际需要预先设定。
例如,基于对学生学习能力的评价的需要,可以设置学生的用户画像包括语文、数学、英语、历史、地理、政治等5个用户特征,通过每个用户特征分别对应的第一评价值,可以对该学生在各个用户特征上的学习能力进行评价。
根据一些实施例,执行主体可以基于获取的用户在第一历史时间段内的行为数据,或用户属性数据和用户在第一历史时间段内的行为数据,分别计算第一用户画像中所包含的一个或多个用户特征中的每一个用户特征的第一评价值。
可以理解地,可以通过预定的规则计算每一个用户特征的第一评价值,也可以通过包括神经网络在内的各种机器学习模型计算第一评价值,在此不作限定。
针对步骤S202,利用匹配模型,可以基于第一用户画像确定推荐对象。
根据一些实施例,利用匹配模型,基于第一用户画像确定推荐对象可以包括:利用匹配模型,分别确定多个可选对象中的每一个可选对象与第一用户画像的匹配值;以及基于每一个可选对象与第一用户画像的匹配值,确定多个可选对象中的至少一个可选对象为第一用户画像所对应的推荐对象。由此,能够对每一个可选对象的匹配程度进行量化,进而通过量化得到的匹配值,确定多个可选对象中匹配值较高的一个或多个可选对象作为推荐对象。
根据一些实施例,匹配模型可以包括相关性模型,利用匹配模型,分别确定多个可选对象中的每一个可选对象与第一用户画像的匹配值可以包括:确定第一用户画像中的至少一个用户特征为第一目标用户特征;以及针对多个可选对象中的每一个可选对象,利用相关性模型确定该可选对象与第一目标用户特征的相关性值,并将相关性值确定为该可选对象与第一用户画像的匹配值。由此,通过确定第一用户画像中的至少一个用户特征为第一目标用户特征进行匹配,能够实现对第一用户画像中的部分用户特征的有针对性地推荐,提升推荐的精确度。
在一种实施方式中,第一目标用户特征可以包括第一用户画像中任意的一个或多个待提升的用户特征。
在一种实施方式中,相关性模型可以通过基于相似度匹配和/或语义匹配的计算规则,确定第一目标用户特征和每一个可选对象之间的相关性值。
在一种实施方式中,相关性模型可以包括计算模块和修正模块。其中,该计算模块可以通过相似度匹配和/或语义匹配的方式计算第一目标用户特征和每一个可选对象之间的初始相关性值l,该修正模块中存储修正常数m。相关性模型可以通过计算模块所计 算的初始相关性值l和修正模块中存储修正常数m确定可选对象与第一目标用户特征的相关性值q。
q=l+μm
其中,μ表示相关性模型的修正系数,-1≤μ≤1。μ的取值可以在相关性模型应用的过程中,根据推荐效果进行更新。
根据一些实施例,确定第一用户画像中的至少一个用户特征为第一目标用户特征可以包括:确定第一用户画像中的一个或多个第一评价值中的最小值所对应的用户特征为第一目标用户特征。由此,能够针对第一用户画像中的一个或多个用户特征中的短板特征,实现对第一用户画像中的短板特征的有针对性地推荐。
根据一些实施例,利用匹配模型,分别确定多个可选对象中的每一个可选对象与第一用户画像的匹配值可以包括:确定第一用户画像中的至少一个用户特征为第二目标用户特征;基于第二目标用户特征所对应的至少一个第一评价值,构建用户特征向量;以及针对多个可选对象中的每一个可选对象,响应于用户特征向量输入到匹配模型,匹配模型输出该可选对象与第一用户画像的匹配值。由此,可以通过机器学习模型,计算第一用户画像与各个可选对象的匹配值。
根据一些实施例,确定第一用户画像中的至少一个用户特征为第二目标用户特征可以包括:确定第一用户画像中的一个或多个第一评价值中的最小值所对应的用户特征为第二目标用户特征。由此,能够针对第一用户画像中的短板特征进行针对性推荐。
可选地,匹配模型可以采用神经网络、决策树、分类器等一种或多种机器学习模型。
根据实际应用需求,可以设置匹配模型的结构和输入输出的类型。经过训练后的匹配模型可以用于计算可选对象和第一用户画像的匹配值。
在一种实施方式中,可以通过将用户特征向量输入匹配模型中,获取该匹配模型所输出的每一个可选对象所对应的匹配值。
在另一种实施方式中,针对于多个可选对象中的每一个可选对象,可以确定该可选对象所对应的对象特征向量。通过将用户特征向量和该可选对象所对应的对象特征向量输入匹配模型中,可以获取该匹配模型所输出的该可选对象所对应的匹配值。
在确定了推荐对象之后,可以执行步骤S203,向用户推荐推荐对象。
可选地,可以通过向用户发送推荐对象,或者向用户发送推荐对象的链接、标识等相关信息等多种方式执行对象推荐,在此不作限定。
在向用户推荐推荐对象之后,可以执行步骤S204,获取用户的第二用户画像,其中,第二用户画像基于用户在第二历史时间段内的行为数据确定,第二历史时间段内的行为数据包括向用户推荐推荐对象后的行为数据。由此,可以根据向用户执行推荐后的用户行为数据更新用户画像。
根据一些实施例,可以响应于确定向用户推荐推荐对象后的时长大于预设时长,获取用户的第二用户画像。
在一种实施方式中,该预设时长可以是用户的学习周期。向用户推荐推荐对象后的时长大于预设时长说明距离向用户推荐对象已经经过了学习周期,应获取该用户的第二用户画像,从而能够对用户的学习效果进行评价。
根据一些实施例,第二用户画像可以包括一个或多个用户特征及其分别对应的一个或多个第二评价值。其中,第二用户画像中的一个或多个用户特征可以与第一用户画像中的一个或多个用户特征相同,由此,能够分析每一个用户特征的在执行对象推荐前后的变化。
可以理解,第二用户画像的获取方式可以与第一用户画像的获取方式相同,在此不再赘述。
针对步骤S205,可以基于第一用户画像、第二用户画像和推荐对象,更新匹配模型。
根据一些实施例,可以基于第一用户画像和第二用户画像之间的差异,更新匹配模型。根据第一用户画像和第二用户画像之间的差异(即向用户推荐对象的前后的用户画像之间的差异),可以对该推荐对象的推荐效果进行评价,进而有针对性地调整第一用户画像和推荐对象之间的匹配值。
在一种实施方式中,当第一用户画像和第二用户画像之间的差异满足预期,则说明匹配模型基于第一用户画像所推荐的推荐对象有效,由此,应当保持匹配模型不变,或者更新匹配模型,以使第一用户画像与推荐对象之间的匹配值增大;当第一用户画像和第二用户画像之间的差异不满足预期,则说明匹配模型基于第一用户画像所推荐的推荐对象无效或效果较小,由此,应当更新匹配模型,以使第一用户画像与推荐对象之间的匹配值减小。
根据一些实施例,在匹配模型包括相关性模型的情况下,基于第一用户画像、第二用户画像和推荐对象,更新匹配模型可以包括:基于第一用户画像中的第一目标用户特征所对应的第一评价值和第二用户画像中的第一目标用户特征所对应的第二评价值,更 新匹配模型,以调整推荐对象与第一目标用户特征的相关性值(例如,相似度值)。由此,能够实现相关性模型在应用过程中的动态更新。
根据一些实施例,可以根据推荐对象的推荐效果更新推荐对象与第一目标用户特征的相关性值,并基于更新后的相关性值反向修正相关性模型的计算规则。
在一种实施方式中,在第一目标用户特征所对应的第一评价值和第二评价值之间的差异符合预期的情况下,可以增大第一目标用户特征与推荐对象之间的相关性值,或者保持第一目标用户特征与推荐对象之间的相关性值不变;在第一目标用户特征所对应的第一评价值和第二评价值不符合预期的情况下,可以相应地减小第一目标用户特征与推荐对象之间的相关性值。
在另一种实施方式中,在预期为增大第一目标用户特征所对应的评价值的情况下,可以预先设置增长阈值τ,并在此基础上计算修正参数α。
α=t 2-t 1
其中,0<τ<T,T表示评价值(包括第一评价值和第二评价值)的取值范围内的最大值,t 2表示第一目标用户特征所对应的第二评价值,t 1表示第一目标用户特征所对应的第一评价值。
基于计算得到的修正参数α,可以将第一目标用户特征与推荐对象的相关性值与修正参数α的归一化结果的加权和作为更新后的相关性值。其中,当第一目标用户特征中包括多个用户特征时,可以将其中各个用户特征的子修正参数的加权和作为修正参数。
可以理解地,可以通过包括sigmoid函数在内的多种计算方式实现对修正参数α的归一化计算,在此不作限定。
可以理解,上述实施方式只是一种示例性实施例,也可以采用其它方法通过第一评价值和第二评价值对第一目标用户特征与推荐对象的相关性值进行更新。
基于更新后的相关性值,可以对相关性模型的计算规则进行修正,由此实现对相关性模型进行更新。
根据一些实施例,在相关性模型包括计算模块和修正模块的情况下,可以通过计算模块所计算的初始相关性值l和修正模块中存储修正常数m,确定可选对象与第一目标用户特征的相关性值q,即q=l+μm,其中,μ表示相关性模型的修正系数,-1≤μ≤1。根据推荐对象的推荐效果可以更新相关性模型中的修正系数μ,由此调整推荐对象与第一目标用户特征的相关性值。
在一种实施方式中,可以基于上述确定的修正参数α调整修正系数μ。
可以理解,也可以采用其它方法通过第一评价值和第二评价值修正相关性模型中的修正系数μ,在此不作限定。
根据一些实施例,基于第一用户画像、第二用户画像和推荐对象,更新匹配模型可以包括:基于第一用户画像中的第二目标用户特征所对应的第一评价值和第二用户画像中的第二目标用户特征所对应的第二评价值,确定与用户特征向量和推荐对象所对应的匹配值标签;以及利用用户特征向量和匹配值标签作为训练数据,对匹配模型进行训练。由此,可以在应用的过程中,对机器学习匹配模型进行进一步的训练,不断提升匹配模型的匹配效果。
在一种实施方式中,在第二目标用户特征所对应的第一评价值和第二评价值之间的差异符合预期的情况下,可以设置用户特征向量和推荐对象所对应的匹配值标签为匹配值取值范围内的较大值;在第二目标用户特征所对应的第一评价值和第二评价值之间的差异不符合预期的情况下,可以设置用户特征向量和推荐对象所对应的匹配值标签为匹配值取值范围内的较小值。例如,当匹配值的取值范围为0~1的情况下,可以在第二目标用户特征所对应的第一评价值和第二评价值之间的差异符合预期的情况下,将匹配值标签设置为1,在第二目标用户特征所对应的第一评价值和第二评价值之间的差异不符合预期的情况下,将匹配值标签设置为0。
在一种实施方式中,在预期为增大第二目标用户特征所对应的评价值的情况下,可以预先设置增长阈值ρ,并在此基础上计算修正参数β。
β=p 2-p 1
其中,0<ρ<P,P表示评价值(包括第一评价值和第二评价值)的取值范围内的最大值,
p 2表示第二目标用户特征所对应的第二评价值,p 1表示第二目标用户特征所对应的第一评价值。
由此,可以将修正参数β的归一化结果作为匹配值标签。
可以理解地,可以通过包括sigmoid函数在内的多种计算方式实现对修正参数β的归一化计算,在此不作限定。
可以理解,上述实施方式只是一种示例性实施例,也可以采用其它方法通过第一评价值和第二评价值确定用户特征向量与推荐对象的匹配值标签,并基于此对匹配模型进行训练。
在如图3所示的一个具体实施例中,该对象推荐方法所针对的用户可以是参与软件开发或项目开发的工程师(即用户)。通过课程推荐匹配模型可以为工程师推荐与其个人工作能力相匹配的培训课程(即对象)。
通过程序编译平台采集工程师在第一历史时间段内的行为数据,该行为数据可以包括工程师提交的代码数据、执行代码评审等多种行为数据。可以理解,工程师在日常工作中的行为数据可以被***自动采集,工程师无需主动提供自身行为数据。
基于所采集的第一历史时间段内的行为数据,可以构建如图3中所示的工程师的第一用户画像3001,例如可以如步骤S201所述。
具体地,该第一用户画像3001可以包括用于评价工程师各方面能力的用户特征,例如,可以包括研发贡献、代码质量、工程信誉、技术复用和协同规范。其中,研发贡献用于表示工程师对代码库的开发和评审所做出的贡献。代码质量用于表示工程师所提交的代码的有效性。工程信誉用于表示工程师在评价工程中是否存在作弊的情况。技术复用表示工程师对不同技术的综合使用能力。协同规范表示工程师与他人协同工作的能力。同时,在该第一用户画像中还包括研发贡献、代码质量、工程信誉、技术复用和协同规范分别对应的第一评价值。
如图3中所示的第一用户画像3001,该工程师的代码质量的用户特征的第一评价值较低,可以将该代码质量作为目标用户特征。
针对该代码质量的目标用户特征,在步骤S301中,利用课程推荐匹配模型,可以确定与第一用户画像3001对应的推荐课程(即对象),例如可以如步骤S202所述。
在一种情况下,在步骤S302-1中,课程推荐匹配模型向用户推荐《代码质量提升之道》的培训课程,例如可以如步骤S203所述,经过预定学校时长之后,基于用户在第二历史时间段内的行为数据,可以在步骤S303-1中构建第二用户画像3002,例如可以如步骤S204所述。如图3所示,在第二用户画像3002中,目标用户特征代码质量得到了有效的提升,由此相应地在步骤S304-1中更新课程推荐匹配模型,例如可以如步骤S205所述,以提升目标用户特征和培训课程《代码质量提升之道》之间的匹配值。
在另一种情况下,在步骤S302-2中,课程推荐匹配模型向用户推荐《高效研发》的培训课程,例如可以如步骤S203所述,经过预定学校时长之后,基于用户在第二历史时间段内的行为数据,可以在步骤S303-2中构建第二用户画像3003,例如可以如步骤S204所述。如图3所示,在第二用户画像3003中,目标用户特征代码质量没有得到有效的提 升,由此相应地在步骤S304-2中更新课程推荐匹配模型,例如可以如步骤S205所述,以降低目标用户特征和培训课程《高效研发》之间的匹配值。
由此,可以在课程推荐模型的使用过程中,实现对课程推荐模型的更新和提升。
根据本公开的另一方法,如图4所示,还提供一种对象推荐装置400,装置400包括:第一获取单元401,被配置用于获取用户的第一用户画像,其中,第一用户画像基于用户在第一历史时间段内的行为数据确定;匹配模型402,被配置用于基于第一用户画像确定推荐对象;推荐单元403,被配置用于向用户推荐推荐对象;第二获取单元404,被配置用于获取用户的第二用户画像,其中,第二用户画像基于用户在第二历史时间段内的行为数据确定,第二历史时间段内的行为数据包括向用户推荐推荐对象后的行为数据;以及更新单元405,被配置用于基于第一用户画像、第二用户画像和推荐对象,更新匹配模型。
根据一些实施例,更新单元包括:第一更新子单元,被配置用于基于第一用户画像和第二用户画像之间的差异,更新匹配模型。
根据一些实施例,匹配模型包括:第一确定单元,被配置用于分别确定多个可选对象中的每一个可选对象与第一用户画像的匹配值;以及第二确定单元,被配置用于基于每一个可选对象与第一用户画像的匹配值,确定多个可选对象中的至少一个可选对象为第一用户画像所对应的推荐对象。
根据一些实施例,第一用户画像包括一个或多个用户特征及其分别对应的一个或多个第一评价值,第二用户画像包括一个或多个用户特征及其分别对应的一个或多个第二评价值。
根据一些实施例,匹配模型包括相关性模型,第一确定单元包括:第一子确定单元,被配置用于确定第一用户画像中的至少一个用户特征为第一目标用户特征;以及第二子确定单元,被配置用于针对于多个可选对象中的每一个可选对象,利用相关性模型确定该可选对象与第一目标用户特征的相关性值,并将相关性值确定为该可选对象与第一用户画像的匹配值。
根据一些实施例,更新单元包括:第二更新子单元,被配置用于基于第一用户画像中的第一目标用户特征所对应的第一评价值和第二用户画像中的第一目标用户特征所对应的第二评价值,更新匹配模型,以调整推荐对象与第一目标用户特征的相关性值。
根据一些实施例,第一确定单元包括:子构建单元,被配置用于基于一个或多个第一评价值,构建第一用户画像所对应的用户特征向量;以及子输出单元,被配置用于针 对于多个可选对象中的每一个可选对象,响应于用户特征向量输入到匹配模型,匹配模型输出该可选对象与第一用户画像的匹配值。
根据一些实施例,更新单元包括:第三确定单元,被配置用于基于第一用户画像所包括的一个或多个第一评价值中的至少一个和第二用户画像所包括的一个或多个第二评价值中的至少一个,确定与第一用户画像和推荐对象所对应的匹配值标签;以及训练单元,被配置用于利用第一用户画像所对应的用户特征向量和匹配值标签作为训练数据,对匹配模型进行训练。
根据本公开的另一方面,还提供一种计算机设备,包括:存储器、处理器以及存储在存储器上的计算机程序,其中,处理器被配置为执行计算机程序以实现上述方法的步骤。
根据本公开的另一方面,还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述方法的步骤。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,计算机程序被处理器执行时实现上述方法的步骤。
参考图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元507可以是能呈现信息的任何类 型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如对象推荐方法。例如,在一些实施例中,对象推荐方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的对象推荐方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行对象推荐方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器 可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。 进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (20)

  1. 一种对象推荐方法,所述方法包括:
    获取用户的第一用户画像,其中,所述第一用户画像基于所述用户在第一历史时间段内的行为数据确定;
    利用匹配模型,基于所述第一用户画像确定推荐对象;
    向所述用户推荐所述推荐对象;
    获取所述用户的第二用户画像,其中,所述第二用户画像基于所述用户在第二历史时间段内的行为数据确定,所述第二历史时间段内的行为数据包括向所述用户推荐所述推荐对象后的行为数据;以及
    基于所述第一用户画像、所述第二用户画像和所述推荐对象,更新所述匹配模型。
  2. 如权利要求1所述的方法,其中,所述基于所述第一用户画像、所述第二用户画像和所述推荐对象,更新所述匹配模型包括:
    基于所述第一用户画像和所述第二用户画像之间的差异,更新所述匹配模型。
  3. 如权利要求1或2所述的方法,其中,所述利用匹配模型,基于所述第一用户画像确定推荐对象包括:
    利用所述匹配模型,分别确定多个可选对象中的每一个可选对象与所述第一用户画像的匹配值;以及
    基于每一个可选对象与所述第一用户画像的匹配值,确定所述多个可选对象中的至少一个可选对象为所述第一用户画像所对应的推荐对象。
  4. 如权利要求3所述的方法,其中,所述第一用户画像包括一个或多个用户特征及其分别对应的一个或多个第一评价值,所述第二用户画像包括所述一个或多个用户特征及其分别对应的一个或多个第二评价值。
  5. 如权利要求4所述的方法,其中,所述匹配模型包括相关性模型,
    所述利用所述匹配模型,分别确定多个可选对象中的每一个可选对象与所述第一用户画像的匹配值包括:
    确定所述第一用户画像中的至少一个用户特征为第一目标用户特征;以及
    针对所述多个可选对象中的每一个可选对象,利用所述相关性模型确定该可选对象与所述第一目标用户特征的相关性值,并将所述相关性值确定为该可选对象与所述第一用户画像的匹配值。
  6. 如权利要求5所述的方法,其中,所述确定所述第一用户画像中的至少一个用户特征为第一目标用户特征包括:
    确定所述第一用户画像中的所述一个或多个第一评价值中的最小值所对应的用户特征为第一目标用户特征。
  7. 如权利要求5或6所述的方法,其中,所述基于所述第一用户画像、所述第二用户画像和所述推荐对象,更新所述匹配模型包括:
    基于所述第一用户画像中的第一目标用户特征所对应的第一评价值和所述第二用户画像中的第一目标用户特征所对应的第二评价值,更新所述匹配模型,以调整所述推荐对象与所述第一目标用户特征的相关性值。
  8. 如权利要求4所述的方法,其中,所述利用所述匹配模型,分别确定多个可选对象中的每一个可选对象与所述第一用户画像的匹配值包括:
    确定所述第一用户画像中的至少一个用户特征为第二目标用户特征;
    基于所述第二目标用户特征所对应的至少一个第一评价值,构建用户特征向量;以及
    针对所述多个可选对象中的每一个可选对象,响应于所述用户特征向量输入到所述匹配模型,所述匹配模型输出该可选对象与所述第一用户画像的匹配值。
  9. 如权利要求8所述的方法,其中,所述基于所述第一用户画像、所述第二用户画像和所述推荐对象,更新所述匹配模型包括:
    基于所述第一用户画像中的第二目标用户特征所对应的第一评价值和所述第二用户画像中的第二目标用户特征所对应的第二评价值,确定与所述用户特征向量和所述推荐对象所对应的匹配值标签;以及
    利用所述用户特征向量和所述匹配值标签作为训练数据,对所述匹配模型进行训练。
  10. 一种对象推荐装置,所述装置包括:
    第一获取单元,被配置用于获取用户的第一用户画像,其中,所述第一用户画像基于所述用户在第一历史时间段内的行为数据确定;
    匹配模型,被配置用于基于所述第一用户画像确定推荐对象;
    推荐单元,被配置用于向所述用户推荐所述推荐对象;
    第二获取单元,被配置用于获取所述用户的第二用户画像,其中,所述第二用户画像基于所述用户在第二历史时间段内的行为数据确定,所述第二历史时间段内的行为数据包括向所述用户推荐所述推荐对象后的行为数据;以及
    更新单元,被配置用于基于所述第一用户画像、所述第二用户画像和所述推荐对象,更新所述匹配模型。
  11. 如权利要求10所述的装置,其中,所述更新单元包括:
    第一更新子单元,被配置用于基于所述第一用户画像和所述第二用户画像之间的差异,更新所述匹配模型。
  12. 如权利要求10或11所述的装置,其中,所述匹配模型包括:
    第一确定单元,被配置用于分别确定多个可选对象中的每一个可选对象与所述第一用户画像的匹配值;以及
    第二确定单元,被配置用于基于每一个可选对象与所述第一用户画像的匹配值,确定所述多个可选对象中的至少一个可选对象为所述第一用户画像所对应的推荐对象。
  13. 如权利要求12所述的装置,其中,所述第一用户画像包括一个或多个用户特征及其分别对应的一个或多个第一评价值,所述第二用户画像包括所述一个或多个用户特征及其分别对应的一个或多个第二评价值。
  14. 如权利要求13所述的装置,其中,所述匹配模型包括相关性模型,
    所述第一确定单元包括:
    第一子确定单元,被配置用于确定所述第一用户画像中的至少一个用户特征为第一目标用户特征;以及
    第二子确定单元,被配置用于针对所述多个可选对象中的每一个可选对象,利用所述相关性模型确定该可选对象与所述第一目标用户特征的相关性值,并将所述相关性值确定为该可选对象与所述第一用户画像的匹配值。
  15. 如权利要求14所述的装置,其中,所述更新单元包括:
    第二更新子单元,被配置用于基于所述第一用户画像中的第一目标用户特征所对应的第一评价值和所述第二用户画像中的第一目标用户特征所对应的第二评价值,更新所述匹配模型,以调整所述推荐对象与所述第一目标用户特征的相关性值。
  16. 如权利要求13所述的装置,其中,所述第一确定单元包括:
    第三子确定单元,被配置用于确定所述第一用户画像中的至少一个用户特征为第二目标用户特征;
    子构建单元,被配置用于基于所述第二目标用户特征所对应的至少一个第一评价值,构建用户特征向量;以及
    子输出单元,被配置用于针对所述多个可选对象中的每一个可选对象,响应于所述用户特征向量输入到所述匹配模型,所述匹配模型输出该可选对象与所述第一用户画像的匹配值。
  17. 如权利要求16所述的装置,其中,所述更新单元包括:
    第三确定单元,被配置用于基于所述第一用户画像中的第二目标用户特征所对应的第一评价值和所述第二用户画像中的第二目标用户特征所对应的第二评价值,确定与所述用户特征向量和所述推荐对象所对应的匹配值标签;以及
    训练单元,被配置用于利用所述用户特征向量和所述匹配值标签作为训练数据,对所述匹配模型进行训练。
  18. 一种计算机设备,包括:
    存储器、处理器以及存储在所述存储器上的计算机程序,
    其中,所述处理器被配置为执行所述计算机程序以实现权利要求1-9中任一项所述的方法的步骤。
  19. 一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法的步骤。
  20. 一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法的步骤。
PCT/CN2021/088893 2020-12-28 2021-04-22 对象推荐方法及装置、计算机设备和介质 WO2022141968A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21912307.2A EP4080384A4 (en) 2020-12-28 2021-04-22 ITEM RECOMMENDATION METHOD AND DEVICE, COMPUTER DEVICE AND STORAGE MEDIA
KR1020227011140A KR20220049604A (ko) 2020-12-28 2021-04-22 객체 추천 방법 및 장치, 컴퓨터 기기 및 매체
JP2022519613A JP7316453B2 (ja) 2020-12-28 2021-04-22 オブジェクト推薦方法及び装置、コンピュータ機器並びに媒体
US17/824,318 US11553048B2 (en) 2020-12-28 2022-05-25 Method and apparatus, computer device and medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011582545.X 2020-12-28
CN202011582545.XA CN112579909A (zh) 2020-12-28 2020-12-28 对象推荐方法及装置、计算机设备和介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/824,318 Continuation US11553048B2 (en) 2020-12-28 2022-05-25 Method and apparatus, computer device and medium

Publications (1)

Publication Number Publication Date
WO2022141968A1 true WO2022141968A1 (zh) 2022-07-07

Family

ID=75140437

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/088893 WO2022141968A1 (zh) 2020-12-28 2021-04-22 对象推荐方法及装置、计算机设备和介质

Country Status (6)

Country Link
US (1) US11553048B2 (zh)
EP (1) EP4080384A4 (zh)
JP (1) JP7316453B2 (zh)
KR (1) KR20220049604A (zh)
CN (1) CN112579909A (zh)
WO (1) WO2022141968A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579909A (zh) 2020-12-28 2021-03-30 北京百度网讯科技有限公司 对象推荐方法及装置、计算机设备和介质
US11887011B2 (en) * 2021-02-08 2024-01-30 Microsoft Technology Licensing, Llc Schema augmentation system for exploratory research
CN113205382B (zh) * 2021-04-30 2024-02-20 北京有竹居网络技术有限公司 确定对象的方法、装置、设备、存储介质和程序产品
CN113516571A (zh) * 2021-05-11 2021-10-19 浙江吉利控股集团有限公司 一种基于职业理想的教育方法及***
CN113722594B (zh) * 2021-09-01 2024-01-09 北京百度网讯科技有限公司 推荐模型的训练方法、推荐方法、装置、电子设备及介质
CN113722523B (zh) * 2021-09-01 2023-11-17 北京百度网讯科技有限公司 对象推荐方法和装置
CN114519143B (zh) * 2022-02-18 2024-05-14 北京百度网讯科技有限公司 课程推荐模型的训练方法、课程推荐方法及装置
CN114969519B (zh) * 2022-05-13 2023-05-12 海知见信息技术(北京)有限公司 基于关注度的客户推荐方法及装置
CN116796076B (zh) * 2023-08-29 2023-11-03 中亿(深圳)信息科技有限公司 业务推荐方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528656A (zh) * 2016-10-20 2017-03-22 杨瀛 一种基于学员历史和实时学习状态参量实现课程推荐的方法和***
CN109255994A (zh) * 2018-10-26 2019-01-22 北京智能优学科技有限公司 一种外语教学自适应学习方法及计算机可读存储介质
US20190114729A1 (en) * 2017-10-17 2019-04-18 Oracle International Corporation Academic program recommendation
CN111915458A (zh) * 2020-07-13 2020-11-10 同济大学 面向探究式与个性化学习的线上实验教学***
CN112001656A (zh) * 2020-09-01 2020-11-27 北京弘远博学科技有限公司 基于员工历史培训信息针对性进行培训课推荐的方法
CN112579909A (zh) * 2020-12-28 2021-03-30 北京百度网讯科技有限公司 对象推荐方法及装置、计算机设备和介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227354A (ja) * 2003-01-23 2004-08-12 Nippon Telegr & Teleph Corp <Ntt> 情報推薦装置、情報推薦方法、プログラム及び記録媒体
US10705835B2 (en) * 2015-12-03 2020-07-07 International Business Machines Corporation Transparent multi-architecture support in a container based cloud
EP3472715A4 (en) * 2016-06-21 2019-12-18 Pinpoint Predictive, Inc. PREDICTION OF PSYCHOMETRIC PROFILES FROM BEHAVIORAL DATA USING AUTOMATIC LEARNING WHILE MAINTAINING THE USER'S ANONYMITY
JP7057077B2 (ja) * 2017-08-09 2022-04-19 Sbクリエイティブ株式会社 購買支援システム
JP2019185541A (ja) * 2018-04-13 2019-10-24 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US11079911B2 (en) * 2018-12-26 2021-08-03 Synaptics Incorporated Enrollment-free offline device personalization
CN111782927B (zh) * 2019-05-15 2024-05-17 北京京东尚科信息技术有限公司 物品推荐方法及其装置、计算机可存储介质
CN112115169B (zh) * 2020-09-17 2023-09-08 北京奇艺世纪科技有限公司 用户画像生成、对象分发、内容推荐方法、装置及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528656A (zh) * 2016-10-20 2017-03-22 杨瀛 一种基于学员历史和实时学习状态参量实现课程推荐的方法和***
US20190114729A1 (en) * 2017-10-17 2019-04-18 Oracle International Corporation Academic program recommendation
CN109255994A (zh) * 2018-10-26 2019-01-22 北京智能优学科技有限公司 一种外语教学自适应学习方法及计算机可读存储介质
CN111915458A (zh) * 2020-07-13 2020-11-10 同济大学 面向探究式与个性化学习的线上实验教学***
CN112001656A (zh) * 2020-09-01 2020-11-27 北京弘远博学科技有限公司 基于员工历史培训信息针对性进行培训课推荐的方法
CN112579909A (zh) * 2020-12-28 2021-03-30 北京百度网讯科技有限公司 对象推荐方法及装置、计算机设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4080384A4 *

Also Published As

Publication number Publication date
JP2023512135A (ja) 2023-03-24
KR20220049604A (ko) 2022-04-21
JP7316453B2 (ja) 2023-07-27
EP4080384A4 (en) 2023-03-29
EP4080384A1 (en) 2022-10-26
US11553048B2 (en) 2023-01-10
US20220286521A1 (en) 2022-09-08
CN112579909A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
WO2022141968A1 (zh) 对象推荐方法及装置、计算机设备和介质
US20230005284A1 (en) Method for training image-text matching model, computing device, and storage medium
EP3910553A2 (en) Image processing method, training method for a neural network, device and medium
US20220237376A1 (en) Method, apparatus, electronic device and storage medium for text classification
WO2023245938A1 (zh) 对象推荐方法和装置
WO2023231350A1 (zh) 利用整数规划求解器实现的任务处理方法、设备和介质
CN115600646B (zh) 语言模型的训练方法、装置、介质及设备
WO2023142408A1 (zh) 数据处理方法和用于训练预测模型的方法
CN114219046B (zh) 模型训练方法、匹配方法、装置、***、电子设备和介质
US20220004801A1 (en) Image processing and training for a neural network
CN113722594B (zh) 推荐模型的训练方法、推荐方法、装置、电子设备及介质
CN114281990A (zh) 文档分类方法及装置、电子设备和介质
CN115359309A (zh) 目标检测模型的训练方法及装置、设备和介质
CN112860681A (zh) 数据清洗方法及装置、计算机设备和介质
CN112905743A (zh) 文本对象检测的方法、装置、电子设备和存储介质
CN116842156B (zh) 数据生成方法及装置、设备和介质
CN114117046B (zh) 数据处理方法、装置、电子设备及介质
CN113420227B (zh) 点击率预估模型的训练方法、预估点击率的方法、装置
CN116450917B (zh) 信息搜索方法及装置、电子设备和介质
US20230036764A1 (en) Systems and Method for Evaluating and Selectively Distilling Machine-Learned Models on Edge Devices
CN117291191A (zh) 文本处理方法及装置、设备和介质
CN114219079A (zh) 特征选择方法及装置、模型训练方法及装置、设备和介质
CN115617968A (zh) 对话方法及装置、设备和介质
CN115577081A (zh) 对话方法及装置、设备和介质
CN114548261A (zh) 数据处理方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022519613

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20227011140

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021912307

Country of ref document: EP

Effective date: 20220704

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

Ref document number: 21912307

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE