An artificial intelligence-based call center voice processing system and method
By detecting the content of voice calls in real time and using large language models and knowledge graph matching technology, highly accurate voice responses are generated, solving the problem that traditional voice robots cannot understand customer needs and improving the intelligence and accuracy of call centers.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-06
- Publication Date
- 2026-03-24
AI Technical Summary
Traditional voice robots in call centers cannot understand customer needs, leading to frequent requests for human assistance. Furthermore, the output of generative AI is highly random and uncertain, which may result in losses for businesses.
By acquiring real-time voice content of calls, detecting pauses, converting it into text, generating candidate output text using a large language model, determining the accurate output text through word vector matching, and combining the relationships of a knowledge graph to generate highly accurate voice responses.
It improves the accuracy of call response and voice outbound calls, reduces reliance on human customer service, and reduces the risk of business losses.
Smart Images

Figure CN116778927B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of voice processing, in particular to a call center voice processing system and method based on artificial intelligence. BACKGROUND
[0002] Call centers are usually used in customer service or marketing application scenarios. Since the early call system adopts the mode of answering customer calls or outgoing marketing calls by manual customer service, there are problems of high labor cost and low customer retention and conversion rate. Therefore, many enterprises gradually begin to use voice robots to replace manual customer service to complete some simple and repetitive call answering or outgoing work. The implementation of the traditional voice robot needs to pre-configure a large number of prepared scripts. According to the keywords extracted from the voice recognition result of the customer, the intention of the customer is recognized, and the corresponding customer service voice is output to the customer by using the corresponding script. The disadvantage of this implementation scheme is that the pre-configured script is limited, and each script can only be used for a specific scenario. However, customer needs and problems are complex and changeable. Therefore, the voice robot often cannot understand the needs or problems of the customer, and finally only manual customer service can be sought. With the emergence of generative AI technology, especially the rise of various natural language models such as Wenxin Yiyang, MOSS and BARD and the increasing diversification of their application technologies, the voice robot of the call center has the condition of truly realizing intelligence. As long as the needs or problems of the customer are input into the natural language model, the corresponding reply content can be quickly generated, which is low in cost and high in efficiency. However, the content generated by the generative artificial intelligence has strong randomness and uncertainty, and the output content of some natural language models often has no correlation with the input content or may have incorrect results. Directly introducing these immature natural language models into the business application field may cause irreparable loss to the enterprise. SUMMARY
[0003] The present application is based on the above problems and proposes a call center voice processing system and method based on artificial intelligence, which can improve the accuracy of the call answering or voice outgoing content generated by the generative AI.
[0004] Therefore, the first aspect of the present application proposes a call center voice processing system based on artificial intelligence, which comprises a voice recognition server for performing voice recognition, at least one natural voice large model server for generating candidate output texts according to input texts, a call center server for determining an output text from a plurality of candidate output texts, and a voice synthesis model server for converting the output text into voice content. The call center server is configured to:
[0005] acquiring, in real time during the call, call speech content of a call opposite end;
[0006] detecting a pause point of the call speech content of the call opposite end;
[0007] acquiring last conversation speech content of the call opposite end when the pause point of the call speech content of the call opposite end is detected;
[0008] inputting the last conversation speech content of the call opposite end into a speech recognition engine to be converted into call text content;
[0009] determining the call text content as input text;
[0010] inputting the input text into one or more large language models to generate a preset number of candidate output texts, the large language models being natural language models trained using a large amount of general text;
[0011] matching the candidate output texts with the input text one by one to determine an output text;
[0012] inputting the output text into a preset voice synthesis model to generate corresponding output speech content;
[0013] sending the output speech content to the call opposite end.
[0014] A second aspect of the present application provides an artificial intelligence-based call center voice processing method, comprising:
[0015] acquiring, in real time during the call, call speech content of a call opposite end;
[0016] detecting a pause point of the call speech content of the call opposite end;
[0017] acquiring last conversation speech content of the call opposite end when the pause point of the call speech content of the call opposite end is detected;
[0018] inputting the last conversation speech content of the call opposite end into a speech recognition engine to be converted into call text content;
[0019] determining the call text content as input text;
[0020] inputting the input text into one or more large language models to generate a preset number of candidate output texts, the large language models being natural language models trained using a large amount of general text;
[0021] matching the candidate output texts with the input text one by one to determine an output text;
[0022] inputting the output text into a preset voice synthesis model to generate corresponding output voice content;
[0023] sending the output voice content to the call opposite end.
[0024] Further, in the above-mentioned call center voice processing method based on artificial intelligence, the step of matching the candidate output texts one by one with the input text to determine the output text specifically includes:
[0025] generating an input dynamic word vector of the input text
[0026] generating a candidate output dynamic word vector of the candidate output text wherein i is a positive integer and 1≤i≤n, and n is the number of the candidate output texts;
[0027] calculating the similarity between the input dynamic word vector and the candidate output dynamic word vector
[0028]
[0029] wherein j is a positive integer and 1≤j≤m, and m is the dimension of the input dynamic word vector and the candidate output dynamic word vector , and are the values of the jth dimension of the input dynamic word vector and the candidate output dynamic word vector respectively;
[0030] determining the maximum similarity s from n similarities:
[0031] s max =max i s i :
[0032] the candidate output text corresponding to the maximum similarity s max is determined as the output text.
[0033] Further, in the above-mentioned call center voice processing method based on artificial intelligence, the step of generating the input dynamic word vector of the input text or the candidate output dynamic word vector of the candidate output text specifically includes:
[0034] determining the input text or the candidate output text as a target text;
[0035] preprocessing the target text;
[0036] performing word segmentation on the target text to obtain a plurality of wordpieces;
[0037] encoding the wordpieces into static word vectors using a pre-constructed dictionary where k is a positive integer and 1≤k≤num target , num target is the number of wordpieces in the target text;
[0038] obtaining the static word vectors corresponding wordpieces and the context of the wordpieces in the knowledge graph;
[0039] encoding the static word vectors into dynamic word vectors based on the association relationship where x is a positive integer and 1≤x≤num k_rel , num k_rel is the number of wordpieces in the target text that have an association relationship with the kth wordpiece in the knowledge graph;
[0040] generating the input dynamic word vectors or the candidate output dynamic word vectors based on the dynamic word vectors in the target text
[0041] Further, in the above-mentioned artificial intelligence-based call center voice processing method, the step of encoding the wordpieces into static word vectors using a pre-constructed dictionary specifically includes:
[0042] obtaining the kth wordpiece from the num target wordpieces of the target text;
[0043] matching the kth wordpiece with the wordpieces in the dictionary;
[0044] when the kth wordpiece exists in the dictionary, obtaining the position p k of the kth wordpiece in the dictionary;
[0045] obtaining the length num dic of the dictionary;
[0046] constructing a static word vector with a dimension number of num dic
[0047] setting the p th position of the static word vector to 1The value of one dimension is configured as 1, and the value of other dimensions is configured as 0.
[0048] Further, in the above-mentioned artificial intelligence-based call center voice processing method, the static word vector is obtained The step of associating the corresponding word element with the context word element in the knowledge graph specifically includes:
[0049] Identifying entity word elements and attribute word elements in the target text;
[0050] Retrieving the associated triple in the knowledge graph, at least two basic elements of the associated triple are word elements in the target text;
[0051] Obtain the unique number ser kx of the associated triple in the knowledge graph;
[0052] Determine the symbol type of the unique number ser kx ;
[0053] When the unique number ser kx is a numerical value type, use the unique number ser kx of the associated triple in the knowledge graph to identify the association relationship between the entity word element and the attribute word element in the knowledge graph:
[0054] rel kx =ser kx .
[0055] Further, in the above-mentioned artificial intelligence-based call center voice processing method, after the step of obtaining the unique number ser kx of the associated triple in the knowledge graph, it further includes:
[0056] When the unique number ser kx is not a numerical value type, configure an encoded character set, and the encoded character set contains the character type of each symbol in the unique number ser kx ;
[0057] Sequentially read each symbol in the unique number ser kx ;
[0058] Obtain the position encoding ord l of each symbol in the encoded character set, where l is a positive integer and 1≤l≤num kx_ser , num kx_ser is the number of symbols in the unique number ser kx ;
[0059] calculating the unique number ser kx of the numerical encoding:
[0060]
[0061] using the numerical encoding ser kx_num to identify the association relationship between the entity word and the attribute word in the knowledge graph:
[0062] rel kx = ser kx_num .
[0063] Further, in the above-mentioned artificial intelligence-based call center voice processing method, the step of encoding the static word vector into a dynamic word vector based on the association relationship specifically includes:
[0064] determining the non-zero value dimension p k of the static word vector ;
[0065] constructing a dynamic vector with the same dimension number as the static word vector
[0066] configuring the value of the p k th dimension of the dynamic word vector as σ·rel kx , and the values of other dimensions as 0, where σ is a pre-configured standardization coefficient.
[0067] Further, in the above-mentioned artificial intelligence-based call center voice processing method, after the step of encoding the static word vector into a dynamic word vector based on the association relationship, it further includes:
[0068] obtaining the dimension number of each static word vector
[0069] obtaining the maximum dimension number of num target static word vectors in the target text:
[0070]
[0071] the dimension number of the dynamic word vector in the target text is less than the maximum dimension number the number of dimensions of the dynamic word vector in the target text is expanded to the maximum number of dimensions
[0072] Further, in the above-mentioned call center voice processing method based on artificial intelligence, the dynamic word vector in the target text is calculated based on the dynamic word vector in the target text the input dynamic word vector is generated or the candidate output dynamic word vector The steps specifically include:
[0073] The number of dynamic word vectors in the target text is calculated
[0074] The number of dimensions of the dynamic word vector in the target text is expanded to the maximum number of dimensions
[0075] A matrix of
[0076] dimension is constructed using the dynamic word vector as the word vector matrix A of the target text; The input dynamic word vector is generated based on the word vector matrix A of the target text
[0077] or the candidate output dynamic word vector
[0078] The present application provides a call center voice processing system and method based on artificial intelligence, which can improve the accuracy of the call response or voice call content generated by the generative AI. BRIEF DESCRIPTION OF DRAWINGS
[0079] Figure 1 is a schematic block diagram of a call center voice processing system based on artificial intelligence provided by an embodiment of the present application;
[0080] Figure 2 is a flowchart of a call center voice processing method based on artificial intelligence provided by an embodiment of the present application. DETAILED DESCRIPTION
[0081] In order to more clearly understand the above-mentioned objects, characteristics and advantages of the present application, further specific details of the present application will be described below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.
[0082] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one skilled in the art that the present application can be practiced without the specific details presented herein. In other instances, well-known methods have not been described in detail in order to avoid obscuring aspects of the present application.
[0083] In the description of the present application, the term "a plurality of" refers to two or more, unless otherwise explicitly defined. The terms "upper", "lower", and the like refer to the orientation or positional relationship shown in the drawings, and are merely used to facilitate the description of the present application and simplify the description, and do not indicate or imply that the device or element referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as a limitation of the present application. The terms "connection", "mounting", "fixing" and the like should be interpreted broadly, for example, "connection" can be fixed connection, or detachable connection, or integral connection; can be directly connected, or indirectly connected through an intermediate medium. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances. In addition, the terms "first", "second", and the like are used only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Therefore, the features limited by "first", "second" and the like can explicitly or implicitly include one or more of the features. In the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise specified.
[0084] In the description of the present application, the terms "one embodiment", "some embodiments", "a specific embodiment", and the like, mean that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0085] A call center voice processing system and method based on artificial intelligence are described below with reference to the accompanying drawings according to some embodiments of the present application.
[0086] As Figure 1As shown, the first aspect of the present application proposes an artificial intelligence-based call center voice processing system, which comprises a speech recognition server for performing speech recognition, at least one natural language large model server for generating candidate output texts according to input texts, a call center server for determining an output text from a plurality of candidate output texts, and a voice synthesis model server for converting the output text into voice content.
[0087] As shown, the call center server is configured to: Figure 2
[0088] acquire the call voice content of the call opposite end in real time during the call;
[0089] detect the pause point of the call voice content of the call opposite end;
[0090] when the pause point of the call voice content of the call opposite end is detected, acquire the last session voice content of the call opposite end;
[0091] input the last session voice content of the call opposite end into a speech recognition engine to convert it into call text content;
[0092] determine the call text content as the input text;
[0093] input the input text into one or more large language models to generate a preset number of candidate output texts, the large language model being a natural language model trained using a large amount of general text;
[0094] match the candidate output texts one by one with the input text to determine the output text;
[0095] input the output text into a preset voice synthesis model to generate corresponding output voice content;
[0096] send the output voice content to the call opposite end.
[0097] Specifically, the pause point is the pause time of the call opposite end after finishing this content and waiting for the response of the opposite end.
[0098] In the technical solution of the present application, the once session voice content refers to the entire speech content of one call end between two adjacent speeches of the other call end. The last session voice content of the call opposite end refers to the entire speech content between the last speech of the opposite end and the last pause point of the call voice content of the call opposite end detected by the opposite end.
[0099] The voice recognition engine can be a locally deployed voice recognition program or an online voice recognition API (Application Programming Interface) provided by a third party.
[0100] The large language model is an online natural language model API provided by a third party, and the massive general text includes massive web pages, news, social media, books, and other data. In the technical solutions of some embodiments of the present application, only one natural language model API is accessed, and multiple candidate output texts are generated simultaneously through the natural language model API in a multi-threaded manner. In the technical solutions of some other embodiments of the present application, a preset number of natural language model APIs are accessed, and the candidate output texts are simultaneously generated by the multiple natural language model APIs, respectively.
[0101] Further, in the above-mentioned artificial intelligence-based call center voice processing system, in the step of matching the candidate output texts with the input text one by one to determine the output text, the call center server is configured to:
[0102] generate an input dynamic word vector of the input text
[0103] generate a candidate output dynamic word vector of the candidate output text where i is a positive integer and 1≤i≤n, n is the number of the candidate output texts;
[0104] calculate the similarity between the input dynamic word vector and the candidate output dynamic word vector
[0105]
[0106] where j is a positive integer and 1≤j≤m, m is the dimension of the input dynamic word vector and the candidate output dynamic word vector , and are the values of the jth dimension of the input dynamic word vector and the candidate output dynamic word vector , respectively;
[0107] determine the maximum similarity among the n similarities:
[0108] s max = max i = (1, 2,..., n) s i :
[0109] determining the maximum similarity s max corresponding candidate output text is determined as the output text.
[0110] Specifically, the input dynamic word vector is a word vector constructed by combining the static word vector of the word unit in the input text with the association relationship of the context word unit in the knowledge graph. The candidate output dynamic word vector is a word vector constructed by combining the static word vector of the word unit in the candidate output text with the association relationship of the context word unit in the knowledge graph. Preferably, the context word unit is specifically a word unit in the input text or the candidate output text corresponding to the word unit corresponding to the static word vector.
[0111] Further, in the above-mentioned artificial intelligence-based call center voice processing system, in the step of generating the input dynamic word vector of the input text or the candidate output dynamic word vector of the candidate output text, the call center server is configured to:
[0112] determine the input text or the candidate output text as the target text;
[0113] preprocess the target text;
[0114] perform word segmentation processing on the target text to obtain a plurality of word units;
[0115] encode the word units into static word vectors using a pre-constructed dictionary, where k is a positive integer and 1≤k≤num target , num target is the number of word units in the target text;
[0116] obtain the association relationship in the knowledge graph between the corresponding word unit and the context word unit of the static word vector ;
[0117] encode the static word vector into a dynamic word vector based on the association relationship, where x is a positive integer and 1≤x≤num k_rel , num k_rel is the number of word units in the target text that have an association relationship with the kth word unit in the knowledge graph;
[0118] generate the input dynamic word vector or the candidate output dynamic word vector based on the dynamic word vector in the target text;
[0119] Specifically, the pre-processing of the target text specifically includes one or more of removing redundant symbols in the call text content, case normalization, number normalization, and punctuation normalization.
[0120] In the technical solution of the present application, the association relationship between word units is embodied by triples in the knowledge graph. The knowledge graph is a pre-constructed knowledge graph database, which stores a large number of association relationships between entity word units and attribute word units in the form of triples. A triple is a basic element in the knowledge graph database, which contains three basic elements of
entity word unit, attribute word unit, entity word unit
Henan Province, capital, Zhengzhou City
[0121] In the technical solution of some embodiments of the present application, when there are two word units in the target text that are two basic elements of the same triple in the knowledge graph database, the triple is used to represent the association relationship between the two word units. In the technical solution of this embodiment, for any word unit in the target text, there may be more than one other word unit associated with it, so a static word vector may be encoded into one or more dynamic word vectors That is, when num k_rel is 1, the static word vector is only encoded into one dynamic word vector When num k_rel is greater than 1, the static word vector may be encoded into multiple dynamic word vectors
[0122] Further, in the above-mentioned artificial intelligence-based call center voice processing system, in the step of encoding the word unit into a static word vector using a pre-constructed dictionary, the call center server is configured to:
[0123] obtain the kth word unit from the num target word units of the target text;
[0124] match the kth word unit with the word units in the dictionary;
[0125] When the k-th word element exists in the dictionary, obtain the position p of the k-th word element in the dictionary. k ;
[0126] Get the length num of the dictionary dic ;
[0127] Construct a dimension with number of num dic Static word vectors
[0128] The static word vector p k The value of one dimension is configured as 1, and the values of other dimensions are configured as 0.
[0129] In the technical solution of the above embodiments, after the step of matching the k-th word with the word in the dictionary, the method further includes:
[0130] When the kth word element does not exist in the dictionary, the kth word element is added to the corresponding position in the dictionary according to word frequency or according to the time of addition;
[0131] Obtain the position p of the k-th lexical unit in the dictionary. k ;
[0132] Construct a dimension with number of num dic Static word vectors
[0133] The static word vector p k The value of one dimension is configured as 1, and the values of other dimensions are configured as 0.
[0134] Furthermore, in the aforementioned AI-based call center voice processing system, when acquiring the static word vectors... In the step of establishing the association between corresponding lexical units and context lexical units in the knowledge graph, the call center server is configured as follows:
[0135] Identify entity words and attribute words among multiple words in the target text;
[0136] Retrieve associated triples in the knowledge graph, wherein at least two of the three basic elements of the associated triples are lexical units in the target text;
[0137] Obtain the unique identifier ser of the associated triple in the knowledge graph. kx ;
[0138] Determine the unique number ser kx The symbol type;
[0139] When the unique number ser kx is a numerical type number, the unique number ser kx of the associated triple in the knowledge graph is used to identify the association relationship between the entity word and the attribute word in the knowledge graph:
[0140] rel kx = ser kx .
[0141] Specifically, the step of identifying the entity word and the attribute word in the plurality of word units of the target text specifically comprises:
[0142] performing part-of-speech tagging on each word unit of the target text;
[0143] identifying the entity word and the attribute word from the word units of the target text according to the part-of-speech of each word unit.
[0144] The entity word refers to a word unit of a specific thing, and the entity word includes but is not limited to a person, a place, an article, an organization, an event, etc. The attribute word is a word unit used to describe the characteristics of a thing, and the attribute word includes but is not limited to time, quantity, gender, occupation, etc. For example, a commodity is a kind of thing, and a word unit such as "clothes" referring to the commodity is an entity word, which can have characteristics such as brand, price, color, weight, size, etc., and the word units describing these characteristics are attribute words. The attribute describes a certain characteristic of the entity. For another example, a person is a kind of thing, and a word unit such as "Zhang San" referring to the person is an entity word, which can have characteristics such as height, weight, age, gender, etc., and the word units describing these characteristics are attribute words.
[0145] In the technical solution of the present application, each triple in the knowledge graph has a unique number ser x In the technical solution of some other embodiments of the present application, the unique number ser x is a numerical type number, and exemplarily, the unique number ser x may be the index number of the triple in the knowledge graph database. In the technical solution of some other embodiments of the present application, the unique number can be a non-numerical type number, for example, the unique number can be a character type number mixed with numbers and letters.
[0146] Further, in the above-mentioned artificial intelligence-based call center voice processing system, after the step of obtaining the unique number ser kx of the associated triple in the knowledge graph, the call center server is configured to:
[0147] When the unique number serkx For non-numeric type numbering, an encoding character set is configured, which contains the unique number ser kx The character type of each symbol in the unique number ser
[0148] Sequentially read each symbol in the unique number ser kx
[0149] Obtain the position code ord l of each symbol in the encoding character set, where l is a positive integer and 1≤l≤num kx_ser , num kx_ser is the number of symbols in the unique number ser kx
[0150] Calculate the numeric encoding of the unique number ser kx
[0151]
[0152] Use the numeric encoding ser kx_num to identify the association relationship between the entity word and the attribute word in the knowledge graph:
[0153] rel kx =ser kx_num .
[0154] Specifically, the encoding character set can be ASCII, ISO-8859, UTF-8, UTF-16, etc. or other character sets.
[0155] Further, in the above-mentioned artificial intelligence-based call center voice processing system, in the step of encoding the static word vector into a dynamic word vector based on the association relationship, the call center server is configured to:
[0156] Determine the non-zero value dimension p k of the static word vector ;
[0157] Construct a dynamic vector with the same dimension as the static word vector
[0158] The value of the p k th dimension of the dynamic word vector is configured as σ·rel kx , and the values of other dimensions are configured as 0, where σ is a pre-configured standardization coefficient.
[0159] Specifically, the static word vectors Includes num dic There are 3 dimensions, including one non-zero value dimension and num. dic -1 zero-value dimension, with non-zero-value dimensions having a value of 1, and all zero-value dimensions having a value of 0. Preferably, the standardization coefficient is 0 < σ < 1.
[0160] Furthermore, in the aforementioned AI-based call center voice processing system, the static word vectors are processed based on the aforementioned correlation. Encoding as dynamic word vectors Following these steps, the call center server is configured as follows:
[0161] Obtain each static word vector Number of dimensions
[0162] Get the num from the target text target static word vectors Maximum number of dimensions:
[0163]
[0164] The number of dimensions in the target text Less than the maximum number of dimensions Dynamic word vectors The number of dimensions is expanded to the maximum number of dimensions.
[0165] Specifically, since the number of lexical units in the dictionary is dynamically changing, therefore num dic It is not a fixed value, and thus the static word vectors constructed are... The number of dimensions is not all the same.
[0166] In the technical solution of the above embodiments, the number of dimensions in the target text is... Less than the maximum number of dimensions dynamic vector The number of dimensions is expanded to the maximum number of dimensions. The specific steps include:
[0167] Calculate the maximum number of dimensions With the dynamic word vectors Number of dimensions The difference between them:
[0168]
[0169] In the dynamic word vector The last genus supplement One dimension;
[0170] The dynamic word vector Supplement Each dimension's value is configured to be 0.
[0171] Furthermore, in the aforementioned AI-based call center voice processing system, dynamic word vectors in the target text are used... Generate the input dynamic word vector Or the candidate output dynamic word vector In the steps described above, the call center server is configured as follows:
[0172] Calculate the dynamic word vectors in the target text. Quantity:
[0173]
[0174] Obtain the number of dimensions of the dynamic word vectors in the target text.
[0175] Using the dynamic word vectors Build a The dimensional matrix is used as the word vector matrix A of the target text;
[0176] Generate the input dynamic word vectors based on the word vector matrix A of the target text. Or the candidate output dynamic word vector
[0177] In the technical solution of the above embodiments, the input dynamic word vector is generated based on the word vector matrix A of the target text. Or the candidate output dynamic word vector The specific steps include:
[0178] Construct a dimension with Target word vectors
[0179] Configure counting vectors i and j, where 1 ≤ i ≤ num dyn ,
[0180] Iterate through the counting vectors i and j to calculate the target word vector. The value of the j-th dimension:
[0181]
[0182] in a value of the jth row and the ith column of the word vector matrix A;
[0183] the target word vector determining the input dynamic word vector or the candidate output dynamic word vector
[0184] As Figure 2 shown, the second aspect of the present application proposes an artificial intelligence-based call center voice processing method, comprising:
[0185] acquiring the call voice content of the call opposite end in real time during the call;
[0186] detecting the pause point of the call voice content of the call opposite end;
[0187] when the pause point of the call voice content of the call opposite end is detected, acquiring the last session voice content of the call opposite end;
[0188] inputting the last session voice content of the call opposite end into a speech recognition engine to convert into call text content;
[0189] determining the input text as the call text content;
[0190] inputting the input text into one or more large language models to generate a preset number of candidate output texts, the large language model being a natural language model trained using a large amount of general text;
[0191] matching the candidate output texts one by one with the input text to determine the output text;
[0192] inputting the output text into a preset voice synthesis model to generate corresponding output voice content;
[0193] sending the output voice content to the call opposite end.
[0194] Specifically, the pause point is the pause time of the call opposite end after speaking this time content, waiting for the response of the opposite end.
[0195] In the technical solution of the present application, the once session voice content refers to the entire speaking content of one call end between the adjacent two speaking contents of the other call end. The last session voice content of the call opposite end refers to the entire speaking content between the last speaking content of the opposite end and the last pause point of the call voice content of the call opposite end detected.
[0196] The speech recognition engine can be a locally deployed speech recognition program or a third-party online speech recognition API (Application Programming Interface).
[0197] The large language model is an online natural language model API provided by a third party, and the massive amount of general text includes a vast amount of data such as web pages, news, social media, and books. In some embodiments of the present invention, only one natural language model API is accessed, and multiple candidate output texts are generated simultaneously through the natural language model API using a multi-threaded approach. In other embodiments of the present invention, a predetermined number of natural language model APIs are accessed, and the candidate output texts are generated simultaneously by each of the multiple natural language model APIs.
[0198] Furthermore, in the aforementioned AI-based call center voice processing method, the step of matching each candidate output text with the input text to determine the output text specifically includes:
[0199] Generate the input dynamic word vector of the input text
[0200] Generate candidate output dynamic word vectors for the candidate output text. Where i is a positive integer and 1≤i≤n, and n is the number of candidate output texts;
[0201] Calculate the input dynamic word vector and the candidate output dynamic word vectors Similarity between them:
[0202]
[0203] Where j is a positive integer and 1 ≤ j ≤ m, and m is the input dynamic word vector. and the candidate output dynamic word vectors Dimensions and The input dynamic word vectors are respectively and the candidate output dynamic word vectors The value of the j-th dimension;
[0204] Determine the maximum similarity among the n similarities:
[0205] s max =max i = (1, 2, ..., n)s i :
[0206] The maximum similarity smax The corresponding candidate output text is determined as the output text.
[0207] Specifically, the input dynamic word vector is a word vector constructed by combining the static word vector of the word unit in the input text with the association relationship of the context word unit in the knowledge graph. The candidate output dynamic word vector is a word vector constructed by combining the static word vector of the word unit in the candidate output text with the association relationship of the context word unit in the knowledge graph. Preferably, the context word unit is specifically a word unit in the input text or the candidate output text corresponding to the word unit corresponding to the static word vector.
[0208] Further, in the above-mentioned artificial intelligence-based call center voice processing method, the step of generating the input dynamic word vector of the input text or the candidate output dynamic word vector of the candidate output text specifically includes:
[0209] determining the input text or the candidate output text as a target text;
[0210] preprocessing the target text;
[0211] performing word segmentation processing on the target text to obtain a plurality of word units;
[0212] encoding the word units into static word vectors using a pre-constructed dictionary, where k is a positive integer and 1≤k≤num target , num target is the number of word units in the target text;
[0213] obtaining the association relationship in the knowledge graph between the corresponding word unit and the context word unit of the static word vector ;
[0214] encoding the static word vector into a dynamic word vector based on the association relationship, where x is a positive integer and 1≤x≤num k_rel , num k_rel is the number of word units in the target text that have an association relationship with the kth word unit in the knowledge graph;
[0215] generating the input dynamic word vector or the candidate output dynamic word vector based on the dynamic word vector in the target text;
[0216] Specifically, the pre-processing of the target text specifically includes one or more of removing redundant symbols in the call text content, case normalization, number normalization, and punctuation normalization.
[0217] In the technical scheme of the present application, the association relationship between word units is embodied by triples in the knowledge graph. The knowledge graph is a pre-constructed knowledge graph database, and a large number of association relationships between entity word units and attribute word units are stored in the knowledge graph database in the form of triples. A triple is a basic element in the knowledge graph database, which contains three basic elements of
entity word unit, attribute word unit, entity word unit
Henan Province, capital, Zhengzhou City
[0218] In the technical scheme of some embodiments of the present application, when there are two word units in the target text that are two basic elements of the same triple in the knowledge graph database, the triple is used to represent the association relationship between the two word units. In the technical scheme of this embodiment, for any word unit in the target text, there may be more than one other word unit associated with it, so a static word vector may be encoded into one or more dynamic word vectors That is, when num k_rel is 1, the static word vector is only encoded into one dynamic word vector When num k_rel is greater than 1, the static word vector may be encoded into multiple dynamic word vectors
[0219] Further, in the above-mentioned artificial intelligence-based call center voice processing method, the step of encoding the word unit into a static word vector using a pre-constructed dictionary specifically includes:
[0220] acquiring the kth word unit from the num target word units of the target text;
[0221] matching the kth word unit with the word units in the dictionary;
[0222] when the kth word unit exists in the dictionary, acquiring the position p k;
[0223] Obtaining the length num of the dictionary dic ;
[0224] Constructing a static word vector with a dimension number of num dic ;
[0225] Configuring the value of the p k th dimension of the static word vector as 1 and the values of other dimensions as 0.
[0226] In the technical solution of the above embodiment, after the step of matching the kth word unit with the word units in the dictionary, further comprising:
[0227] When the kth word unit does not exist in the dictionary, adding the kth word unit to the corresponding position in the dictionary according to the word frequency or the adding time;
[0228] Obtaining the position p k of the kth word unit in the dictionary;
[0229] Constructing a static word vector with a dimension number of num dic ;
[0230] Configuring the value of the p k th dimension of the static word vector as 1 and the values of other dimensions as 0.
[0231] Further, in the above artificial intelligence-based call center voice processing method, the step of obtaining the association relationship between the corresponding word unit of the static word vector and the word unit in the context in the knowledge graph comprises:
[0232] Identifying entity word units and attribute word units among the plurality of word units of the target text;
[0233] Retrieving an associated triple in the knowledge graph, at least two of the three basic elements of the associated triple being word units in the target text;
[0234] Obtaining the unique number ser kx of the associated triple in the knowledge graph;
[0235] Judging the symbol type of the unique number ser kx ;
[0236] When the unique number ser kxWhen a numerical type number is used, the unique number ser of the associated triple in the knowledge graph is used kx Identify the associated relationship of the entity word and the attribute word in the knowledge graph:
[0237] rel kx =ser kx .
[0238] Specifically, the step of identifying entity words and attribute words in the plurality of word units of the target text specifically includes:
[0239] Part-of-speech tagging is performed on each word unit of the target text;
[0240] Identify entity words and attribute words from the word units of the target text according to the part of speech of each word unit.
[0241] The entity word refers to a word unit of a specific thing, and the entity word includes but is not limited to a person, a place, an article, an organization, an event, etc. The attribute word is a word unit used to describe the characteristics of a thing, and the attribute word includes but is not limited to time, quantity, gender, occupation, etc. For example, a commodity is a kind of thing, and the word unit such as "clothes" referring to the commodity is an entity word, which can have characteristics such as brand, price, color, weight, size, etc. The word unit describing these characteristics is an attribute word. The attribute describes a certain characteristic of the entity. For example, a person is a kind of thing, and the word unit such as "Zhang San" referring to the person is an entity word, which can have characteristics such as height, weight, age, gender, etc. The word unit describing these characteristics is an attribute word.
[0242] In the technical solution of the present application, each triple in the knowledge graph has a unique number ser x In the technical solution of some embodiments of the present application, the unique number ser x is a numerical type number. For example, the unique number ser x may be the index number of the triple in the knowledge graph database. In the technical solution of some embodiments of the present application, the unique number can be a non-numerical type number, for example, the unique number can be a character type number mixed with numbers and letters.
[0243] Further, in the above-mentioned artificial intelligence-based call center voice processing method, after the step of obtaining the unique number ser kx of the associated triple in the knowledge graph, it further includes:
[0244] When the unique number ser kx is a non-numerical type number, configure an encoding character set, and the encoding character set contains the unique number serkx character type of each symbol;
[0245] sequentially reading the unique number ser kx of each symbol;
[0246] obtaining position code ord l of each symbol in the encoding character set, where l is a positive integer and 1≤l≤num kx_ser , num kx_ser is the number of symbols in the unique number ser kx ;
[0247] calculating numerical code of the unique number ser kx ;
[0248]
[0249] identifying the association relationship between the entity word and the attribute word in the knowledge graph using the numerical code ser kx_num ;
[0250] rel kx =ser kx_num .
[0251] Specifically, the encoding character set can be ASCII, ISO-8859, UTF-8, UTF-16, or other character sets.
[0252] Further, in the above-mentioned artificial intelligence-based call center voice processing method, the step of encoding the static word vector into a dynamic word vector based on the association relationship specifically includes:
[0253] determining the non-zero value dimension p k of the static word vector ;
[0254] constructing a dynamic vector with the same dimension number as the dimension number of the static word vector
[0255] configuring the value of the p k th dimension of the dynamic word vector as σ·rel kx , and configuring the value of other dimensions as 0, where σ is a pre-configured standardization coefficient.
[0256] Specifically, the static word vector contains num dicThere are 3 dimensions, including one non-zero value dimension and num. dic -1 zero-value dimension, with non-zero-value dimensions having a value of 1, and all zero-value dimensions having a value of 0. Preferably, the standardization coefficient is 0 < σ < 1.
[0257] Furthermore, in the aforementioned AI-based call center voice processing method, the static word vectors are processed based on the aforementioned correlation. Encoding as dynamic word vectors The steps also include:
[0258] Obtain each static word vector Number of dimensions
[0259] Get the num from the target text target static word vectors Maximum number of dimensions:
[0260]
[0261] The number of dimensions in the target text Less than the maximum number of dimensions Dynamic word vectors The number of dimensions is expanded to the maximum number of dimensions.
[0262] Specifically, since the number of lexical units in the dictionary is dynamically changing, therefore num dic It is not a fixed value, and thus the static word vectors constructed are... The number of dimensions is not all the same.
[0263] In the technical solution of the above embodiments, the number of dimensions in the target text is... Less than the maximum number of dimensions dynamic vector The number of dimensions is expanded to the maximum number of dimensions. The specific steps include:
[0264] Calculate the maximum number of dimensions With the dynamic word vectors Number of dimensions The difference between them:
[0265]
[0266] In the dynamic word vector The last genus supplement One dimension;
[0267] The dynamic word vector Supplement Each dimension's value is configured to be 0.
[0268] Furthermore, in the aforementioned AI-based call center voice processing method, dynamic word vectors in the target text are used... Generate the input dynamic word vector Or the candidate output dynamic word vector The specific steps include:
[0269] Calculate the dynamic word vectors in the target text. Quantity:
[0270]
[0271] Obtain the number of dimensions of the dynamic word vectors in the target text.
[0272] Using the dynamic word vectors Build a The dimensional matrix is used as the word vector matrix A of the target text;
[0273] Generate the input dynamic word vectors based on the word vector matrix A of the target text. Or the candidate output dynamic word vector
[0274] In the technical solution of the above embodiments, the input dynamic word vector is generated based on the word vector matrix A of the target text. Or the candidate output dynamic word vector The specific steps include:
[0275] Construct a dimension with Target word vectors
[0276] Configure counting vectors i and j, where 1 ≤ i ≤ num dyn ,
[0277] Iterate through the counting vectors i and j to calculate the target word vector. The value of the j-th dimension:
[0278]
[0279] in Let be the value of the j-th row and i-th column of the word vector matrix A;
[0280] The target word vector The input dynamic word vector was determined. or the candidate output dynamic word vector
[0281] It should be noted that the relationship terms such as first and second, and the like, are used herein only to distinguish one from another entity or action, and do not necessarily require or imply that these entities or actions are in any way mutually exclusive or directional. Also, the terms "include," "comprise," or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a... " does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0282] In accordance with the embodiments of the present application as described above, these embodiments do not represent all the possible implementations of the present application. It will be apparent to those skilled in the art that many modifications and variations of the described embodiments are possible in light of this disclosure. The embodiments were chosen and described in order to best explain the principles of the present application and its practical application, and to thereby enable others skilled in the art to best utilize the present application and various embodiments with various modifications as are suited to the particular use contemplated. Nothing in this description limits the scope of the application only to the described embodiments. Various embodiments can omit, substitute, or add various procedures or components as appropriate. For instance, the methods described can be performed in an alternative order, and / or various operations can be added, omitted, or combined. Also, the phrase "consisting of is used herein to mean "including and for limiting the scope of the claimed application to the elements recited.
Claims
1. A call center voice processing system based on artificial intelligence, characterized in that, The system includes a speech recognition server for performing speech recognition, at least one natural speech model server for generating candidate output texts from input text, a call center server for determining an output text from a plurality of candidate output texts, and a human voice synthesis model server for converting the output texts into speech content. The call center server is configured to: During a call, the voice content of the other end of the call can be obtained in real time. Detect the pause points in the voice content of the other end of the call; When a pause in the voice content of the other end of the call is detected, the last conversation voice content of the other end of the call is obtained. The last conversation voice content of the other end of the call is input into the speech recognition engine to be converted into the text content of the call; The content of the call text is determined as the input text; The input text is input into one or more large language models to generate a preset number of candidate output texts. The large language model is a natural language model trained using a massive amount of general text. The candidate output texts are matched one by one with the input text to determine the output text; The output text is input into a preset human voice synthesis model to generate the corresponding output speech content; Send the output voice content to the other end of the call; In the step of matching each candidate output text with the input text to determine the output text, the call center server is configured as follows: Generate the input dynamic word vector of the input text ; Generate candidate output dynamic word vectors for the candidate output text. ,in are positive integers and , The number of candidate output texts; Calculate the input dynamic word vector and the candidate output dynamic word vectors Similarity between them: ; in are positive integers and , For the input dynamic word vector and the candidate output dynamic word vectors Dimensions and The input dynamic word vectors are respectively and the candidate output dynamic word vectors No. The values that can be taken in each dimension; Sure The maximum similarity among the aforementioned similarities: ; The maximum similarity The corresponding candidate output text is determined to be the output text; In generating the input dynamic word vector of the input text Alternatively, generate candidate output dynamic word vectors for the candidate output text. In the steps described above, the call center server is configured as follows: The input text or the candidate output text is determined as the target text; The target text is preprocessed; The target text is segmented to obtain multiple word units; The lexical units are encoded into static word vectors using a pre-built dictionary. ,in are positive integers and , The number of tokens in the target text; Obtain the static word vectors The relationship between the corresponding lexical units and the lexical units in the context within the knowledge graph; Based on the aforementioned association, the static word vectors are... Encoding as dynamic word vectors ,in are positive integers and , For the target text and the first The number of lexical units that have related relationships in the knowledge graph; Based on the dynamic word vectors in the target text Generate the input dynamic word vector Or the candidate output dynamic word vector ; The lexical units are encoded into static word vectors using a pre-built dictionary. In the steps described above, the call center server is configured as follows: From the target text Get the first word from the word unit Each word element; The first Each word element is matched with word elements in the dictionary; When the first When the lexical element exists in the dictionary, the lexical element is obtained. The position of each lexical element in the dictionary ; Get the length of the dictionary ; Construct a dimension with Static word vectors ; The static word vector The The value of one dimension is configured as 1, and the values of other dimensions are configured as 0.
2. A call center voice processing method based on artificial intelligence, characterized in that, include: During a call, the voice content of the other end of the call can be obtained in real time. Detect the pause points in the voice content of the other end of the call; When a pause in the voice content of the other end of the call is detected, the last conversation voice content of the other end of the call is obtained. The last conversation voice content of the other end of the call is input into the speech recognition engine to be converted into the text content of the call; The content of the call text is determined as the input text; The input text is input into one or more large language models to generate a preset number of candidate output texts. The large language model is a natural language model trained using a massive amount of general text. The candidate output texts are matched one by one with the input text to determine the output text; The output text is input into a preset human voice synthesis model to generate the corresponding output speech content; Send the output voice content to the other end of the call; The step of matching each candidate output text with the input text to determine the output text specifically includes: Generate the input dynamic word vector of the input text ; Generate candidate output dynamic word vectors for the candidate output text. ,in are positive integers and , The number of candidate output texts; Calculate the input dynamic word vector and the candidate output dynamic word vectors Similarity between them: ; in are positive integers and , For the input dynamic word vector and the candidate output dynamic word vectors Dimensions and The input dynamic word vectors are respectively and the candidate output dynamic word vectors No. The values that can be taken in each dimension; Sure The maximum similarity among the aforementioned similarities: ; The maximum similarity The corresponding candidate output text is determined to be the output text; Generate the input dynamic word vector of the input text Alternatively, generate candidate output dynamic word vectors for the candidate output text. The specific steps include: The input text or the candidate output text is determined as the target text; The target text is preprocessed; The target text is segmented to obtain multiple word units; The lexical units are encoded into static word vectors using a pre-built dictionary. ,in are positive integers and , The number of tokens in the target text; Obtain the static word vectors The relationship between the corresponding lexical units and the lexical units in the context within the knowledge graph; Based on the aforementioned association, the static word vectors are... Encoding as dynamic word vectors ,in are positive integers and , For the target text and the first The number of lexical units that have related relationships in the knowledge graph; Based on the dynamic word vectors in the target text Generate the input dynamic word vector Or the candidate output dynamic word vector ; The lexical units are encoded into static word vectors using a pre-built dictionary. The specific steps include: From the target text Get the first word from the word unit Each word element; The first Each word element is matched with word elements in the dictionary; When the first When the lexical element exists in the dictionary, the lexical element is obtained. The position of each lexical element in the dictionary ; Get the length of the dictionary ; Construct a dimension with Static word vectors ; The static word vector The The value of one dimension is configured as 1, and the values of other dimensions are configured as 0.
3. The AI-based call center voice processing method according to claim 2, characterized in that, Obtain the static word vectors The specific steps for establishing the association between corresponding lexical units and their context lexical units in the knowledge graph include: Identify entity words and attribute words among multiple words in the target text; Retrieve associated triples in the knowledge graph, wherein at least two of the three basic elements of the associated triples are lexical units in the target text; Obtain the unique ID of the associated triple in the knowledge graph. ; Determine the unique number The symbol type; When the unique number When the numbering is numerical, the unique number of the associated triple in the knowledge graph is used. Identify the association between the entity terms and the attribute terms in the knowledge graph: 。 4. The AI-based call center voice processing method according to claim 3, characterized in that, Obtain the unique ID of the associated triple in the knowledge graph. Following these steps, the following are also included: When the unique number When the unique identifier is a non-numeric identifier, a character set is configured, which contains the unique identifier. The character type of each symbol in the text; Read the unique number sequentially Each symbol in the text; Obtain the position encoding of each symbol in the encoded character set. ,in are positive integers and , For the unique number The number of symbols in; Calculate the unique number Numerical encoding: ; Using the numerical encoding Identify the association between the entity terms and the attribute terms in the knowledge graph: 。 5. The AI-based call center voice processing method according to claim 4, characterized in that, Based on the aforementioned association, the static word vectors are... Encoding as dynamic word vectors The specific steps include: Determine the static word vector Non-zero dimension ; Construct a dimension number that corresponds to the static word vector. Dynamic vectors with the same number of dimensions ; The dynamic word vector The The values of each dimension are configured as follows: The values for other dimensions are configured to 0, where These are pre-configured standardized coefficients.
6. The call center voice processing method based on artificial intelligence according to claim 5, characterized in that, Based on the aforementioned association, the static word vectors are... Encoding as dynamic word vectors The steps also include: Obtain each static word vector Number of dimensions ; Obtain the target text static word vectors Maximum number of dimensions: ; The number of dimensions in the target text Less than the maximum number of dimensions Dynamic word vectors The number of dimensions is expanded to the maximum number of dimensions. .
7. The AI-based call center voice processing method according to claim 6, characterized in that, Based on the dynamic word vectors in the target text Generate the input dynamic word vector Or the candidate output dynamic word vector The specific steps include: Calculate the dynamic word vectors in the target text. Quantity: ; Obtain the number of dimensions of the dynamic word vectors in the target text. ; Using the dynamic word vectors Build a The dimensional matrix is used as the word vector matrix A of the target text; Generate the input dynamic word vectors based on the word vector matrix A of the target text. Or the candidate output dynamic word vector .
Citation Information
Patent Citations
An insurance man-machine coupling customer service system and method based on artificial intelligence
CN109685673A
Abstract automatic generation method and device and computer readable storage medium
CN113468318A
Bridge detection knowledge graph question answering method based on hierarchical cross attention mechanism
CN115577086A
Medical dialogue text matching method and device, equipment and storage medium
CN116069918A