Target object determination method and device

The feature data is processed and represented through the bitmap algorithm, which solves the problems of low processing efficiency and waste of storage space in the prior art, and realizes a method of efficiently filtering target objects.

CN114461645BActive Publication Date: 2025-01-03ZHEJIANG E COMMERCE BANK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210124140.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-10
Publication Date
2025-01-03
Estimated Expiration
2042-02-10

AI Technical Summary

Technical Problem

When the existing ODPS wide table scheme and Bitmap scheme process a large number of features, the computing efficiency is low and the storage space is wasted, especially the processing efficiency of numerical features is poor, so it is impossible to effectively filter the target object.

Method used

The bitmap algorithm is used to process the feature data, represent the feature data through bits, reduce the storage space requirement, and use computer bit computing performance to improve computing efficiency, determine the target threshold to filter the target object.

Benefits of technology

It effectively reduces the consumption of storage space and computing resources, improves the efficiency of target object screening, and can efficiently process large amounts of feature data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114461645B_ABST
    Figure CN114461645B_ABST
Patent Text Reader

Abstract

The embodiments of this specification provide a method and device for determining a target object, wherein the method for determining a target object includes: determining an object list including an initial object, and determining feature data corresponding to a target feature of the initial object from the object list, processing the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data, determining a target threshold, and determining target bitmap data from the data set according to the target threshold, and determining the target object from the initial object according to the target bitmap data. By using a bitmap algorithm, the feature data is represented by bits, the storage space is reduced, and the natural advantage of the extremely high bit operation performance of computers is used to ensure computing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification relate to the field of big data technology, and in particular to a method for determining a target object. Background Art

[0002] In daily data processing, there are many requirements to filter out corresponding users or the number of users with the characteristics based on user characteristics. Currently, there are two relatively mature solutions: one is similar to the ODPS wide table solution, and the other is based on the bitmap solution. However, both solutions have obvious defects.

[0003] Common ODPS wide table solutions (calculation time is minutes to hours). The problem can be solved using SQL and other syntax for enumerable features and numeric non-enumerable features (features as columns). However, when the number of features exceeds 1,000, the wide table solution is not available and only multiple tables can be created. In addition, the query efficiency gradually deteriorates as the amount of data increases, and a large amount of storage space and computing resources are also wasted.

[0004] Bitmap solution (calculation time is in seconds). Each bitmap represents a feature, and each index position in the bitmap corresponds to a user in the index table. However, this solution can only represent enumerable features. When the feature is numerical, for example, user 1's consumption amount is 999 yuan, user 2's consumption amount is 1000 yuan, etc., if each value is stored as a bitmap, it will cause massive storage overhead, and it cannot be calculated when the range is limited. Summary of the invention

[0005] In view of this, an embodiment of this specification provides a method for determining a target object. One or more embodiments of this specification also relate to a target object determination device, a computing device, a computer-readable storage medium and a computer program to solve the technical defects existing in the prior art.

[0006] According to a first aspect of an embodiment of this specification, a method for determining a target object is provided, including:

[0007] Determine an object list including an initial object, and determine feature data corresponding to a target feature of the initial object from the object list;

[0008] Processing the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data;

[0009] Determining a target threshold, and determining target bitmap data from the data set according to the target threshold;

[0010] A target object is determined from the initial objects according to the target bitmap data.

[0011] According to a second aspect of an embodiment of this specification, a target object determination device is provided, including:

[0012] a feature determination module, configured to determine an object list including an initial object, and determine feature data corresponding to a target feature of the initial object from the object list;

[0013] A bitmap algorithm module is configured to process the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data;

[0014] a data determination module, configured to determine a target threshold, and determine target bitmap data from the data set according to the target threshold;

[0015] The object determination module is configured to determine a target object from the initial objects according to the target bitmap data.

[0016] According to a third aspect of an embodiment of this specification, a computing device is provided, including:

[0017] Memory and processor;

[0018] The memory is used to store computer executable instructions, and the processor is used to execute the computer executable instructions. When the computer executable instructions are executed by the processor, the steps of the above-mentioned target object determination method are implemented.

[0019] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which stores computer-executable instructions, and when the instructions are executed by a processor, the steps of the above-mentioned target object determination method are implemented.

[0020] According to a fifth aspect of the embodiments of this specification, a computer program is provided, wherein when the computer program is executed in a computer, the computer is caused to execute the steps of the above-mentioned target object determination method.

[0021] The target object determination method of the present specification includes: determining an object list including an initial object, and determining feature data corresponding to a target feature of the initial object from the object list, processing the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data, determining a target threshold, and determining target bitmap data from the data set according to the target threshold, and determining the target object from the initial object according to the target bitmap data. By using a bitmap algorithm, the feature data is represented by bits, the storage space is reduced, and the natural advantage of the extremely high bit operation performance of computers is used to ensure computing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1is a flow chart of a method for determining a target object provided by an embodiment of this specification;

[0023] Figure 2 is a process flow chart of a target object determination method provided by an embodiment of this specification;

[0024] Figure 3 is a structural schematic diagram of a target object determination device provided by an embodiment of this specification;

[0025] Figure 4 It is a structural block diagram of a computing device provided by an embodiment of this specification. DETAILED DESCRIPTION

[0026] Many specific details are described in the following description to facilitate a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of this specification, so this specification is not limited to the specific implementation disclosed below.

[0027] The terms used in one or more embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of this specification. The singular forms of "a", "said" and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.

[0028] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of this specification, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0029] First, the terms involved in one or more embodiments of this specification are explained.

[0030] Bitmap: Also known as bitmap algorithm, it uses a bit (0 or 1) to represent whether the element corresponding to the index position appears. Since data is stored in bits, it can greatly save storage space.

[0031] Integer: The data type is int, which occupies 4 bytes of storage space in the computer, with a range of -2147483648 to 2147483647.

[0032] Numerical feature: generally refers to a feature whose value is numeric, that is, it cannot be enumerated one by one or the enumeration value is too large.

[0033] In this specification, a target object determination method is provided. This specification also relates to a target object determination device, a computing device, and a computer-readable storage medium, which are described in detail one by one in the following embodiments.

[0034] See also Figure 1 , Figure 1 A flow chart of a target object determination method provided according to an embodiment of the present specification is shown, which specifically includes the following steps.

[0035] Step 102: Determine an object list including an initial object, and determine feature data corresponding to a target feature of the initial object from the object list.

[0036] Among them, the initial object can be objects such as users and commodities, for example, the initial object is a user; the object list can be a list of recorded objects and object data, for example, the object list includes the user's identification and the user's consumption amount data; the target feature can be a feature of the user's data, for example, the target feature is a feature such as the consumption amount or commodity category.

[0037] In actual applications, in online shopping scenarios, the number of users and user data is very large. It is very difficult to filter out the desired users. It is necessary to first determine the required target features and then obtain the corresponding feature data based on the target features.

[0038] For example, the initial objects are all users of shopping website A, and the target features are male and consumption amount. The object list includes male users and the consumption amount of male users. The consumption amount of the users is determined from the object list. The consumption amount of user 1 is 20, the consumption amount of user 2 is 40, and the consumption amount of user 3 is 5.

[0039] It should be noted that the method may further include the step of first establishing an object list. In one achievable method, the original object is first obtained from the data interface, the initial features of each original object are determined, the target features are selected from the initial features, the initial object is determined from the original object according to the target features, and the object list is constructed according to these initial objects.

[0040] The embodiment of the present specification determines the feature data corresponding to the target feature according to the object list, and can quickly obtain the feature data, thereby improving efficiency.

[0041] Step 104: Processing the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data.

[0042] The feature data may be a numerical value, a character, etc. For example, the target feature is the consumption amount, and the feature data corresponding to the consumption amount is the numerical value of the consumption amount; the data set may be a collection of numerical values ​​and characters, for example, the data set includes the numerical value of binary data.

[0043] In practical applications, it is necessary to process the feature data of the target features. When the amount of data is huge, it will take up a lot of storage space and the amount of calculation will become very large. Therefore, the bitmap algorithm is used to process the feature data first to facilitate the subsequent screening of the target objects.

[0044] For example, referring to Table 1, the object list includes index, user, feature name, and value, wherein the user is the initial object in the above embodiment, the feature name is the target feature in the above embodiment, and the value is the feature data in the above embodiment. The value of the consumption amount is processed according to the bitmap algorithm to obtain a data set.

[0045]

[0046]

[0047] Table 1

[0048] Specifically, the step of processing the feature data corresponding to the target feature according to the bitmap algorithm to obtain a data set includes:

[0049] Determine whether the feature data corresponding to the target feature is of a numerical type;

[0050] If yes, the feature data corresponding to the target feature is converted into binary data, and a bitmap data group is determined according to a bitmap algorithm and the binary data.

[0051] If not, determining feature bitmap data according to the bitmap algorithm and feature data corresponding to the target feature;

[0052] A data set is obtained according to the bitmap data group and the feature bitmap data.

[0053] Among them, the numerical type means that the type of feature data is a numerical value. For example, if the feature data is 10, 20, etc., then the feature data is a numerical type; binary data refers to data in binary form, for example, 0101, 0001, etc.; the bitmap data group refers to the data group obtained after processing the feature data according to the bitmap algorithm.

[0054] Continuing with the above example, the numerical column in Table 1 is judged. If there is data in the numerical column, the numerical value is converted into binary data. The consumption amount of user id1 is 4, and 4 is converted into 0100. The consumption amount of user id2 is 5, and 5 is converted into 0101. The consumption amount of user id3 is 6, and 6 is converted into 0110. The consumption amount of user id4 is 7, and 7 is converted into 0111. The consumption amount of user id5 is 8, and 8 is converted into 1000. The bitmap data group is determined according to the bitmap algorithm and 0100, 0101, 0110, 0111 and 1000. When the data in the value column of user id6 is empty, the characteristic bitmap data can be determined to be 111110, that is, the target feature is counted to see whether it has a value, and then the characteristic bitmap data is obtained, because the consumption amount data of user id1, user id2, user id3, user id4, and user id5 exist, "1" is used to indicate the existence, and the consumption amount data of user id6 does not exist, "0" is used to indicate the non-existence, so the characteristic bitmap data is 111110. The data set is obtained according to the bitmap data group and the characteristic bitmap data.

[0055] The embodiment of this specification determines a data set by using a bitmap algorithm, thereby reducing the use of storage space.

[0056] Further, determining the bitmap data group according to the bitmap algorithm and the binary data includes:

[0057] Determine a first bitmap data group according to a bitmap algorithm and a first value in the binary data;

[0058] A second bitmap data group is determined according to the bitmap algorithm and a second value in the binary data.

[0059] The first bitmap data group may be a bitmap data group determined according to the "0" element; and the second bitmap data group may be a bitmap data group determined according to the "1" element.

[0060] Specifically, determining the first bitmap data group according to the bitmap algorithm and the first value in the binary data includes:

[0061] Selecting a value of the i-th bit of the binary data according to a bitmap algorithm, wherein an initial value of i is 1, and i is less than or equal to the number of bits of the binary data;

[0062] The i-th bitmap data is determined according to whether the value of the i-th bit in the binary data is zero, and the value of i is incremented by 1.

[0063] And determine the first bitmap data group according to all the bitmap data.

[0064] For example, the first value is 0, the binary data corresponding to user id1 is 0100, the binary data corresponding to user id2 is 0101, the binary data corresponding to user id3 is 0110, the binary data corresponding to user id4 is 0111, and the binary data corresponding to user id5 is 1000. Starting from the first bit of the binary data 0100, 0101, 0110, 0111, and 1000, the occurrence of 0 is counted, and 10101 is obtained. Since user id6 has no corresponding binary data, the first bit of the image data is 101010. Accordingly, Starting from the second bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 0 and get 11001. Then the second bitmap data is 110010. Starting from the third bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 0 and get 00001. Then the third bitmap data is 000010. Starting from the fourth bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 0 and get 11110. Then the fourth bitmap data is 111100. Then the first bitmap data group includes 101010, 110010, 000010 and 111100.

[0065] The step of determining a second bitmap data group according to the bitmap algorithm and a second value in the binary data comprises:

[0066] Selecting a value of the i-th bit of the binary data according to a bitmap algorithm, wherein an initial value of i is 1, and i is less than or equal to the number of bits of the binary data;

[0067] The i-th bitmap data is determined according to whether the value of the i-th bit in the binary data is zero, and the value of i is incremented by 1.

[0068] A second bitmap data group is determined according to all the bitmap data.

[0069] For example, the second value is 1, the binary data corresponding to user id1 is 0100, the binary data corresponding to user id2 is 0101, the binary data corresponding to user id3 is 0110, the binary data corresponding to user id4 is 0111, and the binary data corresponding to user id5 is 1000. Starting from the first bit of the binary data 0100, 0101, 0110, 0111, and 1000, we count the occurrences of 1 and get 01010. Since user id6 has no corresponding binary data, the first bit of the image data is 010100. Accordingly, from the binary Starting from the second bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 1 and get 00110, so the second bitmap data is 001100; starting from the third bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 1 and get 11110, so the third bitmap data is 111100; starting from the fourth bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 1 and get 00001, so the fourth bitmap data is 000010. The second bitmap data group includes 010100, 001100, 111100 and 000010.

[0070] The embodiment of this specification uses a bitmap algorithm to represent feature data using binary numbers, thereby reducing the use of storage space.

[0071] Step 106: Determine a target threshold, and determine target bitmap data from the data set according to the target threshold.

[0072] The target threshold may be a set numerical threshold, for example, the target threshold is 1000; and the target bitmap data refers to the filtered feature data.

[0073] In practical applications, the target threshold is 5, then there are three situations. The first situation is to select the initial object whose feature data is greater than 5, the second situation is to select the initial object whose feature data is equal to 5, and the third situation is to select the initial object whose feature data is less than or equal to 5. According to these three situations, the method of determining the target bitmap data from the data set is also different.

[0074] Specifically, in the case of selecting an initial object whose characteristic data is equal to a target threshold, a specific implementation method of determining the target bitmap data from the data set is as follows.

[0075] Determining target bitmap data from the data set according to the target threshold comprises:

[0076] converting the target threshold into a binary threshold;

[0077] Target bitmap data is selected from the data set according to the binary threshold.

[0078] The binary threshold refers to a target threshold in binary form. For example, if the target threshold is 5, the binary threshold is 0101.

[0079] Continuing with the above example, the first bitmap data group includes 101010, 110010, 000010 and 111100, the second bitmap data group includes 010100, 001100, 111100 and 000010, the target threshold is 5, 5 is converted to binary to obtain the binary threshold 0101, and the target bitmap data is selected from the data set according to the first bit "1", the second bit "0", the third bit "1" and the fourth bit "0" of the binary threshold.

[0080] The embodiment of the present specification determines the target bitmap data from the data set according to the target threshold value, rather than involving all the bitmap data in the calculation, thereby reducing the amount of calculation.

[0081] The selecting target bitmap data from the data set according to the binary threshold comprises:

[0082] Traversing from the first binary value of the binary threshold to the last binary value of the binary threshold;

[0083] Each binary value of the traversed binary threshold is taken as a target value, and a target bitmap data is selected from the data set according to each target value.

[0084] The target value can be 0 or 1.

[0085] For example, the first bitmap data group includes 101010, 110010, 000010 and 111100, the second bitmap data group includes 010100, 001100, 111100 and 000010, the target threshold is 5, 5 is converted into binary to obtain the binary threshold 0101, according to the first bit "1" of the binary threshold, because the second bitmap data group is determined according to the element "1", the bitmap data determined according to the first bit is found in the second bitmap data group: 010100; accordingly, according to the second bit "0" of the binary threshold, because the first bitmap data group is determined according to the element "0", the bitmap data determined according to the second bit is found in the first bitmap data group: 110010; according to the third bit "1" of the binary threshold, the bitmap data determined according to the third bit is found in the first bitmap data group: 111100; according to the fourth bit "0" of the binary threshold, the bitmap data determined according to the fourth bit is found in the first bitmap data group: 111100. The target bitmap data includes 010100, 110010, 111100 and 111100.

[0086] The embodiment of the present specification determines the target bitmap data from the data set according to the target threshold value, rather than involving all the bitmap data in the calculation, thereby reducing the amount of calculation.

[0087] Specifically, in the case of selecting an initial object whose characteristic data is less than, equal to or greater than a target threshold, a specific implementation method of determining the target bitmap data from the data set is as follows.

[0088] The selecting target bitmap data from the data set according to the binary threshold comprises:

[0089] selecting an initial binary value that is less than or equal to the binary threshold, wherein the initial binary value is a positive integer;

[0090] Grouping the initial binary values ​​according to the value of each bit of the initial binary values ​​to obtain more than one binary array, wherein the binary array includes more than one initial binary value;

[0091] Target bitmap data is selected from the data set according to the binary array.

[0092] For example, if the target threshold is 5, the values ​​less than or equal to 5 can be listed as 5, 4, 3, 2, and 1. 5, 4, 3, 2, and 1 are converted into binary to obtain the initial binary values. The binary value of 5 is 0101, the binary value of 4 is 0100, the binary value of 3 is 0011, the binary value of 2 is 0010, and the binary value of 1 is 0001. As long as the upper limit of the distribution is determined, such as the initial binary value mentioned above, when the second and fourth bits are 0, the other bits, whether 0 or 1, will not be larger than when the second and fourth bits are 0, and when the third and fourth bits are 0, the other bits, whether 0 or 1, will not be larger than when the third and fourth bits are 0. Therefore, when calculating, first determine the upper limit of the initial binary value, determine the binary array with the second and fourth bits being 0, and the binary array with the third and fourth bits being 0. Because the first bitmap data group is determined based on the element "0", the second and fourth bitmap data 111100 and 110010 are selected from the first bitmap data group in the data set for statistics. Because the second bitmap data group is determined based on the element "1", the third and fourth bitmap data 111100 and 000010 are selected from the second bitmap data group in the data set for statistics. Then the target bitmap data includes 111100 and 110010, and 111100 and 000010.

[0093] The embodiment of the present specification determines the target bitmap data from the data set according to the target threshold value, rather than involving all the bitmap data in the calculation, thereby reducing the amount of calculation.

[0094] Step 108: Determine a target object from the initial objects according to the target bitmap data.

[0095] The target object may be understood as the object obtained by screening, for example, the target object is a user whose consumption amount is greater than 5.

[0096] In practical applications, the target threshold is 5. In the first case, the initial object whose feature data is greater than 5 is selected; the second case, the initial object whose feature data is equal to 5 is selected; and the third case, the initial object whose feature data is less than or equal to 5 is selected. In these three cases, the methods of determining the target object from the initial object are different according to the target bitmap data.

[0097] Specifically, in the case of selecting an initial object whose characteristic data is equal to the target threshold, a specific implementation method of determining the target object from the initial object according to the target bitmap data is as follows.

[0098] The step of determining the target object from the initial object according to the target bitmap data comprises:

[0099] All the target bitmap data are operated according to a preset operation rule to obtain a target binary value;

[0100] Traversing the target binary value according to a preset traversal rule;

[0101] When the current bit value of the traversed target binary value is a preset target value, determining the position of the current bit value;

[0102] A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

[0103] The preset operation rule may be a logic operation rule, such as OR, AND, XOR.

[0104] Continuing with the above example, the target bitmap data includes 010100, 110010, 111100 and 111100. After performing AND operation on 010100, 110010, 111100 and 111100, we get the target binary value 010000. Then, according to "0", "1", "0", "0", "0", "0" in the target binary value, the target object is selected in Table 1, where "1" indicates selection. In this case, user id2 is selected from Table 1.

[0105] The embodiment of the present specification determines the target object from the initial object according to the target bitmap data, so that the amount of calculation is reduced and the screening efficiency is improved.

[0106] Specifically, in the case of selecting an initial object whose characteristic data is less than, equal to or greater than a target threshold, a specific implementation of determining a target object from the initial objects according to the target bitmap data is as follows.

[0107] The step of determining the target object from the initial object according to the target bitmap data comprises:

[0108] Performing a first preset operation on the target bitmap data corresponding to each of the binary arrays to obtain one or more intermediate binary values;

[0109] Performing a second preset operation on one or more of the intermediate binary values ​​to obtain a target binary value;

[0110] A target object is determined according to the target binary value.

[0111] The first preset budget may be a logic operation, such as an AND operation, an OR operation, and an XOR operation; the second preset budget may be a logic operation, such as an AND operation, an OR operation, and an XOR operation.

[0112] For example, the target bitmap data includes 111100 and 110010, and 111100 and 000010. An AND operation is performed on 111100 and 110010 to obtain an intermediate binary value 110000. An AND operation is performed on 111100 and 000010 to obtain an intermediate binary value 000000. An OR operation is performed on the intermediate binary value 110000 and the intermediate binary value 000000 to obtain a target binary value 110000. The target object is determined based on 110000.

[0113] The embodiment of the present specification determines the target object from the initial object according to the target bitmap data, so that the amount of calculation is reduced and the screening efficiency is improved.

[0114] Specifically, in the case of selecting an initial object whose characteristic data is less than or equal to the target threshold, a specific implementation method of determining the target object is as follows.

[0115] The step of determining the target object according to the target binary value comprises:

[0116] Traversing the target binary value according to a preset traversal rule;

[0117] When the current bit value of the traversed target binary value is a preset target value, determining the position of the current bit value;

[0118] A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

[0119] Continuing with the above example, the target binary value is 110000. The target objects are selected in Table 1 according to "1", "1", "0", "0", "0", "0" in the target binary value, where "1" indicates selection. In this case, users with id1 and id2 are selected from Table 1.

[0120] Specifically, in the case of selecting an initial object whose characteristic data is greater than a target threshold, a specific implementation method of determining the target object is as follows.

[0121] The step of determining the target object according to the target binary value comprises:

[0122] Performing a third preset operation on the target binary value and the characteristic bitmap data to obtain an inverted binary value;

[0123] Traversing the inverted binary value according to a preset traversal rule, wherein the feature bitmap data is determined according to the bitmap algorithm and the feature data corresponding to the target feature;

[0124] When the current bit value of the traversed inverse binary value is a preset target value, determining the position of the current bit value;

[0125] A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

[0126] The third preset budget may be a logic operation, such as an AND operation, an OR operation, and an XOR operation.

[0127] Continuing with the above example, the target binary value is 110000. An XOR operation is performed on 110000 and the feature bitmap data 111110 to obtain the inverted binary value 001110. The target object is selected in Table 1 based on "0", "0", "1", "1", "1", "0" in the target binary value, where "1" indicates selection. In this case, users id3, id4, and id5 are selected from Table 1.

[0128] The embodiment of the present specification determines the target object from the initial object according to the target bitmap data, so that the amount of calculation is reduced and the screening efficiency is improved.

[0129] See also Figure 2 , Figure 2 A process flow chart of a target object determination method provided by an embodiment of the present specification is shown, which specifically includes the following steps.

[0130] Step 202: Determine an object list including an initial object, and determine feature data corresponding to a target feature of the initial object from the object list.

[0131] Among them, the initial object can be objects such as users and commodities, for example, the initial object is a user; the object list can be a list of recorded objects and object data, for example, the object list includes the user's identification and the user's consumption amount data; the target feature can be a feature of the user's data, for example, the target feature is a feature such as the consumption amount or commodity category.

[0132] In actual applications, in online shopping scenarios, the number of users and user data is very large. It is very difficult to filter out the desired users. It is necessary to first determine the required target features and then obtain the corresponding feature data based on the target features.

[0133] For example, the initial objects are all users of shopping website A, and the target features are male and consumption amount. The object list includes male users and the consumption amount of male users. The consumption amount of the user is determined from the object list. The consumption amount of user id1 is 4, the consumption amount of user id2 is 5, the consumption amount of user id3 is 6, the consumption amount of user id4 is 7, the consumption amount of user id5 is 8, and user id6 has no consumption amount data.

[0134] Step 204: Convert the feature data corresponding to the target feature into binary data, and determine a first bitmap data group and a second bitmap data group according to a bitmap algorithm and the binary data.

[0135] The first bitmap data group may be a bitmap data group determined according to the "0" element; and the second bitmap data group may be a bitmap data group determined according to the "1" element.

[0136] For example, when the first value is 0, the binary data corresponding to user id1 is 0100, the binary data corresponding to user id2 is 0101, the binary data corresponding to user id3 is 0110, the binary data corresponding to user id4 is 0111, and the binary data corresponding to user id5 is 1000. Starting from the first bit of the binary data 0100, 0101, 0110, 0111, and 1000, the occurrence of 0 is counted, and 10101 is obtained. Since user id6 has no corresponding binary data, the first bit of the image data is 101010. Accordingly, Starting from the second bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 0 and get 11001. Then the second bitmap data is 110010. Starting from the third bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 0 and get 00001. Then the third bitmap data is 000010. Starting from the fourth bit of the binary data 0100, 0101, 0110, 0111 and 1000, we count the occurrence of 0 and get 11110. Then the fourth bitmap data is 111100. Then the first bitmap data group includes 101010, 110010, 000010 and 111100. The second value is 1. The binary data corresponding to user id1 is 0100, the binary data corresponding to user id2 is 0101, the binary data corresponding to user id3 is 0110, the binary data corresponding to user id4 is 0111, and the binary data corresponding to user id5 is 1000. Starting from the first bit of binary data 0100, 0101, 0110, 0111, and 1000, we count the occurrences of 1 and get 01010. Since user id6 has no corresponding binary data, the first bit of the image data is 010100. Accordingly, from the binary data The occurrence of 1 is counted from the second bit of 0100, 0101, 0110, 0111 and 1000, and 00110 is obtained. The second bitmap data is 001100. The occurrence of 1 is counted from the third bit of the binary data 0100, 0101, 0110, 0111 and 1000, and 11110 is obtained. The third bitmap data is 111100. The occurrence of 1 is counted from the fourth bit of the binary data 0100, 0101, 0110, 0111 and 1000, and 00001 is obtained. The fourth bitmap data is 000010. The second bitmap data group includes 010100, 001100, 111100 and 000010.

[0137] Step 206: Determine a target threshold, convert the target threshold into a binary threshold; and select target bitmap data from the data set according to the binary threshold.

[0138] The binary threshold refers to a target threshold in binary form. For example, if the target threshold is 5, the binary threshold is 0101.

[0139] Continuing with the above example, the first bitmap data group includes 101010, 110010, 000010 and 111100, the second bitmap data group includes 010100, 001100, 111100 and 000010, the target threshold is 5, 5 is converted to binary to obtain the binary threshold 0101, and the target bitmap data is selected from the data set according to the first bit "1", the second bit "0", the third bit "1" and the fourth bit "0" of the binary threshold.

[0140] Step 208: All the target bitmap data are operated according to a preset operation rule to obtain a target binary value.

[0141] In practical applications, the target threshold is 5. In the first case, the initial object whose feature data is greater than 5 is selected; the second case, the initial object whose feature data is equal to 5 is selected; and the third case, the initial object whose feature data is less than or equal to 5 is selected. In these three cases, the methods of determining the target object from the initial object are different according to the target bitmap data.

[0142] Continuing with the above example, the target bitmap data includes 010100, 110010, 111100, and 111100. By performing an AND operation on 010100, 110010, 111100, and 111100, the target binary value 010000 is obtained.

[0143] Step 210: traverse the target binary value according to a preset traversal rule, and when the current bit value of the traversed target binary value is the preset target value, determine the position of the current bit value.

[0144] Among them, the preset target value can be 1 or 0.

[0145] Continuing with the above example, the target binary value is 010000. The target object is selected in Table 1 according to "0", "1", "0", "0", "0", "0" in the target binary value, where "1" indicates selection. In this case, the user whose position is the second is selected from Table 1.

[0146] Step 212: Select a corresponding initial object from the object list as a target object according to the position of the current bit value.

[0147] The target object may be understood as the object obtained by screening. For example, the target object is a user whose consumption amount is greater than 5.

[0148] Continuing with the above example, the target object is selected in Table 1 according to the target binary values ​​"0", "1", "0", "0", "0", "0", where "1" indicates selection, and the user with id2 is selected from Table 1.

[0149] Corresponding to the above method embodiment, this specification also provides a target object determination device embodiment, Figure 3 FIG. 2 shows a schematic diagram of a target object determination device provided by an embodiment of the present specification. Figure 3 As shown, the device comprises:

[0150] The feature determination module 302 is configured to determine an object list including an initial object, and determine feature data corresponding to a target feature of the initial object from the object list;

[0151] A bitmap algorithm module 304 is configured to process the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data;

[0152] The data determination module 306 is configured to determine a target threshold value, and determine target bitmap data from the data set according to the target threshold value;

[0153] The object determination module 308 is configured to determine a target object from the initial objects according to the target bitmap data.

[0154] Optionally, the bitmap algorithm module 304 is further configured to:

[0155] Determine whether the feature data corresponding to the target feature is of a numerical type;

[0156] If yes, the feature data corresponding to the target feature is converted into binary data, and a bitmap data group is determined according to a bitmap algorithm and the binary data.

[0157] If not, determining feature bitmap data according to the bitmap algorithm and feature data corresponding to the target feature;

[0158] A data set is obtained according to the bitmap data group and the feature bitmap data.

[0159] Optionally, the bitmap algorithm module 304 is further configured to:

[0160] Determine a first bitmap data group according to a bitmap algorithm and a first value in the binary data;

[0161] A second bitmap data group is determined according to the bitmap algorithm and a second value in the binary data.

[0162] Optionally, the bitmap algorithm module 304 is further configured to:

[0163] Selecting a value of the i-th bit of the binary data according to a bitmap algorithm, wherein an initial value of i is 1, and i is less than or equal to the number of bits of the binary data;

[0164] The i-th bitmap data is determined according to whether the value of the i-th bit in the binary data is zero, and the value of i is incremented by 1.

[0165] And determine the first bitmap data group according to all the bitmap data.

[0166] Optionally, the bitmap algorithm module 304 is further configured to:

[0167] Selecting a value of the i-th bit of the binary data according to a bitmap algorithm, wherein an initial value of i is 1, and i is less than or equal to the number of bits of the binary data;

[0168] The i-th bitmap data is determined according to whether the value of the i-th bit in the binary data is zero, and the value of i is incremented by 1.

[0169] A second bitmap data group is determined according to all the bitmap data.

[0170] Optionally, the data determination module 306 is further configured to:

[0171] converting the target threshold into a binary threshold;

[0172] Target bitmap data is selected from the data set according to the binary threshold.

[0173] Optionally, the data determination module 306 is further configured to:

[0174] Traversing from the first binary value of the binary threshold to the last binary value of the binary threshold;

[0175] The binary value of each bit of the traversed binary threshold is taken as a target value, and a target bitmap data is selected from the data set according to each target value.

[0176] Optionally, the object determination module 308 is further configured to:

[0177] All the target bitmap data are operated according to a preset operation rule to obtain a target binary value;

[0178] Traversing the target binary value according to a preset traversal rule;

[0179] When the current bit value of the traversed target binary value is a preset target value, determining the position of the current bit value;

[0180] A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

[0181] Optionally, the data determination module 306 is further configured to:

[0182] selecting an initial binary value that is less than or equal to the binary threshold, wherein the initial binary value is a positive integer;

[0183] Grouping the initial binary values ​​according to the value of each bit of the initial binary values ​​to obtain more than one binary array, wherein the binary array includes more than one initial binary value;

[0184] Target bitmap data is selected from the data set according to the binary array.

[0185] Optionally, the object determination module 308 is further configured to:

[0186] Performing a first preset operation on the target bitmap data corresponding to each of the binary arrays to obtain one or more intermediate binary values;

[0187] Performing a second preset operation on one or more of the intermediate binary values ​​to obtain a target binary value;

[0188] A target object is determined according to the target binary value.

[0189] Optionally, the object determination module 308 is further configured to:

[0190] Traversing the target binary value according to a preset traversal rule;

[0191] When the current bit value of the traversed target binary value is a preset target value, determining the position of the current bit value;

[0192] A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

[0193] Optionally, the object determination module 308 is further configured to:

[0194] Performing a third preset operation on the target binary value and the characteristic bitmap data to obtain an inverted binary value;

[0195] Traversing the inverted binary value according to a preset traversal rule, wherein the feature bitmap data is determined according to the bitmap algorithm and the feature data corresponding to the target feature;

[0196] When the current bit value of the traversed inverse binary value is a preset target value, determining the position of the current bit value;

[0197] A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

[0198] The target object determination device of the present specification determines an object list including an initial object, and determines feature data corresponding to a target feature of the initial object from the object list, processes the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data, determines a target threshold, and determines target bitmap data from the data set according to the target threshold, and determines the target object from the initial object according to the target bitmap data. By using a bitmap algorithm, feature data is represented by bits, storage space is reduced, and computing efficiency is ensured by utilizing the natural advantage of extremely high bit operation performance of computers.

[0199] The above is a schematic scheme of a target object determination device of this embodiment. It should be noted that the technical scheme of the target object determination device and the technical scheme of the target object determination method described above belong to the same concept, and the details not described in detail in the technical scheme of the target object determination device can be referred to the description of the technical scheme of the target object determination method described above.

[0200] Figure 4 The block diagram of a computing device 400 according to an embodiment of the present specification is shown. The components of the computing device 400 include but are not limited to a memory 410 and a processor 420. The processor 420 is connected to the memory 410 via a bus 430, and the database 450 is used to store data.

[0201] The computing device 400 also includes an access device 440 that enables the computing device 400 to communicate via one or more networks 460. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 440 may include one or more of any type of network interface (e.g., a network interface card (NIC)) wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a World Wide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.

[0202] In one embodiment of the present specification, the above components of the computing device 400 and Figure 4 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Figure 4The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.

[0203] Computing device 400 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or PC. Computing device 400 may also be a mobile or stationary server.

[0204] The processor 420 is used to execute the following computer executable instructions, which, when executed by the processor, implement the steps of the above-mentioned target object determination method.

[0205] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the target object determination method described above are of the same concept, and the details not described in detail in the technical scheme of the computing device can be found in the description of the technical scheme of the target object determination method described above.

[0206] An embodiment of the present specification further provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the steps of the above-mentioned target object determination method.

[0207] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the target object determination method described above are of the same concept, and the details not described in detail in the technical scheme of the storage medium can be referred to the description of the technical scheme of the target object determination method described above.

[0208] An embodiment of the present specification further provides a computer program, wherein when the computer program is executed in a computer, the computer is caused to execute the steps of the above-mentioned target object determination method.

[0209] The above is an illustrative solution of a computer program of this embodiment. It should be noted that the technical solution of the computer program and the technical solution of the target object determination method described above are of the same concept, and the details not described in detail in the technical solution of the computer program can be found in the description of the technical solution of the target object determination method described above.

[0210] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0211] The computer instructions include computer program codes, which may be in source code form, object code form, executable files or some intermediate forms, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0212] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of this specification are not limited by the order of the actions described, because according to the embodiments of this specification, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the embodiments of this specification.

[0213] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0214] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The optional embodiments do not describe all the details in detail, nor do they limit the invention to only the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of the embodiments of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of this specification, so that technicians in the relevant technical field can well understand and use this specification. This specification is only limited by the claims and their full scope and equivalents.

Claims

1. A method for determining a target object, comprising: Determine an object list including an initial object, and determine feature data corresponding to a target feature of the initial object from the object list; Processing the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set, wherein the data set includes the processed feature data, and processing the feature data corresponding to the target feature according to a bitmap algorithm to obtain a data set includes: Determine whether the feature data corresponding to the target feature is of a numerical type; if so, convert the feature data corresponding to the target feature into binary data, and determine a bitmap data group according to a bitmap algorithm and the binary data; if not, determine feature bitmap data according to the bitmap algorithm and the feature data corresponding to the target feature; obtain a data set according to the bitmap data group and the feature bitmap data; Determining a target threshold, and determining target bitmap data from the data set according to the target threshold; A target object is determined from the initial objects according to the target bitmap data.

2. The method according to claim 1, wherein determining the bitmap data group according to the bitmap algorithm and the binary data comprises: Determine a first bitmap data group according to a bitmap algorithm and a first value in the binary data; A second bitmap data group is determined according to the bitmap algorithm and a second value in the binary data.

3. The method according to claim 2, wherein determining the first bitmap data group according to the bitmap algorithm and the first value in the binary data comprises: Selecting a value of the i-th bit of the binary data according to a bitmap algorithm, wherein an initial value of i is 1, and i is less than or equal to the number of bits of the binary data; The i-th bitmap data is determined according to whether the value of the i-th bit in the binary data is zero, and the value of i is incremented by 1. And determine the first bitmap data group according to all the bitmap data.

4. The method according to claim 2, wherein determining the second bitmap data group according to the bitmap algorithm and the second value in the binary data comprises: Selecting a value of the i-th bit of the binary data according to a bitmap algorithm, wherein an initial value of i is 1, and i is less than or equal to the number of bits of the binary data; The i-th bitmap data is determined according to whether the value of the i-th bit in the binary data is zero, and the value of i is incremented by 1. A second bitmap data group is determined according to all the bitmap data.

5. The method according to claim 1, wherein determining target bitmap data from the data set according to the target threshold comprises: converting the target threshold into a binary threshold; Target bitmap data is selected from the data set according to the binary threshold.

6. The method according to claim 5, wherein the step of selecting target bitmap data from the data set according to the binary threshold comprises: Traversing from the first binary value of the binary threshold to the last binary value of the binary threshold; Each binary value of the traversed binary threshold is taken as a target value, and a target bitmap data is selected from the data set according to each target value.

7. The method according to claim 6, wherein determining the target object from the initial object according to the target bitmap data comprises: All the target bitmap data are operated according to a preset operation rule to obtain a target binary value; Traversing the target binary value according to a preset traversal rule; When the current bit value of the traversed target binary value is a preset target value, determining the position of the current bit value; A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

8. The method according to claim 5, wherein the step of selecting target bitmap data from the data set according to the binary threshold comprises: selecting an initial binary value that is less than or equal to the binary threshold, wherein the initial binary value is a positive integer; Grouping the initial binary values ​​according to the value of each bit of the initial binary values ​​to obtain more than one binary array, wherein the binary array includes more than one initial binary value; Target bitmap data is selected from the data set according to the binary array.

9. The method according to claim 8, wherein determining the target object from the initial object according to the target bitmap data comprises: Performing a first preset operation on the target bitmap data corresponding to each of the binary arrays to obtain one or more intermediate binary values; Performing a second preset operation on one or more of the intermediate binary values ​​to obtain a target binary value; A target object is determined according to the target binary value.

10. The method according to claim 9, wherein determining the target object according to the target binary value comprises: Traversing the target binary value according to a preset traversal rule; When the current bit value of the traversed target binary value is a preset target value, determining the position of the current bit value; A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

11. The method according to claim 9, wherein determining the target object according to the target binary value comprises: Performing a third preset operation on the target binary value and the characteristic bitmap data to obtain an inverted binary value; Traversing the inverted binary value according to a preset traversal rule, wherein the feature bitmap data is determined according to the bitmap algorithm and the feature data corresponding to the target feature; When the current bit value of the traversed inverse binary value is a preset target value, determining the position of the current bit value; A corresponding initial object is selected from the object list as a target object according to the position of the current bit value.

12. A computing device comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the target object determination method described in any one of claims 1 to 11 are implemented.

13. A computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the steps of the target object determination method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Patient crowd selection method, device and equipment and computer readable storage medium

    CN113724007A