Information recommendation method and device, electronic device and medium

By clustering user browsing data vectors to identify central vectors and information clusters, the system ensures consistent style recommendations, improving the immersive experience and user engagement.

JP7809225B2Active Publication Date: 2026-01-30BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024572257
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-06-15
Filing Date
2022-09-26
Publication Date
2026-01-30
Estimated Expiration
2042-09-26

AI Technical Summary

Technical Problem

Existing information recommendation systems lack a unified user style-based recall mechanism, leading to inconsistent information styles during consumption, which disrupts the immersive experience and rhythm.

Method used

Cluster vectors corresponding to user browsing data to identify central vectors and information clusters, calculating similarity to recommend information with a consistent style based on these clusters.

Benefits of technology

Provides an immersive information consumption experience by maintaining rhythm and fluency, enhancing user engagement through consistent style recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007809225000001
    Figure 0007809225000001
  • Figure 0007809225000002
    Figure 0007809225000002
  • Figure 0007809225000003
    Figure 0007809225000003
Patent Text Reader

Abstract

The present disclosure provides an information recommendation method, apparatus, electronic device, computer-readable storage medium, and computer program product, relating to the field of computers, and particularly to the field of intelligent recommendation technology. As a realization solution, it includes obtaining a list of viewed information of a plurality of first users and a first vector corresponding to each list of viewed information; clustering the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their central vectors; determining one or more information clusters respectively corresponding to the one or more vector clusters; in response to a viewing request of a second user, obtaining a list of viewed information of the second user; in response to determining that the list of viewed information of the second user is not empty, determining a second vector corresponding to the list of viewed information of the second user; calculating the similarity between each of the second vectors and the central vectors to determine an information cluster that matches the second vector; and performing a recommendation to the second user based on the determined information cluster.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application claims priority to Chinese Patent Application No. 202210680752.1, filed on June 15, 2022, the entire contents of which are incorporated herein by reference in their entirety.

[0002] The present disclosure relates to the computer field, in particular to the field of intelligent recommendation technology, and specifically to an information recommendation method, apparatus, electronic device, computer-readable storage medium and computer program product. [Background technology]

[0003] With the development of Internet technology, the Internet has become an indispensable part of people's lives, and consumption, entertainment, learning, transportation, and financial investment are all inseparable from the Internet. When users browse and jump in different situations, the recall surface still does not have a unified recall based on the user's style, and the recall surface resources may already be inconsistent in style, which cannot bring users immersive information consumption. Summary of the Invention

[0004] The present disclosure provides an information recommendation method, apparatus, electronic device, computer-readable storage medium, and computer program product.

[0005] According to one aspect of the present disclosure, there is provided an information recommendation method, including: 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 to obtain one or more vector clusters and their central vectors; determining one or more information clusters respectively corresponding to the one or more vector clusters, wherein each information cluster is determined based on a browsed information list corresponding to a first vector in a corresponding vector cluster; obtaining the browsed information list of the second user in response to a browsing request of a second user; determining a second vector corresponding to the browsed information list of the second user in response to determining that the browsed information list of the second user is not empty; calculating a similarity between each of the second vectors and the central vector to determine an information cluster matching the second vector; and making a recommendation to the second user based on the determined information cluster.

[0006] According to another aspect of the present invention, there is provided an information recommendation device including: a first acquisition unit configured to acquire browsed information lists of a plurality of 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 acquire one or more vector clusters and their central vectors; a first determination unit configured to determine one or more information clusters respectively corresponding to the one or more vector clusters, where each information cluster is determined based on a browsed information list corresponding to a first vector in a corresponding vector cluster; a second acquisition unit configured to acquire the browsed information lists of the second user in response to a browsing request of the second user; a second determination unit configured to determine a second vector corresponding to 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 third determination unit configured to calculate a similarity between each of the second vectors and the central vector to determine an information cluster matching the second vector; and a recommendation unit configured to make a recommendation to the second user based on the determined information cluster.

[0007] According to another aspect of the present disclosure, there is provided an electronic device including at least one processor and a memory communicatively coupled to the at least one processor, the memory storing instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform a method as described herein.

[0008] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium having stored thereon computer instructions for causing a computer to perform a method as described herein.

[0009] According to another aspect of the present disclosure, there is provided a computer program product including a computer program which, when executed by a processor, implements a method according to the present disclosure.

[0010] According to one or more embodiments of the present disclosure, vectors corresponding to the information already viewed by a user are clustered, and the similarity between the vector corresponding to the information already viewed by the current viewing user and the central vector obtained by clustering is calculated, thereby providing an immersive information consumption experience for the current user and maintaining the sense of rhythm and fluency of the overall information consumption, thereby improving the user's experience.

[0011] It should be understood that the contents described in this section are not intended to identify key or important features of the embodiments of the present disclosure, and are not intended to limit the scope of protection of the present disclosure. Other features of the present disclosure will be easily understood from the following description. [Brief explanation of the drawings]

[0012] The drawings illustratively illustrate examples, constitute a part of the specification, and together with the written description serve to explain exemplary embodiments of the examples. The illustrated examples are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar, but not necessarily identical, elements. [Figure 1] FIG. 1 is a schematic diagram of an exemplary system capable of implementing various methods described herein, according to embodiments of the present disclosure. [Figure 2] 1 is a flowchart of an information recommendation method according to an embodiment of the present disclosure. [Figure 3] FIG. 1 is a schematic diagram of an information viewing page according to an embodiment of the present disclosure. [Figure 4] FIG. 1 is a block diagram illustrating a configuration of an information recommendation device according to an embodiment of the present disclosure. [Figure 5] FIG. 1 is a block diagram of an exemplary electronic device that may be used to implement embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0013]

[0023] The following description will be made in conjunction with the drawings to illustrate exemplary embodiments of the present disclosure. Various details of the embodiments of the present disclosure are included to facilitate understanding and should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, the following description omits descriptions of known functions and structures.

[0014] In this disclosure, unless otherwise specified, the use of terms such as "first," "second," etc. to describe various elements is not intended to limit the location, timing, or importance of these elements. Such terms are used only to distinguish one element from another. In some instances, a first element and a second element may refer to the same instance of an element, or in some cases, may refer to different instances based on the context.

[0015] The terms used in the description of various examples of the present disclosure are intended only to describe particular examples and are not intended to be limiting. Unless the context clearly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any and all possible combinations of the listed items.

[0016] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

[0017] 1 illustrates a schematic diagram of an exemplary system 100 in which various methods and apparatus described herein may be implemented, according to embodiments of the present disclosure. Referring to FIG. 1, the system 100 includes one or more client devices 101, 102, 103, 104, 105, 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 may be configured to run one or more applications.

[0018] In an embodiment of the present disclosure, the server 120 may execute one or more services or software applications that enable the execution of information recommendation methods.

[0019] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtualized and virtualized environments. In some embodiments, these services may be provided as web-based or cloud services, for example, provided to users of client devices 101, 102, 103, 104, 105, and / or 106 in a Software as a Service (SaaS) model.

[0020] In the arrangement shown in FIG. 1 , server 120 may include one or more units that implement the functions performed by server 120. These units may include software units, hardware units, or a combination thereof, executable on one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may interact with server 120 using one or more client applications to utilize the services provided by these units. It should be understood that a variety of different system configurations are possible and may differ from system 100. Thus, FIG. 1 is intended to be illustrative and not limiting of a system for implementing various methods described herein.

[0021] A user can view the corresponding information using client devices 101, 102, 103, 104, 105, and / or 106. The client devices can provide an interface through which a user of the client device interacts with the client device. The client devices can also output information to the user through the interface. Although only six client devices are shown in FIG. 1, one skilled in the art will understand that the present disclosure can support any number of client devices.

[0022] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computing devices, such as portable handheld devices, general-purpose computers (e.g., personal computers or laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors, or other sensing devices. These computing devices may run various types and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux or Linux-like operating systems (e.g., Google Chrome OS), or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include mobile phones, intelligent phones, tablets, personal digital assistants (PDAs), and the like. Wearable devices may include head-mounted displays (e.g., smart glasses) and other devices. Gaming systems may include various handheld gaming devices, Internet-enabled gaming devices, and the like. The client device may run a variety of applications, such as Internet-related applications, communication applications (eg, email applications), and short message service (SMS) applications, and may use a variety of communication protocols.

[0023] Network 110 may be any type of network known to those skilled in the art, which may use any one of several available protocols to support data communications (including, but not limited to, TCP / IP, SNA, IPX, etc.) By way of example, one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token loop, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0024] Server 120 may include one or more general-purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframes, server clusters, or any other suitable arrangement and / or combination. Server 120 may also include one or more virtual machines running a virtual operating system or other computing architecture involving virtualization (e.g., one or more flexible pools of virtualized logical storage devices to maintain the server's virtual storage). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0025] The computing units in server 120 may run one or more operating systems, including any of the operating systems listed above and any commercial server operating system. Server 120 may also run any one of a variety of additional server and / or middle-tier applications, such as an HTTP server, an FTP server, a CGI server, a JAVA server, a database server, etc.

[0026] In some embodiments, server 120 may include one or more applications for analyzing and consolidating data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may include one or more applications for displaying data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.

[0027] In some embodiments, server 120 may be a server in a distributed system or a server incorporating blockchain. Server 120 may be a cloud server, or an intelligent cloud computing server or intelligent cloud host equipped with artificial intelligence technology. A cloud server is a host product in a cloud computing service system that solves the drawbacks of traditional physical hosts and virtual private server (VPS) services, such as high management difficulty and poor business scalability.

[0028] System 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data or other information. For example, one or more of databases 130 may be used to store information to be recommended. Databases 130 may be located in a variety of locations. For example, a database used by server 120 may be local to server 120 or may be remote from server 120 and in communication with server 120 over a network or dedicated connection. Databases 130 may be of a variety of types. In some embodiments, a database used by server 120 may be a relational database. One or more of these databases may store, update, and retrieve databases and data from the databases in response to instructions.

[0029] In some embodiments, one or more of databases 130 may be used by an application to store data for the application. The databases used by the application may be various types of databases, such as key-value repositories, object repositories, or general-purpose repositories supported by a file system.

[0030] The system 100 of FIG. 1 can be configured and operated in a variety of ways to accommodate the various methods and apparatus described in accordance with this disclosure.

[0031] Recommendation systems are usually divided into three stages: recall, sorting, and fusion. The recall stage mainly performs recall based on different dimensions such as user relevance, information recency, and locality. The sorting stage mainly scores and sorts based on clicks, interactivity, and time length. The final fusion stage adjusts the entire array based on diversity and context.

[0032] For users, the entire viewing information is an overall perception based on history and context. In addition to the current information, the previous and following information and the user's viewing history are all strongly perceived by users. In particular, the perception of the overall style is even stronger in different scenes. For example, in a two-hop scene of an information stream, users click from one information to the two-hop channel, which gives users a more immersive consumption experience and further emphasizes the rhythm and fluency of the overall consumption, thereby emphasizing the overall style during immersive consumption.

[0033] Currently, the sorting stage performs overall style sorting based on goals such as clicks, time length, or interactivity, but the recall stage does not have a unified user style-based recall, so the information style in the recall stage is inconsistent, making it difficult to unify the style in the subsequent sorting stage. Therefore, how to achieve information recall with a unified style is the key.

[0034] An embodiment of the present disclosure provides an information recommendation method, including: 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 to obtain one or more vector clusters and their central vectors; determining one or more information clusters respectively corresponding to the one or more vector clusters, where each information cluster is determined based on a browsed information list corresponding to a first vector in a corresponding vector cluster; obtaining the browsed information list of the second user in response to a browsing request of a second user; determining a second vector corresponding to the browsed information list of the second user in response to determining that the browsed information list of the second user is not empty; calculating the similarity between each of the second vectors and the central vector to determine an information cluster matching the second vector; and making a recommendation to the second user based on the determined information cluster.

[0035] According to an embodiment of the present disclosure, vectors corresponding to the information already viewed by a user are clustered, and the similarity between the vector corresponding to the information already viewed by the current viewing user and the central vector obtained by clustering is calculated, thereby providing an immersive information consumption experience for the current user and maintaining the rhythm and fluency of the overall information consumption, thereby improving the user experience.

[0036] 2 is a flowchart of an information recommendation method according to an embodiment of the present disclosure. As shown in FIG. 2, in step 210, a plurality of first users' browsed information lists and a first vector corresponding to each browsed information list are obtained.

[0037] According to some embodiments, the first user is an active user, which can be determined by sorting users in a predetermined time period from highest to lowest according to the amount of information they view, and determining the user corresponding to the previous predetermined percentile as the first user.

[0038] In the present disclosure, recommended information includes, but is not limited to, content such as pictures, text, videos, and products. In addition, in some examples, the information to be recommended may belong to different information categories, such as entertainment, news, and sports. Therefore, active users in different categories can be selected as first users. Specifically, during a preset time period, users in each category are sorted in order from highest to lowest number of viewed information, and the first users are selected as users corresponding to a top preset percentile (e.g., the top 5%).

[0039] It should be understood that other methods of determining the first user are possible, such as a user whose number of views exceeds a predetermined threshold within a predetermined time period, and are not limited thereto.

[0040] According to some embodiments, the viewed information list includes information identifiers of the viewed information of the corresponding user, so that, based on the information identifier set corresponding to each user, a vector representation corresponding to the information identifier set can be determined.

[0041] In some embodiments, a vector corresponding to the list of viewed information can be obtained by a pre-trained model. For example, a double-tower model is set to be trained, and information viewed by the same user is randomly divided into two groups and input into the two towers as positive samples, while information viewed by different users is input into the two towers as negative samples. The parameters of the two towers are shared, and a double-tower model that outputs a vector corresponding to the list of viewed information is trained and obtained.

[0042] It should be understood that other methods of obtaining vectors corresponding to the viewed information list are possible and are not limited herein.

[0043] In step 220, the first vectors corresponding to the multiple first users are clustered to obtain one or more vector clusters and their center vectors.

[0044] In the example where the information to be recommended belongs to different information categories, vectors corresponding to multiple first users may be clustered for each information category. Specifically, for the entertainment category, vectors corresponding to the browsing lists of the active users may be clustered to obtain one or more clusters and central vectors corresponding to each cluster. The other information categories are similar, so they will not be repeated here.

[0045] In some examples, vectors corresponding to the first user in multiple information categories may be clustered simultaneously, but are not limited to this. Also, in the present disclosure, the first vectors may be clustered based on any suitable algorithm, including but not limited to the Kmeans algorithm.

[0046] In step 230, one or more information clusters respectively corresponding to the one or more vector clusters are determined, where each information cluster is determined based on the viewed information list corresponding to the first vector in the corresponding vector cluster.

[0047] In some examples, after clustering the first vectors corresponding to multiple first users, one or more vector clusters are obtained, and each vector cluster corresponds to one or more first vectors. Also, each first vector corresponds to a set of browsing lists of the first users, and therefore, one or more information clusters corresponding to the first vectors or the plurality of vector clusters can be determined based on the corresponding browsing lists of the first users.

[0048] In step 240, in response to a browsing request from a second user, obtain a browsed information list of the second user. In step 250, in response to determining that the browsed information list of the second user is not empty, determine a second vector corresponding to the browsed information list of the second user.

[0049] Exemplarily, the second user's browsing request may be a user's browsing action (e.g., a sliding action on a touch screen), a jump action after clicking on certain information, etc. As shown in Figure 3, the user browses information A, B, C, D, ... in a browsing page, clicks on information B, and triggers a page jump based on information B to jump to a browsing page including information B, E, F, G, ....

[0050] In order for the page after the jump to provide the user with an immersive information consumption experience and 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 relatively consistent overall style in order to improve the user experience.

[0051] In order to recall information with a relatively consistent overall style, specifically, in step 260, the similarity between each second vector and the central vector is calculated to determine an information cluster that matches the second vector, and then in step 270, recommendations are made to the second user based on the determined information cluster.

[0052] In the present disclosure, the similarity between the second vector and the center vectors of the clusters obtained by clustering can be calculated using any suitable algorithm, including but not limited to the annoy algorithm, to determine one or more clusters that are closest to the second vector.

[0053] In the above example where the information to be recommended belongs to different information categories, the similarity between the second vector and the central vector of each cluster in all information categories can be calculated, and information clusters that match the second vector can be determined in the clusters corresponding to all information categories.

[0054] In some examples, the information clusters matching the second vector may be clusters whose similarity is greater than a predetermined threshold, or may be a predetermined number of clusters whose similarity is highest, but this is not limited thereto.

[0055] In some embodiments, making a recommendation to the second user based on the determined information cluster may include obtaining a list of viewed information of the first user corresponding to the determined information cluster; determining a predetermined number of pieces of information that have been viewed the most based on the obtained list of viewed information of the first user; and making a recommendation to the second user based on the predetermined number of pieces of information.

[0056] Specifically, the list of information viewed by first user A in the determined information cluster is {A1, A2, A3, A4}, the list of information viewed by first user B is {A1, A2, B1, B2}, and the list of information viewed by first user C is {B1, A2, B3, B4}. After collecting statistics on the lists of information viewed by first users A, B, and C corresponding to the information cluster, it can be determined that information A1 has been viewed twice, information A2 has been viewed three times, information B1 has been viewed twice, and all other information has been viewed once. Therefore, after collecting statistics on the information viewed by all first users in the determined information cluster, a predetermined number of pieces of information with the most number of views can be determined, and recommendations can be made to second users based on this predetermined number of pieces of information.

[0057] According to some embodiments, the method of the present disclosure may further include, in response to determining that the viewed information list corresponding to the second user is empty, determining an information viewing volume corresponding to each information cluster in the one or more information clusters, determining an information cluster with the highest information viewing volume, and making a recommendation to the second user based on the determined information cluster.

[0058] If the list of viewed information corresponding to the second user is empty (e.g., the second user is a new user), information in the most active cluster can be directly recommended to the user. Specifically, the amount of information viewed corresponding to each information cluster can be determined based on the above-mentioned method. For example, if an information cluster includes information A1, B1, ..., N1, and statistically determines that information A1 has been viewed a total of a times, information B1 a total of b times, ..., and information N1 a total of c times, the amount of viewing corresponding to the information cluster is a + b + ... + c. Therefore, the information cluster with the highest amount of information viewed in the one or more information clusters is determined and recommended to the second user.

[0059] According to an embodiment of the present disclosure, an information recommendation device 400 is also provided, as shown in FIG. 4 , including: a first obtaining unit 410 configured to obtain browsed information lists of a plurality of first users and first vectors corresponding to each browsed information list; a clustering unit 420 configured to cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors; and determine one or more information clusters respectively corresponding to the one or more vector clusters, where each information cluster is determined based on the browsed information list corresponding to the first vector in the corresponding vector cluster. a second obtaining unit 440 configured to obtain a browsed information list of the second user in response to a browsing request of the second user; a second determining unit 450 configured to determine a second vector corresponding to 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 third determining unit 460 configured to calculate a similarity between each of the second vectors and the central vector to determine information clusters matching the second vectors; and a recommendation unit 470 configured to make recommendations to the second user based on the determined information clusters.

[0060] Here, the operations of the above units 410 to 470 of the information recommendation device 400 are similar to the operations of the above steps 210 to 270, respectively, and therefore will not be described here.

[0061] In the technical solution disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of relevant user personal information shall all comply with the provisions of relevant laws and regulations and shall not violate public order and morals.

[0062] According to embodiments of the present disclosure, an electronic device, a readable storage medium, and a computer program product are further provided.

[0063] Referring to FIG. 5 , a block diagram illustrating the configuration of an electronic device 500 that can be used as a server or client of the present disclosure, which is an example of a hardware device applicable to various aspects of the present disclosure, is described below. The electronic device may represent various forms of digital electronic computers, such as laptop computers, desktop computers, stage computers, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing devices, mobile phones, smartphones, wearable devices, and other similar computing devices. The components, their connections, and their functions shown herein are merely exemplary and do not limit the implementation of the present disclosure as described and / or claimed herein.

[0064] 5, electronic device 500 includes a computing unit 501, which can perform various appropriate operations and processes 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. RAM 503 may further store various programs and data necessary for operating electronic device 500. Computing unit 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to bus 504.

[0065] The components of the electronic device 500 are connected to an I / O interface 505, which includes 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 into the electronic device 500. The input unit 506 can input numeric or character information and generate key signal inputs related to user settings and / or function control of the electronic device, and may include, but is not limited to, a mouse, keyboard, touchscreen, trackboard, trackball, control lever, microphone, and / or remote control. The output unit 507 may be any type of device capable of presenting information, and may include, but is not limited to, a display, speaker, video / audio output terminal, vibrator, and / or printer. The storage unit 508 may include, but is not limited to, a magnetic disk or an optical disk. The communication unit 509 enables the electronic device 500 to exchange information / data with other devices via a computer network, e.g., 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 chipset, e.g., a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0066] The computing unit 501 may be various general-purpose and / or special-purpose processing components having processing and computing capabilities. Some examples of the computing unit 501 may 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 execute machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 executes each of the methods and processes described above, such as method 200. For example, in some embodiments, method 200 may be implemented as a computer software program and tangibly included in a machine-readable medium, such as the storage unit 508. In some embodiments, some or all of the computer program may be loaded and / or installed in the electronic device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, it may perform one or more steps of method 200 described above. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the method 200 in any other suitable manner (eg, by firmware).

[0067] Various embodiments of the systems and techniques described herein may be implemented in digital electronic circuitry systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include being embodied in one or more computer programs that may be executed and / or interpreted by a programmable system including at least one programmable processor, which may be a special purpose or general purpose programmable processor, and may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0068] Program code 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, a special-purpose computer, or other programmable data processing apparatus, so that when executed by the processor or controller, the program code performs the functions / operations specified in the flowcharts and / or block diagrams. The program code may be entirely executed on a machine, partially executed on a machine, partially executed on a machine and partially executed on a remote machine as a separate software package, or entirely executed on a remote machine or server.

[0069] In the context of this disclosure, a machine-readable medium may be a tangible medium, and may include or store a program for use in or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include an electrical connection with one or more leads, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0070] To provide for user interaction, a computer may implement the systems and techniques described herein and include a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor) for displaying information to a user, and a keyboard and pointing device (e.g., a mouse or trackball) through which a user may provide input to the computer. Other types of devices may also be used to provide for user interaction. For example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or haptic feedback), and input from the user may be received in any form (including sound, speech, or tactile input).

[0071] The systems and techniques described herein may be implemented in a computing system including backstage components (e.g., as a data server), middleware components (e.g., as an application server), front-end components (e.g., a user computer having a graphical user interface or web browser through which a user can interact with the system or technique implementation), or any combination of backstage components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0072] The computer system may include a client and a server. The client and the server are generally remote from each other and usually interact via a communication network. The client-server relationship is created by running computer programs on corresponding computers. The server may be a cloud server, a server in a distributed system, or a server combined with a blockchain.

[0073] It should be understood that the various forms of flow described above may be used to rearrange, add, or remove steps, and for example, the steps described in this disclosure may be performed in parallel, sequentially, or in a different order, as long as the technical solutions disclosed in this disclosure can achieve the desired results, and the present disclosure is not limited thereto.

[0074] Although embodiments or examples of the present disclosure have been described with reference to the drawings, it should be understood that the above-described methods, systems, and devices are merely exemplary embodiments or examples, and that the scope of the present invention is not limited by these embodiments or examples, but only by the appended claims and their equivalents. Various elements of the embodiments or examples may be omitted or replaced by their equivalents. Furthermore, steps may be performed in a different order than described in this disclosure. Furthermore, various elements of the embodiments or examples may be combined in various ways. Importantly, as technology evolves, many elements described herein may be replaced by equivalent elements that appear later in this disclosure.

Claims

1. A computer-implemented information recommendation method, comprising: The computer acquires a list of browsed information of a plurality of first users and a first vector corresponding to each of the browsed information lists, and the plurality of first users acquires the browsed information lists and the first vectors determined by the steps of: sorting users in a predetermined time period from highest to lowest according to the quantity of browsed information, and selecting users corresponding to the previous predetermined percentile as the plurality of first users; Clustering, by the computer, the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their central vectors; determining, by the computer, one or more information clusters respectively corresponding to the one or more vector clusters, wherein each information cluster is determined based on a browsed information list corresponding to a first vector in the corresponding vector cluster; acquiring, by the computer, a list of information that has been viewed by the second user in response to a viewing request from the second user; determining, by the computer, in response to determining that the second user's viewed information list is not empty, a second vector corresponding to the second user's viewed information list; calculating, by the computer, a similarity between each of the second vectors and the central vector to determine an information cluster that matches the second vector; and making, by the computer, a recommendation to the second user based on the determined information clusters.

2. Providing a recommendation to the second user based on the determined information clusters Obtaining a list of viewed information of the first user corresponding to the determined information cluster; The method of claim 1, further comprising determining a predetermined number of pieces of information that have been most frequently viewed based on the obtained list of viewed information of the first user, and making recommendations to the second user based on the predetermined number of pieces of information.

3. In response to determining that the browsed information list corresponding to the second user is empty, determine an information browse amount corresponding to each information cluster in the one or more information clusters; The method of claim 1 , further comprising: determining an information cluster with the highest information browsing volume; and making a recommendation to the second user based on the determined information cluster.

4. The method of claim 1 , wherein the viewed information list includes information identifiers of the viewed information of the corresponding user.

5. An information recommendation device, A first acquisition unit configured to acquire browsed information lists of a plurality of first users and a first vector corresponding to each browsed information list, wherein the plurality of first users are determined by sorting users in a predetermined time period from highest to lowest according to the quantity of browsed information, and selecting users corresponding to a previous predetermined percentile as the plurality of first users; a clustering unit configured to cluster first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their center vectors; a first determination unit configured to determine one or more information clusters respectively corresponding to the one or more vector clusters, where each information cluster is determined based on a browsed information list corresponding to a first vector in the corresponding vector cluster; a second acquiring unit configured to acquire a list of browsed information of the second user in response to a browsing request of the second user; a second determining 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; and a third determination unit configured to calculate a similarity between each of the second vectors and the central vector to determine an information cluster matching the second vector; a recommendation unit configured to make a recommendation to the second user based on the determined information clusters.

6. The recommendation unit is a third acquiring unit configured to acquire a first user's browsed information list corresponding to the determined information cluster; The device of claim 5, further comprising: a fourth determination unit configured to determine a predetermined number of pieces of information that are most frequently viewed based on the obtained list of viewed information of the first user, and to make recommendations to the second user based on the predetermined number of pieces of information.

7. a fifth determining unit configured to determine an information browsing amount corresponding to the one or more information clusters in response to determining that the browsed information list corresponding to the second user is empty; The device of claim 5 , further comprising: a sixth determining unit configured to determine an information cluster with the highest information browsing volume, and make a recommendation to the second user based on the determined information cluster.

8. The apparatus of claim 5 , wherein the viewed information list includes information identifiers of the viewed information of the corresponding user.

9. An electronic device, at least one processor; a memory communicatively coupled to the at least one processor; The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 4.

10. A non-transitory computer-readable storage medium having stored thereon computer instructions for causing a computer to carry out the method of any one of claims 1 to 4.

11. A computer program which, when executed by a processor, implements the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • An E-commerce Information Recommendation Method for Smart Communities

    CN106651546B

  • User clustering method, device and equipment

    CN109886300A

  • Personalized page preloading method and system based on user behaviors

    CN109918150A

  • Information recommendation method and device, electronic equipment and medium

    CN113411645A

  • Content recommendation device and content recommendation method

    JP2011257917A