Information recommendation method and device, computer device, and storage medium
By using user-defined user profiles, the problem of delayed recommendation information after changes in interests in existing technologies is solved, thus achieving timeliness and accuracy of information recommendation and improving recommendation effectiveness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGZHOU KUGOU COMP TECH CO LTD
- Filing Date
- 2021-12-31
- Publication Date
- 2026-07-07
AI Technical Summary
In existing technologies, the lag in recommendation information after changes in user interests leads to poor recommendation performance and an inability to adjust in a timely manner.
The system provides a profile settings interface, allowing users to customize their user profiles. By adding or deleting information tags, users can update their user profiles to reflect changes in interests, and the server will recommend information based on the updated user profiles.
It ensures the timeliness and accuracy of information recommendations, guarantees that the recommended information matches the user's current interests, and improves the recommendation effect.
Smart Images

Figure CN114357298B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet technology, and in particular to an information recommendation method, apparatus, computer device, and storage medium. Background Technology
[0002] With the continuous development of internet technology, the amount of information disseminated online is becoming increasingly abundant. Because of the sheer volume of this information, it's difficult for users to view it all. Therefore, information can be recommended to users based on their preferences for different types of information.
[0003] In related technologies, information is typically recommended to users based on their historical behavioral data (e.g., browsing history, likes, comments, etc.). However, users' interests are not static. If the above approach is adopted, multiple historical behavioral data points generated after changes in user interests are obtained in order to accurately recommend information to users, which has a strong lag and poor recommendation effect. Summary of the Invention
[0004] This application provides an information recommendation method, apparatus, computer device, and storage medium, which improves the recommendation effect. The technical solution is as follows:
[0005] On the one hand, an information recommendation method is provided, the method comprising:
[0006] The profile settings interface is displayed. The profile settings interface is used to set the user profile corresponding to the logged-in user identifier. The profile settings interface includes information addition options.
[0007] In response to a triggering operation that adds options to the information, an information list is displayed, the information list including multiple pieces of information viewed based on the user identifier;
[0008] In response to a trigger operation on any information, the information is added as a tag to the user profile to obtain an updated user profile.
[0009] Based on the updated user profile, recommended information is obtained.
[0010] On the other hand, an information recommendation device is provided, the device comprising:
[0011] The display module is used to display the profile setting interface, which is used to set the user profile corresponding to the logged-in user identifier. The profile setting interface includes information addition options.
[0012] An update module is used to display an information list in response to a trigger operation that adds options to the information, the information list including multiple pieces of information viewed based on the user identifier;
[0013] The update module is used to add the information as a tag to the user profile in response to a trigger operation on any information, so as to obtain an updated user profile.
[0014] The acquisition module is used to obtain recommended information based on the updated user profile.
[0015] On the other hand, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one piece of program code, the at least one piece of program code being loaded and executed by the processor to perform the operations performed in the information recommendation method as described above.
[0016] On the other hand, a computer-readable storage medium is provided that stores at least one piece of program code, which is loaded and executed by a processor to perform the operations performed in the information recommendation method described above.
[0017] In another aspect, a computer program product is provided, wherein at least one piece of program code is stored in the computer program product, and the at least one piece of program code is loaded and executed by a processor to implement the operations performed in the information recommendation method of the above embodiments.
[0018] The information recommendation method, apparatus, computer device, and storage medium provided in this application provide a user profile setting interface, allowing users to configure their own user profiles. Furthermore, users can select information from multiple viewed pieces of information to add to their user profiles. This enables the information recommendation scheme to adjust recommended information promptly based on user feedback, ensuring that the recommended information is of interest to the user. This allows users to actively choose the information they want to be recommended, guaranteeing that the recommended information is of interest to them and improving the recommendation effect. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of the structure of an implementation environment provided in an embodiment of this application;
[0021] Figure 2 This is a flowchart of an information recommendation method provided in an embodiment of this application;
[0022] Figure 3 This is a flowchart of an information recommendation method provided in an embodiment of this application;
[0023] Figure 4 This is a schematic diagram of the structure of an information recommendation device provided in an embodiment of this application;
[0024] Figure 5 A schematic diagram of another information recommendation device provided in this application embodiment;
[0025] Figure 6 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application;
[0026] Figure 7 This is a schematic diagram of the structure of a server provided in an embodiment of this application. Detailed Implementation
[0027] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0028] It is understood that the terms "first," "second," "third," "fourth," "fifth," "sixth," etc., used in this application may be used to describe various concepts, but unless otherwise stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of this application, a first label may be referred to as a second label, and a second label may be referred to as a first label.
[0029] As used in this application, the terms "each," "multiple," "at least one," and "any" mean, with "at least one" including one, two, or more, "multiple" including two or more, "each" referring to each of the corresponding multiples, and "any" referring to any one of the multiples. For example, multiple tags include three tags, with "each" referring to each of the three tags, and "any" referring to any one of the three tags, which could be the first, the second, or the third.
[0030] It is understood that, in the specific implementation of this application, user-related data such as user profiles and user historical behavior data need to obtain user permission or consent when the embodiments of this application are applied to specific products or technologies, and the collection, use and processing of related data need to comply with the relevant laws, regulations and standards of relevant countries and regions.
[0031] The information recommendation method provided in this application is executed by a computer device. In one possible implementation, the computer device is a terminal, such as a mobile phone, tablet computer, or computer. In another possible implementation, the computer device includes both a terminal and a server.
[0032] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application. See also... Figure 1 The implementation environment includes terminal 101 and server 102. Terminal 101 and server 102 are connected via a wireless or wired network.
[0033] A target application, provided by server 102, is installed on terminal 101. Terminal 101 can perform functions such as data transmission and message interaction through this target application. Optionally, the target application is a target application within the operating system of terminal 101, or a target application provided by a third party. For example, the target application is an audio processing application with audio processing capabilities, such as audio playback. Of course, this audio processing application can also have other functions, such as sharing and commenting functions. Optionally, server 102 is a backend server for the target application or a cloud server providing cloud computing and cloud storage services.
[0034] Optionally, terminal 101 displays a user profile settings interface, where the user can edit the user profile corresponding to the logged-in user identifier on terminal 101, customize a user profile, and send the customized user profile to server 102 through terminal 101. Server 102 recommends information to the user based on the customized user profile.
[0035] The information recommendation method provided in this application can be applied to any recommendation scenario.
[0036] For example, it can be applied to audio recommendation scenarios.
[0037] When a user listens to audio through an audio processing application, the application can recommend audio to the user based on their listening history. If the information recommendation method provided in this application is used, the user can modify their user profile to make it more accurate, thereby enabling the device to recommend information to the user more accurately based on that profile, thus improving the information recommendation effect.
[0038] For example, it can be applied to short video recommendation scenarios.
[0039] When a user browses short videos through a short video application, the application can recommend short videos based on the user's viewed, liked, and commented-on videos. If the information recommendation method provided in this application is used, the user can modify their user profile to make it more accurate. This allows the device to recommend information more accurately based on the user profile, improving the information recommendation effect.
[0040] It should be noted that the information recommendation method provided in this application embodiment can be applied to any recommendation scenario, and this application embodiment does not limit the recommendation scenario.
[0041] Figure 2 This is a flowchart illustrating an information recommendation method provided in an embodiment of this application. This embodiment uses a terminal as the executing entity for illustrative purposes. See also... Figure 2 The method includes:
[0042] 201. The terminal displays a user profile settings interface, which is used to set the user profile corresponding to the logged-in user identifier. The user profile settings interface includes information addition options.
[0043] User profiles are abstracted, labeled models based on user attributes, preferences, and lifestyle habits. They describe users using highly generalized and easily understood labels. Therefore, user profiles can be seen as virtual representations of real users.
[0044] The user profile settings interface is used to set up user profiles. In this interface, users can create a user profile and use it as the user profile corresponding to the logged-in user identifier. Users can also modify existing user profiles to obtain a user profile that is more suitable for them and more representative of them.
[0045] The information addition option is used to add information as tags to the user profile. For example, you can add information that the user is interested in to the user profile, or add information that the user is not interested in to the user profile.
[0046] 202. In response to the triggering operation of the information addition option, the terminal displays an information list, which includes multiple pieces of information viewed based on the user's identifier.
[0047] The triggering operation can be a combination of one or more operations such as a click operation, a touch operation, a swipe operation, a double-click operation, or a long-press operation. This application embodiment does not limit the triggering operation.
[0048] The information list can be arranged sequentially according to the user's browsing order.
[0049] 203. In response to any trigger operation on information, the terminal adds the information as a tag to the user profile to obtain the updated user profile.
[0050] The information triggered by the user can be either information they are interested in or information they are not interested in. If the information is interesting, it is added to the user profile, and similar information can be recommended to the user later. If the information is not interesting, it is added to the user profile, and similar information will not be recommended to the user later.
[0051] 204. The terminal obtains recommended information based on the updated user profile.
[0052] In this embodiment, after a user updates their user profile, they can obtain recommended information based on the updated profile. This information can be in any format, such as text, image, or video. It can also be short videos, news events, audio, or other similar content.
[0053] The information recommendation method provided in this application provides a user profile setting interface, allowing users to configure their own user profiles. Users can also select information from multiple viewed items to add to their user profiles. This enables the information recommendation scheme to adjust recommended information promptly based on user feedback, ensuring that the recommended information is of interest to the user. This allows users to actively choose the information they want to be recommended, guaranteeing that the recommended information is of interest to the user and improving the recommendation effect.
[0054] Figure 3 This is a flowchart of an information recommendation method provided in an embodiment of this application. See also... Figure 3 This application uses a terminal and a server as examples to illustrate the interaction methods, which include:
[0055] 301. The terminal displays a user profile settings interface, which is used to set the user profile corresponding to the logged-in user identifier. The user profile settings interface includes a tag editing option, which is used to edit the tags of the user profile.
[0056] In this embodiment, the user profile settings interface is used to configure user profiles. This interface includes a tag editing option, allowing users to edit tags within the user profile. For example, users can add, delete, or modify tags in the user profile. This embodiment does not limit the method of tag editing.
[0057] In one possible implementation, the user profile settings interface can not only edit the tags of the user profile, but also set the expiration information of the user profile, or it can also set the expiration information of the tags in the user profile. This application embodiment does not limit the functionality of the user profile settings interface.
[0058] In one possible implementation, the user profile settings interface includes a user profile created by the server for that user identifier. The user can edit this user profile using the tab editing options to make it more accurate. In another possible implementation, the user profile settings interface does not include a user profile created by the server for that user identifier. The user creates a new user profile using the tab editing options.
[0059] 302. In response to the triggering operation of the label editing option, the terminal edits the label of the user profile to obtain the updated user profile.
[0060] Editing user profile tags can involve adding, deleting, or modifying tags within a user profile. This application's embodiments illustrate the process of "editing user profile tags" by taking adding, deleting, and modifying tags within a user profile as examples.
[0061] In one possible implementation, editing the tags of a user profile includes: adding tags to the user profile. The tag editing options include tag addition options; in response to a triggering operation of the tag editing options, the terminal edits the tags of the user profile to obtain an updated user profile, including: in response to a triggering operation of the tag addition options, adding candidate tags to the user profile to obtain the updated user profile.
[0062] Adding tags to a user profile can be done by adding tags to a user profile created on the server, or by adding tags to an empty user profile, which the user then uses to create a new user profile; alternatively, tags can be added to a previously created user profile. This embodiment of the application does not limit the type of user profile used. An empty user profile refers to a user profile that does not include tags.
[0063] The tag addition option is used to add tags to a user profile. Optionally, the tag editing option includes tag addition options corresponding to multiple candidate tags; in response to the triggering operation of the tag editing option, the terminal edits the tags of the user profile to obtain an updated user profile, including: in response to the triggering operation of the tag addition option for any candidate tag, adding the candidate tag to the user profile as a tag of the user profile, thereby obtaining an updated user profile.
[0064] Candidate tags are tags provided by the target application. Users can select tags that match themselves from multiple candidate tags and add them to their user profile. Optionally, each add option displays a corresponding candidate tag, allowing users to determine which add option to trigger an action based on the displayed candidate tags.
[0065] For example, if the target application offers options for "post-80s", "post-90s", "post-95s", and "post-00s", and the current user was born in 1997, then the user can trigger an action on the "post-95s" option, thereby adding "post-95s" as a tag to the user profile.
[0066] Optionally, the tag editing options include multiple tag addition options corresponding to tag attributes; in response to the triggering operation of the tag editing options, the terminal edits the tags of the user profile to obtain an updated user profile, including: in response to the triggering operation of any tag addition option corresponding to a tag attribute, displaying a tag list corresponding to the tag attribute, the tag list including multiple tags belonging to the tag attribute; in response to the triggering operation of any tag in the tag list, adding the tag to the user profile to obtain an updated user profile.
[0067] Tag attributes refer to the attributes to which a tag belongs. For example, tags such as "post-80s," "post-90s," "post-95s," and "post-00s" belong to the attribute "age." Users can add different attribute tags to their user profiles by selecting the corresponding add options for different tag attributes. Optionally, each add option displays the corresponding tag attribute, allowing users to determine which add option to trigger an action based on the displayed tag attributes.
[0068] For example, the target application offers "Zodiac Sign", "Interests", and "Gender" options. After the user clicks on the "Zodiac Sign" option, the terminal displays a list of zodiac signs, which includes all twelve signs. The user can click on any sign in the list to add that sign as a tag to the user profile.
[0069] It should be noted that some tag attributes in a user profile can only have one tag, while others can have multiple tags. For example, the "zodiac sign" attribute can only have one tag, while the "interests" attribute can have multiple tags. To enable users to accurately edit user profiles, the target application can edit the tags in the user profile based on the number of tags under each attribute. In one possible implementation, in response to a triggering operation on any tag in the tag list, the tag is added to the user profile to obtain an updated user profile. This includes: if the tag attribute is of type three, in response to a triggering operation on any tag, deleting the tag belonging to that tag attribute in the user profile and adding the triggered tag to the user profile to obtain an updated user profile; if the tag attribute is of type four, in response to a triggering operation on any tag, adding the tag to the user profile to obtain an updated user profile.
[0070] Among them, a tag attribute of type three means that there can only be one tag under this tag attribute in the user profile; a tag attribute of type four means that there can be multiple tags under this tag attribute in the user profile.
[0071] Optionally, the label editing option includes a custom addition option; in response to the triggering operation of the label editing option, the terminal edits the labels of the user profile to obtain an updated user profile, including: in response to the editing operation of the custom addition option, obtaining the input text information; in response to the completion of the editing operation of the custom addition option, adding the text information as a label to the user profile to obtain an updated user profile.
[0072] The candidate tags provided by the target application are limited, and these candidate tags may not include or may not fully include the tags that the user wants to add. Therefore, this application embodiment also provides a custom addition option, which allows the user to input tags and can meet the user's tag needs.
[0073] The custom add option can be an input box where users can enter the tags they want to add to the user profile.
[0074] Optionally, the tag editing option includes an information addition option, which is used to add information of interest or information of no interest corresponding to the user identifier; in response to the triggering operation of the tag editing option, the terminal edits the tags of the user profile to obtain an updated user profile, including: in response to the triggering operation of the information addition option, displaying an information list, which includes multiple pieces of information viewed based on the user identifier; in response to the triggering operation of any piece of information, adding the information as a tag to the user profile to obtain an updated user profile.
[0075] While browsing information, users will find some information that interests them and some that does not. In order to ensure that the information recommended to users is information that they are interested in, rather than information that they are not interested in, this application provides an information addition option. Users can use this information addition option to add information that they are interested in or not interested in to their user profile.
[0076] To ensure that when obtaining recommendation information based on user profiles, it is possible to clearly identify whether to acquire information similar to information in the user profile or exclude information similar to information in the user profile, this embodiment of the application adds an indicator identifier when adding information to the user profile. In one possible implementation, in response to a trigger operation on any information, the information is added as a tag to the user profile to obtain an updated user profile, including: the information addition option is used to add information of interest corresponding to the user identifier; in response to a trigger operation on any information, the information and a first type identifier are added as tags to the user profile to obtain the updated user profile, where the first type identifier indicates that the information is information of interest corresponding to the user identifier; the information addition option is used to add information of non-interest corresponding to the user identifier; in response to a trigger operation on any information, the information and a second type identifier are added as tags to the user profile to obtain the updated user profile, where the second type identifier indicates that the information is information of non-interest corresponding to the user identifier.
[0077] Of course, the target application can also provide the ability to add information of interest and information of non-interest. In one possible implementation, the tag editing options include a first information addition option and a second information addition option. The first information addition option is used to add information of interest corresponding to the user identifier, and the second information addition option is used to add information of non-interest corresponding to the user identifier.
[0078] In another possible implementation, the label editing options include an information addition option, a first type option, and a second type option; in response to a trigger operation on the information addition option, the terminal displays an information list, which includes multiple pieces of information viewed based on the user identifier; in response to a trigger operation on any piece of information, the first type option and the second type option are displayed; in response to a trigger operation on the first type option, the information and the first type identifier are added to the user profile to obtain an updated user profile; in response to a trigger operation on the second type option, the information and the second type identifier are added to the user profile to obtain an updated user profile.
[0079] It should be noted that the embodiments in this application are merely illustrative examples of tag addition options, including addition options corresponding to multiple candidate tags, addition options corresponding to multiple tag attributes, custom addition options, and information addition options. In another embodiment, the tag addition options may include other options. In another embodiment, the tag addition options may include at least one of the following: addition options corresponding to multiple candidate tags, addition options corresponding to multiple tag attributes, custom addition options, and information addition options.
[0080] Users can not only add tags to user profiles, but also delete tags from user profiles. In one possible implementation, the tag editing option includes a tag deletion option; in response to a triggering operation of the tag editing option, the terminal edits the tags of the user profile to obtain an updated user profile, including: in response to a triggering operation of the tag deletion option, deleting the tags in the user profile to obtain an updated user profile.
[0081] Deleting tags from a user profile can mean deleting all tags, some tags, any tag, or at least one specific tag from the user profile; this application does not limit this.
[0082] Optionally, the tag editing options include tag deletion options corresponding to each tag in the user profile; in response to the triggering operation of the tag editing options, the terminal edits the tags of the user profile to obtain an updated user profile, including: in response to the triggering operation of the tag deletion option corresponding to any tag, deleting the tag from the user profile to obtain the updated user profile.
[0083] Optionally, each tag deletion option displays a corresponding tag, so that users can determine which tag deletion option to trigger an operation based on the tags displayed in the tag deletion options.
[0084] Optionally, the tag editing option includes a tag deletion option, and the profile settings interface includes multiple tags in the user profile; in response to the triggering operation of the tag editing option, the terminal edits the tags of the user profile to obtain an updated user profile, including: when any tag in the user profile is selected, in response to the triggering operation of the tag deletion option, the selected tag is deleted from the user profile to obtain an updated user profile.
[0085] In one possible implementation, the user profile settings interface also includes a timeliness setting option. After the terminal displays the user profile settings interface, the method further includes: in response to a triggering operation of the timeliness setting option, obtaining the timeliness information set for the user profile. The terminal obtains recommended information based on the updated user profile, including: obtaining recommended information based on the updated user profile and the timeliness information.
[0086] The timeliness information of the user profile indicates the effective period of the user profile. The user profile is valid within this effective period and expires outside of it. Optionally, the timeliness information includes an effective time point and an expiration time point. Optionally, the timeliness information includes an effective period. For example, if the timeliness information is 7 hours, it means that the user profile expires after 7 hours.
[0087] In practical applications, there are situations where multiple people share the same account. For example, when a user's device runs out of power, a family member's device can be used. However, the information recommended to that user in this case might be suitable for their family member, not the user themselves. In this situation, the user can create a user profile and set its expiration time, causing it to expire after a certain period. This not only ensures that the user can access information of interest during use but also avoids negatively impacting the user experience of their family members.
[0088] In one possible implementation, the user profile settings interface further includes timeliness setting options for each tag in the user profile; after the terminal displays the user profile settings interface, the method further includes: in response to a triggering operation on the timeliness setting option of any tag, obtaining the timeliness information set for the tag. The terminal obtains recommended information based on the updated user profile, including: obtaining recommended information based on the updated user profile and the timeliness information corresponding to each tag in the updated user profile.
[0089] In this embodiment, users can set time-sensitive information not only for user profiles but also for tags within those profiles. For example, if a user suddenly wants to view a certain type of information on a particular day, they can add a corresponding tag to their user profile and set time-sensitive information for that tag. The time-sensitive information set for tags is similar to that set for user profiles, and will not be elaborated upon further here.
[0090] In this profile settings interface, each tag can correspond to a separate time-limited setting option, or it can correspond to the same time-limited setting option. In one possible implementation, each tag corresponds to the same time-limited setting option. When any tag is selected, in response to the trigger operation of that time-limited setting option, the time-limited information set for the selected tag is obtained.
[0091] In one possible implementation, the profile settings interface includes multiple recommended user profiles, and the method further includes: in response to the selection of any recommended user profile, using the recommended user profile as the updated user profile.
[0092] This application embodiment also takes into account the situation where users cannot properly edit user profiles due to reasons such as finding it troublesome or not knowing how to edit user profiles. It can also recommend user profiles to users, and users can directly select one of the user profiles as the user profile corresponding to the login user identifier. Users can also select a user profile and edit it based on that user profile.
[0093] In this application, the user profile recommended by the target application can be an existing user profile on the server. To ensure that different users can choose a suitable user profile, in this embodiment, the existing user profiles can be divided into multiple categories, and a user profile can be selected from each category to obtain the user profile corresponding to each type of user. Using these user profiles as recommended user profiles can ensure that most users can choose a suitable user profile.
[0094] Optionally, before the terminal selects any recommended user profile and uses the recommended user profile as the updated user profile, the method further includes: clustering the existing multiple user profiles to obtain multiple user profile clusters; and obtaining a user profile as the recommended user profile based on each user profile cluster.
[0095] In the process of clustering multiple existing user profiles, feature extraction and feature fusion can be performed on the labels of each user profile to obtain the profile features corresponding to each user profile. Based on the profile features of each user profile, multiple user profiles can be clustered.
[0096] Specifically, obtaining user profiles as recommended user profiles based on each user profile cluster includes: randomly selecting at least one user profile from each user profile cluster as a recommended user profile; or selecting the user profile closest to the cluster center from each user profile cluster as a recommended user profile; or performing a weighted average of the profile features of each user profile in the user profile cluster and generating a recommended user profile based on the processed profile features.
[0097] Optionally, the profile settings interface also includes a profile customization option. Before the terminal selects any recommended user profile and uses the recommended user profile as the updated user profile, the method further includes: in response to the triggering operation of the profile customization option, obtaining input text information; and based on the text information, obtaining a user profile that matches the text information from multiple existing user profiles as the recommended user profile.
[0098] In this embodiment of the application, in order to facilitate users to quickly edit user profiles, users can input the overall description information of the user profile. The target application searches for a matching user profile from the existing user profiles based on the description information input by the user, and recommends the user profile to the user. If the user is satisfied with the user profile, the user profile can be directly used as the user profile corresponding to the logged-in user identifier; if the user is not satisfied with the user profile, the user profile can be modified.
[0099] 303. The terminal sends the updated user profile to the server. The server receives the updated user profile and no longer sends the previously obtained recommendation information. Based on the updated information on mutual recommendations among users, the server sends the updated information to the terminal.
[0100] To ensure that information can be provided to users in real time based on the updated user profile after they edit it, this application provides two methods for the server to obtain the updated user profile.
[0101] In one possible implementation, the terminal sends the updated user profile to the server, including: the terminal responding to an edit operation on the user profile by sending the updated user profile to the server. For example, Spark Streaming technology can be used to send the updated user profile.
[0102] In another possible implementation, the terminal sends the updated user profile to the server, including sending the current user profile to the server every first preset time interval. For example, technologies such as Flink can be used to send the updated user profile.
[0103] The server can obtain the recommendation information using any method based on the user profile, and this application embodiment does not limit this.
[0104] The information recommendation method provided in this application provides a profile setting interface, which allows users to customize their user profiles through the tag editing options in the profile setting interface. This indirectly enables users to actively select the information they want to be recommended, ensuring that the information recommended to users is information that users are interested in, and improving the recommendation effect.
[0105] Figure 4 This is a schematic diagram of the structure of an information recommendation device provided in this application. See also: Figure 4 The device includes:
[0106] Display module 401 is used to display the profile setting interface, which is used to set the user profile corresponding to the logged-in user identifier, and includes information addition options.
[0107] Update module 402 is used to display an information list in response to a trigger operation that adds options to the information, the information list including multiple pieces of information viewed based on the user identifier;
[0108] The update module 402 is used to add the information as a tag to the user profile in response to a trigger operation on any information, so as to obtain an updated user profile.
[0109] The acquisition module 403 is used to acquire recommended information based on the updated user profile.
[0110] like Figure 5 As shown, in one possible implementation, the information addition option is used to add information of interest corresponding to the user identifier; the update module 402 is used to add the information and the first type identifier as tags to the user profile in response to a trigger operation on any information, to obtain the updated user profile, wherein the first type identifier is used to indicate that the information is information of interest corresponding to the user identifier; or...
[0111] The information addition option is used to add non-interest information corresponding to the user identifier; the update module 402 is used to add the information and the second type identifier as tags to the user profile in response to the trigger operation of any information, so as to obtain the updated user profile, wherein the second type identifier is used to indicate that the information is non-interest information corresponding to the user identifier.
[0112] In one possible implementation, the update module 402 is configured to, in response to a trigger operation on any information, display a first type option and a second type option; in response to a trigger operation on the first type option, add the information and a first type identifier as tags to the user profile to obtain the updated user profile, wherein the first type identifier is used to indicate that the information is information of interest corresponding to the user identifier; or, in response to a trigger operation on the second type option, add the information and a second type identifier as tags to the user profile to obtain the updated user profile, wherein the second type identifier is used to indicate that the information is information of non-interest corresponding to the user identifier.
[0113] In one possible implementation, the profile settings interface further includes a tag addition option; the update module 402 is also configured to add candidate tags to the user profile in response to a trigger operation of the tag addition option, thereby obtaining the updated user profile.
[0114] In one possible implementation, the user profile settings interface includes multiple candidate tags, each corresponding to a tag addition option; the update module 402 is configured to, in response to a triggering operation on any candidate tag's tag addition option, add the candidate tag to the user profile as a tag for the user profile, thereby obtaining the updated user profile; or,
[0115] The user profile settings interface includes multiple tag addition options corresponding to various tag attributes; the editing module 402 is used to display a tag list corresponding to the tag attribute in response to a trigger operation on any tag addition option corresponding to the tag attribute, the tag list including multiple tags belonging to the tag attribute; in response to a trigger operation on any tag in the tag list, the tag is added to the user profile to obtain the updated user profile; or,
[0116] The tag adding options include custom adding options; the editing module 402 is used to obtain input text information in response to the editing operation of the custom adding options; and in response to the completion of the editing operation of the custom adding options, add the text information as a tag to the user profile to obtain the updated user profile.
[0117] In one possible implementation, the user profile settings interface further includes a tag deletion option; the update module 402 is used to delete tags in the user profile in response to a trigger operation of the tag deletion option, thereby obtaining the updated user profile.
[0118] In one possible implementation, the profile settings interface further includes a tag deletion option corresponding to each tag in the user profile; the editing module is used to delete the tag from the user profile in response to a trigger operation of the tag deletion option corresponding to any tag, thereby obtaining the updated user profile.
[0119] In one possible implementation, the portrait settings interface also includes a timeliness setting option;
[0120] The acquisition module 403 is also used to acquire the timeliness information set for the user profile in response to the trigger operation of the timeliness setting option;
[0121] The acquisition module 403 is used to acquire recommended information based on the updated user profile and the timeliness information.
[0122] In one possible implementation, the profile settings interface also includes timeliness settings options for each tag in the user profile;
[0123] The acquisition module 403 is also used to acquire the timeliness information set for the tag in response to a trigger operation of the timeliness setting option for any tag;
[0124] The acquisition module 403 is used to acquire recommended information based on the updated user profile and the timeliness information corresponding to each tag in the updated user profile.
[0125] In one possible implementation, the user profile settings interface includes multiple recommended user profiles; the device further includes:
[0126] Setting module 404 is configured to, in response to the selection of any recommended user profile, use the recommended user profile as the updated user profile.
[0127] In one possible implementation, the device further includes:
[0128] Clustering module 405 is used to cluster multiple existing user profiles to obtain multiple user profile clusters;
[0129] The determination module 406 is used to obtain user profiles as recommended user profiles based on each user profile cluster.
[0130] In one possible implementation, the portrait settings interface further includes a portrait customization option; the device also includes:
[0131] The acquisition module 403 is also used to acquire input text information in response to the triggering operation of the portrait customization option;
[0132] The determination module 406 is used to obtain a user profile that matches the text information from multiple existing user profiles as a recommended user profile based on the text information.
[0133] In one possible implementation, the acquisition module 403 is used to send the updated user profile to the server. After receiving the updated user profile, the server no longer sends the already acquired recommendation information, but instead acquires recommendation information based on the updated user profile and sends the information.
[0134] In one possible implementation, the acquisition module 403 is configured to send the updated user profile to the server in response to an editing operation on the user profile, so that the server recommends information for the user based on the updated user profile; or, every first preset time interval, send the current user profile to the server, and the server is configured to obtain recommended information based on the updated user profile if the received user profile changes.
[0135] This application also provides a computer device, which includes a processor and a memory. The memory stores at least one piece of program code, which is loaded and executed by the processor to perform the operations performed in the information recommendation method of the above embodiments.
[0136] Optionally, the computer device is provided as a terminal. Figure 6 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application. The terminal 600 can be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. The terminal 600 may also be referred to as user equipment, portable terminal, laptop terminal, desktop terminal, or other names.
[0137] Terminal 600 includes a processor 601 and a memory 602.
[0138] Processor 601 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 601 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 601 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 601 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 601 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0139] Memory 602 may include one or more computer-readable storage media, which may be non-transitory. Memory 602 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in memory 602 is used to store at least one program code, which is executed by processor 601 to implement the information recommendation method provided in the method embodiments of this application.
[0140] In some embodiments, the terminal 600 may also optionally include a peripheral device interface 603 and at least one peripheral device. The processor 601, memory 602, and peripheral device interface 603 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 603 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 604, a display screen 605, a camera assembly 606, an audio circuit 607, a positioning assembly 608, and a power supply 609.
[0141] Peripheral interface 603 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 601 and memory 602. In some embodiments, processor 601, memory 602 and peripheral interface 603 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 601, memory 602 and peripheral interface 603 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0142] The radio frequency (RF) circuit 604 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 604 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 604 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 604 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 604 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 20G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 604 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0143] Display screen 605 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 605 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 601 for processing. In this case, display screen 605 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 605, disposed on the front panel of terminal 600; in other embodiments, there may be at least two display screens, disposed on different surfaces of terminal 600 or in a folded design; in other embodiments, display screen 605 may be a flexible display screen, disposed on a curved or folded surface of terminal 600. Furthermore, display screen 605 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. Display screen 605 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).
[0144] The camera assembly 606 is used to acquire images or videos. Optionally, the camera assembly 606 includes a front-facing camera and a rear-facing camera. The front-facing camera is disposed on the front panel of the terminal, and the rear-facing camera is disposed on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 606 may also include a flash. The flash may be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.
[0145] The audio circuit 607 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 601 for processing, or input to the radio frequency circuit 604 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different part of the terminal 600. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert the electrical signals from the processor 601 or the radio frequency circuit 604 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 607 may also include a headphone jack.
[0146] The positioning component 608 is used to determine the current geographic location of the terminal 600 in order to enable navigation or LBS (Location Based Service). The positioning component 608 may be based on the US GPS (Global Positioning System), China's BeiDou system, Russia's Granas positioning system, or the European Union's Galileo positioning system.
[0147] Power supply 609 is used to supply power to the various components in terminal 600. Power supply 609 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 609 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0148] In some embodiments, the terminal 600 further includes one or more sensors 610. The one or more sensors 610 include, but are not limited to: an accelerometer 611, a gyroscope 612, a pressure sensor 613, a fingerprint sensor 614, an optical sensor 615, and a proximity sensor 616.
[0149] Accelerometer 611 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established with terminal 60. For example, accelerometer 611 can be used to detect the components of gravitational acceleration on the three coordinate axes. Processor 601 can control display screen 605 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 611. Accelerometer 611 can also be used for games or for acquiring user motion data.
[0150] The gyroscope sensor 612 can detect the orientation and rotation angle of the terminal 600. The gyroscope sensor 612, in conjunction with the accelerometer sensor 611, can collect 3D motion data from the user on the terminal 600. Based on the data collected by the gyroscope sensor 612, the processor 601 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0151] The pressure sensor 613 can be disposed on the side bezel of the terminal 600 and / or on the lower layer of the display screen 602. When the pressure sensor 613 is disposed on the side bezel of the terminal 600, it can detect the user's grip signal on the terminal 600, and the processor 601 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 613. When the pressure sensor 613 is disposed on the lower layer of the display screen 602, the processor 601 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 602. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0152] The fingerprint sensor 614 is used to collect the user's fingerprint. The processor 601 identifies the user's identity based on the fingerprint collected by the fingerprint sensor 614, or the fingerprint sensor 614 identifies the user's identity based on the collected fingerprint. When the user's identity is identified as trusted, the processor 601 authorizes the user to perform relevant sensitive operations, including unlocking the screen, viewing encrypted information, downloading software, making payments, and changing settings. The fingerprint sensor 614 can be located on the front, back, or side of the terminal 600. When the terminal 600 has physical buttons or a manufacturer's logo, the fingerprint sensor 614 can be integrated with the physical buttons or manufacturer's logo.
[0153] An optical sensor 615 is used to collect ambient light intensity. In one embodiment, the processor 601 can control the display brightness of the display screen 605 based on the ambient light intensity collected by the optical sensor 615. Specifically, when the ambient light intensity is high, the display brightness of the display screen 605 is increased; when the ambient light intensity is low, the display brightness of the display screen 605 is decreased. In another embodiment, the processor 601 can also dynamically adjust the shooting parameters of the camera assembly 606 based on the ambient light intensity collected by the optical sensor 615.
[0154] A proximity sensor 616, also known as a distance sensor, is installed on the front panel of the terminal 600. The proximity sensor 616 is used to detect the distance between the user and the front of the terminal 600. In one embodiment, when the proximity sensor 616 detects that the distance between the user and the front of the terminal 600 is gradually decreasing, the processor 601 controls the display screen 605 to switch from a screen-on state to a screen-off state; when the proximity sensor 616 detects that the distance between the user and the front of the terminal 600 is gradually increasing, the processor 601 controls the display screen 605 to switch from a screen-off state to a screen-on state.
[0155] Those skilled in the art will understand that Figure 6 The structure shown does not constitute a limitation on terminal 600, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0156] Alternatively, the computer equipment is provided as a server. Figure 7 This is a schematic diagram of a server structure according to an exemplary embodiment. The server 700 can vary significantly due to different configurations or performance. It may include one or more Central Processing Units (CPUs) 701 and one or more memories 702. The memories 702 store at least one line of program code, which is loaded and executed by the processor 701 to implement the methods provided in the various method embodiments described above. Of course, the server may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server may also include other components for implementing device functions, which will not be elaborated upon here.
[0157] This application also provides a computer-readable storage medium storing at least one piece of program code, which is loaded and executed by a processor to implement the operations performed in the information recommendation method of the above embodiments.
[0158] This application also provides a computer program product that stores at least one piece of program code, which is loaded and executed by a processor to implement the operations performed in the information recommendation method of the above embodiments.
[0159] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0160] The above are merely optional embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present application should be included within the protection scope of the present application.
Claims
1. An information recommendation method, characterized in that, The method includes: The user profile settings interface is displayed. The user profile settings interface is used to set the user profile corresponding to the logged-in user identifier. The user profile settings interface includes recommended user profiles, first time-limited setting options, second time-limited setting options, profile customization options, and tag editing options. The tag editing options include tag addition options for adding tags to the user profile, tag deletion options for deleting existing tags from the user profile, custom addition options, and information addition options. The information addition options include a first information addition option for adding information of interest corresponding to the user identifier and a second information addition option for adding information of non-interest corresponding to the user identifier. Using either method 1 or method 2, the updated user profile is obtained: Method 1: Based on the trigger operation of the tag editing option, edit the tags in the existing user profile; wherein, the existing user profile is any one of the following: the user profile selected by the user from the recommended user profiles, the user profile created by the server for the user identifier, or the previously created user profile; The step of editing tags in the existing user profile based on the trigger operation of the tag editing option includes at least one of the following: In response to the triggering operation of adding options to the information, an information list including multiple pieces of information browsed based on the user identifier is displayed, and the information selected in the information list is added as a tag to the user profile; The text information entered in the custom add option will be added as a tag to the user profile; Method 2: Use any of the recommended user profiles selected by the user identifier as the updated user profile; The recommended user profile is obtained in the following way: Feature extraction and feature fusion are performed on the tags of each existing user profile in the server to obtain the profile features corresponding to each user profile. Based on the profile features of each user profile, multiple user profiles are clustered to obtain multiple user profile clusters. For each user profile cluster, the profile features of each user profile in the cluster are weighted and averaged, and a recommended user profile is generated based on the processed profile features. Alternatively, in response to the triggering operation of the profile customization option, input text information is obtained. Based on the text information, a user profile that matches the text information is obtained from the multiple existing user profiles in the server as the recommended user profile. After obtaining the updated user profile, in response to the triggering operation of the first timeliness setting option, the valid time period set for the user profile is obtained; if any tag in the user profile is selected, in response to the triggering operation of the second timeliness setting option, the valid time period set for the selected tag is obtained. In response to the editing operation of the user profile, the updated user profile is sent to the server. The server receives the updated user profile, no longer sends the obtained recommendation information, obtains recommendation information based on the updated user profile, the effective time period of the user profile and the effective time period of each tag, and sends the recommendation information.
2. The method according to claim 1, characterized in that, The method further includes: The information addition option is used to add information of interest corresponding to the user identifier; in response to a trigger operation on any information, the information and the first type identifier are added as tags to the user profile to obtain the updated user profile, where the first type identifier is used to indicate that the information is information of interest corresponding to the user identifier; or... The information addition option is used to add non-interest information corresponding to the user identifier; in response to the triggering operation of any information, the information and the second type identifier are added as tags to the user profile to obtain the updated user profile, wherein the second type identifier is used to indicate that the information is non-interest information corresponding to the user identifier.
3. The method according to claim 1, characterized in that, The method further includes: In response to a triggering action on any information, display the first type of option and the second type of option; In response to a trigger operation on the first type option, the information and the first type identifier are added as tags to the user profile to obtain the updated user profile, wherein the first type identifier is used to indicate that the information is information of interest corresponding to the user identifier; or, in response to a trigger operation on the second type option, the information and the second type identifier are added as tags to the user profile to obtain the updated user profile, wherein the second type identifier is used to indicate that the information is information of non-interest corresponding to the user identifier.
4. The method according to claim 1, characterized in that, After displaying the portrait settings interface, the method further includes: In response to the triggering operation of adding options to the tags, candidate tags are added to the user profile to obtain the updated user profile.
5. The method according to claim 4, characterized in that, The step of adding candidate tags to the user profile in response to a trigger operation that adds the tag option, thereby obtaining the updated user profile, includes: The user profile settings interface includes multiple candidate tags, each with its own tag-adding options. In response to a trigger operation on any candidate tag's tag-adding option, the candidate tag is added to the user profile as a tag for the user profile, resulting in the updated user profile; or... The user profile settings interface includes multiple tag addition options corresponding to various tag attributes; in response to a trigger operation on any tag addition option corresponding to a tag attribute, a tag list corresponding to that tag attribute is displayed, the tag list including multiple tags belonging to that tag attribute; in response to a trigger operation on any tag in the tag list, the tag is added to the user profile, resulting in the updated user profile; or... In response to the editing operation of the custom added option, the input text information is obtained; in response to the completion of the editing operation of the custom added option, the text information is added as a tag to the user profile to obtain the updated user profile.
6. The method according to claim 1, characterized in that, After displaying the portrait settings interface, the method further includes: In response to the triggering operation of the tag deletion option, the tags in the user profile are deleted to obtain the updated user profile.
7. The method according to claim 6, characterized in that, The tag editing options include tag deletion options corresponding to each tag in the user profile; the method further includes: In response to a trigger operation for the tag deletion option corresponding to any tag, the tag is deleted from the user profile to obtain the updated user profile.
8. An information recommendation device, characterized in that, The device includes: The display module is used to display the user profile settings interface. The user profile settings interface is used to set the user profile corresponding to the logged-in user identifier. The user profile settings interface includes recommended user profiles, first time-limited setting options, second time-limited setting options, user profile customization options, and tag editing options. The tag editing options include tag addition options for adding tags to the user profile, tag deletion options for deleting existing tags from the user profile, custom addition options, and information addition options. The information addition options include a first information addition option for adding information of interest corresponding to the user identifier and a second information addition option for adding information of non-interest corresponding to the user identifier. The update module is used to obtain the updated user profile by employing either method 1 or method 2. Method 1: Based on the trigger operation of the tag editing option, edit the tags in the existing user profile; wherein, the existing user profile is any one of the following: the user profile selected by the user from the recommended user profiles, the user profile created by the server for the user identifier, or the previously created user profile; The step of editing tags in the existing user profile based on the trigger operation of the tag editing option includes at least one of the following: In response to the triggering operation of adding options to the information, an information list including multiple pieces of information browsed based on the user identifier is displayed, and the information selected in the information list is added as a tag to the user profile; The text information entered in the custom add option will be added as a tag to the user profile; Method 2: Use any of the recommended user profiles selected by the user identifier as the updated user profile; The recommended user profile is obtained in the following way: Feature extraction and feature fusion are performed on the tags of each existing user profile in the server to obtain the profile features corresponding to each user profile. Based on the profile features of each user profile, multiple user profiles are clustered to obtain multiple user profile clusters. For each user profile cluster, the profile features of each user profile in the cluster are weighted and averaged, and a recommended user profile is generated based on the processed profile features. Alternatively, in response to the triggering operation of the profile customization option, input text information is obtained. Based on the text information, a user profile that matches the text information is obtained from the multiple existing user profiles in the server as the recommended user profile. The acquisition module is used to, after obtaining the updated user profile, in response to the triggering operation of the first timeliness setting option, acquire the valid time period set for the user profile; and, in response to the triggering operation of the second timeliness setting option, acquire the valid time period set for the selected tag when any tag in the user profile is selected. The acquisition module is also used to send the updated user profile to the server in response to the editing operation of the user profile. The server is used to receive the updated user profile, no longer send the acquired recommendation information, and acquire and send recommendation information based on the updated user profile, the effective time period of the user profile and the effective time period of each tag.
9. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one piece of program code, which is loaded and executed by the processor to perform the operations performed in the information recommendation method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one piece of program code, which is loaded and executed by a processor to perform the operations performed in the information recommendation method as described in any one of claims 1 to 7.