Entity circle selection method and device, electronic equipment, storage medium and program product
By generating and filtering entity label sets and determining the entity package set of target entities, the problem of insufficient resource consumption and timeliness of entity circle selection in the prior art is solved, and efficient and accurate entity circle selection is achieved.
Patent Information
- Application Number
- CN202411503870.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-25
- Publication Date
- 2025-02-14
AI Technical Summary
The prior art consumes a lot of computing resources and storage resources in the physical circle selection process, and has poor timeliness, so the physical circle selection results are inaccurate.
By generating a tag set of target entities, selecting entity packages that meet the target tag conditions, obtaining the entity package set of target entities, thereby determining the entity package set that each target entity matches.
The computing resources and storage resources for physical circle selection are reduced, the efficiency and accuracy of physical circle selection are improved, and real-time and timeliness are ensured.
Smart Images

Figure CN119441405A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a method, device, electronic device, storage medium and program product for entity selection. Background Art
[0002] With the development of big data technology, the storage and computing capabilities of big data platforms are often used to create computing tasks to achieve entity selection.
[0003] Under the existing technology, entities matching each entity package required by the business are usually screened out from the full amount of offline business data in real time according to actual business needs, and the entities in each entity package are stored in different tables.
[0004] However, this entity selection method usually consumes a lot of computing resources and storage resources. Summary of the invention
[0005] The purpose of the embodiments of the present application is to provide a method, device, electronic device, storage medium and program product for entity selection, so as to reduce the computing resources and storage resources consumed by entity selection.
[0006] On the one hand, an embodiment of the present application provides a method for selecting an entity, the method comprising:
[0007] Generate a tag set of the target entity based on the business data; the tag set includes at least one entity tag and its corresponding tag value;
[0008] Filtering target label conditions satisfied by the label set from label conditions corresponding to at least one entity package;
[0009] According to the entity package corresponding to the target label condition, the entity package set of the target entity is obtained.
[0010] In one implementation, the business data includes full offline business data; and generating a tag set of a target entity according to the business data includes:
[0011] Receive the full amount of offline business data sent periodically;
[0012] Generate a target entity set according to at least one target entity included in the received full offline business data;
[0013] According to the full amount of offline business data, a label set corresponding to at least one target entity in the target entity set is generated.
[0014] In one implementation, the business data further includes online incremental business data; after generating a label set corresponding to at least one target entity in the target entity set according to the full amount of offline business data, the method further includes:
[0015] Through the real-time link, the business side is monitored to obtain online incremental business data in real time;
[0016] According to the online incremental business data, update the label set corresponding to at least one target entity.
[0017] In one implementation, updating a tag set corresponding to at least one target entity according to the online incremental business data includes:
[0018] For each target entity of the online incremental business data, perform the following steps:
[0019] If the target entity is included in the target entity set, the label set of the target entity is updated according to the corresponding data of the target entity in the full offline business data and the online incremental business data;
[0020] If the target entity is not included in the target entity set, a label set of the target entity is generated according to the corresponding data of the target entity in the online incremental business data, and the target entity is added to the target entity set.
[0021] In one implementation, obtaining a set of entity packages of a target entity according to an entity package corresponding to a target tag condition includes:
[0022] Obtaining an entity package identifier corresponding to at least one entity package;
[0023] The entity package identifier of the entity package corresponding to the target label condition is added to the entity package set corresponding to the target entity.
[0024] In one implementation, the target entity is at least one; after obtaining an entity package set of the target entity according to the entity package corresponding to the target tag condition, the method further includes:
[0025] Obtaining task screening conditions according to the received task execution instructions;
[0026] Filtering out a set of entity packages that meets a task filtering condition from a set of entity packages of at least one target entity;
[0027] Generate a task entity package according to the target entity corresponding to the entity package set;
[0028] Execute the task execution instructions according to each target entity in the task entity package.
[0029] In one embodiment, the target entity is at least one; and the method further comprises:
[0030] Sending an entity package set of at least one target entity to a task server enables the task server to filter out target entities corresponding to the entity package set that meets the task filtering conditions according to the task execution instruction, obtain the task entity package, and execute the task instruction according to the task entity package.
[0031] On the one hand, an embodiment of the present application provides a device for selecting an entity, including:
[0032] A generating unit, configured to generate a tag set of a target entity according to the business data; the tag set includes at least one entity tag and its corresponding tag value;
[0033] A screening unit, configured to screen out target label conditions satisfied by the label set from label conditions corresponding to at least one entity package;
[0034] The obtaining unit is used to obtain the entity package set of the target entity according to the entity package corresponding to the target tag condition.
[0035] In one implementation, the business data includes full offline business data; and the generating unit is used to:
[0036] Receive the full amount of offline business data sent periodically;
[0037] Generate a target entity set according to at least one target entity included in the received full offline business data;
[0038] According to the full amount of offline business data, a label set corresponding to at least one target entity in the target entity set is generated.
[0039] In one implementation, the business data further includes online incremental business data; and the generating unit is used to:
[0040] Through the real-time link, the business side is monitored to obtain online incremental business data in real time;
[0041] According to the online incremental business data, update the label set corresponding to at least one target entity.
[0042] In one implementation, the generating unit is used to:
[0043] For each target entity of the online incremental business data, perform the following steps:
[0044] If the target entity is included in the target entity set, the label set of the target entity is updated according to the corresponding data of the target entity in the full offline business data and the online incremental business data;
[0045] If the target entity is not included in the target entity set, a label set of the target entity is generated according to the corresponding data of the target entity in the online incremental business data, and the target entity is added to the target entity set.
[0046] In one embodiment, the obtaining unit is used to:
[0047] Obtaining an entity package identifier corresponding to at least one entity package;
[0048] The entity package identifier of the entity package corresponding to the target label condition is added to the entity package set corresponding to the target entity.
[0049] In one implementation, the target entity is at least one; and the obtaining unit is further used for:
[0050] Obtaining task screening conditions according to the received task execution instructions;
[0051] Filtering out a set of entity packages that meets a task filtering condition from a set of entity packages of at least one target entity;
[0052] Generate a task entity package according to the target entity corresponding to the entity package set;
[0053] Execute the task execution instructions according to each target entity in the task entity package.
[0054] In one implementation, the target entity is at least one; and the obtaining unit is further used for:
[0055] Sending an entity package set of at least one target entity to a task server enables the task server to filter out target entities corresponding to the entity package set that meets the task filtering conditions according to the task execution instruction, obtain the task entity package, and execute the task instruction according to the task entity package.
[0056] On the one hand, an embodiment of the present application provides an electronic device, including:
[0057] Processor; and
[0058] A memory stores computer instructions, wherein the computer instructions are used to cause a processor to execute the steps of the method provided in any of the various optional implementations circled in any of the above entities.
[0059] On the one hand, an embodiment of the present application provides a computer-readable storage medium storing computer instructions, which are used to enable a computer to execute the steps of the method provided in various optional implementations of any of the above-mentioned entity circled.
[0060] On the one hand, a computer program product is provided in an embodiment of the present application, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the steps of the method provided in the various optional implementations circled in any of the above entities.
[0061] The entity selection method in the embodiment of the present application includes generating a tag set of a target entity according to business data; the tag set includes at least one entity tag and its corresponding tag value; filtering out a target tag condition satisfied by the tag set from the tag conditions corresponding to each of at least one entity package; and obtaining an entity package set of the target entity according to the entity package corresponding to the target tag condition. In this way, the entity package set matching each target entity is determined, which reduces the computing resources and storage resources of the entity selection. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0063] Figure 1 It is a flow chart of a method for entity selection in an embodiment of the present application.
[0064] Figure 2 It is a schematic diagram of a scene of entity circle selection in an embodiment of the present application.
[0065] Figure 3 It is an example table of an entity package set of a target entity in an embodiment of the present application.
[0066] Figure 4 It is a structural block diagram of a device for entity circle selection in an embodiment of the present application.
[0067] Figure 5 It is a structural schematic diagram of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION
[0068] The technical solution of the present application will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described implementation methods are part of the implementation methods of the present application, rather than all of the implementation methods. Based on the implementation methods in the present application, all other implementation methods obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application. In addition, the technical features involved in the different implementation methods of the present application described below can be combined with each other as long as they do not conflict with each other.
[0069] Under traditional technology, entities that match each entity package required by the business are usually screened out from the full amount of offline business data in real time according to actual business needs, and the entities in each entity package are stored in different tables. However, when there are a large number of selection requests, each selection request consumes a lot of computing resources and storage resources, and the efficiency is low.
[0070] For example, if there are 10,000 full offline business data, when receiving the corresponding selection requests for the children package and the elderly package, users with a label of being under 10 years old are filtered out from the full offline business data, and then users with a label of being over 65 years old are filtered out from the full offline business data. Each entity selection consumes a lot of computing resources, storage resources, and time costs.
[0071] Furthermore, under traditional technology, the entire offline business data is usually updated on a daily basis (i.e., the data update time is one or more days), and based on the entire offline business data updated on a daily basis, the entities corresponding to one or more entity packages are filtered out. However, this method has poor timeliness and the results of entity selection are usually inaccurate.
[0072] Based on the defects of the above-mentioned related technologies, the embodiments of the present application provide a method, device, electronic device, storage medium and program product for entity selection, aiming to reduce the computing resources and storage resources consumed by entity selection.
[0073] A method for entity circle selection is provided in an embodiment of the present application. The method can be applied to electronic devices. The present application does not limit the type of electronic device. It can be any type of device suitable for implementation, such as a terminal device and a server, etc. The present application will not go into details about this.
[0074] See also Figure 1 As shown, it is a flow chart of a method for selecting an entity in an embodiment of the present application. Figure 1 The method is described below. The specific implementation process of the method is as follows:
[0075] Step 101: Generate a tag set of a target entity according to business data; the tag set includes at least one entity tag and its corresponding tag value.
[0076] The target entity may be an entity of a specified type, such as a note or a user. Business data refers to business data related to the target entity obtained from the business side. For example, the target entity is a user, and the business data refers to browsing operation records of each user on the shopping platform. For example, browsing operations may include adding items to favorites, viewing items, and purchasing items. The tag set of the target entity is an entity portrait used to describe the target entity, so that in subsequent steps, the entity portrait of the target entity can be used as a basis to identify entity packages that match the target entity.
[0077] The business data may include full offline business data and online incremental business data, so as to combine the full offline business data and online incremental business data to obtain an accurate and real-time label set.
[0078] Optionally, the full offline business data can be periodically obtained from the business side according to the first interval, and the online incremental business data can be periodically obtained from the business side according to the second interval. The second interval is much shorter than the first interval, the first interval can be 1 day, and the second interval can be real-time or close to real-time, such as 1 minute or 1 hour.
[0079] The full offline business data is the full offline business data obtained from the business side. As an example, the full offline business data can be obtained in an offline T+1 manner. T represents day, that is, the full offline business data of the T+1 day can be obtained at the same time every day. The online incremental business data can be the online incremental business data obtained from the business side in real time.
[0080] For the convenience of management, entity tags can also be classified. Optionally, according to the category of entity tags, entity tags can be divided into basic information tags, algorithm production tags and real-time behavior tags.
[0081] For example, basic information tags may include at least one: the category of the live broadcast room, review status, penalty status, whether there is a violation, gender / age / industry of the live broadcast host, etc. Algorithm production tags may include at least one of the following: the audience of the live broadcast room, the predicted gross merchandise volume (GMV) of the live broadcast room, the fan growth prediction, etc. Real-time behavior tags may include at least one of the following: the real-time number of fans of the live broadcast room, the number of times the product is added to the shopping cart, the number of orders placed, the real-time transaction amount, and the historical total transaction amount, etc.
[0082] In actual applications, entity tags and their categories can be set according to actual application scenarios. For example, entity tags can also be commodity transaction-related tags and commodity usage-related tags, which are not limited here.
[0083] In one implementation, when step 101 is executed, it may include S101-11 to S101-13.
[0084] S101-11: Receive the full amount of offline service data sent periodically.
[0085] Among them, the cycle can be daily, weekly, monthly, etc., and there is no limitation here. Optionally, the acquisition cycle of the full offline business data can be one day or one week, etc., and the cycle can be set according to the actual application scenario. The full offline business data includes at least one target entity and its corresponding business data. The target entity is an entity of a specified type to be circled. For example, the entity can be a group of people, notes, animals, etc. The target entity can be the user to whom the content is to be recommended.
[0086] S101 - 12: Generate a target entity set according to at least one target entity included in the received full amount of offline business data.
[0087] In other words, the target entities obtained from the full amount of offline business data form a target entity set.
[0088] S101 - 13: Generate a label set corresponding to at least one target entity in the target entity set according to the full amount of offline business data.
[0089] In one implementation, for each target entity, a tag value of each corresponding entity tag is generated according to the corresponding data of the target entity in the full amount of offline business data, and each entity tag and its corresponding tag value are combined into a tag set.
[0090] For example, the following combination Figure 2 The method of generating entity tags based on the full amount of offline business data is described. Figure 2 A schematic diagram of a scene with an entity circled.
[0091] Figure 2 The first business side includes the first business side, the second business side and the third business side. The first business side is Structured Query Language (SQL), and the second business side and the third business side can be different business platforms, such as a shopping platform and a video playback platform. Take a day as an example, and specify a time every day, from Figure 2 The first business side, the second business side, and the third business side in the system obtain the offline business data of the day produced, and synchronize the offline business data of the day to Figure 2 The intermediate storage layer in the data center. For example, the offline business data of the day may include users (USER) and notes (NOTE). Optionally, the intermediate storage layer may also call other data computing services to perform data processing such as computing on the offline business data of the day.
[0092] Then, the intermediate storage layer combines the offline business data of the day with the historical offline business data to obtain the full offline business data and send it to the full module. The full module can process and transform the full offline business data to obtain the processed and transformed full offline business data. For example, based on the stream processing framework (Flink), the full offline business data can be scanned, joined, customized, and filtered. The full file of the distributed file system (Hadoop Distributed File System, HDFS) can be used to store the full offline business data.
[0093] In this way, the full amount of offline business data that is periodically synchronized can be used to periodically calibrate the target entity and its corresponding label set to improve data accuracy.
[0094] After generating the corresponding label sets for the target entities based on the full offline business data, the online incremental business data can also be synchronized in real time to update the target entities and their corresponding label sets in real time based on the incrementally synchronized online incremental business data, thereby ensuring higher data stability and improving data real-time performance.
[0095] In one implementation, when executing step 101, it may include S101-21 to S101-23.
[0096] S101-21: Monitor the service side through the real-time link to obtain online incremental service data in real time.
[0097] In one implementation, when it is determined that new online incremental service data is monitored, the online incremental service data is acquired.
[0098] For example, Figure 2 In the process, online incremental business data is obtained from the data operation log (binlog) or business logic layer (Business, biz) of the first business side, the second business side and the third business side, and the online incremental business data obtained in real time is sent to the incremental module.
[0099] For example, the incremental business data on the business line can be sent to the incremental module in the form of a message queue. Then, the incremental module processes the data to obtain the processed online incremental business data. The incremental module can use Flink to set the primary key, data connection, user-defined function, and data filtering for the online incremental business data. Optionally, the online incremental business data can be stored in the form of a message queue. For example, the message queue can be Kafka. Furthermore, a remote procedure call (RPC) service can be used to reversely check the online incremental business data in the business logic layer in the full amount of offline business data, that is, to determine whether there is an inclusion relationship for the target entity.
[0100] In this way, online incremental business data can be obtained from each business side in real time.
[0101] S101 - 22: Update the label set corresponding to at least one target entity according to the online incremental business data.
[0102] In one implementation, for each target entity of the online incremental business data, the following steps are performed:
[0103] If the target entity is included in the target entity set, the label set of the target entity is updated according to the corresponding data of the target entity in the full offline business data and the online incremental business data;
[0104] If the target entity is not included in the target entity set, a label set of the target entity is generated according to the corresponding data of the target entity in the online incremental business data, and the target entity is added to the target entity set.
[0105] For example, you can reverse query the data in the intermediate storage layer based on the primary key corresponding to the target entity in the online incremental business data to obtain all relevant data of the target entity. If the target entity is not included in the intermediate storage layer, it means that the target entity is a new entity, and you can generate a label set based only on the online incremental business data. If the target entity is included in the intermediate storage layer, obtain the corresponding data of the target entity in the full offline business data and the online incremental business data, generate a new label set, and replace and update the label set.
[0106] In the embodiment of the present application, the full amount of offline business data is consumed periodically, and the online incremental business data is consumed in real time. After receiving the full amount of offline business data each time, a new target entity and its corresponding label set can be obtained based on the full amount of offline business data, and then the label data version is switched to ensure the accuracy of the data. There is a complete data production and processing logic, which combines real-time online incremental business data and full offline business data. In a strong real-time business scenario, the production and logical processing of these entity labels are strong real-time, and the label value can be updated at the second level, ensuring the accuracy and stability of the label data.
[0107] Step 102: Filter out target tag conditions satisfied by a tag set from the tag conditions corresponding to at least one entity package.
[0108] For example, the target entity is a user, and the entity packages are the first group package and the second group package. The label conditions of the first group package are that the age is greater than 30 and the job is programmer. The label conditions of the second group package are that the age is less than 30 and the job is administration.
[0109] The corresponding label conditions may be configured in advance for each entity package, and the label conditions of different entities may be the same or different, which is not limited here.
[0110] Step 103: Obtain an entity package set of the target entity according to the entity package corresponding to the target tag condition.
[0111] In one implementation, an entity package identifier corresponding to at least one entity package is obtained; and the entity package identifier of the entity package corresponding to the target tag condition is added to the entity package set corresponding to the target entity.
[0112] Optionally, a list of circled identifiers or a string may be used to represent the entity package set. Adjacent entity package identifiers may be separated by semicolons or commas.
[0113] Combine the following Figure 3 Demonstrates the generation of an entity package collection for a target entity. Figure 3 The figure shows an example table of entity package collections of a target entity. Figure 3In the example, Entity_Id-1 to Entity_Id-1 to Entity_Id-8 are different users (i.e., target entities). Tag-1 to tag-3 are different entity tags, and Value1 to Value14 are different tag values of entity tags. crowd_pool_id_list is a collection of entity packages. The tag values of each tag from Entity_Id-1 to Entity_Id-6 are generated based on the full amount of offline business data. The tag values of each tag from Entity_Id-7 to Entity_Id-8 are generated based on the online incremental business data.
[0114] For example, the following label conditions of each population package can be used to determine Figure 2 The tag condition of crowd package-1 is tag-1=Value 1AND tag-2!=Value 6; the tag condition of crowd package-2 is tag-1=Value 2AND(tag-3in(Value 10, Value11)); the tag condition of crowd package-3 is tag-2<Value 8AND tag-3> Value 10.
[0115] In this way, the entity package set of each target entity can be determined separately.
[0116] Furthermore, after obtaining the entity package set of each target entity, the target entity can be screened according to the entity package set of each target entity according to real-time business needs to obtain the task entity package. For example, when it is necessary to select the target entity of one or more crowd packages, the crowd_pool_id_list field can be used to recall (i.e., screen) the target users in one or more crowd packages to be selected, and then the next operation can be carried out.
[0117] In one embodiment, according to the received task execution instruction, a task screening condition is obtained; from the entity package set of at least one target entity, a set of entity packages that meet the task screening condition is screened out; according to the target entity corresponding to the entity package set, a task entity package is generated; according to each target entity in the task entity package, the task execution instruction is executed. The task screening condition is set according to the entity package identifier, and is used to screen the target entities corresponding to one or more entity package identifiers.
[0118] For example, according to the business needs of cosmetics recommendation, it is necessary to filter out the adult female population package, then obtain the target entity package identifier of the adult female population package, and filter out the target entity corresponding to the entity package set containing the target entity package identifier, obtain the task entity package, and send cosmetics recommendation content to each target entity in the task entity package.
[0119] In one embodiment, an entity package set of at least one target entity is sent to a task server, so that the task server filters out the target entities corresponding to the entity package set that meets the task screening conditions according to the task execution instruction, obtains the task entity package, and executes the task according to the task entity package.
[0120] The task server may be an online engine side, for example, Figure 2 The search engine (Search Engine, SE), recommendation engine (Recommend Engine, RE) and vector engine (Vector Engine) in it.
[0121] In the scenario of searching or recommending, the online engine can input a query statement containing a target entity package identifier according to task requirements, and filter out target entities corresponding to the target entity package identifier according to the entity package set of each target entity.
[0122] For example, after generating the crowd_pool_id_list of the target entity based on the full offline business data, an offline table updated at the daily level can be created based on the identification (ID) of the target entity and its corresponding crowd_pool_id_list. The offline table contains two fields, ID and crowd_pool_id_list. The ID is set as the primary key of the offline table. In addition, the online incremental business data is obtained hourly on an hourly basis, and after generating the crowd_pool_id_list of the target entity based on the online incremental business data, the ID of the target entity and its corresponding crowd_pool_id_list are output to Kafka, and the ID of the target entity and its corresponding crowd_pool_id_list can be placed in the partition of the query (hive) table at the hourly level based on the kafka2hive task. There are also two fields in the hive table, including ID and crowd_pool_id_list.
[0123] In order to have a copy of snapshot data that can be used in the data analysis stage, the combined data of the offline table partitioned by day and the Hive table partitioned by hour are saved in the online engine. In the business application scenario, the combined data of the offline table partitioned by day and the Hive table partitioned by hour can be analyzed through the database query tool (hivesql) to obtain the target entities contained in each entity package.
[0124] Furthermore, the target entities can be sorted and the sorted target entities can be returned to the user. Optionally, the target entities can be sorted according to their serial numbers or the relevance between the target entities and the business. Optionally, the target entities can also be manually intervened, such as abnormal filtering.
[0125] Furthermore, other recall channels can be combined to obtain output results. For example, the task entity package can be filtered out through crowd_pool_id_list, and an entity configuration set containing multiple target entities can be obtained through manual input, and the task entity package can be merged with the entity configuration set, and then the merged set can be filtered and relevance sorted to obtain the output result.
[0126] In this way, the entity package set of each target entity can be transmitted to a task server such as an online engine, so that when the task server performs tasks in business scenarios such as search and recommendation, it can perform entity screening based on the entity package set of each target entity in real time according to task requirements.
[0127] Since the target entity and its corresponding tag set can be updated in real time according to the online incremental business data, the entity package set corresponding to each target entity is updated in real time. Furthermore, the task entity package corresponding to each entity package can be updated in real time.
[0128] The following example illustrates entity selection and application in combination with the live broadcast application scenario.
[0129] In the live broadcast business scenario, the start time of the live broadcast host is generally in the range of a few minutes to a few hours, and the start time of the live broadcast room is not completely fixed. In the process of selecting the live broadcast room and then conducting refined operations, the timeliness of the selection results updated offline T+1 obviously cannot meet the business requirements. Assume that the number of live broadcast rooms in the live broadcast room package is 99, the live broadcast rooms are numbered 1-99, and the target entity is the live broadcast room. The label conditions for selecting the live broadcast room can be: the number of real-time viewers in the live broadcast room>1000AND the anchor's historical transaction GMV>10W AND the anchor's historical transaction GMV<50W, and the entity package is the live broadcast room package 1.
[0130] At the first moment, suppose there are three live broadcast rooms, namely, live broadcast room 100, live broadcast room 101, and live broadcast room 102. The performance is very good, a group of users flock in, and the real-time online number of people is greater than 1000. However, at this time, the anchor's historical transaction GMV is 90,000. When users flock in to the live broadcast room, the real-time online number of people in the live broadcast room changes. According to the real-time link, it is determined that the three live broadcast rooms 100, live broadcast room 101, and live broadcast room 102 still do not meet the label conditions of live broadcast room package 1. Therefore, these three live broadcast rooms will not be circled in live broadcast room package 1.
[0131] Then, at the second moment, assuming that the anchors of the two live broadcast rooms 100 and 101 have a good effect in bringing goods, not only the number of users has increased, but users are also placing orders crazily, and the historical GMV of the two live broadcast rooms has reached 100,000, but has not reached 500,000. At the moment when the user places an order to buy, the historical GMV of the anchors of the two live broadcast rooms has also changed. According to the real-time link, it is determined that the two live broadcast rooms 100 and 101 both meet the label conditions of the live broadcast room package 1. Therefore, in the crowd_pool_id_list corresponding to the live broadcast room 100 and the live broadcast room 10, the live broadcast room package 1 is marked, such as crowd_pool_id_list = [live broadcast room package 1] or crowd_pool_id_list = [live broadcast room package 1, live broadcast room package 2], etc., so that the live broadcast room 100 and the live broadcast room 101 enter the live broadcast room package 1 in real time. Subsequent operation actions for the live broadcast room package 1 can directly affect the live broadcast room 100 and the live broadcast room 101.
[0132] Then, at the third moment, the host of live broadcast room 80 told everyone that he was about to go off the air and said, "Thank you for your company, everyone go to bed early." Then the number of people in the live broadcast room began to decrease. During the decrease, the real-time link was also used to calculate and judge in real time whether live broadcast room 80 still met the label conditions of live broadcast room package 1. When the real-time number of online people dropped to 999, it was determined that live broadcast room 80 no longer met the label conditions of live broadcast room package 1, and the mark of live broadcast room 80 was changed from crowd_pool_id_list=[live broadcast room package 1] to crowd_pool_id_list=[]. Subsequent operations on live broadcast room package 1 would no longer affect live broadcast room 80.
[0133] Furthermore, a first entity package set of the first target entity can be obtained, thereby obtaining a first task entity package of the first entity package, and a second entity package set of the second target entity can be obtained, thereby obtaining a second task entity package of the second entity package, and the first task entity package can be recommended to the second task entity package. Both the first target entity and the second target entity are target entities.
[0134] The following is an example of entity selection and application combined with the recommended application scenario.
[0135] In the recommendation scenario, the "cold start" problem for new users is limited by the lack of historical behavior, and the algorithm model is also out of reach. In the vertical operation process, for example, for new male user groups / new female user groups, etc., a batch of high-quality notes can be selected to form a selected high-quality note package / note pool corresponding to the new vertical group. Therefore, in the recommendation process, the note can be used as the first target entity and the user as the second target entity, then a high-quality note pool (ie, the first entity package) can be recommended to a certain vertical new user group (ie, the second entity package). In this process, the selection of new user groups and the selection of high-quality note pools can be selected through the above-mentioned real-time entity selection method.
[0136] In one implementation, the user's entity tag is set to the registration duration. After a new user registers, if the new user's registration duration is less than a first set duration, it is determined that the tag condition of the new user crowd package is met, and the new user is added to the new user crowd package (i.e., the ID of the new user crowd package is added to the crowd_pool_id_list of the new user). When the new user introduction period arrives and becomes an old user (i.e., the registration duration is not less than the first set duration), the new user is withdrawn from the new user crowd package (i.e., the ID of the new user crowd package is removed from the crowd_pool_id_list of the new user).
[0137] Similarly, for notes, the entity tag of the note is set to the publishing time. After the note is published, if the publishing time of the note is lower than the second set time, it is determined that it meets the tag conditions of the note pool and the note is added to the note pool (that is, the note pool ID is added to the crowd_pool_id_list of the note). Otherwise, the note is removed from the note pool (that is, the note pool ID is removed from the crowd_pool_id_list of the note).
[0138] Furthermore, the notes in the note pool can be determined according to the crowd_pool_id_list of each note, and the new users in the new user crowdcast can be determined according to the crowd_pool_id_list of each new user, and the notes in the note pool can be recommended to the new users in the new user crowd package.
[0139] In the embodiment of the present application, when there are multiple first entity packages (e.g., multiple content packages) and multiple second entity packages (e.g., multiple crowd packages), the matching relationships between different first entity packages and second entity packages (e.g., crowds and different contents) can be personalized, which can be targeted distribution of the content in a content package to people in a certain crowd package, or targeted filtering of the content seen by people in a certain crowd package, etc. The specific matching relationship and application strategy can be specifically analyzed and set according to the specific scenario, but no matter which scenario, it is carried out with the crowd / content selected in real time as the carrier.
[0140] In the embodiment of the present application, the data changes on the business side are monitored in real time through a real-time link to obtain online incremental business data, and the label set of each target entity is determined in combination with the full offline business data and the online incremental business data, thereby ensuring the timeliness and accuracy of the target entity and its corresponding label set. Furthermore, according to the label set of the target entity, each entity package that matches the target entity is determined, and according to each matched entity package, a set of entity packages corresponding to each target entity is generated, and the target entity can be marked in the form of entity package identification, that is, a list or string of entity package identifications of each target entity is generated. Therefore, there is no need to circle out multiple entity packages from the full offline business data, and store each entity package in different tables, thereby reducing the storage resources and computing resources occupied. Furthermore, the entity package to which the target entity belongs can be determined only based on the entity package set, without the need to filter the entire data separately or obtain the corresponding entity package by multi-table JOIN when executing the task. The operations that originally required the support of a high-performance online analytical processing (OLAP) database are converted into operations that can be implemented on ordinary hardware, further reducing the consumption of computing resources and storage resources and improving task processing efficiency.
[0141] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0142] Based on the same inventive concept, an embodiment of the present application also provides a device for entity selection. Since the principle of solving the problem by the above device and equipment is similar to that of a method for entity selection, the implementation of the above device can refer to the implementation of the method, and the repeated parts will not be repeated. The device can be applied to electronic devices. The present application does not limit the type of electronic devices. It can be any type of device suitable for implementation, such as terminal devices and servers, etc., and the present application will not repeat them.
[0143] See also Figure 4 , which is a structural block diagram of a device for selecting an entity in an embodiment of the present application. In some embodiments, the device for selecting an entity in an example of the present application includes:
[0144] A generating unit 401 is used to generate a tag set of a target entity according to business data; the tag set includes at least one entity tag and its corresponding tag value;
[0145] A screening unit 402 is used to screen out a target tag condition satisfied by a tag set from the tag conditions corresponding to at least one entity package;
[0146] The obtaining unit 403 is used to obtain an entity package set of a target entity according to the entity package corresponding to the target tag condition.
[0147] In one implementation, the business data includes full offline business data; the generating unit 401 is used to:
[0148] Receive the full amount of offline business data sent periodically;
[0149] Generate a target entity set according to at least one target entity included in the received full offline business data;
[0150] According to the full amount of offline business data, a label set corresponding to at least one target entity in the target entity set is generated.
[0151] In one implementation, the business data further includes online incremental business data; the generating unit 401 is used to:
[0152] Through the real-time link, the business side is monitored to obtain online incremental business data in real time;
[0153] According to the online incremental business data, update the label set corresponding to at least one target entity.
[0154] In one implementation, the generating unit 401 is used to:
[0155] For each target entity of the online incremental business data, perform the following steps:
[0156] If the target entity is included in the target entity set, the label set of the target entity is updated according to the corresponding data of the target entity in the full offline business data and the online incremental business data;
[0157] If the target entity is not included in the target entity set, a label set of the target entity is generated according to the corresponding data of the target entity in the online incremental business data, and the target entity is added to the target entity set.
[0158] In one implementation, the obtaining unit 403 is used to:
[0159] Obtaining an entity package identifier corresponding to at least one entity package;
[0160] The entity package identifier of the entity package corresponding to the target label condition is added to the entity package set corresponding to the target entity.
[0161] In one implementation, the target entity is at least one; the obtaining unit 403 is further used to:
[0162] Obtaining task screening conditions according to the received task execution instructions;
[0163] Filtering out a set of entity packages that meets a task filtering condition from a set of entity packages of at least one target entity;
[0164] Generate a task entity package according to the target entity corresponding to the entity package set;
[0165] Execute the task execution instructions according to each target entity in the task entity package.
[0166] In one implementation, the target entity is at least one; the obtaining unit 403 is further used to:
[0167] Sending an entity package set of at least one target entity to a task server enables the task server to filter out target entities corresponding to the entity package set that meets the task filtering conditions according to the task execution instruction, obtain the task entity package, and execute the task instruction according to the task entity package.
[0168] The entity selection method in the embodiment of the present application includes generating a tag set of a target entity according to business data; the tag set includes at least one entity tag and its corresponding tag value; filtering out a target tag condition satisfied by the tag set from the tag conditions corresponding to each of at least one entity package; and obtaining an entity package set of the target entity according to the entity package corresponding to the target tag condition. In this way, the entity package set matching each target entity is determined, which reduces the computing resources and storage resources of the entity selection.
[0169] In an embodiment of the present application, an electronic device is provided, including:
[0170] Processor; and
[0171] The memory stores computer instructions, where the computer instructions are used to enable the processor to execute the method of any of the above embodiments.
[0172] In an embodiment of the present application, a computer-readable storage medium is provided, which stores computer instructions, and the computer instructions are used to enable a computer to execute a method in any of the above-mentioned embodiments.
[0173] An embodiment of the present application also provides a computer program product, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device implements any of the above-mentioned methods.
[0174] Figure 5 FIG. 5 shows a schematic diagram of the structure of an electronic device 5000. Figure 5 As shown, the electronic device 5000 includes: a processor 5010 and a memory 5020 , and optionally, may also include a power supply 5030 , a display unit 5040 , and an input unit 5050 .
[0175] The processor 5010 is the control center of the electronic device 5000. It connects various components using various interfaces and lines, and performs various functions of the electronic device 5000 by running or executing software programs and / or data stored in the memory 5020, thereby monitoring the electronic device 5000 as a whole.
[0176] In the embodiment of the present application, the processor 5010 executes the various steps in the above embodiment when calling the computer program stored in the memory 5020.
[0177] Optionally, the processor 5010 may include one or more processing units; preferably, the processor 5010 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and applications, and the modem processor mainly processes wireless communications. It is understandable that the modem processor may not be integrated into the processor 5010. In some embodiments, the processor and the memory may be implemented on a single chip, and in some embodiments, they may also be implemented separately on separate chips.
[0178] The memory 5020 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, various applications, etc.; the data storage area may store data created according to the use of the electronic device 5000, etc. In addition, the memory 5020 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices, etc.
[0179] The electronic device 5000 also includes a power source 5030 (such as a battery) for supplying power to various components. The power source can be logically connected to the processor 5010 through a power management system, so that the power management system can manage functions such as charging, discharging, and power consumption.
[0180] The display unit 5040 may be used to display information input by the user or information provided to the user and various menus of the electronic device 5000, and in the embodiment of the present application, is mainly used to display the display interface of each application in the electronic device 5000 and objects such as text and pictures displayed in the display interface. The display unit 5040 may include a display panel 5041. The display panel 5041 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc.
[0181] The input unit 5050 may be used to receive information such as numbers or characters input by the user. The input unit 5050 may include a touch panel 5051 and other input devices 5052. The touch panel 5051, also known as a touch screen, may collect touch operations of the user on or near it (such as operations of the user using a finger, a stylus, or any other suitable object or accessory on or near the touch panel 5051).
[0182] Specifically, the touch panel 5051 can detect the user's touch operation, detect the signal brought by the touch operation, convert these signals into touch point coordinates, send them to the processor 5010, and receive and execute the command sent by the processor 5010. In addition, the touch panel 5051 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic wave. Other input devices 5052 can include but are not limited to one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), a trackball, a mouse, a joystick, etc.
[0183] Of course, the touch panel 5051 can cover the display panel 5041. When the touch panel 5051 detects a touch operation on or near it, it is transmitted to the processor 5010 to determine the type of touch event. Then the processor 5010 provides corresponding visual output on the display panel 5041 according to the type of touch event. Figure 5 In the embodiment, the touch panel 5051 and the display panel 5041 are used as two independent components to realize the input and output functions of the electronic device 5000, but in some embodiments, the touch panel 5051 and the display panel 5041 can be integrated to realize the input and output functions of the electronic device 5000.
[0184] The electronic device 5000 may also include one or more sensors, such as a pressure sensor, a gravity acceleration sensor, a proximity light sensor, etc. Of course, according to the needs of specific applications, the electronic device 5000 may also include other components such as a camera. Since these components are not the key components used in the embodiments of the present application, Figure 5 It is not shown and will not be described in detail.
[0185] Those skilled in the art will understand that Figure 5 The electronic device is merely an example and does not limit the electronic device, and may include more or less components than those shown in the figure, or may combine certain components, or may include different components.
[0186] For the convenience of description, the above parts are divided into modules (or units) according to their functions and described separately. Of course, when implementing this application, the functions of each module (or unit) can be implemented in the same or multiple software or hardware.
Claims
1. A method for selecting an entity, characterized in that: The method comprises: Generate a tag set of the target entity according to the business data; the tag set includes at least one entity tag and its corresponding tag value; Filtering out a target label condition satisfied by the label set from label conditions corresponding to at least one entity package; According to the entity package corresponding to the target tag condition, a set of entity packages of the target entity is obtained.
2. The method according to claim 1, characterized in that The business data includes full offline business data; and generating a tag set of a target entity according to the business data includes: Receive the full amount of offline business data sent periodically; Generate a target entity set according to at least one target entity included in the received full offline business data; A label set corresponding to at least one target entity in the target entity set is generated according to the full amount of offline business data.
3. The method according to claim 2, characterized in that The business data also includes online incremental business data; after generating a label set corresponding to at least one target entity in the target entity set according to the full amount of offline business data, the method includes: Through the real-time link, the business side is monitored to obtain online incremental business data in real time; According to the online incremental business data, a tag set corresponding to each of the at least one target entity is updated.
4. The method according to claim 3, characterized in that The updating of the label set corresponding to each of the at least one target entity according to the online incremental business data includes: For each target entity of the online incremental business data, perform the following steps: If the target entity is included in the target entity set, updating the label set of the target entity according to the data corresponding to the target entity in the full amount of offline business data and the online incremental business data; If the target entity is not included in the target entity set, a label set of the target entity is generated according to the data corresponding to the target entity in the online incremental business data, and the target entity is added to the target entity set.
5. The method according to any one of claims 1 to 4, characterized in that: The step of obtaining a set of entity packages of the target entity according to the entity packages corresponding to the target tag condition includes: Obtaining an entity package identifier corresponding to each of the at least one entity package; The entity package identifier of the entity package corresponding to the target tag condition is added to the entity package set corresponding to the target entity.
6. The method according to any one of claims 1 to 4, characterized in that: The target entity is at least one; after obtaining a set of entity packages of the target entity according to the entity packages corresponding to the target tag condition, the method further includes: Obtaining task screening conditions according to the received task execution instructions; Filtering out a set of entity packages that meets the task screening condition from a set of entity packages of at least one target entity; Generate a task entity package according to the target entity corresponding to the entity package set; The task execution instruction is executed according to each target entity in the task entity package.
7. The method according to any one of claims 1 to 4, characterized in that: The target entity is at least one; the method further comprises: Sending an entity package set of at least one target entity to a task server enables the task server to filter out target entities corresponding to the entity package set that meets the task filtering conditions according to the task execution instruction, obtain a task entity package, and execute the task instruction according to the task entity package.
8. A device for selecting an entity, characterized in that: The device comprises: A generating unit, configured to generate a tag set of a target entity according to the business data; the tag set includes at least one entity tag and its corresponding tag value; A screening unit, configured to screen out a target tag condition satisfied by the tag set from the tag conditions corresponding to the at least one entity package; The obtaining unit is used to obtain the entity package set of the target entity according to the entity package corresponding to the target tag condition.
9. An electronic device, characterized in that: include: processor; as well as A memory storing computer instructions, wherein the computer instructions are used to enable the processor to execute the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: Computer instructions are stored, and the computer instructions are used to make a computer execute the method according to any one of claims 1 to 7.
11. A computer program product, characterized in that The invention comprises a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code is executed in a processor of an electronic device, the processor in the electronic device performs the method according to any one of claims 1 to 7.