Position determination method, device and electronic device based on voice recognition
Through a method based on voice recognition, robots automatically perform voice calls and location information recognition, the problems of inefficiency and waste of labor caused by huge data in the prior art are solved, and fast and efficient position determination work is achieved.
Patent Information
- Application Number
- CN202210945326.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-08
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2042-08-08
AI Technical Summary
In the prior art, the location determination method due to huge data is inefficient, wastes manpower, and cannot meet the timeliness requirements.
Using a speech recognition-based method, by obtaining multiple numbers in the target address book, configuring speech templates and robots, controlling the robots to make voice calls, and automatically identifying user's location information based on the speech template.
It realizes rapid and efficient position determination work, reduces labor waste, improves work efficiency, and meets timeliness requirements.
Smart Images

Figure CN115334455B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computers, and in particular to a method, device and electronic device for determining a position based on voice recognition. Background Art
[0002] In the prior art, when the location information of mobile personnel needs to be determined, the staff needs to communicate with the mobile personnel by phone, which creates huge work pressure on the staff. When the staff is limited, the huge amount of data leads to low work efficiency and failure to meet timeliness. Summary of the invention
[0003] The embodiments of the present invention provide a method, device and electronic device for determining a position based on speech recognition, so as to at least solve the technical problems of low efficiency and waste of manpower caused by huge data in traditional position determination methods.
[0004] According to one aspect of an embodiment of the present invention, a location determination method based on voice recognition is provided, including: obtaining a target address book, wherein the target address book contains multiple numbers; configuring a speech template and a robot for each of the above numbers in the above target address book; controlling each of the above robots to make a voice call to the corresponding above number; when the above voice call is successfully connected, controlling each of the above robots to perform location determination according to the above speech template, obtain the location information of the user corresponding to each of the above numbers, and generate a report.
[0005] According to another aspect of an embodiment of the present invention, a position determination device based on voice recognition is provided, including: a first acquisition module, used to obtain a target address book, wherein the target address book contains multiple numbers; a configuration module, used to configure a speech template and a robot for each of the above numbers in the above target address book; a first control module, used to control each of the above robots to make a voice call to the corresponding above number; a second control module, used to control each of the above robots to perform position determination according to the above speech template when the above voice call is successfully connected, obtain the location information of the user corresponding to each of the above numbers, and generate the above report.
[0006] As an optional example, the above-mentioned device also includes: a first acquisition module, used to obtain a number group whose location needs to be determined before obtaining the target address book; a processing module, used to set each number in the above-mentioned number group as the current number, and perform the following operations on the above-mentioned current number: obtain the number of digits of the above-mentioned current number; when the above-mentioned number of digits is a first value, obtain the value of the first digit of the above-mentioned current number; when the value of the above-mentioned first digit is a second value, obtain the value of the second digit of the above-mentioned current number; when the value of the above-mentioned second digit is not a third value, add the above-mentioned current number to the above-mentioned target address book.
[0007] As an optional example, the second control module includes: a processing unit, used to set each of the robots as the current robot, and perform the following operations on the current robot: according to the speech template, control the current robot to issue a first speech, so as to obtain an affirmative answer, a negative answer or other answer from the user to the first speech; obtain the first answer from the user based on the first speech; when the first answer is the affirmative answer, control the robot to issue a second speech according to the speech template, so as to obtain the location information of the user; obtain the second answer issued by the user according to the second speech; obtain the location information from the second answer, and at the same time control the robot to issue a third speech according to the speech template, so as to complete the location determination work, record the location information, and generate the report.
[0008] As an optional example, the above-mentioned device also includes: a third control module, which is used to control the above-mentioned robot to issue the above-mentioned third speech according to the above-mentioned speech template when the above-mentioned first answer is the above-mentioned negative answer or the above-mentioned other answer, so as to complete the above-mentioned position determination work, record that the above-mentioned position determination work is unsuccessful, and generate the above-mentioned report.
[0009] As an optional example, the above-mentioned device also includes: a fourth control module, which is used to control the above-mentioned robot to pause sending the above-mentioned first speech, the above-mentioned second speech or the above-mentioned third speech when the robot is interrupted by the above-mentioned user during the process of controlling the above-mentioned robot to send the above-mentioned first speech, the above-mentioned second speech or the above-mentioned third speech; a fifth control module, which is used to set a timer, and when the above-mentioned timer reaches the first time, control the above-mentioned robot to continue or re-send the above-mentioned first speech, the above-mentioned second speech or the above-mentioned third speech.
[0010] As an optional example, the processing unit further includes: obtaining an affirmative word library and a negative word library in the answer word library after obtaining the first answer fed back by the user according to the first speech; performing feature extraction on the affirmative word library, the negative word library and the first answer; calculating a first matching degree between the feature of the first answer and the feature of the affirmative word library, and a second matching degree between the feature of the first answer and the feature of the negative word library; determining that the first answer is the affirmative answer when the first matching degree is greater than or equal to a first threshold and the second matching degree is less than the first threshold; determining that the first answer is the negative answer when the first matching degree is less than the first threshold and the second matching degree is greater than or equal to the first threshold; determining that the first answer is the other answer when the first matching degree is less than the first threshold and the second matching degree is greater than or equal to the first threshold.
[0011] As an optional example, the processing unit further includes: when the first matching degree is less than the threshold value and the second matching degree is less than the threshold value, obtaining the number of occurrences of the first answer; when the number of occurrences is greater than or equal to the second threshold value, performing semantic matching on the first answer; when the first answer is matched as affirmative, saving the first answer in the affirmative word library; when the first answer is matched as negative, saving the first answer in the negative word library.
[0012] According to another aspect of an embodiment of the present invention, a storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the above-mentioned position determination method based on speech recognition is executed.
[0013] According to another aspect of an embodiment of the present invention, there is provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the above-mentioned position determination method based on voice recognition through the computer program.
[0014] In an embodiment of the present invention, a method is adopted for obtaining a target address book, wherein the target address book contains multiple numbers; configuring a speech template and a robot for each of the above numbers in the target address book; controlling each of the above robots to make a voice call to the corresponding number; and when the voice call is successfully connected, controlling each of the above robots to perform location determination according to the above speech template, obtain the location information of the user corresponding to each of the above numbers, and generate a report. In the above method, by using voice recognition technology, the robots are controlled to automatically initiate voice calls in batches at the same time, and the location information is inquired using real recordings. According to the answer voice, the logic problem is automatically jumped according to the speech template, and finally the answer voice is recognized and analyzed to obtain the user's location information and form a report, thereby achieving the purpose of fast and efficient location determination, and further solving the technical problems of low efficiency and waste of manpower caused by huge data in traditional location determination methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0016] Figure 1 is a flow chart of an optional method for determining a position based on speech recognition according to an embodiment of the present invention;
[0017] Figure 2 is a diagram of an optional method for determining a position based on speech recognition according to an embodiment of the present invention;
[0018] Figure 3 is a diagram of an optional method for determining a position based on speech recognition according to an embodiment of the present invention;
[0019] Figure 4 is a diagram of an optional method for determining a position based on speech recognition according to an embodiment of the present invention;
[0020] Figure 5 is a diagram of an optional method for determining a position based on speech recognition according to an embodiment of the present invention;
[0021] Figure 6 is a schematic structural diagram of an optional position determination device based on speech recognition according to an embodiment of the present invention;
[0022] Figure 7 is a schematic diagram of an optional electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0023] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0024] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0025] According to a first aspect of an embodiment of the present invention, a method for determining a position based on speech recognition is provided. Optionally, as follows: Figure 1 As shown, the above method includes:
[0026] S102, obtaining a target address book, wherein the target address book contains multiple numbers;
[0027] S104, configuring a speech template and a robot for each number in the target address book;
[0028] S106, controlling each robot to make a voice call to a corresponding number;
[0029] S108, when the voice call is successfully connected, control each robot to determine the location according to the speech template, obtain the location information of the user corresponding to each number, and generate a report.
[0030] Optionally, in this embodiment, the target address book contains one or more mobile phone numbers of users who need to determine the location. The speech template includes multiple nodes, each node corresponds to a paragraph or a sentence. After the robot finishes a paragraph or a sentence, it automatically jumps to the corresponding node according to the user's answer, and the robot automatically speaks the speech corresponding to the node. The robot is an intelligent outbound call robot that can make outbound calls in large quantities at the same time.
[0031] Optionally, in this embodiment, the correct number is screened out from multiple numbers whose locations need to be determined to form a target address book, and a speech template and a robot are configured for each number in the target address book. The data of each number is sent to the corresponding robot and transmitted to the operator's digital-to-analog converter through the network, that is, a voice call can be made to the corresponding number through the network's call system. After the user connects to the voice call, each robot determines the location of each user according to the speech template. The robot issues each question in the speech template, records the answer issued by each user to each question, and obtains the location information of each user from the answer, which may include specific location information. A corresponding report is generated based on each user's answer so that the subsequent location determination staff can view it.
[0032] Optionally, in this embodiment, voice recognition technology is used to control the robots to automatically initiate voice calls in batches at the same time, real recordings are used to inquire about location information, and logical problems are automatically jumped according to the speech template based on the answer voice, and finally the answer voice is recognized and analyzed to obtain the user's location information and form a report, thereby achieving the purpose of fast and efficient location determination, and further solving the technical problems of low efficiency and waste of manpower caused by large amounts of data in traditional location determination methods.
[0033] As an optional example, before obtaining the target address book, the following steps are also included:
[0034] Get the number group whose position needs to be determined;
[0035] Set each number in the number group as the current number and perform the following operations on the current number:
[0036] Get the number of digits in the current number;
[0037] When the number of digits is the first value, obtain the value of the first digit of the current number;
[0038] When the value of the first digit is the second value, obtain the value of the second digit of the current number;
[0039] When the value of the second digit is not the third value, the current number is added to the target address book.
[0040] Optionally, in this embodiment, a number group whose position needs to be determined is obtained, and the number group may include one or more numbers, and there may also be wrong numbers. In order to prevent the robot from calling out wrong numbers and wasting time, all numbers in the number group are first checked, and the correct numbers are added to the target address book. Each number is checked, for example, the first number is checked, the number of digits of the first number is obtained, and it is determined whether the number of digits of the first number is a first value, and the first value may be 11 digits. If the first number is 11 digits, the first digit of the first number is obtained, and it is determined whether the first digit of the first number is a second value, and the second value may be 1. If the first digit of the first number is 1, the second digit of the first number is obtained, and it is determined whether the second digit of the first number is a third value, and the third value may be 1 and 2. If the second digit of the first number is 3, it is determined that the first number is a correct number, and the first number is added to the target address book. If the number of digits of the first number is not 11 digits, the first digit of the first number is not 1, and the second digit of the first number is 1 or 2, it is determined that the first number is a wrong number.
[0041] As an optional example, when the voice call is successfully connected, each robot is controlled to determine the location according to the speech template, obtain the location information of the user corresponding to each number, and generate a report including:
[0042] Set each robot as the current robot and perform the following operations on the current robot:
[0043] According to the speech template, the current robot is controlled to issue a first speech, so as to obtain a positive response, a negative response or other response from the user in response to the first speech;
[0044] Obtain the first answer from the user based on the first dialogue;
[0045] When the first answer is an affirmative answer, the robot is controlled to issue a second speech according to the speech template to obtain the user's location information;
[0046] Obtain the second answer issued by the user according to the second speech script;
[0047] The location information is obtained from the second answer, and at the same time, according to the speech template, the robot is controlled to issue the third speech to complete the location determination work, record the location information, and generate a report.
[0048] Optionally, in this embodiment, multiple robots can make voice calls to corresponding numbers at the same time. For example, the first robot makes a voice call to the corresponding second number in the target address book. After the user corresponding to the second number answers the call, the robot sends out the first speech in the speech template according to the speech template, so as to obtain the user's feedback on the first speech with an affirmative answer, a negative answer or other answers. The first speech may be "Hello, we will ask you a few small questions now. Our call will be recorded. We hope to have your cooperation!" to obtain the user's first answer to the first speech. The first answer may be an affirmative answer, such as "uh-huh" or "OK", or a negative answer "no" or "impossible", or other answers. Other answers are answers that the robot has not recognized or has not received. If the robot receives a positive response of "hmm" from the user, the robot automatically jumps to the second speech according to the speech template. The second speech can be "Please tell me your current residence in detail" and obtain the second response from the user to the second speech, such as "I am in E Community, District D, City C, Province A", and obtain the location information "E Community, District D, City C, Province A", and record the location information to generate a report on the completion of the user location determination work corresponding to the second number. Finally, the robot sends the second speech in the speech template according to the speech template, which can be "Thank you for answering the call, I wish you a happy life, goodbye!", to complete the location determination work. The speech template can contain one or more speeches, and set the jump relationship of each speech when receiving different responses.
[0049] As an optional example, the above method further includes:
[0050] When the first answer is a negative answer or other answer, the robot is controlled to issue a third speech according to the speech template to complete the position determination work, record the failure of the position determination work, and generate a report.
[0051] Optionally, in this embodiment, when the first answer is a negative answer or the robot does not recognize or receive the answer, the robot sends the third speech in the speech template according to the speech template to end the position determination work. A report that the position determination work was unsuccessful is generated.
[0052] As an optional example, the above method further includes:
[0053] When the control robot is interrupted by the user during the process of sending the first speech, the second speech, or the third speech, the control robot pauses sending the first speech, the second speech, or the third speech;
[0054] A timer is set, and when the timer reaches the first time, the robot is controlled to continue or re-send the first speech, the second speech, or the third speech.
[0055] Optionally, in this embodiment, when the robot is interrupted by a user while sending out the first, second or third speech, the robot immediately pauses and sets the pause duration to a first time, where the first time is 1s or 2s. After pausing for the first time, the robot continues or re-sends the first, second or third speech.
[0056] As an optional example, after obtaining the first answer from the user according to the first speech technique, the method includes:
[0057] Obtaining the affirmative word library and the negative word library in the answer word library;
[0058] Extract features from the positive word library, the negative word library and the first answer;
[0059] Calculate a first matching degree between the feature of the first answer and the feature of the positive word library, and a second matching degree between the feature of the first answer and the feature of the negative word library;
[0060] When the first matching degree is greater than or equal to the first threshold and the second matching degree is less than the first threshold, determining that the first answer is a positive answer;
[0061] When the first matching degree is less than the first threshold value and the second matching degree is greater than or equal to the first threshold value, determining that the first answer is a negative answer;
[0062] When the first matching degree is smaller than the first threshold and the second matching degree is smaller than the first threshold, it is determined that the first answer is another answer.
[0063] Optionally, in this embodiment, an answer word library is created, including an affirmative word library and a negative word library, each word library contains one or more answers. Feature extraction is performed on all answers in the affirmative word library, all answers in the negative word library, and the first answer to obtain features of all answers in the affirmative word library, features of all answers in the negative word library, and features of the first answer, and a first matching degree between the features of the first answer and the features of the affirmative word library and a second matching degree between the features of the first answer and the features of the negative word library are calculated. The first matching degree and the second matching degree can be 80%, 90%, and the first threshold can be 85%. For example, the first matching degree is 90% and the second matching degree is 50%, that is, the first matching degree is greater than the first threshold, and the second matching degree is less than the first threshold. The first answer is determined to be an affirmative answer. If the first matching degree is 50% and the second matching degree is 90%, that is, the first matching degree is less than the first threshold, and the second matching degree is greater than the first threshold, the first answer is determined to be a negative answer. If the first matching degree is 50% and the second matching degree is 40%, that is, the first matching degree is less than the first threshold, and the second matching degree is less than the first threshold, the first answer is determined to be other answers.
[0064] As an optional example, the above method further includes:
[0065] When the first matching degree is less than the threshold value and the second matching degree is less than the threshold value, obtaining the number of occurrences of the first answer;
[0066] When the number of occurrences is greater than or equal to the second threshold, semantic matching is performed on the first answer;
[0067] When the first answer is matched as positive, the first answer is stored in the positive word library;
[0068] When the first answer is matched as a negative, the first answer is stored in a negative word library.
[0069] Optionally, in this embodiment, when the first matching degree is less than a threshold value and the second matching degree is less than a threshold value, the number of occurrences of the first answer is obtained. If it is recorded that the first answer has appeared 20 times, the second threshold value may be 10 times. When the number of occurrences 20 times is greater than the second threshold value 10 times, semantic matching is performed on the first answer. If the semantic matching results in the first answer being positive, the first answer is saved in the positive word library. If the first answer is negative, the first answer is saved in the negative word library. If the semantic matching fails to identify whether it is positive or negative, the staff is prompted to perform manual matching.
[0070] Optionally, in this embodiment, the present invention relates to a location determination method based on voice recognition. In order to ensure that the location determination work is fast and efficient, batch outbound calling technology is innovatively introduced to solve the problem of large number and small staff. Innovative speech templates are used to ensure that the answers to automatic outbound calls asking location questions have a certain logical orientation, and all fixed and repetitive questions are asked again. At the same time, a knowledge base is established based on the content of the answers to facilitate learning and analysis, and to perform deep matching and repeated dialing of invalid numbers.
[0071] 1. The present invention proposes a visual speech template editing function. By editing the speech question and answer logic online, fixed and repeated questions are solidified in the form of templates, and different question and answer paths can be selected according to the content of the answer. In this way, after the call is answered, the voice broadcast can be automatically broadcast, and the next question path can be selected according to the content of the answer;
[0072] 2. The present invention proposes to develop batch number outbound calling capability by using VoIP (Voice over Internet Protocol based on IP) technology. Through a multi-threaded intelligent outbound calling robot, a large number of outbound inquiries can be made at the same time, while recording the answering status, screening abnormal numbers, and making a second call to those who did not answer the call;
[0073] 3. The present invention proposes to establish a knowledge base learning function. Through the reply content collected during the communication process, self-learning and active learning can be carried out to improve the question-answering logic, making the location determination work more accurate and efficient.
[0074] In order to meet the requirements of different scripts in different scenarios, an innovative scenario script template is designed to support visual template editing and design. Each template consists of multiple nodes, and the association logic between nodes can be defined based on the content of the answer.
[0075] First, we need to determine the work content according to the location of the specific scenario, analyze it, sort out a speech template, and conduct logical analysis. Logically annotate the speech, organize it according to the template form of node-condition-content-result-jump, and form a speech template for the specific scenario.
[0076] The work content is determined based on the position, and the scenario script template is analyzed and sorted out as shown in Table 1 below:
[0077] (Table 1)
[0078]
[0079] Once you have a scenario script template, you can perform visual system configuration. First, you need to customize the node and define the template for creating a new node, as well as the visual display format. Because there are many types of nodes, if you want to perform unified custom configuration, you need to sort out the node attribute model, as shown in Table 2 below:
[0080] (Table 2)
[0081]
[0082] The node logic setting is to connect the question logic between each node. The core issue lies in the construction of the customer response model. Based on the response model, the node logic relationship can be directly generated. The steps are as follows:
[0083] 1. Define the answer model. The node reply model is defined as shown in Table 3 below:
[0084] (Table 3)
[0085]
[0086] 2. Exhaustive answer content. Because users may give many answers to a node question, we need to cover as many answers as possible. This ensures that there is a corresponding path execution logic when users answer, making the location determination work more fluent and smooth. There is a general principle for exhaustiveness, which is defined as: positive answer*2+negative answer*2+exceptions*2. Take node 2 as an example. The question of node 2 is "Are you in province A now?" The exhaustive answer example is shown in Table 4 below:
[0087] (Table 4)
[0088] serial number Name of answer Response type 1 In Province A Affirmative answer 2 Yes Affirmative answer 3 Not in Province A Negative answer 4 No Negative answer 5 unknown Exceptional answer 6 No answer Exceptional Answer
[0089] 3. Improve the answer word library. The answer word library is the knowledge base of the answer, which can assist the robot to quickly identify the answer content containing and similar meanings, and improve the robot's intelligence level. The knowledge base is a gradual improvement process. Take node 2 to exhaust the answer content to improve the answer word library, as shown in the following table 5:
[0090] (Table 5)
[0091]
[0092] 4. Connect the lines to form logic, and connect the user’s reply results and the corresponding reply logic results with lines.
[0093] When the speech template is edited, you can configure the outbound call task. The outbound call task innovatively uses VOIP technology. Because it is a packaged application service, it can easily support multiple services at the same time. The intelligent location determination system uses a visual interface to send data from a single number through a robot (backend service), and transmits it to the operator's digital-to-analog converter through the network, that is, it can make voice calls through the network's call system. When the resident's answer is received, it is converted through the operator's analog-to-digital converter and sent to the intelligent location determination system. The above process realizes the entire process of location determination. In order to make batch calls for services, it is necessary to import batches of mobile phone numbers in advance. At the same time, each application service can be independently controlled, and can automatically select the question and answer path according to the speech template and the answer voice. The specific detailed flow chart is as follows. Figure 2 shown.
[0094] To batch import mobile phone numbers that need to be located, the commonly used Excel import method is used, but the mobile phone number verification rules are added: the mobile phone number is an 11-digit number, the first digit is 1, the second digit can be any of 3, 4, 5, 7, 8, and 9, and the third to eleventh digits can be selected from 0 to 9. The judgment logic is as follows: Figure 3 shown.
[0095] After batch import, there is a verification result as shown in Table 6 below. After the batch mobile phone number import is completed, a task can be created to realize automatic dialing.
[0096] (Table 6)
[0097] Serial number phone number Verification Results 1 13586573423 Y 2 12586573423 N 3 1358657342 N 4 1358657342A N 5 … …
[0098] There are several key configuration steps for automatic dialing tasks, which are distributed as speech templates, numbers, and the number of robots. Once the configuration is completed and the task is started, the robot can be intelligently located. The specific working method is to automatically identify the answer. The specific steps are as follows: Figure 4 shown.
[0099] When the task is started, the robot multithreading is started to carry out the work of determining the position. In this process, the audio comparison is directly used instead of translating it into text. The answer word library is converted into speech and directly compared with the user's answer speech, which not only improves the accuracy but also improves the recognition efficiency. The specific automatic recognition process is as follows: Figure 5 shown.
[0100] Taking node 2 as an example, the question and answer vocabulary of node 2 is shown in Table 7 below:
[0101] (Table 7)
[0102]
[0103] 1. Extract features from the answer word library, as shown in Table 8 below:
[0104] (Table 8)
[0105] Answer word library Feature extraction I'm here I'm here yes shi a I am not in Province A I'm not here yet No mei you
[0106] 2. Play the node phrase "Excuse me, are you in Province A now?";
[0107] 3. Receive a reply signal: "I'm here";
[0108] 4. Answer feature extraction: "wo zai a";
[0109] 5. Feature matching: The matching degree between the answer feature "wo zai a" and the answer vocabulary "wo zai a" is as high as 100%, which is greater than the matching threshold of 85%, and is judged as "in province A";
[0110] 6. Record the knowledge base. Since the answer is matched to the vocabulary, it will not be recorded in the knowledge base.
[0111] By adopting innovative methods, automatic recognition of answers is achieved, which not only improves the accuracy but also improves the recognition efficiency, thus ensuring the accuracy and timeliness of location determination.
[0112] The intelligent voice location determination system has been made compatible with various dialects and special language expressions, but there are still some omissions. In this way, these voice expressions can be recorded in the knowledge base and continuously improved through knowledge learning methods. The knowledge base learning process first accumulates the knowledge base, and then it can be confirmed and improved through automatic knowledge learning and manual knowledge learning.
[0113] The knowledge base accumulation is divided into two parts, one is the pre-organized vocabulary, and the other is obtained by analyzing the unknown question recordings. The analysis of unknown question recordings is divided into automatic knowledge learning and manual knowledge learning. Through the learning of unknown questions, the passed answers can be added to the vocabulary of the corresponding questions, and the failed answers will be marked as ignored. Therefore, the organization of unknown questions is very important. The organized unknown question attribute model is shown in Table 9 below:
[0114] (Table 9)
[0115] serial number property illustrate 1 Content of the reply The user's voice response is converted into text 2 Number of hits The number of times this answer appears repeatedly in the position determination work 3 Recording time The time when the response was recorded 4 telephone number The phone number that needs to be located 5 Number of user replies Number of user replies 6 Call Results Answering status 7 Script template The name of the quoted speech template 8 Call Time Time of call 9 Talk time The actual length of the overall call 10 Call Recording A recording of the entire call, presented as a conversation 11 operate 3 actions: View, Learn, and Ignore
[0116] Artificial knowledge learning is to learn the artificial knowledge base based on the answer content. The learning process is as follows:
[0117] 1. According to the speech template, sort in reverse order according to the number of hits. Generally, the answer with a greater number of hits is more valuable to learn;
[0118] 2. Find the answers that need manual learning, listen to the recorded conversation, obtain the context before and after, and determine whether it is necessary to manually create a knowledge base. If not, choose to ignore, and the answer will be added to the ignored list, excluding the unknown question list; if it is necessary to manually create a knowledge base, proceed to the next step;
[0119] 3. If the answer is matched many times and can be added to the knowledge base after manual judgment, you only need to select learning in the operation area, and then you can select the matching speech template, node, condition, content, answer name and answer word library. For example, the answer "yes", after manual matching, is added to the answer word library, as marked in red.
[0120] Automatic knowledge learning is to learn keyword information based on the content of the answer and automatically match knowledge base nodes, which improves efficiency compared to manual knowledge learning. The automatic learning algorithm is rule matching. Through the setting of rules and thresholds, the system can automatically match whether the answer needs to be added to the corresponding knowledge base. The matching logic of rules and thresholds is shown in Table 10 below:
[0121] (Table 10)
[0122] serial number rule Rules Threshold 1 Contains Match Determine whether the answer contains the answer word library 100% 2 Feature Matching Determine the matching degree between answer features and vocabulary features 95% 3 Hit Match Determine the number of times the answer hits 50 4 Semantic Matching Determine whether the answer is positive or negative 100%
[0123] Taking the response "um" as an example, the specific recognition steps are as follows:
[0124] 1. Obtain the response "um" and extract the feature as "ng".
[0125] 2. According to the rules, match item by item. Once the rule is met, stop the matching. By matching "um" with the response vocabulary, "um" is not in the response vocabulary, so it does not meet the inclusion matching; by matching "ng" with the vocabulary features, "ng" does not match the vocabulary features, so it does not meet the feature matching; by matching the hit count of "um", it is 40 hits, which does not meet the hit rule; by matching the semantics of "um", it has meanings of approval or affirmation, as well as doubt, and it is not 100% matching affirmation or negation, so it does not meet the semantic matching.
[0126] 3. Through rule matching calculation, no rule is matched, and the response "um" will not be added to the knowledge base. Because the hit count is relatively high, a prompt for manual matching will be given.
[0127] In summary, through the learning of artificial and automatic knowledge, the response vocabulary is continuously improved to ensure the integrity and accuracy of the conversation.
[0128] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.
[0129] According to another aspect of the embodiments of the present application, a location determination device based on speech recognition is further provided, as Figure 6 shown, including:
[0130] A first acquisition module 602, configured to acquire a target address book, where the target address book contains multiple numbers;
[0131] A configuration module 604, configured to configure a speech template and a robot for each number in the target address book;
[0132] A first control module 606, configured to control each robot to perform a voice call on the corresponding number;
[0133] A second control module 608, configured to, when the voice call is successfully connected, control each robot to perform location determination work according to the speech template, obtain the location information of the user corresponding to each number, and generate a report.
[0134] Optionally, in this embodiment, the target address book contains one or more mobile phone numbers of users who need to determine the location. The speech template includes multiple nodes, each node corresponds to a paragraph or a sentence. After the robot finishes a paragraph or a sentence, it automatically jumps to the corresponding node according to the user's answer, and the robot automatically speaks the speech corresponding to the node. The robot is an intelligent outbound call robot that can make outbound calls in large quantities at the same time.
[0135] Optionally, in this embodiment, the correct number is screened out from multiple numbers whose locations need to be determined to form a target address book, and a speech template and a robot are configured for each number in the target address book. The data of each number is sent to the corresponding robot and transmitted to the operator's digital-to-analog converter through the network, that is, a voice call can be made to the corresponding number through the network's call system. After the user connects to the voice call, each robot determines the location of each user according to the speech template. The robot issues each question in the speech template, records the answer issued by each user to each question, and obtains the location information of each user from the answer, which may include specific location information. A corresponding report is generated based on each user's answer so that the subsequent location determination staff can view it.
[0136] Optionally, in this embodiment, voice recognition technology is used to control the robots to automatically initiate voice calls in batches at the same time, real recordings are used to inquire about location information, and logical problems are automatically jumped according to the speech template based on the answer voice, and finally the answer voice is recognized and analyzed to obtain the user's location information and form a report, thereby achieving the purpose of fast and efficient location determination, and further solving the technical problems of low efficiency and waste of manpower caused by large amounts of data in traditional location determination methods.
[0137] As an optional example, the above device further includes:
[0138] A first acquisition module, used to acquire a number group whose location needs to be determined before acquiring a target address book;
[0139] The processing module is used to set each number in the number group as the current number and perform the following operations on the current number:
[0140] Get the number of digits in the current number; if the number of digits is the first value, get the value of the first digit of the current number;
[0141] When the value of the first digit is the second value, obtain the value of the second digit of the current number;
[0142] When the value of the second digit is not the third value, the current number is added to the target address book.
[0143] Optionally, in this embodiment, a number group whose position needs to be determined is obtained, and the number group may include one or more numbers, and there may also be wrong numbers. In order to prevent the robot from calling out wrong numbers and wasting time, all numbers in the number group are first checked, and the correct numbers are added to the target address book. Each number is checked, for example, the first number is checked, the number of digits of the first number is obtained, and it is determined whether the number of digits of the first number is a first value, and the first value may be 11 digits. If the first number is 11 digits, the first digit of the first number is obtained, and it is determined whether the first digit of the first number is a second value, and the second value may be 1. If the first digit of the first number is 1, the second digit of the first number is obtained, and it is determined whether the second digit of the first number is a third value, and the third value may be 1 and 2. If the second digit of the first number is 3, it is determined that the first number is a correct number, and the first number is added to the target address book. If the number of digits of the first number is not 11 digits, the first digit of the first number is not 1, and the second digit of the first number is 1 or 2, it is determined that the first number is a wrong number.
[0144] As an optional example, the second control module includes:
[0145] The processing unit is used to set each robot as the current robot and perform the following operations on the current robot:
[0146] According to the speech template, the current robot is controlled to issue a first speech, so as to obtain a positive response, a negative response or other response from the user in response to the first speech;
[0147] Obtain the first answer from the user based on the first dialogue;
[0148] When the first answer is an affirmative answer, the robot is controlled to issue a second speech according to the speech template to obtain the user's location information;
[0149] Obtain the second answer issued by the user according to the second speech script;
[0150] The location information is obtained from the second answer, and at the same time, according to the speech template, the robot is controlled to issue the third speech to complete the location determination work, record the location information, and generate a report.
[0151] Optionally, in this embodiment, multiple robots can make voice calls to corresponding numbers at the same time. For example, the first robot makes a voice call to the corresponding second number in the target address book. After the user corresponding to the second number answers the call, the robot sends out the first speech in the speech template according to the speech template, so as to obtain the user's feedback on the first speech with an affirmative answer, a negative answer or other answers. The first speech may be "Hello, we will ask you a few small questions now. Our call will be recorded. We hope to have your cooperation!" to obtain the user's first answer to the first speech. The first answer may be an affirmative answer, such as "uh-huh" or "OK", or a negative answer "no" or "impossible", or other answers. Other answers are answers that the robot has not recognized or has not received. If the robot receives a positive response of "hmm" from the user, the robot automatically jumps to the second speech according to the speech template. The second speech can be "Please tell me your current residence in detail" and obtain the second response from the user to the second speech, such as "I am in E Community, District D, City C, Province A", and obtain the location information "E Community, District D, City C, Province A", and record the location information to generate a report on the completion of the user location determination work corresponding to the second number. Finally, the robot sends the second speech in the speech template according to the speech template, which can be "Thank you for answering the call, I wish you a happy life, goodbye!", to complete the location determination work. The speech template can contain one or more speeches, and set the jump relationship of each speech when receiving different responses.
[0152] As an optional example, the above device further includes:
[0153] The third control module is used to control the robot to issue a third speech according to the speech template when the first answer is a negative answer or other answers, so as to complete the position determination work, record the failure of the position determination work, and generate a report.
[0154] Optionally, in this embodiment, when the first answer is a negative answer or the robot does not recognize or receive the answer, the robot sends the third speech in the speech template according to the speech template to end the position determination work. A report that the position determination work was unsuccessful is generated.
[0155] As an optional example, the above device further includes:
[0156] A fourth control module is used to control the robot to pause sending the first speech, the second speech, or the third speech when the robot is interrupted by the user during the process of sending the first speech, the second speech, or the third speech;
[0157] The fifth control module is used to set a timer, and when the timer reaches the first time, control the robot to continue or re-issue the first speech, the second speech, or the third speech.
[0158] Optionally, in this embodiment, when the robot is interrupted by a user while sending out the first, second or third speech, the robot immediately pauses and sets the pause duration to a first time, where the first time is 1s or 2s. After pausing for the first time, the robot continues or re-sends the first, second or third speech.
[0159] As an optional example, the processing unit further includes:
[0160] After obtaining the first answer from the user based on the first speech, obtaining a positive word library and a negative word library in the answer word library;
[0161] Extract features from the positive word library, the negative word library and the first answer;
[0162] Calculate a first matching degree between the feature of the first answer and the feature of the positive word library, and a second matching degree between the feature of the first answer and the feature of the negative word library;
[0163] When the first matching degree is greater than or equal to the first threshold and the second matching degree is less than the first threshold, determining that the first answer is a positive answer;
[0164] When the first matching degree is less than the first threshold value and the second matching degree is greater than or equal to the first threshold value, determining that the first answer is a negative answer;
[0165] When the first matching degree is smaller than the first threshold and the second matching degree is smaller than the first threshold, it is determined that the first answer is another answer.
[0166] Optionally, in this embodiment, an answer word library is created, including an affirmative word library and a negative word library, each word library contains one or more answers. Feature extraction is performed on all answers in the affirmative word library, all answers in the negative word library, and the first answer to obtain features of all answers in the affirmative word library, features of all answers in the negative word library, and features of the first answer, and a first matching degree between the features of the first answer and the features of the affirmative word library and a second matching degree between the features of the first answer and the features of the negative word library are calculated. The first matching degree and the second matching degree can be 80%, 90%, and the first threshold can be 85%. For example, the first matching degree is 90% and the second matching degree is 50%, that is, the first matching degree is greater than the first threshold, and the second matching degree is less than the first threshold. The first answer is determined to be an affirmative answer. If the first matching degree is 50% and the second matching degree is 90%, that is, the first matching degree is less than the first threshold, and the second matching degree is greater than the first threshold, the first answer is determined to be a negative answer. If the first matching degree is 50% and the second matching degree is 40%, that is, the first matching degree is less than the first threshold, and the second matching degree is less than the first threshold, the first answer is determined to be other answers.
[0167] As an optional example, the processing unit further includes:
[0168] When the first matching degree is less than the threshold value and the second matching degree is less than the threshold value, obtaining the number of occurrences of the first answer;
[0169] When the number of occurrences is greater than or equal to the second threshold, semantic matching is performed on the first answer;
[0170] When the first answer is matched as positive, the first answer is stored in the positive word library;
[0171] When the first answer is matched as a negative, the first answer is stored in a negative word library.
[0172] Optionally, in this embodiment, when the first matching degree is less than a threshold value and the second matching degree is less than a threshold value, the number of occurrences of the first answer is obtained. If it is recorded that the first answer has appeared 20 times, the second threshold value may be 10 times. When the number of occurrences 20 times is greater than the second threshold value 10 times, semantic matching is performed on the first answer. If the semantic matching results in the first answer being positive, the first answer is saved in the positive word library. If the first answer is negative, the first answer is saved in the negative word library. If the semantic matching fails to identify whether it is positive or negative, the staff is prompted to perform manual matching.
[0173] For other examples of this embodiment, please refer to the above examples and will not be repeated here.
[0174] Figure 7 is a structural block diagram of an optional electronic device according to an embodiment of the present application, such as Figure 7 As shown, it includes a processor 702, a communication interface 704, a memory 706 and a communication bus 708, wherein the processor 702, the communication interface 704 and the memory 706 communicate with each other through the communication bus 708, wherein,
[0175] Memory 706, used to store computer programs;
[0176] The processor 702 is used to implement the following steps when executing the computer program stored in the memory 706:
[0177] Obtain a target address book, where the target address book contains multiple numbers;
[0178] Configure speech templates and robots for each number in the target address book;
[0179] Control each robot to make a voice call to the corresponding number;
[0180] When the voice call is successfully connected, each robot is controlled to determine the location according to the speech template, obtain the location information of the user corresponding to each number, and generate a report.
[0181] Optionally, in this embodiment, the communication bus may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 The communication interface is used for communication between the above electronic device and other devices.
[0182] The memory may include RAM, or may include non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0183] As an example, the memory 706 may include, but is not limited to, the first acquisition module 602, the configuration module 604, the first control module 606, and the second control module 608 in the position determination device based on speech recognition. In addition, it may also include, but is not limited to, other module units in the request processing device, which will not be repeated in this example.
[0184] The above-mentioned processor can be a general-purpose processor, which can include but not be limited to: CPU (Central Processing Unit), NP (Network Processor), etc.; it can also be DSP (Digital Signal Processing), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0185] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.
[0186] It can be understood by those skilled in the art that Figure 7The structure shown is for illustration only. The device for implementing the above-mentioned voice recognition-based location determination method may be a terminal device, which may be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, and other terminal devices. Figure 7 The structure of the electronic device is not limited. Figure 7 More or fewer components (such as network interfaces, display devices, etc.) shown in, or having Figure 7 Different configurations shown.
[0187] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a computer-readable storage medium, which can include: a flash drive, ROM, RAM, a magnetic disk or an optical disk, etc.
[0188] According to another aspect of the embodiments of the present invention, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program executes the steps in the above-mentioned method for determining a position based on speech recognition when executed by a processor.
[0189] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing hardware related to the terminal device through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0190] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0191] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers or network devices, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
[0192] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0193] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0194] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0195] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0196] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A method for determining a position based on speech recognition, characterized in that: include: Obtaining a target address book, wherein the target address book contains multiple numbers; Configure a speech template and a robot for each number in the target address book; Control each of the robots to make a voice call to the corresponding number; When the voice call is successfully connected, control each of the robots to determine the location according to the speech template, obtain the location information of the user corresponding to each number, and generate a report; Among them, when the voice call is successfully connected, each of the robots is controlled to perform location determination according to the speech template to obtain the location information of each user corresponding to the number, and the report is generated, including: setting each of the robots as the current robot, and performing the following operations on the current robot: according to the speech template, controlling the current robot to issue a first speech to obtain an affirmative answer, a negative answer or other answer from the user to the first speech; obtaining the first answer from the user based on the first speech; when the first answer is the affirmative answer, controlling the robot to issue a second speech according to the speech template to obtain the user's location information; obtaining the second answer issued by the user according to the second speech; obtaining the location information from the second answer, and at the same time controlling the robot to issue a third speech according to the speech template to complete the location determination work, record the location information, and generate the report.
2. The method according to claim 1, characterized in that Before obtaining the target address book, it also includes: Get the number group whose position needs to be determined; Set each number in the number group as the current number, and perform the following operations on the current number: Get the number of digits of the current number; When the number of digits is the first value, obtaining the value of the first digit of the current number; When the value of the first digit is the second value, obtaining the value of the second digit of the current number; When the value of the second digit is not the third value, the current number is added to the target address book.
3. The method according to claim 1, characterized in that: The method further comprises: When the first answer is the negative answer or the other answer, the robot is controlled to issue the third speech according to the speech template to complete the position determination work, record that the position determination work is unsuccessful, and generate the report.
4. The method according to claim 1, characterized in that The method further comprises: When the robot is interrupted by the user during the process of controlling the robot to issue the first speech, the second speech, or the third speech, controlling the robot to stop issuing the first speech, the second speech, or the third speech; A timer is set, and when the timer reaches a first time, the robot is controlled to continue or re-issue the first speech, the second speech, or the third speech.
5. The method according to claim 1, characterized in that After obtaining the first answer fed back by the user according to the first speech technique, the method includes: Obtaining the affirmative word library and the negative word library in the answer word library; Performing feature extraction on the affirmative word library, the negative word library and the first answer; Calculating a first matching degree between a feature of the first answer and a feature of the positive word library, and a second matching degree between a feature of the first answer and a feature of the negative word library; When the first matching degree is greater than or equal to a first threshold and the second matching degree is less than the first threshold, determining the first answer as the affirmative answer; When the first matching degree is less than the first threshold and the second matching degree is greater than or equal to the first threshold, determining that the first answer is the negative answer; When the first matching degree is smaller than the first threshold and the second matching degree is smaller than the first threshold, the first answer is determined to be the other answer.
6. The method according to claim 5, characterized in that The method further comprises: When the first matching degree is less than the threshold value and the second matching degree is less than the threshold value, obtaining the number of occurrences of the first answer; When the number of occurrences is greater than or equal to a second threshold, performing semantic matching on the first answer; When the first answer is matched as positive, storing the first answer in the positive word library; When the first answer is matched as negative, the first answer is stored in the negative word library.
7. A position determination device based on speech recognition, characterized in that: include: A first acquisition module, used to acquire a target address book, wherein the target address book contains a plurality of numbers; A configuration module, used to configure a speech template and a robot for each number in the target address book; A first control module, used to control each of the robots to make a voice call to the corresponding number; A second control module is used to control each of the robots to determine the location according to the speech template when the voice call is successfully connected, obtain the location information of the user corresponding to each number, and generate a report; Among them, when the voice call is successfully connected, each of the robots is controlled to perform location determination according to the speech template to obtain the location information of each user corresponding to the number, and the report is generated, including: setting each of the robots as the current robot, and performing the following operations on the current robot: according to the speech template, controlling the current robot to issue a first speech to obtain an affirmative answer, a negative answer or other answer from the user to the first speech; obtaining the first answer from the user based on the first speech; when the first answer is the affirmative answer, controlling the robot to issue a second speech according to the speech template to obtain the user's location information; obtaining the second answer issued by the user according to the second speech; obtaining the location information from the second answer, and at the same time controlling the robot to issue a third speech according to the speech template to complete the location determination work, record the location information, and generate the report.
8. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is executed.
9. An electronic device, comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 6 through the computer program.
Citation Information
Patent Citations
Multi-sentence verbal skill matching method and device and electronic equipment
CN112287078A
Intelligent outbound information pushing method, device and equipment and storage medium
CN112866086A