Candidate post selection method, computer device, and computer program

The method addresses the challenge of biased recommendations by calculating popularity scores based on user preferences and trend analysis, enhancing the quality and personalization of post recommendations in social media platforms.

JP2026103842APending 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-05
Publication Date
2026-06-24

AI Technical Summary

Technical Problem

Existing social media platforms struggle to provide personalized and timely recommendations for posts that have a high potential for virality, often leading to biased recommendations towards a small number of popular posts and neglecting user preferences for post categories.

Method used

A method for selecting candidate posts using a processor to calculate popularity scores based on user category preferences and trend analysis, incorporating a DCN model for predicting click scores and utilizing Redis for real-time updates, to create a popularity-based recommendation system.

Benefits of technology

Enhances the quality of recommendations by early detection of posts with high viral potential and personalization, providing opportunities for users to explore new content while efficiently managing candidate posts with real-time updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026103842000001_ABST
    Figure 2026103842000001_ABST
Patent Text Reader

Abstract

This invention provides a method, computer device, and program for selecting candidate posts based on user category preferences. [Solution] The candidate post selection method includes the steps of: configuring at least some posts as a candidate pool; calculating a popularity score that reflects user category preference for each post included in the candidate pool; and using the popularity score to select candidate posts from the candidate pool for making recommendations 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 are general terms for 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 is 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 popularity score that reflects user category preference for each post included in the candidate pool using at least one processor; and selecting candidate posts from the candidate pool for popularity-based recommendations using at least one processor.

[0012] According to one embodiment, the configuration step may configure at least some of the posts for which logs exist within the most recent predetermined period as a candidate pool.

[0013] According to another embodiment, the configuration step may involve configuring a candidate pool of posts that have been consumed by users within the most recent predetermined period and whose click scores fall within a predetermined percentage of the total.

[0014] In other embodiments, the constituent steps may include excluding posts belonging to at least one predetermined category from the candidate pool.

[0015] In another embodiment, the calculation step may include calculating a popularity score for each post in the candidate pool based on the click score of each post, and for each category of posts consumed by the user, the step of calculating the preference probability for each category, the step of correcting the click score based on the preference probability, and the step of calculating the popularity score based on the corrected click score.

[0016] In another embodiment, the calculation step may involve calculating a popularity score based on click scores aggregated as click logs from at least one of the following segments: the same age group as the user and the same gender segment as the user.

[0017] In another embodiment, the step of correcting the click score may, in the case of a user without category preference, correct the click score based on the average preference probability of users belonging to at least one of the same age group and gender segment.

[0018] In another embodiment, the calculation step may involve applying a hyperparameter to adjust the rate of score reduction to the corrected click score for each post included in the candidate pool, thereby calculating the popularity score.

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

[0020] According to still other embodiments, the selecting step may include sampling posts corresponding to a predetermined number or a predetermined ratio of the top popularity scores, and selecting, based on a predetermined mixing ratio, at least some of the sampled posts as candidate posts for making popularity-based recommendations.

[0021] To cause a computer device to execute the candidate post selection method, a computer program recorded on a computer-readable recording medium is provided.

[0022] Provided is a computer device including at least one processor configured to execute instructions readable by the computer device, and the at least one processor processes a process of configuring at least some of the posts as a candidate pool, a process of calculating a popularity score reflecting the user category preference for each post included in the candidate pool, and a process of selecting, based on the popularity score, candidate posts for making popularity-based recommendations from the candidate pool.

Brief Description of the Drawings

[0023] [Figure 1] FIG. is a diagram showing an example of a network environment according to an embodiment of the present invention. [Figure 2] FIG. is a block diagram showing an example of a computer device according to an embodiment of the present invention. [Figure 3] FIG. is a flowchart showing an example of a method executable by a computer device according to an embodiment of the present invention. [Figure 4] FIG. is a diagram showing a process of selecting candidate posts based on a trend in an embodiment of the present invention. [Figure 5] FIG. is a diagram showing an example of a process of calculating a click score in an embodiment of the present invention. [Figure 6] FIG. is a diagram showing an example of a DCN model for predicting a click score in an embodiment of the present invention. [Figure 7] This diagram shows the process for selecting candidate posts based on user category preferences in one embodiment of the present invention. [Figure 8] This figure shows an example of post-click score correction in one embodiment of the present invention. [Figure 9] This figure shows an example configuration of the popularity-based Redis in one embodiment of the present invention. [Figure 10] This is a flowchart showing the candidate post-filtering process in one embodiment of the present invention. [Figure 11] This figure shows an example of the configuration of a recommendation pool based on popularity in one embodiment of the present invention. [Modes for carrying out the invention]

[0024] Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0025] This embodiment relates to a technology that provides candidate posts for making recommendations based on popularity.

[0026] Embodiments including those specifically disclosed herein can select posts that reflect user category preferences as candidate posts for popularity-based recommendations.

[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 or 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 contain 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 a specific implementation of a technology for selecting candidate positions for recommendation 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] Recommendations based on existing popularity select posts with high popularity within a specified period from among all posts, and the number of times a post has been played for a specified time (e.g., 3 seconds) or more (view count) or the cumulative number of "likes" (like count) can be used as indicators of popularity for a post.

[0041] Simply using cumulative metrics in this way can lead to a bias towards a small number of posts, resulting in a decrease in the quality of recommendations.

[0042] This embodiment improves popularity-based recommendations by early detection of posts with a high potential to go viral and selecting them as recommendation candidates, while also reflecting user preferences regarding post categories, thereby enabling the selection of more personalized recommendation candidates.

[0043] The computer device 200 according to this embodiment can 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 by 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 application for a specific application and implemented to operate on that 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 to realize 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, and 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 depending on the embodiment, at least part 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 execute 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 a predetermined number or proportion of the top posts as candidate posts based on the trend score.

[0052] In step 320, the processor 220 may select a group of candidate posts (hereinafter sometimes referred to as the "second group of candidate posts") based on a popularity score that reflects user category preferences. The processor 220 may determine the 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 obtained by scoring the click logs entered as user reactions to the post. In this case, the user category preference may be used as a weight for the click score to correct it. The processor 220 may use the click score that reflects information about user-preferred 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 as candidate posts.

[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 requested, 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, while considering 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 discover and recommend content with a high potential for virality early on through a trend CDG (candidate generator) in order to provide opportunities for new content exploration.

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

[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 calculate the trend score for each post based on the click score. 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 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 that add points and negative types that subtract points. For example, a score of 520 may be added for accessing the comment screen, entering comments, entering "likes," accessing the profile screen, viewing / saving content such as videos and images attached to posts, sharing posts, and accessing thumbnail screens. A score of 520 may be subtracted for actions such as undoing a "like," deleting comments, reporting an account or post, or hiding an account or post. As an example, the subtraction score may be assigned a higher value than the addition score, and the cumulative score may decrease significantly when a subtraction score is received. Here, the score of 520 for each click type 510 is merely an example and may be changed as needed.

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

[0069] The DCN model 600 is a model that predicts click scores using various features, and 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 related to 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 sometimes 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 for the two towers to calculate the final click score.

[0081] Therefore, in this embodiment, the potential for post-trend predictions can be precisely predicted by utilizing various input features through the DCN model 600.

[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 rank assigned when the posts are sorted in descending order, with higher scores indicating lower ranks. 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 top 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.

number

[0093] 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 fall into a predetermined number or proportion of the top categories based on the trend score as candidate posts.

[0094] 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.

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

[0096] 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 exploring new content.

[0097] 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 whose click scores fall within a predetermined percentage (e.g., 5%) of the total.

[0098] The click score can 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.

[0099] 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.

[0100] 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.

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

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

[0103] 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 or gender segment may be used.

[0104] 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.

[0105] The popularity score for each post may be calculated using click scores (WCS) aggregated from click logs of users by age group and gender segment, and may be defined as shown in equation (4).

[0106]

number

[0107] Here,

[0108]

number

[0109] 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.

[0110]

number

[0111] 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 that exponentially reduces the score.

[0112]

number

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

[0114]

number

[0115] The smaller the value, the more rapidly the score changes, leading to a concentration of scores in the higher positions.

[0116]

number

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

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

[0119]

number

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

[0121]

number

[0122] By tuning this, more sophisticated recommendations become possible.

[0123] 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.

[0124] 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 has a structure that 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 reactions.

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

[0126] 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.

[0127] 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.

[0128] For users for whom age and gender information is unavailable, the global popularity Redis902 can be used. Conversely, for users for whom age and gender information is available, the segmented popularity Redis903, which is based on the relevant age group and gender, may be used. In other words, segmented 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.

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

[0130] The processor 220 may perform filtering of candidate posts in the process of combining the first group of candidate posts and the second group of candidate posts into a single pool and constructing a recommendation pool based on popularity.

[0131] 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.

[0132] 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.

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

[0134] 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.

[0135] 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.

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

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

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

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

[0140] In step 1103, if the user is available for age and gender information, the processor 220 may sample candidate posts in a predefined proportion from the Redis 903 popular age and / or gender segment and select candidate posts 1102 based on user category preference.

[0141] The processor 220 may combine candidate posts 1101 based on trends and candidate posts 1102 based on user category preferences and ultimately provide them as a recommendation pool 1103 based on popularity. 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 recommendation pool 1103 based on popularity.

[0142] 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 improving recommendation quality.

[0143] 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 for post categories, thereby ensuring opportunities for exploring new content and the quality of recommendations.

[0144] Furthermore, according to embodiments of the present invention, by managing candidate posts using a DB system with a structure that allows for real-time updates, it is possible to efficiently manage a recommendation pool based on popularity and quickly reflect user responses.

[0145] 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.

[0146] 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.

[0147] 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.

[0148] 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.

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

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

[0151] 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, The steps include configuring at least some posts as a candidate pool using the aforementioned at least one processor, The steps include: using at least one processor to calculate a popularity score for each post included in the candidate pool that reflects user category preference; The steps include: using the popularity score of at least one processor to select candidate posts from the candidate pool for recommendation based on popularity; A method for selecting candidate positions, including the selection process for each position.

2. The steps described above constitute the following: The candidate post selection method according to claim 1, characterized in that at least some of the posts for which logs exist within the most recent predetermined period are configured as a candidate pool.

3. The steps described above constitute the following: The candidate post selection method according to claim 1, characterized in that, among the posts consumed by users within the most recent predetermined period, posts corresponding to a predetermined percentage with the highest click scores are configured as the candidate pool.

4. The steps described above constitute the following: A candidate post selection method according to claim 1, comprising the step of excluding posts belonging to at least one predetermined category from the candidate pool.

5. The calculation step described above is: For each post included in the candidate pool, the popularity score is calculated based on the click score of each post. The steps include: calculating the preference probability for each category of posts consumed by the user; A step of correcting the click score based on the preference probability, A step of calculating the popularity score based on the corrected click score, A candidate post selection method according to claim 1, including the method described in claim 1.

6. The calculation step described above is: The candidate post selection method according to claim 5, characterized in that the popularity score is calculated based on click scores aggregated as click logs from at least one of the following segments: the same age group as the user and the same gender segment as the user.

7. The step of correcting the aforementioned click score is: The candidate post selection method according to claim 5, characterized in that, in the case of a user who does not have a category preference, the click score is corrected based on the average value of the preference probability of users belonging to at least one of the same age group and gender segment.

8. The calculation step described above is: The candidate post selection method according to claim 5, characterized in that for each post included in the candidate pool, the popularity score is calculated by applying a hyperparameter for adjusting the rate of score reduction to the corrected click score.

9. The aforementioned selection step is, The candidate post selection method according to claim 1, comprising the step of configuring the candidate pool and the popularity score of each post included in the candidate pool as a Redis with a structure that can be updated in real time.

10. The aforementioned selection step is, The steps include sampling posts that fall within a predetermined number or proportion of the top popularity scores, The steps include selecting at least some of the sampled posts as candidate posts for recommendation based on popularity, based on a predetermined mixing ratio, A candidate post selection method according to claim 1, including the method described in claim 1.

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. It includes at least one processor configured to execute instructions readable by a computer device, With the aforementioned at least one processor, The process of configuring at least some of the positions as a candidate pool, A process for calculating a popularity score that reflects user category preference for each post included in the aforementioned candidate pool, A process for selecting candidate posts from the candidate pool to make recommendations based on popularity, using the aforementioned popularity score, A computer device that processes data.

13. With the aforementioned at least one processor, The computer device according to claim 12, characterized in that at least some of the posts for which logs exist within the most recent predetermined period are configured as the candidate pool.

14. With the aforementioned at least one processor, The computer device according to claim 12, characterized in that, among the posts consumed by users within the most recent predetermined period, posts corresponding to a predetermined percentage with the highest click scores are configured as the candidate pool.

15. With the aforementioned at least one processor, The computer device according to claim 12, characterized in that it excludes posts belonging to at least one predetermined category from the candidate pool.

16. With the aforementioned at least one processor, For each post included in the candidate pool, the popularity score is calculated based on the click score of each post. For each category of posts consumed by the user, the preference probability for each category is calculated. The click score is corrected based on the aforementioned preference probability. The computer device according to claim 12, characterized in that it calculates the popularity score based on the corrected click score.

17. With the aforementioned at least one processor, The computer device according to claim 16, characterized in that it calculates the popularity score based on click scores aggregated as click logs from at least one of the user's age group and the user's gender segment.

18. With the aforementioned at least one processor, The computer device according to claim 16, characterized in that, in the case of a user who does not have a category preference, the click score is corrected based on the average value of the preference probability of users belonging to at least one of the same age group and same gender segment.

19. With the aforementioned at least one processor, The computer device according to claim 16, characterized in that for each post included in the candidate pool, the popularity score is calculated by applying a hyperparameter for adjusting the rate of score reduction to the corrected click score.

20. With the aforementioned at least one processor, The computer device according to claim 12, characterized in that the candidate pool and the popularity score of each post included in the candidate pool are configured as a Redis with a structure that can be updated in real time.

Citation Information

Patent Citations

  • Method of managing relay posts and server performing the same

    KR101754373B1