WO2023240833A1 - Information recommendation method and apparatus, electronic device, and medium - Google Patents

Information recommendation method and apparatus, electronic device, and medium Download PDF

Info

Publication number
WO2023240833A1
WO2023240833A1 PCT/CN2022/121332 CN2022121332W WO2023240833A1 WO 2023240833 A1 WO2023240833 A1 WO 2023240833A1 CN 2022121332 W CN2022121332 W CN 2022121332W WO 2023240833 A1 WO2023240833 A1 WO 2023240833A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
user
vector
browsed
cluster
Prior art date
Application number
PCT/CN2022/121332
Other languages
French (fr)
Chinese (zh)
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 WO2023240833A1 publication Critical patent/WO2023240833A1/en

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/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/75Clustering; Classification

Definitions

  • the present disclosure relates to the field of computers, in particular to the field of intelligent recommendation technology, and specifically to an information recommendation method, device, electronic device, computer-readable storage medium and computer program product.
  • the present disclosure provides an information recommendation method, device, electronic equipment, computer-readable storage medium and computer program product.
  • an information recommendation method including: obtaining browsed information lists of multiple first users and a first vector corresponding to each browsed information list; The corresponding first vectors are clustered to obtain one or more vector clusters and their center vectors; one or more information clusters respectively corresponding to the one or more vector clusters are determined, wherein each information cluster is determined according to the corresponding first vector cluster.
  • the browsed information list corresponding to the first vector in the corresponding vector cluster is determined; in response to the second user's browsing request, the browsed information list of the second user is obtained; in response to determining the browsed information list of the second user If the information list is not empty, determine the second vector corresponding to the second user's browsed information list; perform similarity calculations on the second vector and the center vector respectively to determine the similarity with the second vector. matching information clusters; and recommending the second user based on the determined information clusters.
  • an information recommendation device including: a first acquisition unit configured to acquire browsed information lists of multiple first users and first vectors corresponding to each browsed information list; a clustering unit configured to cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors; a first determining unit configured to determine the relationship with the one or One or more information clusters respectively corresponding to the plurality of vector clusters, wherein each information cluster is determined according to the browsed information list corresponding to the first vector in the corresponding vector cluster; the second acquisition unit is configured to respond to the second The user's browsing request obtains the browsed information list of the second user; the second determination unit is configured to determine the browsed information list of the second user in response to determining that the browsed information list of the second user is not empty. a second vector corresponding to the information list; a third determination unit configured to perform similarity calculations on the second vector and the center vector respectively to determine information clusters matching the second vector; and a recommendation unit ,
  • an electronic device including: at least one processor; and a memory communicatively connected to the at least one processor; the memory stores instructions that can be executed by at least one processor, and the instructions are at least One processor executes to enable at least one processor to execute the methods described in the present disclosure.
  • a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method described in the present disclosure.
  • a computer program product including a computer program that, when executed by a processor, implements the method described in the present disclosure.
  • the vectors corresponding to the browsed information of the user are clustered, and the similarity between the vector corresponding to the browsed information of the current browsing user and the center vector obtained by clustering is calculated.
  • 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 information recommendation method according to an embodiment of the present disclosure
  • Figure 3 shows a schematic diagram of an information browsing page according to an embodiment of the present disclosure
  • Figure 4 shows a structural block diagram of an information recommendation device according to an embodiment of the present disclosure.
  • FIG. 5 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 element from another.
  • the 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 performing methods of information recommendation.
  • 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 browse corresponding information.
  • 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 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.
  • 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 to be recommended.
  • 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.
  • the recall phase mainly conducts recall based on different dimensions such as user relevance, information popularity, and local sense;
  • the sorting phase mainly uses clicks, interactions, duration, etc. as goals for scoring and sorting; and
  • the final fusion phase performs overall adjustment of the sequence based on diversity and context.
  • the entire browsing information is based on the overall perception of history and context.
  • the previous and subsequent information as well as the historical information the user has browsed have a strong perception for the user.
  • the perception of the overall painting style is stronger.
  • the channel is more about immersive consumption for users and puts more emphasis on overall consumption.
  • the sense of rhythm and fluency therefore, puts more emphasis on the overall style of painting in immersive consumption.
  • the overall style is sorted based on goals such as clicks, duration, or interaction.
  • goals such as clicks, duration, or interaction.
  • there is no unified recall based on the user's drawing style in the recall stage which makes the information style inconsistent in the recall stage, making it difficult to unify the style in the subsequent sorting stage. . Therefore, how to recall information with a unified painting style becomes the key.
  • an information recommendation method including: obtaining browsed information lists of multiple first users and a first vector corresponding to each browsed information list;
  • the first vector corresponding to the user is clustered to obtain one or more vector clusters and their center vectors; one or more information clusters respectively corresponding to the one or more vector clusters are determined, wherein each information cluster is determined according to The browsed information list corresponding to the first vector in the corresponding vector cluster is determined; in response to the second user's browsing request, the browsed information list of the second user is obtained; in response to determining the second user's browsed information list If the browsed information list is not empty, determine the second vector corresponding to the second user's browsed information list; perform similarity calculations on the second vector and the center vector respectively to determine the similarity with the second vector. matching information clusters; and recommending the second user based on the determined information clusters.
  • the current by clustering the vectors corresponding to the browsed information of the user, and performing similarity calculations on the vector corresponding to the browsed information of the current browsing user and the center vector obtained by clustering, the current It provides users with an immersive information consumption experience, maintains the rhythm and fluency of overall information consumption, and improves user experience.
  • FIG. 2 shows a flowchart of an information recommendation method according to an embodiment of the present disclosure.
  • step 210 browsed information lists of multiple first users and the first vector corresponding to each browsed information list are obtained.
  • the first user is an active user, and the active user can be determined based on the following steps: sort the users according to the number of their browsing information from high to low within a preset time period, so as to rank the top 100 preset users.
  • the user corresponding to the quantile serves as the first user.
  • the information to be recommended may include, but is not limited to, pictures, text, videos, products, etc.
  • the information to be recommended may belong to different information categories, such as entertainment, news, sports, etc. Therefore, active users in different categories can be selected respectively as the corresponding first users. Specifically, users under each category can be sorted from high to low according to the number of their browsing information within a predetermined time period, and the users corresponding to the first preset percentile (for example, the top 5%) are taken as the first one user.
  • the browsed information list includes information identification of the corresponding user's browsed information. Therefore, the vector representation corresponding to the group of information identifiers can be determined based on the group of information identifiers corresponding to each user.
  • the vector corresponding to the browsed information list can be obtained through a pre-trained model. For example, set up the two-tower model to be trained, randomly divide the information browsed by the same user into two groups and input it into two towers as positive samples; input the information browsed by different users into two towers as negative samples. The parameters of the two towers are shared, thereby training a two-tower model that outputs the vector corresponding to the browsed information list.
  • step 220 first vectors corresponding to multiple first users are clustered to obtain one or more vector clusters and their center vectors.
  • vectors corresponding to multiple first users in each information category may be clustered.
  • the vectors corresponding to the browsing lists of active users can be clustered to obtain one or more clusters and the center vector corresponding to each cluster.
  • Other information categories are similar and will not be described again here.
  • vectors corresponding to the first user in multiple information categories can also be clustered simultaneously, which is not limited here.
  • the first vectors may be clustered based on any suitable algorithm, including but not limited to the Kmeans algorithm.
  • step 230 one or more information clusters respectively corresponding to the one or more vector clusters are determined, wherein each information cluster is determined according to the browsed information list corresponding to the first vector in the corresponding vector cluster.
  • each vector cluster corresponds to one or more first vectors.
  • each first vector corresponds to a set of browsing lists of a first user, so one or more information respectively corresponding to the first or more vector clusters can be determined based on its corresponding browsing list of the first user. cluster.
  • step 240 in response to the second user's browsing request, a browsed information list of the second user is obtained.
  • step 250 in response to determining that the second user's browsed information list is not empty, determine a second vector corresponding to the second user's browsed information list.
  • the second user's browsing request may be the user's browsing operation (such as a sliding operation on the touch screen), a jump operation after clicking on certain specific information, and so on.
  • the user browses information A, B, C, D... in the browsing page, and clicks information B to trigger a page jump based on information B to jump to information including information B, E, F, G. ...view page.
  • step 260 similarity calculation is performed on the second vector and the central vector respectively to determine the information cluster matching the second vector; and in step 270 , recommending the second user based on the determined information cluster.
  • the similarity calculation between the second vector and the center vector of the cluster obtained through clustering can be performed based on any suitable algorithm, including but not limited to, for example, the annoy algorithm to determine the closest vector to the second vector.
  • any suitable algorithm including but not limited to, for example, the annoy algorithm to determine the closest vector to the second vector.
  • One or more clusters are suitable algorithms, including but not limited to, for example, the annoy algorithm to determine the closest vector to the second vector.
  • the second vector can be similar to the center vector of each cluster under all information categories to determine the second vector in the clusters corresponding to all information categories. A cluster of information that matches the second vector.
  • the information cluster matching the second vector may be a cluster whose similarity is greater than a preset threshold, or may be a preset number of clusters with the highest similarity, which is not limited here.
  • recommending the second user based on the determined information cluster may include: obtaining a browsed information list of the first user corresponding to the determined information cluster; and obtaining the first user's browsed information list based on the determined information cluster.
  • the browsed information list determines a predetermined number of pieces of information with the most views, so as to recommend the second user based on the predetermined number of pieces of information.
  • the browsed information list of the first user A in the determined information cluster is ⁇ A1, A2, A3, A4 ⁇
  • the browsed information list of the first user B is ⁇ A1, A2, B1, B2 ⁇
  • the browsed information list of the first user C is ⁇ B1, A2, B3, B4.
  • the method according to the present disclosure may further include: in response to determining that the browsed information list corresponding to the second user is empty, determining the information cluster corresponding to each of the one or more information clusters.
  • Information browsing volume determine the information cluster with the highest information browsing volume, so as to recommend the second user based on the determined information cluster.
  • an information recommendation device 400 including: a first acquisition unit 410 configured to acquire browsed information lists of multiple first users and each browsed information The first vector corresponding to the list; the clustering unit 420 is configured to cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors; the first determination unit 430.
  • the second obtaining unit 440 is configured to obtain the browsed information list of the second user in response to the second user's browsing request;
  • the second determining unit 450 is configured to respond to determining that the browsed information list of the second user is not is empty, determine the second vector corresponding to the second user's browsed information list;
  • the third determination unit 460 is configured to perform similarity calculations on the second vector and the center vector respectively to determine the similarity with the second vector.
  • the second vector matches the information cluster; and the recommendation unit 470 is configured to recommend the second user based on the determined information cluster.
  • 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.
  • the electronic device 500 includes a computing unit 501 that can perform calculations 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 . Perform various appropriate actions and processing. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored.
  • Computing unit 501, ROM 502 and RAM 503 are connected to each other via 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 electronic device 500, the input unit 506 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 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 terminal, vibrator, and/or printer.
  • Computing unit 501 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 501 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 that run machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc.
  • Computing unit 501 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 508.
  • part or all of the computer program may be loaded and/or installed onto the electronic device 500 via the ROM 502 and/or the 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 method 200 described above may be performed.
  • computing unit 501 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.
  • 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 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), the Internet, and blockchain networks.
  • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present disclosure relates to the field of computers, in particular to the technical field of intelligent recommendation, and provides an information recommendation method and apparatus, an electronic device, a computer readable storage medium, and a computer program product. An implementation solution is: obtaining browsed information lists of a plurality of first users and a first vector corresponding to each browsed information list; clustering the first vectors corresponding to the plurality of first users, so as to obtain one or more vector clusters and center vectors thereof; determining one or more information clusters respectively corresponding to the one or more vector clusters; in response to a browsing request of a second user, obtaining a browsed information list of the second user; in response to determining that the browsed information list of the second user is not empty, determining a second vector corresponding to the browsed information list of the second user; performing similarity calculation on the second vector and the center vectors, respectively, so as to determine an information cluster matching the second vector; and recommending the second user on the basis of the determined information cluster.

Description

信息推荐方法及装置、电子设备和介质Information recommendation method and device, electronic equipment and media
相关申请的交叉引用Cross-references to related applications
本申请要求于2022年6月15日提交的中国专利申请202210680752.1的优先权,其全部内容通过引用整体结合在本申请中。This application claims priority from Chinese patent application 202210680752.1 submitted on June 15, 2022, the entire content of which is incorporated into this application by reference in its entirety.
技术领域Technical field
本公开涉及计算机领域,尤其涉及智能推荐技术领域,具体涉及一种信息推荐方法、装置、电子设备、计算机可读存储介质和计算机程序产品。The present disclosure relates to the field of computers, in particular to the field of intelligent recommendation technology, and specifically to an information recommendation method, device, electronic device, computer-readable storage medium and computer program product.
背景技术Background technique
随着互联网技术的发展,互联网已成为人们生活中不可或缺的部分,人们生活中的消费、娱乐、学习、出行和理财等都离不开互联网。用户在不同场景中进行浏览和跳转时,召回层面还没有统一的基于用户画风的召回,使得召回层面的资源可能已经风格不一致,无法带给用户沉浸式的信息消费。With the development of Internet technology, the Internet has become an indispensable part of people's lives. Consumption, entertainment, learning, travel, and financial management are all inseparable from the Internet. When users browse and jump in different scenarios, there is no unified recall based on the user's style at the recall level, so the resources at the recall level may have inconsistent styles and cannot provide users with immersive information consumption.
发明内容Contents of the invention
本公开提供了一种信息推荐方法、装置、电子设备、计算机可读存储介质和计算机程序产品。The present disclosure provides an information recommendation method, device, electronic equipment, computer-readable storage medium and computer program product.
根据本公开的一方面,提供了一种信息推荐方法,包括:获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量;对所述多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量;确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定;响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表;响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量;将所述第二向量分别与所述中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及基于所述确定的信息簇对所述第二用户进行推荐。According to one aspect of the present disclosure, an information recommendation method is provided, including: obtaining browsed information lists of multiple first users and a first vector corresponding to each browsed information list; The corresponding first vectors are clustered to obtain one or more vector clusters and their center vectors; one or more information clusters respectively corresponding to the one or more vector clusters are determined, wherein each information cluster is determined according to the corresponding first vector cluster. The browsed information list corresponding to the first vector in the corresponding vector cluster is determined; in response to the second user's browsing request, the browsed information list of the second user is obtained; in response to determining the browsed information list of the second user If the information list is not empty, determine the second vector corresponding to the second user's browsed information list; perform similarity calculations on the second vector and the center vector respectively to determine the similarity with the second vector. matching information clusters; and recommending the second user based on the determined information clusters.
根据本公开的另一方面,提供了一种信息推荐装置,包括:第一获取单元,配置为获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量;聚类单元,配置为对所述多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量;第一确定单元,配置为确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定;第二获取单元,配置为响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表;第二确定单元,配置为响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量;第三确定单元,配置为将所述第二向量分别与所述中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及推荐单元,配置为基于所述确定的信息簇对所述第二用户进行推荐。According to another aspect of the present disclosure, an information recommendation device is provided, including: a first acquisition unit configured to acquire browsed information lists of multiple first users and first vectors corresponding to each browsed information list; a clustering unit configured to cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors; a first determining unit configured to determine the relationship with the one or One or more information clusters respectively corresponding to the plurality of vector clusters, wherein each information cluster is determined according to the browsed information list corresponding to the first vector in the corresponding vector cluster; the second acquisition unit is configured to respond to the second The user's browsing request obtains the browsed information list of the second user; the second determination unit is configured to determine the browsed information list of the second user in response to determining that the browsed information list of the second user is not empty. a second vector corresponding to the information list; a third determination unit configured to perform similarity calculations on the second vector and the center vector respectively to determine information clusters matching the second vector; and a recommendation unit , configured to recommend the second user based on the determined information cluster.
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行本公开所述的方法。According to another aspect of the present disclosure, an electronic device is provided, including: at least one processor; and a memory communicatively connected to the at least one processor; the memory stores instructions that can be executed by at least one processor, and the instructions are at least One processor executes to enable at least one processor to execute the methods described in the present disclosure.
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开所述的方法。According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method described in the present disclosure.
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本公开所述的方法。According to another aspect of the present disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method described in the present disclosure.
根据本公开的一个或多个实施例,通过将用户的已浏览信息所对应的向量进行聚类,并将当前浏览用户的已浏览信息所对应的向量与聚类所得到的中心向量进行相似度计算,为当前用户提供了沉浸式的信息消费体验,并保持整体信息消费的节奏感和流畅度,提高了用户体验。According to one or more embodiments of the present disclosure, the vectors corresponding to the browsed information of the user are clustered, and the similarity between the vector corresponding to the browsed information of the current browsing user and the center vector obtained by clustering is calculated Computing provides current users with an immersive information consumption experience, maintains the rhythm and fluency of overall information consumption, and improves user experience.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the present disclosure will become readily understood from the following description.
附图说明Description of the drawings
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。The drawings illustrate exemplary embodiments and constitute a part of the specification, and together with the written description, serve to explain exemplary implementations of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numbers refer to similar, but not necessarily identical, elements.
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;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;
图2示出了根据本公开的实施例的信息推荐方法的流程图;Figure 2 shows a flow chart of an information recommendation method according to an embodiment of the present disclosure;
图3示出了根据本公开的实施例的信息浏览页面的示意图;Figure 3 shows a schematic diagram of an information browsing page according to an embodiment of the present disclosure;
图4示出了根据本公开的实施例的信息推荐装置的结构框图;以及Figure 4 shows a structural block diagram of an information recommendation device according to an embodiment of the present disclosure; and
图5示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。FIG. 5 shows a structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the present disclosure are included to facilitate understanding and should be considered to be exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of the disclosure. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。In this disclosure, unless otherwise stated, the use of the terms “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 element from another. In some examples, the 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.
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。The terminology used in the description of the various described examples in this disclosure is for the purpose of describing the particular examples only and is not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. Furthermore, the term "and/or" as used in this disclosure encompasses any and all possible combinations of the listed items.
下面将结合附图详细描述本公开的实施例。Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个 客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。Figure 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. Referring to FIG. 1 , 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.
在本公开的实施例中,服务器120可以运行使得能够执行信息推荐的方法的一个或多个服务或软件应用。In embodiments of the present disclosure, the server 120 may run one or more services or software applications that enable performing methods of information recommendation.
在某些实施例中,服务器120还可以提供其他服务或软件应用,这些服务或软件应用可以包括非虚拟环境和虚拟环境。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments. In some embodiments, 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 .
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。In the configuration shown in FIG. 1 , 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.
用户可以使用客户端设备101、102、103、104、105和/或106来浏览相应的信息。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。Users may use client devices 101, 102, 103, 104, 105 and/or 106 to browse corresponding information. 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. Although 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.
客户端设备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)应用程序,并且可以使用各种通信协议。 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.
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。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.). By way of example only, 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.
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。 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). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。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.
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。In some implementations, 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 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 .
在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技 术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。In some implementations, the server 120 may be a server of a distributed system, or a server combined with a blockchain. 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.
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如待推荐的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类型。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。 System 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of databases 130 may be used to store information such as to be recommended. Database 130 may reside in various locations. For example, 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. In some embodiments, 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.
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。In some embodiments, 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.
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。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.
在推荐系统中,通常分为召回、排序、融合三个阶段。召回阶段主要根据用户相关性、信息新热度、本地感等不同维度进行召回;排序阶段主要以点击、互动、时长等作为目标进行打分排序;最后融合阶段进行多样性和基于上下文的序列整体调整。In recommendation systems, it is usually divided into three stages: recall, sorting, and fusion. The recall phase mainly conducts recall based on different dimensions such as user relevance, information popularity, and local sense; the sorting phase mainly uses clicks, interactions, duration, etc. as goals for scoring and sorting; and the final fusion phase performs overall adjustment of the sequence based on diversity and context.
对用户而言,整个浏览信息是基于历史和上下文的整体感知,除了当前某一条信息,前后信息以及用户浏览过的历史信息都对用户有很强感知。尤其在不同场景中对整体画风的感知更加强烈,例如在信息流的二跳场景中,用户从一条信息点击进入二跳频道,频道更多的是给用户沉浸式的消费,更加强调整体消费的节奏感和流畅度,因此更加强调沉浸式消费中的整体画风。For the user, the entire browsing information is based on the overall perception of history and context. In addition to the current piece of information, the previous and subsequent information as well as the historical information the user has browsed have a strong perception for the user. Especially in different scenarios, the perception of the overall painting style is stronger. For example, in the two-hop scenario of information flow, the user clicks from a piece of information to enter the two-hop channel. The channel is more about immersive consumption for users and puts more emphasis on overall consumption. The sense of rhythm and fluency, therefore, puts more emphasis on the overall style of painting in immersive consumption.
当前,在排序阶段,以点击、时长或者互动等目标进行整体风格排序,但召回阶段还没有统一的基于用户画风的召回,使得召回阶段的信息风格不一致,导致后续的排序阶段很难统一风格。因此,如何进行画风统一的信息召回成为关键。Currently, in the sorting stage, the overall style is sorted based on goals such as clicks, duration, or interaction. However, there is no unified recall based on the user's drawing style in the recall stage, which makes the information style inconsistent in the recall stage, making it difficult to unify the style in the subsequent sorting stage. . Therefore, how to recall information with a unified painting style becomes the key.
因此,根据本公开的实施例提供了一种信息推荐方法,包括:获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量;对所述多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量;确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定;响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表;响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量;将所述第二向量分别与所述中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及基于所述确定的信息簇对所述第二用户进行推荐。Therefore, an information recommendation method is provided according to an embodiment of the present disclosure, including: obtaining browsed information lists of multiple first users and a first vector corresponding to each browsed information list; The first vector corresponding to the user is clustered to obtain one or more vector clusters and their center vectors; one or more information clusters respectively corresponding to the one or more vector clusters are determined, wherein each information cluster is determined according to The browsed information list corresponding to the first vector in the corresponding vector cluster is determined; in response to the second user's browsing request, the browsed information list of the second user is obtained; in response to determining the second user's browsed information list If the browsed information list is not empty, determine the second vector corresponding to the second user's browsed information list; perform similarity calculations on the second vector and the center vector respectively to determine the similarity with the second vector. matching information clusters; and recommending the second user based on the determined information clusters.
根据本公开的实施例,通过将用户的已浏览信息所对应的向量进行聚类,并将当前浏览用户的已浏览信息所对应的向量与聚类所得到的中心向量进行相似度计算,为当前用户提供了沉浸式的信息消费体验,并保持整体信息消费的节奏感和流畅度,提高了用户体验。According to an embodiment of the present disclosure, by clustering the vectors corresponding to the browsed information of the user, and performing similarity calculations on the vector corresponding to the browsed information of the current browsing user and the center vector obtained by clustering, the current It provides users with an immersive information consumption experience, maintains the rhythm and fluency of overall information consumption, and improves user experience.
图2示出了根据本公开的实施例的信息推荐方法的流程图。如图2所示,在步骤210中,获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量。FIG. 2 shows a flowchart of an information recommendation method according to an embodiment of the present disclosure. As shown in Figure 2, in step 210, browsed information lists of multiple first users and the first vector corresponding to each browsed information list are obtained.
根据一些实施例,所述第一用户即活跃用户,该活跃用户可以基于以下步骤确定:在预设时间段内将用户按照其浏览信息的数量从高到低进行排序,以将前预设百分位数所对应的用户作为所述第一用户。According to some embodiments, the first user is an active user, and the active user can be determined based on the following steps: sort the users according to the number of their browsing information from high to low within a preset time period, so as to rank the top 100 preset users. The user corresponding to the quantile serves as the first user.
在本公开中,待推荐的信息可以包括但不限于图片、文本、视频、商品等等内容。并且,在一些示例中,待推荐的信息可以属于不同的信息类别,例如娱乐类、新闻类、体育类等。因此,可以在不同类别中分别选择活跃用户,以作为相应的第一用户。具体地,可以在预定时间段内,将每个类别下的用户按其浏览信息的数量从高到低进行排序,取前预设百分位数(例如前5%)所对应的用户作为第一用户。In this disclosure, the information to be recommended may include, but is not limited to, pictures, text, videos, products, etc. Moreover, in some examples, the information to be recommended may belong to different information categories, such as entertainment, news, sports, etc. Therefore, active users in different categories can be selected respectively as the corresponding first users. Specifically, users under each category can be sorted from high to low according to the number of their browsing information within a predetermined time period, and the users corresponding to the first preset percentile (for example, the top 5%) are taken as the first one user.
可以理解的是,其他可以确定第一用户的方式也是可能的,例如在预定时间段内浏览数量超预设阈值的用户,在此不作限制。It can be understood that other ways of determining the first user are also possible, such as users whose browsing quantity exceeds a preset threshold within a predetermined time period, which are not limited here.
根据一些实施例,所述已浏览信息列表包括相应用户已浏览信息的信息标识。因此,可以基于每个用户所对应的一组信息标识确定该组信息标识所对应的向量表示。According to some embodiments, the browsed information list includes information identification of the corresponding user's browsed information. Therefore, the vector representation corresponding to the group of information identifiers can be determined based on the group of information identifiers corresponding to each user.
在一些实施例中,可以通过预先训练的模型来获得已浏览信息列表所对应的向量。示例地,设置待训练的双塔模型,将同一用户浏览过的信息随机分为两组输入两个塔,以作为正样本;不同用户浏览过的信息输入两个塔,以作为负样本。两个塔的参数共享,从而训练得到输出已浏览信息列表所对应向量的双塔模型。In some embodiments, the vector corresponding to the browsed information list can be obtained through a pre-trained model. For example, set up the two-tower model to be trained, randomly divide the information browsed by the same user into two groups and input it into two towers as positive samples; input the information browsed by different users into two towers as negative samples. The parameters of the two towers are shared, thereby training a two-tower model that outputs the vector corresponding to the browsed information list.
可以理解的是,其他能够获得已浏览信息列表所对应的向量的方法也是可能的,在此不作限制。It can be understood that other methods for obtaining the vector corresponding to the browsed information list are also possible, and are not limited here.
在步骤220中,对多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量。In step 220, first vectors corresponding to multiple first users are clustered to obtain one or more vector clusters and their center vectors.
在上述待推荐的信息属于不同信息类别的示例中,可以对每个信息类别中的多个第一用户所对应的向量进行聚类。具体地,对于娱乐类,可以将其活跃用户的浏览列表所对应的向量进行聚类,以获得一个或多个簇以及每个簇所对应的中心向量。其他信息类别类似,在此不再赘述。In the above example in which the information to be recommended belongs to different information categories, vectors corresponding to multiple first users in each information category may be clustered. Specifically, for the entertainment category, the vectors corresponding to the browsing lists of active users can be clustered to obtain one or more clusters and the center vector corresponding to each cluster. Other information categories are similar and will not be described again here.
在一些示例中,也可以将多个信息类别中的第一用户所对应的向量同时进行聚类,在此不作限制。并且,在本公开中,可以基于任何合适的算法对第一向量进行聚类,包括但不限于Kmeans算法。In some examples, vectors corresponding to the first user in multiple information categories can also be clustered simultaneously, which is not limited here. Moreover, in the present disclosure, the first vectors may be clustered based on any suitable algorithm, including but not limited to the Kmeans algorithm.
在步骤230中,确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定。In step 230, one or more information clusters respectively corresponding to the one or more vector clusters are determined, wherein each information cluster is determined according to the browsed information list corresponding to the first vector in the corresponding vector cluster.
在一些示例中,在对多个第一用户所对应的第一向量进行聚类后,获得一个或多个向量簇,每个向量簇对应于一个或多个第一向量。而且,每个第一向量对应于一个第一用户的一组浏览列表,因此可以基于其相对应的第一用户的浏览列表确定与该第一或多个向量簇分别对应的一个或多个信息簇。In some examples, after clustering the first vectors corresponding to the plurality of first users, one or more vector clusters are obtained, and each vector cluster corresponds to one or more first vectors. Furthermore, each first vector corresponds to a set of browsing lists of a first user, so one or more information respectively corresponding to the first or more vector clusters can be determined based on its corresponding browsing list of the first user. cluster.
在步骤240中,响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表。在步骤250中,响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量。In step 240, in response to the second user's browsing request, a browsed information list of the second user is obtained. In step 250, in response to determining that the second user's browsed information list is not empty, determine a second vector corresponding to the second user's browsed information list.
示例地,该第二用户的浏览请求可以为用户的浏览操作(例如在触摸屏上的滑动操作)、点击某一具体信息后的跳转操作,等等。如图3所示,用户对浏览页面中的信息A、B、C、D…进行浏览,并点击信息B以基于信息B触发页面跳转,以跳转到包括信息B、E、F、G…的浏览页面。For example, the second user's browsing request may be the user's browsing operation (such as a sliding operation on the touch screen), a jump operation after clicking on certain specific information, and so on. As shown in Figure 3, the user browses information A, B, C, D... in the browsing page, and clicks information B to trigger a page jump based on information B to jump to information including information B, E, F, G. …view page.
为使得跳转后的页面给用户提供沉浸式的信息消费体验,以保持整体信息消费的节奏感和流畅度,在接收到用户的浏览请求后,需召回整体画风较为一致的信息,以提高用户体验。In order for the page after the jump to provide users with an immersive information consumption experience and to maintain the rhythm and fluency of the overall information consumption, after receiving the user's browsing request, it is necessary to recall information with a more consistent overall style to improve user experience.
为召回整体画风较为一致的信息,具体地,在步骤260中,将第二向量分别与中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及在步骤270中,基于所述确定的信息簇对所述第二用户进行推荐。In order to recall information with a relatively consistent overall style, specifically, in step 260, similarity calculation is performed on the second vector and the central vector respectively to determine the information cluster matching the second vector; and in step 270 , recommending the second user based on the determined information cluster.
在本公开中,可以基于任何合适的算法将该第二向量与通过聚类所得到的簇的中心向量进行相似度计算,包括但不限于例如annoy算法,以确定与该第二向量最接近的一个或多个簇。In the present disclosure, the similarity calculation between the second vector and the center vector of the cluster obtained through clustering can be performed based on any suitable algorithm, including but not limited to, for example, the annoy algorithm to determine the closest vector to the second vector. One or more clusters.
在上述待推荐的信息属于不同信息类别的示例中,可以将该第二向量与所有信息类别下的每个簇的中心向量进行相似度进行,以在该所有信息类别所对应的簇中确定出与所述第二向量相匹配的信息簇。In the above example in which the information to be recommended belongs to different information categories, the second vector can be similar to the center vector of each cluster under all information categories to determine the second vector in the clusters corresponding to all information categories. A cluster of information that matches the second vector.
在一些示例中,与第二向量相匹配的信息簇可以为所述相似度大于预设阈值的簇、或者也可以为所述相似度最高的预设个数的簇,在此不作限制。In some examples, the information cluster matching the second vector may be a cluster whose similarity is greater than a preset threshold, or may be a preset number of clusters with the highest similarity, which is not limited here.
根据一些实施例,基于所述确定的信息簇对所述第二用户进行推荐可以包括:获取所述确定的信息簇所对应的第一用户的已浏览信息列表;以及基于所述获取第一用户的已浏览信息列表,确定浏览量最多的预定个数信息,以基于所述预定个数信息对所述第二用户进行推荐。According to some embodiments, recommending the second user based on the determined information cluster may include: obtaining a browsed information list of the first user corresponding to the determined information cluster; and obtaining the first user's browsed information list based on the determined information cluster. The browsed information list determines a predetermined number of pieces of information with the most views, so as to recommend the second user based on the predetermined number of pieces of information.
具体地,假设所确定的信息簇中第一用户A的已浏览信息列表为{A1、A2、A3、A4}、第一用户B的已浏览信息列表为{A1、A2、B1、B2}、第一用户C的已浏览信息列表为{B1、A2、B3、B4。则对该信息簇所对应的第一用户A、B、C的已浏览信息列表进行统计后,可以确定信息A1被浏览2次、信息A2被浏览3次,信息B1被浏览2次,其余信息均被浏览一次。因此,在对所确定的信息簇中的所有第一用户的已浏览信息进行统计后,可以确定浏览量最多的预定个数的信息,以基于该预定个数信息对第二用户进行推荐。Specifically, assume that the browsed information list of the first user A in the determined information cluster is {A1, A2, A3, A4}, and the browsed information list of the first user B is {A1, A2, B1, B2}, The browsed information list of the first user C is {B1, A2, B3, B4. Then after counting the browsed information lists of the first users A, B, and C corresponding to the information cluster, it can be determined that information A1 has been browsed 2 times, information A2 has been browsed 3 times, information B1 has been browsed 2 times, and the remaining information were viewed once. Therefore, after counting the browsed information of all the first users in the determined information cluster, a predetermined number of information with the most views can be determined to recommend the second user based on the predetermined number of information.
根据一些实施例,根据本公开的方法还可以包括:响应于确定所述第二用户所对应的已浏览信息列表为空,确定所述一个或多个信息簇中的每一个信息簇所对应的信息浏览量;确定信息浏览量最高的信息簇,以基于所述确定的信息簇对所述第二用户进行推荐。According to some embodiments, the method according to the present disclosure may further include: in response to determining that the browsed information list corresponding to the second user is empty, determining the information cluster corresponding to each of the one or more information clusters. Information browsing volume: determine the information cluster with the highest information browsing volume, so as to recommend the second user based on the determined information cluster.
当第二用户所对应的已浏览信息列表为空(例如第二用户为新用户)时,可以直接将最活跃的簇中的信息推荐给用户。具体地,可以基于上面所述的方法分别确定每一个信息簇所对应的信息浏览量。例如,某一个信息簇中包括信息A1、B1、…、N1,并且统计确定信息A1一共被浏览a次、信息B1一共被浏览b次、……、信息N1一共被浏览c次,则该信息簇所对应的浏览量为a+b+…+c。从而在该一个或多个信息簇中确定信息浏览量最高的信息簇对第二用户进行推荐。When the browsed information list corresponding to the second user is empty (for example, the second user is a new user), the information in the most active cluster can be directly recommended to the user. Specifically, the number of information views corresponding to each information cluster can be determined based on the method described above. For example, a certain information cluster includes information A1, B1,...,N1, and it is statistically determined that information A1 has been browsed a times, information B1 has been browsed b times,..., and information N1 has been browsed c times, then this information The number of views corresponding to the cluster is a+b+…+c. Thus, the information cluster with the highest number of information views among the one or more information clusters is determined and recommended to the second user.
根据本公开的实施例,如图4所示,还提供了一种信息推荐装置400,包括:第一获取单元410,配置为获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量;聚类单元420,配置为对所述多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量;第一确定单元430,配置为确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定;第二获取单元440,配置为响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表;第二确定单元450,配置为响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量;第三确定单元460,配置为将所述第二向量分别与所述中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及推荐单元470,配置为基于所述确定的信息簇对所述第二用户进行推荐。According to an embodiment of the present disclosure, as shown in Figure 4, an information recommendation device 400 is also provided, including: a first acquisition unit 410 configured to acquire browsed information lists of multiple first users and each browsed information The first vector corresponding to the list; the clustering unit 420 is configured to cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors; the first determination unit 430. Configured to determine one or more information clusters respectively corresponding to the one or more vector clusters, wherein each information cluster is determined according to the browsed information list corresponding to the first vector in the corresponding vector cluster; The second obtaining unit 440 is configured to obtain the browsed information list of the second user in response to the second user's browsing request; the second determining unit 450 is configured to respond to determining that the browsed information list of the second user is not is empty, determine the second vector corresponding to the second user's browsed information list; the third determination unit 460 is configured to perform similarity calculations on the second vector and the center vector respectively to determine the similarity with the second vector. the second vector matches the information cluster; and the recommendation unit 470 is configured to recommend the second user based on the determined information cluster.
这里,信息推荐装置400的上述各单元410~470的操作分别与前面描述的步骤210~270的操作类似,在此不再赘述。Here, the operations of the above-mentioned units 410 to 470 of the information recommendation device 400 are respectively similar to the operations of steps 210 to 270 described above, and will not be described again.
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。In the technical solution of this 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.
根据本公开的实施例,还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。According to embodiments of the present disclosure, an electronic device, a readable storage medium, and a computer program product are also provided.
参考图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。Referring to FIG. 5 , a structural block diagram of an electronic device 500 that may serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that may be applied to aspects of the present disclosure. Electronic devices are intended to refer to various forms of digital electronic computing equipment, 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.
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。As shown in FIG. 5 , the electronic device 500 includes a computing unit 501 that can perform calculations 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 . Perform various appropriate actions and processing. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. Computing unit 501, ROM 502 and RAM 503 are connected to each other via bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。Multiple components in the electronic device 500 are connected to the I/O interface 505, including: an input unit 506, an output unit 507, a storage unit 508, and a communication unit 509. The input unit 506 may be any type of device capable of inputting information to the electronic device 500, the input unit 506 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 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 terminal, vibrator, and/or printer. The storage unit 508 may include, but is not limited to, magnetic disks and optical disks. The communication unit 509 allows the electronic device 500 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 Bluetooth™ devices, 802.11 devices, WiFi devices, WiMax devices, cellular communications devices, and/or the like.
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处 理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如方法200。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。 Computing unit 501 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 501 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 that run machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc. Computing unit 501 performs various methods and processes described above, such as method 200. For example, in some embodiments, method 200 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 500 via the ROM 502 and/or the communication unit 509. When the computer program is loaded into RAM 503 and executed by computing unit 501, one or more steps of method 200 described above may be performed. Alternatively, in other embodiments, computing unit 501 may be configured to perform method 200 in any other suitable manner (eg, by means of firmware).
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。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. 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.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。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.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可 读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of this disclosure, 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. More specific examples of 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.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, 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. 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.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。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), the Internet, and blockchain networks.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。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.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that various forms of the process shown above may be used, with steps reordered, added or deleted. For example, each step described in the present disclosure can be executed in parallel, sequentially, or in a different order. As long as the desired results of the technical solution disclosed in the present disclosure can be achieved, there is no limitation here.
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实 施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are only exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples. It is limited only by the granted claims and their equivalent scope. Various elements in the embodiments or examples may be omitted or replaced by equivalent elements thereof. Furthermore, the steps may be performed in a different order than described in this disclosure. Further, various elements in the embodiments or examples may be combined in various ways. Importantly, as technology evolves, many elements described herein may be replaced by equivalent elements appearing after this disclosure.

Claims (13)

  1. 一种信息推荐方法,包括:An information recommendation method includes:
    获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量;Obtain the browsed information lists of multiple first users and the first vector corresponding to each browsed information list;
    对所述多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量;Cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors;
    确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定;Determine one or more information clusters respectively corresponding to the one or more vector clusters, wherein each information cluster is determined according to the browsed information list corresponding to the first vector in the corresponding vector cluster;
    响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表;In response to the second user's browsing request, obtain the second user's browsed information list;
    响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量;In response to determining that the second user's browsed information list is not empty, determining a second vector corresponding to the second user's browsed information list;
    将所述第二向量分别与所述中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及Perform similarity calculations on the second vector and the central vector respectively to determine information clusters matching the second vector; and
    基于所述确定的信息簇对所述第二用户进行推荐。Recommend the second user based on the determined information cluster.
  2. 如权利要求1所述的方法,其中,基于所述确定的信息簇对所述第二用户进行推荐包括:The method of claim 1, wherein recommending the second user based on the determined information cluster includes:
    获取所述确定的信息簇所对应的第一用户的已浏览信息列表;以及Obtain the browsed information list of the first user corresponding to the determined information cluster; and
    基于所述获取第一用户的已浏览信息列表,确定浏览量最多的预定个数信息,以基于所述预定个数信息对所述第二用户进行推荐。Based on the acquisition of the browsed information list of the first user, a predetermined number of information with the largest number of views is determined, so as to recommend the second user based on the predetermined number of information.
  3. 如权利要求1所述的方法,其中,所述第一用户基于以下步骤确定:在预设时间段内将用户按照其浏览信息的数量从高到低进行排序,以将前预设百分位数所对应的用户作为所述第一用户。The method of claim 1, wherein the first user determines based on the following steps: sorting users according to their browsing information quantity from high to low within a preset time period, so as to rank the top preset percentile The user corresponding to the number is regarded as the first user.
  4. 如权利要求1所述的方法,还包括:The method of claim 1, further comprising:
    响应于确定所述第二用户所对应的已浏览信息列表为空,确定所述一个或多个信息簇中的每一个信息簇所对应的信息浏览量;In response to determining that the browsed information list corresponding to the second user is empty, determine the number of information views corresponding to each information cluster in the one or more information clusters;
    确定信息浏览量最高的信息簇,以基于所述确定的信息簇对所述第二用户进行推荐。Determine the information cluster with the highest information browsing volume, so as to recommend the second user based on the determined information cluster.
  5. 如权利要求1所述的方法,其中,所述已浏览信息列表包括相应用户已浏览信息的信息标识。The method of claim 1, wherein the browsed information list includes information identification of the corresponding user's browsed information.
  6. 一种信息推荐装置,包括:An information recommendation device including:
    第一获取单元,配置为获取多个第一用户的已浏览信息列表以及每个已浏览信息列表所对应的第一向量;A first acquisition unit configured to acquire browsed information lists of multiple first users and first vectors corresponding to each browsed information list;
    聚类单元,配置为对所述多个第一用户所对应的第一向量进行聚类,以获得一个或多个向量簇及其中心向量;A clustering unit configured to cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors;
    第一确定单元,配置为确定与所述一个或多个向量簇分别对应的一个或多个信息簇,其中每个信息簇根据相对应的向量簇中的第一向量所对应的已浏览信息列表确定;A first determining unit configured to determine one or more information clusters respectively corresponding to the one or more vector clusters, wherein each information cluster is based on the browsed information list corresponding to the first vector in the corresponding vector cluster. Sure;
    第二获取单元,配置为响应于第二用户的浏览请求,获取所述第二用户的已浏览信息列表;The second acquisition unit is configured to acquire the browsed information list of the second user in response to the browsing request of the second user;
    第二确定单元,配置为响应于确定所述第二用户的已浏览信息列表不为空,确定所述第二用户的已浏览信息列表所对应的第二向量;A second determination unit configured to determine a second vector corresponding to the second user's browsed information list in response to determining that the second user's browsed information list is not empty;
    第三确定单元,配置为将所述第二向量分别与所述中心向量进行相似度计算,以确定与所述第二向量相匹配的信息簇;以及A third determination unit configured to perform similarity calculations on the second vector and the central vector respectively to determine information clusters matching the second vector; and
    推荐单元,配置为基于所述确定的信息簇对所述第二用户进行推荐。A recommendation unit configured to recommend the second user based on the determined information cluster.
  7. 如权利要求6所述的装置,其中,所述推荐单元包括:The device of claim 6, wherein the recommendation unit includes:
    第三获取单元,配置为获取所述确定的信息簇所对应的第一用户的已浏览信息列表;以及A third acquisition unit configured to acquire the browsed information list of the first user corresponding to the determined information cluster; and
    第四确定单元,配置为基于所述获取第一用户的已浏览信息列表,确定浏览量最多的预定个数信息,以基于所述预定个数信息对所述第二用户进行推荐。The fourth determining unit is configured to determine a predetermined number of pieces of information with the most views based on the obtained list of browsed information of the first user, so as to recommend the second user based on the predetermined number of pieces of information.
  8. 如权利要求6所述的装置,其中,所述第一用户基于以下步骤确定:在预设时间段内将用户按照其浏览信息的数量从高到低进行排序,以将前预设百分位数所对应的用户作为所述第一用户。The device of claim 6, wherein the first user determines based on the following steps: sorting users according to their browsing information quantity from high to low within a preset time period, so as to rank the top preset percentile The user corresponding to the number is regarded as the first user.
  9. 如权利要求6所述的装置,还包括:The device of claim 6, further comprising:
    第五确定单元,配置为响应于确定所述第二用户所对应的已浏览信息列表为空,确定所述一个或多个信息簇中的每一个信息簇所对应的信息浏览量;The fifth determination unit is configured to determine the number of information views corresponding to each information cluster in the one or more information clusters in response to determining that the browsed information list corresponding to the second user is empty;
    第六确定单元,配置为确定信息浏览量最高的信息簇,以基于所述确定的信息簇对所述第二用户进行推荐。The sixth determination unit is configured to determine the information cluster with the highest information browsing volume, so as to recommend the second user based on the determined information cluster.
  10. 如权利要求6所述的装置,其中,所述已浏览信息列表包括相应用户已浏览信息的信息标识。The device of claim 6, wherein the browsed information list includes information identifiers of corresponding user-browsed information.
  11. 一种电子设备,包括:An electronic device including:
    至少一个处理器;以及at least one processor; and
    与所述至少一个处理器通信连接的存储器;其中a memory communicatively connected to the at least one processor; wherein
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform any one of claims 1-5. Methods.
  12. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method according to any one of claims 1-5.
  13. 一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-5中任一项所述的方法。A computer program product comprising a computer program, wherein the computer program implements the method of any one of claims 1-5 when executed by a processor.
PCT/CN2022/121332 2022-06-15 2022-09-26 Information recommendation method and apparatus, electronic device, and medium WO2023240833A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210680752.1 2022-06-15
CN202210680752.1A CN114880580A (en) 2022-06-15 2022-06-15 Information recommendation method and device, electronic equipment and medium

Publications (1)

Publication Number Publication Date
WO2023240833A1 true WO2023240833A1 (en) 2023-12-21

Family

ID=82681797

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/121332 WO2023240833A1 (en) 2022-06-15 2022-09-26 Information recommendation method and apparatus, electronic device, and medium

Country Status (2)

Country Link
CN (1) CN114880580A (en)
WO (1) WO2023240833A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880580A (en) * 2022-06-15 2022-08-09 北京百度网讯科技有限公司 Information recommendation method and device, electronic equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126669A (en) * 2016-06-28 2016-11-16 北京邮电大学 User collaborative based on label filters content recommendation method and device
US20210027178A1 (en) * 2019-07-26 2021-01-28 Ricoh Company, Ltd. Recommendation method and recommendation apparatus based on deep reinforcement learning, and non-transitory computer-readable recording medium
CN112395487A (en) * 2019-08-14 2021-02-23 腾讯科技(深圳)有限公司 Information recommendation method and device, computer-readable storage medium and electronic equipment
CN113411645A (en) * 2021-06-16 2021-09-17 北京百度网讯科技有限公司 Information recommendation method and device, electronic equipment and medium
CN114880580A (en) * 2022-06-15 2022-08-09 北京百度网讯科技有限公司 Information recommendation method and device, electronic equipment and medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886300A (en) * 2019-01-17 2019-06-14 北京奇艺世纪科技有限公司 A kind of user's clustering method, device and equipment
CN109918150A (en) * 2019-03-11 2019-06-21 北京城市网邻信息技术有限公司 A kind of personal page preloading method and system based on user behavior
CN112989179B (en) * 2019-12-13 2023-07-28 北京达佳互联信息技术有限公司 Model training and multimedia content recommendation method and device
CN111523964A (en) * 2020-03-25 2020-08-11 北京三快在线科技有限公司 Clustering-based recall method and apparatus, electronic device and readable storage medium
CN113704596A (en) * 2020-05-21 2021-11-26 北京沃东天骏信息技术有限公司 Method and apparatus for generating a set of recall information
CN112528164B (en) * 2020-12-14 2023-02-03 中国建设银行股份有限公司 User collaborative filtering recall method and device
CN112559868A (en) * 2020-12-17 2021-03-26 广州博冠信息科技有限公司 Information recall method and device, storage medium and electronic equipment
CN113205383A (en) * 2021-05-07 2021-08-03 中山市云经纪网络科技有限公司 Intelligent house property recommendation method and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126669A (en) * 2016-06-28 2016-11-16 北京邮电大学 User collaborative based on label filters content recommendation method and device
US20210027178A1 (en) * 2019-07-26 2021-01-28 Ricoh Company, Ltd. Recommendation method and recommendation apparatus based on deep reinforcement learning, and non-transitory computer-readable recording medium
CN112395487A (en) * 2019-08-14 2021-02-23 腾讯科技(深圳)有限公司 Information recommendation method and device, computer-readable storage medium and electronic equipment
CN113411645A (en) * 2021-06-16 2021-09-17 北京百度网讯科技有限公司 Information recommendation method and device, electronic equipment and medium
CN114880580A (en) * 2022-06-15 2022-08-09 北京百度网讯科技有限公司 Information recommendation method and device, electronic equipment and medium

Also Published As

Publication number Publication date
CN114880580A (en) 2022-08-09

Similar Documents

Publication Publication Date Title
US20220286521A1 (en) Method and apparatus, computer device and medium
CN112836072B (en) Information display method and device, electronic equipment and medium
WO2023245938A1 (en) Object recommendation method and apparatus
CN112532748B (en) Message pushing method, device, equipment, medium and computer program product
WO2023142406A1 (en) Ranking method and apparatus, ranking model training method and apparatus, and electronic device and medium
WO2023019948A1 (en) Retrieval method, management method, and apparatuses for multimodal information base, device, and medium
WO2023240833A1 (en) Information recommendation method and apparatus, electronic device, and medium
KR20230006601A (en) Alignment methods, training methods for alignment models, devices, electronic devices and media
CN115114424A (en) Response method and device for query request
WO2024027125A1 (en) Object recommendation method and apparatus, electronic device, and storage medium
WO2023050732A1 (en) Object recommendation method and device
CN113312554B (en) Method and device for evaluating recommendation system, electronic equipment and medium
CN114238745A (en) Method and device for providing search result, electronic equipment and medium
CN114281990A (en) Document classification method and device, electronic equipment and medium
CN115809364B (en) Object recommendation method and model training method
US20230195849A1 (en) Data processing method
CN112559883B (en) Method, apparatus, electronic device and readable medium for evaluating recommendation system
CN115033782B (en) Object recommendation method, training method, device and equipment of machine learning model
US20230044508A1 (en) Data labeling processing
CN115587228A (en) Object query method, object storage method and device
CN114254216A (en) Method and device for providing search result, electronic equipment and medium
CN115203544A (en) Recommendation method and device, electronic device and medium
CN117056460A (en) Document retrieval method, device, electronic equipment and medium
CN118113934A (en) Data processing method, apparatus, electronic device, medium, and program product
CN116304101A (en) Data processing method, device, electronic equipment and medium

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: 22946506

Country of ref document: EP

Kind code of ref document: A1