A topic evaluation method and related device
By extracting speech features, transcribing speech, and checking for duplicate text in the speaking topic, and comprehensively evaluating the scores of speech, semantics, and text duplication checking, the problem of incompleteness in existing evaluation schemes is solved, providing more objective evaluation results.
Patent Information
- Application Number
- CN202510023934.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-07
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2045-01-07
AI Technical Summary
The existing topic-speaking assessment schemes are not comprehensive enough in terms of assessment dimensions, resulting in the final assessment results not being able to objectively reflect the ability of the respondent. In particular, when the question bank is fixed, the respondent may directly recite the model essay.
By extracting voice features and transcribing the answering voice, combined with semantic evaluation and text duplication checking of the transcribed voice text, the scores and deductions for the voice evaluation dimension, semantic evaluation dimension and text duplication checking dimension are determined, and finally the respondent's ability is comprehensively assessed.
It achieves a comprehensive assessment of the ability of the respondent, can objectively reflect his or her true level, and reduces the deviation of the assessment results when reciting model essays.
Smart Images

Figure CN119724243B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data evaluation, and in particular to a topic evaluation method and related devices. Background Art
[0002] Topic speaking is widely used in various oral exams and learning scenarios, such as Mandarin proficiency tests, English oral exams, language learning apps, etc. It aims to examine the respondent's oral ability to express around a certain topic without the help of text.
[0003] The current evaluation scheme for speaking topics is to first obtain the respondent's answer voice on the speaking topic, then evaluate the answer voice in the voice evaluation dimension and the semantic evaluation dimension, and obtain the score of the answer voice in the voice evaluation dimension and the score in the semantic evaluation dimension. Finally, based on the score of the answer voice in the voice evaluation dimension and the score in the semantic evaluation dimension, the final score of the answer voice is determined.
[0004] Although the current topic-speaking evaluation scheme can provide evaluation results for the answering voice, its evaluation dimensions are not comprehensive enough, which means that the final evaluation results cannot objectively reflect the ability of the answerer. Summary of the Invention
[0005] In view of this, the present application provides a method and related device for evaluating a topic, which is used to solve the problem that the evaluation dimensions of current topic evaluation schemes are not comprehensive enough, and thus the final evaluation results cannot objectively reflect the ability of the respondent. The technical solution is as follows:
[0006] The first aspect of the present application provides a method for evaluating a topic, comprising:
[0007] Obtain the topic text and the answer voice of the topic, and perform voice feature extraction and voice transcription on the answer voice to obtain the voice features and voice transcription text of the answer voice;
[0008] Determining a score of the answering speech in a speech evaluation dimension based on the speech features and the speech transcription text, and determining a score of the answering speech in a semantic evaluation dimension based on the speech transcription text and the question text;
[0009] For each sentence of the speech transcription text, a fingerprint vector of the sentence is determined in combination with the position information of each word in the sentence, and the fingerprint vector of the sentence is respectively calculated with the fingerprint vector of each sentence in the duplicate checking text library to determine whether there is a similar sentence to the sentence in the duplicate checking text library, so as to obtain a discrimination result corresponding to the sentence; according to the discrimination results corresponding to each sentence of the speech transcription text, the deduction of the answer speech in the text duplicate checking dimension is determined;
[0010] The final score of the answering speech is determined based on the score of the answering speech in the speech evaluation dimension, the score in the semantic evaluation dimension, and the score deduction in the text duplication checking dimension.
[0011] In a possible implementation, extracting speech features and transcribing the answering speech to obtain speech features and speech transcription text of the answering speech includes:
[0012] Performing voice feature extraction on the answering voice to obtain voice features of the answering voice;
[0013] Extracting a voiced speech segment from the answering speech by performing speech endpoint detection on the answering speech;
[0014] The speech features of the voiced speech segment are obtained from the speech features of the answering speech, and speech transcription is performed according to the speech features of the voiced speech segment to obtain a speech transcription text of the answering speech.
[0015] In a possible implementation, determining the fingerprint vector of the sentence in combination with the position information of each word in the sentence includes:
[0016] Perform word segmentation on the sentence to obtain several words;
[0017] For each of the plurality of words, determine a hash value of the word using a hash function, determine a positional feature vector of the word according to the position of the word in the sentence, and determine a target feature vector of the word according to the hash value of the word and the positional feature vector of the word;
[0018] A fingerprint vector of the sentence is determined based on the target feature vectors of the multiple words.
[0019] In a possible implementation, determining the position feature vector of the word according to the position of the word in the sentence includes:
[0020] Generate a binary vector of length L1 based on the position of the word in the sentence, where L1 is the total number of words in the sentence, and the element at each position in the binary vector can indicate whether the word exists at the corresponding position in the sentence;
[0021] Using a mapping function, mapping the binary vector to a vector of length L2 to obtain a mapped vector, where L2 is an integer less than L1;
[0022] Calculating the mean of each element in the mapped vector, and subtracting the mean from each element in the mapped vector to obtain a mean difference vector;
[0023] The elements in the mean difference vector that are greater than 0 are set to 1, and the elements that are less than or equal to 0 are set to 0, to obtain the position feature vector of the word.
[0024] In a possible implementation, determining the target feature vector of the word according to the hash value of the word and the position feature vector of the word includes:
[0025] The hash value of the word is fused with the position feature vector of the word to obtain the fused vector of the word;
[0026] Determine the weight corresponding to the word based on the number of times the word appears in the sentence, the total number of words contained in the sentence, the total number of words in the duplicate check text library, and the number of times the word appears in the duplicate check text library;
[0027] The fused vector of the word is weighted by the weight corresponding to the word to obtain the target feature vector of the word.
[0028] In a possible implementation, determining the fingerprint vector of the sentence based on the target feature vectors of the multiple words includes:
[0029] Fusing the target feature vectors of the plurality of words to obtain a fused vector;
[0030] The elements in the fused vector that are greater than 0 are set to 1, and the elements that are less than or equal to 0 are set to 0, to obtain the fingerprint vector of the sentence.
[0031] In a possible implementation, the method of calculating similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate check text library to determine whether there is a similar sentence to the sentence in the duplicate check text library includes:
[0032] Calculate the similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate check text library to obtain several similarities;
[0033] Obtaining a maximum similarity from the plurality of similarities;
[0034] If the maximum similarity is greater than or equal to the preset similarity threshold, it is determined that there is a similar sentence to the sentence in the duplicate checking text library; if the maximum similarity is less than the preset similarity threshold, it is determined that there is no similar sentence to the sentence in the duplicate checking text library.
[0035] In one possible implementation, the fingerprint vector of each sentence in the speech transcription text and the fingerprint vector of each sentence in the duplicate check text library are binary vectors of the same length;
[0036] The similarity calculation of the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate check text library includes:
[0037] Calculate the Hamming distance between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library;
[0038] According to the number of elements in the fingerprint vector of the sentence and the calculated Hamming distance, the similarity between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library is determined.
[0039] In a possible implementation, determining the deduction of the answer speech in the text duplication check dimension according to the judgment results corresponding to each sentence of the speech transcription text includes:
[0040] Determining the number of similar characters in each sentence of the speech transcription text according to the discrimination results corresponding to each sentence of the speech transcription text;
[0041] The deduction score for the answer voice in the text duplication check dimension is determined based on the number of similar words in each sentence of the voice-transcribed text, the number of words in each sentence of the voice-transcribed text, and the preset maximum deduction score.
[0042] In a possible implementation, determining the number of similar characters in each sentence of the speech transcription text according to the discrimination results corresponding to each sentence of the speech transcription text includes:
[0043] For each sentence of the speech transcription text:
[0044] If there are similar sentences to the sentence in the duplicate checking text library, the number of similar words in the sentence is determined to be the number of words in the sentence;
[0045] If there is no similar sentence to the sentence in the duplicate checking text library, the number of similar words in the sentence is determined to be 0.
[0046] In one possible implementation, determining the final score of the answering speech based on the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication check dimension includes:
[0047] The score of the answering voice in the voice evaluation dimension is weighted according to a preset first weight to obtain a first weighted score, the score of the answering voice in the semantic evaluation dimension is weighted according to a preset second weight to obtain a second weighted score, and the deduction score of the answering voice in the text duplication check dimension is weighted according to a preset third weight to obtain a weighted deduction score;
[0048] The first weighted score and the second weighted score are summed, and the weighted deduction is subtracted from the summed score to obtain a final score for the answer speech.
[0049] The second aspect of the present application provides a topic evaluation device, comprising: a data acquisition module, a speech processing module, a speech evaluation module, a semantic evaluation module, a text duplication detection module, and an evaluation result determination module;
[0050] The data acquisition module is used to obtain the topic text and answer voice;
[0051] The speech processing module is used to extract speech features and perform speech transcription on the answering speech to obtain speech features and speech transcription text of the answering speech;
[0052] The speech evaluation module is configured to determine a score of the answering speech in a speech evaluation dimension based on the speech features and the speech transcription text;
[0053] The semantic evaluation module is used to determine the score of the answer speech in the semantic evaluation dimension based on the speech transcription text and the question text;
[0054] The text duplication checking module is used to determine the fingerprint vector of each sentence of the speech transcription text in combination with the position information of each word in the sentence, and to determine whether there is a similar sentence to the sentence in the duplication checking text library by performing similarity calculation on the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplication checking text library, so as to obtain a judgment result corresponding to the sentence, and determine the deduction of the answer voice in the text duplication checking dimension according to the judgment results corresponding to each sentence of the speech transcription text;
[0055] The evaluation result determination module is used to determine the final score of the answering speech based on the score of the answering speech in the speech evaluation dimension, the score in the semantic evaluation dimension, and the deduction points in the text duplication checking dimension.
[0056] A third aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:
[0057] The memory is used to store computer programs;
[0058] The processor is used to execute the computer program so that the electronic device can implement the steps of any one of the above-mentioned topic evaluation methods.
[0059] The fourth aspect of the present application provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the steps of any one of the above-mentioned topic evaluation methods.
[0060] In a fifth aspect, the present application provides a computer program product comprising computer-readable instructions. When the computer-readable instructions are executed on an electronic device, the electronic device implements the steps of any one of the above-mentioned methods for evaluating a topic.
[0061] By means of the above technical solution, the topic-speaking evaluation method provided by the present application first obtains the topic-speaking title text and the answering voice, then performs voice feature extraction and voice transcription on the answering voice to obtain the voice features and voice transcription text of the answering voice, then determines the score of the answering voice in the voice evaluation dimension based on the voice features and voice transcription text of the answering voice, determines the score of the answering voice in the semantic evaluation dimension based on the voice transcription text of the answering voice and the topic-speaking title text, determines the deduction of the answering voice in the text duplication checking dimension by checking for duplicates in each sentence of the voice transcription text, and finally determines the final score of the answering voice based on the score of the answering voice in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication checking dimension. The topic-speaking evaluation method provided in this application not only evaluates the answering speech in the voice evaluation dimension and the semantic evaluation dimension, but also performs a text duplication check on the speech transcription text of the answering speech, and determines the deduction points based on the text duplication check results. Then, the final score of the answering speech is determined by comprehensively combining the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction points in the text duplication check dimension. The topic-speaking evaluation method provided in this application can more comprehensively evaluate the answering speech of the answerer on the topic-speaking. The evaluation results obtained by evaluating the answering speech using the topic-speaking evaluation method provided in this application can objectively reflect the ability of the answerer. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0063] Figure 1 A schematic diagram of a system architecture involved in this application;
[0064] Figure 2 A schematic diagram of the hardware structure of a terminal provided in an embodiment of the present application;
[0065] Figure 3 A schematic diagram of the hardware structure of a server provided in an embodiment of the present application;
[0066] Figure 4 A flowchart of a method for evaluating a topic provided in an embodiment of the present application;
[0067] Figure 5 A sentence S of the speech transcription text provided in the embodiment of the present application i A schematic diagram of the process of determining the positional feature vectors of each word obtained by performing word segmentation processing;
[0068] Figure 6 A sentence S of the speech transcription text provided in the embodiment of the present application i Schematic diagram of the process of determining the fingerprint vector;
[0069] Figure 7 This is a structural diagram of the topic evaluation device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0070] The following describes the embodiments of the present application in conjunction with the accompanying drawings. The terms used in the implementation methods of the present application are only used to explain the specific embodiments of the present application and are not intended to limit the present application.
[0071] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0072] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0073] In one possible implementation, Figure 1 As shown, the system architecture involved in this application may include a terminal 101 and a server 102, and the terminal 101 may interact with the server 102 via a network (wired network or wireless network). The server 102 may include one or more servers ( Figure 1 The example includes a server. The terminal 101 can obtain the topic text and the answer voice of the topic, and transmit the topic text and the answer voice to the server 102 via the network. The server 102 uses the topic evaluation method provided in the present application to evaluate the answer voice of the topic, and feeds back the final evaluation result to the terminal.
[0074] In another possible implementation, the system architecture involved in this application may include a terminal. The terminal has strong data processing capabilities. The terminal can obtain the topic text and the voice answer of the topic, and use the topic evaluation method provided in this application to evaluate the voice answer of the topic.
[0075] Next, the product form of the above-mentioned terminal will be described.
[0076] The above-mentioned terminal can be a mobile phone, a tablet computer, a wearable device, an in-vehicle device, a robot, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc., and the embodiments of the present application do not impose any restrictions on this.
[0077] Figure 2 A schematic diagram of an optional hardware structure of a terminal is shown.
[0078] refer to Figure 2 As shown, the terminal may include a radio frequency unit 210, a memory 220, an input unit 230, a display unit 240, a camera 250 (optional), an audio circuit 260 (optional), a speaker 261 (optional), a microphone 262 (optional), an earphone jack 263 (optional), a processor 270, an external interface 280, a power supply 290 and other components. Those skilled in the art will understand that Figure 2 This is merely an example of a terminal and does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or a combination of certain components, or different components.
[0079] The input unit 230 can be used to receive input digital or character information and generate key signal input related to the user settings and function control of the terminal. Specifically, the input unit 230 may include a touch screen 231 (optional) and / or other input devices 232. The touch screen 231 can collect user touch operations on or near it (for example, operations performed on or near the touch screen using a finger, joint, stylus, or any other suitable object) and drive corresponding connected devices according to a pre-set program. The touch screen can detect user touch actions on the touch screen, convert the touch actions into touch signals and transmit them to the processor 270, and can receive and execute commands sent by the processor 270; the touch signals include at least touch point coordinate information. The touch screen 231 can provide an input interface and an output interface between the terminal and the user. In addition, touch screens can be implemented using various types, such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch screen 231, the input unit 230 may also include other input devices. Specifically, the other input devices 232 may include, but are not limited to, one or more of a physical keyboard, function keys (such as a volume control button, a switch button, etc.), a trackball, a mouse, a joystick, and the like.
[0080] The display unit 240 may be used to display information input by a user or information provided to a user, various menus of the terminal, an interactive interface, file display, and / or playback of any multimedia file.
[0081] Memory 220 can be used to store instructions and data. Memory 220 primarily includes an instruction storage area and a data storage area. The data storage area can store various data, such as multimedia files and text. The instruction storage area can store software units such as the operating system, applications, and instructions required for at least one function, or subsets or extensions thereof. It may also include non-volatile random access memory (RAM). It provides processor 270 with management functions for the hardware, software, and data resources within the computing and processing device, supporting control software and applications. It is also used to store multimedia files and running programs and applications.
[0082] The processor 270 is the terminal's control center, connecting all components of the terminal using various interfaces and circuits. By executing instructions stored in memory 220 and accessing data stored in memory 220, it performs various terminal functions and processes data, thereby providing overall control of the terminal. Optionally, the processor 270 may include one or more processing units. Preferably, the processor 270 integrates an application processor and a modem processor, with the application processor primarily processing the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into the processor 270. In some embodiments, the processor and memory may be implemented on a single chip; in other embodiments, they may be implemented on separate chips. The processor 270 may also generate corresponding operational control signals and send them to corresponding components of the computing and processing device. It may also read and process data in the software, particularly the data and programs in memory 220, to enable the various functional modules therein to perform their corresponding functions, thereby controlling the corresponding components to operate as instructed.
[0083] Among them, the memory 220 can be used to store software codes related to the topic evaluation method, the processor 270 can execute the software codes in the memory 220, and can also schedule other units (such as the above-mentioned input unit 230 and display unit 240) to realize corresponding functions.
[0084] The RF unit 210 (optional) can be used to send and receive information or receive and send signals during a call. For example, it receives downlink information from the base station and passes it to the processor 270 for processing; in addition, it sends uplink data to the base station. Typically, the RF unit 210 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, the RF unit 210 can communicate with network devices and other devices via wireless communication. This wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.
[0085] In the embodiment of the present application, the radio frequency unit 210 can send data to other devices and can also receive data sent by other devices. It should be understood that the radio frequency unit 210 is optional and can be replaced by other communication interfaces, such as a network port.
[0086] The terminal also includes a power supply 290 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 270 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system.
[0087] The terminal further includes an external interface 280 , which may be a standard Micro USB interface or a multi-pin connector, and may be used to connect the terminal to other devices for communication, or to connect a charger for charging the terminal.
[0088] Although not shown, the terminal may further include a flashlight, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with different functions, etc., which will not be described in detail here.
[0089] Next, the product form of the above server will be described.
[0090] Figure 3 A structural diagram of the above server is provided, such as Figure 3 As shown, the server may include a bus 301 , a processor 302 , a communication interface 303 , and a memory 304 . The processor 302 , the memory 304 , and the communication interface 303 communicate with each other via the bus 301 .
[0091] The bus 301 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.
[0092] The processor 302 may be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0093] The memory 304 may include volatile memory, such as random access memory (RAM). The memory 304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0094] The memory 304 can be used to store software codes related to the topic evaluation method. The processor 302 can call the software codes stored in the memory 304 and can also schedule other units to implement corresponding functions.
[0095] The processors in the above-mentioned terminals and servers (such as processor 270 and processor 302) can be hardware circuits (such as application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), general-purpose processors, digital signal processors (DSP), microprocessors or microcontrollers, etc.), or a combination of these hardware circuits. For example, the processor can be a hardware system with an instruction execution function, such as a CPU, DSP, etc., or a hardware system without an instruction execution function, such as an ASIC, FPGA, etc., or a combination of the above-mentioned hardware systems without an instruction execution function and hardware systems with an instruction execution function.
[0096] In the process of implementing this case, the inventors of this case discovered that in some application scenarios (such as Mandarin test scenarios), the question bank for speaking topics is fixed, and the fixed question bank for speaking topics may lead to the situation where the respondent directly recites the model essay. If this happens, the evaluation results obtained by using the current speaking topic evaluation scheme to evaluate the answer voice cannot objectively reflect the respondent's ability.
[0097] In response to the defects of the current topic-speaking evaluation scheme, the inventor of this case conducted research and, through continuous research, finally proposed a topic-speaking evaluation method with better results. By evaluating the answering voice through this topic-speaking evaluation method, an evaluation result that can objectively reflect the respondent's ability can be obtained.
[0098] Next, the topic evaluation method provided by this application is introduced through the following embodiments.
[0099] See also Figure 4 , shows a flow chart of a method for evaluating a topic of speech provided by an embodiment of the present application, which may include:
[0100] Step S401: Obtain the topic text and answer voice.
[0101] The answering voice is the answering voice of the respondent to the topic.
[0102] Step S402: performing voice feature extraction and voice transcription on the answering voice to obtain the voice features and voice transcription text of the answering voice.
[0103] In one possible implementation, the process of extracting speech features and transcribing the answering speech to obtain the speech features and the transcribed text of the answering speech includes:
[0104] Step S4021a: extract the voice features of the answering voice to obtain the voice features of the answering voice.
[0105] The speech features extracted from the answering speech may be, but are not limited to, MFCC features, Fbank features, and the like.
[0106] Step S4021b: extract the voiced speech segment from the answering speech by performing speech endpoint detection on the answering speech.
[0107] Speech endpoint detection extracts voiced speech segments, breaking long speech into segments and obtaining sentence-level speech information. Speech endpoint detection, also known as voice activity detection (VAD), involves accurately determining the start and end points of a speech signal within a segment.
[0108] In order to improve data processing efficiency, step S4021a and step S4021b can be executed in parallel. Of course, this embodiment is not limited to this, and step S4021a and step S4021b can also be executed in series, for example, step S4021a is executed first, and then step S4021b is executed.
[0109] Step S4022: Acquire the speech features of the voiced speech segment from the speech features of the answering speech, and perform speech transcription based on the speech features of the voiced speech segment to obtain a speech transcription text of the answering speech.
[0110] After obtaining the speech features of the answering speech and the voiced speech segments in the answering speech, the speech features of the voiced speech segments can be extracted from the speech features of the answering speech, and then the speech features of the voiced speech segments can be input into the speech transcription module for speech transcription to obtain speech transcription text.
[0111] In addition to obtaining the voice features and voice-transcribed text of the answering speech using the method of steps S4021 to S4022, other methods can also be used to obtain the voice features and voice-transcribed text of the answering speech. For example, voice features of the answering speech can be extracted to obtain the voice features of the answering speech, and voice transcription can be performed based on the voice features of the answering speech to obtain the voice-transcribed text of the answering speech.
[0112] Step S403a: Determine the score of the answering speech in the speech evaluation dimension based on the speech features of the answering speech and the speech transcription text.
[0113] In one possible implementation, the process of determining the score of the answering speech in the speech evaluation dimension based on the speech features and speech transcribed text of the answering speech may include: converting the speech transcribed text into a phoneme sequence and a tone sequence; inputting the speech features of the answering speech and the phoneme sequence and tone sequence obtained by converting the speech transcribed text into a speech evaluation model for evaluation, and obtaining the score output by the speech evaluation model. The score output by the speech evaluation model is the score of the answering speech in the speech evaluation dimension.
[0114] The speech evaluation model may be, but is not limited to, an encoder-decoder based Transformer model.
[0115] Step S403b: Determine the score of the answering speech in the semantic evaluation dimension based on the speech transcription text of the answering speech and the title text of the topic.
[0116] In one possible implementation, the process of determining the score of the answering speech in the semantic evaluation dimension based on the speech-transcribed text of the answering speech and the title text of the topic may include: splicing the speech-transcribed text of the answering speech and the title text of the topic to obtain the spliced text; mapping each word of the spliced text to an integer id through a subword dictionary to obtain a text vector corresponding to the spliced text; inputting the text vector corresponding to the spliced text into the semantic evaluation model for evaluation to obtain the score output by the semantic evaluation model. The score output by the semantic evaluation model is the score of the answering speech in the semantic evaluation dimension.
[0117] The semantic evaluation model can be, but is not limited to, an encoder-based Transformer model. Optionally, the encoder-based Transformer model may include an embedding layer, a multi-layer Transformer based on a self-attention mechanism, and a fully connected layer. Assume that the text vector corresponding to the concatenated text is a text vector x=(x1,…,x U ), where U represents the length of the concatenated text and V represents the size of the subword dictionary. The text vector x corresponding to the concatenated text is x=(x1,…,x U) is input into the encoder-based Transformer model and is first processed by the embedding layer to obtain a hidden vector h=(h1,…,h U ), the hidden vector h of dimension (U, d) is input into the multi-layer Transformer based on the self-attention mechanism to obtain the hidden vector c=(c1,…,c U ), take c1 of the hidden layer vector c and process it through the fully connected layer to obtain the score of the answer speech in the semantic evaluation dimension.
[0118] Step S403c-1: For each sentence in the speech transcription text, the fingerprint vector of the sentence is determined in combination with the position information of each word in the sentence, and the similarity between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library is calculated to determine whether there are similar sentences to the sentence in the duplicate checking text library, so as to obtain the judgment result corresponding to the sentence.
[0119] Considering that in some application scenarios (such as Mandarin test scenarios), the question bank for the topic is fixed, and the fixed question bank for the topic may lead to the situation where the respondent directly recites the model essay. In response to this situation, this embodiment proposes to perform text duplication checking on the speech transcribed text.
[0120] Specifically, for each sentence in the speech transcription text, the fingerprint vector of the sentence is determined, and the similarity between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library is calculated to determine whether there are similar sentences to the sentence in the duplicate checking text library, so as to obtain the judgment result corresponding to the sentence.
[0121] In order to reduce the misjudgment phenomenon caused by the different positions of words in two sentences, this embodiment determines the sentence fingerprint vector for each sentence in the speech transcription text in combination with the position information of the words in the sentence.
[0122] Step S403c-2: Determine the points to be deducted for the answer voice in the text duplication check dimension based on the judgment results corresponding to each sentence of the voice transcription text.
[0123] The discrimination result for any sentence in the speech transcription text is used to indicate whether there are similar sentences in the duplicate checking text library. After obtaining the discrimination results for each sentence in the speech transcription text, the deduction for the answer speech in the text duplication checking dimension can be determined based on the discrimination results for each sentence in the speech transcription text.
[0124] Step S404: Determine the final score of the answering speech based on the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the score deduction in the text duplication checking dimension.
[0125] After obtaining the score of the answering voice in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication checking dimension, the scores of the three dimensions are integrated to obtain the final score of the answering voice.
[0126] The topic-speaking evaluation method provided in the embodiment of the present application first obtains the topic-speaking title text and the answering voice, then performs voice feature extraction and voice transcription on the answering voice to obtain the voice features and voice transcription text of the answering voice, then determines the score of the answering voice in the voice evaluation dimension based on the voice features and voice transcription text of the answering voice, determines the score of the answering voice in the semantic evaluation dimension based on the voice transcription text of the answering voice and the topic-speaking title text, determines the deduction of the answering voice in the text duplication checking dimension by checking for duplicates in each sentence of the voice transcription text, and finally determines the final score of the answering voice based on the score of the answering voice in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication checking dimension. The topic-speaking evaluation method provided in the embodiment of the present application not only evaluates the answering speech in the voice evaluation dimension and the semantic evaluation dimension, but also performs a text duplication check on the voice-transcribed text of the answering speech, and determines the deduction points based on the text duplication check results. Then, the final score of the answering speech is determined by comprehensively considering the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction points in the text duplication check dimension. The topic-speaking evaluation method provided in the embodiment of the present application can more comprehensively evaluate the answering speech of the answerer on the topic-speaking. The evaluation results obtained by evaluating the answering speech using the topic-speaking evaluation method provided in the embodiment of the present application can objectively reflect the ability of the answerer.
[0127] In another embodiment of the present application, the specific implementation process of "Step S403c-1: for each sentence of the speech transcription text, the fingerprint vector of the sentence is determined in combination with the position information of each word in the sentence, and the fingerprint vector of the sentence is respectively calculated with the fingerprint vector of each sentence in the duplicate checking text library to determine whether there are similar sentences to the sentence in the duplicate checking text library, so as to obtain the judgment result corresponding to the sentence" in the above embodiment is introduced.
[0128] First, determine a sentence S of the speech transcription text i The process of obtaining fingerprint vectors is introduced in this paper.
[0129] Determine a sentence S of the speech transcription text i The fingerprint vector process can include:
[0130] Step a1: Sentence S i Perform word segmentation to obtain several words.
[0131] Existing word segmentation algorithms (such as Jieba word segmentation algorithm) can be used to segment sentence S iPerform word segmentation processing.
[0132] Step a2: For each word obtained through word segmentation, use the hash function to determine the hash value of the word, and then calculate the hash value of the word according to the word in the sentence S. i The position feature vector of the word is determined based on its position in , and the target feature vector of the word is determined based on the hash value of the word and the position feature vector of the word.
[0133] For each word obtained by the word segmentation process, the same hash function is used to determine the hash value of each word. It should be noted that the hash value of any word is a binary vector.
[0134] In a possible implementation, for a word c obtained through word segmentation processing, ij (For sentence S i The jth word obtained by word segmentation) is obtained according to word c ij In sentence S i Position determining word c in ij The process of finding the position feature vector may include:
[0135] Step a21: According to word c ij In sentence S i The position in the , generates a binary vector v of length L1 ij .
[0136] Among them, L1 is the sentence S i The total number of words contained, binary vector v ij For word c ij The original position feature vector, binary vector v ij The element at each position in the sentence can indicate whether the word c exists at the corresponding position in the sentence. ij .
[0137] For example, for sentence S i Perform word segmentation to obtain 5 words, word c ij It is sentence S i The third word in the word c ij In sentence S i The position in generates the binary vector {0,0,1,0,0}.
[0138] Step a22: Use the mapping function to transform the binary vector v ij Mapped to a vector of length L2, the mapped vector u is obtained ij .
[0139] Wherein, L2 is an integer smaller than L1.
[0140] The mapping function in this embodiment can be a dimensionality reduction function, which can map a vector of a certain length to a vector of a smaller length. For example, the mapping function can map a vector of length 8 to a vector of length 4. It should be noted that the length of the mapped vector can be determined according to the actual situation. In this embodiment, the mapped vector u ij The length of the word c ij The hash value h ij (binary vectors) are of the same length.
[0141] Step a23, calculate the mapped vector u ij The mean of each element in and the mapped vector u ij Subtract the mean from each element in to get the mean difference vector.
[0142] For example, the mapped vector u ij is {1,2,3,2}, u ij The mean of each element in is 2, and u ij Subtract the mean 2 from each element in to get the mean difference vector {-1,0,1,0}.
[0143] Step a24: Set the elements greater than 0 in the mean difference vector to 1 and the elements less than or equal to 0 to 0 to obtain word c ij The position feature vector p ij .
[0144] After obtaining the mean difference vector, the mean difference vector can be reduced in dimension, and the vector after dimension reduction is used as the word c ij The final position feature vector p ij Specifically, the elements greater than 0 in the mean difference vector are set to 1, and the elements less than or equal to 0 are set to 0, to obtain a binary vector, i.e., word c ij The position feature vector p ij .
[0145] In obtaining word c ij The hash value h ij (binary vector) and position feature p ij After the vector is obtained, the word c ij The hash value h ij and word c ij The position feature vector p ij Determine word c ij The target feature vector.
[0146] According to the word c ij The hash value h ij and word c ij The position feature vector determines the word c ij There are many ways to implement the target feature vector of . In one possible implementation, the word c can be directly ijThe hash value h ij With word c ij The position feature vector of word c is fused to get ij The fused vector f ij , the word c ij The fused vector f ij As word c ij Optionally, a weighted summation fusion method can be used to combine word c ij The hash value h ij With word c ij The position feature vector p ij Fusion, as shown below:
[0147] f ij =μ×h ij +(1-μ)×p ij (1)
[0148] It should be noted that when using μ to h ij When weighted, for h ij For each element in , if the element is 1, multiply the element by μ, if the element is 0, subtract μ from the element. Similarly, when using 1-μ to multiply p ij When weighted, for p ij For each element in , if the element is 1, multiply the element by 1-μ; if the element is 0, subtract 1-μ from the element.
[0149] It should also be noted that this embodiment is not limited to using the weighted sum fusion method to combine word c ij The hash value h ij With word c ij The position feature vector p ij Fusion, you can also use other fusion methods to combine the word c ij The hash value h ij With word c ij The position feature vector p ij Fusion, for example, can adopt the fusion method of direct summation.
[0150] Considering that some words (such as "yes", "no", "today", etc.) are common in many types of texts, such words can be ignored in the process of checking for duplicates, while some words only appear in specific situations and have a greater impact on checking for duplicates, this embodiment provides a method for checking for duplicates based on word c. ij The hash value h ij and word c ij The position feature vector p ij Determine word c ij The second implementation of the target feature vector is:
[0151] The word cij The hash value h ij With word c ij The position feature vector p ij Fusion, get word c ij The fused vector f ij ; According to word c ij In sentence S i The number of times it appears in the sentence S i The total number of words included, the total number of words in the duplicate check text library, the word c in the duplicate check text library ij The number of occurrences, determine the word c ij The corresponding weight w ij ; Word c ij The corresponding weight w ij Pair of words c ij The fused vector f ij Weighted, get word c ij The target feature vector.
[0152] In one possible implementation, the word c ij The corresponding weight w ij It can be calculated by the following formula:
[0153] (2)
[0154] Among them, m ij Representation word c ij In sentence S i The number of times it appears in M i Represents sentence S i The total number of words included, N represents the total number of words in the duplicate check text library, n ij Represents word c in the duplicate check text library ij Number of occurrences.
[0155] You can determine the word c as above ij The target feature vector is used to determine the sentence S i The target feature vector of each other word obtained by word segmentation.
[0156] Step a3: According to the sentence S i The target feature vector of each word obtained by word segmentation is used to determine the sentence S i Fingerprint Vector.
[0157] In a possible implementation, according to the sentence S i The target feature vector of each word obtained by word segmentation is used to determine the sentence S i The fingerprint vector process may include: first, the sentence S iThe target feature vectors of each word obtained by word segmentation are summed to obtain the summed vector Z i , then sum the vector Z i Perform dimensionality reduction processing. Specifically, the summed vector Z i The elements greater than 0 are set to 1, and the elements less than or equal to 0 are set to 0. The vector after dimensionality reduction is used as the sentence S i Fingerprint Vector.
[0158] See also Figure 5 , shows that by i Schematic diagram of the process of determining the positional feature vectors of each word obtained through word segmentation. For each word obtained through word segmentation, the final positional feature vector of the word can be obtained through a series of processes including generating the original positional feature vector, position mapping, subtracting the mean, and reducing the dimension. Figure 6 , showing the sentence S i The process of determining the fingerprint vector of each word obtained by word segmentation is to obtain the target feature vector of the word through a series of processes, such as hash value determination, position feature vector determination, hash value and position feature vector fusion, and fusion vector weighting. After obtaining the target feature vectors of each word obtained by word segmentation, the target feature vectors of each word are summed and reduced in dimension to obtain the sentence S. i Fingerprint Vector.
[0159] After obtaining sentence S i After the fingerprint vector is obtained, the sentence S i The fingerprint vector of the sentence S is calculated by similarity calculation with the fingerprint vector of each sentence in the duplicate text library to determine whether the sentence S exists in the duplicate text library. i Similar sentences to get sentence S i The corresponding judgment results.
[0160] Specifically, by putting the sentence S i The fingerprint vector of the duplicate text library is used to calculate the similarity between the fingerprint vector of each text and the duplicate text library to determine whether the sentence S exists in the duplicate text library. i The process of finding similar sentences can include:
[0161] Step b1: Sentence S i The fingerprint vector of the sentence is calculated with the fingerprint vector of each sentence in the duplicate checking text library to obtain several similarities.
[0162] For example, the duplicate checking text library includes 100 sentences, and the sentence S i The fingerprint vector of the sentence is calculated similarly with the fingerprint vector of each sentence in the duplicate checking text library, and 100 similarities can be obtained.
[0163] The method of determining the fingerprint vector of each sentence in the duplicate text library is the same as that of sentence S i The method of determining the fingerprint vector is similar. In order to improve the evaluation efficiency, the fingerprint vector of each sentence in the duplicate checking text library can be determined in advance (that is, the fingerprint vector of each sentence in the duplicate checking text library is determined before the evaluation). In this way, the predetermined fingerprint vector can be directly used in the evaluation stage. Of course, this embodiment is not limited to this. For example, the fingerprint vector of the sentence in the duplicate checking text library can also be determined in real time in the evaluation stage.
[0164] In one possible implementation, the sentence S i The process of calculating the similarity between the fingerprint vector of the sentence S and the fingerprint vector of each sentence in the duplicate checking text library can include: calculating the similarity between the sentence S i The Hamming distance between the fingerprint vector of each sentence in the duplicate check text library; according to the sentence S i The number of elements in the fingerprint vector and the calculated Hamming distance are used to determine the sentence S i The similarity between the fingerprint vector of and the fingerprint vector of each sentence in the duplicate checking text library.
[0165] For each sentence in the duplicate check text library, calculate sentence S i The Hamming distance between the fingerprint vector of the sentence and the fingerprint vector of the sentence in the duplicate text library is calculated based on the Hamming distance and the sentence S i The number of elements in the fingerprint vector determines the sentence S i The similarity between the fingerprint vector of the sentence and the fingerprint vector of the sentence in the duplicate checking text library.
[0166] Specifically, sentence S i The fingerprint vector and a sentence Sd in the duplicate text library j The similarity f(S i ,Sd j ) can be calculated as follows:
[0167] (3)
[0168] Among them, sentence S i The fingerprint vector and the sentence Sd in the duplicate check text library j The fingerprint vectors are all binary vectors with the same length. num represents the sentence S i The length of the fingerprint vector or sentence Sd j The length of the fingerprint vector, Ham(S i ,Sd j ) represents sentence S i The fingerprint vector and the sentence Sd in the duplicate check text library j The Hamming distance of the fingerprint vector of the sentence S iFingerprint vector and sentence Sd j The number of different elements in the fingerprint vector, for example, sentence S i Fingerprint vector and sentence Sd j The fingerprint vector has two different elements, then Ham(S i ,Sd j ) is 2, Ham(S i ,Sd j ) is smaller, f(S i ,Sd j ) is larger, the sentence S i With the sentence Sd j The more similar.
[0169] Step b2: Obtain the maximum similarity from several similarities.
[0170] Obtain the maximum similarity f from the several similarities obtained in step b1 maxi .
[0171] Step b3-a: If the maximum similarity is greater than or equal to the preset similarity threshold, it is determined that there is sentence S in the duplicate checking text library. i Similar sentences.
[0172] If the maximum similarity f maxi If the similarity is greater than or equal to the preset threshold δ, it means that there is a sentence S in the duplicate text library. i Similar sentences, fingerprint vector and sentence S i The similarity of the fingerprint vector is the maximum similarity f maxi The sentence is Sentence S i Similar sentences.
[0173] Step b3-b: If the maximum similarity is less than the preset similarity threshold, it is determined that there is no similar sentence to the sentence in the duplicate checking text library.
[0174] If the maximum similarity f maxi If the similarity is less than the preset threshold δ, it means that the sentence S does not exist in the duplicate text library. i Similar sentences.
[0175] Through the above steps b1 to b3, we can get sentence S i The corresponding discrimination result is used to indicate whether sentence S exists in the duplicate text library. i Similar sentences.
[0176] By adopting the method of steps b1 to b3, the discrimination results corresponding to other sentences of the speech transcription text can be obtained, and thus the discrimination results corresponding to each sentence of the speech transcription text can be obtained.
[0177] In another embodiment of the present application, the specific implementation process of "Step S403c-2: determining the points to be deducted for the answering speech in the text duplication check dimension according to the judgment results corresponding to each sentence of the speech transcription text" in the above embodiment is introduced.
[0178] In one possible implementation, the specific implementation process of determining the deduction of the answer speech in the text duplication check dimension based on the judgment results corresponding to each sentence of the speech transcription text may include:
[0179] Step c1: Determine the number of similar characters in each sentence of the speech transcription text according to the discrimination results corresponding to each sentence of the speech transcription text.
[0180] In one possible implementation, the process of determining the number of similar characters in each sentence of the speech-transcribed text based on the discrimination results corresponding to each sentence of the speech-transcribed text may include: for each sentence of the speech-transcribed text, if there is a similar sentence to the sentence in the duplicate checking text library, then determining the number of similar characters of the sentence to be the total number of characters in the sentence; if there is no similar sentence to the sentence in the duplicate checking text library, then determining the number of similar characters of the sentence to be 0.
[0181] Step c2: Determine the deduction score for the answer voice in the text duplication check dimension based on the number of similar characters in each sentence of the speech transcription text, the number of characters in each sentence of the speech transcription text, and the preset maximum deduction score.
[0182] The deduction of answer voice in the text duplication check dimension can be calculated as follows:
[0183] (4)
[0184] Among them, N i Indicates the number of similar words in the i-th sentence of the speech transcription text, M i Indicates the total number of words in the i-th sentence of the speech transcription text, n indicates the number of sentences contained in the speech transcription text, if there are similar sentences to the i-th sentence of the speech transcription text in the text duplicate checking database, then N i =M i , if there is no similar sentence to the i-th sentence of the speech transcription text in the text duplicate checking database, then N i =0,score max_similarity_deduction Indicates the preset maximum deduction score, score imilarity_deduction Indicates the points deducted for answering voice in the text duplication check dimension.
[0185] Through the above process, the points deducted for the answer voice in the text duplication check dimension can be obtained.
[0186] In another embodiment of the present application, the specific implementation process of "Step S404: determining the final score of the answering speech based on the score of the answering speech in the speech evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication checking dimension" in the above embodiment is introduced.
[0187] In one possible implementation, the process of determining the final score of the answering speech based on the score of the answering speech in the speech evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication checking dimension may include: weighting the score of the answering speech in the speech evaluation dimension according to a preset first weight α to obtain a first weighted score, weighting the score of the answering speech in the semantic evaluation dimension according to a preset second weight β to obtain a second weighted score, and weighting the deduction in the text duplication checking dimension of the answering speech according to a preset third weight γ to obtain a weighted deduction; summing the first weighted score and the second weighted score, and subtracting the weighted deduction from the score obtained by the sum to obtain the final score of the answering speech.
[0188] Final score of the answer voice total The determination method is as follows:
[0189] score total =α×score speech +β×score semantic -γ×score imilarity_deduction (5)
[0190] Among them, score speech Indicates the score of the answer voice in the voice evaluation dimension, score semantic Indicates the score of the answer voice in the semantic evaluation dimension, score imilarity_deduction It indicates the deduction of answer voice in the text duplication check dimension. The values of the three weights α, β, and γ can be determined according to the actual application scenario.
[0191] The above introduces the topic evaluation method provided in the embodiment of the present application. The following will introduce the device corresponding to the above topic evaluation method.
[0192] See also Figure 7 , Figure 7 A structural diagram of a speaking topic evaluation device provided in an embodiment of the present application, the speaking topic evaluation device may include: a data acquisition module 701, a speech processing module 702, a speech evaluation module 703a, a semantic evaluation module 703b, a text duplication checking module 703c and an evaluation result determination module 704.
[0193] The data acquisition module 701 is used to obtain the topic text and answer voice.
[0194] The speech processing module 702 is used to extract speech features and transcribe the answering speech to obtain speech features and speech transcribed text of the answering speech.
[0195] The speech evaluation module 703a is used to determine the score of the answering speech in the speech evaluation dimension based on the speech features and speech transcription text of the answering speech.
[0196] The semantic evaluation module 703b is used to determine the score of the answering speech in the semantic evaluation dimension based on the speech transcription text of the answering speech and the title text of the topic.
[0197] The text duplication checking module 703c is used to determine the fingerprint vector of each sentence in the speech-transcribed text in combination with the position information of each word in the sentence, and to determine whether there are similar sentences to the sentence in the duplication checking text library by calculating the similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplication checking text library, so as to obtain the judgment result corresponding to the sentence, and determine the deduction of the answer voice in the text duplication checking dimension according to the judgment results corresponding to each sentence in the speech-transcribed text.
[0198] The evaluation result determination module 704 is used to determine the final score of the answering speech based on the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction score in the text duplication checking dimension.
[0199] In a possible implementation, the speech processing module 702 may include: a speech feature extraction module, a voiced speech segment extraction module, and a speech transcription text acquisition module.
[0200] The speech feature extraction module is used to extract speech features of the answering speech to obtain the speech features of the answering speech.
[0201] The voiced speech segment extraction module is used to extract the voiced speech segments from the answering speech by performing speech endpoint detection on the answering speech.
[0202] The speech transcription text acquisition module is used to obtain the speech features of the voiced speech segment from the speech features of the answering speech, and perform speech transcription based on the speech features of the voiced speech segment to obtain the speech transcription text of the answering speech.
[0203] In a possible implementation, the text duplication checking module 703c determines the fingerprint vector of the sentence by combining the position information of each word in the sentence, including:
[0204] Perform word segmentation on the sentence to obtain several words;
[0205] For each of the plurality of words, a hash value of the word is determined using a hash function, and a positional feature vector of the word is determined according to the position of the word in the sentence, and a target feature vector of the word is determined according to the hash value of the word and the positional feature vector of the word;
[0206] According to the target feature vectors of several words, the fingerprint vector of the sentence is determined.
[0207] In a possible implementation, when determining the position feature vector of a word according to the position of the word in the sentence, the text duplicate checking module 703c is specifically configured to:
[0208] Generate a binary vector of length L1 based on the position of the word in the sentence, where L1 is the total number of words in the sentence. The element at each position in the binary vector can indicate whether the word exists at the corresponding position in the sentence.
[0209] Using a mapping function, the binary vector is mapped to a vector of length L2 to obtain a mapped vector, where L2 is an integer less than L1;
[0210] Calculate the mean of each element in the mapped vector, and subtract the mean from each element in the mapped vector to obtain a mean difference vector;
[0211] Set the elements in the mean difference vector that are greater than 0 to 1 and the elements that are less than or equal to 0 to 0 to obtain the position feature vector of the word.
[0212] In a possible implementation, when determining the target feature vector of a word based on the hash value of the word and the position feature vector of the word, the text duplicate checking module 703c is specifically configured to:
[0213] The hash value of the word is fused with the position feature vector of the word to obtain the fused vector of the word;
[0214] Determine the weight of the word based on the number of times the word appears in the sentence, the total number of words in the sentence, the total number of words in the duplicate check text library, and the number of times the word appears in the duplicate check text library;
[0215] The fused vector of the word is weighted by the weight corresponding to the word to obtain the target feature vector of the word.
[0216] In a possible implementation, when determining the fingerprint vector of the sentence based on the target feature vectors of several words, the text duplication checking module 703c is specifically configured to:
[0217] Fuse the target feature vectors of several words to obtain a fused vector;
[0218] Set the elements greater than 0 in the fused vector to 1 and the elements less than or equal to 0 to 0 to obtain the fingerprint vector of the sentence.
[0219] In one possible implementation, the text duplicate checking module 703c performs similarity calculations on the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate checking text library to determine whether there are similar sentences to the sentence in the duplicate checking text library. Specifically, it is used to:
[0220] Calculate the similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate check text library to obtain several similarities;
[0221] Obtain the maximum similarity from several similarities;
[0222] If the maximum similarity is greater than or equal to the preset similarity threshold, it is determined that there are similar sentences to the sentence in the duplicate checking text library. If the maximum similarity is less than the preset similarity threshold, it is determined that there are no similar sentences to the sentence in the duplicate checking text library.
[0223] In a possible implementation, the fingerprint vector of each sentence in the speech transcription text and the fingerprint vector of each sentence in the duplicate checking text library are binary vectors of the same length.
[0224] When calculating the similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate text library, the text duplicate checking module 703c is specifically used to:
[0225] Calculate the Hamming distance between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate check text library;
[0226] Based on the number of elements in the fingerprint vector of the sentence and the calculated Hamming distance, the similarity between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library is determined.
[0227] In one possible implementation, the text duplication checking module 703c is specifically configured to:
[0228] Determining the number of similar characters in each sentence of the speech transcription text according to the discrimination results corresponding to each sentence of the speech transcription text;
[0229] The deduction score for the answer voice in the text duplication check dimension is determined based on the number of similar words in each sentence of the speech transcribed text, the number of words in each sentence of the speech transcribed text, and the preset maximum deduction score.
[0230] In one possible implementation, the text duplicate checking module 703c is specifically configured to:
[0231] For each sentence of the speech transcription text:
[0232] If there are similar sentences to the sentence in the duplicate checking text library, the number of similar words in the sentence is determined to be the number of words in the sentence;
[0233] If there is no similar sentence to the sentence in the duplicate checking text library, the number of similar words in the sentence is determined to be 0.
[0234] In one possible implementation, the evaluation result determination module 704 is specifically configured to:
[0235] The scores of the answering voice in the voice evaluation dimension are weighted according to a preset first weight to obtain a first weighted score, the scores of the answering voice in the semantic evaluation dimension are weighted according to a preset second weight to obtain a second weighted score, and the deduction points of the answering voice in the text duplication check dimension are weighted according to a preset third weight to obtain a weighted deduction point;
[0236] The first weighted score and the second weighted score are summed, and the weighted deduction score is subtracted from the summed score to obtain the final score of the answer voice.
[0237] The speech topic evaluation device provided in the embodiment of the present application not only evaluates the answering speech in the voice evaluation dimension and the semantic evaluation dimension, but also performs a text duplication check on the speech transcription text of the answering speech, and determines the deduction points based on the text duplication check results. Then, the final score of the answering speech is determined by comprehensively considering the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction points in the text duplication check dimension. The speech topic evaluation device provided in the embodiment of the present application can more comprehensively evaluate the answering speech of the respondent on the speech topic, and the evaluation results obtained by evaluating the answering speech through the speech topic evaluation device provided in the embodiment of the present application can objectively reflect the ability of the respondent.
[0238] An embodiment of the present application also provides an electronic device, which may include: at least one processor, at least one communication interface, at least one memory and at least one communication bus.
[0239] In the embodiment of the present application, the number of the processor, the communication interface, the memory, and the communication bus is at least one, and the processor, the communication interface, and the memory communicate with each other through the communication bus;
[0240] The processor may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application;
[0241] The memory may include a high-speed RAM memory, and may also include a non-volatile memory, such as at least one disk memory;
[0242] The memory stores a program, and the processor can call the program stored in the memory, and the program is used to implement the steps of the topic evaluation method provided in the above embodiment.
[0243] An embodiment of the present application also provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the steps of the topic evaluation method provided in the above embodiment.
[0244] An embodiment of the present application also provides a computer program product, including computer-readable instructions. When the computer-readable instructions are executed on an electronic device, the electronic device implements the steps of the topic evaluation method provided in the above embodiment.
[0245] It should also be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.
[0246] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memories, special components, etc. In general, all functions performed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structures used to implement the same function can also be diverse, such as analog circuits, digital circuits or special circuits, etc. However, for the present application, software program implementation is a better implementation method in most cases. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., and includes a number of instructions to enable a computer device (which can be a personal computer, training equipment, or network equipment, etc.) to execute the methods described in each embodiment of the present application.
[0247] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0248] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a training device or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website, a computer, a training device or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
Claims
1. A topic evaluation method, characterized in that: include: Obtain the topic text and the answer voice of the topic, and perform voice feature extraction and voice transcription on the answer voice to obtain the voice features and voice transcription text of the answer voice; Determining a score of the answering speech in a speech evaluation dimension based on the speech features and the speech transcription text, and determining a score of the answering speech in a semantic evaluation dimension based on the speech transcription text and the question text; For each sentence of the speech transcription text, a fingerprint vector of the sentence is determined in combination with the position information of each word in the sentence, and the fingerprint vector of the sentence is respectively similarly calculated with the fingerprint vector of each sentence in the duplicate checking text library to determine whether there is a similar sentence to the sentence in the duplicate checking text library, so as to obtain a discrimination result corresponding to the sentence; Determine the deduction of the answer voice in the text duplication check dimension according to the judgment results corresponding to each sentence of the voice transcription text; Determine the final score of the answer speech based on the score of the answer speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction score in the text duplication check dimension; The step of determining the fingerprint vector of the sentence by combining the position information of each word in the sentence includes: Perform word segmentation on the sentence to obtain several words; For each of the plurality of words, determine a hash value of the word using a hash function, determine a positional feature vector of the word according to the position of the word in the sentence, and determine a target feature vector of the word according to the hash value of the word and the positional feature vector of the word; A fingerprint vector of the sentence is determined based on the target feature vectors of the multiple words.
2. The topic evaluation method according to claim 1, characterized in that: The extracting speech features and transcribing the answering speech to obtain the speech features and speech transcription text of the answering speech includes: Performing voice feature extraction on the answering voice to obtain voice features of the answering voice; Extracting a voiced speech segment from the answering speech by performing speech endpoint detection on the answering speech; The speech features of the voiced speech segment are obtained from the speech features of the answering speech, and speech transcription is performed according to the speech features of the voiced speech segment to obtain a speech transcription text of the answering speech.
3. The topic evaluation method according to claim 1, characterized in that: Determining the position feature vector of the word according to the position of the word in the sentence includes: Generate a binary vector of length L1 based on the position of the word in the sentence, where L1 is the total number of words in the sentence, and the element at each position in the binary vector can indicate whether the word exists at the corresponding position in the sentence; Using a mapping function, mapping the binary vector to a vector of length L2 to obtain a mapped vector, where L2 is an integer less than L1; Calculating the mean of each element in the mapped vector, and subtracting the mean from each element in the mapped vector to obtain a mean difference vector; The elements in the mean difference vector that are greater than 0 are set to 1, and the elements that are less than or equal to 0 are set to 0, to obtain the position feature vector of the word.
4. The topic evaluation method according to claim 1, characterized in that: Determining the target feature vector of the word according to the hash value of the word and the position feature vector of the word includes: The hash value of the word is fused with the position feature vector of the word to obtain the fused vector of the word; Determine the weight corresponding to the word based on the number of times the word appears in the sentence, the total number of words contained in the sentence, the total number of words in the duplicate check text library, and the number of times the word appears in the duplicate check text library; The fused vector of the word is weighted by the weight corresponding to the word to obtain the target feature vector of the word.
5. The topic evaluation method according to claim 1, characterized in that: Determining the fingerprint vector of the sentence based on the target feature vectors of the plurality of words includes: Fusing the target feature vectors of the plurality of words to obtain a fused vector; The elements in the fused vector that are greater than 0 are set to 1, and the elements that are less than or equal to 0 are set to 0, to obtain the fingerprint vector of the sentence.
6. The topic evaluation method according to claim 1, characterized in that: The method of calculating similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate checking text library to determine whether there is a similar sentence to the sentence in the duplicate checking text library includes: Calculate the similarity between the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate check text library to obtain several similarities; Obtaining a maximum similarity from the plurality of similarities; If the maximum similarity is greater than or equal to the preset similarity threshold, it is determined that there is a similar sentence to the sentence in the duplicate checking text library; if the maximum similarity is less than the preset similarity threshold, it is determined that there is no similar sentence to the sentence in the duplicate checking text library.
7. The topic evaluation method according to claim 6, characterized in that: The fingerprint vector of each sentence in the speech transcription text and the fingerprint vector of each sentence in the duplicate checking text library are binary vectors of the same length; The similarity calculation of the fingerprint vector of the sentence and the fingerprint vectors of each sentence in the duplicate check text library includes: Calculate the Hamming distance between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library; According to the number of elements in the fingerprint vector of the sentence and the calculated Hamming distance, the similarity between the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplicate checking text library is determined.
8. The topic evaluation method according to claim 1, characterized in that: The step of determining the deduction of the answer speech in the text duplication check dimension based on the judgment results corresponding to each sentence of the speech transcription text includes: Determining the number of similar characters in each sentence of the speech transcription text according to the discrimination results corresponding to each sentence of the speech transcription text; The deduction score for the answer voice in the text duplication check dimension is determined based on the number of similar words in each sentence of the voice-transcribed text, the number of words in each sentence of the voice-transcribed text, and the preset maximum deduction score.
9. The topic evaluation method according to claim 8, characterized in that: The step of determining the number of similar characters in each sentence of the speech transcription text according to the discrimination results corresponding to each sentence of the speech transcription text comprises: For each sentence of the speech transcription text: If there are similar sentences to the sentence in the duplicate checking text library, the number of similar words in the sentence is determined to be the number of words in the sentence; If there is no similar sentence to the sentence in the duplicate checking text library, the number of similar words in the sentence is determined to be 0.
10. The topic evaluation method according to claim 1, characterized in that: The final score of the answering speech is determined based on the score of the answering speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction in the text duplication check dimension, including: The score of the answering voice in the voice evaluation dimension is weighted according to a preset first weight to obtain a first weighted score, the score of the answering voice in the semantic evaluation dimension is weighted according to a preset second weight to obtain a second weighted score, and the deduction score of the answering voice in the text duplication check dimension is weighted according to a preset third weight to obtain a weighted deduction score; The first weighted score and the second weighted score are summed, and the weighted deduction is subtracted from the summed score to obtain a final score for the answer speech.
11. A topic evaluation device, characterized in that: include: Data acquisition module, speech processing module, speech evaluation module, semantic evaluation module, text duplication checking module and evaluation result determination module; The data acquisition module is used to obtain the topic text and answer voice; The speech processing module is used to extract speech features and perform speech transcription on the answering speech to obtain speech features and speech transcription text of the answering speech; The speech evaluation module is configured to determine a score of the answering speech in a speech evaluation dimension based on the speech features and the speech transcription text; The semantic evaluation module is used to determine the score of the answer speech in the semantic evaluation dimension based on the speech transcription text and the question text; The text duplication checking module is used to determine the fingerprint vector of each sentence of the speech transcription text in combination with the position information of each word in the sentence, and to determine whether there is a similar sentence to the sentence in the duplication checking text library by performing similarity calculation on the fingerprint vector of the sentence and the fingerprint vector of each sentence in the duplication checking text library, so as to obtain a judgment result corresponding to the sentence, and determine the deduction of the answer voice in the text duplication checking dimension according to the judgment results corresponding to each sentence of the speech transcription text; The evaluation result determination module is used to determine the final score of the answer speech according to the score of the answer speech in the voice evaluation dimension, the score in the semantic evaluation dimension, and the deduction score in the text duplication check dimension; The text duplication checking module is specifically used to determine the fingerprint vector of the sentence in combination with the position information of each word in the sentence: Perform word segmentation on the sentence to obtain several words; For each of the plurality of words, determine a hash value of the word using a hash function, determine a positional feature vector of the word according to the position of the word in the sentence, and determine a target feature vector of the word according to the hash value of the word and the positional feature vector of the word; A fingerprint vector of the sentence is determined based on the target feature vectors of the multiple words.
12. An electronic device, characterized in that: comprising at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program so that the electronic device can implement the steps of the topic evaluation method as described in any one of claims 1 to 10.
13. A computer storage medium, characterized in that The storage medium carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, the electronic device can implement the steps of the topic evaluation method as described in any one of claims 1 to 10.
14. A computer program product, characterized in that The method comprises computer-readable instructions, which, when executed on an electronic device, enable the electronic device to implement the steps of the topic evaluation method as described in any one of claims 1 to 10.
Citation Information
Patent Citations
Method and device used for oral proficiency assessment, electronic device and medium
CN109785698A
Evaluation system and evaluation method
JP2014178835A