Call risk identification method, device and equipment and storage medium
Patent Information
- Application Number
- CN202210844992.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-18
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-07-18
AI Technical Summary
由于风险声纹库中存储的风险声纹特征太多,逐个对比,耗时耗力,从而导致识别通话风险的效率较低
[0046]本申请实施例提供了一种通话风险的识别方法,该方法在通话的来电端的号码为具有风险可能性的号码的情况下,采集来电端的语音数据以进行文本识别,进而基于文本信息中的风险词确定目标风险类型,就能够从风险声纹库中获取该目标风险类型对应的代表声纹特征来进行声纹比对;而由于代表声纹特征基于该目标风险类型的多个风险声纹特征确定,使得该代表声纹特征能够代表该多个风险声纹特征的整体声纹特征,这样仅需确定该代表声纹特征与语音数据的声纹特征之间的相似度,即实现了将该语音数据的声纹特征与该目标风险类型的风险声纹特征的比对,进而提高了将该语音数据的声纹特征与风险声纹库中的声纹特征进行比对的效率,且由于比对的结果即相似度用于确定该通话是否为存在风险的通话,从而就提高了通话风险的识别效率。
Smart Images

Figure CN116994588B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device, and storage medium for identifying call risks. Background Technology
[0002] With the rapid development of communication technology, telephones have become a necessity in people's lives. However, while telephones bring convenience, they also pose risks. For example, some people use telephones to defraud people of money, resulting in financial losses. Therefore, identifying the risks associated with telephone calls is crucial.
[0003] In related technologies, the voiceprint characteristics of the caller are compared one by one with the risky voiceprint characteristics in a risky voiceprint database to identify whether the call is risky. However, since the risky voiceprint database stores too many risky voiceprint characteristics, comparing them one by one is time-consuming and labor-intensive, resulting in low efficiency in identifying call risks. Summary of the Invention
[0004] This application provides a method, apparatus, device, and storage medium for identifying call risks, which can improve the efficiency of call risk identification. The technical solution is as follows:
[0005] On the one hand, a method for identifying call risks is provided, the method comprising:
[0006] If the incoming caller's number in the target call is the target number, collect the voice data of the incoming caller during the call, where the target number is a number with a potential risk.
[0007] The speech data is subjected to text recognition to obtain the target text information;
[0008] If the target text information includes risk words, the target risk type is determined based on the risk words;
[0009] The target representative voiceprint feature corresponding to the target risk type is obtained from the risk voiceprint library. The target representative voiceprint feature is determined based on multiple risk voiceprint features corresponding to the target risk type. The risk voiceprint library is used to store the voiceprint features of the risk object.
[0010] If the similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is not less than a preset similarity, the target call is determined to be a risky call.
[0011] On the other hand, a device for identifying call risks is provided, the device comprising:
[0012] The data acquisition module is used to acquire voice data of the incoming caller during a call when the incoming caller's number is a target number, wherein the target number is a number with a potential risk.
[0013] The recognition module is used to perform text recognition on the voice data to obtain target text information;
[0014] The first determining module is used to determine the target risk type based on the risk words when the target text information includes risk words;
[0015] The acquisition module is used to acquire the target representative voiceprint feature corresponding to the target risk type from the risk voiceprint library. The target representative voiceprint feature is determined based on multiple risk voiceprint features corresponding to the target risk type. The risk voiceprint library is used to store the voiceprint features of the risk object.
[0016] The second determining module is used to determine that the target call is a risky call if the similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is not less than a preset similarity.
[0017] In some embodiments, the target represents multiple voiceprint features, and the device further includes a third determining module for:
[0018] Obtain a risk voiceprint set, which includes risk voiceprint features for multiple risk types;
[0019] For each risk type, multiple risk voiceprint features are clustered to obtain multiple risk voiceprint groups. The similarity between the multiple risk voiceprint features included in each risk voiceprint group is within a preset range.
[0020] Determine the representative voiceprint features of each of the multiple risk voiceprint groups;
[0021] The representative voiceprint features of each of the multiple risk voiceprint groups are used as multiple representative voiceprint features corresponding to the risk type.
[0022] The risk voiceprint library is composed of multiple representative voiceprint features corresponding to the multiple risk types.
[0023] In some embodiments, the third determining module is configured to:
[0024] For each risk voiceprint feature in the risk voiceprint group, determine the similarity between the risk voiceprint feature and other risk voiceprint features in the risk voiceprint group;
[0025] Based on the similarity between the risk voiceprint features and the other risk voiceprint features, the similarity variance corresponding to the risk voiceprint features is determined;
[0026] The risk voiceprint feature with the smallest similarity variance in the risk voiceprint group is taken as the representative voiceprint feature of the risk voiceprint group.
[0027] In some embodiments, "target number" means:
[0028] The location of the number is not in the target area;
[0029] The number is located in the target area, and the number is not on the contact list of the recipient of the target call, and the number is not in the target list, and the number meets the target conditions, the target conditions including at least one of the following: the number segment is a new number segment, the number has a call during the target time period, and the number is marked as a new number.
[0030] The number is located in the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, and the number is marked with a risk label;
[0031] The number is located in the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, the number is not marked with the risk mark, and the number segment is a risk segment.
[0032] In some embodiments, the target list includes a business directory list, a call list, a contact list, and an appeal / whitewashing list; the number in the target list refers to:
[0033] The number is on the list of business directories, which is used to store numbers that are not at risk.
[0034] The number is on the call list, which is used to store numbers that are making calls within a target time period;
[0035] The number is on the contact list, which is used to store numbers with fixed contact numbers;
[0036] The number is on the appeal whitewashing list, which is used to store numbers that have been whitewashed.
[0037] In some embodiments, the apparatus further includes a fourth determining module, configured to:
[0038] Obtain the first quantity of the first number and the second quantity of the second number in the target number set, where the first number is the number that has been in a call during the target time period, and the second number is the number among the first number that is at risk, and all numbers in the target number set have the number range;
[0039] The ratio between the second quantity and the first quantity is taken as the risk rate corresponding to the number segment;
[0040] If the risk rate is greater than the preset risk rate, the number segment is determined to be a risky number segment.
[0041] In some embodiments, the recognition module is configured to perform text recognition on the voice data, and repair the text information based on the recognized text information and the context of the text information to obtain the target text information.
[0042] In some embodiments, the call risk identification device performs steps based on a collection module, a text module, a voiceprint module, and a voiceprint library module. The collection module collects voice data from the incoming caller during the call when the incoming caller's number is a target number. The text module identifies text information in the voice data, determines risk words in the text information, and determines a target risk type based on the risk words. The voiceprint module obtains a target representative voiceprint feature corresponding to the target risk type from a risk voiceprint library, and determines the target call as a risky call if the similarity between the voiceprint feature of the voice data and the target representative voiceprint feature is not less than a preset similarity. The voiceprint library module determines a target representative voiceprint feature corresponding to the target risk type based on multiple risk voiceprint features corresponding to the target risk type.
[0043] On the other hand, a computer device is provided, the computer device including a processor and a memory, the memory being used to store at least one computer program, the at least one computer program being loaded and executed by the processor to implement the call risk identification method in the embodiments of this application.
[0044] On the other hand, a computer-readable storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, the at least one computer program being loaded and executed by a processor to implement the call risk identification method as described in the embodiments of this application.
[0045] On the other hand, a computer program product is provided, the computer program product including computer program code stored in a computer-readable storage medium, a processor of a computer device reading the computer program code from the computer-readable storage medium, the processor executing the computer program code, causing the computer device to perform the call risk identification method described in any of the above implementations.
[0046] This application provides a method for identifying call risks. When the caller's number is considered potentially risky, the method collects voice data from the caller for text recognition. Based on risk words in the text, it determines the target risk type and retrieves representative voiceprint features corresponding to that target risk type from a risk voiceprint database for voiceprint comparison. Since the representative voiceprint features are determined based on multiple risk voiceprint features of the target risk type, they represent the overall voiceprint features of those multiple risk voiceprint features. Therefore, it is only necessary to determine the similarity between the representative voiceprint features and the voiceprint features of the voice data to achieve the comparison between the voiceprint features of the voice data and the risk voiceprint features of the target risk type. This improves the efficiency of comparing the voiceprint features of the voice data with the voiceprint features in the risk voiceprint database. Furthermore, since the comparison result, i.e., the similarity, is used to determine whether the call is risky, the efficiency of call risk identification is improved. Attached Figure Description
[0047] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application;
[0049] Figure 2 This is a flowchart of a call risk identification method provided in an embodiment of this application;
[0050] Figure 3 This is a flowchart illustrating a method for determining a risk voiceprint database provided in an embodiment of this application;
[0051] Figure 4 This is a flowchart of another method for identifying call risks provided in an embodiment of this application;
[0052] Figure 5 This is a flowchart of a method for determining a target number provided in an embodiment of this application;
[0053] Figure 6 This is a flowchart of a method for determining a target risk type provided in an embodiment of this application;
[0054] Figure 7 This is a flowchart of a voiceprint feature comparison method provided in an embodiment of this application;
[0055] Figure 8 This is a schematic diagram of an interface for alerting users to call risks, provided in an embodiment of this application.
[0056] Figure 9 This is a block diagram of a call risk identification device provided in an embodiment of this application;
[0057] Figure 10 This is a block diagram of a terminal provided in an embodiment of this application;
[0058] Figure 11 This is a block diagram of a server provided in an embodiment of this application. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0060] The terms "first," "second," "third," and "fourth," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0061] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the voice data involved in this application was obtained with full authorization.
[0062] The following is an explanation of the terms used in this application.
[0063] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0064] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0065] Natural Language Processing (NLP) is an important field within computer science and artificial intelligence. It studies the theories and methods for enabling effective communication between humans and computers using natural language. NLP is a science that integrates linguistics, computer science, and mathematics. Therefore, research in this field involves natural language—the language people use in daily life—and thus it has a close relationship with linguistic research. NLP techniques typically include text processing, semantic understanding, machine translation, question answering, and knowledge graphs.
[0066] Key technologies in speech technology include Automatic Speech Recognition (ASR), Text-to-Speech (TTS), and Voiceprint Recognition. Enabling computers to hear, see, speak, and feel is the future direction of human-computer interaction, with speech emerging as one of the most promising methods.
[0067] The following describes the implementation environment involved in this application:
[0068] The call risk identification method provided in this application can be executed by a computer device. In some embodiments, the computer device is a terminal or a server. See also Figure 1 , Figure 1This is a schematic diagram illustrating an implementation environment for a call risk identification method provided in this application. The implementation environment includes a terminal 101 and a server 102. The terminal 101 and the server 102 can be directly or indirectly connected via wired or wireless communication, which is not limited herein.
[0069] In some embodiments, terminal 101 may be a smartphone, computer, smart voice interaction device, smart home appliance, vehicle terminal, aircraft, etc., but is not limited thereto. In some embodiments, server 102 may be an independent server, a server cluster of multiple physical servers, or a distributed system. It may also be a cloud server providing basic cloud computing services such as cloud services, cloud security, communication security, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Server 102 is used to provide background services for the target application installed on terminal 101. In some embodiments, server 102 undertakes the main computing work, and terminal 101 undertakes the secondary computing work; or, server 102 undertakes the secondary computing service, and terminal 101 undertakes the main computing work; or, server 102 and terminal 101 collaborate on computing using a distributed computing architecture.
[0070] In some embodiments, terminal 101 includes a caller 1011 and a receiver 1012, and server 102 is used to determine whether a call is a risky call when the caller and receiver are having a conversation.
[0071] Figure 2 This is a flowchart of a call risk identification method according to an embodiment of this application. The method is executed by a server and includes the following steps:
[0072] 201. When the number of the caller in the target call is the target number, the server collects the voice data of the caller during the call. The target number is a number with a high risk profile.
[0073] In this embodiment of the application, the voice data is the voice data of the caller during a call, and the voice data is a voice signal. The risks include at least one of the following: risks of fraudulent transactions, money transfers, and pyramid schemes that could cause financial loss to the caller; risks of personal harassment to the caller; and risks of malicious personal attacks against the caller.
[0074] In this embodiment, if the caller's number is not the target number, the server does not collect the caller's voice data during the call, but directly determines that the target call is a risk-free call. This way, voice data is only collected for call risk identification when the number is potentially risky, avoiding the waste of resources caused by collecting voice data for every call. Furthermore, if the caller's number is on a blacklist or a call blocking list, the server directly does not collect the caller's voice data during the call. Numbers on both the blacklist and call blocking lists are rejected.
[0075] In this embodiment of the application, the server needs to obtain authorization before collecting voice data.
[0076] In one implementation, before the caller and receiver begin their conversation, the server sends data acquisition requests to both the caller and receiver, respectively. These requests request the acquisition of voice data from the caller and receiver during the call. In response to the caller's confirmation of the data acquisition request, the server can collect the caller's voice data during the call; similarly, in response to the receiver's confirmation of the data acquisition request, the server can collect the receiver's voice data during the call.
[0077] The confirmation operation based on the data acquisition request refers to the following: the receiving end or the calling end responds to the data acquisition request and displays an authorization interface. The authorization interface displays a confirmation control and a denial control that allow the collection of voice data. The operation triggered by the confirmation control is the confirmation operation based on the data acquisition request.
[0078] In another implementation, the server sends a data acquisition request to the receiving end during the call but before collecting voice data. This data acquisition request requests the collection of voice data during the call. Only in response to the receiving end's confirmation operation based on the data acquisition request does the step of collecting the incoming caller's voice data during the call proceed. The process of collecting the incoming caller's voice data during the call can be as follows: the server collects the incoming caller's voice data during the call from the receiving end to obtain the incoming caller's voice data during the call.
[0079] 202. The server performs text recognition on the voice data to obtain the target text information.
[0080] In this embodiment of the application, text recognition is performed on the voice data, which facilitates the determination of risk words based on the recognized target text information.
[0081] 203. When the target text information includes risk words, the server determines the target risk type based on the risk words.
[0082] In this embodiment of the application, the risk type can reflect what kind of risk may be brought to the caller at the receiving end, and the risk words in the target text information can reflect the risk type. Each risk type corresponds to at least one risk word. The server determines the risk type corresponding to the risk word in the target text information, that is, determines the target risk type.
[0083] 204. The server retrieves the target representative voiceprint features corresponding to the target risk type from the risk voiceprint library. The target representative voiceprint features are determined based on multiple risk voiceprint features corresponding to the target risk type. The risk voiceprint library is used to store the voiceprint features of risk objects.
[0084] In this embodiment of the application, the risk voiceprint library stores representative voiceprint features of multiple risk types. The representative voiceprint features are determined based on multiple risk voiceprint features of the same risk type, so that the representative voiceprint feature can represent the overall voiceprint feature of multiple risk voiceprint features of the same risk type.
[0085] 205. If the similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is not less than a preset similarity, the server determines that the target call is a risky call.
[0086] In this embodiment of the application, if the similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is less than a preset similarity, the server determines that the target call is a call without risk.
[0087] This application provides a method for identifying call risks. When the caller's number is considered potentially risky, the method collects voice data from the caller for text recognition. Based on risk words in the text, it determines the target risk type and retrieves representative voiceprint features corresponding to that target risk type from a risk voiceprint database for voiceprint comparison. Since the representative voiceprint feature is determined based on multiple risk voiceprint features of the target risk type, it represents the overall voiceprint feature of those multiple risk voiceprint features. Therefore, it is only necessary to determine the similarity between the representative voiceprint feature and the voiceprint features of the voice data to achieve the comparison of the voiceprint features of the voice data with the risk voiceprint features of the target risk type. This improves the efficiency of comparing the voiceprint features of the voice data with the voiceprint features in the risk voiceprint database. Furthermore, since the comparison result, i.e., the similarity, is used to determine whether the call is risky, the method improves the efficiency of call risk identification and protects the user's communication security.
[0088] Figure 3This is a flowchart illustrating a method for determining a risk voiceprint database according to an embodiment of this application. The method is described using server execution as an example and includes the following steps:
[0089] 301. The server obtains a risk voiceprint set, which includes risk voiceprint features for multiple risk types.
[0090] Optionally, the set of voiceprints indicating potential hazards is denoted as G, where G = {g 1, g2…g N}, where g i ={f 1, f2…f M}, i∈[1,N], N represents the number of multiple hazard types, M represents the number of hazard voiceprint features in a hazard type, g i f represents a set of hazard types 1, f2…f M Each of these represents a potential hidden danger voiceprint feature in the set, where i, N, and M are all integers greater than 0.
[0091] Optionally, the risk voiceprint feature is an MFCC (Mel-Frequency Spectrum) feature, and the voice data is in the form of a voice signal. Then, the process of determining the risk voiceprint feature of the voice data after the server obtains the voice data of any risk object includes the following steps.
[0092] Step 1: The server pre-emphasizes the first speech signal, which is the speech data. Specifically, the server inputs the first speech signal into a high-pass filter and outputs a pre-emphasized second speech signal to enhance the high-frequency components of the first speech signal. This ensures that the first speech signal can generate its corresponding spectrum with the same signal-to-noise ratio across the entire frequency band from low to high frequencies.
[0093] Step 2: The server performs frame segmentation on the second speech signal. Both the first and second speech signals have time-domain waveforms, meaning the first speech signal is acquired at a time-domain scale. Accordingly, the framing process involves the server segmenting the second speech signal based on a fixed time length. Each segmented sample is a frame of the time-domain waveform, and each segmented frame is used to extract MFCC features.
[0094] Step 3: The server applies windowing to each frame of signal to increase the continuity of the signal at the left and right ends of each frame and reduce spectral leakage. Optionally, the server applies windowing to each frame of signal based on Hamming windows.
[0095] Step 4: The server performs a Fourier transform on each frame of the signal. Since the characteristics of a speech signal are difficult to discern from its time-domain transformation, it needs to be converted into a spectrum to determine its characteristics based on the energy distribution within the spectrum. Different energy distributions represent different characteristics of the speech signal. Specifically, the server performs a Discrete Fourier Transform on each windowed frame of the signal, achieving a Fast Fourier Transform (FFT) for each frame to obtain its spectrum. The power spectrum of each frame is then obtained by taking the square of the modulus of its spectrum, and the energy distribution of each frame is derived from this power spectrum.
[0096] Step 5: The server extracts the Mel spectrum for each frame of the signal based on its power spectrum. Specifically, the server maps the linear power spectrum to a nonlinear Mel spectrum, then transforms it to a cepstral spectrum to obtain the Mel spectrum. The Mel nonlinear spectrum is determined based on human auditory perception; in the Mel domain, human perception of pitch is linear.
[0097] Step 6: The server performs a Discrete Cosine Transform (DCT) on the Mel spectrum of each frame of the signal, which is essentially an inverse Fourier transform, to obtain the MFCC cepstral coefficients for each frame. Specifically, for each frame, the server performs a DCT on the Mel spectrum to obtain 26 cepstral coefficients. The 2nd to 13th cepstral coefficients, along with the first cepstral coefficient obtained from the logarithmic energy of the frame, are used to form the 13 MFCC cepstral coefficients for that frame.
[0098] Step 7: The server obtains the MFCC features of each frame of signal based on the 13 MFCC cepstral coefficients. The 13 MFCC cepstral coefficients of each frame only represent the static features of MFCCs. Combining the dynamic and static features of MFCCs to obtain the MFCC features of a frame effectively improves the recognition performance of voiceprint identification. Accordingly, the process of obtaining the MFCC features of each frame based on the MFCC cepstral coefficients includes: the server using the 13 MFCC cepstral coefficients as static features, obtaining the dynamic features of MFCCs based on these static features, and then merging the first and second difference values of the static and dynamic features to obtain the MFCC features of that frame. Wherein, when the static feature is a 13-dimensional feature vector, the MFCC feature is a 39-dimensional feature vector. Accordingly, the server merges the MFCC features of multiple frames to obtain the risk voiceprint features corresponding to the speech data.
[0099] 302. For each risk type, the server clusters multiple risk voiceprint features to obtain multiple risk voiceprint groups. The similarity between the multiple risk voiceprint features included in each risk voiceprint group is within a preset range.
[0100] In one implementation, the server uses the DBSCAN (Density-Based Spatial Clustering of Applications with Noise, a representative density-based clustering algorithm) algorithm to cluster multiple hazard voiceprint features. Optionally, the multiple hazard voiceprint features are stored as a sample set, denoted as D = {x}. 1, x2…x k}, where K represents the number of voiceprint features indicating potential hazards, and K is a positive integer. i This represents a single hazard voiceprint feature. Accordingly, the process of clustering multiple hazard voiceprint features to obtain multiple hazard voiceprint groups by the aforementioned server includes the following steps:
[0101] Step 1: The server initializes the core object set Ω, making it an empty set, i.e., Ω = Φ, where Φ represents an empty set, and initializes the hidden danger voiceprint groups, making the number of multiple hidden danger voiceprint groups n = 0.
[0102] Step 2: The server iterates through each hidden danger voiceprint feature in the sample set. Each hidden danger voiceprint feature is a cluster object. If the hidden danger voiceprint feature is a core object, it is added to the core object set. The core object refers to the hidden danger voiceprint feature in the neighborhood that is greater than or equal to MinPts (minimum number of inclusions). The neighborhood refers to the area with the hidden danger voiceprint feature as the center and a radius of E. MinPts and E are set as needed.
[0103] Step 3: If the server has processed all the risk voiceprint features in the core object set, then the process ends and multiple risk voiceprint groups are obtained; otherwise, proceed to the following step 4.
[0104] Fourth step: If there are unprocessed risky voiceprint features in the core object set, the server randomly selects an unprocessed core object o, marks it as processed, denoted as category n, and then stores the unaccessed risky voiceprint features in its domain into the seed set seeds, and executes the fifth step.
[0105] Step 5: If the seed set `seeds = Φ`, the clustering process ends, and multiple risk voiceprint groups `Cn` are generated. Proceed to Step 3; where `n` is an integer greater than 0. Otherwise, randomly select a risk voiceprint feature from the seed set, mark it as visited, and assign it the category `n`. Then determine if it is a core object. If so, add unvisited risk voiceprint features in the neighborhood of this feature to the seed set, and then proceed to Step 5. Repeat this process until the seed set is empty, resulting in multiple risk voiceprint groups.
[0106] In this embodiment of the application, the clustering of multiple risk voiceprint features in any risk type is achieved through the first to fifth steps described above. That is, for each risk type, multiple risk voiceprint groups corresponding to that risk type are obtained, which facilitates batch processing of multiple risk voiceprint features in that risk type. In other words, by determining the representative voiceprint features of multiple risk voiceprint features in each risk voiceprint group, the number of risk voiceprint features in the risk voiceprint library is reduced.
[0107] 303. The server determines the representative voiceprint features of each of the multiple risk voiceprint groups.
[0108] It should be noted that since multiple risk voiceprint features in any risk voiceprint group are obtained based on clustering, these multiple risk voiceprint features obviously have some commonalities. Therefore, representative voiceprint features among these multiple risk voiceprint features can be selected to represent the overall voiceprint features of these multiple risk voiceprint features.
[0109] In some embodiments, the process by which the server determines the representative voiceprint feature of a risk voiceprint group includes the following steps: for each risk voiceprint feature in the risk voiceprint group, the server determines the similarity between the risk voiceprint feature and other risk voiceprint features in the risk voiceprint group; based on the similarity between the risk voiceprint feature and other risk voiceprint features, the server determines the similarity variance corresponding to the risk voiceprint feature; the server selects the risk voiceprint feature with the smallest similarity variance in the risk voiceprint group as the representative voiceprint feature of the risk voiceprint group.
[0110] Optionally, the similarity between two hazard voiceprint features is the cosine similarity, and the similarity between any hazard voiceprint feature and other hazard voiceprint features in the hazard voiceprint group is denoted as s. i ={s i,1 s i,2 …s i,M Let M be the number of other hazard voiceprint features in this hazard voiceprint group, where i and M are both integers greater than 0, and i is less than or equal to M. The variance of the similarity corresponding to each hazard voiceprint feature is denoted as . Then any hidden danger voiceprint group D iThe similarity variance of the voiceprint features corresponding to multiple hidden dangers is denoted as D. i ={d1, d2…d M}, among which the voiceprint feature with the smallest similarity variance is d. i This refers to the representative voiceprint features corresponding to the voiceprint group of the potential hazard.
[0111] In this embodiment, the similarity between each risk voiceprint feature and other risk voiceprint features is determined, and the similarity variance corresponding to each risk voiceprint feature is determined based on the similarity. The risk voiceprint feature with the smallest similarity variance is taken as the representative voiceprint feature of the risk voiceprint group. Since the average difference between the risk voiceprint feature with the smallest similarity variance and other risk voiceprint features is the smallest, the risk voiceprint feature with the smallest similarity variance can effectively represent other risk voiceprint features, thereby improving the accuracy of determining the representative voiceprint feature.
[0112] 304. The server uses the representative voiceprint features of each of the multiple risk voiceprint groups as the multiple representative voiceprint features corresponding to the risk type.
[0113] Among them, multiple risk voiceprint features of a risk type can be clustered into multiple risk voiceprint groups, and each of the multiple risk voiceprint groups has a representative voiceprint feature. Thus, a risk type can correspond to multiple representative voiceprint features.
[0114] 305. The server forms a risk voiceprint database based on multiple representative voiceprint features corresponding to multiple risk types.
[0115] In this embodiment, the risk voiceprint database is determined through steps 301-305. This is achieved by clustering multiple risk voiceprint features in each risk voiceprint type to obtain multiple risk voiceprint groups, and determining the representative voiceprint features of each risk voiceprint group. The risk voiceprint database is then formed based on these representative voiceprint features, reducing the number of risk voiceprint features in the database. Thus, when performing voiceprint feature comparison, it is only necessary to compare with the representative voiceprint features of the risk type in the risk voiceprint database, avoiding the process of comparing with every single risk voiceprint feature of the risk type, thereby improving the efficiency of voiceprint feature comparison.
[0116] Since risky voiceprint features are constantly being generated, in some embodiments, the risky voiceprint database is updated periodically to ensure its real-time performance and accuracy. The update process includes the following steps: whenever an update cycle is reached, the server adds the risky voiceprint features generated in that update cycle to the risky voiceprint set to obtain the updated risky voiceprint set; then, based on the updated risky voiceprint set, steps 302-305 are executed to update the risky voiceprint database.
[0117] In one implementation, the server implements steps 301-305 above through a voiceprint library module. The voiceprint library module is used to determine the target representative voiceprint feature corresponding to the target risk type based on multiple risk voiceprint features corresponding to the target risk type.
[0118] In this embodiment of the application, the risk voiceprint library is updated based on the batch risk voiceprint features within an update cycle, which improves the update efficiency. Moreover, the risk voiceprint library is only used to store representative voiceprint features, thus avoiding the rapid expansion of the risk voiceprint library caused by adding a new risk voiceprint feature as soon as it is generated.
[0119] Figure 4 This is a flowchart of a call risk identification method provided according to an embodiment of this application. The method includes the following steps:
[0120] 401. The server determines whether the caller's number in the target call is the target number, and the target number is a number with a potential risk.
[0121] In this embodiment of the application, the terminal can send the caller's number to the server, or the server can directly obtain the caller's number from the terminal.
[0122] In this application embodiment, the number as target number refers to the following:
[0123] (1) The location of the number is not the target area.
[0124] In one implementation, the server determines the location of a number based on its encoding rules. For example, if the first two digits of a number are 00, which indicates a non-target region, then the number is determined to be located in a non-target region. In another implementation, the server can also determine the location of a number based on the location directly indicated on the number.
[0125] (2) The number is located in the target area, and the number is not on the contact list of the recipient of the target call, and the number is not in the target list, and the number meets the target conditions. The target conditions include at least one of the following: the number segment is a new number segment, the number has no calls during the target time period, and the number is marked as a new number.
[0126] The target time period can be set and changed as needed, generally referring to three months prior to the current time. The new number identifier can be obtained by contacting the telecommunications operator.
[0127] In this embodiment of the application, the target list includes a business directory database list, a call list, a contact list, and an appeal whitewashing list. Accordingly, a number on the target list refers to the following: a number on the business directory database list, which stores numbers that are not at risk; a number on the call list, which stores numbers that were making calls during the target time period; a number on the contact list, which stores numbers with fixed contact numbers; and a number on the appeal whitewashing list, which stores numbers that have been whitewashed.
[0128] In this embodiment of the application, since the enterprise yellow pages database is used to store numbers that do not pose a risk, the call list is used to store numbers that have been in contact during the target time period, the contact list is used to store numbers with fixed contact numbers, and the appeal whitewashing list is used to store numbers that have been whitewashed, it is clear that the numbers on these lists are numbers that do not pose a risk. Thus, the next step of judgment is only made when the number is not on these lists, which can improve the effectiveness of judging the target number.
[0129] (3) The number belongs to the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, and the number is marked with a risk label.
[0130] The risk marker can be a risk label placed on the number by any caller. Optionally, the server collects numbers marked with risk labels by callers and stores them in a risk number list. When a number is on the risk number list, it is determined that the number has a risk label. The server can collect the risk-marked numbers by callers through a mobile management application that includes an SDK (Software Development Kit).
[0131] (4) The number belongs to the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, the number is not marked with a risk mark, and the number segment is a risk segment.
[0132] In some embodiments, the process of the server determining a number segment as a risky number segment includes the following steps: the server obtains a first number and a second number from a target number set, where the first number is a number that is in use during a target time period, and the second number is a number among the first numbers that is at risk, and all numbers in the target number set have a number segment; the server uses the ratio between the second number and the first number as the risk rate corresponding to the number segment; if the risk rate is greater than a preset risk rate, the server determines that the number segment is a risky number segment.
[0133] The number ranges are based on standardized number definitions. Standardized numbers refer to 11-digit mobile phone numbers, 11-digit landline numbers, and 12-digit landline numbers. For example, in an 11-digit mobile phone number or 11-digit landline number, the first 7 digits represent the number range, while in a 12-digit landline number, the first 8 digits represent the number range. For instance, the range xxx-xxxx-xxxx has its first 7 digits as xxx-xxxx, the range xxx-xxxx-xxxx has its first 7 digits as xxx-xxxx, and the range xxxx-xxxx-xxxxx has its first 8 digits as xxxx-xxxx.
[0134] The target time period can be set and changed as needed, generally referring to three months prior to the current time. The preset risk rate can also be set and changed as needed; for example, the preset risk rate can be set to 5%. For instance, for a number segment xxx-xxxx, if the target number set for this segment contains 9999 numbers, with 5000 being the first number and 1000 being the second number, then the risk rate for this segment is 20%. If the preset risk rate is 5%, then this segment is considered a risky segment.
[0135] Since there are too many risky numbers among multiple numbers in a certain number segment, the probability of numbers in that segment being risky is relatively high. In this embodiment of the application, by identifying the number segment as a risky number segment when there are too many risky numbers among multiple numbers in a certain number segment, i.e. when the risk rate is too high, the accuracy of identifying risky number segments is improved.
[0136] In this application embodiment, the server determines the risk number segment through the above embodiments. In another embodiment, the server determines the number segment as a risk number segment in the following way: the server regards all number segments owned by numbers whose home location is the target city as risk number segments. The target city refers to the city where the call risk caused by the numbers whose home location is the target city exceeds a preset number of times.
[0137] In one implementation, the server uses a data acquisition module to perform steps 401-402. This module is used to acquire voice data from the incoming caller during the call, provided the incoming caller's number is the target number. See also... Figure 5 , Figure 5 This is a flowchart illustrating a method for determining a target number provided in an embodiment of this application. The server sequentially performs the following steps to determine whether the number is a target number, and if the number is a target number, collects voice data.
[0138] Step 1: Upon receiving an incoming call, determine the source of the number, i.e., its location. If the location of the number is determined to be outside the target area, proceed to Step 3 to collect voice data; otherwise, proceed to Step 2 if the location of the number is within the target area.
[0139] Step 2: The server determines whether the number is on the contact list of the recipient of the target call. If the number is on the contact list, voice data will not be collected directly. Otherwise, the server will perform a cloud query function in steps 3 to 6 below to further determine whether the number is the target number, so as to further determine whether to collect voice data.
[0140] Step 3: The server determines whether the number is on the target list. If the number is on the target list, voice data will not be collected. Otherwise, proceed to step 4.
[0141] Step 4: The server determines whether the number meets the target criteria. If the number meets the target criteria, voice data is collected; otherwise, proceed to Step 5.
[0142] Fifth, the server determines whether the number is marked with a risk label. If the number is marked with a risk label, voice data is collected; otherwise, the sixth step is executed.
[0143] Step 6: The server determines whether the number segment is a risky segment. If the segment is a risky segment, voice data is collected; otherwise, no voice data is collected.
[0144] Step 7: The server will collect the voice data from the caller and store it as an audio file.
[0145] It should be noted that the execution order of steps one through seven in the embodiments of this application may vary. The step numbers are for ease of description and do not limit the execution order of the steps.
[0146] In this embodiment of the application, the number is determined to be a target number with potential risk by determining the location of the number, whether the number is on the contact list, whether the number is on the target list, whether the number meets the target conditions, whether the number is marked with a risk mark, and whether the number segment is a risk segment. In this way, the effectiveness and accuracy of determining whether the number is a target number are improved by comprehensively judging whether the number is a target number through multiple criteria.
[0147] 402. When the number of the incoming caller in the target call is the target number, the server collects the voice data of the incoming caller during the call.
[0148] Optionally, the server stores the voice data sent by the caller to achieve voice data collection.
[0149] In this embodiment of the application, the computer device needs to obtain authorization before collecting voice data.
[0150] In one implementation, before the call begins, the server sends data acquisition requests to both the incoming and receiving ends. These requests request the acquisition of voice data from the incoming and receiving ends during the call, respectively. In response to the incoming end's confirmation of the data acquisition request, the server can collect the incoming end's voice data during the call; similarly, in response to the receiving end's confirmation of the data acquisition request, the server can collect the receiving end's voice data during the call. The confirmation of the data acquisition request refers to either the incoming or receiving end displaying an authorization interface. This interface includes confirmation and rejection controls for allowing voice data collection. The triggering of these confirmation controls constitutes the confirmation of the data acquisition request.
[0151] In another implementation, the computer device sends a data acquisition request to the receiving end during a call but before collecting voice data. This data acquisition request requests the collection of voice data during the call. Only in response to the receiving end's confirmation operation based on the data acquisition request does the step of collecting the incoming caller's voice data during the call proceed. The process of collecting the incoming caller's voice data during the call can be as follows: the computer device collects the incoming caller's voice data during the call from the receiving end, thereby obtaining the incoming caller's voice data during the call from the receiving end.
[0152] 403. The server performs text recognition on the voice data, and repairs the text information based on the recognized text information and its context to obtain the target text information.
[0153] In this embodiment, the collected voice data may be inaccurate due to various factors. For example, the person making the risky call may have an accent, leading to inaccurate voice data; or, the equipment used to collect the voice data may be of poor quality, resulting in poor collection performance; or, noise interference may occur during the voice data collection process, leading to inaccurate voice data. Inaccurate voice data can also lead to inaccurate recognition of text information. However, in this embodiment, by repairing the text information based on its context, the accuracy of determining the text information corresponding to the voice data can be improved.
[0154] Optionally, before performing text recognition on the voice data, the server determines the collection duration of the voice data. If the collection duration does not exceed a preset duration, the server does not perform text recognition on the voice data and terminates the entire call risk identification process. Only if the collection duration exceeds the preset duration will the server perform text recognition on the voice data. The preset duration can be set and changed as needed, such as a preset duration of 5 seconds.
[0155] In some embodiments, the identified text information may be missing or mismatched with its context, necessitating repair. Since text information is generally related to its context, repair can be performed based on the context. Optionally, the server calls a third-party common SDK to perform text recognition on the speech data to identify the text information. The server can repair the text information based on its context and a context corpus. The context corpus is determined based on risk-based empirical rules and includes multiple preset contexts and text information matching each context. Accordingly, the server retrieves a target context matching the text information from the context corpus, and repairs the identified text information based on the text information matching the target context, such as using the text information matching the target context as the repaired text information.
[0156] 404. When the target text information includes risk words, the server determines the target risk type based on the risk words.
[0157] Optionally, if multiple risk words are stored in a risk word lexicon, then the computer device can compare the words in the target text information with the risk word lexicon. If a word in the text information matches any risk word in the risk word lexicon, the target text information is determined to contain a risk word.
[0158] In one implementation, any risk word is labeled with a risk type, and the target risk type of the call can be directly determined based on that risk word. In another implementation, multiple risk types correspond to a risk type set, and a risk type set is used to store multiple risk words of a risk type. Accordingly, the server determines which risk type set stores the risk word in the target text information, and uses the risk type corresponding to that risk type set as the target risk type.
[0159] The risk words include those related to real estate brokerage, insurance and wealth management, finance, loans, and fraudulent transactions. The target text information may contain multiple risk words, each potentially corresponding to a different risk type. For example, if it contains both loan and finance-related risk words, the target call may correspond to multiple risk types. Optionally, the server uses a Bayesian method to classify and determine which risk type has the highest probability of corresponding to the target call, thus identifying that risk type as the target risk type. The server can also record the correspondence between the voice data and the risk type in a file named <voice data identifier, risk type>.
[0160] In one implementation, the server uses a text module to perform steps 403-404. The text module is used to recognize text information in the voice data, identify risk words within the text information, and determine the target risk type based on the risk words. See also... Figure 6 , Figure 6 This is a flowchart of a method for determining a target risk type provided in an embodiment of this application.
[0161] 405. The server retrieves the target representative voiceprint feature corresponding to the target risk type from the risk voiceprint library. The target representative voiceprint feature is determined based on multiple risk voiceprint features corresponding to the target risk type. The risk voiceprint library is used to store the voiceprint features of risk objects.
[0162] The risk voiceprint database in this step is the risk voiceprint database determined through steps 301-305 above.
[0163] 406. The server determines the similarity between the voiceprint features of the speech data and the voiceprint features of the target representative.
[0164] The process by which the server determines the voiceprint features of the voice data is similar to the process by which it determines the voiceprint features of risk data, and will not be elaborated here.
[0165] Optionally, the server determines the similarity between two voiceprint features using a cosine similarity method; that is, the similarity between voiceprint features is represented by cosine similarity. The voiceprint features of the speech data are denoted as F, where F = {s1, s2…s}. 39}, where s1, s2…s 39 Each represents a one-dimensional MFCC feature, F i ={s i,1 s i,2 …s i,39}, s i,1 s i,2 …s i,39 Each represents a MFCC feature in one dimension, and i represents any one of the multiple target voiceprint features, where i is an integer greater than 0.
[0166] The computer device obtains the cosine similarity between the voiceprint features of the speech data and the voiceprint features of the target representative using the following formula (1).
[0167]
[0168] Where i∈[1,Q], Q represents the number of voiceprint features represented by the target in the target hazard type, and Q is an integer greater than 0; S i The cosine similarity between the voiceprint features of the speech data and the voiceprint features of the target is represented by k, where k represents the dimension of the voiceprint features and is an integer greater than 0.
[0169] In one implementation, after the server determines that the number is the target number, it executes steps 402-404 through the terminal and determines the voiceprint features of the voice data through the terminal. The terminal sends the voiceprint features of the voice data to the server so that the server can determine the similarity between the voiceprint features and the voiceprint features of the target representative.
[0170] 407. If the similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is not less than a preset similarity, the server determines that the target call is a risky call.
[0171] In this application embodiment, the preset similarity can be set and changed as needed; optionally, if the preset similarity is 0.9, then correspondingly, if the cosine similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is not less than 0.9, the call is determined to be a risky call; if the cosine similarity is less than 0.9, the call is determined to be a normal call, i.e., a call without risk, which is expressed by the following formula (2).
[0172]
[0173] In some embodiments, if the server determines that the target call is a risky call, it outputs a prompt message to the receiving end of the target call, which is represented as <number, risk type>.
[0174] In some embodiments, there are multiple target representative voiceprint features, that is, the target risk type corresponds to multiple risk voiceprint groups. The server determines the similarity between the multiple target representative voiceprint features and the voiceprint features of the voice data. If the similarity between the voiceprint features of the voice data and any target representative voiceprint feature is not less than a preset similarity, the target call is determined to be a risky call.
[0175] In one implementation, the server uses a voiceprint module to perform steps 405-407. The voiceprint module retrieves the target representative voiceprint features corresponding to the target risk type from a risk voiceprint database. If the similarity between the voiceprint features of the speech data and the target representative voiceprint features is not less than a preset similarity, the target call is determined to be a risky call. See also... Figure 7 , Figure 7 This is a flowchart of a voiceprint feature comparison method provided in an embodiment of this application.
[0176] The call risk identification method provided in this application can be applied to mobile phone management systems, carrier products, or anti-risk management systems. It can identify call risks not only based on the incoming call number but also based on the dialed number. Specifically, when a caller dials or receives a call, the dialed or incoming number is sent to a server. The server performs a risk query on this number to determine if it is a target number for which voice data collection is required. If voice data collection is required, the voice data from the incoming call is collected and recorded. Then, text recognition analysis is performed on the voice data in the recording to determine whether the identified text information includes specific types of risk words. These specific types of risk words refer to risk words in a lexicon that includes multiple risk words. If the text information includes risky words, the voiceprint features of the voice data are extracted and matched with the representative voiceprint features of targets with the same risk type in the risk voiceprint database to ultimately determine whether the call is risky. If the call is determined to be risky, the server returns the identification result to the terminal, displaying the corresponding risk-related information to warn the caller to be wary of being scammed. This risk-related information includes the risk type of the number and information such as being marked by other callers. If the server determines that the call is not risky, the process ends directly without any notification. See also... Figure 8 , Figure 8 This is a schematic diagram of an interface for alerting call risks provided in an embodiment of this application. When a terminal dials a Shenzhen number 159********, the server performs risk identification on the call and identifies it as a risky call. The server returns the identification result to the terminal and displays on the terminal that the number is a risky number and that the number has been marked with risk-related information by 20 call recipients.
[0177] In some embodiments, the server executes the call risk identification method provided in this application through four modules: a collection module, a text module, a voiceprint module, and a voiceprint database module. The collection module determines whether the caller's number is a target number. If the caller's number is a target number, it collects the caller's voice data but not the receiving end's voice data. Since the receiving end's number in the call list is not a target number, the collection module obviously only collects voice data from strangers, not from acquaintances. The text module performs real-time text recognition on the collected voice data, repairs the recognized text to obtain target text information, and then determines whether the target text information contains risk words and determines the risk type based on the risk words. The voiceprint module extracts the voiceprint features of the voice data and compares them with risk voiceprint features in the risk voiceprint database to determine whether the voiceprint feature is a risk voiceprint feature, thereby determining whether the call is a risky call. The voiceprint library module is used to collect risk voiceprint features. After deduplicating multiple risk voiceprint features, risk voiceprint features with a similarity exceeding a preset similarity (i.e., high similarity) within the same risk type are clustered into risk voiceprint groups. Then, for risk voiceprint features within the same group, the best risk voiceprint feature is selected to represent the risk voiceprint features in that risk voiceprint group. Based on multiple representative risk voiceprint features corresponding to multiple risk types, a risk voiceprint library is constructed.
[0178] This application provides a method for identifying call risks. When the caller's number is considered potentially risky, the method collects voice data from the caller for text recognition and repair. Based on risk words in the text, it determines the target risk type and retrieves representative voiceprint features corresponding to that target risk type from a risk voiceprint database for voiceprint comparison. Since the representative voiceprint features are determined based on multiple risk voiceprint features of the target risk type, they represent the overall voiceprint features of these multiple risk voiceprint features. Therefore, it is only necessary to determine the similarity between the representative voiceprint feature and the voiceprint features of the voice data to achieve the comparison between the voiceprint features of the voice data and the risk voiceprint features of the target risk type. This improves the efficiency of comparing the voiceprint features of the voice data with the voiceprint features in the risk voiceprint database. Furthermore, since the comparison result, i.e., the similarity, is used to determine whether the call is risky, the efficiency of call risk identification is improved.
[0179] This application also provides a device for identifying call risks, see [link to relevant documentation]. Figure 9 The device includes:
[0180] The data acquisition module 901 is used to acquire voice data of the incoming caller during a call when the incoming caller's number is the target number, and the target number is a number with a potential risk.
[0181] The recognition module 902 is used to perform text recognition on the voice data to obtain the target text information;
[0182] The first determining module 903 is used to determine the target risk type based on the risk words when the target text information includes risk words;
[0183] The acquisition module 904 is used to acquire the target representative voiceprint feature corresponding to the target risk type from the risk voiceprint library. The target representative voiceprint feature is determined based on multiple risk voiceprint features corresponding to the target risk type. The risk voiceprint library is used to store the voiceprint features of the risk object.
[0184] The second determining module 905 is used to determine that the target call is a risky call when the similarity between the voiceprint features of the voice data and the voiceprint features of the target representative is not less than a preset similarity.
[0185] In some embodiments, the target represents multiple voiceprint features, and the apparatus further includes a third determining module for:
[0186] Obtain a risk voiceprint set, which includes risk voiceprint features for multiple risk types;
[0187] For each risk type, multiple risk voiceprint features are clustered to obtain multiple risk voiceprint groups. The similarity between the multiple risk voiceprint features included in each risk voiceprint group is within a preset range.
[0188] Identify the representative voiceprint features of each of the multiple risk voiceprint groups;
[0189] The representative voiceprint features of each of the multiple risk voiceprint groups are used as multiple representative voiceprint features corresponding to the risk type.
[0190] A risk voiceprint database is formed based on multiple representative voiceprint features corresponding to different risk types.
[0191] In some embodiments, the third determining module is configured to:
[0192] For each risk voiceprint feature in the risk voiceprint group, determine the similarity between the risk voiceprint feature and other risk voiceprint features in the risk voiceprint group;
[0193] Based on the similarity between risk voiceprint features and other risk voiceprint features, the similarity variance corresponding to the risk voiceprint features is determined.
[0194] The risk voiceprint feature with the smallest similarity variance in the risk voiceprint group is taken as the representative voiceprint feature of the risk voiceprint group.
[0195] In some embodiments, "target number" means:
[0196] The number's registered location is outside the target area;
[0197] The number must be located in the target area, not be on the contact list of the recipient of the target call, not be in the target list, and meet the target conditions. The target conditions include at least one of the following: the number segment is a new number segment, the number has a call during the target time period, and the number is marked as a new number.
[0198] The number belongs to the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target criteria, and the number is marked with a risk label;
[0199] The number belongs to the target area, is not on the contact list, is not on the target list, does not meet the target criteria, is not marked with a risk label, and belongs to a risky number segment.
[0200] In some embodiments, the target list includes a business directory list, a call list, a contact list, and a whitewashing appeal list; the number in the target list refers to:
[0201] The number is listed in the business directory database, which stores numbers that are not considered risky.
[0202] The number is on the call list, which stores numbers that are in use during a target time period;
[0203] The number is on the contact list, which is used to store numbers with fixed contact numbers;
[0204] The number is on the appeal whitewashing list, which is used to store numbers that have been whitewashed.
[0205] In some embodiments, the apparatus further includes a fourth determining module, configured to:
[0206] Obtain the first quantity of the first number and the second quantity of the second number in the target number set. The first number is the number that has been in a call within the target time period, and the second number is the number in the first number that is at risk. All numbers in the target number set have number ranges.
[0207] The ratio between the second quantity and the first quantity is used as the risk rate corresponding to the number segment;
[0208] If the risk rate is greater than the preset risk rate, the number segment is identified as a risky number segment.
[0209] In some embodiments, the recognition module 902 is used to perform text recognition on the voice data, and repair the text information based on the recognized text information and the context of the text information to obtain the target text information.
[0210] In some embodiments, the call risk identification device performs steps based on a collection module, a text module, a voiceprint module, and a voiceprint library module. The collection module is used to collect voice data of the incoming caller during the call when the incoming caller's number is the target number. The text module is used to identify text information in the voice data, determine risk words in the text information, and determine the target risk type based on the risk words. The voiceprint module is used to obtain the target representative voiceprint feature corresponding to the target risk type from the risk voiceprint library, and determine the target call as a risky call when the similarity between the voiceprint feature of the voice data and the target representative voiceprint feature is not less than a preset similarity. The voiceprint library module is used to determine the target representative voiceprint feature corresponding to the target risk type based on multiple risk voiceprint features corresponding to the target risk type.
[0211] This application provides a call risk identification device. When the caller's number is a potentially risky number, it collects the caller's voice data for text recognition and text repair. Based on risk words in the text information, it determines the target risk type and retrieves representative voiceprint features corresponding to the target risk type from a risk voiceprint database for voiceprint comparison. Since the representative voiceprint feature is determined based on multiple risk voiceprint features of the target risk type, it represents the overall voiceprint feature of these multiple risk voiceprint features. Thus, it is only necessary to determine the similarity between the representative voiceprint feature and the voiceprint feature of the voice data to achieve the comparison between the voiceprint feature of the voice data and the risk voiceprint feature of the target risk type. This improves the efficiency of comparing the voiceprint feature of the voice data with the voiceprint feature in the risk voiceprint database. Furthermore, since the comparison result, i.e., the similarity, is used to determine whether the call is a risky call, the efficiency of call risk identification is improved.
[0212] In the embodiments of this application, the computer device can be a terminal or a server. When the computer device is a terminal, the terminal acts as the execution subject to implement the technical solution provided in the embodiments of this application; when the computer device is a server, the server acts as the execution subject to implement the technical solution provided in the embodiments of this application; or, the technical solution provided in this application can be implemented through the interaction between the terminal and the server. The embodiments of this application do not limit this.
[0213] Figure 10A structural block diagram of a terminal 1000 provided in an exemplary embodiment of this application is shown. The terminal 1000 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. The terminal 1000 may also be referred to as a user device, portable terminal, laptop terminal, desktop terminal, or other names.
[0214] Typically, terminal 1000 includes a processor 1001 and a memory 1002.
[0215] Processor 1001 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1001 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1001 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1001 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the screen. In some embodiments, processor 1001 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0216] The memory 1002 may include one or more computer-readable storage media, which may be non-transitory. The memory 1002 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1002 are used to store at least one program code, which is executed by the processor 1001 to implement the call risk identification method provided in the method embodiments of this application.
[0217] In some embodiments, the terminal 1000 may also optionally include a peripheral device interface 1003 and at least one peripheral device. The processor 1001, memory 1002, and peripheral device interface 1003 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1003 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1004, a display screen 1005, a camera assembly 1006, an audio circuit 1007, and a power supply 1008.
[0218] Peripheral device interface 1003 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1001 and memory 1002. In some embodiments, processor 1001, memory 1002 and peripheral device interface 1003 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1001, memory 1002 and peripheral device interface 1003 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0219] The radio frequency (RF) circuit 1004 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1004 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1004 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1004 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 1004 can communicate with other terminals via at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1004 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0220] Display screen 1005 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 1005 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 1001 for processing. In this case, display screen 1005 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 1005, disposed on the front panel of terminal 1000; in other embodiments, there may be at least two display screens, disposed on different surfaces of terminal 1000 or in a folded design; in still other embodiments, display screen 1005 may be a flexible display screen, disposed on a curved or folded surface of terminal 1000. Furthermore, display screen 1005 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The display screen 1005 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0221] The camera assembly 1006 is used to acquire images or videos. Optionally, the camera assembly 1006 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal, and the rear-facing camera is located on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 1006 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.
[0222] The audio circuit 1007 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 1001 for processing, or input to the radio frequency circuit 1004 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each positioned at a different location on the terminal 1000. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 1001 or the radio frequency circuit 1004 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 1007 may also include a headphone jack.
[0223] The power supply 1008 is used to power the various components in the terminal 1000. The power supply 1008 can be AC power, DC power, a disposable battery, or a rechargeable battery. When the power supply 1008 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, while a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0224] In some embodiments, the terminal 1000 further includes one or more sensors 1009. The one or more sensors 1009 include, but are not limited to: an acceleration sensor 1010, a gyroscope sensor 1011, a pressure sensor 1012, an optical sensor 1013, and a proximity sensor 1014.
[0225] Accelerometer 1010 can detect the magnitude of acceleration along the three coordinate axes of a coordinate system established by terminal 1000. For example, accelerometer 1010 can be used to detect the components of gravitational acceleration along the three coordinate axes. Processor 1001 can control display screen 1005 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 1010. Accelerometer 1010 can also be used for games or for acquiring user motion data.
[0226] The gyroscope sensor 1011 can detect the orientation and rotation angle of the terminal 1000. The gyroscope sensor 1011 can work in conjunction with the accelerometer sensor 1010 to collect the user's 3D movements on the terminal 1000. Based on the data collected by the gyroscope sensor 1011, the processor 1001 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0227] The pressure sensor 1012 can be disposed on the side bezel of the terminal 1000 and / or on the lower layer of the display screen 1005. When the pressure sensor 1012 is disposed on the side bezel of the terminal 1000, it can detect the user's grip signal on the terminal 1000, and the processor 1001 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 1012. When the pressure sensor 1012 is disposed on the lower layer of the display screen 1005, the processor 1001 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 1005. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0228] An optical sensor 1013 is used to collect ambient light intensity. In one embodiment, the processor 1001 can control the display brightness of the display screen 1005 based on the ambient light intensity collected by the optical sensor 1013. Specifically, when the ambient light intensity is high, the display brightness of the display screen 1005 is increased; when the ambient light intensity is low, the display brightness of the display screen 1005 is decreased. In another embodiment, the processor 1001 can also dynamically adjust the shooting parameters of the camera assembly 1006 based on the ambient light intensity collected by the optical sensor 1013.
[0229] The proximity sensor 1014, also known as a distance sensor, is typically installed on the front panel of the terminal 1000. The proximity sensor 1014 is used to detect the distance between the user and the front of the terminal 1000. In one embodiment, when the proximity sensor 1014 detects that the distance between the user and the front of the terminal 1000 is gradually decreasing, the processor 1001 controls the display screen 1005 to switch from a screen-on state to a screen-off state; when the proximity sensor 1014 detects that the distance between the user and the front of the terminal 1000 is gradually increasing, the processor 1001 controls the display screen 1005 to switch from a screen-off state to a screen-on state.
[0230] Those skilled in the art will understand that Figure 10 The structure shown does not constitute a limitation on terminal 1000 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0231] Figure 11This is a schematic diagram of a server structure according to an embodiment of this application. The server 1100 can vary significantly due to different configurations or performance. It may include one or more Central Processing Units (CPUs) 1101 and one or more memories 1102. The memories 1102 are used to store executable program code, and the processors 1101 are configured to execute the executable program code to implement the call risk identification methods provided in the various method embodiments described above. Of course, the server may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server may also include other components for implementing device functions, which will not be elaborated here.
[0232] This application also provides a computer-readable storage medium storing at least one piece of program code, which is loaded and executed by a processor to implement the call risk identification method of any of the above implementations.
[0233] This application also provides a computer program product, which includes computer program code stored in a computer-readable storage medium. The processor of a computer device reads the computer program code from the computer-readable storage medium and executes the computer program code, causing the computer device to perform a call risk identification method according to any of the above implementations.
[0234] In some embodiments, the computer program product involved in the present application can be deployed and executed on a computer device, or on multiple computer devices located in one location, or on multiple computer devices distributed in multiple locations and interconnected through a communication network. Multiple computer devices distributed in multiple locations and interconnected through a communication network can form a blockchain system.
[0235] The above are merely optional embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method for identifying call risks, characterized in that, The method includes: If the incoming caller's number in the target call is the target number, collect the voice data of the incoming caller during the call, where the target number is a number with a potential risk. The speech data is subjected to text recognition to obtain the target text information; If the target text information includes risk words, the target risk type is determined based on the risk words; Obtain multiple target representative voiceprint features corresponding to the target risk type from the risk voiceprint library, wherein the risk voiceprint library is used to store the voiceprint features of risk objects; If the similarity between the voiceprint features of the voice data and the voiceprint features of any of the target representatives is not less than a preset similarity, the target call is determined to be a risky call. The process of determining the risk voiceprint database includes: A risk voiceprint set is obtained, which includes risk voiceprint features of multiple risk types. For each risk type, the multiple risk voiceprint features are clustered to obtain multiple risk voiceprint groups, and the similarity between the multiple risk voiceprint features included in each risk voiceprint group is within a preset range. Representative voiceprint features of each risk voiceprint group are determined from the multiple risk voiceprint features in each risk voiceprint group. The representative voiceprint features of each of the multiple risk voiceprint groups are used as multiple representative voiceprint features corresponding to the risk type. Based on the multiple representative voiceprint features corresponding to the multiple risk types, the risk voiceprint library is formed.
2. The method according to claim 1, characterized in that, The process of determining representative voiceprint features of the risk voiceprint group includes: For each risk voiceprint feature in the risk voiceprint group, determine the similarity between the risk voiceprint feature and other risk voiceprint features in the risk voiceprint group; Based on the similarity between the risk voiceprint features and the other risk voiceprint features, the similarity variance corresponding to the risk voiceprint features is determined; The risk voiceprint feature with the smallest similarity variance in the risk voiceprint group is taken as the representative voiceprint feature of the risk voiceprint group.
3. The method according to claim 1, characterized in that, The term "target number" refers to: The location of the number is not in the target area; The number is located in the target area, and the number is not on the contact list of the recipient of the target call, and the number is not in the target list, and the number meets the target conditions, the target conditions including at least one of the following: the number segment is a new number segment, the number has a call during the target time period, and the number is marked as a new number. The number is located in the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, and the number is marked with a risk label; The number is located in the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, the number is not marked with the risk mark, and the number segment is a risk segment.
4. The method according to claim 3, characterized in that, The target list includes a business directory database, call logs, contact lists, and a list of individuals appealing for exoneration; the number on the target list refers to: The number is on the list of business directories, which is used to store numbers that are not at risk. The number is on the call list, which is used to store numbers that are making calls within a target time period; The number is on the contact list, which is used to store numbers with fixed contact numbers; The number is on the appeal whitewashing list, which is used to store numbers that have been whitewashed.
5. The method according to claim 3, characterized in that, The process of determining that the number range is a risky number range includes: Obtain the first quantity of the first number and the second quantity of the second number in the target number set, where the first number is the number that has been in a call during the target time period, and the second number is the number among the first number that is at risk, and all numbers in the target number set have the number range; The ratio between the second quantity and the first quantity is taken as the risk rate corresponding to the number segment; If the risk rate is greater than the preset risk rate, the number segment is determined to be a risky number segment.
6. The method according to claim 1, characterized in that, The step of performing text recognition on the speech data to obtain target text information includes: The speech data is subjected to text recognition, and the text information is repaired based on the recognized text information and the context of the text information to obtain the target text information.
7. The method according to claim 1, characterized in that, The method is implemented through a data acquisition module, a text module, a voiceprint module, and a voiceprint database module. The acquisition module is used to acquire voice data of the incoming caller during the call when the incoming caller's number is the target number. The text module is used to identify text information in voice data, determine risk words in the text information, and determine the target risk type based on the risk words. The voiceprint module is used to obtain the target representative voiceprint features corresponding to the target risk type from the risk voiceprint library. If the similarity between the voiceprint features of the voice data and the target representative voiceprint features is not less than a preset similarity, the target call is determined to be a risky call. The voiceprint library module is used to determine the target representative voiceprint feature corresponding to the target risk type based on multiple risk voiceprint features corresponding to the target risk type.
8. A device for identifying call risk, characterized in that, The device includes: The data acquisition module is used to acquire voice data of the incoming caller during a call when the incoming caller's number is a target number, wherein the target number is a number with a potential risk. The recognition module is used to perform text recognition on the voice data to obtain target text information; The first determining module is used to determine the target risk type based on the risk words when the target text information includes risk words; The acquisition module is used to acquire multiple target representative voiceprint features corresponding to the target risk type from the risk voiceprint library, wherein the risk voiceprint library is used to store the voiceprint features of risk objects; The second determining module is used to determine that the target call is a risky call when the similarity between the voiceprint features of the voice data and any of the target representative voiceprint features is not less than a preset similarity. The third determining module is used for: acquiring a risk voiceprint set, the risk voiceprint set including risk voiceprint features of multiple risk types; for multiple risk voiceprint features in each risk type, clustering the multiple risk voiceprint features to obtain multiple risk voiceprint groups, the similarity between the multiple risk voiceprint features included in each risk voiceprint group being within a preset range; determining representative voiceprint features of the risk voiceprint group from the multiple risk voiceprint features in each risk voiceprint group; using the representative voiceprint features of each of the multiple risk voiceprint groups as multiple representative voiceprint features corresponding to the risk type; and forming the risk voiceprint library based on the multiple representative voiceprint features corresponding to the multiple risk types.
9. The apparatus according to claim 8, characterized in that, The third determining module is used for: For each risk voiceprint feature in the risk voiceprint group, determine the similarity between the risk voiceprint feature and other risk voiceprint features in the risk voiceprint group; Based on the similarity between the risk voiceprint features and the other risk voiceprint features, the similarity variance corresponding to the risk voiceprint features is determined; The risk voiceprint feature with the smallest similarity variance in the risk voiceprint group is taken as the representative voiceprint feature of the risk voiceprint group.
10. The apparatus according to claim 8, characterized in that, The term "target number" refers to: The location of the number is not in the target area; The number is located in the target area, and the number is not on the contact list of the recipient of the target call, and the number is not in the target list, and the number meets the target conditions, the target conditions including at least one of the following: the number segment is a new number segment, the number has a call during the target time period, and the number is marked as a new number. The number is located in the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, and the number is marked with a risk label; The number is located in the target area, and the number is not on the contact list, the number is not on the target list, the number does not meet the target conditions, the number is not marked with the risk mark, and the number segment is a risk segment.
11. The apparatus according to claim 10, characterized in that, The target list includes a business directory database, call logs, contact lists, and a list of individuals appealing for exoneration; the number on the target list refers to: The number is on the list of business directories, which is used to store numbers that are not at risk. The number is on the call list, which is used to store numbers that are making calls within a target time period; The number is on the contact list, which is used to store numbers with fixed contact numbers; The number is on the appeal whitewashing list, which is used to store numbers that have been whitewashed.
12. The apparatus according to claim 10, characterized in that, The device further includes a fourth determining module, used for: Obtain the first quantity of the first number and the second quantity of the second number in the target number set, where the first number is the number that has been in a call during the target time period, and the second number is the number among the first number that is at risk, and all numbers in the target number set have the number range; The ratio between the second quantity and the first quantity is taken as the risk rate corresponding to the number segment; If the risk rate is greater than the preset risk rate, the number segment is determined to be a risky number segment.
13. The apparatus according to claim 8, characterized in that, The identification module is used for: The speech data is subjected to text recognition, and the text information is repaired based on the recognized text information and the context of the text information to obtain the target text information.
14. The apparatus according to claim 8, characterized in that, The call risk identification device performs steps based on a collection module, a text module, a voiceprint module, and a voiceprint database module. The collection module is used to collect voice data of the incoming caller during the call when the incoming caller's number is the target number. The text module is used to identify text information in the voice data, determine risk words in the text information, and determine the target risk type based on the risk words. The voiceprint module is used to obtain the target representative voiceprint features corresponding to the target risk type from the risk voiceprint library. If the similarity between the voiceprint features of the voice data and the target representative voiceprint features is not less than a preset similarity, the target call is determined to be a risky call. The voiceprint library module is used to determine the target representative voiceprint feature corresponding to the target risk type based on multiple risk voiceprint features corresponding to the target risk type.
15. A computer device, characterized in that, The computer device includes a processor and a memory, the memory being used to store at least one computer program, the at least one computer program being loaded by the processor and executed as the call risk identification method according to any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store at least one computer program for performing the call risk identification method according to any one of claims 1 to 7.
17. A computer program product, characterized in that, The computer program product includes computer program code stored in a computer-readable storage medium, a processor of a computer device reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code to cause the computer device to perform the call risk identification method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Car user rapid verification method and device based on voiceprint recognition
CN106921668A
Call early warning method and device, server, storage medium and product
CN114125153A
