Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 is a schematic diagram 100 of one application scenario of a method for generating authentication information, in accordance with some embodiments of the present disclosure.
As shown in fig. 1, as an example, a data type 102 for which a bucket-divided method group is determined is divided into single-value type data 103 and array type data 104. In response to the data type 102 being the single-valued data 103, the method of chunking is determined to be a first chunking validation algorithm 105. In response to the data type 102 being the array type data 104 described above, the method of bucketing is determined to be a second bucketing validation algorithm 106. Finally, the verification information 107 of the bucket method group is generated through different bucket verification algorithms.
The electronic device 101 may be hardware or software. When the electronic device is hardware, the electronic device may be implemented as a distributed cluster formed by a plurality of servers or terminal devices, or may be implemented as a single server or a single terminal device. When the electronic device is embodied as software, it may be implemented as a plurality of software or software modules, for example, for providing distributed services, or as a single software or software module. And is not particularly limited herein.
It should be understood that the number of electronic devices in fig. 1 is merely illustrative. There may be any number of electronic devices, as desired for implementation.
With continued reference to fig. 2, a flow 200 of some embodiments of a method for generating verification information in accordance with the present disclosure is shown. The method for generating the verification information comprises the following steps:
in step 201, the data type of the data for which the set of barreled methods is intended is determined.
In some embodiments, the subject of the method for generating verification information (e.g., the electronic device shown in FIG. 1) may determine the data type from data already entered in the database, the data type may include, but is not limited to, at least one of single-valued data, array-like data, in a single-valued data set, each single-valued data in the single-valued data set corresponds to an entity one-to-one, the entity corresponding to the single-valued data has a single-valued attribute, where a single-valued attribute refers to an attribute that one entity corresponds to one value, for example, the price of an entity "book" is only one (e.g., ¥ 38.5.5). in an array-like data set, each array-like data in an array-like data set corresponds to an entity one-to-one, the subject corresponding to the array-like data has a multi-valued attribute.
It should be noted that the above bucket methods in the bucket method group can divide data for the model process by different divisions of the threshold. Wherein the model process may include, but is not limited to, at least one of: user clustering model, user portrait model. Each of the above bucket methods in the above bucket method group can bucket data in the target model process, wherein the above data may include, but is not limited to, at least one of the following: the data of interest information of the user, the portrait information data of the user, the reading type data of the user and the application duration data of the user. For example, the data is reading type data of a user, wherein the reading type of the user may include: video, graphics and text, and voice. Furthermore, the user reading type data may be divided by each of the above-described method groups.
Step 202, based on the data types, determining a corresponding bucket verification algorithm.
In some embodiments, the execution agent may select a corresponding bucket validation algorithm based on the determined data type. Wherein, the bucket verification algorithm comprises: a first bucket validation algorithm and a second bucket validation algorithm. The first sub-bucket validation algorithm may be a single-value type sub-bucket validation algorithm and the second sub-bucket validation algorithm may be an array type sub-bucket validation algorithm.
It should be noted that, the bucket dividing method may include: an array bucket method and a single-valued bucket method. And determining that the data type targeted by the bucket dividing method group is single-value data, and selecting the single-value bucket dividing verification algorithm to generate verification information of the single-value bucket dividing method in the bucket dividing method group. And determining that the data type aimed at by the bucket dividing method group is array data, and selecting the array type bucket dividing algorithm to generate verification information of the array bucket dividing method in the bucket dividing method group. The single-value type bucket dividing method is a method for discretizing continuous single-value type data or aggregating discrete single-value type data through a segmentation threshold and a determined bucket dividing method. Finally, independent sub-buckets are formed in the aspect of data value taking. The array type bucket dividing method can perform bucket dividing operation on array type data, and a final bucket dividing result of the data can be composed of a plurality of labels, wherein the labels represent that the array type data simultaneously meet various conditions.
And 203, generating the verification information of the bucket dividing method group based on the bucket dividing verification algorithm.
In some embodiments, the above-mentioned bucket verification algorithm obtained from step 202 includes: single value type bucket verification algorithm and array type bucket verification algorithm. The verification information of the method for dividing the bucket can refer to the applicability of the method for dividing the bucket in the process of creating a model process such as user clustering or user portraits. Wherein, different barrel dividing methods in the barrel dividing method group correspond to different application degrees. Here, the authentication information of the above-described bucket method group may be generated by various methods using the above-described bucket authentication algorithm.
In some optional implementations of some embodiments, the data in the model process may be subjected to the bucket partitioning by using the verification information of the bucket partitioning method group, where the model process includes at least one of: user clustering model, user portrait model. Here, the method of the bucket separation method group suitable for the model process may be obtained from the verification information of the bucket separation method group, and the model process may be subjected to bucket separation.
As can be seen from the above example, the corresponding bucket validation algorithm is selected by determining the data type. Then, according to the bucket verification algorithm, verification information of at least one bucket method is generated. The method realizes effective verification of the bucket dividing method, and solves the problems of complicated verification, insufficient intuition and low efficiency of the existing bucket dividing method.
With continued reference to fig. 3, a flow 300 of further embodiments of methods for generating verification information in accordance with the present disclosure is shown. The method for generating the verification information of the bucket dividing method comprises the following steps:
the first bucket verification algorithm may be a single-value type bucket verification algorithm and the second bucket verification algorithm may be an array type bucket verification algorithm.
Step 301, determining that the data type for the barreled method group is single-value data.
Step 302, in response to the data type being single-valued data, determining the first sub-bucket verification algorithm as a corresponding sub-bucket verification algorithm.
In some embodiments, in response to the data type being single-valued data, the first sub-bucket validation algorithm is determined to be the single-valued sub-bucket validation algorithm. The single value type verification algorithm comprises the following operation steps:
first, each barrel method in the barrel method group is utilized to carry out barrel dividing on the data to generate a barrel dividing sequence, and a barrel dividing sequence set is obtained
And secondly, determining the data distribution of the data included in each sub-bucket in the sub-bucket sequence set. As an example, the distribution characteristics (e.g., mean, variance) of each bucket may be obtained from actual usage data of the user over a window period and in response to each bucket being a normal distribution.
And thirdly, determining the significance difference value between two adjacent buckets contained in each bucket sequence. As an example, determining a significant difference value between two adjacent sub-buckets may be according to the following formula:
wherein z _ score is a significant difference value, μ, between two adjacent sub-buckets included in each sub-bucket sequence
1Is the variance of
bucket 1, μ
2Is the variance of the sub-bucket 2,
is the square of the standard deviation of
bucket 1,
is the square of the standard deviation of the fractional barrel 2, n
1Is the number of data in
sub-bucket 1,n
2Is the number of data in bucket 2.
And fourthly, carrying out weighted summation on the various significance difference values associated with each barrel sequence to serve as the significance difference value of the barrel method for generating the barrel sequence. The significant difference value of the bucket dividing method of the bucket dividing sequence can be obtained by the following formula:
where z _ score _ wt _ all is a significant difference value as a bucket method for generating the above bucket sequence, and i and j represent tags that determine the buckets included in each bucket sequence.
And fifthly, generating verification information of the barreled method group according to the significance difference value of each barreled method.
Step 303, generating verification information for the bucketized methodology may be based on at least one of: comparison between significant difference values for each of the bucket-splitting methods; and comparing the significance difference value of each barreled method with a preset threshold value to generate verification information of the barreled method group.
In some embodiments, the validation information for the set of bucketing methods described above is obtained at step 302. It may be determined which of the set of barreling methods is more appropriate for use in creating models of user clusters, user representations, etc., by comparing the significance difference values between different ones of the set of barreling methods. In addition, multiple thresholds may be determined for the significance difference value for each method in the set of bucket methods. And comparing the significance difference values corresponding to different barreling methods in the barreling method group with the plurality of threshold values to generate verification information of the different barreling methods in the barreling method group. Wherein the division criterion may be the following: if the significant difference value of the bucket dividing method is far lower than the first threshold value, the applicability degree of the bucket dividing method is low. The significance of the bucket dividing method is higher than the first threshold value, but lower than the second threshold value, the applicability degree of the bucket dividing method is lower. The significance of the bucket dividing method is higher than the second threshold value, but is lower than the third threshold value, so that the applicability degree of the bucket dividing method is higher. And if the significant difference value of the bucket dividing method is higher than the third threshold value, the applicability degree of the bucket dividing method is high. As an example, from the perspective of business experience, a segmentation threshold in creating a model such as a user group or a user profile may be determined, and the segmentation threshold may be used as a standard, and a segmentation standard in a barreling method may be compared with the segmentation threshold to obtain verification information of at least one barreling method.
As can be seen from fig. 3, the flow 300 of the method for generating verification information of the method for chunking in some embodiments corresponding to fig. 3 illustrates the specific implementation steps of selecting different chunking verification algorithms and different generation processes of verification information for different data types in more detail than the description of some embodiments corresponding to fig. 2. Therefore, the scheme described by the embodiments can embody the intuitiveness and the efficiency of generating the verification information of the barreled method in a larger way.
With continued reference to fig. 4, a flow 400 of further embodiments of methods for generating verification information in accordance with the present disclosure is shown. The method for generating the verification information of the bucket dividing method comprises the following steps:
the first bucket verification algorithm may be a single-value type bucket verification algorithm and the second bucket verification algorithm may be an array type bucket verification algorithm.
Step 401, determining that the data type targeted by the bucket method group is array type data.
Step 402, in response to the data type being array type data, determining the second sub-bucket verification algorithm as a corresponding sub-bucket verification algorithm.
In some embodiments, in response to the data type being array type data, the second sub-bucket verification algorithm is determined to be the array type sub-bucket verification algorithm. The operation steps of the array type bucket-dividing verification algorithm comprise:
first, each barrel method in the barrel method group is utilized to carry out barrel dividing on the data to generate a barrel dividing sequence, and a barrel dividing sequence set is obtained
In the second step, a data distribution of data included in each of the buckets in the set of bucket groups is determined, and as an example, the data distribution of data included in each of the buckets in the set of bucket groups may be determined to be a polynomial distribution.
And thirdly, for each sub-bucket in the sub-bucket group set, determining the probability that the data value of the data included in the sub-bucket falls on each value in the value group to obtain a probability group. The set of values may be a set of values of data for which the set of bucket methods is applied. As an example, in response to a value set of data being 2 to 100, determining a distribution of each sub-bucket in the sub-bucket set over 2 to 100 values, respectively, and further determining a probability distribution of each sub-bucket over different values in the data, to obtain a probability distribution set
And fourthly, determining the information loss amount between the two sub-buckets contained in each sub-bucket group based on the principle of K-L divergence and the obtained probability group, wherein the formula of the K-L divergence is as follows:
wherein klp,qThe information loss between two sub-buckets included in each sub-bucket group is defined, K is the number of types of different values of data, i is a coordinate label on the different values of the data, and x is the number of the coordinate labelsiRefers to the value, p (x), on the coordinate label ii) Is that the partial barrel p is in xiProbability of (c), q (x)i) Means that the partial barrel q is in xiThe probability of (c) above.
And fifthly, summing the information loss quantities related to each bucket group to serve as the information loss quantity of the bucket dividing method for generating the bucket group. Wherein the formula of the information loss amount as the bucket grouping method for generating the bucket grouping is as follows:
where Kl _ all refers to the amount of information lost as a bucket grouping method for generating the above-described bucket group, and N refers to the number of buckets in each bucket group.
And sixthly, generating verification information of the bucket dividing method group according to the information loss amount of each bucket dividing method.
Step 403, based on at least one of: comparing the information loss amount of each bucket dividing method; and comparing the information loss amount of each barreling method with a preset threshold value to generate verification information of the barreling method group.
In some embodiments, the validation information for the set of bucketing methods obtained at step 402. The amount of information lost between different methods in the set of methods can be compared to determine which method in the set of methods is more appropriate for creating models such as user clusters, user representations, and the like. In addition, multiple thresholds may be determined for the amount of information lost for each of the set of barreled methods. And comparing the information loss amount corresponding to different barreling methods in the barreling method group with the plurality of thresholds to generate verification information of different barreling methods in the barreling method group. Wherein the division criterion may be the following: the information loss amount of the bucket dividing method is far lower than the first threshold value, and the applicability degree of the bucket dividing method is low. The significance of the bucket dividing method is higher than the first threshold value, but lower than the second threshold value, the applicability degree of the bucket dividing method is lower. The significance of the bucket dividing method is higher than the second threshold value, but is lower than the third threshold value, so that the applicability degree of the bucket dividing method is higher. And if the information loss of the bucket dividing method is higher than the third threshold value, the applicability degree of the bucket dividing method is high. As an example, from the perspective of business experience, a segmentation threshold in creating a model such as a user group or a user profile may be determined, and the segmentation threshold may be used as a standard, and a segmentation standard in a barreling method may be compared with the segmentation threshold to obtain verification information of at least one barreling method.
As can be seen from fig. 4, the flow 300 of the method for generating verification information of the method for chunking in some embodiments corresponding to fig. 3 illustrates the specific implementation steps of selecting different chunking verification algorithms and different generation processes of verification information for different data types in more detail than the description of some embodiments corresponding to fig. 2. Therefore, the scheme described by the embodiments can embody the intuitiveness and the efficiency of generating the verification information of the barreled method in a larger way.
Fig. 5 is a schematic diagram 500 of an application scenario of a method for generating authentication information according to further embodiments of the present disclosure.
As shown in FIG. 5, by way of example, the data 501 of the model process includes: user data 1, user data 2, user data 3, user data 4, user data 5 and user data 6. The data 501 of the model process is divided into two sub-buckets by the sub-bucket method 502, namely sub-bucket 1 in the sub-bucket method 502 and sub-bucket 2 in the sub-bucket method 502. Likewise, the method 503 divides the data 501 of the model process into two buckets, namely bucket 1 in the method 503 and bucket 2 in the method 503. Wherein, the data included in the sub-bucket 1 in the sub-bucket method 502: user data 1, user data 2, user data 4, user data 5 and user data 6. Data included in bucket 2 in bucket splitting method 502: user data 2, user data 4, user data 5 and user data 6. Data included in bucket 1 in bucket splitting method 503: user data 2, user data 3, user data 4, user data 5 and user data 6. Data included in bucket 2 in bucket splitting method 503: user data 1, user data 3, user data 5 and user data 6. Finally, the above-mentioned method 502 and method 503 are respectively passed through the array type bucket verification algorithm 504, so that the bucket method of the bucket method 502 is more suitable for the data partitioning of the above-mentioned model process.
The electronic device 501 may be hardware or software. When the electronic device is hardware, the electronic device may be implemented as a distributed cluster formed by a plurality of servers or terminal devices, or may be implemented as a single server or a single terminal device. When the electronic device is embodied as software, it may be implemented as a plurality of software or software modules, for example, for providing distributed services, or as a single software or software module. And is not particularly limited herein.
It should be understood that the number of electronic devices in fig. 5 is merely illustrative. There may be any number of electronic devices, as desired for implementation.
With continuing reference to fig. 6, as an implementation of the above-described method for the above-described figures, the present disclosure provides some embodiments of an apparatus for generating authentication information, which correspond to those of the method embodiments described above for fig. 2, and which may be particularly applicable in various electronic devices.
As shown in fig. 6, an apparatus 600 for generating authentication information of some embodiments includes: a first determining unit 601, a second determining unit 602 and a generating unit 603. The first determining unit 601 is configured to determine a data type of data for which a set of barreling methods includes at least two barreling methods, where the data type includes single-value data and array-type data. A second determining unit 602, configured to determine a corresponding bucket verification algorithm based on a type data type of the data, wherein the bucket verification algorithm includes: a first bucket validation algorithm and a second bucket validation algorithm. A generating unit 603 configured to generate the verification information of the above-mentioned bucket method group based on the above-mentioned bucket verification algorithm.
In some optional implementations of some embodiments, the second determining unit 602 may be further configured to: and determining the first bucket verification algorithm as a corresponding bucket verification algorithm in response to the data type being single-value data.
In some optional implementations of some embodiments, the generating unit 603 may be further configured to: performing barrel division on the data based on each barrel division method in the barrel division method group to generate a barrel division sequence, and obtaining a barrel division sequence set; determining data distribution of data included in each sub-bucket in the sub-bucket sequence set; determining a significance difference value between two adjacent sub-buckets contained in each sub-bucket sequence; carrying out weighted summation on each significant difference value associated with each barrel sequence to serve as a significant difference value of a barrel dividing method for generating the barrel sequence; and generating verification information of the bucket dividing method group according to the significance difference value of each bucket dividing method.
In some optional implementations of some embodiments, the generating unit 603 may be further configured to: based on at least one of: comparison between significant difference values for each of the bucket-splitting methods; and comparing the significance difference value of each barreled method with a preset threshold value to generate verification information of the barreled method group.
In some optional implementations of some embodiments, the second determining unit 602 may be further configured to: and determining the second bucket verification algorithm as a corresponding bucket verification algorithm in response to the data type being array type data.
In some optional implementations of some embodiments, the generating unit 603 is further configured to bucket the data based on each of the bucket methods in the bucket method set to generate a bucket group, obtain a bucket group set, determine a data distribution of the data included in each bucket in the bucket group set, determine, for each bucket in the bucket group set, a probability that a data value of the data included in the bucket falls on each value in the value set, obtain a probability group, determine, based on a principle of divergence of K-L and the obtained probability group, an information loss amount between two buckets included in each bucket group, sum respective information loss amounts associated with each bucket group as information loss amounts of the bucket methods used for generating the bucket group, and generate verification information of the bucket method set according to the information loss amounts of the respective bucket methods.
In some optional implementations of some embodiments, the generating unit 603 is further configured to: based on at least one of: comparing the information loss amount of each bucket dividing method; and comparing the information loss amount of each barreling method with a preset threshold value to generate verification information of the barreling method group.
In some optional implementations of some embodiments, the apparatus 600 may further include: a barrel-separating unit (not shown in the figure). The data of the model process is subjected to bucket distribution based on the verification information of the bucket distribution method group, wherein the model process comprises at least one of the following items: user clustering model, user portrait model.
It will be understood that the elements described in the apparatus 600 correspond to various steps in the method described with reference to fig. 2. Thus, the operations, features and resulting advantages described above with respect to the method are also applicable to the apparatus 600 and the units included therein, and are not described herein again.
Referring now to FIG. 7, a block diagram of an electronic device (e.g., the computing device of FIG. 1) 700 suitable for use in implementing some embodiments of the present disclosure is shown. The electronic device in some embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle-mounted terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 may include a processing means (e.g., central processing unit, graphics processor, etc.) 701 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from storage 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of the electronic apparatus 700 are also stored. The processing device 701, the ROM 702, and the RAM703 are connected to each other by a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Generally, input devices 706 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc., output devices 707 including, for example, a liquid crystal display (L CD), speaker, vibrator, etc., and communication devices 709, the communication devices 709 may allow the electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data, although FIG. 7 illustrates the electronic device 700 as having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In some such embodiments, the computer program may be downloaded and installed from a network via communications means 709, or may be installed from storage 708, or may be installed from ROM 702. The computer program, when executed by the processing device 701, performs the above-described functions defined in the methods of some embodiments of the present disclosure.
It should be noted that the computer readable medium described above in some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText transfer protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communications network). examples of communications networks include local area networks ("L AN"), wide area networks ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: determining a data type of data for which a bucket dividing method group is aimed, wherein the data type comprises single-value type data and array type data, and the bucket dividing method group comprises at least two bucket dividing methods; determining a corresponding bucket verification algorithm based on the data type, wherein the bucket verification algorithm comprises: a first sub-bucket validation algorithm and a second sub-bucket validation algorithm; and generating the verification information of the bucket dividing method group based on the bucket dividing verification algorithm.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including AN object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language, or similar programming languages.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in some embodiments of the present disclosure may be implemented by software, and may also be implemented by hardware. The described units may also be provided in a processor, and may be described as: a processor includes a unit and a unit generation unit. The names of these units do not in some cases constitute a limitation to the unit itself, and may be described as "a unit that generates authentication information of the above bucket method group based on the above bucket authentication algorithm", for example.
For example, without limitation, exemplary types of hardware logic that may be used include Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CP L D), and so forth.
In accordance with one or more embodiments of the present disclosure, there is provided a method for generating authentication information, including: determining a data type of data for which a bucket dividing method group is aimed, wherein the data type comprises single-value type data and array type data, and the bucket dividing method group comprises at least two bucket dividing methods; determining a corresponding bucket verification algorithm based on the data type, wherein the bucket verification algorithm comprises: a first sub-bucket validation algorithm and a second sub-bucket validation algorithm; and generating the verification information of the bucket dividing method group based on the bucket dividing verification algorithm.
According to one or more embodiments of the present disclosure, the determining a corresponding bucket validation algorithm based on the data type includes: and determining the first bucket verification algorithm as a corresponding bucket verification algorithm in response to the data type being single-value data.
According to one or more embodiments of the present disclosure, the generating the verification information of the bucket dividing method group based on the bucket dividing verification algorithm includes: performing barrel division on the data based on each barrel division method in the barrel division method group to generate a barrel division sequence, and obtaining a barrel division sequence set; determining data distribution of data included in each sub-bucket in the sub-bucket sequence set; determining a significance difference value between two adjacent sub-buckets contained in each sub-bucket sequence; carrying out weighted summation on each significant difference value associated with each barrel sequence to serve as a significant difference value of a barrel dividing method for generating the barrel sequence; and generating verification information of the bucket dividing method group according to the significance difference value of each bucket dividing method.
According to one or more embodiments of the present disclosure, the generating verification information of the bucket dividing method group according to the significance difference value of each bucket dividing method includes: based on at least one of: comparison between significant difference values for each of the bucket-splitting methods; and comparing the significance difference value of each barreled method with a preset threshold value to generate verification information of the barreled method group.
According to one or more embodiments of the present disclosure, the determining a corresponding bucket validation algorithm based on the data type includes: and determining the second bucket verification algorithm as a corresponding bucket verification algorithm in response to the data type being array type data.
According to one or more embodiments of the present disclosure, the method further includes: and performing barrel division on a model process based on the verification information of the barrel division method group, wherein the model process comprises at least one of the following items: user clustering model, user portrait model.
According to one or more embodiments of the disclosure, the generating of the verification information of the bucket dividing method group based on the bucket dividing verification algorithm includes dividing the data to generate bucket dividing groups based on each bucket dividing method in the bucket dividing method group to obtain a bucket dividing group set, determining data distribution of the data included in each bucket dividing group set, determining probability that a data value of the data included in the bucket dividing group falls on each value in a value taking group for each bucket in the bucket dividing group set to obtain a probability group, determining an information loss amount between two buckets included in each bucket dividing group based on a principle of divergence of K-L and the obtained probability group, summing the information loss amounts associated with each bucket dividing group to serve as the information loss amount of the bucket dividing method used for generating the bucket dividing group, and generating the verification information of the bucket dividing method group according to the information loss amounts of the bucket dividing methods.
According to one or more embodiments of the present disclosure, the generating of the verification information of the bucket dividing method group according to the information loss amount of each bucket dividing method includes: based on at least one of: comparing the information loss amount of each bucket dividing method; and comparing the information loss amount of each barreling method with a preset threshold value to generate verification information of the barreling method group.
According to one or more embodiments of the present disclosure, there is provided an apparatus for generating authentication information, including: a first determining unit configured to determine a data type for which a set of bucket partitioning methods is applied, wherein the data type includes: single value type data and array type data; a second determining unit configured to determine a corresponding bucket validation algorithm based on the data type, wherein the bucket validation algorithm includes: a first sub-bucket validation algorithm and a second sub-bucket validation algorithm; and the generating unit is configured to generate the verification information of the bucket dividing method group based on the bucket dividing verification algorithm.
According to one or more embodiments of the present disclosure, the second determining unit in the apparatus for generating authentication information may be further configured to: and determining the first bucket verification algorithm as a corresponding bucket verification algorithm in response to the data type being single-value data.
According to one or more embodiments of the present disclosure, the generating unit in the apparatus for generating authentication information may be further configured to: performing barrel division on the data based on each barrel division method in the barrel division method group to generate a barrel division sequence, and obtaining a barrel division sequence set; determining data distribution of data included in each sub-bucket in the sub-bucket sequence set; determining a significance difference value between two adjacent sub-buckets contained in each sub-bucket sequence; carrying out weighted summation on each significant difference value associated with each barrel sequence to serve as a significant difference value of a barrel dividing method for generating the barrel sequence; and generating verification information of the bucket dividing method group according to the significance difference value of each bucket dividing method.
According to one or more embodiments of the present disclosure, the generating unit in the apparatus for generating authentication information may be further configured to: based on at least one of: comparison between significant difference values for each of the bucket-splitting methods; and comparing the significance difference value of each barreled method with a preset threshold value to generate verification information of the barreled method group.
According to one or more embodiments of the present disclosure, the second determining unit in the apparatus for generating authentication information may be further configured to: and determining the second bucket verification algorithm as a corresponding bucket verification algorithm in response to the data type being array type data.
According to one or more embodiments of the disclosure, the generation unit in the apparatus for generating verification information is further configured to bucket the data based on each of the bucket methods to generate a bucket group to obtain a bucket group set, determine a data distribution of the data included in each bucket of the bucket group set, determine, for each bucket of the bucket group set, a probability that a data value of the data included in the bucket falls on each value of the value set to obtain a probability group, determine an information loss amount between two buckets included in each bucket group based on a principle of divergence of K-L and the obtained probability group, sum respective information loss amounts associated with each bucket group as information loss amounts of the bucket methods used for generating the bucket group, and generate verification information of the bucket method group according to the information loss amounts of the respective bucket methods.
According to one or more embodiments of the present disclosure, the generating unit in the apparatus for generating authentication information is further configured to: based on at least one of: comparing the information loss amount of each bucket dividing method; and comparing the information loss amount of each barreling method with a preset threshold value to generate verification information of the barreling method group.
According to one or more embodiments of the present disclosure, there is provided an electronic device including: one or more processors; a storage device having one or more programs stored thereon which, when executed by one or more processors, cause the one or more processors to implement a method as described in any of the embodiments above.
According to one or more embodiments of the present disclosure, a computer-readable medium is provided, on which a computer program is stored, wherein the program, when executed by a processor, implements the method as described in any of the embodiments above.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.