Information recommendation method and apparatus, electronic device, and medium
By clustering user information vectors to identify central vectors and calculate similarity for personalized recommendations, the system addresses inconsistent styles, ensuring a unified and immersive information consumption experience.
Patent Information
- Application Number
- JP2024572257
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-15
- Filing Date
- 2022-09-26
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2042-09-26
AI Technical Summary
Existing information recommendation systems lack a unified user style for recall, leading to inconsistent information styles and difficulty in unifying styles in subsequent sorting stages, which disrupts the immersive and fluent consumption experience.
Cluster vectors corresponding to user information to identify central vectors and information clusters, calculate similarity with user vectors for personalized recommendations, ensuring consistent information style across recommendations.
Provides an immersive information consumption experience by maintaining rhythm and fluency, enhancing user experience through consistent information style recommendations.
Smart Images

Figure 2025522372000001_ABST
Abstract
Description
Technical Field
[0001] [Cross - reference to Related Applications] This application claims the priority of Chinese Patent Application No. 202210680752.1 filed on June 15, 2022, and all of its content is incorporated herein by reference in its entirety.
[0002] This disclosure relates to the field of computers, and in particular, to the field of intelligent recommendation technology. Specifically, it relates to an information recommendation method, apparatus, electronic device, computer - readable storage medium, and computer program product.
Background Art
[0003] With the development of Internet technology, the Internet has already become an indispensable part of people's lives. Consumption, entertainment, learning, travel, and fintech in people's lives are inseparable from the Internet. When users browse and jump in different scenarios, there is still no recall based on a unified user style on the recall side, and the resources on the recall side may already have inconsistent styles. It cannot bring immersive information consumption to users.
Summary of the Invention
[0004] This 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, obtaining a list of viewed information of a plurality of first users and first vectors 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, where each information cluster is determined based on the list of viewed information corresponding to the first vector in the corresponding vector cluster; obtaining the list of viewed information of the second user in response to the viewing request of the second user; determining a second vector corresponding to the 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; calculating the similarity between each of the second vectors and the central vector to determine an information cluster that matches the second vector; and providing an information recommendation method including making a recommendation to the second user based on the determined information cluster.
[0006] According to another aspect of the present invention, a first acquisition unit configured to acquire a list of viewed information of a plurality of first users and a first vector corresponding to each viewed 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 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 the viewed information list corresponding to the first vector in the corresponding vector cluster; a second acquisition unit configured to acquire the viewed information list of the second user in response to the viewing request of the second user; a second determination unit configured to determine a second vector corresponding to the viewed information list of the second user in response to determining that the viewed information list of the second user is not empty; a third determination unit configured to calculate the 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 perform a recommendation to the second user based on the determined information cluster. An information recommendation device is provided.
[0007] According to another aspect of the present disclosure, an electronic device including at least one processor and a memory communicatively connected to the at least one processor, where the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in the present disclosure.
[0008] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the method described in the present disclosure is provided.
[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 the method described in the present disclosure.
[0010] According to one or more embodiments of the present disclosure, vectors corresponding to information browsed by a user are clustered, and the similarity between the vector corresponding to the information browsed by the current browsing user and the central vector obtained by clustering is calculated, so as to provide an immersive information consumption experience for the current user, maintain the rhythm and fluency of the overall information consumption, and improve the user experience.
[0011] It should be understood that the content described in this part is not intended to identify the key points or important features of the embodiments of the present disclosure, nor is it intended to limit the protection scope of the present disclosure. Other features of the present disclosure will be easily understood from the following description.
Brief Description of the Drawings
[0012] The drawings illustrate embodiments by way of example, form a part of the specification, and are used together with the written description of the specification to explain exemplary embodiments of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. In all the drawings, the same reference numerals refer to elements that are similar but not necessarily identical.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Best Mode for Carrying Out the Invention
[0013] Exemplary embodiments of the present disclosure will be described below with reference to the drawings. The various details in the embodiments of the present disclosure included therein are for assisting in understanding, and they 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 brevity, descriptions of known functions and structures are omitted in the following description.
[0014] In the present disclosure, unless otherwise specified, the use of terms such as "first" and "second" for describing various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of these elements. Such terms are used only to distinguish one element from another. In some examples, the first element and the second element may refer to the same example of the element, and in some cases, they may refer to different examples based on the context description.
[0015] The terms used in the description of the various examples of the present disclosure are for the purpose of describing a specific example only and are not intended to be limiting. Unless otherwise clearly indicated in the context, if the number of elements is not particularly limited, an element may be one or more. Note that the term "and / or" used in the present disclosure covers any one of the listed items and all possible combinations.
[0016] Embodiments of the present disclosure will be described in detail below with reference to the drawings.
[0017] FIG. 1 shows a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein can be implemented, according to an embodiment 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 can be configured to execute one or more applications.
[0018] In an embodiment of the present disclosure, the server 120 can execute one or more services or software applications that enable the execution of an information recommendation method.
[0019] In some embodiments, the server 120 can also provide other services or software applications that can include a non-virtual environment and a virtual environment. In some embodiments, these services can be provided as web-based services or cloud services, for example, provided to users of the 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 functions executed by server 120. These units may include software units, hardware units, or combinations thereof that can be executed by one or more processors. A user operating client devices 101, 102, 103, 104, 105, and / or 106 can interact with server 120 using one or more client applications to utilize the services provided by these units. It should be understood that various different system configurations are possible and may differ from system 100. Therefore, FIG. 1 is an example of a system for implementing various methods described herein and is not intended to be limiting.
[0021] The user can view corresponding information using client devices 101, 102, 103, 104, 105, and / or 106. The client device can provide an interface for 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 only six client devices are illustrated in FIG. 1, as will be understood by those skilled in the art, 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 computer devices such as portable handheld devices, general-purpose computers (e.g., personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, game systems, thin clients, various messaging devices, sensors, or other detection devices. 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 (e.g., GOOGLE Chrome OS), or can include various mobile operating systems such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include mobile phones, smartphones, tablets, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (e.g., smart glasses) and other devices. Game systems may include various handheld game devices, Internet-enabled game devices, etc. Client devices can, for example, run Internet-related applications, communication applications (e.g., email applications), short message service (SMS) applications, and can execute various applications and use various communication protocols.
[0023] Network 110 may be any type of network known to those skilled in the art, and it can use any one of a plurality of available protocols (including but not limited to TCP / IP, SNA, IPX, etc.) to support data communication. By way of example, 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, 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, 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 that execute a virtual operating system, or other computing architectures related to virtualization (e.g., one or more flexible pools of virtualized logical storage devices to maintain virtual storage of the server). In various embodiments, server 120 can execute one or more services or software applications that provide the functions described below.
[0025] The computing unit in server 120 can execute one or more operating systems including any of the above-described operating systems and any commercial server operating systems. Server 120 can also execute any one of various additional server applications and / or middleware 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 integrating 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 of a distributed system or a server incorporating a 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, which solves the defects of high management difficulty and weak business scalability existing in conventional physical hosts and virtual private server (VPS) services.
[0028] System 100 may also include one or more databases 130. In some embodiments, these databases can be used to store data and other information. For example, one or more of databases 130 can be used to store information to be recommended. Databases 130 can be located in various positions. For example, the database used by server 120 may be local to server 120 or communicate with server 120 via a network or a dedicated connection away from server 120. Databases 130 can be of various types. In some embodiments, the database used by server 120 may be a relational database. One or more of these databases can store, update, and retrieve data from the database in response to instructions.
[0029] In some embodiments, one or more of the databases 130 can be used by an application and can also store the data of the application. The databases used by the application can be various types of databases, such as a key - value repository, an object repository, or a general - purpose repository supported by a file system.
[0030] The system 100 of FIG. 1 can be configured and operated in various ways so as to apply the various methods and apparatuses described based on the present disclosure.
[0031] In a recommendation system, it is usually divided into three stages: recall, sorting, and fusion. The recall stage mainly performs recall based on different dimensions such as user relevance, information freshness, and local sense. The sorting stage mainly scores and sorts with the goals such as clicks, interactivity, and time duration. The last fusion stage performs overall arrangement adjustment based on diversity and context.
[0032] For a user, the entire browsing information is a holistic perception based on history and context. In addition to the current information, the previous and subsequent information and the historical information browsed by the user all have a strong perception on the user. Especially, the perception of the overall painting style in different scenes is even stronger. For example, in the 2 - hop scene of an information stream, the user clicks on a 2 - hop channel from one piece of information and enters it. The channel gives the user a more immersive consumption experience, further emphasizing the overall rhythm and fluency of consumption, thus emphasizing the overall painting style during immersive consumption more.
[0033] Currently, in the sorting stage, sorting is performed on the overall style based on goals such as clicks, duration, or interactivity. However, in the recall stage, there is no recall based on a unified user painting style, so the information styles in the recall stage do not match, making it difficult to unify the styles in the subsequent sorting stage. Therefore, the key lies in how to perform information recall with a unified painting style.
[0034] According to an embodiment of the present disclosure, an information recommendation method is provided, including obtaining a list of viewed information of a plurality of first users and a first vector corresponding to each viewed 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 the viewed information list corresponding to the first vector in the corresponding vector cluster, obtaining the viewed information list of a second user in response to the viewing request of the second user, determining a second vector corresponding to the viewed information list of the second user in response to determining that the viewed information list of the second user is not empty, calculating the similarity between each of the second vectors and the central vectors to determine an information cluster matching the second vector, and performing a recommendation to the second user based on the determined information cluster.
[0035] According to an embodiment of the present disclosure, vectors corresponding to a user's viewed information are clustered, and the similarity between the vectors corresponding to the currently viewed user's viewed information and the central vectors obtained by clustering is calculated to provide an immersive information consumption experience for the current user, maintain the rhythm and fluency of the overall information consumption, and improve the user's experience.
[0036] Figure 2 is a flowchart of an information recommendation method according to an embodiment of the present disclosure. As shown in Figure 2, in step 210, an information list of viewed information of a plurality of first users and a first vector corresponding to each viewed information list are obtained.
[0037] According to some embodiments, the first user is namely an active user, and the active user can be determined by sorting users in descending order according to the quantity of viewed information of users in a preset time period and taking the user corresponding to the previous preset percentile as the first user.
[0038] In the present disclosure, the recommended information includes, but is not limited to, contents such as pictures, texts, videos, and products. Also, in some examples, the information to be recommended can belong to different information categories such as entertainment, news, and sports. Therefore, in different categories, the active user can be selected as the first user respectively. Specifically, in a preset time period, users in each category are sorted in descending order of the number of viewed information by them, and the first user takes the user corresponding to the upper preset percentile (for example, the upper 5%) as the first user.
[0039] It should be understood that other methods for determining the first user are also possible. For example, it may be a user whose number of views exceeds a preset threshold within a preset time period, and it is not limited here.
[0040] According to some embodiments, the viewed information list includes information identifiers of the viewed information of the corresponding user. Therefore, based on the information identifier set corresponding to each user, the 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. Exemplarily, a double-tower model to be trained is set, and the information viewed by the same user is randomly divided into two groups and input into two towers as positive samples, and the information viewed by different users is input into the two towers as negative samples. The parameters of the two towers are shared, whereby a double-tower model that outputs a vector corresponding to the list of viewed information is obtained through training.
[0042] It should be understood that other methods of obtaining a vector corresponding to the list of viewed information are also possible and are not limited herein.
[0043] In step 220, the first vectors corresponding to a plurality of first users are clustered to obtain one or more vector clusters and their central vectors.
[0044] In an example where the information to be recommended belongs to different information categories, the vectors corresponding to a plurality of first users may be clustered for each information category. Specifically, for the entertainment category, the vectors corresponding to the browsing lists of its active users can be clustered to obtain one or more clusters and the central vectors corresponding to each cluster. Since the same applies to other information categories, it will not be repeated here.
[0045] In some examples, the vectors corresponding to the first user among a plurality of information categories can also be clustered simultaneously, but not limited thereto. 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 corresponding to the one or more vector clusters are determined, where each information cluster is determined based on a viewed information list corresponding to the first vector in the corresponding vector cluster.
[0047] In some examples, after clustering the first vectors corresponding to a plurality of first users, one or more vector clusters are obtained, and each vector cluster corresponds to one or more first vectors. Further, each first vector corresponds to a set of viewing lists of a first user. Therefore, one or more information clusters corresponding to the first vector or the plurality of vector clusters can be determined based on the viewing list of the corresponding first user.
[0048] In step 240, in response to the viewing request of the second user, the viewed information list of the second user is obtained. In step 250, in response to determining that the viewed information list of the second user is not empty, a second vector corresponding to the viewed information list of the second user is determined.
[0049] Exemplarily, the viewing request of the second user may be a user's viewing operation (for example, a slide operation on a touch screen), a jump operation after clicking on a specific piece of information, etc. As shown in FIG. 3, the user views information A, B, C, D,... in the viewing page, clicks on information B, triggers a page jump based on information B, and jumps to a viewing page including information B, E, F, G,....
[0050] In order for the page after the jump to provide an immersive information consumption experience for the user and maintain the overall rhythm and fluency of information consumption, after receiving the user's viewing request, in order to improve the user experience, it is necessary to recall information with a relatively consistent overall painting style.
[0051] Specifically, in step 260, to recall information with a relatively consistent overall painting style, the similarity between each of the second vectors and the central vector is calculated to determine the information cluster that matches the second vector. Then, in step 270, based on the determined information cluster, a recommendation is made to the second user.
[0052] In the present disclosure, the similarity between the second vector and the central vector of the cluster obtained by clustering can be calculated by any suitable algorithm including but not limited to the annoy algorithm, and one or more clusters closest to the second vector can be determined.
[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 is calculated, and in the clusters corresponding to all information categories, the information cluster that matches the second vector can be determined.
[0054] In some examples, the information cluster that matches the second vector may be a cluster with a similarity greater than a predetermined threshold, or a predetermined number of clusters with the highest similarity, but is not limited herein.
[0055] In some embodiments, making a recommendation to the second user based on the determined information cluster may include obtaining the list of viewed information of the first user corresponding to the determined information cluster, determining a predetermined number of information with the highest view counts 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 information.
[0056] Specifically, let the viewed information list of the first user A in the determined information cluster be {A1, A2, A3, A4}, the viewed information list of the first user B be {A1, A2, B1, B2}, and the viewed information list of the first user C be {B1, A2, B3, B4}. Then, after statistically analyzing the viewed information lists of the first users A, B, and C corresponding to the information cluster, it can be determined that information A1 was viewed 2 times, information A2 was viewed 3 times, information B1 was viewed 2 times, and all other information was viewed 1 time. Therefore, after statistically analyzing the viewed information of all the first users in the determined information cluster, a predetermined number of information with the most viewing times can be determined, and recommendations can be made to the second user based on the predetermined number of information.
[0057] According to some embodiments, the method according to the present disclosure may further include, in response to determining that the viewed information list corresponding to the second user is empty, determining the information viewing volume corresponding to each information cluster in the one or more information clusters, and determining the information cluster with the highest information viewing volume, and making a recommendation to the second user based on the determined information cluster.
[0058] When the viewed information list corresponding to the second user is empty (for example, when the second user is a new user), the information in the most active cluster can be directly recommended to the user. Specifically, the information viewing volume corresponding to each information cluster can be determined based on the method described above. For example, if an information cluster contains information A1, B1, ···, N1, and it is determined through statistics that information A1 was viewed a total of a times, information B1 was viewed a total of b times, ···, and information N1 was viewed a total of c times, then the viewing volume corresponding to the information cluster is a + b + ··· + c. Therefore, a recommendation is made to the second user by determining the information cluster with the highest information viewing volume among the one or more information clusters.
[0059] According to an embodiment of the present disclosure, as shown in FIG. 4, an information recommendation apparatus 400 is also provided, which is configured to obtain a list of viewed information of a plurality of first users and a first vector corresponding to each viewed information list, a first acquisition unit 410; cluster the first vectors corresponding to the plurality of first users to obtain one or more vector clusters and their central vectors, a clustering unit 420; determine one or more information clusters respectively corresponding to the one or more vector clusters, where each information cluster is determined based on the viewed information list corresponding to the first vector in the corresponding vector cluster, a first determination unit 430; in response to a viewing request of a second user, obtain the viewed information list of the second user, a second acquisition unit 440; in response to determining that the viewed information list of the second user is not empty, determine a second vector corresponding to the viewed information list of the second user, a second determination unit 450; calculate the similarity between each of the second vectors and the central vector to determine an information cluster matching the second vector, a third determination unit 460; and a recommendation unit 470 configured to perform a recommendation to the second user based on the determined information cluster.
[0060] Here, the operations of the respective units 410 to 470 of the information recommendation apparatus 400 are the same as the operations of steps 210 to 270 described above, and thus the description is omitted here.
[0061] In the technical solution of the present disclosure, the processing of collecting, storing, using, processing, transmitting, providing, and disclosing related user personal information all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0062] According to an embodiment of the present disclosure, an electronic device, a readable storage medium, and a computer program product are further provided.
[0063] Referring to FIG. 5, here, a block diagram showing the configuration of an electronic device 500 that can be used as a server or a client of the present disclosure, which is an example of a hardware device applicable to various aspects of the present disclosure, will be described. The electronic device represents various forms of digital electronic computers, such as laptop computers, desktop computers, tablets, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may further represent various forms of mobile devices, such as personal digital processors, mobile phones, smartphones, wearable devices, and other similar computing devices. The components shown in this specification, their connection relationships, and their functions are merely exemplary and do not limit the implementation of the present disclosure described and / or claimed in this specification.
[0064] As shown in FIG. 5, the electronic device 500 includes a computing unit 501, which can execute various appropriate operations and processes by a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data necessary for operating the electronic device 500 may be further stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0065] A plurality of components in the electronic device 500 are connected to the I / O interface 505 and include 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 generate input numerical or character information and key signal inputs related to user settings and / or function controls of the electronic device, and may include, but is not limited to, a mouse, a keyboard, a touch screen, a track board, a track ball, an operation lever, a microphone, and / or a 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, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 508 may include, but is not limited to, a magnetic disk and an optical disk. The communication unit 509 enables the electronic device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication 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, such as a BluetoothTM 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 dedicated 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 execute machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 executes each method and process described above, for example, 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 storage unit 508. In some embodiments, some or all of the computer program may be loaded and / or installed into 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, one or more steps of method 200 described above can be executed. Alternatively, in another embodiment, the computing unit 501 may be configured to execute method 200 in any other suitable manner (e.g., by firmware).
[0067] The various embodiments of the systems and techniques described above in this specification can 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), system-on-chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can be implemented in one or more computer programs, which may be executed and / or interpreted in a programmable system including at least one programmable processor, where the programmable processor may be a dedicated or general-purpose programmable processor, and which receives data and instructions from a memory system, at least one input device, at least one output device, and may transmit the data and instructions to the memory system, the at least one input device, the at least one output device.
[0068] The 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, so that when the program code is executed by the processor or controller, it implements the functions / operations defined in the flowchart and / or block diagram. The program code may be executed entirely by a machine, partially by a machine, partially by a machine as an independent software package and partially by a remote machine, or entirely by a remote machine or server.
[0069] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may comprise or store a program for use in 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. The 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 the machine-readable storage medium include electrical connections through 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), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0070] To provide for interaction with a user, a computer may implement the systems and techniques described herein, the computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and a pointing device (e.g., a mouse or trackball), by which the user may provide input to the computer. Other kinds of devices may be further provided for interacting with the user. For example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input received from the user may be in any form (including acoustic input, speech input, or tactile input).
[0071] The systems and techniques described herein may be implemented in a computing system that includes back-end components (such as, for example, a data server), a computing system that includes middleware components (such as, for example, an application server), a computing system that includes front-end components (such as, for example, a user computer having a graphical user interface and a web browser, wherein a user can realize an interaction with embodiments of those systems and techniques through the graphical user interface or the web browser), or a computing system consisting of any combination of those back-end components, middleware components, or front-end components. The components of the system may be interconnected by digital data communication in any form or medium (such as, for example, a communication network). An example of the communication network includes a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.
[0072] The computer system may include a client side and a server. The client side and the server are generally far apart from each other and usually interact via a communication network. The relationship between the client side and the server is generated by operating a computer program corresponding to a computer having a client-server relationship on each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0073] It should be understood that the steps may be re-ranked, increased, or deleted using the various forms of flows described above. For example, each step described in the present disclosure may be executed in parallel, sequentially, or in a different order, and the text is not limited thereto as long as the technical solutions disclosed in the present disclosure can achieve the desired results.
[0074] Examples or instances of the present disclosure have been described with reference to the drawings. However, the above methods, systems, and devices are merely exemplary examples or instances, and the scope of the present invention is not limited by these examples or instances. It should be understood that it is only limited by the scope of the claims after authorization and its equivalent scope. Various elements of the examples or instances may be omitted or replaced by their equivalent elements. Note that each step may be executed in an order different from the order described in the present disclosure. Furthermore, various elements of the examples or instances may be combined in various ways. What is important is that with the evolution of technology, many of the elements described here can be replaced by equivalent elements that appear after the present disclosure.
Claims
1. An information recommendation method, comprising: obtaining a list of viewed information of a plurality of first users and first vectors 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, wherein each information cluster is determined based on the list of viewed information corresponding to the first vector in the corresponding vector cluster; responding to a viewing request of a second user to obtain a list of viewed information of the second user; responding 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 vector to determine an information cluster that matches the second vector; recommending to the second user based on the determined information cluster.
2. Recommending to the second user based on the determined information cluster includes: obtaining a list of viewed information of the first user corresponding to the determined information cluster; determining a predetermined number of information with the highest viewing volume based on the obtained list of viewed information of the first user, and recommending to the second user based on the predetermined number of information. The method according to claim 1.
3. The first user is determined by a step of sorting users in a preset time period in descending order according to the quantity of viewed information, and taking the user corresponding to the previous preset percentile as the first user. The method according to claim 1.
4. Responding to determining that the list of viewed information corresponding to the second user is empty, determining the information viewing volume corresponding to each information cluster in the one or more information clusters; further comprising determining an information cluster with the highest information viewing volume, and recommending to the second user based on the determined information cluster. The method according to claim 1.
5. The list of viewed information includes information identifiers of the viewed information of the corresponding user. The method according to claim 1.
6. An information recommendation device, a first acquisition unit configured to acquire a list of information viewed by a plurality of first users and a first vector corresponding to each list of viewed information; 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 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 the list of viewed information corresponding to the first vector in the corresponding vector cluster; a second acquisition unit configured to acquire a list of information viewed by the second user in response to a viewing request of the second user; a second determination unit configured to determine a second vector corresponding to the list of information viewed by the second user in response to determining that the list of information viewed by the second user is not empty; a third determination unit configured to calculate the similarity between each of the second vectors and the central vectors to determine an information cluster that matches the second vectors; an information recommendation device including a recommendation unit configured to perform a recommendation to the second user based on the determined information cluster.
7. The recommendation unit includes a third acquisition unit configured to acquire a list of information viewed by a first user corresponding to the determined information cluster, and a fourth determination unit configured to determine a predetermined number of information with the most views based on the acquired list of information viewed by the first user, and perform a recommendation to the second user based on the predetermined number of information. The device according to claim 6.
8. The first user is determined by a step of sorting users in a preset time period in descending order according to the quantity of viewed information, and setting the user corresponding to the previous preset percentile as the first user. The device according to claim 6.
9. a fifth determination unit configured to determine the information view volume corresponding to the one or more information clusters in response to determining that the list of information viewed by the second user is empty. A sixth determination unit configured to determine an information cluster with the highest information view count and perform a recommendation to the second user based on the determined information cluster, the apparatus according to claim 6 further comprising the sixth determination unit.
10. The apparatus according to claim 6, wherein the list of viewed information includes information identifiers of the viewed information of the corresponding user.
11. An electronic device, including at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1 to 5. An electronic device characterized by this.
12. A non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the method according to any one of claims 1 to 5.
13. A computer program product including a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 5.
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