Voiceprint judgment threshold determination method, device and equipment
By adaptively determining the voiceprint judgment threshold in the first-digit dual-terminal and personal multi-digit platform, using the training data set and comparison scores, the problem of inaccurate selection of voiceprint judgment threshold in the prior art is solved, and the accuracy and security of user identity verification are improved.
Patent Information
- Application Number
- CN202411919302.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2044-12-24
AI Technical Summary
In the first-digit dual-terminal and personal multi-number platform, it is difficult for the prior art to accurately select the voiceprint judgment threshold, which affects the accuracy and security of user identity verification.
By responding to the user's voiceprint registration request, the user's registered voiceprint data is obtained, and the training data set, including positive and negative example samples, calculate the comparison score, determine multiple pending thresholds, and combine the inter-class variance and precision recall equalization scores, so as to adaptively determine the target threshold as the voiceprint determination threshold.
It realizes adaptively determining the unique voiceprint determination threshold based on the registration voiceprint of different users, improving the accuracy and security of user identity verification, and adapting to actual production and business environments.
Smart Images

Figure CN119811425A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of voiceprint recognition technology, and in particular, relates to a method, device and equipment for determining a voiceprint determination threshold. Background Art
[0002] With the continuous advancement of communication technology, new communication platforms such as one number with two terminals and multiple personal numbers have gradually become popular, providing users with more flexible and convenient communication services. These platforms achieve seamless connection and sharing of information by integrating multiple terminal devices or multiple phone numbers. However, this also brings challenges in identity authentication and security management. In order to meet these challenges, voiceprint recognition technology is widely used in these platforms to achieve fast and accurate verification of user identities.
[0003] In the application of voiceprint recognition technology, how to select the best voiceprint judgment threshold is a crucial issue. The choice of threshold directly affects the accuracy and security of voiceprint recognition. If the threshold is set too high, a large number of legitimate users may be misjudged as illegal users, affecting the user experience; if the threshold is set too low, illegal users may easily pass the verification, causing security risks.
[0004] At present, common voiceprint determination threshold selection methods include empirical method, maximum accuracy method and equal error rate method. However, these methods have their own limitations and are difficult to meet the precise requirements of voiceprint recognition threshold selection for one-number dual-terminal and personal multi-number platforms. Summary of the invention
[0005] The embodiments of the present application provide a method, apparatus, device, computer storage medium and computer program product for determining a voiceprint determination threshold, which can adaptively determine a suitable voiceprint determination threshold for each user, thereby facilitating rapid and accurate verification of the user's identity.
[0006] In a first aspect, an embodiment of the present application provides a method for determining a voiceprint determination threshold, comprising:
[0007] In response to a voiceprint registration request of the first user, obtaining a first registered voiceprint of the first user;
[0008] Acquire a training data set, the training data set including at least one positive sample and at least one negative sample, the positive sample including first voiceprint data of a first user, and the negative sample including second voiceprint data corresponding to a second user;
[0009] Calculate the comparison score of each positive sample and each negative sample with the first registered voiceprint respectively to obtain a comparison score set;
[0010] Determine multiple pending thresholds according to the comparison score set;
[0011] For each undetermined threshold, classify the comparison scores in the comparison score set using the undetermined threshold as the segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification results;
[0012] Determine the target threshold from multiple pending thresholds based on the inter-class variance and precision-recall balance scores corresponding to each pending threshold;
[0013] The target threshold is used as the voiceprint determination threshold of the first user.
[0014] In an optional implementation, the first voiceprint data is recording data of the first user; the second user includes a registered user, and the second voiceprint data is a second registered voiceprint of the second user;
[0015] Get the training dataset, including:
[0016] Acquire at least one piece of recording data of the first user from the actual production recording database;
[0017] Acquire at least one second registered voiceprint corresponding to the second user from the registered voiceprint database;
[0018] A training data set is created according to at least one recording data of a first user and at least one second registered voiceprint corresponding to a second user.
[0019] In an optional implementation, the comparison scores of each positive sample and each negative sample with the first registered voiceprint are calculated respectively to obtain a comparison score set, including:
[0020] Calculate the similarity between each positive sample and each negative sample and the first registered voiceprint respectively;
[0021] According to the similarity between each positive sample and each negative sample and the first registered voiceprint, a comparison score between each positive sample and each negative sample and the first registered voiceprint is determined to obtain a comparison score set.
[0022] In an optional implementation, multiple thresholds to be determined are determined based on the comparison score set, including:
[0023] Determine the value range of the pending threshold value according to the maximum value and the minimum value in the comparison score set;
[0024] A plurality of pending thresholds are determined from the value range.
[0025] In an optional implementation, multiple thresholds to be determined are determined from the value interval, including:
[0026] According to the preset step value, multiple threshold values to be determined are determined within the value range.
[0027] In an optional implementation, the classification result includes a first score set that is less than or equal to a threshold to be determined and a second score set that is greater than the threshold to be determined;
[0028] Calculate the inter-class variance corresponding to the classification results, including:
[0029] Calculate a first average value of each comparison score in the first score set and a first proportion of the first score set, wherein the first proportion is a ratio of the number of comparison scores in the first score set to the number of comparison scores in the comparison score set;
[0030] Calculate a second average value of each comparison score in the second score set and a second proportion of the second score set, wherein the second proportion is a ratio of the number of comparison scores in the second score set to the number of comparison scores in the comparison score set;
[0031] Calculate a first square difference and a second square difference respectively, wherein the first square difference is the square of the difference between the first average value and the third average value, the second square difference is the square of the difference between the second average value and the third average value, and the third average value is the average value of the comparison scores in the comparison score set;
[0032] Calculate the product of the first square difference and the first proportion to obtain a first product;
[0033] Calculate the product of the second square difference and the second proportion to obtain a second product;
[0034] Add the first product to the second product to get the between-class variance corresponding to the classification result.
[0035] In an optional implementation, calculating the precision-recall balance score corresponding to the classification result includes:
[0036] Determining a first number of comparison scores corresponding to the positive sample in the second score set;
[0037] Calculate the ratio of the first number to the number of comparison scores in the second score set to obtain the precision rate corresponding to the classification result;
[0038] Calculate the ratio of the first number to the second number to obtain the recall rate corresponding to the classification result, wherein the second number is the number of positive samples in the training data set;
[0039] According to the precision and recall rate, according to the preset precision weight and recall weight, calculate the precision-recall balance score corresponding to the classification result.
[0040] In an optional implementation, determining a target threshold from multiple pending thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending threshold includes:
[0041] Normalize the inter-class variance and precision-recall balance score corresponding to each pending threshold value to obtain the normalized inter-class variance and normalized precision-recall balance score corresponding to each pending threshold value;
[0042] A target threshold is determined from multiple pending thresholds according to the normalized inter-class variance and the normalized precision-recall balance score.
[0043] In an optional implementation, a target threshold is determined from a plurality of pending thresholds according to the normalized inter-class variance and the normalized precision-recall balance score, including:
[0044] Calculate the target and value of each pending threshold respectively. The target and value are the normalized inter-class variance of the pending threshold and the sum of the normalized precision-recall balance score;
[0045] The undetermined threshold with the largest target and value is determined as the first candidate threshold;
[0046] A target threshold is determined from at least one first candidate threshold.
[0047] In an optional implementation, determining a target threshold from at least one first candidate threshold includes:
[0048] When the number of first candidate thresholds is greater than one, a target difference value of each first candidate threshold is calculated respectively, where the target difference value is the absolute value of the difference between the normalized precision-recall balance score of the first candidate threshold and the normalized inter-class variance;
[0049] Determine the first candidate threshold with the smallest target difference as the second candidate threshold;
[0050] A target threshold is determined from at least one second candidate threshold.
[0051] In an optional implementation, determining the target threshold from at least one second candidate threshold includes:
[0052] When the number of the second candidate thresholds is greater than one, the second candidate threshold with the largest value among the at least one second candidate threshold is determined as the target threshold.
[0053] In an optional implementation, in response to the voiceprint registration request of the first user, after obtaining the first registered voiceprint of the first user, the method further includes performing the following steps for each second user:
[0054] Acquire an updated data set, where the updated data set includes at least one updated positive sample and at least two updated negative samples, wherein the updated positive sample includes the recording data of the second user, and the at least two updated negative samples include the first registered voiceprint and the second registered voiceprints of the remaining second users;
[0055] Calculate the comparison scores of each updated positive sample and each updated negative sample with the first registered voiceprint respectively to obtain an updated score set;
[0056] Determining a plurality of pending update thresholds according to the update score set;
[0057] For each pending update threshold, classify the comparison scores in the update score set using the pending update threshold as the split value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification results;
[0058] Determine a target update threshold from multiple pending update thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending update threshold;
[0059] The voiceprint determination threshold in the voiceprint registration information of the second user is updated as the target update threshold.
[0060] In an optional implementation, after the target threshold is used as the voiceprint determination threshold of the first user, the method further includes:
[0061] In response to the user identity identification request, obtaining third voiceprint data of the user to be identified;
[0062] Calculate a comparison score between the third voiceprint data and the first registered voiceprint;
[0063] When the comparison score between the third voiceprint data and the first registered voiceprint is greater than the voiceprint determination threshold of the first user, it is determined that the user to be identified is the first user.
[0064] In a second aspect, an embodiment of the present application provides a device for determining a voiceprint determination threshold, comprising:
[0065] an acquisition module, configured to acquire a first registered voiceprint of the first user in response to a voiceprint registration request of the first user;
[0066] The acquisition module is further used to acquire a training data set, the training data set includes at least one positive sample and at least one negative sample, the positive sample includes the first voiceprint data of the first user, and the negative sample includes the second voiceprint data corresponding to the second user;
[0067] A calculation module, used to calculate the comparison score of each positive sample and each negative sample with the first registered voiceprint, and obtain a comparison score set;
[0068] A determination module, used for determining a plurality of pending thresholds according to a comparison score set;
[0069] A processing module is used to classify the comparison scores in the comparison score set with respect to each pending threshold value, using the pending threshold value as a segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification result;
[0070] The determination module is further used to determine a target threshold from multiple pending thresholds according to the inter-class variance and precision-recall balance scores corresponding to each pending threshold;
[0071] The processing module is further configured to use the target threshold as a voiceprint determination threshold for the first user.
[0072] In a third aspect, an embodiment of the present application provides an electronic device, the device comprising: a processor and a memory storing computer program instructions;
[0073] When the processor executes the computer program instructions, the method for determining the voiceprint determination threshold value according to any optional implementation manner of the first aspect of the present application is implemented.
[0074] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, a method for determining a voiceprint determination threshold according to any optional implementation of the first aspect of the present application is implemented.
[0075] In a fifth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a method for determining a voiceprint determination threshold value as in any optional implementation of the first aspect of the present application.
[0076] The method, device, equipment, computer storage medium and computer program product for determining the voiceprint determination threshold of the embodiment of the present application obtain the first registered voiceprint of the first user by responding to the voiceprint registration request of the first user. Then obtain a training data set, the training data set includes at least one positive sample and at least one negative sample, the positive sample includes the first voiceprint data of the first user, and the negative sample includes the second voiceprint data corresponding to the second user. In this way, the voiceprint data of the first user is used as a positive sample, and the voiceprint data of other users is used as a negative sample, so that the reliability of the training data set can be improved. Subsequently, the comparison scores of each positive sample and each negative sample with the first registered voiceprint are calculated respectively to obtain a comparison score set. According to the comparison score set, multiple pending thresholds are determined. For each pending threshold, the comparison scores in the comparison score set are classified using the pending threshold as a segmentation value, and the inter-class variance and precision-recall balance score corresponding to the classification result are calculated. According to the inter-class variance and precision-recall balance score corresponding to each pending threshold, a target threshold is determined from multiple pending thresholds. The target threshold is used as the voiceprint determination threshold of the first user. In this way, the inter-class variance algorithm and precision-recall balance can be integrated to balance multiple selection indicators, and the unique voiceprint judgment threshold of each user can be adaptively determined according to different registered voiceprints. In this way, the determined voiceprint judgment threshold can adapt to the actual production and business environment. When applied to scenarios such as one number with two terminals and multiple numbers for one person, the user's identity can be quickly and accurately verified based on the actual input voiceprint data and the voiceprint judgment threshold. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0078] Figure 1 It is a flowchart of a method for determining a voiceprint determination threshold provided by an embodiment of the present application;
[0079] Figure 2 is a structural schematic diagram of a device for determining a voiceprint determination threshold value provided by another embodiment of the present application;
[0080] Figure 3 It is a structural schematic diagram of an electronic device provided in yet another embodiment of the present application. DETAILED DESCRIPTION
[0081] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0082] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0083] Voiceprint recognition technology is widely used in new communication platforms such as one-number dual-terminal and personal multiple-number to achieve fast and accurate verification of user identity. Take one-number dual-terminal as an example. In the one-number dual-terminal scenario, two terminals share a service number. This service is implemented by binding the user's mobile phone number to a wearable device. After binding, the user's mobile phone is the "primary device" and the wearable device is the "secondary device". Regardless of whether the user is the caller or the called party, the primary and secondary devices present the same number to the outside world. When the user applies for one-number dual-terminal, the user is required to enter the voiceprint and register it in the database. When identity authentication is performed subsequently, identity authentication can be achieved through voiceprint recognition technology.
[0084] In the application of voiceprint recognition technology, how to select the best voiceprint judgment threshold is a crucial issue. The choice of threshold directly affects the accuracy and security of voiceprint recognition. If the threshold is set too high, a large number of legitimate users may be misjudged as illegal users, affecting the user experience; if the threshold is set too low, illegal users may easily pass the verification, causing security risks.
[0085] The relevant technology involves selecting a voiceprint determination threshold through empirical methods. Specifically, the empirical method can include understanding the recognition accuracy of the system under different conditions based on data statistics of a large number of actual cases of the voiceprint recognition system in the past. Subsequently, based on the voiceprint sample quality (signal-to-noise ratio, etc.), recognition algorithm, database size and other conditions, determine an appropriate recognition accuracy requirement, such as 90%. Finally, based on this recognition accuracy requirement and combined with the system's historical data, select a threshold that can achieve this accuracy. This threshold is the voiceprint determination threshold selected by the empirical method.
[0086] However, the empirical method lacks theoretical basis, is difficult to optimize quantitatively, and relies more on the system's historical experience accumulation. For new systems that do not have sufficient data, it can be used as a preliminary reference selection method. With the development of new communication platforms such as one number with two terminals and multiple personal numbers, the system's voiceprint data has increased significantly, and the disadvantages of the empirical method have become increasingly obvious.
[0087] Related technologies also involve selecting a voiceprint determination threshold through the equal error rate method. The main goal of the equal error rate method is to find a threshold under which the false positive rate and false negative rate of the model are equal. The false positive rate refers to the proportion of samples predicted by the model to be positive but actually negative to the total number of samples, while the false negative rate refers to the proportion of samples predicted by the model to be negative but actually positive to the total number of samples.
[0088] However, the equal error rate method only considers the balance between the false positive rate and the false negative rate, but does not consider the balance between the true positive rate and the false negative rate. In some cases, it may be too focused on controlling the false positive rate, resulting in a lower true positive rate.
[0089] Related technologies also involve selecting a voiceprint determination threshold through the highest accuracy method. The highest accuracy method calculates the recognition accuracy under different thresholds and selects the threshold with the highest accuracy as the voiceprint determination threshold. Specifically, first, collect the voiceprint database and test voiceprint data and mark them. Then, set a threshold range, such as 0.3-0.9, and evenly select multiple threshold points between them. For each threshold point, match and identify the test voiceprint with the database, and count the number of consistent samples between the recognition result and the true identification. Calculate the recognition accuracy under this threshold, recognition accuracy = number of consistent samples / total number of test samples. Compare the recognition accuracy calculated under different threshold points, and select the threshold point with the highest accuracy as the voiceprint determination threshold.
[0090] However, the maximum accuracy method only considers the accuracy index, without balancing other indicators such as recall, which may ignore some important information. In addition, the maximum accuracy method is heavily dependent on test data. If the distribution of test data is very different from the actual application scenario, the selected threshold may not be applicable.
[0091] In view of this, the inventor, after in-depth thinking, cleverly proposed a voiceprint determination threshold determination method, information receiving method, device, equipment, computer storage medium and computer program product.
[0092] The following, in conjunction with the accompanying drawings, introduces the voiceprint determination threshold determination method provided in the embodiment of the present application through specific embodiments and their application scenarios. The voiceprint determination threshold determination method provided in the embodiment of the present application, the device executing the sending may be a voiceprint determination threshold determination device, or a partial module in the voiceprint determination threshold determination device for executing the voiceprint determination threshold determination method. In the embodiment of the present application, the voiceprint determination threshold determination method executed by the voiceprint determination threshold determination device is taken as an example to explain in detail the voiceprint determination threshold determination method provided in the embodiment of the present application.
[0093] The following is combined with Figure 1 The method for determining the voiceprint determination threshold provided in the embodiment of the present application is described in detail.
[0094] Figure 1 FIG. 1 is a flow chart showing a method for determining a voiceprint determination threshold value provided by an embodiment of the present application. Figure 1 As shown, the method for determining the voiceprint determination threshold may specifically include the following steps S110 to S170.
[0095] S110: In response to a voiceprint registration request of a first user, obtain a first registered voiceprint of the first user.
[0096] In step S110, the voiceprint registration request may be used to request that the voiceprint of the first user be entered into a registered voiceprint library, so as to perform voiceprint recognition on the first user according to the first registered voiceprint entered by the first user. The voiceprint registration request may include a registration request generated when a user applies for a new communication platform service such as one number dual terminals or multiple personal numbers.
[0097] S120, obtaining a training data set, the training data set including at least one positive sample and at least one negative sample, the positive sample including first voiceprint data of a first user, and the negative sample including second voiceprint data corresponding to a second user.
[0098] In step S120, the number of positive samples and negative samples is not specifically limited, and an appropriate sample size can be selected according to actual needs. In one example, the number of positive samples can be equal to the number of negative samples. When the ratio of the number of positive samples to the number of negative samples is 1:1, it is conducive to optimizing the decision boundary and improving the efficiency of determining the voiceprint determination threshold.
[0099] S130, respectively calculating a comparison score between each positive example and each negative example and the first registered voiceprint to obtain a comparison score set.
[0100] In step S130, the comparison score can be calculated in a variety of ways, which are not limited here. For example, the similarity between the sample and the first registered voiceprint can be calculated respectively to obtain the comparison score. For example, the similarity between the sample and the first registered voiceprint can also be calculated based on a preset voiceprint comparison model.
[0101] S140: Determine a plurality of pending thresholds according to the comparison score set.
[0102] The above step S140 may be implemented in a variety of ways. For example, multiple comparison scores may be selected from the comparison score set as the pending threshold. For example, multiple pending thresholds may also be selected according to the range of the comparison scores, etc. This application does not limit this.
[0103] S150, for each pending threshold, classify the comparison scores in the comparison score set using the pending threshold as a segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification results.
[0104] In step S150, the inter-class variance can be an indicator used in statistics to measure the degree of difference between different categories or groups. Exemplarily, the inter-class variance can be calculated by the inter-class variance formula in the Otsu algorithm. The precision-recall balance score can represent the comprehensive score value of precision and recall. Exemplarily, the precision-recall balance score can be calculated by the F-value method, and the precision-recall balance score can be characterized by the F-score. The F-score can be an indicator used in statistics to measure the accuracy of a binary classification model, which is the harmonic mean of precision and recall. The F-score can be regarded as a trade-off between the precision and recall of the classification result, and is used to comprehensively evaluate the classification result.
[0105] S160, determining a target threshold from multiple pending thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending threshold.
[0106] S170: Using the target threshold as a voiceprint determination threshold for the first user.
[0107] In step S170, after the voiceprint determination threshold is recorded in the voiceprint registration information of the first user, in the subsequent voiceprint recognition process, the first user can be identified according to the voiceprint determination threshold. Specifically, in one example, after the target threshold is used as the voiceprint determination threshold of the first user, the voiceprint determination threshold can be recorded in the voiceprint registration information of the first user. When user identity identification is required, the voiceprint data of the user to be identified can be obtained, and the comparison score between the voiceprint data and the first registered voiceprint is calculated. If the comparison score is higher than the voiceprint determination threshold of the first user, it can be determined that the user to be identified is the first user.
[0108] The method for determining the voiceprint determination threshold of the embodiment of the present application obtains the first registered voiceprint of the first user by responding to the voiceprint registration request of the first user. Then, a training data set is obtained, and the training data set includes at least one positive sample and at least one negative sample. The positive sample includes the first voiceprint data of the first user, and the negative sample includes the second voiceprint data corresponding to the second user. In this way, the voiceprint data of the first user is used as a positive sample, and the voiceprint data of other users are used as negative samples, so that the reliability of the training data set can be improved. Subsequently, the comparison scores of each positive sample and each negative sample with the first registered voiceprint are calculated respectively to obtain a comparison score set. According to the comparison score set, multiple pending thresholds are determined. For each pending threshold, the comparison scores in the comparison score set are classified using the pending threshold as a segmentation value, and the inter-class variance and precision-recall balance score corresponding to the classification result are calculated. According to the inter-class variance and precision-recall balance score corresponding to each pending threshold, a target threshold is determined from multiple pending thresholds. The target threshold is used as the voiceprint determination threshold of the first user. In this way, the inter-class variance algorithm and precision-recall balance can be integrated to balance multiple selection indicators, and the unique voiceprint judgment threshold of each user can be adaptively determined according to different registered voiceprints. In this way, the determined voiceprint judgment threshold can adapt to the actual production and business environment. When applied to scenarios such as one number with two terminals and multiple numbers for one person, the user's identity can be quickly and accurately verified based on the actual input voiceprint data and the voiceprint judgment threshold.
[0109] In one embodiment, the first voiceprint data is recording data of the first user, the second user includes a registered user, and the second voiceprint data is a second registered voiceprint of the second user.
[0110] Obtain a training data set, which may include:
[0111] At least one piece of recording data of the first user is obtained from the actual production recording database.
[0112] At least one second registered voiceprint corresponding to the second user is obtained from the registered voiceprint database.
[0113] A training data set is created according to at least one recording data of a first user and at least one second registered voiceprint corresponding to a second user.
[0114] In the above implementation, the actual production recording database may be a database for recording user-public recording data, and the recording data may include user recording data in actual production and business environments. For example, it may include public call recording data generated when a user calls a third-party platform.
[0115] According to the above implementation, the recording data of the first user in the actual generation and business environment is used as the positive sample, and the second registered voiceprint of the registered second user is used as the negative sample. In this way, the sources of the positive sample and the negative sample are both authentic and reliable. Based on the training data set created by the above positive sample and negative sample, the voiceprint determination threshold of the first user is determined with the help of the training data set, which can effectively distinguish the voiceprint of the first user from that of other users in the registered voiceprint database, so as to achieve accurate recognition of the user's voiceprint.
[0116] In one embodiment, the comparison scores of each positive sample and each negative sample with the first registered voiceprint are calculated respectively to obtain a comparison score set, which may specifically include:
[0117] The similarity between each positive sample and each negative sample and the first registered voiceprint is calculated respectively.
[0118] According to the similarity between each positive sample and each negative sample and the first registered voiceprint, a comparison score between each positive sample and each negative sample and the first registered voiceprint is determined to obtain a comparison score set.
[0119] In the above implementation, the similarity can be measured by a variety of parameters, which are not limited in the present application. As an example, the similarity can include cosine similarity, Euclidean distance, and the like.
[0120] According to the above embodiment, by calculating the similarity between each positive sample and each negative sample and the first registered voiceprint, the comparison score between each positive sample and each negative sample and the first registered voiceprint is determined by the similarity. This is conducive to accurately measuring the matching degree between each sample and the first registered voiceprint, thereby providing a basis for determining an appropriate voiceprint determination threshold.
[0121] In one embodiment, multiple pending thresholds are determined based on the comparison score set, which may specifically include:
[0122] The value range of the pending threshold is determined based on the maximum and minimum values in the comparison score set.
[0123] A plurality of pending thresholds are determined from the value range.
[0124] According to the above implementation, the value range of the pending threshold is determined according to the maximum and minimum values in the comparison score set. Then, multiple pending thresholds are determined from the value range. In this way, a suitable pending threshold can be selected according to the distribution range of the comparison score. In this way, it is helpful to determine a suitable voiceprint determination threshold, thereby improving the accuracy of voiceprint recognition.
[0125] In one embodiment, determining multiple thresholds to be determined from the value interval may specifically include:
[0126] According to the preset step value, multiple threshold values to be determined are determined within the value range.
[0127] In the above implementation, the size of the step value can be set according to the actual required voiceprint recognition accuracy. According to the preset step value, multiple pending thresholds are determined within the value interval, which can include: starting from the left endpoint of the value interval, recursively determining multiple pending thresholds according to the preset step value until the right endpoint of the value interval is reached or exceeded. For example, the value interval of the pending threshold is assumed to be [0.30, 0.85], and the step value is set to 0.01, then 55 pending thresholds of 0.30, 0.31, 0.32, 0.33...0.84, 0.85 can be determined.
[0128] According to the above implementation, multiple thresholds to be determined can be determined within the value range according to the preset step value. In this way, the number of thresholds to be determined can be flexibly adjusted according to the actual required voiceprint recognition accuracy, and multiple thresholds to be determined can be evenly distributed within the value range. In this way, the accuracy and flexibility of determining the voiceprint determination threshold can be improved.
[0129] In one embodiment, the classification result includes a first score set that is less than or equal to a threshold to be determined and a second score set that is greater than the threshold to be determined.
[0130] Calculate the inter-class variance corresponding to the classification results, which may include:
[0131] A first average value of each comparison score in the first score set and a first proportion of the first score set are calculated, wherein the first proportion is a ratio of the number of comparison scores in the first score set to the number of comparison scores in the comparison score set.
[0132] A second average value of each comparison score in the second score set and a second proportion of the second score set are calculated, wherein the second proportion is a ratio of the number of comparison scores in the second score set to the number of comparison scores in the comparison score set.
[0133] The first square difference and the second square difference are calculated respectively, wherein the first square difference is the square of the difference between the first average value and the third average value, the second square difference is the square of the difference between the second average value and the third average value, and the third average value is the average value of the comparison scores in the comparison score set.
[0134] The product of the first square difference and the first proportion is calculated to obtain a first product.
[0135] The product of the second square difference and the second proportion is calculated to obtain a second product.
[0136] Add the first product to the second product to get the between-class variance corresponding to the classification result.
[0137] For ease of understanding, an example is given below to illustrate the above implementation. For example, for a training data set with a total number of samples of N, a comparison score set containing N comparison scores can be obtained accordingly. L represents the maximum value of the comparison score in the comparison score set, and n i represents the number of comparison scores with value i, p i represents the probability of the alignment score being i. i It can be calculated by the following formula 1.
[0138]
[0139] Taking the undetermined threshold T as the split value, the comparison scores in the comparison score set are classified to obtain a first score set less than or equal to T and a second score set greater than T. Then the average value μ of the comparison score set is T It can be calculated by the following formula 2.
[0140]
[0141] In formula 2, T 1 It can represent the minimum value of the alignment score in the alignment score set.
[0142] The ratio of the number of comparison scores in the first score set to the number of comparison scores in the comparison score set is denoted as ω 0 , the average of the comparison scores in the first scoring set is denoted as μ 0 ω 0 , μ 0 It can be calculated by the following formula 3 and formula 4 respectively.
[0143]
[0144] The ratio of the number of comparison scores in the second score set to the number of comparison scores in the comparison score set is denoted as ω 1 , the average of the comparison scores in the second scoring set is recorded as μ 1 ω 1 , μ 1 It can be calculated by the following formula 5 and formula 6 respectively.
[0145] ω 1 = 1-ω 0 Formula 5
[0146]
[0147] In formula 6, T 2 It can represent the smallest alignment score greater than T in the alignment score set.
[0148] Taking the undetermined threshold T as the segmentation value, the inter-class variance corresponding to the classification result is Can be
[0149] Calculated using formula 7.
[0150]
[0151] According to the above implementation, the inter-class variance can be calculated by the inter-class variance calculation method in the Otsu algorithm. The inter-class variance can be used to effectively measure the segmentation effect of the threshold to be determined, thereby providing a theoretical basis for selecting a suitable voiceprint determination threshold.
[0152] In one embodiment, calculating the precision-recall balance score corresponding to the classification result may specifically include:
[0153] A first number of comparison scores corresponding to the positive sample in the second score set is determined.
[0154] The ratio of the first number to the number of comparison scores in the second score set is calculated to obtain the precision rate corresponding to the classification result.
[0155] The ratio of the first number to the second number is calculated to obtain the recall rate corresponding to the classification result, wherein the second number is the number of positive samples in the training data set.
[0156] According to the precision and recall rate, according to the preset precision weight and recall weight, calculate the precision-recall balance score corresponding to the classification result.
[0157] In the above implementation, the precision rate may represent the proportion of samples that are actually positive examples among the samples predicted to be positive examples. The recall rate may represent the proportion of all positive samples in the training data set that are correctly identified as positive examples. The second score set is a set of comparison scores greater than a threshold to be determined. In other words, the second score set may represent a set of comparison scores of samples predicted to be positive examples.
[0158] In the above implementation, the precision-recall balance score can be calculated by the following formula 8.
[0159]
[0160] In Formula 8, F may represent a precision-recall balance. Precision may represent a precision rate. Recall may represent a recall rate. α may represent a weight parameter. For example, α may be 0.5, indicating that precision and recall are given equal importance.
[0161] For example, assuming that the training data set contains 50 first voiceprint data of the first user and 50 second voiceprint data of the second user, for the pending threshold of 0.55, in the corresponding classification result, the second score set contains 60 comparison scores, of which 45 are corresponding to the first voiceprint data.
[0162] At this point, calculate the accuracy:
[0163]
[0164] Calculate recall:
[0165]
[0166] Substituting into formula 8, taking α as 0.5, we can get F = 1.6765.
[0167] According to the above implementation, the segmentation effect of the undetermined threshold can be evaluated by combining the precision and recall, thereby providing a theoretical basis for selecting an appropriate voiceprint determination threshold.
[0168] In one embodiment, according to the inter-class variance and precision-recall balance score corresponding to each pending threshold, determining the target threshold from multiple pending thresholds may specifically include:
[0169] The inter-class variance and precision-recall balance score corresponding to each pending threshold are normalized respectively to obtain the normalized inter-class variance and normalized precision-recall balance score corresponding to each pending threshold.
[0170] A target threshold is determined from multiple pending thresholds according to the normalized inter-class variance and the normalized precision-recall balance score.
[0171] In one example, for each pending threshold, the comparison scores in the comparison score set are classified using the pending threshold as the segmentation value, and the inter-class variance and precision-recall balance score corresponding to the classification result are calculated, and then the inter-class variance and precision-recall balance score corresponding to each pending threshold can be obtained. The inter-class variance curve graph under each pending threshold can be drawn with the pending threshold as the horizontal coordinate and the inter-class variance as the vertical coordinate; the precision-recall balance score curve graph under each pending threshold can be drawn with the pending threshold as the horizontal coordinate and the precision-recall balance score as the vertical coordinate. According to the above implementation, the vertical coordinates of the two curves can be normalized so that the vertical coordinate value falls between 0-1.
[0172] According to the above implementation, the inter-class variance and precision-recall balance scores corresponding to each pending threshold are normalized, which is conducive to a more objective analysis of each indicator, thereby facilitating the identification of a suitable voiceprint determination threshold and improving the accuracy and precision of voiceprint recognition.
[0173] In one embodiment, according to the normalized inter-class variance and the normalized precision-recall balance score, determining the target threshold from multiple pending thresholds may specifically include:
[0174] Calculate the target and value of each pending threshold respectively. The target and value are the normalized inter-class variance of the pending threshold and the sum of the normalized precision-recall balance score.
[0175] The undetermined threshold with the largest target and value is determined as the first candidate threshold.
[0176] A target threshold is determined from at least one first candidate threshold.
[0177] According to the above implementation, the target and value of the undetermined threshold can be considered as a suitable voiceprint determination threshold determined by combining multiple indicators in the inter-class variance and precision-recall balance. Determining the target threshold from at least one first candidate threshold is conducive to improving the accuracy of voiceprint recognition.
[0178] In one embodiment, determining a target threshold from at least one first candidate threshold may specifically include:
[0179] When the number of first candidate thresholds is greater than one, the target difference of each first candidate threshold is calculated respectively, and the target difference is the absolute value of the difference between the normalized precision-recall balance score of the first candidate threshold and the normalized inter-class variance.
[0180] The first candidate threshold with the smallest target difference is determined as the second candidate threshold.
[0181] A target threshold is determined from at least one second candidate threshold.
[0182] In one example, when the number of first candidate thresholds is equal to one, determining a target threshold from at least one first candidate threshold may specifically include: determining the first candidate threshold as the target threshold.
[0183] According to the above implementation, when there are multiple first candidate thresholds, the first candidate threshold with the smallest target difference can be determined as the second candidate threshold. The smaller the target difference, the better the consistency of the segmentation effect of the first candidate threshold measured by the inter-class variance and the precision-recall balance score. Determining the target threshold from at least one second candidate threshold can effectively take into account multiple indicators of the inter-class variance and the precision-recall balance score, thereby improving the accuracy of voiceprint recognition.
[0184] In one embodiment, determining the target threshold from at least one second candidate threshold may specifically include:
[0185] When the number of the second candidate thresholds is greater than one, the second candidate threshold with the largest value among the at least one second candidate threshold is determined as the target threshold.
[0186] In one example, when the number of second candidate thresholds is equal to one, determining the target threshold from at least one second candidate threshold may specifically include: determining the second candidate threshold as the target threshold.
[0187] According to the above implementation, when there are multiple second candidate thresholds, the second candidate threshold with the largest value among the second candidate thresholds can be determined as the target threshold. In this way, voiceprint recognition can be performed more strictly, reducing the risk of a non-first user being identified as the first user. In this way, when a third-party user impersonates the first user, the identity can be accurately identified through the voiceprint determination threshold, reducing the risk of the third-party user being identified as the first user. Therefore, in scenarios such as fraud prevention, when a third-party user impersonates the first user, an early warning message can be issued in a timely manner to reduce the risk of property loss for normal users.
[0188] In one embodiment, in response to the voiceprint registration request of the first user, after obtaining the first registered voiceprint of the first user, the method may further include performing the following steps for each second user:
[0189] An updated data set is obtained, where the updated data set includes at least one updated positive sample and at least two updated negative samples, wherein the updated positive sample includes the recording data of the second user, and the at least two updated negative samples include the first registered voiceprint and the second registered voiceprints of the remaining second users.
[0190] Comparison scores of each updated positive sample and each updated negative sample with the first registered voiceprint are calculated respectively to obtain an updated score set.
[0191] A plurality of pending update thresholds are determined based on the update score set.
[0192] For each pending update threshold, the comparison scores in the update score set are classified using the pending update threshold as the segmentation value, and the inter-class variance and precision-recall balance score corresponding to the classification results are calculated.
[0193] According to the inter-class variance and precision-recall balance score corresponding to each pending update threshold, a target update threshold is determined from multiple pending update thresholds.
[0194] The voiceprint determination threshold in the voiceprint registration information of the second user is updated as the target update threshold.
[0195] According to the above implementation, when a new user voiceprint is registered, the voiceprint determination threshold of the registered user can be updated and adjusted. In this way, a new personal optimal voiceprint determination threshold can be adaptively obtained for each user. In this way, the accuracy of voiceprint recognition can be improved.
[0196] In one example, the ratio of the number of positive samples to negative samples is 1: 1. The positive samples include recording data of the first user obtained from the actual production recording database. The negative samples include the second registered voiceprint corresponding to the second user obtained from the registered voiceprint database.
[0197] For the first user A, the voiceprints in the registered voiceprint database can be divided into two categories: the first registered voiceprint of the first user A, and the second registered voiceprints of N-1 second users. The N-1 recording data of the first user A obtained from the actual production recording database can be used to create a training data set together with the N-1 second registered voiceprints. Then the number of samples in the training data set is 2N-2.
[0198] After determining the voiceprint determination threshold of the first user A according to the methods of the above embodiments, the second registered voiceprint of each second user in the registered voiceprint database can be traversed to re-determine the voiceprint determination threshold of each second user. It can be understood that when a first user A registers a voiceprint, each second user only needs to obtain a new recording data of the second user from the actual production recording database, and keep the ratio of the number of positive samples to the number of negative samples at 1:1, so as to adaptively update the voiceprint determination threshold of the second user.
[0199] In this way, in business scenarios such as one number with two terminals and multiple personal numbers, a single voiceprint determination threshold can be generated or updated for a single user for identification. This is conducive to the accurate and efficient operation of the voiceprint recognition system, better allowing users of the multiple personal number platform to stay away from fraud risks and improve user experience.
[0200] In one embodiment, after the target threshold is used as the voiceprint determination threshold of the first user, the method may further include:
[0201] In response to the user identity identification request, third voiceprint data of the user to be identified is obtained.
[0202] Calculate the comparison score between the third voiceprint data and the first registered voiceprint.
[0203] When the comparison score between the third voiceprint data and the first registered voiceprint is greater than the voiceprint determination threshold of the first user, it is determined that the user to be identified is the first user.
[0204] In the above implementation, the user identity identification request may include a request generated by the user when binding a secondary device or handling other services that require identity authentication, or may include a request automatically generated by the operation platform when performing risk identification. Accordingly, the third voiceprint data may include the voiceprint data input by the user during authentication, or may include the voiceprint data of the user obtained by the operation platform during the interaction process.
[0205] In one example, the user identification request may include a user identification, and when the user identification is the first user identification, a comparison score between the third voiceprint data and the first registered voiceprint may be calculated. In one example, the user identification request may not include a user identification, and the registered voiceprints in the registered voiceprint database may be traversed, and the comparison scores of each registered voiceprint and the third voiceprint data may be compared respectively, and the user identification may be performed in combination with the voiceprint determination threshold of each registered voiceprint.
[0206] According to the above implementation, by calculating the comparison score between the third voiceprint data and the first registered voiceprint, combined with the first user's voiceprint determination threshold, it is determined whether the user to be identified is the first user. In this way, the accuracy and precision of user identification can be improved.
[0207] Based on the same inventive concept as the method for determining a voiceprint determination threshold, an embodiment of the present application further provides a device for determining a voiceprint determination threshold.
[0208] like Figure 2 As shown, the voiceprint determination threshold determination device 200 may include a first acquisition module 201 , a first calculation module 202 , a first determination module 203 and a first processing module 204 .
[0209] The first acquisition module 201 is configured to acquire a first registered voiceprint of the first user in response to a voiceprint registration request of the first user.
[0210] The first acquisition module 201 is further used to acquire a training data set, the training data set includes at least one positive sample and at least one negative sample, the positive sample includes the first voiceprint data of the first user, and the negative sample includes the second voiceprint data corresponding to the second user.
[0211] The first calculation module 202 is used to calculate the comparison score between each positive sample and each negative sample and the first registered voiceprint to obtain a comparison score set.
[0212] The first determination module 203 is used to determine a plurality of pending thresholds according to the comparison score set.
[0213] The first processing module 204 is used to classify the comparison scores in the comparison score set with respect to each undetermined threshold value using the undetermined threshold value as a segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification result.
[0214] The first determination module 203 is further configured to determine a target threshold from multiple pending thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending threshold.
[0215] The first processing module 204 is further configured to use the target threshold as a voiceprint determination threshold for the first user.
[0216] The voiceprint determination threshold determination device of the embodiment of the present application obtains the first registered voiceprint of the first user by responding to the voiceprint registration request of the first user. Then, a training data set is obtained, and the training data set includes at least one positive sample and at least one negative sample. The positive sample includes the first voiceprint data of the first user, and the negative sample includes the second voiceprint data corresponding to the second user. In this way, the voiceprint data of the first user is used as a positive sample, and the voiceprint data of other users are used as negative samples, so that the reliability of the training data set can be improved. Subsequently, the comparison scores of each positive sample and each negative sample with the first registered voiceprint are calculated respectively to obtain a comparison score set. According to the comparison score set, multiple pending thresholds are determined. For each pending threshold, the comparison scores in the comparison score set are classified using the pending threshold as a segmentation value, and the inter-class variance and precision-recall balance score corresponding to the classification result are calculated. According to the inter-class variance and precision-recall balance score corresponding to each pending threshold, a target threshold is determined from multiple pending thresholds. The target threshold is used as the voiceprint determination threshold of the first user. In this way, the inter-class variance algorithm and precision-recall balance can be integrated to balance multiple selection indicators, and the unique voiceprint judgment threshold of each user can be adaptively determined according to different registered voiceprints. In this way, the determined voiceprint judgment threshold can adapt to the actual production and business environment. When applied to scenarios such as one number with two terminals and multiple numbers for one person, the user's identity can be quickly and accurately verified based on the actual input voiceprint data and the voiceprint judgment threshold.
[0217] In one embodiment, the first voiceprint data may be recording data of the first user. The second user may include a registered user, and the second voiceprint data may be a second registered voiceprint of the second user.
[0218] The first acquisition module is used to acquire a training data set, which may specifically include:
[0219] The acquisition submodule is used to obtain at least one piece of recording data of the first user from the actual production recording database.
[0220] The acquisition submodule is further used to acquire at least one second registered voiceprint corresponding to the second user from the registered voiceprint database.
[0221] A creation submodule is used to create a training data set based on at least one recording data of the first user and at least one second registered voiceprint corresponding to the second user.
[0222] In one embodiment, the first calculation module is used to calculate the comparison score of each positive sample and each negative sample with the first registered voiceprint to obtain a comparison score set, which may specifically include:
[0223] The first calculation submodule is used to calculate the similarity between each positive sample and each negative sample and the first registered voiceprint.
[0224] The first determination submodule is used to determine the comparison score of each positive sample and each negative sample with the first registered voiceprint according to the similarity between each positive sample and each negative sample and the first registered voiceprint, and obtain a comparison score set.
[0225] In one embodiment, the first determination module is used to determine a plurality of pending thresholds according to the comparison score set, which may specifically include:
[0226] The second determination submodule is used to determine the value range of the pending threshold value according to the maximum value and the minimum value in the comparison score set.
[0227] The second determination submodule is further used to determine a plurality of pending thresholds from the value interval.
[0228] In one embodiment, the first determination module is used to determine multiple thresholds to be determined from the value interval, which may specifically include:
[0229] The third determination submodule is used to determine a plurality of pending thresholds within a value range according to a preset step value.
[0230] In one embodiment, the classification result may include a first score set that is less than or equal to a threshold to be determined and a second score set that is greater than the threshold to be determined.
[0231] The first processing module is used to calculate the inter-class variance corresponding to the classification result, which may specifically include:
[0232] The second calculation submodule is used to calculate a first average value of each comparison score in the first score set and a first proportion of the first score set, wherein the first proportion is the ratio of the number of comparison scores in the first score set to the number of comparison scores in the comparison score set.
[0233] The second calculation submodule is further used to calculate a second average value of each comparison score in the second score set and a second proportion of the second score set, wherein the second proportion is the ratio of the number of comparison scores in the second score set to the number of comparison scores in the comparison score set.
[0234] The second calculation submodule is further used to calculate a first square difference and a second square difference respectively, wherein the first square difference is the square of the difference between the first average value and the third average value, the second square difference is the square of the difference between the second average value and the third average value, and the third average value is the average value of the comparison scores in the comparison score set.
[0235] The second calculation submodule is further used to calculate the product of the first square difference and the first proportion to obtain a first product.
[0236] The second calculation submodule is further used to calculate the product of the second square difference and the second proportion to obtain a second product.
[0237] The second calculation submodule is further used to add the first product and the second product to obtain the inter-class variance corresponding to the classification result.
[0238] In one embodiment, the first processing module is used to calculate the precision-recall balance score corresponding to the classification result, which may specifically include:
[0239] The fourth determination submodule is used to determine a first number of comparison scores corresponding to the positive sample in the second score set.
[0240] The third calculation submodule is used to calculate the ratio of the first number to the number of comparison scores in the second score set to obtain the accuracy rate corresponding to the classification result.
[0241] The third calculation submodule is further used to calculate the ratio of the first number to the second number to obtain the recall rate corresponding to the classification result, wherein the second number is the number of positive samples in the training data set.
[0242] The third calculation submodule is further used to calculate the precision-recall balance score corresponding to the classification result according to the precision and recall, and according to the preset precision weight and recall weight.
[0243] In one embodiment, the first determination module is used to determine the target threshold from multiple pending thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending threshold, which may specifically include:
[0244] The processing submodule is used to normalize the inter-class variance and the precision-recall balance score corresponding to each pending threshold, and obtain the normalized inter-class variance and the normalized precision-recall balance score corresponding to each pending threshold.
[0245] The fifth determination submodule is used to determine a target threshold from multiple pending thresholds according to the normalized inter-class variance and the normalized precision-recall balance score.
[0246] In one embodiment, the fifth determination submodule is used to determine the target threshold from multiple pending thresholds according to the normalized inter-class variance and the normalized precision-recall balance score, which may specifically include:
[0247] The calculation unit is used to calculate the target and value of each pending threshold respectively, and the target and value are the normalized inter-class variance of the pending threshold and the sum of the normalized precision-recall balance score.
[0248] The determination unit is used to determine the undetermined threshold with the largest target sum value as the first candidate threshold.
[0249] The determination unit is further configured to determine a target threshold from at least one first candidate threshold.
[0250] In one embodiment, the determining unit is used to determine the target threshold from at least one first candidate threshold, which may specifically include:
[0251] The calculation subunit is used to calculate the target difference of each first candidate threshold respectively when the number of the first candidate threshold is greater than one, and the target difference is the absolute value of the difference between the normalized precision-recall balance score of the first candidate threshold and the normalized inter-class variance.
[0252] The determination subunit is used to determine the first candidate threshold with the smallest target difference as the second candidate threshold.
[0253] The determination subunit is further configured to determine a target threshold from at least one second candidate threshold.
[0254] In one embodiment, the determining subunit is used to determine the target threshold from at least one second candidate threshold, which may specifically include:
[0255] When the number of the second candidate thresholds is greater than one, the second candidate threshold with the largest value among the at least one second candidate threshold is determined as the target threshold.
[0256] In one embodiment, the apparatus may further include:
[0257] The second acquisition module is used to obtain the first registered voiceprint of the first user in response to the voiceprint registration request of the first user, and then obtain an updated data set for each second user, wherein the updated data set includes at least one updated positive sample and at least two updated negative samples, wherein the updated positive sample includes the recording data of the second user, and the at least two updated negative samples include the first registered voiceprint and the second registered voiceprints of the remaining second users.
[0258] The second calculation module is used to calculate the comparison scores of each updated positive sample and each updated negative sample with the first registered voiceprint to obtain an updated score set.
[0259] The second determination module is used to determine a plurality of pending update thresholds according to the update score set.
[0260] The second processing module is used to classify the comparison scores in the update score set for each pending update threshold using the pending update threshold as a segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification results.
[0261] The second determination module is further used to determine the target update threshold from multiple pending update thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending update threshold.
[0262] The updating module is used to update the voiceprint determination threshold in the voiceprint registration information of the second user to a target update threshold.
[0263] In one embodiment, the apparatus may further include:
[0264] The third acquisition module is used to obtain the third voiceprint data of the user to be identified in response to the user identity identification request after taking the target threshold as the voiceprint determination threshold of the first user.
[0265] The third calculation module is used to calculate the comparison score between the third voiceprint data and the first registered voiceprint.
[0266] The third determination module is used to determine that the user to be identified is the first user when the comparison score between the third voiceprint data and the first registered voiceprint is greater than the voiceprint determination threshold of the first user.
[0267] The voiceprint determination threshold determination device provided in the embodiment of the present application can achieve Figure 1 To avoid repetition, the various processes implemented by the method embodiment are not described here.
[0268] Figure 3 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.
[0269] The electronic device may include a processor 301 and a memory 302 storing computer program instructions.
[0270] Specifically, the processor 301 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0271] The memory 302 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 302 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 302 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 302 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 302 is a non-volatile solid-state memory.
[0272] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.
[0273] The processor 301 reads and executes the computer program instructions stored in the memory 302 to implement any one of the voiceprint determination threshold determination methods in the above embodiments.
[0274] As an example, the electronic device may further include a communication interface 303 and a bus 310. Figure 3 As shown, the processor 301, the memory 302, and the communication interface 303 are connected via a bus 310 and communicate with each other.
[0275] The communication interface 303 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0276] The bus 310 includes hardware, software, or both, coupling the components of the voiceprint determination threshold determination device to each other. By way of example and not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industry standard architecture (EISA) bus, a front-side bus (FSB), a hypertransport (HT) interconnect, an industry standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus, or other suitable buses or a combination of two or more of the above. Where appropriate, the bus 310 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.
[0277] The electronic device can execute the voiceprint determination threshold determination method in the embodiment of the present application, thereby realizing the combination Figure 1 and Figure 2 The present invention describes a method and device for determining a voiceprint determination threshold.
[0278] In addition, in combination with the voiceprint determination threshold determination method in the above embodiment, the present application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any one of the voiceprint determination threshold determination methods in the above embodiment is implemented.
[0279] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed, implements any one of the methods for determining a voiceprint determination threshold in the above embodiments.
[0280] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0281] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0282] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0283] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0284] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A method for determining a voiceprint determination threshold, characterized in that: include: In response to a voiceprint registration request of a first user, obtaining a first registered voiceprint of the first user; Acquire a training data set, the training data set comprising at least one positive sample and at least one negative sample, the positive sample comprising first voiceprint data of the first user, and the negative sample comprising second voiceprint data corresponding to a second user; Calculate the comparison score of each positive sample and each negative sample with the first registered voiceprint to obtain a comparison score set; Determining a plurality of pending thresholds according to the comparison score set; For each undetermined threshold, classify the comparison scores in the comparison score set using the undetermined threshold as a segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification results; Determine a target threshold from the multiple pending thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending threshold; The target threshold is used as the voiceprint determination threshold of the first user.
2. The method according to claim 1, characterized in that The first voiceprint data is the recording data of the first user; the second user includes a registered user, and the second voiceprint data is the second registered voiceprint of the second user; The step of obtaining a training data set includes: Acquire at least one piece of recording data of the first user from the actual production recording database; Acquire at least one second registered voiceprint corresponding to the second user from the registered voiceprint database; The training data set is created according to the at least one recording data of the first user and the at least one second registered voiceprint corresponding to the second user.
3. The method according to claim 1 or 2, characterized in that: The step of respectively calculating the comparison scores of each positive sample and each negative sample with the first registered voiceprint to obtain a comparison score set includes: Calculating the similarity between each positive sample and each negative sample and the first registered voiceprint respectively; According to the similarity between each positive sample and each negative sample and the first registered voiceprint, a comparison score between each positive sample and each negative sample and the first registered voiceprint is determined to obtain a comparison score set.
4. The method according to claim 1 or 2, characterized in that: Determining a plurality of pending thresholds according to the comparison score set includes: Determining a value interval of the pending threshold value according to the maximum value and the minimum value in the comparison score set; The multiple thresholds to be determined are determined from the value interval.
5. The method according to claim 4, characterized in that The determining the multiple pending thresholds from the value interval includes: According to the preset step value, the multiple threshold values to be determined are determined within the value interval.
6. The method according to claim 1 or 2, characterized in that: The classification result includes a first score set that is less than or equal to the threshold to be determined and a second score set that is greater than the threshold to be determined; Calculate the inter-class variance corresponding to the classification results, including: Calculate a first average value of each comparison score in the first score set and a first proportion of the first score set, wherein the first proportion is a ratio of the number of comparison scores in the first score set to the number of comparison scores in the comparison score set; Calculate a second average value of each comparison score in the second score set and a second proportion of the second score set, wherein the second proportion is a ratio of the number of comparison scores in the second score set to the number of comparison scores in the comparison score set; Calculate a first square difference and a second square difference respectively, wherein the first square difference is the square of the difference between the first average value and a third average value, the second square difference is the square of the difference between the second average value and a third average value, and the third average value is the average value of the comparison scores in the comparison score set; Calculate the product of the first square difference and the first proportion to obtain a first product; Calculate the product of the second square difference and the second proportion to obtain a second product; The first product is added to the second product to obtain the inter-class variance corresponding to the classification result.
7. The method according to claim 6, characterized in that Calculate the precision-recall balance score corresponding to the classification result, including: Determining a first number of comparison scores corresponding to the positive example in the second score set; Calculating a ratio of the first number to the number of comparison scores in the second score set to obtain a precision rate corresponding to the classification result; Calculating a ratio of the first number to a second number to obtain a recall rate corresponding to the classification result, wherein the second number is the number of positive samples in the training data set; According to the precision and recall, and in accordance with preset precision weights and recall weights, a precision-recall balance score corresponding to the classification result is calculated.
8. The method according to claim 1 or 2, characterized in that: Determining a target threshold from the multiple pending thresholds according to the inter-class variances and precision-recall balance scores corresponding to the pending thresholds includes: Normalize the inter-class variance and precision-recall balance score corresponding to each pending threshold value to obtain the normalized inter-class variance and normalized precision-recall balance score corresponding to each pending threshold value; A target threshold is determined from the multiple pending thresholds according to the normalized inter-class variance and the normalized precision-recall balance score.
9. The method according to claim 8, characterized in that Determining a target threshold from the multiple thresholds to be determined according to the normalized inter-class variance and the normalized precision-recall balance score includes: Calculate the target and value of each pending threshold respectively, where the target and value is the sum of the normalized inter-class variance and the normalized precision-recall balance score of the pending threshold; The undetermined threshold with the largest target and value is determined as the first candidate threshold; A target threshold is determined from at least one of the first candidate thresholds.
10. The method according to claim 9, characterized in that The determining a target threshold from at least one of the first candidate thresholds comprises: When the number of the first candidate thresholds is greater than one, respectively calculating a target difference value of each first candidate threshold value, the target difference value being an absolute value of a difference between a normalized precision-recall balance score and a normalized inter-class variance of the first candidate threshold value; Determine the first candidate threshold with the smallest target difference as the second candidate threshold; A target threshold is determined from at least one of the second candidate thresholds.
11. The method according to claim 10, characterized in that Determining a target threshold from at least one of the second candidate thresholds includes: When the number of the second candidate thresholds is greater than one, the second candidate threshold with the largest value among the at least one second candidate threshold is determined as the target threshold.
12. The method according to claim 2, characterized in that: After obtaining the first registered voiceprint of the first user in response to the voiceprint registration request of the first user, the method further includes executing the following steps for each second user: Acquire an updated data set, the updated data set comprising at least one updated positive sample and at least two updated negative samples, wherein the updated positive sample comprises the recording data of the second user, and the at least two updated negative samples comprise the first registered voiceprint and the second registered voiceprints of the remaining second users; Calculate the comparison scores of each updated positive sample and each updated negative sample with the first registered voiceprint to obtain an updated score set; Determining a plurality of pending update thresholds according to the update score set; For each pending update threshold, classify the comparison scores in the update score set using the pending update threshold as a segmentation value, and calculate the inter-class variance and precision-recall balance score corresponding to the classification results; Determine a target update threshold from the plurality of pending update thresholds according to the inter-class variances and precision-recall balance scores corresponding to the pending update thresholds; The voiceprint determination threshold in the voiceprint registration information of the second user is updated to the target update threshold.
13. The method according to claim 1 or 2, characterized in that: After the target threshold is used as the voiceprint determination threshold of the first user, the method further includes: In response to the user identity identification request, obtaining third voiceprint data of the user to be identified; Calculating a comparison score between the third voiceprint data and the first registered voiceprint; When the comparison score between the third voiceprint data and the first registered voiceprint is greater than the voiceprint determination threshold of the first user, it is determined that the user to be identified is the first user.
14. A device for determining a voiceprint determination threshold, characterized in that: include: an acquisition module, configured to acquire a first registered voiceprint of a first user in response to a voiceprint registration request of the first user; The acquisition module is further used to acquire a training data set, the training data set including at least one positive sample and at least one negative sample, the positive sample including the first voiceprint data of the first user, and the negative sample including the second voiceprint data corresponding to the second user; A calculation module, used to calculate the comparison score of each positive sample and each negative sample with the first registered voiceprint, and obtain a comparison score set; A determination module, used to determine a plurality of pending thresholds according to the comparison score set; A processing module, for classifying the comparison scores in the comparison score set with respect to each undetermined threshold value using the undetermined threshold value as a segmentation value, and calculating the inter-class variance and precision-recall balance score corresponding to the classification result; The determination module is further configured to determine a target threshold from the plurality of pending thresholds according to the inter-class variance and precision-recall balance score corresponding to each pending threshold; The processing module is further configured to use the target threshold as a voiceprint determination threshold for the first user.
15. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the method for determining the voiceprint determination threshold value according to any one of claims 1 to 13 is implemented.
Citation Information
Patent Citations
Similarity threshold determination method and device, equipment and storage medium
CN114120383A
Voiceprint template updating method and related equipment
CN116168708A
Heart sound segmentation method based on double features
CN116895285A
Method for anonymizing network data using differential privacy
US20210336938A1