A high-efficiency voice consultation data processing method, device, equipment and medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING ZHONGLIAN NORTH INFORMATION TECH CO LTD
- Filing Date
- 2025-10-28
- Publication Date
- 2026-05-12
AI Technical Summary
Traditional automated voice response systems are unable to effectively understand the highly specific and ambiguous specialized vocabulary used in universities, resulting in insufficient accuracy in responses during university voice consultations.
The initial text sequence and parallel phoneme sequence are generated through speech recognition processing. Combined with a pre-set university knowledge base, dual-path parallel vocabulary processing is performed. Using the alias information and standard term information in the university knowledge base, merging and context disambiguation are performed to generate standardized query text. Finally, information retrieval is performed in the university knowledge base.
This has improved the accuracy and intelligence of responses to voice consultations in universities, and made the voice consultation service in universities more efficient and precise.
Smart Images

Figure CN121303125B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing, and particularly to a method, device, equipment and medium for processing voice consultation data in colleges and universities. Background Art
[0002] With the vigorous development of higher education and the continuous deepening of informatization construction, colleges and universities need to process a huge amount of consultation requests from examinees, current students, parents and all sectors of society every year. These consultations cover all aspects such as enrollment policies, major settings, campus life, and academic affairs management. The traditional Interactive Voice Response (IVR) system has a fixed function and can only navigate through key presses. It cannot understand complex or personalized questions raised by users in natural language, resulting in a long information acquisition path and low satisfaction. Therefore, how to efficiently and accurately automate the processing of massive and unstructured voice consultation data to improve the intelligent level of college consultation services has become a technical problem urgently to be solved in the current informatization construction of colleges and universities.
[0003] To solve the problem that the above traditional consultation mode cannot effectively understand the natural language intention of users, an intelligent processing solution combining automatic speech recognition and natural language understanding technologies is adopted in the prior art. The working process of this solution is roughly as follows: the voice query of the user is real-time converted into a text sequence by an automatic speech recognition engine; then, the converted text is analyzed by a natural language understanding model to extract the key intention and entity information contained therein. Finally, according to the recognized intention and entity, a search and match are performed in the background knowledge base, and the query result is broadcast to the user through speech synthesis technology. This technical solution has overcome the disadvantages of the traditional mode to a large extent, can process a part of queries based on natural language, and realizes preliminary consultation automation.
[0004] However, when the above method is applied to voice consultation in colleges and universities, there is still a technical defect. As a unique knowledge and management aggregate, there are a large number of highly specific and ambiguous proprietary terms, abbreviations or aliases in colleges and universities. For example, in different colleges and universities, "School of Information" may refer to "School of Information Science and Engineering", or may also refer to "School of Software and Information", etc. Due to the lack of training for these specific acoustic scenarios, general speech recognition models are extremely likely to misrecognize these abbreviations or terms in the transcribing link, resulting in deviation of intention understanding, and then leading to providing wrong information to users or being unable to provide effective answers, which greatly limits the reply accuracy of this technology in the college scenario. Summary of the Invention
[0005] This application provides a method, device, equipment and medium for processing voice consultation data in colleges and universities, so as to improve the accuracy of voice consultation services in colleges and universities.
[0006] A first aspect of this application provides a method for processing voice consultation data in universities. The method includes: acquiring a voice consultation request input by a user; performing speech recognition processing on the voice consultation request to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence; performing dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence based on a preset university knowledge base to obtain a first candidate vocabulary and a second candidate vocabulary; merging the first candidate vocabulary and the second candidate vocabulary to obtain a merged vocabulary; performing context disambiguation on the merged vocabulary to obtain a standardized query text; and performing information retrieval in the preset university knowledge base based on the standardized query text to generate a corresponding consultation response.
[0007] By employing the aforementioned technical solution, the user's voice consultation request is acquired, and speech recognition processing is performed on the request to obtain an initial text sequence and a parallel phoneme sequence aligned word-by-word with the initial text sequence. This accurately converts the user's voice input into text form and establishes the correspondence between words and phonemes, laying the foundation for subsequent vocabulary processing. Then, based on a pre-defined university knowledge base, dual-path parallel vocabulary processing is performed on the initial text sequence and the parallel phoneme sequence to obtain first and second candidate words. From both character matching and acoustic matching perspectives, the alias information and standard term information in the university knowledge base are fully utilized to quickly and accurately identify keywords in the initial text sequence, improving the recall and precision of vocabulary processing. Next, the first and second candidate words are merged to obtain merged words, effectively eliminating redundancy and ambiguity between candidate words and resulting in a concise and coherent vocabulary sequence. Context disambiguation is performed on the merged words to obtain standardized query text, further improving the standardization and clarity of vocabulary expression and eliminating semantic confusion. Finally, information is retrieved from a pre-set university knowledge base based on the standardized query text to generate corresponding consultation responses. This leverages the structured information in the university knowledge base to quickly and accurately find the most relevant answers to the user's questions, providing high-quality intelligent response services. This technical solution addresses the difficulties in terminology recognition and insufficient accuracy in university voice consultations through technologies such as speech recognition, phoneme alignment, dual-path vocabulary processing, context disambiguation, and standardized query text generation. Ultimately, it achieves intelligent, efficient, and precise university voice consultation services.
[0008] Optionally, the step of performing dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence based on a preset university knowledge base to obtain a first candidate vocabulary and a second candidate vocabulary specifically includes: performing string matching between the initial text sequence and the alias set in the preset university knowledge base, and using the first alias that successfully matches and the corresponding formal name as the first candidate vocabulary; extracting the corresponding phoneme subsequence from the parallel phoneme sequence for the word regions in the initial text sequence that fail string matching, as the phoneme sequence to be matched; calculating the weighted edit distance between the phoneme sequence to be matched and the standard phoneme sequences of each standard term in the preset university knowledge base based on a preset phoneme confusion matrix, and obtaining the acoustic similarity score corresponding to each standard term; determining a similarity threshold corresponding to the length of the phoneme sequence to be matched; and using the target standard term with an acoustic similarity score higher than the similarity threshold and the target formal name corresponding to the target standard term as the second candidate vocabulary.
[0009] By adopting the above technical solution, during dual-path parallel vocabulary processing, the initial text sequence is matched against a set of aliases in a pre-defined university knowledge base. The first successfully matched alias and its corresponding official name are used as the first candidate words, enabling rapid identification of known university entities in the initial text sequence. For word regions in the initial text sequence that fail string matching, corresponding phoneme subsequences are extracted from the parallel phoneme sequence as the phoneme sequence to be matched. Alignment information between words and phonemes can be used to accurately locate the positions requiring acoustic matching, reducing unnecessary matching operations. Based on a pre-defined phoneme confusion matrix, the weighted edit distance between the phoneme sequence to be matched and the standard phoneme sequences of each standard term in the pre-defined university knowledge base is calculated, yielding the acoustic similarity score for each standard term. This fully considers easily confused phonemes in speech recognition, improving the fault tolerance and robustness of acoustic matching. A similarity threshold corresponding to the length of the phoneme sequence to be matched is determined, allowing for adaptive adjustment of the matching strictness, improving matching flexibility while maintaining accuracy. Finally, by using the target standard terms with acoustic similarity scores higher than the similarity threshold and the corresponding official names of the target standard terms as second candidate terms, the most likely matching results can be quickly found from the massive university knowledge base, thus enriching the source of candidate terms.
[0010] Optionally, determining the similarity threshold corresponding to the length of the phoneme sequence to be matched specifically includes: constructing an evaluation set containing positive and negative sample pairs, wherein the positive sample pairs consist of phoneme sequences with different pronunciations but the same meaning, and the negative sample pairs consist of phoneme sequences with the same pronunciation but different meanings; calculating the acoustic similarity scores of positive and negative sample pairs for each phoneme sequence of different lengths in the evaluation set to form a score distribution for phoneme sequences of different lengths; determining a score critical point for each length through receiver operating characteristic curve analysis, and using the score critical point as the initial similarity threshold corresponding to the length; performing function fitting on the initial similarity thresholds for all lengths to generate a mapping function containing the correspondence between phoneme sequence lengths and similarity thresholds; and determining the similarity threshold corresponding to the length based on the mapping function.
[0011] By employing the above technical solution, when determining the similarity threshold corresponding to the length of the phoneme sequence to be matched, an evaluation set containing positive and negative sample pairs is constructed. The acoustic similarity scores of positive and negative sample pairs for each phoneme sequence of different lengths in the evaluation set are calculated, forming a score distribution for phoneme sequences of different lengths. This objectively and meticulously depicts the variation of acoustic similarity scores with phoneme sequence length, providing data support for threshold selection. For each length, a score critical point is determined through receiver operating characteristic curve analysis, and this critical point is used as the initial similarity threshold corresponding to the length. This allows for finding the optimal balance between precision and recall, making the similarity threshold setting more reasonable and reliable. Finally, based on a mapping function, the similarity threshold corresponding to the length of the phoneme sequence to be matched is determined. This allows for flexible and dynamic adjustment of the matching strictness for phoneme sequences of different lengths, fully adapting to the diversity and complexity of voice consultation requests.
[0012] Optionally, the step of performing context disambiguation on the merged vocabulary to obtain normalized query text specifically includes: constructing a corresponding disambiguation context for the vocabulary to be arbitrated that has multiple candidate official names in the merged vocabulary, wherein the disambiguation context consists of all lexical units in the initial text sequence except for the vocabulary to be arbitrated; calculating and assigning a corresponding context importance weight to each lexical unit; calculating the total semantic association strength score between each candidate official name of the vocabulary to be arbitrated and the disambiguation context based on the context importance weight; and selecting the target candidate official name corresponding to the highest total semantic association strength score from among the multiple candidate official names to replace the vocabulary to be arbitrated, thereby obtaining the normalized query text.
[0013] Optionally, the step of calculating the total semantic association strength score between each candidate formal name of the word to be arbitrated and the disambiguation context based on the context importance weight specifically includes: obtaining a preset word co-occurrence relationship graph, where nodes in the preset word co-occurrence relationship graph represent words, and edges in the preset word co-occurrence relationship graph represent co-occurrence relationships between words; for each candidate formal name, determining the starting node corresponding to the candidate formal name and the ending node corresponding to the target word in the preset word co-occurrence relationship graph, where the target word is any one of the multiple words included in the disambiguation context; calculating the shortest path distance from the starting node to the ending node, and using the reciprocal of the shortest path distance as the basic semantic association score between the candidate formal name and the target word; multiplying the basic semantic association score corresponding to each word in the disambiguation context by the context importance weight corresponding to each word to obtain the weighted association score corresponding to the word; and summing the weighted association scores of all words in the disambiguation context to generate the total semantic association strength score of the candidate formal name.
[0014] Optionally, the step of performing speech recognition processing on the voice consultation request to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence specifically includes: extracting acoustic features of the voice consultation request to generate an acoustic feature sequence; inputting the acoustic feature sequence into a preset acoustic model to generate a phoneme probability distribution sequence aligned with the frame of the acoustic feature sequence; based on the phoneme probability distribution sequence, generating the initial text sequence and the word time boundaries corresponding to each word in the initial text sequence through decoding processing; based on the phoneme probability distribution sequence, determining the optimal phoneme path and merging consecutive identical phonemes in the optimal phoneme path to generate a compressed phoneme sequence; and segmenting the compressed phoneme sequence according to the word time boundaries to generate a parallel phoneme sequence aligned word-by-word with the initial text sequence.
[0015] Optionally, merging the first candidate words and the second candidate words to obtain merged words specifically includes: performing a union operation on the first candidate words and the second candidate words to obtain a union word set; for each union word in the union word set, extracting the position information corresponding to each union word, the position information including the start position and end position of the union word in the initial text sequence; based on the position information, merging the first union word and the second union word in the union word set to obtain merged words, and adding the remaining words to the merged words, wherein the first union word and the second union word are any two union words in the multiple union words included in the union word set that have an intersection relationship or containment relationship, and the remaining words are the union words in the union word set other than the first union word and the second union word.
[0016] A second aspect of this application provides a college voice consultation data processing device, comprising: a voice request acquisition module, a voice recognition processing module, a parallel vocabulary processing module, a vocabulary merging module, a context disambiguation module, and a consultation response generation module, wherein: the voice request acquisition module is used to acquire a voice consultation request input by a user; the voice recognition processing module is used to perform voice recognition processing on the voice consultation request to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence; the parallel vocabulary processing module is used to perform dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence based on a preset college knowledge base to obtain a first candidate vocabulary and a second candidate vocabulary; the vocabulary merging module is used to merge the first candidate vocabulary and the second candidate vocabulary to obtain a merged vocabulary; the context disambiguation module is used to perform context disambiguation on the merged vocabulary to obtain a standardized query text; and the consultation response generation module is used to perform information retrieval in the preset college knowledge base based on the standardized query text to generate a corresponding consultation response.
[0017] A third aspect of this application provides an electronic device including a processor, a memory, a user interface, and a network interface, wherein the memory is used to store instructions, the user interface and the network interface are both used to communicate with other devices, and the processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method as described in any of the foregoing.
[0018] A fourth aspect of this application provides a computer-readable storage medium storing instructions that, when executed, perform the method described in any of the preceding descriptions.
[0019] In summary, one or more technical solutions provided in this application have at least the following technical effects or advantages:
[0020] This technical solution systematically addresses the difficulties in terminology recognition and insufficient accuracy in responses during university voice consultations through technologies such as speech recognition, phoneme alignment, dual-channel vocabulary processing, context disambiguation, and standardized query text generation. Ultimately, it achieves intelligent, efficient, and precise voice consultation services for universities. Attached Figure Description
[0021] Figure 1 This is a flowchart illustrating a method for processing voice consultation data in universities, as disclosed in an embodiment of this application.
[0022] Figure 2 This is another flowchart illustrating a method for processing voice consultation data in universities, as disclosed in an embodiment of this application.
[0023] Figure 3 This is a schematic diagram of a module of a university voice consultation data processing device disclosed in an embodiment of this application;
[0024] Figure 4 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application.
[0025] Explanation of reference numerals in the attached figures: 301, Voice request acquisition module; 302, Voice recognition processing module; 303, Parallel vocabulary processing module; 304, Vocabulary merging module; 305, Context disambiguation module; 306, Consultation response generation module; 400, Electronic device; 401, Processor; 402, Communication bus; 403, User interface; 404, Network interface; 405, Memory. Detailed Implementation
[0026] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0027] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0028] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0029] This application provides a method for processing voice consultation data in universities, referring to... Figure 1 , Figure 1 This application provides a method for processing university voice consultation data. The method is applied to a server, which is used to execute the university voice consultation data processing program. The server can be a single server, a server cluster consisting of multiple servers, or a cloud computing service center. The method includes steps S101 to S106, as follows:
[0030] Step S101: Obtain the user's voice consultation request.
[0031] In step S101, the server receives a voice consultation request from a user's terminal device via a network interface. This voice consultation request is a voice data stream generated when the user directly dials the service hotline and interacts with the voice interaction system in real time. After receiving the voice consultation request, the server temporarily stores it in memory or a storage device such as a hard drive for later processing.
[0032] Step S102: Perform speech recognition processing on the voice consultation request to obtain the initial text sequence corresponding to the voice consultation request and the parallel phoneme sequence aligned word by word with the initial text sequence.
[0033] In step S102, the server performs speech recognition processing on the acquired voice consultation request. Specifically, the server has pre-trained acoustic and language models, which can be trained based on a large amount of speech and text data from the university field to ensure good recognition performance in university voice consultation scenarios. The server uses the acoustic model to extract acoustic features and model the voice consultation request, converting the speech signal into a probability sequence of basic speech units such as phonemes or syllables. Then, the server uses the language model to decode the phoneme sequence to obtain the initial recognition result, i.e., the initial text sequence corresponding to the voice consultation request. During the recognition process, the server can also use the Hidden Markov Model (HMM) in the acoustic model to force alignment of the speech frame with standard phonemes, thereby obtaining a parallel phoneme sequence aligned word-by-word with the initial text sequence, where each text word corresponds to one or more consecutive standard phonemes.
[0034] In one possible implementation, the voice consultation request is processed by speech recognition to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence. Specifically, this includes steps S1021-S1025, as follows:
[0035] Step S1021: Extract the acoustic features of the voice consultation request and generate an acoustic feature sequence.
[0036] In step S1021, the server first extracts acoustic features from the voice consultation request, generating an acoustic feature sequence corresponding to the voice frame. Specifically, the server can use acoustic feature extraction methods such as Mel-frequency cepstral coefficients and perceptual linear prediction coefficients to transform the voice signal into a series of fixed-dimensional feature vectors. These feature vectors can reflect the spectral characteristics of the voice signal in the frequency domain and the energy change trend of the voice signal in the time domain, thus providing suitable input for subsequent acoustic modeling. When extracting acoustic features, the server also performs preprocessing operations such as pre-emphasis, framing, and windowing on the voice signal to enhance the robustness and discriminative power of the features. Furthermore, the server can perform post-processing such as normalization and denoising on the extracted acoustic feature sequence to further improve the feature quality.
[0037] Step S1022: Input the acoustic feature sequence into the preset acoustic model to generate a phoneme probability distribution sequence that is frame-aligned with the acoustic feature sequence.
[0038] In step S1022, the server inputs the extracted acoustic feature sequence into a preset acoustic model to generate a phoneme probability distribution sequence aligned with the frames of the acoustic feature sequence. The preset acoustic model refers to a statistical model for acoustic modeling that the server pre-trains offline, such as a Hidden Markov Model, Gaussian Mixture Model, or Deep Neural Network. The preset acoustic model learns the correspondence between speech signals and phoneme units by training on a large amount of speech data and corresponding labeled text, thus enabling it to predict the phoneme probability distribution corresponding to each frame based on the input acoustic feature sequence. Specifically, the server feeds the acoustic feature sequence frame by frame into the preset acoustic model and calculates the probability that each frame belongs to each phoneme state given the observed feature vector, thus obtaining a frame-level phoneme probability distribution sequence. The length of this sequence is the same as the number of frames in the acoustic feature sequence, and each time step corresponds to a phoneme probability distribution vector, where each element of the vector represents the probability that the current frame belongs to the corresponding phoneme state.
[0039] For example, when a user requests a voice inquiry like "What is the phone number for the Computer Science Department of XX University?", the server first converts it into a series of MFCC feature vectors, forming an acoustic feature sequence. Then, the server inputs this feature sequence frame-by-frame into a pre-defined Hidden Markov Model (HMM). Assuming the output layer of this model contains 100 phoneme states, the server obtains a phoneme probability distribution matrix of frame number × 100 dimensions. Each row corresponds to a speech frame, each column corresponds to a phoneme state, and the value of the matrix element (i, j) represents the probability that the speech in the i-th frame belongs to the j-th phoneme state. In this way, the server completes the conversion from a continuous speech signal to a discrete phoneme probability distribution sequence, laying the foundation for subsequent decoding and alignment.
[0040] Step S1023: Based on the phoneme probability distribution sequence, generate an initial text sequence and the temporal boundaries of each word in the initial text sequence through decoding.
[0041] In step S1023, based on the phoneme probability distribution sequence obtained in the previous step, the server generates an initial text sequence corresponding to the voice consultation request and the temporal boundaries of each word in the initial text sequence through decoding. Specifically, the server can use decoding algorithms such as Viterbi decoding and WFST decoding to search the phoneme probability distribution sequence for an optimal phoneme state sequence that minimizes the difference between the transcribed text and the actual text. During the decoding process, the server not only utilizes the phoneme probability information provided by the preset acoustic model but also scores the prior probabilities of different text sequences using a language model, thus comprehensively considering both acoustic and linguistic factors. The optimal phoneme state sequence obtained from decoding can be directly converted into an initial text transcription, i.e., the initial text sequence corresponding to the voice consultation request. Simultaneously, the server records the start and end positions of each word in the phoneme state sequence during the decoding process, thereby obtaining the temporal boundary information corresponding to each word in the initial text sequence.
[0042] Step S1024: Based on the phoneme probability distribution sequence, determine the optimal phoneme path, and merge consecutive identical phonemes in the optimal phoneme path to generate a compressed phoneme sequence.
[0043] In step S1024, the server determines the optimal phoneme path based on the phoneme probability distribution sequence using algorithms such as dynamic programming, and merges consecutive identical phonemes along the optimal phoneme path to generate a compressed phoneme sequence. The optimal phoneme path refers to the path with the highest cumulative probability from the starting node to the ending node in the grid graph defined by the phoneme probability distribution sequence. The server can use the Viterbi algorithm for global optimal path search or an approximate gradient descent method for local optimal path search. After determining the optimal phoneme path, the server merges consecutive identical phoneme states along the path to obtain the compressed phoneme sequence, where each element corresponds to an independent phoneme segment. This is done to eliminate redundancy and repetition in the phoneme state sequence, improving the efficiency and accuracy of subsequent alignment.
[0044] Step S1025: Based on the word time boundary, the compressed phoneme sequence is segmented to generate a parallel phoneme sequence that is aligned word-by-word with the initial text sequence.
[0045] In step S1025, the server segments the compressed phoneme sequence according to the lexical time boundaries, generating a parallel phoneme sequence aligned word-by-word with the initial text sequence. Specifically, the server first segments the initial text sequence according to lexical units, obtaining a series of independent lexical segments. Then, the server uses the lexical time boundary information to perform corresponding segmentation on the compressed phoneme sequence, associating each lexical segment with its corresponding phoneme segment to form a set of parallel lexical-phoneme pairs. During this process, the server needs to handle some special cases, such as incomplete alignment between lexical and phoneme boundaries, or one lexical unit corresponding to multiple phoneme segments. The principle of handling these cases is to maintain the synchronization of lexical units and phoneme segments on the time axis as much as possible. Finally, the server obtains a parallel phoneme sequence aligned word-by-word with the initial text sequence, where each element of the sequence is a lexical-phoneme pair, representing the pronunciation segment corresponding to that lexical unit in the speech signal.
[0046] Step S103: Based on the preset university knowledge base, perform dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence to obtain the first candidate vocabulary and the second candidate vocabulary.
[0047] In step S103, the server performs dual-path parallel vocabulary processing on the initial text sequence based on a pre-built university knowledge base. This pre-constructed knowledge base contains various specialized terms in the university field, along with their aliases, variants, and synonyms. The server first uses text matching to precisely match the initial text sequence with the vocabulary in the knowledge base, identifying university-specific vocabulary and designating these as first-line candidate words. Simultaneously, the server employs a fuzzy matching method based on phoneme sequences to extract the corresponding phoneme subsequences from the parts of the initial text sequence that do not match the pre-built knowledge base. A dynamic programming algorithm is then used to calculate the edit distance between this phoneme subsequence and the standard phoneme sequences of each word in the pre-built knowledge base, selecting the words with the smallest edit distances as second-line candidate words. This dual-path parallel processing method maximizes the use of information from both text and speech levels, improving the recall rate for identifying university-specific vocabulary.
[0048] For example, a user might say, "I'd like to know about the employment situation for your university's Computer Science and Technology major this year." After speech recognition, the initial text sequence might be "I'd like to know about the employment situation for your university's Computer Science and Technology major this year," where "Computer Science and Technology" is a unique major name specific to certain universities. By matching text in a university knowledge base, the server can accurately identify this major name and use it as the first candidate word. For general terms like "your university," the server can analyze the similarity between its phoneme sequence and the standard phoneme sequences of various university names in the knowledge base to guess which specific university the user is referring to, and then use the top-ranked university names as second candidate words.
[0049] In one possible implementation, based on a preset university knowledge base, dual-path parallel vocabulary processing is performed on the initial text sequence and the parallel phoneme sequence to obtain a first candidate vocabulary and a second candidate vocabulary. Specifically, this includes steps S1031-S1039, as follows:
[0050] Step S1031: Perform string matching between the initial text sequence and the set of aliases in the preset university knowledge base, and take the first alias that is successfully matched and the corresponding formal name as the first candidate words.
[0051] In step S1031, the server performs string matching between the initial text sequence and a set of aliases in a preset university knowledge base, and selects the first successfully matched alias and its corresponding official name as the first candidate words. Specifically, the server first iterates through each entry in the university knowledge base, extracting its alias field to form an alias set. Then, the server uses string matching algorithms, such as the KMP algorithm or the Boyer-Moore algorithm, to search for substrings in the initial text sequence that are identical to each element in the alias set. When a successfully matched alias is found, the server uses that alias and its corresponding official name (i.e., the standard entry to which the alias belongs in the knowledge base) together as a set of first candidate words.
[0052] Step S1032: For the word regions in the initial text sequence that did not pass string matching, extract the corresponding phoneme subsequences from the parallel phoneme sequence as the phoneme sequence to be matched.
[0053] In step S1032, the server extracts corresponding phoneme subsequences from the parallel phoneme sequence for the word regions in the initial text sequence that failed string matching, as the phoneme sequences to be matched. Specifically, the server first identifies all unmatched words in the initial text sequence, i.e., those words that do not appear in the first candidate words. Then, the server uses the alignment information in the parallel phoneme sequence to find the start and end positions of each unmatched word in the compressed phoneme sequence, and extracts the phonemes within that range as a phoneme subsequence. These phoneme subsequences are the phoneme sequences to be matched; they record the pronunciation information of unknown words in the initial text sequence, providing a basis for subsequent acoustic matching.
[0054] Step S1033: Based on the preset phoneme confusion matrix, calculate the weighted edit distance between the phoneme sequence to be matched and the standard phoneme sequences of each standard term in the preset university knowledge base, and obtain the acoustic similarity score corresponding to each standard term.
[0055] In step S1033, the server calculates the weighted edit distance between the phoneme sequence to be matched and the standard phoneme sequences of each standard term in the preset university knowledge base based on a preset phoneme confusion matrix, thus obtaining the acoustic similarity score corresponding to each standard term. A standard phoneme sequence refers to the phoneme-level representation of the standard pronunciation of each term in the knowledge base. For example, the standard phoneme sequence for "Tsinghua University" might be "q ing1 h ua2 d a4 x ue2". The phoneme confusion matrix is a pre-calculated probability matrix that represents the probability that one phoneme is mistaken for another in speech recognition. For example, [f] and [h] are similar in pronunciation, so their confusion probability is relatively high. When calculating the weighted edit distance, the server considers not only the degree of difference between the phoneme sequence to be matched and the standard phoneme sequence, but also assigns different weights to different types of phoneme replacement, insertion, and deletion operations based on the confusion matrix, thereby obtaining the distance metric. Finally, the server converts the weighted edit distance between the phoneme sequence to be matched and each standard word into a normalized acoustic similarity score. The higher the score, the closer the two are in pronunciation.
[0056] For example, in a user's voice inquiry, "Who is the current dean of the School of Computer Science at Peking University?", assuming "PKU" fails the alias matching, the server extracts "bei3da4" from the parallel phoneme sequence as the phoneme sequence to be matched. Then, the server calculates the weighted edit distance between this sequence and the standard phoneme sequences of standard entries such as "PKU," "Beijing University of Posts and Telecommunications," and "Beijing Normal University" in the knowledge base. This might yield an acoustic similarity score of [0.8, 0.6, 0.4], indicating that "PKU" and "PKU" are most similar in pronunciation. This acoustic matching method can effectively identify university entities with non-standard wording but similar pronunciations, compensating for the shortcomings of alias-based matching.
[0057] Step S1034: Construct an evaluation set containing positive sample pairs and negative sample pairs, wherein positive sample pairs consist of phoneme sequences with different pronunciations but the same meaning, and negative sample pairs consist of phoneme sequences with the same pronunciation but different meanings.
[0058] In step S1034, the evaluation set refers to a labeled dataset specifically used to evaluate and calibrate the algorithm's performance. Positive sample pairs represent a set of phoneme sequence pairs (p1, p2), where p1 and p2 differ in pronunciation (e.g., due to accent, slip of the tongue, or ASR recognition error), but semantically refer to the same correct word meaning or entity. For example, a positive sample pair could be ("jisuanli", "jisuanji"), where the former is an incorrect pronunciation of "computer" and the latter is the standard pronunciation, but both refer to the word "computer." Negative sample pairs represent another set of phoneme sequence pairs (p1, p2), where p1 and p2 may be very similar or even identical in pronunciation, but semantically refer to completely different word meanings or entities. For example, a negative sample pair could be ("shíyànshì", "shíyànshì"), where one means "laboratory" and the other means "test room" or "oath," and they are homophones.
[0059] Specifically, to construct such a high-quality evaluation set, the program developer will perform the following operations in the server in advance: First, collect a large number of real-world recordings of college voice consultations, and through manual annotation or existing ASR logs, find a large number of cases with non-standard pronunciation but clear intentions to form positive sample pairs. For example, pair the phoneme sequence corresponding to the audio where the user pronounces zhāo shēn bàn with the standard phoneme sequence zhāo shēng bàn of the standard entry "recruitment office" to form a positive sample pair. Second, screen out a large number of homophones or near-homophones from Chinese dictionaries and college-related vocabulary, and pair their standard phoneme sequences to form negative sample pairs. For example, pair the phoneme sequences of "logistics" (hòu qín) and "hòu qín" (a name). By pooling a large number of positive and negative sample pairs, a structured evaluation set is finally formed, which will be used as the benchmark for determining the optimal similarity threshold in the following steps.
[0060] Step S1035: Calculate the acoustic similarity scores of the positive and negative sample pairs of phoneme sequences of each different length in the evaluation set to form the score distribution of phoneme sequences of different lengths.
[0061] In step S1035, the phoneme sequences of different lengths refer to grouping the phoneme sequences in the evaluation set according to the number of phoneme units they contain, such as a group of length 3, a group of length 4, etc. The acoustic similarity score refers to the score calculated by the method of step S1033 (i.e., based on the weighted edit distance) and used to quantify the pronunciation similarity degree of two phoneme sequences. The score distribution represents the numerical distribution of the score sets of all positive sample pairs and all negative sample pairs for a specific length of phoneme sequence.
[0062] Specifically, the server executes a batch processing task offline. This task iterates through every sample pair (whether positive or negative) in the evaluation set. For each sample pair (p1, p2), the server first determines its length (it can take the average or maximum length of p1 and p2 and categorize them, such as grouping lengths between 5 and 7 into one category). Then, the server calls the acoustic similarity calculation module in step S1033 to calculate the acoustic similarity score between p1 and p2. After the calculation is completed, the server categorizes this score according to its sample type (positive / negative) and length, and stores it in the corresponding set. For example, for a positive sample pair with a length of 8, its score is 0.95, so this 0.95 is added to the "length 8 - positive sample score set"; for a negative sample pair with a length of 8, its score is 0.88, so this 0.88 is added to the "length 8 - negative sample score set". After completing the computation on the entire evaluation set, the server obtains a clear distribution of positive and negative sample scores for each phoneme sequence of different lengths (or length ranges). Theoretically, the scores of positive samples tend to be concentrated in high-scoring regions, while the scores of negative samples are distributed in lower-scoring regions, but there is usually some overlap between the two.
[0063] Step S1036: For each length, determine the scoring threshold by analyzing the receiver operation feature curve, and use the scoring threshold as the initial similarity threshold corresponding to the length.
[0064] In step S1036, receiver operating characteristic (ROC) analysis is a statistical method used to evaluate the performance of a binary classification model. It plots a curve showing the relationship between the true positive rate (TPR, the proportion of correctly identified positive samples) and the false positive rate (FPR, the proportion of incorrectly identified negative samples as positive samples) by classifying samples with different thresholds. The score critical point refers to an optimal balance point found on the ROC curve. This point is typically located at a position that maximizes the true positive rate while minimizing the false positive rate; for example, it is the point closest to the upper left corner of the ROC curve (0, 1), or the point that maximizes the sum of TPR and (1-FPR). The initial similarity threshold represents the preliminary optimal classification threshold determined through the above analysis for a phoneme sequence of a specific length.
[0065] Specifically, for each score distribution obtained in the previous step, the server performs an independent receiver operating characteristic (ROC) curve analysis. Taking an 8-phoneme sequence as an example, the server uses the score distributions of its positive and negative samples as input. By iterating through all possible score values from high to low as thresholds, the server can calculate the true positive rate (the proportion of positive samples scoring above this threshold) and false positive rate (the proportion of negative samples scoring above this threshold) at each threshold. Plotting these (FPR, TPR) pairs on a two-dimensional coordinate system forms the ROC curve for that length. The server then searches for an optimal score threshold on this curve. One strategy is to find the point that maximizes the Youden index (Youden index = TPR - FPR). Assuming that for an 8-phoneme sequence, the Youden index reaches its maximum when the threshold is set to 0.92, then 0.92 is determined as the initial similarity threshold corresponding to an 8-phoneme sequence. The server repeats this process for all score distributions of different lengths to obtain a series of initial similarity thresholds, such as (length 3, 0.98), (length 5, 0.94), (length 8, 0.92), ...
[0066] Step S1037: Perform function fitting on the initial similarity thresholds for all lengths to generate a mapping function that contains the correspondence between phoneme sequence lengths and similarity thresholds.
[0067] In step S1037, function fitting refers to using a mathematical function to approximate the relationship between a set of discrete data points (here, the "length-initial similarity threshold" pair). The mapping function represents this final fitted mathematical formula, which takes a phoneme sequence length as input and outputs a corresponding, smooth, and highly generalizable similarity threshold.
[0068] Specifically, the server collects discrete data points, including all lengths and their corresponding initial similarity thresholds. Observing these data points reveals a general pattern: the longer the phoneme sequence, the greater its tolerance for pronunciation deviations (i.e., the allowed edit distance), thus allowing for a more appropriate reduction in the corresponding similarity threshold. To transform this discrete relationship into a continuous, universal model, the server employs function fitting techniques. For example, the server can use the least squares method with a polynomial function (such as the quadratic function y=ax). 2 The data points can be fitted using either a function (x + bx + c) or an exponential function, where x is the length of the phoneme sequence and y is the similarity threshold. Through fitting, the server can obtain a set of optimal function parameters (such as the values of a, b, and c), thereby generating a specific mapping function, for example...
[0069] Threshold(L) = -0.001 * L 2+0.005*L+0.99, where L represents the length of the phoneme sequence.
[0070] Step S1038: Determine the similarity threshold corresponding to the length based on the mapping function.
[0071] In step S1038, the similarity threshold refers to the final decision boundary used in the actual, online acoustic fuzzy matching process to determine whether a phoneme sequence to be matched is sufficiently similar to a standard phoneme sequence.
[0072] Specifically, during step S1033, a threshold is needed to filter acoustic similarity scores. At this point, the server no longer uses a fixed threshold but calculates it dynamically. For a phoneme sequence to be matched, the server first obtains its length L. Then, the server uses this length L as input and substitutes it into the mapping function generated in step S1037 for calculation. For example, if the length of the phoneme sequence to be matched is 10, the server calculates...
[0073] Threshold(10) = -0.001*(10) 2 +0.005*10+0.99=-0.1+0.05+0.99=0.94. Therefore, 0.94 is determined as the similarity threshold used for this matching. Only standard words with an acoustic similarity score higher than 0.94 are considered valid candidate words. In this way, this method implements a dynamic and adaptive threshold strategy, making fuzzy matching for words of different lengths more accurate and reasonable.
[0074] Step S1039: Select the target standard terms with acoustic similarity scores higher than the similarity threshold and the target official names corresponding to the target standard terms as the second candidate terms.
[0075] In step S1039, the acoustic similarity score represents the numerical value calculated in step S1033, quantifying the degree of similarity between the phoneme sequence to be matched and a certain standard phoneme sequence. The similarity threshold refers to the decision boundary dynamically determined for a specific length of the current phoneme sequence to be matched using a mapping function in step S1038. The target standard term represents those standard terms whose acoustic similarity scores successfully exceed the aforementioned dynamic similarity threshold; these are considered potentially correct words whose pronunciation highly matches the user's intent. The target official name refers to the official, complete name corresponding to the target standard term in the preset university knowledge base; in many cases, the standard term itself is its official name. The second candidate word represents a data structure generated by the phoneme path matching pathway, which includes the identified target standard term, its corresponding official name, and the original incorrect representation and position information of the word in the initial text sequence.
[0076] Specifically, after the server has completed the calculation of the acoustic similarity between a sequence of phonemes to be matched and all standard entries in the knowledge base, it will obtain a list containing all standard entries and their scores. At the same time, the server has determined the dynamic similarity threshold used for this comparison through the mapping function in step S1038 based on the length of the sequence of phonemes to be matched, for example, 0.94. Next, the server will traverse this score list and judge the score of each standard entry. Any score greater than 0.94 is screened out and becomes a target standard entry. For example, for the sequence of phonemes to be matched j i s uanj i x ue y uan (from the incorrect text "计蒜机学院"), it may be found that the score of the standard entry "计算机学院" is 0.98, while the score of "建筑学院" is 0.85 after calculating the scores. Since 0.98 > 0.94 and 0.85 < 0.94, "计算机学院" is determined as the target standard entry. Subsequently, the server encapsulates this target standard entry ("计算机学院") and its corresponding formal name (which is also "计算机学院" in this example), together with its original segment ("计蒜机学院") and position information in the initial text sequence, into a data object. This object is the second candidate word. If the scores of multiple standard entries exceed the threshold, they will all be recorded as second candidate words for the subsequent disambiguation step to make the final decision. Finally, the server outputs the set of all second candidate words found through phoneme path matching, completing the second path in the two-way parallel processing.
[0077] Step S104: Merge the first candidate words and the second candidate words to obtain merged words.
[0078] In step S104, the server merges the first candidate words and the second candidate words obtained through two-way parallel word processing to form a unified list of merged words. Specifically, the server first performs a deduplication operation on the first candidate words and the second candidate words, merging the repeatedly occurring words. Then, the server sorts the first candidate words and the second candidate words according to their positions in the original text sequence to obtain an ordered list of merged words. The purpose of doing this is to facilitate subsequent context disambiguation and semantic understanding.
[0079] In a possible implementation manner, merging the first candidate words and the second candidate words to obtain merged words specifically includes steps S1041 - S1043, and the above steps are as follows:
[0080] Step S1041: Perform a union operation on the first candidate words and the second candidate words to obtain a set of union words.
[0081] In step S1041, the server performs a union operation on the first candidate words and the second candidate words to obtain a union word set. Specifically, the server first represents the first candidate words and the second candidate words as two sets, and then calculates the union of these two sets to obtain a set containing all candidate words, i.e., the union word set. This union operation can remove duplicate candidate words, ensuring that the elements in the set are unique. For example, if the first candidate words are {"School of Computer Science", "Admissions Office"} and the second candidate words are {"School of Computer Science and Technology", "Admissions Office", "Academic Affairs Office"}, then the union word set is {"School of Computer Science", "School of Computer Science and Technology", "Admissions Office", "Academic Affairs Office"}.
[0082] Step S1042: For each word in the set of words ...
[0083] In step S1042, the server extracts the corresponding position information for each word in the union vocabulary set, including the start and end positions of the word in the initial text sequence. Specifically, the server iterates through each element in the union vocabulary set and then searches for the position of that element in the initial text sequence. Since a union word may appear multiple times in the initial text sequence, the server needs to find all occurrence positions and record the start and end indices of each position. This position information can be represented by a list or tuple, for example, [(2, 6), (10, 14)] indicates that the union word appears twice in the initial text sequence, first between indices 2 and 6, and second between indices 10 and 14. By extracting the position information, the server can understand the distribution of each union word in the text, providing a basis for subsequent merging operations.
[0084] Step S1043: Based on the location information, merge the first and second union words in the union word set to obtain the merged words, and add the remaining words to the merged words. The first and second union words are any two union words that have an intersection or inclusion relationship among the multiple union words included in the union word set. The remaining words are the union words other than the first and second union words.
[0085] In step S1043, the server, based on location information, merges the first and second union words that have overlapping or inclusion relationships in the union word set to obtain a merged word, and adds the remaining words to the merged word. Specifically, the server compares the location information of each pair of union words in the union word set to determine whether there is an overlapping or inclusion relationship between them. If the location information of two union words overlaps, and the location information of one union word completely covers the location information of the other union word, it indicates that there is an inclusion relationship between them; if the location information of two union words overlaps but does not completely cover each other, it indicates that there is an overlapping relationship between them. For union words with overlapping or inclusion relationships, the server merges them into a longer word and replaces the original two union words with the merged word. For example, if the location information of "Computer Science College" is [(2, 6)] and the location information of "Computer Science and Technology College" is [(2, 12)], then there is an inclusion relationship between them, and the server merges them into "Computer Science and Technology College". Similarly, if the location information for "Admissions Office" is [(15, 20)] and the location information for "Academic Affairs Office" is [(18, 21)], then there is an overlap between the two, and the server merges them into "Admissions Office / Academic Affairs Office". For the remaining union words, that is, those words that do not overlap or contain other union words, the server directly adds them to the merged word set.
[0086] Through the above steps, the server ultimately obtains a merged vocabulary set, where each element is a complete, non-overlapping word representing a key information point in the initial text sequence. This merging operation effectively eliminates redundancy and ambiguity between candidate words, improving the accuracy of subsequent information extraction and semantic understanding. For example, in a school's intelligent question-answering system, if the user's question is "What is the phone number for the admissions office of the School of Computer Science?", after candidate word generation and merging, the server might obtain a merged vocabulary set of {"School of Computer Science and Technology", "Admissions Office"}, which lays the foundation for accurately understanding the user's intent and providing relevant answers.
[0087] Step S105: Perform context disambiguation on the merged words to obtain the normalized query text.
[0088] In step S105, the server performs context disambiguation on each term in the merged vocabulary list to determine its exact semantics in the current query context, and finally obtains a normalized query text. Specifically, the server first determines whether there are terms with ambiguous semantics or unclear references in the merged vocabulary list, such as "this school", "that major", etc. For these terms, the server regards them as terms to be disambiguated, extracts their context information from the original text sequence, and constructs a disambiguation context. Then, the server uses the pre-constructed knowledge graph of vocabulary semantics in the field of higher education to calculate the semantic relevance between each candidate formal expression of the term to be disambiguated and the disambiguation context, and selects the formal expression with the highest relevance as the final disambiguation result of the term. The semantic relevance here can be measured by indicators such as the edge weights and path lengths between vocabulary nodes in the knowledge graph. Through this context-based disambiguation mechanism, the server can effectively eliminate the ambiguity and uncertainty in the user's query and improve the accuracy of semantic understanding.
[0089] In one possible implementation, please refer to Figure 2 , combined with Figure 2 A detailed description of an implementation of step S105 is provided, including steps S201 - S209. The above steps are as follows:
[0090] Step S201: For the terms to be arbitrated in the merged vocabulary that have multiple candidate formal names, construct the corresponding disambiguation context, which is composed of all the tokens in the initial text sequence except the terms to be arbitrated.
[0091] In step S201, the merged vocabulary refers to the set formed by summarizing the first candidate terms obtained through text path matching and the second candidate terms obtained through phoneme path matching in step S103. A term to be arbitrated means that in the merged vocabulary, a certain original expression (such as an alias or a misrecognized text segment) corresponds to two or more possible formal names, resulting in ambiguity, and a term that requires subsequent steps to determine the unique correct option. For example, the original expression "Nanda" may correspond to two candidate formal names, "Nanjing University" and "Nankai University" at the same time. Therefore, "Nanda" is a term to be arbitrated. The disambiguation context refers to the surrounding vocabulary environment extracted from the initial text sequence that can provide clues for judging the true meaning of the term to be arbitrated. Tokens are used to represent the basic language units obtained after the initial text sequence is segmented, such as individual words or characters.
[0092] Specifically, after the server finishes the dual-path parallel vocabulary processing and merges the results, it will check the merged vocabulary set. When it is found that a certain original expression (such as the alias "Nanda") is associated with multiple candidate formal names (such as "Nanjing University" and "Nankai University"), the server will initiate the arbitration process for this "Nanda". Refer to Figure 2 In step S201, the server first constructs a dedicated disambiguation context for the pending arbitration term "Nanda". Suppose the initial text sequence is "How about the computer major in the Gulou Campus of Nanda University?". The server will first locate the position of "Nanda" in this sequence, and then extract all other tokens in the sequence except "Nanda". After word segmentation, these tokens may include: "Excuse me", "Gulou Campus", "of", "computer major", "how about", "?". The server combines these tokens into a set or list, that is, {"Excuse me", "Gulou Campus", "of", "computer major", "how about", "?"}, and this set is the disambiguation context constructed for arbitrating the true reference of "Nanda". This context provides key contextual information for subsequent judgment using the lexical co-occurrence relationship.
[0093] Step S202: Calculate and assign corresponding context importance weights to each token.
[0094] In step S202, the context importance weight is a numerical value used to represent the amount of information that each token in the disambiguation context can contribute to eliminating the ambiguity of the pending arbitration term. Tokens with higher weights are generally considered to have a stronger domain relevance to the pending arbitration term and will play a more decisive role in subsequent disambiguation calculations.
[0095] Specifically, after the server constructs the disambiguation context, it does not treat all context tokens equally. Referring to Figure 2 step S202 in, the server needs to calculate a context importance weight for each token in the context. This is because general stop words like "Excuse me", "of", "how about" are almost useless for determining whether "Nanda" refers to "Nanjing University" or "Nankai University"; while tokens with clear domain orientation like "Gulou Campus", "computer major" contain very strong discriminative information. The server can calculate this weight in various ways:
[0096] Method based on inverse document frequency: The server can pre-statistics the IDF value of each word in a large-scale corpus in the field of universities. The more documents a word appears in, the lower its IDF value, indicating that its discrimination is smaller. Therefore, the IDF value of the general word "of" will be very low, and its weight will also be correspondingly low; while the proper noun "Gulou Campus" only appears in documents related to a few universities, its IDF value will be very high, and its weight will also be correspondingly high.
[0097] Part-of-speech tagging (POS) is used by the server to tag the parts of speech of context words. Generally, nouns (especially proper nouns) and verbs are considered more important than particles, interjections, etc. The server can pre-define a weighting coefficient for different parts of speech; for example, proper nouns have a weight of 1.0, common nouns 0.8, verbs 0.6, and particles 0.1.
[0098] Hybrid approach: The server can also combine multiple methods mentioned above, such as multiplying the IDF value and part-of-speech weight to obtain a more comprehensive importance weight.
[0099] After the calculation is complete, each lexical unit in the disambiguation context is assigned a specific weight value. For example, the context {"please ask": 0.1, "Gulou Campus": 1.0, "of": 0.05, "Computer Science": 0.9, "how": 0.1, "?": 0.0}. This weighted set of contexts will serve as the input for the next step of calculating semantic association strength, making the disambiguation process more focused on key information and improving the accuracy of arbitration.
[0100] Step S203: Obtain a preset word co-occurrence relationship graph. The nodes of the preset word co-occurrence relationship graph represent words, and the edges of the preset word co-occurrence relationship graph represent the co-occurrence relationships between words.
[0101] In step S203, the pre-constructed lexical co-occurrence relation graph refers to a pre-built knowledge network structure used to describe the degree of correlation between words in the field of higher education consulting; it is an undirected graph. Nodes in the graph represent independent words, which mainly cover entities, concepts, and attributes related to higher education, such as "Nanjing University," "Computer Science," "Admission Brochure," and "Gulou Campus." Edges in the graph indicate a co-occurrence relationship between two nodes (words), meaning they frequently appear together in the same context (such as an article, paragraph, or sentence). The existence of an edge implies a semantic connection between the two words.
[0102] Specifically, before performing disambiguation calculations, the server loads this pre-defined word co-occurrence graph from storage (such as a database or file system) into memory. This graph is built offline, and its construction process may include: crawling a large amount of web content from university websites, admissions websites, and educational forums as corpus; performing word segmentation, cleaning, and entity recognition on the corpus; using techniques such as sliding windows to count the frequency of word pairs co-occurring within the window; and when the co-occurrence frequency of a pair of words exceeds a pre-defined threshold, creating an edge between the nodes corresponding to these two words in the graph. For example, since "Nanjing University" and "Gulou Campus" are frequently mentioned in the same article introducing Nanjing University, there will be an edge directly connecting the "Nanjing University" node and the "Gulou Campus" node in the graph. This graph provides the basic data structure for subsequently quantifying the semantic association between words.
[0103] Step S204: For each candidate formal name, determine the starting node corresponding to the candidate formal name and the ending node corresponding to the target word in the preset lexical co-occurrence relationship graph. The target word is any one of the multiple words included in the disambiguation context.
[0104] In step S204, the candidate official name refers to one of several possible official names corresponding to the term to be arbitrated, such as "Nanjing University" or "Nankai University". The starting node represents the node in the lexical co-occurrence relation graph that completely matches the candidate official name currently being evaluated. The target lexical refers to any lexical with effective weight in the disambiguation context, such as "Gulou Campus" or "Computer Science". The ending node represents the node in the graph that completely matches this target lexical.
[0105] Specifically, the server's arbitration module evaluates each candidate official name one by one. Let's assume it's currently evaluating "Nanjing University". The server will find the node representing "Nanjing University" in the lexical co-occurrence graph and mark it as the starting node for this calculation. Next, the server will traverse each target lexical in the disambiguation context. For example, when traversing to the context lexical "Gulou Campus", the server will also find the node representing "Gulou Campus" in the graph and mark it as the ending node for this calculation. In this way, for a candidate official name and a context lexical, the server determines a starting and ending pair in the graph, preparing for subsequent path calculations. This process is repeated for all combinations of candidate official names and all (meaningful) context lexical.
[0106] Step S205: Calculate the shortest path distance from the starting node to the ending node, and use the reciprocal of the shortest path distance as the basic semantic association score between the candidate formal name and the target word.
[0107] In step S205, the shortest path distance represents the minimum number of edges required to traverse from the starting node to the ending node in the lexical co-occurrence graph. If two nodes are directly connected, the distance is 1. If a connection requires an intermediate node, the distance is 2, and so on. The basic semantic association score is a preliminary quantification representing the strength of the semantic association between a single candidate formal name and a single context word; it is inversely proportional to the shortest path distance.
[0108] Specifically, after determining the starting node (e.g., "Nanjing University") and the ending node (e.g., "Gulou Campus"), the server executes a graph search algorithm, such as breadth-first search (BFS), on the knowledge graph to calculate the shortest path distance between them. Since "Nanjing University" and "Gulou Campus" are likely directly connected in the graph, the BFS algorithm returns a distance of 1. Next, the server calculates the reciprocal of this distance, 1 / 1 = 1, as the basic semantic association score between "Nanjing University" and "Gulou Campus". For example, when calculating the association between "Nanjing University" and "Computer Science", assuming they are not directly connected in the graph but are both connected to the "School of Software" node, the shortest path is "Nanjing University" -> "School of Software" -> "Computer Science", with a distance of 2. The corresponding basic semantic association score is 1 / 2 = 0.5. If there is no path between the two nodes, the distance is infinite, and the score is 0. This score intuitively reflects that in a knowledge graph, the shorter the path between two words, the closer their semantic relationship.
[0109] Step S206: Multiply the basic semantic association score corresponding to each word in the disambiguation context by the context importance weight corresponding to each word to obtain the weighted association score corresponding to the word.
[0110] In step S206, the weighted association score refers to the score obtained by adjusting the basic semantic association score with context importance weights, which better reflects the actual contribution of the word in this disambiguation task.
[0111] Specifically, after calculating the basic semantic association scores between the candidate official name (e.g., "Nanjing University") and all lexical units in the disambiguation context, the server performs weighted processing. (See reference...) Figure 2In step S206, the server retrieves the context importance weight assigned to each context word in step S202. For example, for the context word "Gulou Campus," its basic semantic association score is 1.0, and its importance weight is 1.0, so its corresponding weighted association score is 1.0 * 1.0 = 1.0. For the context word "Computer Science," its basic semantic association score is 0.5, and its importance weight is 0.9, so its corresponding weighted association score is 0.5 * 0.9 = 0.45. For the context word "of," its basic semantic association score may be 0 (assuming the node does not exist in the graph), and its importance weight is 0.05, so its weighted association score is 0 * 0.05 = 0. Through this step, those words that are important and closely associated with the candidate official name will receive high weighted scores, while the scores of those words that are unimportant or loosely associated will be suppressed.
[0112] Step S207: Sum the weighted association scores of all lexical units in the disambiguation context to generate the total semantic association strength score of the candidate formal name.
[0113] In step S207, the semantic association strength score is a final, comprehensive score that summarizes the overall association between a candidate formal name and the entire disambiguation context.
[0114] Specifically, after calculating the weighted association score between the candidate official name (e.g., "Nanjing University") and each lexical term in the disambiguation context, the server performs a simple summation operation. (See reference...) Figure 2 In step S207, the server sums all these weighted association scores to obtain a total. For example, assuming that for the candidate "Nanjing University," the weighted score of the context word "Gulou Campus" is 1.0, the weighted score of "Computer Science" is 0.45, and the weighted scores of other words (such as "please ask" and "of") are all 0, then the total semantic association strength score of "Nanjing University" is 1.0 + 0.45 + 0 + 0 = 1.45. The server will calculate a total semantic association strength score for another candidate, the formal name "Nankai University," in the same way. For example, since "Nankai University" and "Gulou Campus" are far apart in the graph (the shortest path distance is large, and the base score is close to 0), its final total score may be very low, such as 0.1. This total score intuitively quantifies the "fit" of each candidate with the current context.
[0115] Step S208: Based on the total semantic association strength score, select the target candidate formal name corresponding to the highest total semantic association strength score from multiple candidate formal names to replace the words to be arbitrated, and obtain the normalized query text.
[0116] In step S208, the normalized query text refers to the final text formed by replacing all ambiguous, non-standard, or erroneous expressions (such as aliases, abbreviations, slips of the tongue, ASR recognition errors, etc.) in the initial text sequence with their corresponding unique and standard formal names determined after context disambiguation arbitration. This text is semantically clear and unambiguous, and can be directly used for subsequent precise information retrieval or question-answering processing. For example, the original "I want to ask about the computer science major at Nanjing University" becomes the normalized query text "I want to ask about the computer science major at Nanjing University" after processing.
[0117] Specifically, after the server calculates the total semantic association strength score of all candidate official names (such as "Nanjing University" and "Nankai University") for a term to be arbitrated (such as "Nanda"), it enters the final decision-making and replacement stage. (See reference...) Figure 2 In step S208, the server first compares the scores of these candidate official names. Continuing with the example above, the server obtains the score pairs: ("Nanjing University", 1.45) and ("Nankai University", 0.1). Through a simple comparison operation, the server can determine that 1.45 is the highest score among all scores. Therefore, the candidate official name "Nanjing University" corresponding to the highest score of 1.45 is selected as the target candidate official name. The essence of this selection process is "selection based on merit," that is, the candidate that best fits the context is considered to be the user's true intention.
[0118] Once the target candidate official name is determined, the server will perform a replacement operation. The server will retrieve the initial text sequence "How is the computer science program at Nanjing University's Gulou Campus?" containing the term "Nanda" to be arbitrated. It will precisely locate the substring "Nanda" and replace it with the newly selected target candidate official name "Nanjing University". After the replacement, the generated new text is "How is the computer science program at Nanjing University's Gulou Campus?". This newly generated, unambiguous text is the normalized query text that this step ultimately aims to obtain. If there are multiple terms to be arbitrated in the initial text sequence, the server will sequentially or in parallel execute the complete S201-S208 process for each term to be arbitrated, ultimately replacing all ambiguities and forming a fully normalized query text.
[0119] Step S106: Retrieve information from the preset university knowledge base based on the standardized query text and generate the corresponding consultation response.
[0120] In step S106, the server retrieves information from a pre-set university knowledge base based on the standardized query text and generates a corresponding consultation response. Specifically, the server first performs semantic parsing on the standardized query text, extracting keywords and semantic slots, such as "admissions policy" and "scholarship application requirements." Then, the server uses these keywords and semantic slots to perform structured retrieval and semantic matching in the university knowledge base to find the knowledge entries most relevant to the user's query intent. This university knowledge base is pre-built and stores various types of university information in a structured format, such as university introductions, departmental structures, admissions policies, and campus life. The server extracts key information from the matched knowledge entries and, combined with certain natural language generation techniques, organizes it into a fluent and easy-to-understand natural language response text. Finally, the server returns the generated response text to the user, completing a full voice consultation process.
[0121] For example, when a user queries, "I would like to know about the employment situation of your university's Computer Science and Technology major this year," the server, after word merging and context disambiguation, can normalize it into a structured query text such as "Employment situation of 2023 graduates of the Computer Science and Technology major at xx University." Then, the server retrieves knowledge entries related to keywords such as "Peking University," "Computer Science and Technology," "2023," and "employment situation" from the university knowledge base, extracting key information such as the employment rate, employment destinations, and average salaries of the graduating class. Finally, it organizes this information into a natural language response, such as "xx University's 2023 Computer Science and Technology major had X graduates, with an employment rate of Y%. Among them, Z% of graduates entered well-known IT companies such as Baidu and Tencent, with an average annual salary of W million yuan," and provides this information to the user.
[0122] Reference Figure 3This application also provides a university voice consultation data processing device, which is a server. The server includes a voice request acquisition module 301, a voice recognition processing module 302, a parallel vocabulary processing module 303, a vocabulary merging module 304, a context disambiguation module 305, and a consultation response generation module 306. Specifically: the voice request acquisition module 301 acquires a user-input voice consultation request; the voice recognition processing module 302 performs voice recognition processing on the voice consultation request to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence; the parallel vocabulary processing module 303 performs dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence based on a preset university knowledge base to obtain a first candidate vocabulary and a second candidate vocabulary; the vocabulary merging module 304 merges the first candidate vocabulary and the second candidate vocabulary to obtain merged vocabulary; the context disambiguation module 305 performs context disambiguation on the merged vocabulary to obtain a standardized query text; and the consultation response generation module 306 performs information retrieval in the preset university knowledge base based on the standardized query text to generate a corresponding consultation response.
[0123] In one possible implementation, the parallel vocabulary processing module 303 performs dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence based on a preset university knowledge base to obtain a first candidate vocabulary and a second candidate vocabulary. Specifically, the parallel vocabulary processing module 303 performs string matching between the initial text sequence and the alias set in the preset university knowledge base, and uses the first alias that successfully matches and the corresponding official name as the first candidate vocabulary; for the word regions in the initial text sequence that fail string matching, the parallel vocabulary processing module 303 extracts the corresponding phoneme subsequences from the parallel phoneme sequence as the phoneme sequences to be matched; based on a preset phoneme confusion matrix, the parallel vocabulary processing module 303 calculates the weighted edit distance between the phoneme sequences to be matched and the standard phoneme sequences of each standard term in the preset university knowledge base to obtain the acoustic similarity score corresponding to each standard term; the parallel vocabulary processing module 303 determines a similarity threshold corresponding to the length of the phoneme sequence to be matched; and the target standard term with an acoustic similarity score higher than the similarity threshold and the target official name corresponding to the target standard term are used as the second candidate vocabulary.
[0124] In one possible implementation, the parallel vocabulary processing module 303 determines a similarity threshold corresponding to the length of the phoneme sequence to be matched. Specifically, the parallel vocabulary processing module 303 constructs an evaluation set containing positive and negative sample pairs, wherein positive sample pairs consist of phoneme sequences with different pronunciations but the same meaning, and negative sample pairs consist of phoneme sequences with the same pronunciation but different meanings; the parallel vocabulary processing module 303 calculates the acoustic similarity scores of positive and negative sample pairs for each phoneme sequence of different lengths in the evaluation set, forming a score distribution for phoneme sequences of different lengths; for each length, the parallel vocabulary processing module 303 determines a score critical point through receiver operating characteristic curve analysis, and uses the score critical point as the initial similarity threshold corresponding to the length; the parallel vocabulary processing module 303 performs function fitting on the initial similarity thresholds for all lengths to generate a mapping function containing the correspondence between phoneme sequence lengths and similarity thresholds; the parallel vocabulary processing module 303 determines the similarity threshold corresponding to the length based on the mapping function.
[0125] In one possible implementation, the context disambiguation module 305 performs context disambiguation on the merged words to obtain a normalized query text. Specifically, the context disambiguation module 305 constructs a corresponding disambiguation context for the words to be arbitrated that have multiple candidate official names in the merged words. The disambiguation context consists of all lexical units in the initial text sequence except for the words to be arbitrated. The context disambiguation module 305 calculates and assigns a corresponding context importance weight to each lexical unit. The context disambiguation module 305 calculates the total semantic association strength score between each candidate official name of the words to be arbitrated and the disambiguation context based on the context importance weight. Based on the total semantic association strength score, the context disambiguation module 305 selects the target candidate official name with the highest total semantic association strength score from the multiple candidate official names to replace the words to be arbitrated, thereby obtaining the normalized query text.
[0126] In one possible implementation, the context disambiguation module 305 calculates the total semantic association strength between each candidate formal name of the word to be arbitrated and the disambiguation context based on context importance weights. Specifically, this includes: the context disambiguation module 305 obtaining a preset word co-occurrence relation graph, where nodes in the preset word co-occurrence relation graph represent words, and edges in the preset word co-occurrence relation graph represent co-occurrence relationships between words; and for each candidate formal name, the context disambiguation module 305 determines the starting node corresponding to the candidate formal name and the ending node corresponding to the target lexical in the preset word co-occurrence relation graph, where the target lexical is the disambiguation term. The context includes any one of multiple lexical units; the context disambiguation module 305 calculates the shortest path distance from the starting node to the ending node, and uses the reciprocal of the shortest path distance as the basic semantic association score between the candidate formal name and the target lexical unit; the context disambiguation module 305 multiplies the basic semantic association score corresponding to each lexical unit in the disambiguation context with the context importance weight corresponding to each lexical unit to obtain the weighted association score corresponding to the lexical unit; the context disambiguation module 305 sums the weighted association scores of all lexical units in the disambiguation context to generate the total semantic association strength score of the candidate formal name.
[0127] In one possible implementation, the speech recognition processing module 302 performs speech recognition processing on the speech consultation request to obtain an initial text sequence corresponding to the speech consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence. Specifically, the speech recognition processing module 302 extracts acoustic features from the speech consultation request and generates an acoustic feature sequence; the speech recognition processing module 302 inputs the acoustic feature sequence into a preset acoustic model to generate a phoneme probability distribution sequence aligned with the frame of the acoustic feature sequence; based on the phoneme probability distribution sequence, the speech recognition processing module 302 generates an initial text sequence and word time boundaries corresponding to each word in the initial text sequence through decoding processing; based on the phoneme probability distribution sequence, the speech recognition processing module 302 determines the optimal phoneme path and merges consecutive identical phonemes in the optimal phoneme path to generate a compressed phoneme sequence; the speech recognition processing module 302 segments the compressed phoneme sequence according to the word time boundaries to generate a parallel phoneme sequence aligned word-by-word with the initial text sequence.
[0128] In one possible implementation, the word merging module 304 merges the first candidate word and the second candidate word to obtain a merged word. Specifically, the word merging module 304 performs a union operation on the first candidate word and the second candidate word to obtain a union word set. For each union word in the union word set, the word merging module 304 extracts the position information corresponding to each union word. The position information includes the start position and end position of the union word in the initial text sequence. Based on the position information, the word merging module 304 merges the first union word and the second union word in the union word set to obtain a merged word, and adds the remaining words to the merged word set. The first union word and the second union word are any two union words that have an intersection relationship or containment relationship among the multiple union words included in the union word set. The remaining words are the union words other than the first union word and the second union word.
[0129] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0130] This application also provides an electronic device. (See reference...) Figure 4 , Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device 400 may include: at least one processor 401, at least one network interface 404, a user interface 403, a memory 405, and at least one communication bus 402.
[0131] The communication bus 402 is used to enable communication between these components.
[0132] The user interface 403 may include a display screen and a camera. Optionally, the user interface 403 may also include a standard wired interface and a wireless interface.
[0133] The network interface 404 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).
[0134] The processor 401 may include one or more processing cores. The processor 401 connects to various parts of the server using various interfaces and lines, and performs various server functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in memory 405, and by calling data stored in memory 405. Optionally, the processor 401 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 401 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also be implemented as a separate chip without being integrated into the processor 401.
[0135] The memory 405 may include random access memory (RAM) or read-only memory. Optionally, the memory 405 may include a non-transitory computer-readable storage medium. The memory 405 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 405 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 405 may also be at least one storage device located remotely from the aforementioned processor 401. (Refer to...) Figure 4 The memory 405, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and an application program for a university voice consultation data processing method.
[0136] exist Figure 4In the illustrated electronic device 400, the user interface 403 is mainly used to provide an input interface for the user and acquire user input data; while the processor 401 can be used to call an application program stored in the memory 405 for processing university voice consultation data. When executed by one or more processors 401, the electronic device 400 performs one or more of the methods described in the above embodiments. It should be noted that, for the foregoing method embodiments, for the sake of simplicity, they are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0137] This application also provides a computer-readable storage medium storing instructions. When executed by one or more processors 401, these instructions cause an electronic device 400 to perform one or more of the methods described in the above embodiments. In the above embodiments, the descriptions of each embodiment have different focuses; parts not described in detail in a certain embodiment can be referred to in the relevant descriptions of other embodiments. In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some service interface; the indirect coupling or communication connection of devices or units may be electrical or other forms.
[0138] The foregoing description is merely an exemplary embodiment of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Other embodiments of this disclosure will be readily apparent to those skilled in the art upon consideration of the disclosure in this specification. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described in this disclosure. The specification and embodiments are to be considered exemplary only, and the scope and spirit of this disclosure are defined by the claims.
Claims
1. A method for processing voice consultation data in universities, characterized in that, The method includes: Obtain the user's voice consultation request; The voice consultation request is processed by speech recognition to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence; Based on a pre-set university knowledge base, dual-path parallel vocabulary processing is performed on the initial text sequence and the parallel phoneme sequence to obtain the first candidate vocabulary and the second candidate vocabulary. The first candidate words and the second candidate words are merged to obtain merged words; Context disambiguation is performed on the merged words to obtain the normalized query text; Based on the standardized query text, information is retrieved from the preset university knowledge base to generate corresponding consultation answers; Based on a preset university knowledge base, the initial text sequence and the parallel phoneme sequence undergo dual-path parallel vocabulary processing to obtain a first candidate vocabulary and a second candidate vocabulary, specifically including: The initial text sequence is matched with the set of aliases in the preset university knowledge base, and the first alias that is successfully matched and the corresponding official name are used as the first candidate words. For the word regions in the initial text sequence that do not pass string matching, the corresponding phoneme subsequences are extracted from the parallel phoneme sequence as the phoneme sequence to be matched; Based on a preset phoneme confusion matrix, the weighted edit distance between the phoneme sequence to be matched and the standard phoneme sequence of each standard term in the preset university knowledge base is calculated to obtain the acoustic similarity score corresponding to each standard term. Based on the length of the phoneme sequence to be matched, a similarity threshold corresponding to the length is determined; The target standard terms with acoustic similarity scores higher than the similarity threshold and the target official names corresponding to the target standard terms are used as the second candidate terms.
2. The method according to claim 1, characterized in that, The step of determining a similarity threshold corresponding to the length of the phoneme sequence to be matched specifically includes: Construct an evaluation set containing positive sample pairs and negative sample pairs, wherein the positive sample pairs consist of phoneme sequences with different pronunciations but the same meaning, and the negative sample pairs consist of phoneme sequences with the same pronunciation but different meanings; Calculate the acoustic similarity scores of positive and negative sample pairs for each phoneme sequence of different lengths in the evaluation set to form the score distribution of phoneme sequences of different lengths; For each length, a scoring threshold is determined by receiver operation feature curve analysis, and the scoring threshold is used as the initial similarity threshold corresponding to the length. A function is fitted to the initial similarity thresholds for all lengths to generate a mapping function that contains the correspondence between phoneme sequence lengths and similarity thresholds; Based on the mapping function, a similarity threshold corresponding to the length is determined.
3. The method according to claim 1, characterized in that, The process of disambiguating the merged terms to obtain the normalized query text specifically includes: For words to be arbitrated that have multiple candidate formal names in the merged vocabulary, a corresponding disambiguation context is constructed. The disambiguation context is composed of all lexical units in the initial text sequence except for the words to be arbitrated. Calculate and assign a corresponding context importance weight to each lexical unit; The semantic association strength score between each candidate formal name of the term to be arbitrated and the disambiguation context is calculated based on the context importance weight. Based on the total semantic association strength score, the target candidate official name corresponding to the highest total semantic association strength score is selected from multiple candidate official names to replace the word to be arbitrated, thereby obtaining the normalized query text.
4. The method according to claim 3, characterized in that, The calculation of the total semantic association strength score between each candidate formal name of the term to be arbitrated and the disambiguation context based on the context importance weight specifically includes: Obtain a preset word co-occurrence relationship graph, wherein the nodes of the preset word co-occurrence relationship graph represent words, and the edges of the preset word co-occurrence relationship graph represent the co-occurrence relationships between words; For each candidate formal name, a starting node corresponding to the candidate formal name and an ending node corresponding to the target word are determined in the preset lexical co-occurrence relationship graph. The target word is any one of the multiple words included in the disambiguation context. Calculate the shortest path distance from the starting node to the ending node, and use the reciprocal of the shortest path distance as the basic semantic association score between the candidate formal name and the target word; The weighted association score of each word in the disambiguation context is obtained by multiplying the basic semantic association score of each word with the context importance weight of each word. The weighted association scores of all lexical units in the disambiguation context are summed to generate the total semantic association strength score of the candidate formal name.
5. The method according to claim 1, characterized in that, The step of performing speech recognition processing on the voice consultation request to obtain an initial text sequence corresponding to the voice consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence specifically includes: Extract the acoustic features of the voice consultation request and generate an acoustic feature sequence; The acoustic feature sequence is input into a preset acoustic model to generate a phoneme probability distribution sequence that is frame-aligned with the acoustic feature sequence. Based on the phoneme probability distribution sequence, the initial text sequence and the temporal boundaries of each word in the initial text sequence are generated through decoding. Based on the phoneme probability distribution sequence, the optimal phoneme path is determined, and consecutive identical phonemes in the optimal phoneme path are merged to generate a compressed phoneme sequence. Based on the lexical time boundary, the compressed phoneme sequence is segmented to generate a parallel phoneme sequence that is aligned word-by-word with the initial text sequence.
6. The method according to claim 1, characterized in that, The step of merging the first candidate words and the second candidate words to obtain merged words specifically includes: Perform a union operation on the first candidate words and the second candidate words to obtain a union word set; For each union word contained in the union word set, extract the position information corresponding to each union word, the position information including the start position and end position of the union word in the initial text sequence; Based on the location information, the first and second union words in the union word set are merged to obtain a merged word, and the remaining words are added to the merged word. The first and second union words are any two union words that have an intersection or inclusion relationship among the multiple union words included in the union word set, and the remaining words are the union words other than the first and second union words.
7. A data processing device for voice consultation in universities, characterized in that, The apparatus is used to perform the method as described in any one of claims 1-6, the apparatus comprising a voice request acquisition module (301), a voice recognition processing module (302), a parallel vocabulary processing module (303), a vocabulary merging module (304), a context disambiguation module (305), and a consultation response generation module (306), wherein: The voice request acquisition module (301) is used to acquire the voice consultation request input by the user; The speech recognition processing module (302) is used to perform speech recognition processing on the speech consultation request to obtain an initial text sequence corresponding to the speech consultation request and a parallel phoneme sequence aligned word-by-word with the initial text sequence; The parallel vocabulary processing module (303) is used to perform dual-path parallel vocabulary processing on the initial text sequence and the parallel phoneme sequence based on a preset university knowledge base to obtain the first candidate vocabulary and the second candidate vocabulary. The word merging module (304) is used to merge the first candidate word and the second candidate word to obtain the merged word; The context disambiguation module (305) is used to perform context disambiguation on the merged words to obtain a standardized query text; The consultation response generation module (306) is used to perform information retrieval in the preset university knowledge base based on the standardized query text and generate the corresponding consultation response.
8. An electronic device, characterized in that, The device includes a processor (401), a memory (405), a user interface (403), and a network interface (404). The memory (405) is used to store instructions. The user interface (403) and the network interface (404) are used to communicate with other devices. The processor (401) is used to execute the instructions stored in the memory (405) to cause the electronic device (400) to perform the method as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed, perform the method as described in any one of claims 1-6.