Speaker identification method and device

By using clustering and merging and speaker contribution filtering methods, the accuracy problem of speaker identification in real audio data of existing speech recognition systems has been solved, achieving more accurate speaker identification and identity verification.

CN121662068APending Publication Date: 2026-03-13SHANGHAI BILIBILI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-12
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing speech recognition systems suffer from problems such as mixing background noise with human voices, inaccurate speaker count, and missed detection of overlapping and short speech when processing real, non-ideal audio data, resulting in low accuracy of speaker classification results.

Method used

By acquiring the original audio slice sequence generated by the speech recognition system, clustering and merging are performed based on the initial speaker's identification information and speech feature data to generate a set of candidate speakers. Target speakers are then selected based on their speaking contribution, and speakers are accurately identified by using similarity matching and contribution thresholds of the speech feature data.

Benefits of technology

It significantly improves the accuracy and consistency of speaker identification, effectively eliminates misidentification caused by noise and changes in pronunciation, accurately removes background noise and brief interruptions, and improves the accuracy of the final results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121662068A_ABST
    Figure CN121662068A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a spokesman recognition method and device, computer equipment, a computer readable storage medium and a computer program product, and belongs to the technical field of voice recognition. The method comprises the following steps: acquiring an original audio slice sequence generated by a voice recognition system, wherein each original audio slice in the original audio slice sequence comprises identification information of an initial spokesman and voice feature data of the initial spokesman; clustering and merging all the initial spokesmen based on the identification information of the initial spokesmen and the voice feature data to generate a candidate spokesman set; determining the speaking contribution degree of each candidate spokesman; and taking the candidate spokesmen whose speech contribution degrees are not lower than a preset contribution degree threshold value in the candidate spokesman set as target spokesmen to obtain a target spokesman set. According to the technical scheme, the accuracy of the spokesman classification result can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of speech recognition technology, and in particular to a speaker recognition method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Technology

[0002] In practical applications of speech recognition technology (such as meeting recording transcription, multi-person dialogue interaction, remote conferencing, podcasts, smart court hearings, etc.), the speech recognition system will use speaker segmentation technology to cut the input audio into segments and label the speaker identification information (ID), and then hand it over to the ASR (Automatic Speech Recognition) engine in the speech recognition system to generate text.

[0003] However, existing speech recognition systems exhibit numerous problems when processing realistic, non-ideal audio data. Evaluation documents reveal the following issues with existing speech recognition systems when handling multi-person audio dialogues: 1. Severe confusion between background noise and human voice: In audio containing background music (BGM), sound effects, or watermark sounds, existing speech recognition systems often incorrectly identify these non-human voice elements as one or more independent speakers.

[0004] 2. Existing speech recognition systems have difficulty accurately counting the actual number of speakers, exhibiting two extreme cases: "over-recognition" and "under-recognition".

[0005] 3. Existing speech recognition systems may miss overlapping or short utterances. For example, in fast-paced free discussions or interviews, existing systems have a low detection rate for overlapping or short responses (such as "um," "yes," "right"), often ignoring them or incorrectly attributing them to the main speaker.

[0006] The aforementioned issues result in low accuracy of the speaker classification results output by the speech recognition system.

[0007] It should be noted that the above content is not necessarily prior art, nor is it intended to limit the scope of patent protection of this application. Summary of the Invention

[0008] This application provides a speaker identification method, apparatus, computer device, computer-readable storage medium, and computer program product to solve or alleviate one or more of the technical problems mentioned above.

[0009] One aspect of this application provides a speaker identification method, the method comprising: Obtain the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker. The speech feature data is used to distinguish different speakers. Based on the initial speaker's identification information and voice feature data, all initial speakers are clustered and merged to generate a candidate speaker set, which includes the identification information of at least one candidate speaker. The contribution of each candidate speaker's speech is determined, and the contribution of speech is used to quantify the extent of each candidate speaker's effective speech in the original audio. The candidate speakers whose speaking contribution is not lower than a preset contribution threshold are selected as target speakers to obtain a target speaker set, which includes the identification information of at least one target speaker.

[0010] Optionally, the step of clustering and merging all initial speakers based on their identification information and voice feature data to generate a candidate speaker set includes: Calculate the similarity value between the speech feature data of each initial speaker; Based on the calculated similarity values, the identification information of the initial speakers whose similarity values ​​are greater than a preset similarity threshold is clustered and merged to generate the candidate speaker set.

[0011] Optionally, determining the contribution of each candidate speaker's speech includes: The speaker's speaking time percentage and the first weight value corresponding to the speaking time percentage are obtained for each candidate speaker, the speaker's voice quality score and the second weight value corresponding to the voice quality score are obtained for each candidate speaker, and the semantic confidence score and the third weight value corresponding to the semantic confidence score are obtained for each candidate speaker. The speaking contribution of each candidate speaker is calculated based on the speaking duration percentage, the first weight value, the speech quality score, the second weight value, the semantic confidence level, and the third weight value.

[0012] Optionally, the contribution threshold is determined in the following way: The mean and standard deviation of the speaking contribution are determined based on the speaking contribution of all candidate speakers; the contribution threshold is determined based on the mean and standard deviation of the speaking contribution; or All candidate speakers' speaking contributions are sorted in ascending or descending order, and the inflection point of the sorting curve is detected by an inflection point detection algorithm to determine the contribution threshold. The sorting curve is constructed based on the speaking contributions sorted in ascending or descending order.

[0013] Optionally, before the step of clustering and merging all initial speakers based on the initial speaker's identification information and voice feature data to generate a candidate speaker set, the method further includes: Calculate the confidence score of the music attributes for each original audio slice. The confidence score of the music attributes is used to quantify the degree to which the original audio slice belongs to the audio slice. Original audio slices with a music attribute confidence level higher than a preset music threshold are designated as music slices, while original audio slices with a music attribute confidence level lower than the music threshold are designated as speech slices. Based on the initial speaker's identification information and voice feature data, all initial speakers are clustered and merged to generate a candidate speaker set, including: Based on the initial speaker identification information and speech feature data contained in all speech slices, multiple initial speakers are clustered and merged to generate a candidate speaker set.

[0014] Optionally, calculating the confidence level of the musical attributes for each original audio slice includes: Extract the audio feature data for each original audio slice separately; The extracted audio feature data are input into a pre-trained binary classification model, and the model outputs the confidence score of the music attributes of each original audio slice.

[0015] Optionally, the step of selecting candidate speakers from the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers, and obtaining the target speaker set, includes: Detect the number of candidate speakers contained in the candidate speaker set; If the number of candidate speakers is 1, then the candidate speaker is taken as the target speaker in the target speaker set. If the number of candidate speakers is greater than 1, the candidate speakers whose speaking contribution is not lower than a preset contribution threshold are selected as target speakers to obtain the target speaker set.

[0016] Optionally, the method further includes: Obtain the text content from the original audio slice associated with each target speaker; Verify the accuracy of the speaker identification results for each target speaker by checking all the acquired text content and the original audio slices associated with them.

[0017] Optionally, the step of verifying the correctness of the speaker identification result for each target speaker associated with the original audio slice based on all the acquired text content includes: Feature extraction is performed on each text content associated with the same target speaker to obtain text feature data corresponding to each text content; Calculate the similarity between each text feature data to obtain the similarity value between each text feature data; If the similarity value between various text feature data is greater than a preset threshold, the speaker identification result of the original audio slice associated with the same target speaker is correct.

[0018] Optionally, the method further includes: Based on the number of target speakers included in the target speaker set, different user interfaces are adaptively generated to display the associated information of the target speakers.

[0019] Another aspect of this application provides a speaker identification device, the device comprising: The acquisition module is used to acquire the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker. The speech feature data is used to distinguish different speakers. The clustering module is used to cluster and merge all the initial speakers based on the initial speaker's identification information and voice feature data to generate a candidate speaker set, wherein the candidate speaker set includes the identification information of at least one candidate speaker; The confirmation module is used to determine the contribution of each candidate speaker's speech, which is used to quantify the effective speech of each candidate speaker in the original audio. The deletion module is used to select candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers, thereby obtaining a target speaker set, wherein the target speaker set includes the identification information of at least one target speaker.

[0020] Another aspect of this application provides a computer device, including: At least one processor; and A memory that is communicatively connected to the at least one processor; Wherein: the memory stores instructions that can be executed by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method as described above.

[0021] Another aspect of this application provides a computer-readable storage medium storing computer instructions that, when executed by a processor, implement the method described above.

[0022] Another aspect of this application provides a computer program product including a computer program that, when executed by a processor, implements the method described above.

[0023] The embodiments of this application employing the above-described technical solution may have the following advantages: First, this technical solution clusters and merges multiple initial speakers' identification information and voice feature data, and uses the similarity matching of voice feature data to achieve accurate association of different initial identifiers of the same speaker. It merges the initial speakers with repeated labels into a single candidate speaker, effectively eliminating the problem of speaker misclassification caused by noise and changes in pronunciation status. This makes the speaker classification results more consistent with the real number and identity of speakers in the actual scenario, and significantly improves the accuracy and consistency of speaker identification.

[0024] Secondly, this technical solution uses the contribution of a speaker as a quantitative indicator and further filters target speakers based on a contribution threshold, thereby achieving an objective assessment of the speaker's importance. This allows for the accurate elimination of invalid speakers such as background noise and brief interruptions, effectively addressing the challenges of over-identification and merging speakers with similar voices, and further improving the accuracy of the final results. Attached Figure Description The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0025] Figure 1 This diagram schematically illustrates the operating environment of the speaker identification method according to Embodiment 1 of this application; Figure 2 A flowchart illustrating a speaker identification method according to Embodiment 1 of this application is shown schematically; Figure 3 The diagram illustrates a detailed flowchart of the steps to cluster and merge all initial speakers based on their identification information and voice feature data to generate a set of candidate speakers. Figure 4 The flowchart illustrates the detailed steps involved in determining the contribution of each candidate speaker's speech. Figure 5 The flowchart illustrating the additional steps of the speaker identification method according to Embodiment 1 of this application is shown in the illustration. Figure 6 This schematically illustrates a detailed flowchart of the steps for calculating the confidence level of the musical attributes for each original audio slice. Figure 7The flowchart illustrates the detailed steps of selecting candidate speakers from the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers to obtain the target speaker set. Figure 8 The flowchart illustrating the additional steps of the speaker identification method according to Embodiment 1 of this application is shown in the illustration. Figure 9 A block diagram of a speaker identification device according to Embodiment 2 of this application is shown schematically; Figure 10 A schematic diagram of the hardware architecture of a computer device according to Embodiment 3 of this application is shown. Detailed Implementation

[0026] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.

[0027] It should be noted that the descriptions involving "first," "second," etc., in the embodiments of this application are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first" or "second" may explicitly or implicitly include at least one of that feature. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0028] It should be noted that, in any stage of this application involving the collection, storage, use, transmission, and processing of data, each stage strictly adheres to the laws, regulations, industry standards, and regulatory requirements of the data source, usage location, and relevant countries and regions to ensure the legality and compliance of data activities. In the collection stage, the purpose, method, and scope of collection are clearly communicated to the data subject in a prominent manner. Collection is conducted only after obtaining the data subject's legal authorization, ensuring that the collection process follows the "minimum necessary" principle and does not exceed the scope of data collection. In the storage stage, storage periods are limited, and data is promptly deleted or anonymized / encrypted after the storage purpose is achieved. In the usage stage, a strict data security protection mechanism is implemented, using field-level desensitization technology and processing the original data according to preset desensitization rules. For different types of data, multiple desensitization strategies, such as data generalization, data anonymization, and data encryption, are employed to effectively mitigate the risk of sensitive information leakage and ensure that all data used is securely processed and desensitized, comprehensively protecting the rights and interests of data subjects and data security. In the transmission and processing stages, the confidentiality and security of data are ensured during transmission and processing.

[0029] In the description of this application, it should be understood that the numerical labels before the steps do not indicate the order of the steps, but are only used to facilitate the description of this application and to distinguish each step, and therefore should not be construed as a limitation of this application.

[0030] First, a definition of the terminology used in this application is provided: Speech recognition system: also known as automatic speech recognition (ASR), is a system that converts human speech into text or commands through techniques such as feature extraction, pattern matching, and model training.

[0031] Speaker: It is a representation of the user who makes the speech in the field of speech recognition.

[0032] Secondly, to facilitate understanding of the technical solutions provided in the embodiments of this application by those skilled in the art, the relevant technologies are described below: Traditional speech recognition systems have the following drawbacks when processing real, non-ideal audio data: 1. Severe interference between background noise and human voices. In audio containing background music (BGM), sound effects, or watermark sounds, existing ASR systems often incorrectly identify these non-human voice elements as one or more independent speakers. For example, in a podcast sample with only two real speakers, the system may incorrectly output five speakers due to interference from the BGM, severely contaminating the recognition results.

[0033] 2. Significant bias in speaker counting. Current technology struggles to accurately count the true number of speakers, resulting in two extreme cases: "over-identification" and "under-identification."

[0034] Over-detection: The system may identify different tones (such as laughter), verbal tics, or speech segments that are segmented by noise as multiple different speakers.

[0035] Under-detection: When multiple speakers with similar voices are present in the audio (e.g., multiple men or women conversing simultaneously), the system is prone to mistakenly merging them into a single speaker, resulting in the loss of speaker information. Evaluations show that existing systems frequently encounter this merging error when processing male co-host podcasts with similar voices, and this problem is one of the main reasons for its failure to detect speakers.

[0036] 3. Missed detection of overlapping and short responses. In fast-paced free discussions or interviews, existing systems have a low detection rate for overlapping or short responses (such as "um," "yes," "right"), often ignoring them or incorrectly attributing them to the main speaker.

[0037] To address this, this application provides a technical solution for speaker identification. First, this solution clusters and merges multiple initial speaker identifiers and voice feature data. It utilizes similarity matching of voice feature data to accurately associate different initial identifiers of the same speaker, merging duplicate-labeled initial speakers into a single candidate speaker. This effectively eliminates speaker misclassification caused by noise and changes in pronunciation, making the speaker classification results more closely reflect the actual number and identity of speakers in real-world scenarios, significantly improving the accuracy and consistency of speaker identification. Second, this solution uses speaker contribution as a quantitative indicator and further filters target speakers based on contribution thresholds, achieving an objective assessment of speaker importance. This allows for the accurate removal of invalid speakers such as those with background noise or brief interruptions, effectively addressing the challenges of over-identification and merging speakers with similar voices, further improving the accuracy of the final result. Furthermore, compared to end-to-end model optimization, this solution is lower in cost, more flexible, and more efficient in deployment. See below for details.

[0038] Finally, for ease of understanding, an exemplary operating environment is provided below.

[0039] like Figure 1 As shown in the diagram, the runtime environment includes: Service Platform 2, Network 4, and Client 6, where: Service platform 2 can consist of one or more computing devices. These computing devices may include virtualized computing instances. Virtualized computing instances may include virtual machines, such as emulations of computer systems, operating systems, servers, etc. The computing devices can load virtual machines based on virtual images and / or other data that define specific software used for emulation (e.g., operating systems, dedicated applications, servers). As the demand for different types of processing services changes, different virtual machines can be loaded and / or terminated on one or more computing devices. A hypervisor can be implemented to manage the use of different virtual machines on the same computing device.

[0040] Service platform 2 can be configured to communicate with clients 6, etc., via network 4. Network 4 includes various network devices, such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, and / or similar devices. Network 4 may include physical links, such as coaxial cable links, twisted pair cable links, fiber optic links, or combinations thereof, or wireless links, such as cellular links, satellite links, Wi-Fi links, etc.

[0041] Service platform 2 can provide services such as storage, reading, writing, querying, and deleting, such as running a speaker recognition model or providing speaker recognition services to clients.

[0042] Client 6 can be an electronic device running operating systems such as Windows, Android™, or iOS, including smartphones, tablets, laptops, virtual reality devices, gaming devices, set-top boxes, in-vehicle terminals, and smart TVs. Based on these operating systems, various applications can run, such as applications for speaker identification.

[0043] Client 6 can provide / configure user access pages for controlling service platform 2 or uploading objects (such as videos).

[0044] It should be noted that the above-mentioned equipment is exemplary, and the number and type of equipment can be adjusted in different scenarios or according to different needs.

[0045] The technical solutions of this application are described below through multiple embodiments, using service platform 2 or client 6 as the execution entity. It should be understood that these embodiments can be implemented in many different forms and should not be construed as being limited to the embodiments described herein.

[0046] Example 1 Figure 2 A flowchart illustrating a speaker identification method according to Embodiment 1 of this application is shown schematically.

[0047] like Figure 2 As shown, the speaker identification method may include steps S200~S206, wherein: Step S200: Obtain the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker.

[0048] Step S202: Based on the identification information and voice feature data of the initial speakers, all initial speakers are clustered and merged to generate a candidate speaker set, wherein the candidate speaker set includes the identification information of at least one candidate speaker; Step S204: Determine the contribution of each candidate speaker's speech, wherein the contribution is used to quantify the effective speech of each candidate speaker in the original audio. Step S206: Select candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers to obtain a target speaker set, wherein the target speaker set includes the identification information of at least one target speaker.

[0049] The speaker identification method provided in this embodiment firstly clusters and merges multiple initial speaker identification information and voice feature data. It then uses similarity matching of voice feature data to accurately associate different initial identifiers of the same speaker, merging duplicate-labeled initial speakers into a single candidate speaker. This effectively eliminates speaker misclassification caused by noise and changes in pronunciation, making the speaker classification results more closely reflect the actual number and identity of speakers in real-world scenarios, significantly improving the accuracy and consistency of speaker identification. Secondly, this technical solution uses speech contribution as a quantitative indicator and further filters target speakers based on a contribution threshold, achieving an objective assessment of speaker importance. This allows for the accurate removal of invalid speakers such as those with background noise or brief interruptions, effectively addressing the challenges of over-identification and merging speakers with similar voice tones, further improving the accuracy of the final result.

[0050] The following combination Figure 2 The steps in steps S200 to S206, as well as other optional steps, are described in detail.

[0051] Step S200 The system obtains the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker.

[0052] When processing input audio (such as meeting recordings or multi-person dialogue audio), a speech recognition system generates a sequence of original audio segments according to a preset time window or the results of Voice Activity Detection (VAD). The time window setting can be dynamically adjusted based on the scenario. For example, in scenarios with multiple people speaking rapidly and alternately, the time window can be set to 0.5-2 seconds; in scenarios with a single person speaking at length, the time window can be extended to 5-10 seconds to balance segment granularity and subsequent processing efficiency. When generating the original audio segment sequence from the VAD results, methods such as energy thresholding (e.g., short-time average energy above -30dB), zero-crossing rate methods (e.g., zero-crossings per second between 50-200) or deep learning models (e.g., WebRTC VAD) can be used to identify speech segments and non-speech segments (silence, background noise). Then, only segments containing speech can be generated, avoiding the consumption of computational resources by invalid segments.

[0053] After dividing the input audio into a sequence of original audio segments consisting of multiple original audio segments, the speech recognition system assigns a unique initial speaker identifier to each original audio segment, such as Speaker_001, Speaker_002, etc.

[0054] It should be noted that the initial spokesperson's identification information is only for temporary distinction and does not represent the identity of the actual spokesperson.

[0055] In addition, after dividing the input audio into a sequence of original audio segments composed of multiple original audio segments, the speech recognition system also extracts speech feature data. This speech feature data can be extracted using methods such as Mel-frequency cepstral coefficients (MFCC), linear predictive cepstral coefficients (LPCC), or deep learning models (such as ECAPA-TDNN, ResNet).

[0056] In one embodiment, the speech feature data may include a voiceprint feature vector. The voiceprint feature vector is a one-dimensional numerical array converted from the speaker's voice signal using a feature extraction algorithm; it is the core data carrier for voiceprint recognition. Voiceprint feature vectors from different speakers have significant spatial distinguishability. By calculating the distance between vectors (such as Euclidean distance or cosine distance), it can be determined whether two speech segments originate from the same person.

[0057] In another embodiment, the speech feature data may include, in addition to the voiceprint feature vector, the initial speaker's chromaticity feature data. The chromaticity feature data is a pitch-based spectral feature data that reflects the pitch structure of the sound, capturing the pitch distribution patterns of vowels and consonants in speech, as well as the tone and intonation patterns during pronunciation.

[0058] In one embodiment, after extracting the speech feature data of each original audio slice, the speech feature data can be bound to the initial speaker's identification information to facilitate subsequent acquisition of this data.

[0059] Step S202 Based on the initial speaker's identification information and voice feature data, all initial speakers are clustered and merged to generate a candidate speaker set, which includes the identification information of at least one candidate speaker.

[0060] In this embodiment, when clustering and merging all initial speakers based on their identification information and voice feature data, multiple initial speakers with similar voiceprint features can be clustered and merged based on the similarity of their voice feature data to generate a candidate speaker set. After clustering and merging, each cluster can be assigned a unique candidate speaker identification information, such as Mid_Speaker_01, Mid_Speaker_02, etc.

[0061] In an optional implementation, see [link to relevant documentation]. Figure 3 The step of clustering and merging all initial speakers based on their identification information and voice feature data to generate a candidate speaker set includes: Step S300: Calculate the similarity value between the speech feature data of each initial speaker.

[0062] In this embodiment, the similarity value between speech feature data can be measured by calculating the Euclidean distance, cosine similarity, Manhattan distance, etc. between the speech feature data.

[0063] In other implementations, the similarity values ​​between speech feature data can also be directly output by a neural network model.

[0064] Step S302: Based on the calculated similarity values, cluster and merge the identification information of the initial speakers whose similarity values ​​are greater than a preset similarity threshold to generate the candidate speaker set.

[0065] In this embodiment, the preset similarity threshold can be set and adjusted according to the actual situation.

[0066] In one implementation, different similarity thresholds can be preset based on different application scenarios to ensure clustering effects in general scenarios. For example, for quiet scenarios (such as indoor interviews, one-on-one calls with customer service), the preset similarity threshold is 0.80; for general scenarios (such as regular meetings, daily conversations with multiple people), the preset similarity threshold is 0.75; for noisy scenarios (such as outdoor conversations, multiple people speaking densely with background noise), the preset similarity threshold is 0.70.

[0067] In another embodiment, the preset similarity threshold can also be set through a threshold adjustable mechanism, enabling users to manually adjust the threshold according to the voice quality and speaking characteristics of the actual application scenario.

[0068] In this embodiment, after calculating the similarity value between the voice feature data of each initial speaker, the identification information of the initial speakers with similarity values ​​greater than a preset similarity threshold can be clustered and merged to combine multiple initial speakers into a single candidate speaker. For example, if the similarity value between the voice feature data of Speaker_001 and Speaker_002 is 0.95, and the preset similarity threshold is 0.9, then Speaker_001 and Speaker_002 can be clustered and merged to generate a single candidate speaker, such as Mid_Speaker_01.

[0069] It should be noted that the initial speakers who have not been clustered and merged are considered as one of the candidate speakers in the candidate speaker set.

[0070] In this embodiment, clustering and merging are achieved based on the similarity values ​​between speech feature data, which can more accurately cluster the initial speakers and effectively eliminate speaker misclassification caused by noise, changes in pronunciation state, etc.

[0071] Step S204 The contribution of each candidate speaker's speech is determined.

[0072] The contribution score is used to quantify the effective speaking degree of each candidate speaker throughout the original audio, in order to distinguish between "real target speakers" and "fake speakers" in subsequent recordings.

[0073] In an optional implementation, see [link to relevant documentation]. Figure 4 The determination of the contribution of each candidate speaker includes: Step S400: Obtain the speaking duration percentage and the first weight value corresponding to the speaking duration percentage for each candidate speaker, the voice quality score and the second weight value corresponding to the voice quality score for each candidate speaker, and the semantic confidence score and the third weight value corresponding to the semantic confidence score for each candidate speaker.

[0074] The speaking duration percentage Rtime,i is the ratio of the total duration of the original audio segment corresponding to the candidate speaker to the total duration of the entire original audio, i.e., the speaking duration percentage = total duration of the original audio segment corresponding to the candidate speaker / total duration of the entire original audio. The speaking duration percentage is used to quantify the candidate speaker's participation in the speech and reflects their time contribution to the entire original audio.

[0075] Voice quality scoring is used to quantify the clarity of candidate speakers' speech and eliminate the interference of unclear speech on the contribution.

[0076] In this embodiment, a single-index scoring method or a multi-index fusion scoring method can be used to determine the speech quality score.

[0077] Among them, the single-index scoring method refers to determining the speech quality score based on one quality scoring index, while the multi-index fusion scoring method refers to determining the speech quality score based on multiple quality scoring indices.

[0078] It should be noted that the above quality scoring indicators may include signal-to-noise ratio (SNR), speech intelligibility (CSID), and / or the percentage of noise-free frames.

[0079] The signal-to-noise ratio (SNR) can be calculated from the energy ratio. After obtaining the SNR, it can be standardized to normalize its value to the range [0,1] for easier subsequent processing.

[0080] Speech proficiency (CSID) can be calculated based on the stability of Mel frequency cepstral coefficients, with values ​​ranging from [0,1].

[0081] The proportion of noiseless frames can be obtained by statistically analyzing the proportion of noiseless frames (frames with energy below the silence threshold) in the slice, with a value range of [0,1].

[0082] To facilitate understanding, the process of determining speech quality using the multi-index scoring method is explained in detail below: Step a: Extraction of speech quality indicators from the original audio slices: For the j-th original audio slice of the i-th candidate speaker, extract three core quality indicators (signal-to-noise ratio (SNR), speech intelligibility (CSID), and noise-free frame percentage) and standardize them (mapped to the [0,1] interval) to obtain the signal-to-noise ratio value (ssnr,i,j), speech intelligibility value (scsid,i,j), and noise-free frame percentage value (snoise,i,j).

[0083] Step b: Calculate the speech quality score for each original audio slice associated with the candidate speaker. The speech quality score Q for the j-th original audio slice of the i-th candidate speaker can be calculated using the following weighted summation formula. i,j .

[0084] Q i,j= ssnr,i,j×W1+scsid,i,j×W2+snoise,i,j×W3, where W1, W2, and W3 are the weight values ​​corresponding to the signal-to-noise ratio (SNR), speech intelligibility (CSID), and the percentage of noise-free frames, respectively, and these weight values ​​are preset.

[0085] Step c: Calculate the candidate speaker's voice quality score Q. i .

[0086] In one embodiment, the mean, median, or other values ​​of the speech quality scores of all original audio segments associated with the candidate speaker can be used as the candidate speaker's speech quality score Q. i .

[0087] In another implementation, the weighted average quality score of all original audio segments associated with the candidate speaker can be calculated using the segment duration as the weight, and this weighted average quality score can be used as the candidate speaker's voice quality score Q. i .

[0088] Semantic confidence is used to quantify the semantic completeness of a candidate speaker's speech, and it can be obtained based on the confidence level of the speech recognition results.

[0089] When a speech recognition system outputs recognized text for each slice, it simultaneously generates a recognition confidence score (reflecting the reliability of the recognition result), denoted as Ci,j (with a value range of [0,1]).

[0090] In one embodiment, the mean, median, or other values ​​of the recognition confidence scores of all original audio segments associated with the candidate speaker can be used as the semantic confidence score C of the candidate speaker. i .

[0091] In another implementation, the weighted recognition confidence of all original audio segments associated with the candidate speaker can be calculated using the segment duration as the weight, and this recognition confidence can be used as the semantic confidence C of the candidate speaker. i .

[0092] The first weight value, the second weight value, and the third weight value are preset, for example, W1, W2, and W3 respectively.

[0093] Step S402: Calculate the speaking contribution of each candidate speaker based on the speaking duration percentage, the first weight value, the speech quality score, the second weight value, the semantic confidence level, and the third weight value.

[0094] In this embodiment, the contribution of each candidate speaker's speech is calculated as follows: Speech duration percentage × First weight value + Speech quality score × Second weight value + Semantic confidence score × Third weight value , That is, the contribution of each candidate speaker's speech = Rtime,i × W1 + Q i ×W2+C i ×W3, where i represents the i-th candidate speaker.

[0095] In this embodiment, the contribution of each candidate speaker is determined by data from multiple dimensions, which avoids the one-sidedness of evaluation from a single dimension and provides an accurate and reliable basis for subsequent selection of target speakers.

[0096] Step S206: Select candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers to obtain a target speaker set, wherein the target speaker set includes the identification information of at least one target speaker.

[0097] In this embodiment, the contribution threshold is used to distinguish between target speakers and invalid speakers. The contribution threshold can be determined dynamically or as a fixed threshold.

[0098] In an optional implementation, the contribution threshold is determined in the following manner: The mean and standard deviation of the speaking contributions are determined based on the speaking contributions of all candidate speakers; the contribution threshold is then determined based on the mean and standard deviation of the speaking contributions.

[0099] In this embodiment, after obtaining the speaking contribution of all candidate speakers, the mean speaking contribution μ and the standard deviation of speaking contribution σ can be calculated. After obtaining the mean speaking contribution μ and the standard deviation of speaking contribution σ, the contribution threshold θ1 can be determined by a threshold formula constructed based on the mean and standard deviation.

[0100] In one exemplary embodiment, the threshold formula is as follows: θ 1= μ-k×σ, where k is the sensitivity coefficient, the value of which can be set and adjusted according to the actual situation.

[0101] In this embodiment, the contribution threshold is determined dynamically, which eliminates the reliance on manually preset fixed thresholds and can automatically adapt to audio inputs of different complexities, thus exhibiting strong robustness.

[0102] In an optional implementation, the contribution threshold is also determined in the following way: All candidate speakers' speaking contributions are sorted in ascending or descending order, and the inflection point of the sorting curve is detected by an inflection point detection algorithm to determine the contribution threshold. The sorting curve is constructed based on the speaking contributions sorted in ascending or descending order.

[0103] In this embodiment, after detecting the inflection point of the sorting curve using the inflection point detection algorithm, the contribution degree corresponding to the inflection point can be used as the contribution degree threshold.

[0104] In this embodiment, the contribution threshold is determined dynamically, which eliminates the reliance on manually preset fixed thresholds and can automatically adapt to audio inputs of different complexities, thus exhibiting strong robustness.

[0105] In an optional implementation, see [link to relevant documentation]. Figure 5 Before the step of clustering and merging all initial speakers based on the initial speaker's identification information and voice feature data to generate a candidate speaker set, the method further includes: Step S500: Calculate the confidence level of the music attributes for each original audio slice.

[0106] The music attribute confidence score is used to quantify the degree to which the original audio slice belongs to the audio slice.

[0107] In an optional implementation, see [link to relevant documentation]. Figure 6 The calculation of the confidence level of the musical attributes for each original audio slice includes: Step S600: Extract the audio feature data of each original audio slice.

[0108] The audio feature data are acoustic features that can distinguish between music and speech.

[0109] The audio feature data may include spectral features, time-domain features, Mel-frequency cepstral coefficients (MFCC), and / or chromaticity features, etc.

[0110] Among them, spectral features may include spectral centroid, spectral roll-off, and / or spectral flux, which can capture the harmonic structure of music and the short-term characteristics of speech.

[0111] Temporal characteristics can include zero-crossing rate and / or energy entropy, etc. Music usually has a low zero-crossing rate and a relatively stable energy distribution.

[0112] Mel frequency cepstral coefficients (MFCCs) can be used for speech and music classification, as they effectively represent the spectral shape of audio.

[0113] Chromaticity features are particularly suitable for music detection, as they can represent pitch category information.

[0114] In this embodiment, one or more of the features described above can be extracted to form a multidimensional audio feature data for subsequent classification.

[0115] Step S602: Input the extracted audio feature data into the pre-trained binary classification model, and output the music attribute confidence of each original audio slice through the binary classification model.

[0116] Binary classification models can be support vector machines (SVM), random forests, or deep learning models (such as convolutional neural networks (CNN) or recurrent neural networks (RNN).

[0117] This binary classification model is obtained by training the original binary classification model on a labeled dataset (containing speech and music samples).

[0118] In this embodiment, the model takes audio feature data as input and outputs a music attribute confidence score (e.g., a value between 0 and 1), which represents the probability that the audio slice belongs to music. The higher the confidence score, the more likely it is to be a music slice.

[0119] In this embodiment, a pre-trained binary classification model can accurately output the confidence level of the musical attributes of each original audio slice.

[0120] Step S502: The original audio slices with a music attribute confidence level higher than the preset music threshold are used as music slices, and the original audio slices with a music attribute confidence level not higher than the music threshold are used as speech slices.

[0121] The preset music threshold can be set and adjusted according to the actual situation. For example, the preset music threshold is 0.8.

[0122] In this embodiment, after obtaining the confidence level of the music attribute, the confidence level of the music attribute can be compared with the music threshold. If the confidence level of the music attribute is higher than the music threshold, the original audio slice corresponding to the confidence level of the music attribute can be used as a music slice; if the confidence level of the music attribute is not higher than the music threshold, the original audio slice corresponding to the confidence level of the music attribute can be used as a speech slice.

[0123] In this embodiment, by marking the music attribute confidence level higher than the preset music threshold as a music slice, the music slice can be excluded from subsequent clustering and speech contribution calculation, thereby reducing the amount of subsequent calculation.

[0124] Correspondingly, clustering and merging all initial speakers based on the initial speaker's identification information and voice feature data to generate a candidate speaker set includes: clustering and merging multiple initial speakers based on the initial speaker's identification information and voice feature data contained in all voice slices to generate a candidate speaker set.

[0125] In this embodiment, multiple initial speakers are clustered and merged based on the initial speaker identification information and voice feature data contained in all speech slices, without considering music slices. This effectively filters out non-human voice interference such as background music and generates a more accurate set of candidate speakers.

[0126] In an optional implementation, see [link to relevant documentation]. Figure 7 The step of selecting candidate speakers from the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers, and obtaining the target speaker set, includes: Step S700: Detect the number of candidate speakers included in the candidate speaker set.

[0127] Step S702: If the number of candidate speakers is 1, then the candidate speaker is selected as the target speaker in the target speaker set.

[0128] Step S704: If the number of candidate speakers is greater than 1, select the candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers to obtain the target speaker set.

[0129] In some scenarios, there may only be one target speaker in the original audio. To ensure that the technical solution of this application is compatible with such special scenarios, after obtaining the candidate speaker set, the number of candidate speakers included in the candidate speaker set can be detected. If the number of candidate speakers is 1, that candidate speaker will be directly used as the target speaker in the target speaker set. If the number of candidate speakers is greater than 1, candidate speakers whose speaking contribution is lower than the determined contribution threshold can be deleted from the candidate speaker set based on a determined contribution threshold. Thus, only candidate speakers in the candidate speaker set whose speaking contribution is not lower than the preset contribution threshold are used as target speakers, resulting in the target speaker set.

[0130] In this embodiment, the above processing method not only ensures the rigor of the screening process, but also adapts to scenarios with different numbers and different contribution distributions of candidate speakers, and finally outputs an accurate and concise set of target speakers, providing a reliable foundation for the subsequent application of the speech recognition system.

[0131] In an optional implementation, see [link to relevant documentation]. Figure 8 The method further includes: Step S800: Obtain the text content from the original audio slice associated with each target speaker.

[0132] In this embodiment, the text content in the original audio slice can be obtained by converting the original audio slice to text.

[0133] Step S802: Verify the correctness of the speaker identification result for each target speaker based on all the acquired text content and the original audio slice associated with it.

[0134] In this embodiment, since the text content of the same speaker should have a certain consistency in terms of topic, language style or vocabulary usage, while the text content of different speakers generally has a certain difference, in this embodiment, after obtaining all the text content of the target speaker, the speaker identification result associated with each target speaker can be verified as correct based on whether the text content is consistent.

[0135] In an optional implementation, the step of verifying the correctness of the speaker identification result for each original audio segment associated with the target speaker based on all the acquired text content includes: extracting features from each text content associated with the same target speaker to obtain text feature data corresponding to each text content; calculating the similarity between each text feature data to obtain a similarity value between each text feature data; and determining that the speaker identification result of the original audio segment associated with the same target speaker is correct if the similarity value between each text feature data is greater than a preset threshold.

[0136] In this embodiment, after obtaining the text content, the text content can be preprocessed, including word segmentation, removal of stop words, and punctuation standardization, in order to facilitate subsequent text feature extraction.

[0137] After preprocessing the text content, text feature extraction can be performed on the preprocessed text content to obtain text feature data. Methods such as Bag-of-Words, TF-IDF, text embeddings, or language model probabilities can be used to extract text feature data.

[0138] After obtaining the text feature data corresponding to each text content of each target speaker, the similarity between each text feature data can be calculated, and then the identity recognition result of the target speaker can be verified based on the obtained similarity value.

[0139] In a specific example, if the similarity between the various text feature data of the same target speaker is low, it indicates that some original audio segments do not belong to the speech of the target speaker, and the speaker identification results for these original audio segments are misjudged, which may be that the speech segments of other speakers are identified as the speech of the target speaker; if the similarity between the various text feature data of the same target speaker is high and all are greater than the preset threshold, it indicates that the speaker identification results of the original audio segments associated with the target speaker are all correct.

[0140] The preset threshold can be set and modified according to the actual situation. For example, the preset threshold is 0.6.

[0141] In one implementation, when it is determined that the speaker identification result of the original audio slice associated with the target speaker is incorrect, a clustering algorithm (such as K-means) can be used to re-cluster the text features to segment the original target speaker into multiple new identities, thereby adjusting the identity information of the target speaker.

[0142] In this embodiment, cross-validation using this text content can reduce speaker misidentification and improve correction accuracy.

[0143] In another implementation, after obtaining all the text content associated with the target speaker, style features can be extracted for each text content. Then, the similarity between the extracted style features can be used to determine whether the target speaker's identity recognition result is correct.

[0144] Style features can be extracted using a style feature extraction model.

[0145] In an optional implementation, the method further includes: Based on the number of target speakers included in the target speaker set, different user interfaces are adaptively generated to display the associated information of the target speakers.

[0146] The associated information may include the target speaker's avatar, nickname, region and / or role tag, etc.

[0147] In this embodiment, different user interface modes can be used to display the target speakers depending on the number of target speakers. For example, a single-person template user interface can be used to display one target speaker. A multi-person template user interface can be used to display multiple target speakers.

[0148] As an example, for a single target speaker, a card-based user interface can be used to display the target speaker, which can show the target speaker's avatar, nickname, etc.

[0149] As an example, for a single target speaker, a list-style user interface can be used to display multiple target speakers, where only the speaker's nickname can be displayed.

[0150] In this embodiment, the most suitable application template is adaptively generated to display the target speakers based on the corrected number of target speakers, thereby improving the user experience.

[0151] In one implementation, after obtaining the target speaker set, the tagged music segments and the filtered segments that do not require speaker (pseudo-speaker) association can be uniformly classified as non-character-specific audio. This approach generates a clean, high-value target speaker set while also managing the extracted content systematically, rather than simply discarding it. This significantly improves the quality, clarity, and practicality of the entire speaker correction method's output, laying a solid foundation for subsequent applications based on this result.

[0152] Example 2 Figure 9 The diagram schematically illustrates a speaker identification device 900 according to Embodiment 2 of this application. This device can be divided into one or more program modules. One or more program modules are stored in a storage medium and executed by one or more processors to complete the embodiment of this application. The program module referred to in this embodiment is a series of computer program instruction segments capable of performing a specific function. The following description will specifically introduce the function of each program module in this embodiment. For example... Figure 9 As shown, the device 900 may include: an acquisition module 910, a clustering module 920, a confirmation module 930, and a deletion module 940, wherein: The acquisition module 910 is used to acquire the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker. Clustering module 920 is used to cluster and merge all the initial speakers based on the identification information and voice feature data of the initial speakers to generate a candidate speaker set, wherein the candidate speaker set includes the identification information of at least one candidate speaker; The confirmation module 930 is used to determine the contribution of each candidate speaker's speech, which is used to quantify the effective speech of each candidate speaker in the original audio. The deletion module 940 is used to select candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers, thereby obtaining a target speaker set, wherein the target speaker set includes the identification information of at least one target speaker.

[0153] In an optional embodiment, the clustering module 920 is further configured to: calculate the similarity value between the voice feature data of each initial speaker; and cluster and merge the identification information of initial speakers whose similarity values ​​are greater than a preset similarity threshold based on the calculated similarity values ​​to generate the candidate speaker set.

[0154] In an optional embodiment, the confirmation module 930 is further configured to: obtain the speaking duration percentage of each candidate speaker and the first weight value corresponding to the speaking duration percentage, the voice quality score of each candidate speaker and the second weight value corresponding to the voice quality score, the semantic confidence of each candidate speaker and the third weight value corresponding to the semantic confidence; and calculate the speaking contribution of each candidate speaker based on the speaking duration percentage, the first weight value, the voice quality score, the second weight value, the semantic confidence and the third weight value.

[0155] In an optional embodiment, the contribution threshold is determined in the following manner: The mean and standard deviation of the speaking contribution are determined based on the speaking contribution of all candidate speakers; the contribution threshold is determined based on the mean and standard deviation of the speaking contribution; or All candidate speakers' speaking contributions are sorted in ascending or descending order, and the inflection point of the sorting curve is detected by an inflection point detection algorithm to determine the contribution threshold. The sorting curve is constructed based on the speaking contributions sorted in ascending or descending order.

[0156] In an optional embodiment, the device 900 is further configured to: calculate the confidence level of the music attribute for each original audio slice; designate the original audio slice with the confidence level of the music attribute higher than a preset music threshold as a music slice, and designate the original audio slice with the confidence level of the music attribute not higher than the music threshold as a speech slice.

[0157] The clustering module 920 is also used to: cluster and merge multiple initial speakers based on the initial speaker identification information and speech feature data contained in all speech slices to generate a candidate speaker set.

[0158] In an optional embodiment, the device 900 is further configured to: extract audio feature data for each original audio slice; input the extracted audio feature data into a pre-trained binary classification model; and output the music attribute confidence score of each original audio slice through the binary classification model.

[0159] In an optional embodiment, the deletion module 940 is further configured to: detect the number of candidate speakers included in the candidate speaker set; if the number of candidate speakers is 1, designate the candidate speaker as the target speaker in the target speaker set; if the number of candidate speakers is greater than 1, designate the candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as the target speakers, thereby obtaining the target speaker set.

[0160] In an optional embodiment, the device 900 is further configured to: acquire the text content in the original audio slice associated with each target speaker; and verify whether the speaker identification result for each original audio slice associated with the target speaker is correct based on all the acquired text content.

[0161] In an optional embodiment, the device 900 is further configured to: extract features from each text content associated with the same target speaker to obtain text feature data corresponding to each text content; calculate the similarity between each text feature data to obtain a similarity value between each text feature data; and determine that the speaker identification result of the original audio slice associated with the same target speaker is correct if the similarity value between each text feature data is greater than a preset threshold.

[0162] In an optional embodiment, the device 900 is further configured to: adaptively generate different user interfaces to display the associated information of the target speakers based on the number of target speakers included in the target speaker set.

[0163] Example 3 Figure 10 This illustration schematically shows a hardware architecture diagram of a computer device 10000 suitable for implementing a speaker identification method according to Embodiment 3 of this application. In some embodiments, the computer device 10000 may be a terminal device such as a smartphone, wearable device, tablet computer, personal computer, in-vehicle terminal, game console, virtual device, workbench, digital assistant, set-top box, robot, etc. In other embodiments, the computer device 10000 may be a rack server, blade server, tower server, or cabinet server (including standalone servers or server clusters composed of multiple servers), etc. Figure 10 As shown, the computer device 10000 includes, but is not limited to: a memory 10010, a processor 10020, and a network interface 10030 that can communicate and be linked with each other via a system bus. Wherein: The memory 10010 includes at least one type of computer-readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 10010 may be an internal storage module of a computer device 10000, such as the hard disk or memory of the computer device 10000. In other embodiments, the memory 10010 may also be an external storage device of the computer device 10000, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device 10000. Of course, the memory 10010 may also include both the internal storage module and the external storage device of the computer device 10000. In this embodiment, the memory 10010 is typically used to store the operating system and various application software installed on the computer device 10000, such as the program code for the speaker recognition method. In addition, the memory 10010 can also be used to temporarily store various types of data that have been output or will be output.

[0164] In some embodiments, processor 10020 may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other chip. Processor 10020 is typically used to control the overall operation of computer device 10000, such as performing control and processing related to data interaction or communication with computer device 10000. In this embodiment, processor 10020 is used to run program code stored in memory 10010 or process data.

[0165] Network interface 10030 may include a wireless network interface or a wired network interface, which is typically used to establish a communication link between computer device 10000 and other computer devices. For example, network interface 10030 is used to connect computer device 10000 to an external terminal via a network, establishing a data transmission channel and communication link between computer device 10000 and the external terminal. The network may be an intranet, the Internet, Global System for Mobile Communication (GSM), Wideband Code Division Multiple Access (WCDMA), 4G network, 5G network, Bluetooth, Wi-Fi, or other wireless or wired networks.

[0166] It should be pointed out that, Figure 10 Only computer devices with components 10010-10030 are shown; however, it should be understood that it is not required to implement all of the shown components, and more or fewer components may be implemented instead.

[0167] In this embodiment, the speaker identification method stored in memory 10010 can also be divided into one or more program modules and executed by one or more processors (such as processor 10020) to complete the embodiment of this application.

[0168] Example 4 This application also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of the speaker identification method in the embodiments.

[0169] In this embodiment, the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the computer-readable storage medium can be an internal storage unit of a computer device, such as the hard disk or memory of the computer device. In other embodiments, the computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device. Of course, the computer-readable storage medium can also include both the internal storage unit and the external storage device of the computer device. In this embodiment, the computer-readable storage medium is typically used to store the operating system and various application software installed on the computer device, such as the program code of the speaker identification method in this embodiment. In addition, the computer-readable storage medium can also be used to temporarily store various types of data that have been output or will be output.

[0170] Example 5 This application also provides a computer program product, including a computer program that, when executed by a processor, implements the methods described in the above embodiments.

[0171] Obviously, those skilled in the art should understand that the modules or steps of the embodiments of this application described above can be implemented using general-purpose computer devices. They can be centralized on a single computer device or distributed across a network of multiple computer devices. Optionally, they can be implemented using computer-executable program code, thereby storing them in a storage device for execution by a computer device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the embodiments of this application are not limited to any particular combination of hardware and software.

[0172] It should be noted that the above are merely preferred embodiments of this application and do not limit the scope of patent protection of this application. Any equivalent structural or procedural changes made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of this application.

Claims

1. A speaker identification method, characterized in that, The method includes: Obtain the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker. The speech feature data is used to distinguish different speakers. Based on the initial speaker's identification information and voice feature data, all initial speakers are clustered and merged to generate a candidate speaker set, which includes the identification information of at least one candidate speaker. The contribution of each candidate speaker's speech is determined, and the contribution of speech is used to quantify the extent of each candidate speaker's effective speech in the original audio. The candidate speakers whose speaking contribution is not lower than a preset contribution threshold are selected as target speakers to obtain a target speaker set, which includes the identification information of at least one target speaker.

2. The method according to claim 1, characterized in that, The step of clustering and merging all initial speakers based on their identification information and voice feature data to generate a candidate speaker set includes: Calculate the similarity value between the speech feature data of each initial speaker; Based on the calculated similarity values, the identification information of the initial speakers whose similarity values ​​are greater than a preset similarity threshold is clustered and merged to generate the candidate speaker set.

3. The method according to claim 1, characterized in that, Determining the contribution of each candidate speaker includes: The speaker's speaking time percentage and the first weight value corresponding to the speaking time percentage are obtained for each candidate speaker, the speaker's voice quality score and the second weight value corresponding to the voice quality score are obtained for each candidate speaker, and the semantic confidence score and the third weight value corresponding to the semantic confidence score are obtained for each candidate speaker. The speaking contribution of each candidate speaker is calculated based on the speaking duration percentage, the first weight value, the speech quality score, the second weight value, the semantic confidence level, and the third weight value.

4. The method according to claim 1, characterized in that, The contribution threshold is determined in the following way: The mean and standard deviation of the speaking contribution are determined based on the speaking contribution of all candidate speakers; the contribution threshold is determined based on the mean and standard deviation of the speaking contribution; or All candidate speakers' speaking contributions are sorted in ascending or descending order, and the inflection point of the sorting curve is detected by an inflection point detection algorithm to determine the contribution threshold. The sorting curve is constructed based on the speaking contributions sorted in ascending or descending order.

5. The method according to claim 1, characterized in that, Before the step of clustering and merging all initial speakers based on the initial speaker's identification information and voice feature data to generate a candidate speaker set, the method further includes: Calculate the confidence score of the music attributes for each original audio slice. The confidence score of the music attributes is used to quantify the degree to which the original audio slice belongs to the audio slice. Original audio slices with a music attribute confidence level higher than a preset music threshold are designated as music slices, while original audio slices with a music attribute confidence level lower than the music threshold are designated as speech slices. Based on the initial speaker's identification information and voice feature data, all initial speakers are clustered and merged to generate a candidate speaker set, including: Based on the initial speaker identification information and speech feature data contained in all speech slices, multiple initial speakers are clustered and merged to generate a candidate speaker set.

6. The method according to claim 5, characterized in that, The calculation of the music attribute confidence score for each original audio slice includes: Extract the audio feature data for each original audio slice separately; The extracted audio feature data are input into a pre-trained binary classification model, and the model outputs the confidence score of the music attributes of each original audio slice.

7. The method according to claim 1, characterized in that, The step of selecting candidate speakers from the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers, and obtaining the target speaker set, includes: Detect the number of candidate speakers contained in the candidate speaker set; If the number of candidate speakers is 1, then the candidate speaker is taken as the target speaker in the target speaker set. If the number of candidate speakers is greater than 1, the candidate speakers whose speaking contribution is not lower than a preset contribution threshold are selected as target speakers to obtain the target speaker set.

8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: Obtain the text content from the original audio slice associated with each target speaker; Verify the accuracy of the speaker identification results for each target speaker by checking all the acquired text content and the original audio slices associated with them.

9. The method according to claim 8, characterized in that, The step of verifying the correctness of the speaker identification result for each target speaker associated with the original audio slice based on all the acquired text content includes: Feature extraction is performed on each text content associated with the same target speaker to obtain text feature data corresponding to each text content; Calculate the similarity between each text feature data to obtain the similarity value between each text feature data; If the similarity value between various text feature data is greater than a preset threshold, the speaker identification result of the original audio slice associated with the same target speaker is correct.

10. The method according to any one of claims 1 to 7, characterized in that, The method further includes: Based on the number of target speakers included in the target speaker set, different user interfaces are adaptively generated to display the associated information of the target speakers.

11. A speaker identification device, characterized in that, The device includes: The acquisition module is used to acquire the original audio slice sequence generated by the speech recognition system. Each original audio slice in the original audio slice sequence contains the identification information of the initial speaker and the speech feature data of the initial speaker. The speech feature data is used to distinguish different speakers. The clustering module is used to cluster and merge all the initial speakers based on the initial speaker's identification information and voice feature data to generate a candidate speaker set, wherein the candidate speaker set includes the identification information of at least one candidate speaker; The confirmation module is used to determine the contribution of each candidate speaker's speech, which is used to quantify the effective speech of each candidate speaker in the original audio. The deletion module is used to select candidate speakers in the candidate speaker set whose speaking contribution is not lower than a preset contribution threshold as target speakers, thereby obtaining a target speaker set, wherein the target speaker set includes the identification information of at least one target speaker.

12. A computer device, characterized in that, include: At least one processor; and A memory communicatively connected to the at least one processor; wherein: The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the method as described in any one of claims 1 to 10.

14. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 10.