Dynamic crowd selection method and system for precise personalized advertisement delivery

Through the combination of the three-level tag catalog system and the RoaringBitmap algorithm, the population tag data is dynamically updated and the crowd characteristics are quickly analyzed, which solves the problem that traditional advertising delivery strategies are difficult to achieve highly personalized promotion, and the precise delivery of personalized advertising is achieved, and the efficiency and effectiveness of advertising delivery is improved.

CN119809727APending Publication Date: 2025-04-11SHANGHAI BEIRUI INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411893103.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

Traditional advertising delivery strategies are difficult to achieve highly personalized promotion. RoaringBitmap technology is not flexible enough when dealing with complex tag rules, and it is time-consuming and inefficient in manually analyzing population characteristics.

Method used

The three-level tag catalog system is used to produce population tag data in combination with the RoaringBitmap algorithm, dynamically update the population tag data, and quickly analyze the population characteristics through the crowd intelligent analysis module to achieve accurate delivery of personalized advertisements.

Benefits of technology

It realizes the precise delivery of personalized advertisements, improves the efficiency and effectiveness of advertising delivery, and solves the problems of insufficient flexibility and low manual analysis efficiency in traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119809727A_ABST
    Figure CN119809727A_ABST
Patent Text Reader

Abstract

The invention relates to a dynamic crowd selection method and system for precise personalized advertisement delivery. The method comprises the following steps: establishing a tag directory system; the crowd basic data is transmitted to a postgreSQL database regularly or in real time through a transmission tool, and crowd label data is produced and dynamically updated by adopting a RoaringBitmap algorithm; setting business information on the crowd definition module, selecting crowd label conditions, and the and / or relationship among the labels and the labels to be excluded, redefining dynamic labels, and setting refreshing information of the selected crowd; and the crowd production module executes the crowd definition SQL to obtain the final selected crowd basic data, and dynamically updates the crowd basic data according to the refreshing information. According to the method, free definition of the selected crowd can be realized, the change of service requirements can be responded in time, customized crowd strategy suggestions can be provided for the service, the manual subjective influence is reduced, high-value user groups are automatically identified, and accurate positioning is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of crowd selection, and in particular to a dynamic crowd selection method and system for precise delivery of personalized advertisements. Background Art

[0002] In today's data-driven business environment, companies are paying more and more attention to the commercial value transformation of their data assets, especially in the advertising business scenario. How to efficiently use big data to achieve accurate advertising has become the focus of industry attention. Traditional advertising strategies are often based on rough user grouping, which is difficult to meet the business's needs for highly personalized promotion. In order to solve this problem, the industry has introduced ID-Mapping technology, which aims to break through data barriers from different sources and achieve deep integration of data, thereby promoting the digital operation transformation of the advertising business. The implementation of this technology relies on a complete label category system, from data access, user identification to label production, and finally forms a crowd portrait, supports in-depth analysis, and provides the possibility for accurate advertising targeting.

[0003] In order to realize the commercial value of data assets, in the label production process, it is necessary to process tens of billions of label data, not only to achieve real-time updates, but also to estimate and select the number of people in seconds. Although the RoaringBitmap technology effectively alleviates the bottleneck of data storage and computing efficiency, this solution sacrifices a certain degree of flexibility while improving efficiency. RoaringBitmap technology is difficult to support complex label value range definitions, which limits the refined operation of crowd selection and restricts the personalization of advertising.

[0004] In addition, for the rapid analysis of the characteristics of a specific population, traditional methods rely on manual analysis processes, which are time-consuming and inefficient. For example, for a group of newly active users on a certain day, analysts need to manually integrate information from multiple dimensions such as user registration information, behavioral data, and preference settings for comprehensive analysis. This process is not only cumbersome, but may also lead to incomplete or biased analysis due to human factors. Therefore, how to quickly and accurately understand and describe the characteristics of this group of people has become a key challenge in improving the efficiency and effectiveness of advertising. Summary of the invention

[0005] The purpose of the present invention is to overcome the shortcomings of the above-mentioned prior art and to provide a dynamic crowd selection method for personalized advertising precision delivery that can be personalized, can respond to changes in business needs in real time, and has high accuracy, as well as a dynamic crowd selection system for personalized advertising precision delivery that implements this method.

[0006] The present invention is achieved through the following technical solutions:

[0007] A dynamic crowd selection method for accurate personalized advertising delivery includes the following steps:

[0008] S1. Establish a suitable label catalog system according to the business areas involved. The label catalog system has three levels of labels, including primary labels, secondary labels and tertiary labels. The primary labels include multiple major category labels. The secondary labels are the next level labels of the major category labels. One major category label corresponds to multiple secondary labels. The tertiary labels are the next level labels of the secondary labels. One secondary label corresponds to multiple tertiary labels.

[0009] S2. Production of crowd label data: The crowd basic data is transmitted to the postgreSQL database in a scheduled or real-time manner through a transmission tool. According to the definition of each level of labels in the label directory system, the crowd label data is produced using the RoaringBitmap algorithm. The crowd label data is dynamically updated through the transmitted real-time crowd basic data, and the crowd label data is stored in the postgreSQL database.

[0010] S3. Population definition:

[0011] S3-1. Business personnel set business information including the name of the selected group, detailed definition of the selected group, and name of the advertising product on the crowd definition module according to actual needs. The crowd definition module records the business information and writes it into the postgreSQL database.

[0012] S3-2, the label directory system in step S1 is displayed on the crowd definition interface of the crowd definition module for the business personnel to select and use. The business personnel select at least one first-level label according to actual needs, and then select at least one corresponding second-level label under each corresponding first-level label, and at least one corresponding third-level label under each corresponding second-level label, and then select the and / or relationship between each third-level label, and then select the label to be excluded, so as to define the static label of the crowd;

[0013] S3-3. Dynamic tags are automatically displayed on the crowd definition interface of the crowd definition module for business personnel to select and use. Business personnel select a corresponding dynamic tag or a combination of multiple dynamic tags according to actual needs, that is, dynamic tags of the crowd are defined;

[0014] S3-4. According to the definition of the static tags and dynamic tags of the crowd, the crowd size is estimated by calculation; the business personnel then define the refresh information of the selected crowd through the crowd definition module according to the estimated crowd size, and the refresh information includes whether the selected crowd needs to be refreshed, the refresh time and the refresh frequency; the static tags, dynamic tags and refresh information of the defined crowd are collectively referred to as crowd definition data; after determining the crowd definition data, the crowd definition module writes the crowd definition data into the Postgres database;

[0015] S4. Crowd production: The crowd production module executes the crowd definition SQL to obtain the final selected crowd data and writes it into the crowd table. The crowd table stores crowd data in the format of RoaringBitmap. The crowd data includes crowd ID, crowd name, crowd definition SQL, crowd refresh time and refresh frequency. The crowd production module uses the pg_cron timing plug-in of the postgreSQL library to periodically read the previous refresh time of the crowd table, and combines it with the refresh frequency to determine whether it is necessary to execute the crowd definition SQL to refresh the crowd, so as to dynamically update the crowd data.

[0016] Furthermore, before step S3-2, the following steps are also included:

[0017] The business personnel import the basic population data of the specific population that has consumed the relevant products into the crowd intelligent analysis module. The crowd intelligent analysis module uses the Roaringbitmap algorithm to analyze the basic population data, obtain the three-level tags of each user in the specific population, aggregate them with the three-level tags as the dimension, count the number of users of each three-level tag, and then filter out the three-level tags that meet the tag number standard according to the tag number standard set by the business personnel. Then, these three-level tags are classified according to the hierarchical relationship of the tags at all levels in the tag directory system to obtain the user portrait of the specific population, and the user portrait of the specific population is displayed on the crowd portrait interface of the crowd intelligent analysis module. The user portrait includes the proportion of users corresponding to each three-level tag in the group;

[0018] Business personnel can choose to synchronize user portraits to the crowd definition interface of the crowd definition module on the crowd intelligent analysis interface as needed, and the corresponding three-level labels will be displayed on the crowd definition interface for business personnel to choose.

[0019] Furthermore, the crowd intelligent analysis module uses the Roaringbitmap algorithm to analyze the basic data of the crowd: classify the basic data of the crowd through the Roaringbitmap operation operator "label bitmap@>user ID", put the user ID in each label bitmap, and match whether there is a corresponding label in the user data. If so, return 1, otherwise return 0.

[0020] Furthermore, the sources of the population basic data in step S2 include cloud database, embedded point data and MySQL database.

[0021] Furthermore, in step S2, the transmission tools include Flink tools, ploybase tools, maxcompute big data transmission tools, flume tools and spark tools. The Flink tool is used to synchronize user web page access behavior data in real time, the ploybase technology is used to synchronize user service and function data offline at a scheduled time, the maxcompute big data transmission tool is used to implement and synchronize user operation behavior data offline, the flume tool is used to synchronize and transmit the log file data of the website server and the social network node data, and the spark tool is used to synchronize user active event record data.

[0022] Furthermore, in step S2, the RoaringBitmap algorithm is used to generate crowd label data, and the method of dynamically updating crowd label data through the transmitted real-time crowd basic data is as follows:

[0023] The RoaringBitmap algorithm compresses the user ID set contained in each third-level label into a data unit in the form of a Bitmap. A Bitmap data unit includes multiple user IDs and corresponds to a third-level label name, forming a row of data. Multiple third-level labels correspond to multiple rows of data. A label data table is produced from multiple rows of data. The label data table stores the crowd label data required for crowd selection. When the data of a certain third-level label changes, the data change is captured, and the RoaringBitmap algorithm is used to add the newly added users to the Bitmap data unit corresponding to the third-level label, and the invalid users are removed from the Bitmap data unit corresponding to the third-level label, so as to maintain the crowd label data.

[0024] Furthermore, the first-level tags include user attributes, user devices, user consumption, user behavior, marketing reach and function usage; the second-level tags under the user attributes include user identity, registration days, industry and region, the second-level tags under the user device include PC, mobile phone and tablet, the second-level tags under user consumption include product name, product level, payment type and main service consumer user, the second-level tags under user behavior include registration, login, consultation, browsing, purchase and after-sales, the second-level tags under marketing reach include redemption products, number of redemptions and number of trial receipts, and the second-level tags under function usage include function usage preferences.

[0025] Furthermore, the static tag is a tag that is determined after the data is created or produced and generally does not change during its life cycle; the dynamic tag is a tag that is generated or updated in real time according to changes in the data status, context or external conditions, and depends on factors including user behavior, timestamps and events; the dynamic tag includes user attributes and user activity, the user attribute tag includes the user registration time range, user source, user activity interval and user identity characteristics, and the user activity includes active frequency, active terminal and active duration.

[0026] Furthermore, the method for defining the static labels of the crowd in step S3-2 is:

[0027] S3-2-1. When the business personnel clicks the drop-down menu to trigger the fixed SQL statement to query the first-level tag in the postgreSQL database, the first-level tag is displayed in the drop-down menu. After the business personnel selects the first-level tag, the crowd definition module automatically generates an SQL statement to query and display the second-level tags under the first-level tag through where;

[0028] S3-2-2. When the business personnel selects a secondary tag, the crowd definition module automatically generates an SQL statement to query and display the tertiary tags under the secondary tag through where; when the business personnel selects a tertiary tag, it automatically generates an SQL statement to query the corresponding tertiary tag in the tag directory system through where;

[0029] S3-2-3. After the business personnel repeat steps S3-2-1 and S3-2-2 to select all the third-level tags required for the selected group, the group definition module provides the "and" or "or" relationship options between the third-level tags for the business personnel to choose. When the "and" relationship is selected, the rb_and_agg() function is used to concatenate the SQL corresponding to the third-level tags to generate a new SQL; when the "or" relationship is selected, the rb_or_agg() function is used to concatenate the SQL corresponding to the third-level tags to generate a new SQL;

[0030] S3-2-4. After the "and" and "or" relationships between the three-level tags are selected, the crowd definition module provides an exclusion tag option. Select one or more third-level tags to be excluded according to the methods in steps S3-2-1 and S3-2-2, including excluding users with blacklist tags. After the SQL is generated, it is concatenated with the SQL generated in step S3-2-3 through the operator "-" to obtain the crowd definition SQL after excluding tags.

[0031] A dynamic crowd selection system for personalized advertising precision delivery, used to implement the above-mentioned dynamic crowd selection method for personalized advertising precision delivery, including a data transmission module, a label data production module, a PostgreSQL database, a crowd definition module, a crowd production module and a crowd intelligent analysis module;

[0032] The data transmission module is used to transmit the basic data of the population from different sources to the postgreSQL database in a timely or real-time manner through a transmission tool;

[0033] The label data production module includes a dynamic label generation engine, which uses a RoaringBitmap algorithm to produce crowd label data according to crowd basic data, and dynamically updates the crowd label data according to the crowd basic data captured in real time;

[0034] The crowd definition module includes a crowd definition interface and a crowd definition SQL statement generation unit. The crowd definition interface is used to display the labels of each level, the AND / OR relationship between the three-level labels, and the excluded labels according to the hierarchical structure of the label directory system for selection by business personnel. The crowd definition SQL statement generation unit is used to automatically generate the crowd definition SQL statement according to the selection of the business personnel.

[0035] The crowd production module is used to generate the selected crowd data according to the crowd definition data of the crowd definition module, and dynamically refresh the crowd selection data according to the crowd label data dynamically updated by the label data production module;

[0036] The crowd intelligent analysis module is used to analyze the basic crowd data of the consumer crowd using the Roaringbitmap algorithm, to create user portraits for the crowd, to obtain crowd label information for reference by business personnel, and to provide a link for business personnel to import crowd label data into the crowd definition interface of the crowd definition module;

[0037] The PostgreSQL database is used to store basic crowd data, crowd label data, crowd definition data and crowd selection data.

[0038] The present invention uses the label directory system, label data production, crowd definition and crowd production as the underlying framework, and uses various big data tools such as RoaringBitmap, Flink, PostgreSQL, etc. as the technical basis to achieve the purpose of freely defining the circled crowd according to the specific business needs, and thus producing and updating the circled crowd. It can respond to changes in business needs in real time, automatically produce highly adaptable labels, and greatly improve the accuracy and efficiency of advertising delivery; the dynamic label generation engine can automatically update the label data in real time, and combine with the static labels to automatically update the user labels to ensure the timeliness and accuracy of the crowd portrait, so that the relevant personnel can accurately and quickly grasp the latest characteristics of the target audience, and realize the real "thousands of people with thousands of faces" personalized advertising precision delivery, which not only solves the problem of insufficient flexibility of the traditional static label system, but also overcomes the RoaringBitmap The limitations of ap technology when processing complex label rules; use crowd intelligent analysis tools to analyze the crowd portrait of specific target groups, extract core labels, and define the target population with reference to the label data of specific groups, select the crowd with one click, and provide customized crowd strategy suggestions for the business, reduce manual intervention, reduce human subjective influence, automatically identify high-value user groups, and achieve precise positioning; use RoaringBitmap bitmap compression technology, in terms of computing and storage, it has the advantages of high computing efficiency and low storage consumption; based on the label system design, it has a comprehensive label directory system, and the data processing is combined with the label directory system to generate the corresponding user set, which is comprehensive and expandable; it has the ability to dynamically update in real time, and uses Flink synchronization and RoaringBitmap and other technologies to synchronize source data changes in real time, and calculate and synchronize them to user groups in real time. The dynamic crowd selection system of this application builds a highly integrated platform that integrates crowd selection, portrait analysis, advertising setting, and automated promotion, greatly shortening the time cycle from data insight to advertising execution and improving advertising delivery efficiency. The platform provides an intuitive visual interface for users to view and operate intuitively, and users without technical backgrounds can also easily complete crowd feature analysis and selection operations. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 The figure is a flow chart of a method according to an embodiment of the present invention.

[0040] Figure 2 The following is a flowchart of an embodiment of the present invention.

[0041] Figure 3 It is a structural framework diagram of an embodiment of the present invention. DETAILED DESCRIPTION

[0042] A dynamic crowd selection method for personalized advertising precision delivery, such as Figure 1 , Figure 2, including the following steps:

[0043] S1. Establish a suitable label catalog system according to the business areas involved. The label catalog system has three-level labels, and the three-level labels include primary labels, secondary labels and tertiary labels. The primary labels include multiple major category labels. The secondary labels are the next-level labels of the major category labels, and one major category label corresponds to multiple secondary labels. The tertiary labels are the next-level labels of the secondary labels, and one secondary label corresponds to multiple tertiary labels.

[0044] A well-constructed label catalog system is the premise and foundation for achieving crowd selection and precise delivery. A comprehensive, accurate, and business-oriented label catalog system can unleash the potential value of data. On the contrary, a "one-basket" label system will lead to waste of manpower and material resources, reduced production efficiency, and ineffective crowd selection.

[0045] The tags stored in the tag data table are divided into three levels according to the hierarchy, business needs and granularity. Based on "people, things, relationships, and events", the first-level tag is usually the broadest classification, which is used to make a preliminary division of data. As one of the ways, the first-level tag has major tags such as user attributes, user devices, user consumption, user behavior, marketing reach, and function use; the second-level tag is for a certain category in the first-level tag, and further defines specific attributes, which usually correspond to the fields in the database. As one of the ways, the second-level tags under the user attributes include multiple tags such as user identity, registration days, industry and region, the second-level tags under the user device include multiple tags such as PC, mobile phone and tablet, the second-level tags under the user consumption include multiple tags such as product name, product level, payment type and main service consumer, the second-level tags under the user behavior include multiple tags such as registration, login, consultation, browsing, purchase and after-sales, the second-level tags under the marketing reach include multiple tags such as redemption products, number of redemptions, number of trial collections, etc., and the second-level tags under the function use include function use preference tags. The third-level tag is a further refinement of the second-level tag. It usually corresponds to a specific data value and contains some specific user information and behavior information. For example, the second-level tag [Payment Type] is further refined into [By Amount], [Annual Payment], [Monthly Payment], etc. The third-level tag also has the definition of "status" value. For example, [Annual Payment] can also define a number of such status values. I will not give examples here. The directory system of tags helps to create a high-coverage tag library, which is conducive to unifying the caliber and facilitating business understanding. It helps to improve the efficiency and accuracy of data processing, making data analysis and application more flexible and in-depth.

[0046] S2. Production of crowd label data: The crowd basic data required for crowd label production is transmitted to the postgreSQL database in a scheduled or real-time manner through the transmission tool. According to the definition of each level of labels in the label directory system, with the help of production job deployment, the RoaringBitmap algorithm is used to produce crowd label data, and the crowd label data is dynamically updated through the transmitted real-time crowd basic data, and the crowd label data is stored in the postgreSQL database. The crowd basic data is only used when the label is produced, so it can be retained for a period of time (such as 7 days) through the retention policy and then deleted, and the produced crowd label data is generally stored in the postgreSQL database for a long time.

[0047] The content covered by the label system is extensive and comprehensive, so a single data source and storage tool cannot achieve a good label data system. Crowd basic data has multiple data sources, such as cloud databases, buried data, MySQL databases, etc. Crowd label data comes from user behavior on the Internet, as well as all related activities such as registration, login, and operation on social network node platforms. The characteristics of different types of data sources (such as database type, data volume) combined with business needs (real-time, non-real-time) need to be applied to different transmission tools. The transmission tools used in the present invention include Flink tools, Ploybase tools, MaxCompute big data transmission tools, Flume tools, Spark tools, etc. Specifically, the Flink tool is used to synchronize user access to web page behavior data in real time. The Ploybase technology is used for periodic offline synchronization of user service and function data, mainly for some paid projects, commercial services and commercial function data activated by users. The MaxCompute big data transmission tool is used to synchronize user operation behavior data, generally referring to the behavior data generated by users operating apps or software, such as clicking buttons and setting functions. User web page access behavior data is the behavior data generated by users operating web pages, such as staying on the page, staying for a certain length of time, browsing a certain web page, etc. The Flume tool is used to synchronize and transmit the log file data of the website server, social network node data, etc. The Spark tool is also used to synchronize user active event record data.

[0048] Flink is a distributed, high-performance, readily available, and accurate stream processing computing framework for stateful computing of unbounded data (stream processing) and bounded data (batch processing). It can run in all common cluster environments and can perform computing at memory speed and any scale. In Flink's definition, everything is composed of streams. Offline data is a bounded stream, that is, bounded data, and real-time data is an unbounded stream, that is, unbounded data. Batch processing is characterized by being bounded, persistent, and large in number. It is very suitable for computing work that requires access to a full set of records to complete, and is generally used for offline statistics; stream processing is characterized by being unbounded and real-time. Instead of performing operations on the entire data set, operations are performed on each data item transmitted through the system. It is generally used for real-time statistics.

[0049] PolyBase is a technology that can access data outside the database through the T-SQL language, allowing the processing of external data from Hadoop and Azure Blob storage. It connects relational data with external source data through T-SQL queries, simplifying data integration without the need for additional ETL tools. PolyBase provides the ability to push calculations to Hadoop nodes to optimize query performance and supports data import and export.

[0050] MaxCompute is an enterprise-level SaaS (Software as a Service) cloud data warehouse suitable for data analysis scenarios. It provides fast, fully managed online data warehouse services with a serverless architecture, eliminating the limitations of traditional data platforms in terms of resource scalability and elasticity, minimizing user operation and maintenance investment, and allowing you to analyze and process massive amounts of data economically and efficiently. MaxCompute provides offline and real-time data access, supports large-scale data computing and query acceleration capabilities. MaxCompute is suitable for data warehouses and BI analysis of large Internet companies, website log analysis, transaction analysis of e-commerce websites, user characteristics and interest mining, etc. MaxCompute is suitable for storage and computing needs of more than 100GB, up to EB level, and has been widely used within the Alibaba Group.

[0051] Flume is a configurable, highly reliable, and highly available big data collection tool. It is mainly used to collect large amounts of data from various data sources into data storage systems to process log data. Flume supports customization of various data senders for data collection; at the same time, Flume provides the ability to simply process data and write it to various data receivers (customizable). The data collected by Flume can be log data, network traffic data, social network node event data (such as Amazon, Facebook, Twitter), email data, etc. It can support various types of access resource data and access data types, support multi-path traffic, multi-channel access traffic, multi-channel access traffic, context routing, etc.

[0052] Spark is an open source big data processing framework that provides high-performance, scalable distributed computing capabilities and can handle large-scale data sets and complex computing tasks. By using Spark, you can make full use of the computing and storage resources in the cluster to process, transform, analyze and mine big data in an efficient way.

[0053] The method of using the RoaringBitmap algorithm to produce crowd label data and dynamically update crowd label data through the transmitted real-time crowd basic data is as follows: the RoaringBitmap algorithm compresses the user ID set contained in each third-level label into a data unit in the form of a Bitmap. A Bitmap data unit includes hundreds of thousands or millions of user IDs and corresponds to a third-level label name, forming a row of data. Multiple third-level labels correspond to multiple rows of data, and a label data table is produced from multiple rows of data. The label data table stores the crowd label data required for crowd selection. When the data of a certain third-level label changes, such as a batch of new users and a batch of invalid users, the label data is maintained by capturing data changes. The RoaringBitmap algorithm is still used to add the new users to the Bitmap data unit corresponding to the third-level label, and the invalid users are removed from the Bitmap data unit corresponding to the third-level label, so as to maintain the crowd label data and ensure the "freshness" of the label data.

[0054] S3. Population definition:

[0055] S3-1. Business personnel set business information including the name of the selected population, detailed definition of the selected population, and name of the advertising product in the crowd definition module according to actual needs. After confirmation, the selection system will record the above business information in the memory, and will write the business information into the postgreSQL database together with the specific population after it is generated.

[0056] S3-2. The label directory system in step S1 is displayed on the crowd definition interface of the crowd definition module for business personnel to choose and use. According to actual needs, the business personnel select at least one first-level label, and then select at least one corresponding second-level label under each corresponding first-level label, and at least one corresponding third-level label under each corresponding second-level label, and then select the and / or relationship between each third-level label, and then select the label to be excluded, so as to define the static label of the crowd.

[0057] Specifically, the definition method of crowd static labels is:

[0058] S3-2-1. On the crowd definition interface, when the business personnel clicks the drop-down menu to trigger a fixed SQL statement to query the first-level tags in the postgreSQL database, the drop-down menu displays the first-level tag categories. After the business personnel selects a first-level tag, the crowd definition module automatically generates an SQL statement to query and display the second-level tags under the first-level tag through where;

[0059] S3-2-2. When the business personnel selects a secondary tag, the crowd definition module automatically generates an SQL statement to query and display the tertiary tags under the secondary tag through where; when the business personnel selects a tertiary tag, it automatically generates an SQL statement to query the corresponding tertiary tag in the tag directory system through where;

[0060] S3-2-3. After the business personnel repeat steps S3-2-1 and S3-2-2 to select all the three-level labels required for the selected group, the group definition module provides the "and" or "or" relationship options between the three-level labels for the business personnel to choose. When the "and" relationship is selected, the rb_and_agg() function is used to concatenate the SQL corresponding to the three-level labels to generate a new SQL; when the "or" relationship is selected, the rb_or_agg() function is used to concatenate the SQL corresponding to the three-level labels to generate a new SQL; complex label relationships, such as "and" first and then "or", are solved by first concatenating the "and" relationship SQL and then the "or" relationship SQL;

[0061] S3-2-4. After the "and" and "or" relationships between the three-level tags are selected, the crowd definition module provides an exclusion tag option. Select one or more third-level tags to be excluded according to the methods in steps S3-2-1 and S3-2-2, including excluding users with blacklist tags. After the SQL is generated, it is concatenated with the SQL generated in step S3-2-3 through the operator "-" to obtain the crowd definition SQL after excluding tags.

[0062] S3-3, the user attributes, user activity and other dynamic tags are automatically displayed on the crowd definition interface of the crowd definition module for business personnel to choose and use. The business personnel select a corresponding dynamic tag or a combination of multiple dynamic tags according to actual needs, that is, the dynamic tags of the crowd are defined, and the definition SQL of the dynamic tags of the crowd is inner joined to realize attribute filtering, so as to achieve the flexibility and comprehensiveness of the tag definition. The user attribute tag may include the user registration time range, user source, user active interval and user identity characteristics. The user activity may include the active frequency (such as active users in the past 3 / 7 / 15 / 30 / 60 days, users who are active 1-4 times / 5-14 times / 15 times or more in the past 30 days), active terminals, active duration, etc. The dynamic tag can also be other types of dynamically changeable data, which can be changed according to actual conditions. The static tag is a tag that is determined after the data is created or produced, and usually does not change during its life cycle, such as gender, whether it is an enterprise, region, industry, of course, static tags are not absolutely prohibited, but are relatively static within a certain period of time. In order to solve the problem of insufficient flexibility of traditional static labeling systems, for example, although there are [Registered users in the past 3 days] and [Registered users in the past 7 days], when the business wants to find out the registered users who have skyrocketed from 10:10 to 10:20 this morning, it is obviously difficult for static labels to meet the requirements. Therefore, the present invention proposes the definition of dynamic labels through definition and production design, so that the labels can be dynamic, thereby improving flexibility. The dynamic label is a label that is generated or updated in real time according to changes in the state, context or external conditions of the data, and it depends on multiple factors including user behavior, timestamps and events, such as purchase frequency, browsing preferences, click behavior, the last login time, etc. The difference between dynamic and static labels is whether they are static during the life cycle.

[0063] Static tags and dynamic tags each have their own advantages. The present invention combines the two to provide a more comprehensive data description and processing capability. In terms of business, tags and crowd selection are mainly used for advertising delivery and push in the company's internal systems, clients and official website pages. For example: During the Double Eleven period, the operation plan carried out personalized promotion activities for an enterprise-level desktop router. In order to ensure the accurate delivery of the crowd target, it was decided to use the crowd selection system to deliver personalized advertisements to specific groups of people. After analysis, the activity plan will extract the high-frequency active official website registered users within 30 days as the marketing target of this activity, publish promotional advertisements on the client navigation ad space, and lock the characteristic group through crowd selection. First, select the second-level tag [Active Time] from the first-level tag [User Behavior], and then select the third-level tag [Active in the past 30 days], and limit the number of active times: active in the past 30 days and the number of times is greater than 30 times, to dynamically refresh the high-frequency active users in the past 30 days. Then select the second-level tag [Registration Channel] in the first-level tag [Registration Attribute], and then select the third-level tag [Official Website Registration], select the official website registration feature, and specify the user registration attribute. Through the two tags [Official website registration] (static tag) and [Active in the past 30 days] (dynamic tag), we can calculate and get the crowd with both tags. Through the relevant definition of the crowd selection system, we can update the new crowd in real time. We can carry out promotional activities for this group of people and realize dynamic and precise delivery.

[0064] The dynamic tag generation engine of the present invention can capture user behavior data, user attribute data, and user device level data in real time, automatically update user tags, and ensure the timeliness and accuracy of crowd portraits. This not only solves the problem of insufficient flexibility of traditional static tag systems, but also overcomes the limitations of RoaringBitmap technology in processing complex tag rules.

[0065] S3-4. Based on the definition of static and dynamic tags of the crowd, the selection system will estimate the size of the crowd in seconds through real-time calculations; the business personnel will then define the refresh information of the selected crowd through the crowd definition module based on the estimated crowd size, and the refresh information includes whether the selected crowd needs to be refreshed, the refresh time and the refresh frequency. The static tags, dynamic tags and refresh information of the defined crowd are collectively referred to as crowd definition data. After determining the crowd definition data, the crowd definition module writes the above business information and crowd definition data (such as the name of the crowd, the detailed definition of the crowd, the product name, the refresh time, the crowd SQL, the selection conditions, etc.) into the Postgres database, and performs dynamic maintenance of the crowd according to the defined job automation.

[0066] In the specific implementation, business personnel can also refer to the characteristics of existing specific populations before defining the population, and then define the population according to their specific business. For example, in a certain quarter, the business department needs to promote a certain router, but does not know what characteristics (i.e., labels) the users who are willing to buy the product have. In this case, the population that has already purchased the product can be analyzed. Specifically, the user IDs that have purchased the product in the past six months can be summarized into an Excel spreadsheet and imported into the crowd intelligent analysis module. The crowd intelligent analysis module uses the Roaringbitmap algorithm to analyze the basic data of the target population. Specifically, the basic data of the population can be classified through the Roaringbitmap operation operator "label bitmap@>user ID", and the user ID is placed in each label bitmap. It is matched whether there is a corresponding label in the user data. If there is, 1 is returned, and if not, 0 is returned. In this way, the third-level labels of each user in the specific target population can be obtained, and the third-level labels are aggregated as the dimension to count the number of users of each third-level label. Then, the third-level labels that meet the label number standard are screened out according to the label number standard set by the business personnel. Then, these third-level labels are classified according to the hierarchical relationship of each level of labels in the label directory system to obtain the user portrait of the specific population. The user portrait of the specific population is displayed on the population portrait interface of the population intelligent analysis module, and the user portrait includes the proportion of users corresponding to each third-level label in the group.

[0067] By displaying the user portrait of the target group, users can understand the label situation of the target group and better select the crowd. Users can import relevant analysis data into the crowd definition module according to their needs, which can save the selection of some crowd definition labels. Specifically, set the "Crowd Definition" link on the crowd intelligent analysis interface, click the "Crowd Definition" option, it will jump to the crowd definition interface, and synchronize the labels of the analysis results to the crowd definition interface. Business personnel can follow the operation steps of the crowd definition module to check whether to retain the label, select the AND or relationship between the labels, select the relevant crowd attributes, and define the refresh time and frequency. On this basis, business personnel can add other customized label content, or only use the labels obtained by the crowd intelligent analysis module to define the crowd. Accurate label conditions can more efficiently select the target population. Therefore, for people with unclear label conditions, using the crowd intelligent analysis tool to analyze the label situation is an important step before defining the population.

[0068] S4. Crowd production: write the crowd definition data into the postgreSQL database, the crowd production module executes the crowd definition SQL, extracts the defined crowd from the crowd label data through the conditions in the SQL, and obtains the final selected crowd data through the and, or, and exclusion relational operations, and writes it into the crowd table. The crowd table stores crowd data in the format of RoaringBitmap. The crowd data includes crowd ID, crowd name, crowd definition SQL, crowd refresh time and refresh frequency, etc.; the crowd production module uses the pg_cron timing plug-in of the postgreSQL library to read the previous refresh time of the crowd table regularly (such as every minute), and combines it with the refresh frequency to determine whether the next refresh time is greater than the current time. If it is greater than the current time, the crowd definition SQL is executed to refresh the crowd. If it is less than the current time, it is skipped. In this way, the crowd refresh is more lightweight and the computing pressure on the database is reduced.

[0069] A dynamic crowd selection system for personalized advertising precision delivery is used to implement the dynamic crowd selection method for personalized advertising precision delivery, such as Figures 1 to 3 , including data transmission module, label data production module, PostgreSQL database, crowd definition module, crowd production module and crowd intelligent analysis module;

[0070] The data transmission module is used to transmit the basic data of the population from different sources to the postgreSQL database in a timely or real-time manner through a transmission tool;

[0071] The label data production module includes a dynamic label generation engine, which uses a RoaringBitmap algorithm to produce crowd label data according to crowd basic data, and dynamically updates the crowd label data according to the crowd basic data captured in real time;

[0072] The crowd definition module includes a crowd definition interface and a crowd definition SQL statement generation unit. The crowd definition interface is used to display the labels of each level, the AND / OR relationship between the three-level labels, and the excluded labels according to the hierarchical structure of the label directory system for selection by business personnel. The crowd definition SQL statement generation unit is used to automatically generate the crowd definition SQL statement according to the selection of the business personnel.

[0073] The crowd production module is used to generate the selected crowd data according to the crowd definition data of the crowd definition module, and dynamically refresh the crowd selection data according to the crowd label data dynamically updated by the label data production module;

[0074] The crowd intelligent analysis module is used to analyze the basic crowd data of the consumer crowd using the Roaringbitmap algorithm, to perform user profiling on the crowd, to obtain crowd label data for reference by business personnel, and to provide a link so that business personnel can import crowd label data into the crowd definition interface of the crowd definition module for selection and use by business personnel;

[0075] The PostgreSQL database is used to store basic crowd data, crowd label data, crowd definition data and crowd selection data.

[0076] The dynamic crowd selection method of the present invention demonstrates high efficiency and flexibility, especially in processing a large user base and massive label data. The system can easily handle user groups of tens of millions and face tens of billions of label data, performing complex and flexible label combination operations. This operation is not only based on traditional user attribute classification, but also incorporates dynamic mechanisms, making crowd selection more refined, and achieving the freshness and personalization of user grouping with the ability of real-time updates.

[0077] Compared with the traditional method that relies on manually defined user grouping, the present invention has made significant breakthroughs in resource optimization. Its demand for data storage space is only 1 / 180 of the traditional method, which greatly alleviates the storage cost pressure of enterprises. In terms of computing performance, the present invention greatly improves the computing efficiency to 4 to 100 times the original for a variety of selection scenarios, which means that whether it is quickly responding to market changes or deeply digging into specific user groups, the system can do it with ease and accelerate the decision-making process. For the business, it means that it can formulate and implement "one thousand faces for one thousand people" advertising strategies almost instantly, and accurately deliver them to the target audience.

[0078] In addition, the crowd intelligence analysis tool of the present invention, with its intuitive and easy-to-use interface and powerful data analysis capabilities, enables the business team to gain in-depth insights into the user's behavior patterns and preference characteristics. These in-depth insights directly guide the refined selection of advertising crowds, significantly improving the relevance and conversion rate of advertising.

[0079] The above detailed description is a specific description of a feasible embodiment of the present invention. The embodiment is not intended to limit the patent scope of the present invention. Any equivalent implementation or modification that does not deviate from the present invention should be included in the patent scope of this case.

Claims

1. A dynamic crowd selection method for personalized advertising precision delivery, characterized in that: The steps include: S1. Establish a suitable label catalog system according to the business areas involved. The label catalog system has three levels of labels, including primary labels, secondary labels and tertiary labels. The primary labels include multiple major category labels. The secondary labels are the next level labels of the major category labels. One major category label corresponds to multiple secondary labels. The tertiary labels are the next level labels of the secondary labels. One secondary label corresponds to multiple tertiary labels. S2. Production of crowd label data: The crowd basic data is transmitted to the postgreSQL database in a scheduled or real-time manner through a transmission tool. According to the definition of each level of labels in the label directory system, the crowd label data is produced using the RoaringBitmap algorithm. The crowd label data is dynamically updated through the transmitted real-time crowd basic data, and the crowd label data is stored in the postgreSQL database. S3. Population definition: S3-1. Business personnel set business information including the name of the selected group, detailed definition of the selected group, and name of the advertising product on the crowd definition module according to actual needs. The crowd definition module records the business information and writes it into the postgreSQL database. S3-2, the label directory system in step S1 is displayed on the crowd definition interface of the crowd definition module for the business personnel to select and use. The business personnel select at least one first-level label according to actual needs, and then select at least one corresponding second-level label under each corresponding first-level label, and at least one corresponding third-level label under each corresponding second-level label, and then select the and / or relationship between each third-level label, and then select the label to be excluded, so as to define the static label of the crowd; S3-3. Dynamic tags are automatically displayed on the crowd definition interface of the crowd definition module for business personnel to select and use. Business personnel select a corresponding dynamic tag or a combination of multiple dynamic tags according to actual needs, that is, dynamic tags of the crowd are defined; S3-4. According to the definition of the static tags and dynamic tags of the crowd, the crowd size is estimated by calculation; the business personnel then define the refresh information of the selected crowd through the crowd definition module according to the estimated crowd size, and the refresh information includes whether the selected crowd needs to be refreshed, the refresh time and the refresh frequency; the static tags, dynamic tags and refresh information of the defined crowd are collectively referred to as crowd definition data; after determining the crowd definition data, the crowd definition module writes the crowd definition data into the Postgres database; S4. Crowd production: The crowd production module executes the crowd definition SQL to obtain the final selected crowd data and writes it into the crowd table. The crowd table stores crowd data in the format of RoaringBitmap. The crowd data includes crowd ID, crowd name, crowd definition SQL, crowd refresh time and refresh frequency. The crowd production module uses the pg_cron timing plug-in of the postgreSQL library to periodically read the previous refresh time of the crowd table, and combines it with the refresh frequency to determine whether it is necessary to execute the crowd definition SQL to refresh the crowd, so as to dynamically update the crowd data.

2. A dynamic crowd selection method for accurate personalized advertising delivery according to claim 1, characterized in that: Before step S3-2, it also includes: The business personnel import the basic population data of the specific population that has consumed the relevant products into the crowd intelligent analysis module. The crowd intelligent analysis module uses the Roaringbitmap algorithm to analyze the basic population data, obtain the three-level tags of each user in the specific population, aggregate them with the three-level tags as the dimension, count the number of users of each three-level tag, and then filter out the three-level tags that meet the tag number standard according to the tag number standard set by the business personnel. Then, these three-level tags are classified according to the hierarchical relationship of the tags at all levels in the tag directory system to obtain the user portrait of the specific population, and the user portrait of the specific population is displayed on the crowd portrait interface of the crowd intelligent analysis module. The user portrait includes the proportion of users corresponding to each three-level tag in the group; Business personnel can choose to synchronize user portraits to the crowd definition interface of the crowd definition module on the crowd intelligent analysis interface as needed, and the corresponding three-level labels will be displayed on the crowd definition interface for business personnel to choose.

3. A dynamic crowd selection method for accurate personalized advertising delivery according to claim 2, characterized in that: The crowd intelligent analysis module uses the Roaringbitmap algorithm to analyze the basic data of the crowd: classify the basic data of the crowd through the Roaringbitmap operation operator "label bitmap@>user ID", put the user ID in each label bitmap, and match whether there is a corresponding label in the user data. If there is, return 1, otherwise return 0.

4. A dynamic crowd selection method for accurate personalized advertising delivery according to claim 1, characterized in that: The sources of the population basic data in step S2 include cloud database, embedded point data and MySQL database.

5. A dynamic crowd selection method for personalized advertising precision delivery according to claim 1, characterized in that: In step S2, the transmission tools include Flink tool, ploybase tool, maxcompute big data transmission tool, flume tool and spark tool. The Flink tool is used to synchronize the user's web page access behavior data in real time. The ploybase technology is used to synchronize user service and function data offline at a scheduled time. The maxcompute big data transmission tool is used to implement and synchronize user operation behavior data offline. The flume tool is used to synchronize and transmit the log file data of the website server and the social network node data. The spark tool is used to synchronize the user's active event record data.

6. A dynamic crowd selection method for personalized advertising precision delivery according to claim 1, characterized in that: In step S2, the RoaringBitmap algorithm is used to generate crowd label data, and the method of dynamically updating crowd label data through the transmitted real-time crowd basic data is as follows: The RoaringBitmap algorithm compresses the user ID set contained in each third-level label into a data unit in the form of a Bitmap. A Bitmap data unit includes multiple user IDs and corresponds to a third-level label name, forming a row of data. Multiple third-level labels correspond to multiple rows of data. A label data table is produced from multiple rows of data. The label data table stores the crowd label data required for crowd selection. When the data of a certain third-level label changes, the data change is captured, and the RoaringBitmap algorithm is used to add the newly added users to the Bitmap data unit corresponding to the third-level label, and the invalid users are removed from the Bitmap data unit corresponding to the third-level label, so as to maintain the crowd label data.

7. A method for dynamic crowd selection for accurate personalized advertising delivery according to claim 1, characterized in that: The first-level tags include user attributes, user devices, user consumption, user behavior, marketing reach and function usage; the second-level tags under the user attributes include user identity, registration days, industry and region, the second-level tags under the user device include PC, mobile phone and tablet, the second-level tags under user consumption include product name, product level, payment type and main service consumer user, the second-level tags under user behavior include registration, login, consultation, browsing, purchase and after-sales, the second-level tags under marketing reach include redemption products, number of redemptions and number of trial receipts, and the second-level tags under function usage include function usage preferences.

8. A method for dynamic crowd selection for accurate personalized advertising delivery according to claim 1, characterized in that: The static tag is a tag that is determined after the data is created or produced and usually does not change during its life cycle; the dynamic tag is a tag that is generated or updated in real time according to changes in the data status, context or external conditions, and depends on factors including user behavior, timestamps and events; the dynamic tag includes user attributes and user activity status, and the user attribute tag includes the user registration time range, user source, user activity interval and user identity characteristics, and the user activity status includes active frequency, active terminal and active duration.

9. A dynamic crowd selection method for personalized advertising precision delivery according to claim 1, characterized in that: The definition method of the static labels of the crowd in step S3-2 is: S3-2-1. When the business personnel clicks the drop-down menu to trigger the fixed SQL statement to query the first-level tag in the postgreSQL database, the first-level tag is displayed in the drop-down menu. After the business personnel selects the first-level tag, the crowd definition module automatically generates an SQL statement to query and display the second-level tags under the first-level tag through where; S3-2-2. When the business personnel selects a secondary tag, the crowd definition module automatically generates an SQL statement to query and display the tertiary tags under the secondary tag through where; when the business personnel selects a tertiary tag, it automatically generates an SQL statement to query the corresponding tertiary tag in the tag directory system through where; S3-2-3. After the business personnel repeat steps S3-2-1 and S3-2-2 to select all the third-level tags required for the selected group, the group definition module provides "and" or "or" relationship options between the third-level tags for the business personnel to choose. When the "and" relationship is selected, the rb_and_agg() function is used to concatenate the SQL corresponding to the third-level tags to generate a new SQL; when the "or" relationship is selected, the rb_or_agg() function is used to concatenate the SQL corresponding to the third-level tags to generate a new SQL; S3-2-4. After the "and" or "or" relationship selection between the three-level tags is completed, the crowd definition module provides an exclusion tag option. According to the methods in steps S3-2-1 and S3-2-2, select one or more third-level tags to be excluded, including excluding users with blacklist tags. After the SQL is generated, it is spliced ​​with the SQL generated in step S3-2-3 through the operator "-" to obtain the crowd definition SQL after excluding tags.

10. A dynamic crowd selection system for personalized advertising precision delivery, used to implement the dynamic crowd selection method for personalized advertising precision delivery as claimed in any one of claims 1 to 9, characterized in that: It includes data transmission module, label data production module, PostgreSQL database, crowd definition module, crowd production module and crowd intelligent analysis module; The data transmission module is used to transmit the basic data of the population from different sources to the postgreSQL database in a timely or real-time manner through a transmission tool; The label data production module includes a dynamic label generation engine, which uses a RoaringBitmap algorithm to produce crowd label data according to crowd basic data, and dynamically updates the crowd label data according to the crowd basic data captured in real time; The crowd definition module includes a crowd definition interface and a crowd definition SQL statement generation unit. The crowd definition interface is used to display the labels of each level, the AND / OR relationship between the three-level labels, and the excluded labels according to the hierarchical structure of the label directory system for selection by business personnel. The crowd definition SQL statement generation unit is used to automatically generate the crowd definition SQL statement according to the selection of the business personnel. The crowd production module is used to generate the selected crowd data according to the crowd definition data of the crowd definition module, and dynamically refresh the crowd selection data according to the crowd label data dynamically updated by the label data production module; The crowd intelligent analysis module is used to analyze the basic crowd data of the consumer crowd using the Roaringbitmap algorithm, to perform user profiling on the crowd, to obtain crowd label data for reference by business personnel, and to provide a link so that business personnel can import crowd label data into the crowd definition interface of the crowd definition module; The PostgreSQL database is used to store basic crowd data, crowd label data, crowd definition data and crowd selection data.