Candidate post selection method, computer device, and computer program

The method improves social media recommendations by predicting viral content and personalizing suggestions using a predictive model, addressing the limitations of existing popularity-based systems and enhancing user engagement.

JP2026103844APending Publication Date: 2026-06-24LINE PLUS
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
LINE PLUS
Filing Date
2025-12-08
Publication Date
2026-06-24

Smart Images

  • Figure 2026103844000001_ABST
    Figure 2026103844000001_ABST
Patent Text Reader

Abstract

This invention provides a method, computer equipment, and program for selecting candidate positions based on trends. [Solution] The candidate post selection method includes the steps of: configuring at least some posts as a candidate pool; calculating a trend score for each post in the candidate pool by predicting the click score for a predetermined period through a predictive model; and using the trend score to select candidate posts from the candidate pool for recommendation based on popularity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The following description relates to a technique for providing candidate posts using a recommendation model.

Background Art

[0002] Social media such as Social Network Service (SNS) and messenger collectively refers to services that aim at relationships between people, form relationships between users, and support interactions through posts.

[0003] Social media provides users with information through different contexts. For example, social media provides not only update information regarding relationships between users, post update information, content recommendations, but also various other information items.

[0004] For example, Patent Document 1 described later discloses a technique for managing posts using SNS.

[0005] With the spread of social media, as the functions provided through the platform become increasingly diverse, platform services that allow users to post, view, and share videos are being provided.

Prior Art Documents

Patent Documents

[0006]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0007] In order to expand the opportunity to search for new content, candidate posts for recommendation based on popularity can be selected.

[0008] By predicting the future popularity of a post, it's possible to select posts with a high potential for virality as potential candidates.

[0009] By reflecting user preferences for post categories, it becomes possible to select more personalized candidate posts.

[0010] Candidate posts can be managed by using a database (DB) system with a structure that allows for real-time updates. [Means for solving the problem]

[0011] A method for selecting candidate posts for a computer device including at least one processor is provided, comprising the steps of: configuring at least some posts as a candidate pool using at least one processor; calculating a trend score by predicting the click score for a predetermined period for each post included in the candidate pool using a predictive model, using at least one processor; and selecting candidate posts from the candidate pool for popularity-based recommendations using the trend score, using at least one processor.

[0012] According to one embodiment, the steps involved may involve forming a candidate pool of posts whose post age is less than or equal to a predetermined time, and whose predefined activity index falls within a predetermined proportion of the highest levels.

[0013] According to another embodiment, the steps may involve configuring a candidate pool of posts whose post age is less than or equal to a predetermined time, and which fall within a predetermined ratio of posts with a high rate of increase or decrease in the number of plays.

[0014] In another embodiment, the calculation step may include a step in which features related to the interaction between the post and the user, features related to the post author, and features of the post itself are given as input features, and a step in which the click score of each post in the candidate pool is predicted through a predictive model that has been trained on the interactions between the input features.

[0015] In another embodiment, the calculation step may involve applying a hyperparameter to the click score for each post included in the candidate pool to calculate the trend score, thereby adjusting the rate of score decrease.

[0016] In another embodiment, the click score includes the number of views of the post, a positive click score, and a negative click score, and the predictive model may learn the number of views separately from the click score excluding the number of views.

[0017] In another embodiment, the selection step may include configuring a candidate pool and the trend score of each post included in the candidate pool using a Redis (remote dictionary server) that can be updated in real time.

[0018] In other embodiments, the selection step may include sampling posts that have a predetermined number or proportion of high trend scores, and selecting at least some of the sampled posts as candidate posts for popularity-based recommendations based on a predetermined mixing ratio.

[0019] According to another embodiment, the selecting step may include sampling posts corresponding to a predetermined number or a predetermined ratio of the top trend scores, and removing at least one of the duplicate posts including content similar to the posts of the author set as not of interest by the user among the sampled posts.

[0020] According to still another embodiment, the selecting step may include sampling posts corresponding to a predetermined number or a predetermined ratio of the top trend scores, and removing at least one of the posts of personal accounts and the posts without video embeds from the sampled posts.

[0021] A computer program recorded on a computer-readable recording medium for causing a computer device to execute a candidate post selection method, and a computer program for causing a computer device to execute a candidate post selection method are provided.

[0022] A computer device including at least one processor configured to execute instructions readable by the computer device, wherein at least one processor configures at least some of the posts as a candidate pool, calculates a trend score for each post included in the candidate pool by predicting a click score for a predetermined period through a prediction model, and selects candidate posts for making a popularity-based recommendation from the candidate pool using the trend score.

Brief Description of the Drawings

[0023] [Figure 1] It is a diagram showing an example of a network environment according to an embodiment of the present invention. [Figure 2] It is a block diagram showing an example of a computer device according to an embodiment of the present invention. [Figure 3]A flowchart showing an example of a method executable by a computer device according to an embodiment of the present invention. [Figure 4] A diagram showing a process of selecting candidate posts based on trends in an embodiment of the present invention. [Figure 5] A diagram showing an example of a process of calculating a click score in an embodiment of the present invention. [Figure 6] A diagram showing an example of a DCN model for predicting a click score in an embodiment of the present invention. [Figure 7] A diagram showing a process of selecting candidate posts based on user category preference in an embodiment of the present invention. [Figure 8] A diagram showing an example of correcting a post click score in an embodiment of the present invention. [Figure 9] A diagram showing a configuration example of popularity Redis in an embodiment of the present invention. [Figure 10] A flowchart showing a process of candidate post filtering in an embodiment of the present invention. [Figure 11] A diagram showing a configuration example of a recommendation pool based on popularity in an embodiment of the present invention.

Mode for Carrying Out the Invention

[0024] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0025] This embodiment relates to a technique for providing candidate posts for making recommendations based on popularity.

[0026] Embodiments including the matters specifically disclosed in this specification can select posts with a high likelihood of being viral in a short period as candidate posts for making recommendations based on popularity.

[0027] A candidate post selection device according to an embodiment of the present invention may be implemented by at least one computer device, and a candidate post selection method according to an embodiment of the present invention may be executed through at least one computer device included in the candidate post selection device. In this case, a computer program according to one embodiment of the present invention may be installed and executed in the computer device, and the computer device may execute the candidate post selection method according to an embodiment of the present invention in accordance with the control of the executed computer program. The above-described computer program may be combined with the computer device and recorded on a computer-readable recording medium in order to have the computer execute the candidate post selection method.

[0028] Figure 1 shows an example of a network environment in one embodiment of the present invention. The network environment in Figure 1 shows an example that includes a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170. Figure 1 is merely an example for the purpose of explaining the invention, and the number of electronic devices and servers is not limited to that shown in Figure 1. Furthermore, the network environment in Figure 1 is merely an example for the purpose of explaining an environment applicable to this embodiment, and the environment applicable to this embodiment is not limited to the network environment in Figure 1.

[0029] The multiple electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals implemented by computer devices. Examples of the multiple electronic devices 110, 120, 130, and 140 include smartphones, mobile phones, navigation systems, PCs (personal computers), notebook PCs, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), and tablets. As an example, Figure 1 shows a smartphone as an example of electronic device 110, but in embodiments of the present invention, electronic device 110 may mean one of a variety of physical computer devices that can communicate with other electronic devices 120, 130, 140 and / or servers 150, 160 via the network 170 using substantially wireless or wired communication methods.

[0030] The communication method is not limited, and may include not only communication methods that utilize communication networks that can be included in network 170 (for example, mobile communication networks, wired internet, wireless internet, broadcasting networks), but also short-range wireless communication between devices. For example, network 170 may include one or more arbitrary networks such as PAN (personal area network), LAN (local area network), CAN (campus area network), MAN (metropolitan area network), WAN (wide area network), BBN (broadband network), and the Internet. Furthermore, network 170 may include, but is not limited to, one or more network topologies, including bus networks, star networks, ring networks, mesh networks, star-bus networks, tree or hierarchical networks.

[0031] Servers 150 and 160 may each be implemented by one or more computer devices that communicate with multiple electronic devices 110, 120, 130, and 140 via a network 170 to provide commands, code, files, content, services, etc. For example, server 150 may be a system that provides services (for example, video services, social media services, etc.) to multiple electronic devices 110, 120, 130, and 140 connected via a network 170.

[0032] Figure 2 is a block diagram showing an example of a computer device in one embodiment of the present invention. Each of the aforementioned electronic devices 110, 120, 130, and 140, as well as each of the servers 150 and 160, may be implemented by the computer device 200 shown in Figure 2.

[0033] Such a computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input / output interface 240, as shown in Figure 2. The memory 210 is a computer-readable recording medium and may include RAM (random access memory), ROM (read-only memory), and a permanent mass storage device such as a disk drive. Here, the permanent mass storage device such as ROM and a disk drive may be included in the computer device 200 as a separate permanent storage device distinct from the memory 210. The memory 210 may also store an operating system and at least one program code. Such software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such a separate computer-readable recording medium may include a floppy disk drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, and other computer-readable recording media. In other embodiments, the software components may be loaded into the memory 210 through a communication interface 230 which is not a computer-readable recording medium. For example, software components may be loaded into the memory 210 of the computer device 200 based on a computer program installed by a file received via the network 170.

[0034] The processor 220 may be configured to process computer program instructions by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor 220 by memory 210 or a communication interface 230. For example, the processor 220 may be configured to execute instructions received according to program code stored in a recording device such as memory 210.

[0035] The communication interface 230 may provide a function for the computer device 200 to communicate with other devices (for example, the recording device described above) via the network 170. For example, requests, instructions, data, files, etc., generated by the processor 220 of the computer device 200 according to program code recorded in a recording device such as memory 210 may be transmitted to other devices via the network 170 under the control of the communication interface 230. Conversely, signals, instructions, data, files, etc., from other devices may be received by the computer device 200 via the network 170 through the communication interface 230 of the computer device 200. Signals, instructions, data, etc., received via the communication interface 230 may be transmitted to the processor 220 or memory 210, and files, etc., may be recorded on a recording medium (the persistent recording device described above) that the computer device 200 may further include.

[0036] The input / output interface 240 may be a means for interface with the input / output device 250. For example, the input device may include a microphone, keyboard, or mouse, and the output device may include a display or speaker. In another example, the input / output interface 240 may be a means for interface with a device that integrates input and output functions into one, such as a touchscreen. The input / output device 250 may consist of the computer device 200 and one other device.

[0037] In other embodiments, the computer device 200 may include fewer or more components than those shown in Figure 2. However, it is not necessary to explicitly show most of the conventional components in the figure. For example, the computer device 200 may be implemented to include at least some of the input / output devices 250 described above, and may further include other components such as transceivers and databases.

[0038] The following describes specific implementations of candidate post selection techniques for making recommendations based on popularity.

[0039] In addition to personalized recommendations based on user history, we may also provide popularity-based recommendations to increase opportunities for users to explore new content.

[0040] Existing popularity-based recommendations select posts that have been popular over a specified period from among all posts, and primarily use metrics such as the number of times a post has been played for a specified time (e.g., 3 seconds) or the number of "likes" as indicators of its popularity.

[0041] When only cumulative metrics are used in this way, popularity tends to be concentrated in a few posts, and the quality of recommendations deteriorates.

[0042] This embodiment improves popularity-based recommendations by early detection of posts with a high potential for virality and selecting them as recommendation candidates, while also reflecting user preferences for post categories to select more personalized recommendation candidates.

[0043] The computer device 200 according to this embodiment may provide video services to a client by connecting to a dedicated application installed on the client or to a web / mobile site associated with the computer device 200. The computer device 200 may be configured with a candidate post selection device implemented on a computer. For example, the candidate post selection device may be implemented as an independently operating program, or it may be configured as an in-app version of a specific application so that it can operate on the specific application.

[0044] The processor 220 of the computer device 200 may be implemented by components for performing the candidate post selection method described below. Depending on the embodiment, the components of the processor 220 may be selectively included in or excluded from the processor 220. Also, depending on the embodiment, the components of the processor 220 may be separated or merged for the expression of the functions of the processor 220.

[0045] Such a processor 220 and its components may control the computer device 200 to perform steps included in the candidate post selection method described below. For example, the processor 220 and its components may be implemented to execute instructions from the operating system code contained in the memory 210 and the code of at least one program.

[0046] Here, the components of the processor 220 may be representations of different functions that are executed by the processor 220 in accordance with instructions provided by the program code recorded in the computer device 200.

[0047] The processor 220 may read necessary instructions from the memory 210, which is loaded with instructions related to the control of the computer device 200. In this case, the instructions read may include instructions for controlling the processor 220 to perform the steps described below.

[0048] The steps included in the candidate post selection method described below may be performed in a different order than shown in the diagram, some steps may be omitted, or additional processes may be included.

[0049] The steps included in the candidate post selection method may be performed on server 150, and in some embodiments, at least some of the steps may be performed on the client.

[0050] Figure 3 is a flowchart showing an example of a method that a computer device can perform according to one embodiment of the present invention.

[0051] Referring to Figure 3, in step 310, the processor 220 may select a group of candidate posts (hereinafter referred to as the "first group of candidate posts") based on a trend score determined by the potential for virality. The processor 220 may catch posts that are likely to gain popularity in a short period of time early on. The processor 220 may calculate the trend score of a post by predicting the click score that the post will receive within a predetermined time period through a predictive model. In this case, the click score refers to a popularity index that scores the click logs entered as user reactions to the post, and the click score of each post may be predicted through a predictive model such as a DCN (deep & cross network) model. The processor 220 may generate the first group of candidate posts by sampling posts that fall into a predetermined number or proportion of the top trend scores as candidate posts.

[0052] In step 320, the processor 220 may select a group of candidate posts (hereinafter referred to as the "second group of candidate posts") based on a popularity score that reflects user category preferences. The processor may identify categories preferred by users based on the posts that users primarily consume. The processor 220 may select the second group of candidate posts that reflect user preferences for post categories. The processor 220 may calculate a click score for each post, which is a score derived from the click logs entered as user reactions to the post. In this case, the processor may use user category preferences as a weight for the click score to correct it. The processor may use the click score, which reflects information about user-favorite categories, as a popularity score, and generate the second group of candidate posts by sampling posts that fall into a predetermined number or proportion of the top categories based on the popularity score.

[0053] In step 330, the processor 220 may use the first post candidate group and the second post candidate group to construct a popularity-based recommendation pool. When a popularity-based recommendation pool consisting of a predetermined number of posts is required, the processor 220 may construct a popularity-based recommendation pool by integrating the first post candidate group and the second post candidate group into a single pool, taking into account the mixing ratio of the first post candidate group and the second post candidate group.

[0054] Figure 4 shows the process for selecting candidate posts based on trends in one embodiment of the present invention.

[0055] This embodiment can provide opportunities for new content discovery by early detection and recommendation of content with a high potential for virality through a trend CDG (candidate generator).

[0056] Referring to Figure 4, in step 401, the processor 220 may configure at least some of the recently registered posts as a trend candidate pool. For example, the processor 220 may target posts whose post age (time elapsed since posting) is less than or equal to a predetermined time (e.g., 96 hours) and which have a predetermined percentage (e.g., 5%) of the posts with a predefined activity score.

[0057] The activity score is an activity index (acceleration dynamic:D) that shows how much Post has been consumed recently. n This means ) and can be defined, for example, as in equation (1).

[0058]

number

[0059] Here, Play3sCount (3-second play count) refers to the number of times the post was played for 3 seconds or more. In other words, activity score D n This can be defined as the cumulative value of the percentage increase or decrease in Play3sCount over n hours.

[0060] In step 402, the processor 220 may predict the click score for each post included in the trend candidate pool through a predictive model, and then use the click score to calculate the trend score for each post. The predictive model according to this embodiment may predict the click score that a post will receive within a predetermined time period (e.g., 24 hours).

[0061] Click score refers to a popularity metric that scores the click logs entered as user reactions to a post, and can be defined, for example, as in equation (2).

[0062]

number

[0063] Here, "weighted positive click" refers to the cumulative number of positive user reactions to a post, "Play3s" refers to the number of times the post was played for 3 seconds or more, and "weighted negative click" refers to the cumulative number of negative user reactions to a post.

[0064] Figure 5 shows an example of a process for calculating the click score in one embodiment of the present invention.

[0065] The processor 220 may collect click logs for each post, and may calculate a click score by scoring the click logs collected during a predetermined period. The click logs may include click types that indicate actual reactions and click types that indicate the level of interest. The click score can be calculated by assigning a predetermined score to each click type.

[0066] Referring to Figure 5, each click type 510 has a predefined score 520, and the processor 220 may calculate the click score by accumulating the corresponding score 520 for each click type 510 included in the click log.

[0067] Click type 510 may be classified into positive types, which add points, and negative types, which subtract points. For example, accessing the comment screen, entering comments, entering "likes," accessing the profile screen, viewing or saving content such as videos and images attached to posts, sharing posts, and accessing thumbnail screens may add 520 points, while undoing a "like," deleting comments, reporting an account or post, and hiding an account or post may subtract 520 points. As an example, subtraction scores may be assigned at a higher value than addition scores, and receiving subtraction scores may significantly reduce the cumulative score. Here, the 520 points for each click type 510 are merely examples and can be changed and implemented as needed.

[0068] Figure 6 shows an example of a DCN model for click score prediction in one embodiment of the present invention.

[0069] The DCN model 600 is a model that predicts click scores using various features. As an example, the structure of the DCN model 600 is shown in Figure 6.

[0070] The DCN model 600 may be trained based on user responses 601 to posts given as a training dataset.

[0071] The input features of the DCN model 600 may include engagement features, author features, post features, etc.

[0072] Interaction features refer to features related to the interaction between the post and the user, and may include, for example, the cumulative number of views and the exponential moving average of views.

[0073] Author characteristics refer to features associated with the author (post creator) who registered the post, and may include, for example, the total number of post views for the author's account, the number of followers and followings for the author's account, etc.

[0074] Post characteristics refer to features related to the post itself, and may include, for example, post age, post category, etc.

[0075] The DCN model 600 may include a features preprocessing structure, in which case the features preprocessing may include a dense layer that processes the input features as dense vectors and a sparse layer that processes the input features as sparse vectors.

[0076] Dense layers may process continuous data for input features, while sparse layers may process categorical data for input features by converting it into 32-dimensional embeddings.

[0077] The DCN model 600 learns bounded-degree feature interactions by explicitly representing an implicit model. In this process, CrossNet, as a deep learning layer, can learn interactions between various features and capture complex patterns.

[0078] The DCN model 600 includes a task tower for prediction, in which the task tower may predict the number of 3-second plays (Play3s) that will occur within the next 24 hours, and the click score excluding the 3-second plays (hereinafter referred to as "partial click score") (weighted positive click + weighted negative click).

[0079] The click score is defined by summing the number of 3-second plays (Play3s) and the partial click score (weighted positive click + weighted negative click). However, to improve the accuracy of the learning process, the task tower that predicts the number of 3-second plays and the task tower that predicts the partial click score may be trained separately.

[0080] As a result, the DCN Model 600 can combine the prediction results of the two towers to calculate the final click score.

[0081] Therefore, in this embodiment, by using various input features through the DCN model 600, it is possible to accurately predict the likelihood of post-trend trends.

[0082] The processor 220 may calculate a trend score for each post included in the trend candidate pool using the predicted value of the DCN model 600, in which case the trend score T may be defined as shown in equation (3).

[0083]

number

[0084] Here,

[0085]

number

[0086] This value predicts the click score the post will receive in the future.

[0087]

number

[0088] teeth,

[0089]

number

[0090] This refers to the post ranking assigned by sorting the posts in descending order, with higher scores resulting in lower rankings. Exp is a natural exponential function that exponentially reduces the trend score T.

[0091] In equation (3), K represents a hyperparameter that adjusts the rate of decrease of the trend score T. A smaller value of K results in a more rapid change in the score, causing the score to concentrate in the higher-ranking posts, while a larger value results in a more gradual change in the score, causing the score to be more dispersed.

[0092] Processor 220 was predicted through DCN Model 600.

[0093]

number

[0094] The trend score T may be calculated based on this, and the concentration and diversity of the score distribution may be adjusted through the hyperparameter K. By tuning the hyperparameter K, more sophisticated trend analysis becomes possible.

[0095] Referring again to Figure 4, in step 403, the processor 220 may store the trend candidate pool based on the trend score in the trend Redis (remote dictionary server) 602. That is, the processor 220 may calculate a trend score for each post included in the trend candidate pool and store the calculated trend score and the trend candidate pool in the trend Redis 602. Subsequently, the processor 220 may select a first group of post candidates by sampling posts that have a predetermined number or ratio of the highest trend scores as candidate posts.

[0096] In step 404, the processor 220 may update the trend candidate pool at predetermined intervals. For example, the DCN model 600 may be trained daily, and the trend candidate pool may be updated every hour. By using Redis, which has a structure that can be updated in real time, the trend candidate pool for selecting the first group of post candidates can be managed efficiently, and hourly updates can be performed to quickly reflect user reactions.

[0097] Figure 7 shows the process for selecting candidate posts based on user category preferences in one embodiment of the present invention.

[0098] This embodiment can recommend personalized popular posts by reflecting user preferences for post categories through a preferred category popularity CDG (candidate generator) in order to provide opportunities for discovering new content.

[0099] Referring to Figure 7, in step 701, the processor 220 may configure at least some of the posts for which logs exist within the most recent predetermined period as a popular candidate pool. For example, the processor 220 may target posts that have been consumed by users in the last 7 days and have a predetermined percentage (e.g., 5%) of the highest click scores.

[0100] The click score may refer to a popularity index that scores the click logs entered as user reactions to a post (Equation (2)). In this case, in order to construct a pool of popular candidates, a weighted positive click score, which is the cumulative value of positive user reactions to a post, may be used as the click score.

[0101] Processor 220 may exclude posts belonging to predetermined categories from the popular candidate pool. For example, unfavorable categories may be defined for each country, and posts belonging to unfavorable categories may be excluded from the popular candidate pool.

[0102] In step 702, the processor 220 may calculate a popularity score for each post included in the popular candidate pool using a click score that reflects the user's category preference. The processor 220 may calculate the popularity score for each post by reflecting information about the categories preferred by the user.

[0103] Figure 8 shows an example of the correction of the click score (WCS) for each post in one embodiment of the present invention.

[0104] Each post may be classified into up to three categories, and a click score (WCS) may be calculated periodically.

[0105] The processor 220 may aggregate the categories of posts consumed by the user and calculate the user preference 802 for each category. The user category preference 802 may be calculated by converting the preference (logit) predicted through the post category preference model into a probability value using a softmax function (softmax function with temperature). For users without category preference, the average preference (age-gender category preference logit) of users belonging to the same age group and gender segment may be used.

[0106] The processor 220 may use the average of the category preference probabilities 802 for each post in the popularity candidate pool 801 as the click score (WCS) weight 803. For posts that are not categorized, the click score (WCS) may be corrected using the average of the calculated post weights.

[0107] The popularity score for each post may be calculated using click scores (WCS) aggregated from click logs of user age groups and gender segments, and may be defined as shown in formula (4).

[0108]

number

[0109] Here,

[0110]

number

[0111] This refers to a click score (WCS) adjusted for a specific segment, meaning a value that has been adjusted to reflect the user's category preference.

[0112]

number

[0113] This refers to the rank assigned after sorting the segment-adjusted click score (WCS) in descending order. Higher scores result in lower ranks. exp is a natural exponential function and is responsible for exponentially reducing the score.

[0114]

number

[0115] This is a hyperparameter that adjusts the rate of score reduction and can be tuned for each segment.

[0116]

number

[0117] The smaller the value, the more rapidly the score changes, causing scores to concentrate in the higher positions.

[0118]

number

[0119] The larger the value, the more gradual the score change becomes, resulting in a greater dispersion of scores.

[0120] As a result, equation (4) can calculate the popularity score based on the segment-adjusted click score (WCS) ranking.

[0121]

number

[0122] Through this, the concentration and diversity of the score distribution can be adjusted. Hyperparameters for each segment

[0123]

number

[0124] By tuning the system, more sophisticated recommendations become possible.

[0125] Referring again to Figure 7, in step 703, the processor 220 may configure a Popularity Redis that includes a pool of popularity candidates based on popularity scores. That is, the processor 220 may calculate a popularity score for each post included in the popularity candidate pool using the click score, and configure a Popularity Redis that includes the popularity scores thus calculated and the popularity candidate pool. Subsequently, the processor 220 calculates a popularity score by correcting the click score to reflect category preference. Then, a second group of post candidates may be selected by sampling a predetermined number or proportion of the top posts as candidate posts.

[0126] In step 704, the processor 220 may update the popular candidate pool at predetermined intervals. For example, the popular candidate pool may be updated twice a day. By using Redis, which can be updated in real time, the second group of candidate posts can be managed efficiently, and updates can be performed daily to quickly reflect user responses.

[0127] Figure 9 shows an example configuration of the popular Redis in one embodiment of the present invention.

[0128] Referring to Figure 9, when the processor 220 configures the popular Redis based on user responses 601 to the post, it may consist of a global popular Redis 902 and a segment popular Redis 903.

[0129] Processor 220 may configure a popularity candidate pool as Global Popularity Redis 902, which includes popularity scores obtained using click scores (WCS) from all user logs without distinguishing between age groups and genders, and may configure a popularity candidate pool as Segment Popularity Redis 903, which includes popularity scores obtained using click scores (WCS) from user logs of age group and gender segments.

[0130] For users whose age and gender information cannot be obtained, the global popularity Redis902 should be used. On the other hand, for users whose age and gender information can be obtained, the segment popularity Redis903, which is based on the relevant age group and gender, may be used. In other words, segment popularity Redis903 recommends popular posts based on the user's age group and gender, and can provide more personalized recommendations based on age group and gender information.

[0131] Figure 10 is a flowchart showing the candidate post-filtering process in one embodiment of the present invention.

[0132] The processor 220 may perform filtering of candidate posts in the process of integrating the first group of candidate posts and the second group of candidate posts into a single pool to form a popularity-based recommendation pool.

[0133] Referring to Figure 10, in step 1001, the processor 220 may acquire the characteristics of candidate posts included in each candidate group selected by the trend CDG and preference category popularity CDG. As an example, the processor 220 may acquire meta-features corresponding to metadata, and content embeddings (video embeddings, text embeddings, audio embeddings, etc.) as characteristics of each candidate post.

[0134] In step 1002, the processor 220 may use the characteristics of each candidate post to remove posts that the user has marked as not of interest, and posts by authors that the user has marked as not of interest, from the group of candidates. The processor 220 may also remove posts that the user has already consumed and posts that the user has reported from the group of candidates.

[0135] In step 1003, the processor 220 may use the characteristics of each candidate post to remove duplicate posts with similar content from the group of candidates. For example, the processor 220 may compare the content embeddings of the candidate posts and select posts with a similarity level of content embedding above a predetermined level as duplicate posts.

[0136] In step 1004, the processor 220 may use the characteristics of each candidate post to remove posts from the candidate group that are from personal accounts or that do not have video embeds. The processor 220 may exclude posts from personal accounts that are of lower quality than official accounts from the recommendation pool. In addition, if the service recommends video posts, the processor 220 may exclude posts that cannot obtain video embeds from the recommendation pool. In this case, the processor 220 may prioritize removing posts from personal accounts that do not have video embeds from the candidate posts, and then filter the posts from personal accounts, followed by posts that do not have video embeds.

[0137] Processor 220 may interrupt filtering if it exceeds the maximum number of posts that can be removed. For example, 50% of the number of candidate posts integrated according to the mixing ratio of each CDG may be set as the maximum number of posts for filtering. If 200 posts are ultimately selected as candidate posts for recommendation within the available post pool, Processor 220 may filter out low-quality posts by filtering up to 50% of them.

[0138] Depending on the embodiment, it is also possible to remove posts selected by the CDG with the higher priority among the trend CDG and the preference category popularity CDG from the candidate group. If there are candidate posts that overlap with candidate posts selected from the CDG based on post selection criteria based on content similarity, and the relationship graph-based CDG that shows the relationships between posts, these may be removed.

[0139] Figure 11 shows an example of the configuration of a popularity-based recommendation pool in one embodiment of the present invention.

[0140] Referring to Figure 11, in step 1101, if a popularity-based recommendation pool consisting of a predetermined number of posts is required, the processor 220 may sample candidate posts from the trend Redis 602 in a predetermined proportion and select candidate posts 1101 based on the trend.

[0141] In step 1102, if the user does not have age or gender information, the processor 220 may select candidate posts 1102 based on user category preference by sampling only a predetermined ratio of candidate posts from the globally popular Redis 902.

[0142] In step 1103, if the user has age and gender information, the processor 220 may sample a predetermined ratio of candidate posts from the Redis 903 popular age group and gender segment, and select candidate posts 1102 based on user category preference.

[0143] The processor 220 can integrate candidate posts 1101 based on trends and candidate posts 1102 based on user category preferences and provide them as a final popularity-based recommendation pool 1103. For example, if the mixing ratio of candidate posts based on trends and candidate posts based on user category preferences is set to 1:9, then 10% of candidate posts may be selected from trend Redis 602 and 90% from segment popularity Redis 903, and these may be provided as a popularity-based recommendation pool 1103.

[0144] Thus, according to the embodiments of the present invention, when selecting candidate posts for recommendation based on popularity, it is possible to predict the future popularity of the posts and select posts with a high potential for virality as candidate posts, thereby ensuring opportunities for exploring new content and guaranteeing recommendation quality.

[0145] Furthermore, according to embodiments of the present invention, when selecting candidate posts for recommendation based on popularity, it is possible to select more personalized candidate posts that reflect user preferences regarding post categories, thereby ensuring opportunities for exploration of new content and recommendation quality.

[0146] Furthermore, according to embodiments of the present invention, by managing candidate posts using a DB system that can be updated in real time, it is possible to efficiently manage a recommendation pool based on popularity and quickly reflect user responses.

[0147] The above-described apparatus may be implemented by hardware components, software components, and / or combinations of hardware and software components. For example, the apparatus and components described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as processors, controllers, ALUs (arithmetic logic units), digital signal processors, microcomputers, FPGAs (field programmable gate arrays), PLUs (programmable logic units), microprocessors, or various devices capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and one or more software applications running on the OS. The processing unit may also respond to software execution, access data, record, manipulate, process, and generate data. For convenience of understanding, it may be described as if a single processing unit is used, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.

[0148] Software may include computer programs, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or which may instruct the processing unit independently or collectively. Software and / or data may be embodied in any kind of machine, component, physical device, computer recording medium, or device for interpretation based on the processing unit or for providing instructions or data to the processing unit. Software may be distributed across a networked computer system, and may be recorded or executed in a distributed manner. Software and data may be recorded on one or more computer-readable recording media.

[0149] The methods according to the embodiment may be implemented in the form of program instructions executable by various computer means and recorded on a computer-readable medium. In this case, the medium may continuously record computer-executable programs or may temporarily record them for execution or download. Furthermore, the medium may be various recording or storage means in the form of a combination of one or more hardware components, and may be a medium directly connected to a computer system or distributed on a network. Examples of mediums include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and devices configured to record program instructions such as ROM, RAM, and flash memory. Other examples of mediums include recording media and storage media managed by app stores that distribute applications, and sites and servers that supply and distribute various other software.

[0150] As described above, embodiments have been explained based on limited embodiments and drawings, but those skilled in the art will be able to make various modifications and variations from the above description. For example, the described technique may be performed in a different order than described, and / or the components of the described system, structure, apparatus, circuit, etc. may be combined or assembled in a different manner than described, or opposed or replaced by other components or equivalents, and still achieve suitable results.

[0151] Therefore, even if the embodiment is different, if it is equivalent to the claims, it falls within the scope of the attached claims.

[0152] This application claims priority based on Patent Application No. 10-2024-0184676, filed with the Korean Intellectual Property Office on December 12, 2024, and the entire contents of said Patent Application No. 10-2024-0184676 are incorporated into this application by reference. [Explanation of symbols]

[0153] 110, 120, 130, 140: Electronic equipment 150, 160: Server 170: Network

Claims

1. A method for selecting candidate post-processors for a computer device including at least one processor, With the aforementioned at least one processor, The steps include:

1. Organizing at least some of the positions into a candidate pool, The steps include: calculating a trend score by predicting the click score for a predetermined period through a predictive model for each post included in the candidate pool; Using the aforementioned trend score, the step of selecting candidate posts from the candidate pool for recommendation based on popularity, A method for selecting candidate positions, including the selection process for the position.

2. The steps described above constitute the following: The candidate post selection method according to claim 1, wherein, among posts whose post age is less than or equal to a predetermined time, posts whose predetermined activity index falls within a predetermined proportion of the top levels are configured as the candidate pool.

3. The steps described above constitute the following: The candidate post selection method according to claim 1, wherein, among posts whose post age is less than or equal to a predetermined time, posts that fall within a predetermined ratio of the highest percentage increase or decrease in the number of plays are configured as the candidate pool.

4. The calculation step described above is: A candidate post selection method according to claim 1, comprising the step of being given features related to the interaction between the post and the user, features related to the post creator, and features of the post itself as input features, and predicting the click score of each post included in the candidate pool through the predictive model which has been trained on the interactions between the input features.

5. The calculation step described above is: The candidate post selection method according to claim 4, wherein for each post included in the candidate pool, the trend score is calculated by applying a hyperparameter to the click score for adjusting the rate of decrease of the score.

6. The aforementioned click score includes the number of views of the post, a positive click score, and a negative click score. The candidate post selection method according to claim 4, wherein the prediction model learns by separating the number of plays and the click score excluding the number of plays.

7. The aforementioned selection step is, A candidate post selection method according to claim 1, comprising the step of configuring the candidate pool and the trend score of each post included in the candidate pool using a Redis that can be updated in real time.

8. The aforementioned selection step is, The steps include sampling posts whose trend score corresponds to a predetermined number or proportion of the highest scores, A method for selecting candidate posts according to claim 1, comprising the step of selecting at least some of the sampled posts as candidate posts for making recommendations based on popularity, based on a predetermined mixing ratio.

9. The aforementioned selection step is, The steps include sampling posts whose trend score corresponds to a predetermined number or proportion of the highest scores, A candidate post selection method according to claim 1, comprising the step of removing at least one duplicate post from the sampled posts that contains content similar to a post by an author that the user has marked as not of interest.

10. The aforementioned selection step is, The steps include sampling posts whose trend score corresponds to a predetermined number or proportion of the highest scores, A candidate post selection method according to claim 1, comprising the step of removing at least one of the following from the sampled posts: posts from personal accounts and posts that do not have video embeds.

11. A computer program for causing the computer device to execute the candidate post selection method described in any one of claims 1 to 10.

12. A computer device comprising at least one processor configured to execute instructions readable by the computer device, With the aforementioned at least one processor, The process of configuring at least some of the positions as a candidate pool, For each post included in the candidate pool, the process of calculating a trend score is performed by predicting the click score for a predetermined period through a predictive model. A process for selecting candidate posts from the candidate pool to make recommendations based on popularity, using the aforementioned trend score, A computer device that processes data.

13. With the aforementioned at least one processor, The computer device according to claim 12, wherein among posts whose post age is less than or equal to a predetermined time, posts whose predetermined activity index falls within a predetermined proportion of the highest levels are configured as the candidate pool.

14. With the aforementioned at least one processor, The computer device according to claim 12, wherein, among posts whose post age is less than or equal to a predetermined time, posts that have a predetermined ratio of the highest increase or decrease rate in the number of replays are configured as the candidate pool.

15. With the aforementioned at least one processor, The computer device according to claim 12, wherein features relating to the interaction between a post and a user, features relating to the post creator, and features of the post itself are given as input features, and the computer device predicts the click score of each post included in the candidate pool through the predictive model which has been trained with respect to the interactions between the input features.

16. With the aforementioned at least one processor, The computer device according to claim 15, which calculates the trend score by applying a hyperparameter to adjust the rate of decrease of the score to the click score for each post included in the candidate pool.

17. The aforementioned click score includes the number of views of the post, a positive click score, and a negative click score. The computer device according to claim 15, wherein the prediction model learns by separating the number of plays and the click score excluding the number of plays.

18. With the aforementioned at least one processor, The computer device according to claim 12, comprising a candidate pool and a Redis that can update the trend score of each post included in the candidate pool in real time.

19. With the aforementioned at least one processor, A predetermined number or proportion of posts with the above trend score are sampled. The computer device according to claim 12, which selects at least a portion of the sampled posts as candidate posts for making recommendations based on popularity, based on a predetermined mixing ratio.

20. With the aforementioned at least one processor, A predetermined number or proportion of posts with the above trend score are sampled. The computer device according to claim 12, which removes from the sampled posts at least one of the following: posts by authors that the user has marked as not of interest, duplicate posts containing similar content, posts from personal accounts, or posts that do not have embedded videos.

Citation Information

Patent Citations

  • Method of managing relay posts and server performing the same

    KR101754373B1