WO2017012243A1 - 语音识别方法、装置、终端设备及存储介质 - Google Patents

语音识别方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
WO2017012243A1
WO2017012243A1 PCT/CN2015/096622 CN2015096622W WO2017012243A1 WO 2017012243 A1 WO2017012243 A1 WO 2017012243A1 CN 2015096622 W CN2015096622 W CN 2015096622W WO 2017012243 A1 WO2017012243 A1 WO 2017012243A1
Authority
WO
WIPO (PCT)
Prior art keywords
array
probability score
text
recognition result
language model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2015/096622
Other languages
English (en)
French (fr)
Inventor
唐立亮
贾磊
彭守业
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Publication of WO2017012243A1 publication Critical patent/WO2017012243A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Definitions

  • the embodiments of the present invention relate to the field of voice recognition technologies, and in particular, to a voice recognition method, device, terminal device, and storage medium.
  • speech recognition results are determined by two parts: acoustic model and language model.
  • the language model plays an important role. For example, when the pronunciations of “Bei Daihe” and “Be brought by the river” are similar, the scores of the acoustic models are almost the same. At this time, the language model is needed to further decide which words are used in the language. of. That is to say, the language model solves the problem of evaluating the natural language order in speech recognition.
  • the voice recognition method provided in the prior art mainly includes the following steps:
  • the language model resource is read from the hard disk, and the resource is stored in a node manner
  • Each node corresponds to one word, and each node is composed of node information (including the corresponding word or word, child information, such as the word corresponding to the child node and the number of children), probability list (ProbList) (storage probability), and fallback.
  • the probability list (BackOff) consists of three parts; as shown in the following table 1:
  • the process of constructing a tree is specifically: after the language model resource is loaded into the cache, the storage address of the node changes, so each node only knows which word its own child node is, and does not know its storage address, so it needs to be based on The child node information recorded in each node queries the storage address of its child node one by one and adds it to the parent node to establish a score tree.
  • the acoustic model is used for speech recognition, the pronunciation information is obtained, and the multi-cross check tree of the language model is searched according to the pronunciation information for scoring;
  • the existing speech recognition method needs to dynamically load the language model resources after reading the language model resources, and construct a multi-cross check tree, which is a waste of time and leads to low recognition efficiency.
  • the embodiment of the invention provides a voice recognition method, device, terminal device and storage medium, which can greatly shorten the startup time.
  • an embodiment of the present invention provides a voice recognition method, including:
  • the query tree information includes a plurality of nodes corresponding to the text, Each node includes at least a storage location offset between the current node and the child node;
  • the character recognition result is selected based on the probability score as the final recognition result.
  • an embodiment of the present invention further provides a voice recognition apparatus, including:
  • a pronunciation information obtaining module configured to identify the pronunciation information according to the voice information
  • a probability score query module configured to load a language model check score tree according to the check score tree information, and query the language model check score tree to determine a probability score of a text recognition result that matches the pronunciation information; wherein the check score tree information includes a plurality of nodes corresponding to the text, each node including at least a storage location offset between the current node and the child node;
  • a text recognition module is configured to select a text recognition result according to the probability score as a final recognition result.
  • the embodiment of the present invention further provides a terminal device for implementing voice recognition, including:
  • One or more processors are One or more processors;
  • One or more modules the one or more modules being stored in the memory, and when executed by the one or more processors, performing the following operations:
  • the query tree information includes a plurality of nodes corresponding to the text, Each node includes at least a storage location between the current node and the child node Offset;
  • the character recognition result is selected based on the probability score as the final recognition result.
  • an embodiment of the present invention further provides a non-volatile computer storage medium, where the computer storage medium stores one or more modules, when the one or more modules are executed by a device that performs a voice recognition method.
  • the device is caused to perform the following operations:
  • the query tree information includes a plurality of nodes corresponding to the text, Each node includes at least a storage location offset between the current node and the child node;
  • the character recognition result is selected based on the probability score as the final recognition result.
  • the technical solution of the embodiment of the present invention directly stores the language model check tree according to the storage location offset between the current node and the child node, and does not need to dynamically construct the language model to check the tree at startup, thereby greatly shortening the startup time.
  • FIG. 1 is a schematic flow chart of a voice recognition method provided by the prior art
  • FIG. 2A is a schematic flowchart of a voice recognition method according to Embodiment 1 of the present invention.
  • FIG. 2B is a schematic structural diagram of a first check molecular tree in a speech recognition method according to Embodiment 1 of the present invention.
  • FIG. 2C is a schematic structural diagram of a second molecular check tree in a speech recognition method according to Embodiment 1 of the present invention.
  • FIG. 2D is a schematic structural diagram of a third check molecular tree in a speech recognition method according to Embodiment 1 of the present invention.
  • FIG. 2E is a schematic diagram of a fourth molecular tree structure in a speech recognition method according to Embodiment 1 of the present invention.
  • FIG. 3 is a schematic structural diagram of a voice recognition apparatus according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic structural diagram of a terminal device for implementing voice recognition according to Embodiment 3 of the present invention.
  • the execution body of the voice recognition method provided by the embodiment of the present invention may be a voice recognition device provided by an embodiment of the present invention, or a terminal device (for example, a smart phone, a tablet computer, etc.) integrated with the voice recognition device, and the voice recognition
  • the device can be implemented in hardware or software.
  • FIG. 2A is a schematic flowchart of a voice recognition method according to Embodiment 1 of the present invention. As shown in FIG. 2A, the method specifically includes:
  • the user can input voice information in the voice recognition device provided by the embodiment of the present invention.
  • a voice recording button can be set in the input field of the voice recognition device, and the user clicks on the above.
  • the voice recording button can start the recording function and record the user's speech to obtain the voice information.
  • the voice information is identified and processed by the pre-loaded acoustic model and the voice recognition resource, so that the required pronunciation information can be obtained. For example, if the voice that the user wants to input is "Beidaihe", the pronunciation information obtainable by the above recognition process is "beidaihe".
  • the language model is searched according to the query tree information, and the language model check tree is queried to determine a probability score of the text recognition result that matches the pronunciation information.
  • the check tree information includes multiple texts corresponding to the text. a node, each node including at least a storage location offset between the current node and the child node;
  • the check tree information is similar to the language model resource, and includes a plurality of nodes corresponding to the text, wherein each node includes at least a storage location offset between the current node and the child node.
  • the check tree may further include a storage probability (ProbList, that is, a probability of occurrence of the current node) of each node, a probability of returning the current node (BackOff), and a number of corresponding child nodes.
  • the child node is the child node.
  • the parent node and the child node are the combination of words that will appear at the same time. For example, the "Beijing" and "Beijing" nodes are the parent nodes of the "North" node.
  • the storage location offset is specifically the distance between the storage locations of the nodes and the child nodes.
  • the query tree information of the language model is directly written into the language model resource, so that the initialization of the tree tree is not required to dynamically construct the language model, but the pointer information of the dynamically constructed tree is regarded as an offset.
  • the quantity is written into the language model resource, that is, the language model check tree is constructed offline in advance.
  • the storage location offset between the current node and the child node is directly written into the language model resource, and the query tree information is as shown in Table 2 below.
  • the storage relative distance between the nodes does not change. Therefore, the storage locations of other nodes can be determined based on the storage locations of the initial nodes and the offsets with other nodes.
  • the voice model check tree can be loaded onto the line, and the check tree is queried according to the pronunciation information.
  • the pronunciation information obtained by the above step S21 is “beidaihe”, and first, in the root node (RootProbList) of the check tree, the text node corresponding to “he” in the pronunciation information “beidaihe” is searched for, and includes a plurality of, for example, “charges”. , "drink", “river”, etc., as shown in FIG.
  • the ProbList of the text node under the "children" corresponding to "drink” is higher than 60%, and the BackOff is lower than 60%, then the corresponding child node “drink” is reserved, and the corresponding child node “drinks”
  • the ProbList of Dai and “Band” are both lower than 60%, and BackOff is higher than 60%.
  • the corresponding child nodes “Dai” and “Band” of "Drink” are returned.
  • the final result obtained by the above selection process is shown in the two subtrees shown in Figures 2C and 2D.
  • the problist corresponding to the text node corresponding to each "bei” and the probability score corresponding to "beidaihe” in BackOff are obtained, for example, the results shown in Table 4 below are obtained:
  • the final recognition result is “Bei Daihe” and “Beaded River”, and the corresponding probability scores are 99% and 60%, respectively, and the score recognition result can be placed according to the score.
  • the low-scoring text recognition results are displayed on the principle, and they are returned to The user, that is, "Bei Daihe” and “Daihe” will be returned to the user at the same time for the user to choose. It is also possible to return only the highest score to the user, that is, return "Bei Daihe” to the user.
  • the language model check tree is pre-recorded by the storage location offset between the current node and the child node, and the load location may be directly stored according to the storage location between the nodes.
  • the offset loads the lookup tree into the cache, eliminating the need for dynamic builds, which greatly reduces startup time.
  • the tree may be searched according to the language model loaded by the pronunciation information query, and the following steps are added before determining the probability score of the text recognition result matching the pronunciation information:
  • the common word sequence includes some words and hot words that people often visit in people's lives, for example, including the name of a tourist attraction, the place name of a municipality directly under the central government, the name of a network celebrity, the name of a song, etc.
  • the common vocabulary is placed in the cache, which can greatly improve the query efficiency.
  • the text recognition result of the historical query can also be recorded in the cache.
  • the user inputs the same voice information again, it can be directly returned to the user from the cache, which also saves the query time.
  • the present embodiment of the present invention looks at the tree for conversion and converts it into a more memory-saving language. Word model. Specifically, before the probability score of the character recognition result matching the pronunciation information is queried in the common word sequence in the cache according to the pronunciation information, the following operations are further added to form a common word sequence:
  • the first array and the second array are stored as the common word sequence.
  • a part of the single text or all the single characters included in the root node in the language model checking tree and the corresponding probability scores are stored in the form of an array.
  • the parent node of the language model and the text combination corresponding to each child node and its probability score are also stored in the form of an array.
  • a single character and a combination of characters with low probability included in the language model check tree can be removed to improve query efficiency.
  • the text included in the root node of the language model scoring tree includes “North”, “Beijing”, “River”, “Hang”, “Drink”, etc., and the corresponding storage probabilities are P1, P2, P3, respectively.
  • P4, P5 can be realized by two-dimensional array, and its storage form is as shown in Table 5 below:
  • the parent node and the character combinations corresponding to each child node and their probability scores may be stored in a two-dimensional array, for example, as shown in Table 6 below, which is a combination of binary characters:
  • the target area to be queried may be quickly located by using a positioning table, and the following steps may be further added after storing the first array and the second array as the common word sequence:
  • the predetermined rule may be set according to a specific scenario, and different division rules are used for different scenarios, so that a better text recognition result can be better and faster matched.
  • the identifier value corresponding to the first character in the binary character combination may be right shifted by the first specified number of digits and the identifier value corresponding to the second character is shifted to the left by the second specified digit as the feature value K, and the feature value is obtained.
  • a binary text combination in which the number of binary text combinations of K is greater than or equal to a preset value is classified into an ordered sequence array; a binary combination of characters whose binary value combination of the feature value K is smaller than a preset value Classified as an array of unordered sequences.
  • Equation 1 For a binary combination of words, Equation 1 can be used to calculate an ordered sequence array and an unordered sequence array. First, the eigenvalue K of the binary combination is calculated:
  • the first designated digit has a value of 3
  • the second designated digit has a value of 13
  • “>>” is a right shift symbol.
  • " ⁇ " is the left shift symbol
  • M1 is the identifier value corresponding to the first text
  • M2 is the identifier value corresponding to the second text.
  • the binary text combination whose number of binary character combinations whose feature value is K is greater than or equal to the preset value is classified into an ordered sequence array; the number of binary character combinations whose feature value is K is less than the preset value
  • the metacharacter combination is classified as an unordered sequence array.
  • the identification value is a value that can uniquely identify the text. For example, when the characters are identified by ASCII code, the ASCII code value of the text is the identification value. After the identification value of the character is shifted to the left and right, the feature value K is calculated, which is equivalent to classifying each character combination according to the feature value K, and grouping the characters having the same feature value K into one group. If the number of combinations of texts in the group is too small, it is not necessary to set the group.
  • preset rule may also be other formulas, not limited to left shift and right shift, and is not limited to the specific number of bits of the above shift.
  • the eigenvalue K of the binary combination can be calculated by the above formula, and then the eigenvalue K is shifted to the right by the first specified number of digits and the identification value corresponding to the third character is shifted to the left by the second specified number of digits.
  • the feature value T the ternary character combination whose number of ternary characters whose feature value is T is greater than or equal to the preset value is classified into an ordered sequence array; the number of ternary characters combined with the feature value T
  • a ternary text combination that is less than a preset value is classified as an unordered sequence array.
  • an ordered sequence array and an unordered sequence array can be obtained by combining the above formula 1 and the following formula 2.
  • the eigenvalue K of the binary combination is obtained by using the formula 1
  • the eigenvalue T of the ternary combination is obtained by using the formula 2
  • the first designated digit has a value of 3
  • the second specified digit has a value of 13
  • K is a feature value corresponding to the combination of M1 and M2
  • M3 is an identifier value corresponding to the third character
  • the ternary character combination whose ternary character combination whose feature value is T is greater than or equal to the preset value is classified into an ordered sequence array; the number of ternary character combinations whose feature value is T is less than the preset value of three
  • the metacharacter combination is classified as an unordered sequence array.
  • the ordered sequence array can be divided into multiple sub-subarrays according to the feature value, and each sub-array stores a combination of characters having the same feature value.
  • each sub-array stores a combination of characters having the same feature value.
  • For the eigenvalues of the binary combination it is calculated by the above formula 1.
  • For the ternary combination it can be calculated by combining formula 1 and formula 2.
  • the voice check tree all the text combinations are counted, including binary text combination, ternary text combination and n-gram combination, where n is a natural number greater than 3.
  • the more common ones are binary text combinations and ternary text combinations.
  • the eigenvalue is calculated by using the above formula 1.
  • the eigenvalue is calculated by using the above formula 1 and formula 2.
  • a combination of characters with a eigenvalue of K1 is calculated including “Beijing”, “Tianjin”, “Bei Daihe”, “Baidu”, and “Sohu”, and the combination of characters with a eigenvalue of K2 is calculated to include “Hangzhou good” and “taken River, "milk” and “yoghurt”, the text combination with the eigenvalue K3 is calculated, including “Suzhou”, and the text combination with the eigenvalue K4 is calculated, including “summer heat” and “wearing the river”, and the eigenvalue is calculated.
  • the number of text combinations whose statistical feature value is K1 is 5
  • the number of text combinations whose statistical feature value is K2 is 4, and the number of text combinations whose statistical feature value is K3 is 1.
  • the number of text combinations whose statistical feature value is K4 is 2. If the preset value is set to 3, the number of text combinations with the same feature value exceeds 3, which is classified as an ordered sequence array. Otherwise, it is classified as none.
  • the ordered sequence array, the resulting ordered sequence array is represented in the form of a list, as shown in Table 7 below, where the ordered sequence array also contains the probability of occurrence of the feature value and each combination of words, which can be directly from the language. Type check points to obtain the tree:
  • the resulting array of unordered sequences is represented in the form of a list, as shown in Table VIII below, where the array of unordered sequences also contains the probability of occurrence of eigenvalues and combinations of words, which can be obtained directly from the language model check tree:
  • the text combination in the ordered sequence array is further divided, and the sub-array is divided according to the feature value, for example, in Table VII.
  • the eigenvalues can be divided into one sub-array and divided into two sub-arrays. As shown in the following table IX:
  • a positioning table is constructed according to each sub-array divided by the above table 9 and the unordered sequence array shown in the above table 8.
  • the feature values corresponding to the sub-array and the starting storage location, and the feature values corresponding to the combination of characters in the unordered sequence array and their probability scores are placed in the positioning table.
  • the obtained positioning table is as shown in Table 10 below.
  • the corresponding feature value can be directly used as the subscript of the array, that is, the subscript corresponding to the subarray 1 is K1, the subscript corresponding to the subarray 2 is K2, and the subscript array 1 corresponds to the lower subscript. Marked as K3, the subscript corresponding to the unordered sequence array 2 is K4, then the subscript corresponding to each array is directly stored in the positioning table, and the obtained positioning table is as shown in Table 11 below:
  • the language model is searched according to the search tree information, and the language model check tree is queried to determine a probability score of the text recognition result matching the pronunciation information.
  • the fast sub-array is used to query the matched sub-array to determine a probability score of the text recognition result that matches the pronunciation information.
  • the probability scores of each word combination of "beidaihe” are obtained. For example, taking the positioning table corresponding to Table 10 as an example, if the probability of P (by
  • K2 queries the positioning table of Table 10 above, and knows that the corresponding query range is sub-array 2, according to the start and stop bits of the sub-array 2 recorded in the positioning table, the query is returned in the sub-array 2, and a fast query algorithm can be used (for example, Dichotomy)
  • the search is performed to obtain a probability score of P (by
  • Daihe) is calculated by using the above formula 1 and formula 2, and the positioning table of the above table 10 is queried according to the feature value K4. If the corresponding query result is recorded in the positioning table, the probability score of P (by
  • Daihe) is P8, and the probability scores of all combinations of words pronounced “beidaihe” are compared.
  • the combination of words is sorted according to the probability score, and the combination of the previous texts is returned to user.
  • the language model is searched according to the query tree information, and the language model check tree is queried to determine a probability score of the text recognition result that matches the pronunciation information, wherein the check tree information includes a text corresponding to the text.
  • the language model is directly loaded according to the storage location offset between the current node and the child node, so that the startup time is greatly shortened.
  • the foregoing embodiments further construct a positioning table to initially locate the approximate location of the text combination to be queried, and further use a quick query algorithm to accurately find and determine a probability score of the text recognition result that matches the pronunciation information, thereby further improving the query. effectiveness.
  • FIG. 3 is a schematic structural diagram of a voice recognition apparatus according to Embodiment 2 of the present invention, as shown in FIG. 3, specifically including: a pronunciation information acquisition module 31, a probability score query module 32, and a character recognition module 33;
  • the pronunciation information obtaining module 31 is configured to identify the pronunciation information according to the voice information
  • the probability score query module 32 is configured to load a language model check tree according to the query tree information, and query the language model check tree to determine a probability score of a text recognition result that matches the pronunciation information; wherein the score tree information is Include a plurality of nodes corresponding to the text, each node including at least a storage location offset between the current node and the child node;
  • the character recognition module 33 is configured to select a character recognition result according to the probability score as a final recognition result.
  • the voice recognition device is used to perform the voice recognition method described in the foregoing embodiments, and the technical principle and the generated technical effect are similar, and are not described here.
  • the device further includes: a cache query module 34 and a trigger module 35;
  • the cache query module 34 is configured to: after the probability score query module 32 loads the language model check tree according to the query tree information, query the language model check tree to determine the probability score of the text recognition result that matches the pronunciation information before And querying, according to the pronunciation information, a common word sequence stored in the cache and/or a text recognition result of the recorded historical query, a probability score of the text recognition result matching the pronunciation information;
  • the triggering module 35 is configured to trigger an operation of performing a query in the language model checking tree if the cache query module 34 does not have a probability score of a text recognition result matching the pronunciation information in the cache.
  • the device further includes: a first array forming module 36, a second array forming module 37, and a storage module 38;
  • the first array forming module 36 is configured to: before the cache query module 34 queries the probability score of the text recognition result matching the pronunciation information in the common word sequence in the cache according to the pronunciation information, the language is The probability score of a single character appearing in the model check tree is higher than the single character of the set threshold and its probability score, forming a first array;
  • the second array forming module 37 is configured to form a second array by combining a combination of a probability score of a combination of characters composed of at least two characters in the language model check tree above a set threshold value and a probability score thereof;
  • the storage module 38 is configured to store the first array and the second array as the common word sequence.
  • the device further includes: an array decomposition module 39 and a positioning table construction module 310;
  • the array decomposition module 39 is configured to: after the storage module 38 stores the first array and the second array as the common word sequence, the plurality of texts in the second array according to a predetermined rule
  • the word combination is divided into an ordered sequence array and an unordered sequence array, wherein the ordered sequence array includes at least two sub-arrays, and each sub-array stores a plurality of character combinations of the same feature value;
  • the positioning table structure module 310 is configured to store the probability score in the array of the unordered sequence, and the starting position and/or the ending position, and the feature value, the starting position, and/or the ending position of each sub-array in the positioning. In the table;
  • the cache query module 34 is specifically configured to:
  • the array decomposition module 39 is specifically configured to:
  • the identification value corresponding to the first character in the binary character combination is shifted right by the first specified number of digits and the identification value corresponding to the second character is shifted to the left by the second specified number of digits as the feature value K;
  • the binary text combination whose number of binary character combinations whose feature value is K is greater than or equal to the preset value is classified into an ordered sequence array; the number of binary character combinations whose feature value is K is less than the preset value
  • the metacharacter combination is classified as an unordered sequence array.
  • the array decomposition module 39 is specifically configured to:
  • the ternary character combination whose ternary character combination whose feature value is T is greater than or equal to the preset value is classified into an ordered sequence array; the number of ternary character combinations whose feature value is T is less than the preset value of three
  • the metacharacter combination is classified as an unordered sequence array.
  • the voice recognition device described in each of the above embodiments is also used to perform the voice described in the above embodiments.
  • the identification method, the technical principle and the generated technical effect are similar, and will not be described here.
  • FIG. 4 is a schematic diagram of a hardware structure of a terminal device for implementing voice recognition according to Embodiment 3 of the present invention, where the terminal device includes one or more processors 41, a memory 42, one or more modules, and the one or more
  • the module (for example, the pronunciation information acquisition module 31, the probability score query module 32, the character recognition module 33, the cache query module 34, the trigger module 35, the first array forming module 36, and the second array in the voice recognition device shown in FIG.
  • the forming module 37, the storage module 38, the array decomposition module 39, and the positioning table construction module 310) are stored in the memory 42; in FIG. 4, a processor 41 is taken as an example; the processor 41 and the memory 42 in the terminal device can pass Bus or other way of connection, in Figure 4 by way of a bus connection.
  • the query tree information includes a plurality of nodes corresponding to the text, Each node includes at least a storage location offset between the current node and the child node;
  • the character recognition result is selected based on the probability score as the final recognition result.
  • the foregoing terminal device can perform the methods provided in Embodiment 1 and Embodiment 2 of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
  • the processor 41 after querying the loaded language model according to the pronunciation information, and determining the probability score of the character recognition result that matches the pronunciation information, according to the pronunciation information. Querying a probability score of a text recognition result matching the pronunciation information in a common word sequence stored in the cache and/or a text recognition result of the recorded history query; if there is no matching in the cache with the pronunciation information The probability score of the text recognition result triggers the operation of querying in the language model check tree.
  • the processor 41 displays the single character in the language model check tree before querying the probability score of the character recognition result matching the pronunciation information in the common word sequence in the cache according to the pronunciation information.
  • the combination of words and their probability scores form a second array; the first array and the second array are stored as the sequence of common words.
  • the processor 41 stores the first array and the second array as the common word sequence
  • the plurality of text combinations in the second array are divided into an ordered sequence array according to a predetermined rule.
  • an array of unordered sequences comprising at least two sub-arrays, each of the sub-arrays storing a plurality of combinations of characters having the same eigenvalue; a probability score in the array of the unordered sequences, and a starting position And/or the termination position, and the feature value, the starting position, and/or the ending position of each sub-array are stored in the positioning table; and the positioning table is queried according to the pronunciation information and the corresponding feature value, and the pronunciation information is determined Matching sub-arrays; querying the matched sub-array using a fast lookup algorithm to determine a probability score of the text recognition result that matches the pronunciation information.
  • the processor 41 shifts the identifier value corresponding to the first character in the binary character combination to the left of the first specified number of digits and the identifier value corresponding to the second character to the left of the second specified digit as the feature value.
  • K classify the binary combination of the number of binary combinations with the eigenvalue K greater than or equal to the preset value as an ordered sequence array; the number of binary combination of eigenvalues K is less than the preset value
  • Binary text The combination is classified as an array of unordered sequences.
  • the processor 41 shifts the feature value K right by the first specified number of digits and the identifier value corresponding to the third character to the left of the second specified number of digits as the feature value T;
  • the ternary character combination whose number of ternary characters is greater than or equal to the preset value is classified into an ordered sequence array; the ternary combination of the number of ternary characters whose eigenvalue is T is less than the preset value is classified as none An array of ordered sequences.
  • An embodiment of the present invention further provides a non-volatile computer storage medium, where the computer storage medium stores one or more modules, when the one or more modules are executed by a device that performs a voice recognition method, The device performs the following operations:
  • the query tree information includes a plurality of nodes corresponding to the text, Each node includes at least a storage location offset between the current node and the child node;
  • the character recognition result is selected based on the probability score as the final recognition result.
  • the method preferably includes:
  • the method preferably includes:
  • the first array and the second array are stored as the common word sequence.
  • the method preferably includes:
  • the language model is searched according to the query tree information, and the probability score of the text recognition result that matches the pronunciation information is determined by querying the language model check tree:
  • the fast sub-array is used to query the matched sub-array to determine a probability score of the text recognition result that matches the pronunciation information.
  • dividing the binary text combination in the second array into an ordered sequence array and an unordered sequence array according to a predetermined rule is preferably:
  • the identification value corresponding to the first character in the binary character combination is shifted right by the first specified number of digits and the identification value corresponding to the second character is shifted to the left by the second specified number of digits as the feature value K;
  • the binary text combination whose number of binary character combinations whose feature value is K is smaller than the preset value is classified into an unordered sequence array.
  • the ternary character combination in the second array is divided into an ordered sequence array and an unordered sequence array according to a predetermined rule:
  • the ternary character combination whose number of ternary characters whose feature value is T is greater than or equal to the preset value is classified into an ordered sequence array
  • a ternary character combination in which the number of ternary characters whose feature value is T is less than a preset value is classified into an unordered sequence array.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Character Discrimination (AREA)

Abstract

一种语音识别方法、装置终端设备及存储介质,该方法包括:根据语音信息识别得到发音信息(21);根据查分树信息加载语言模型查分树,查询语言模型查分树确定与发音信息匹配的文字识别结果的概率得分;其中,查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量(22);根据概率得分选择文字识别结果,作为最终的识别结果(13)。该方法及装置通过在启动时直接根据当前节点与子节点之间的存储位置偏移量加载语言模型查分树,这样大大的缩短了启动时间。

Description

语音识别方法、装置、终端设备及存储介质
本专利申请要求于2015年07月20日提交的、申请号为201510427908.5、申请人为百度在线网络技术(北京)有限公司、发明名称为“语音识别方法及装置”的中国专利申请的优先权,该申请的全文以引用的方式并入本申请中。
技术领域
本发明实施例涉及语音识别技术领域,尤其涉及一种语音识别方法、装置、终端设备及存储介质。
背景技术
在嵌入式语音识别领域,语音识别结果由声学模型和语言模型两部分决定。而语言模型有着十分重要的作用,例如,当“北戴河”和“被带河”发音相似,声学模型的得分相差无几,这时就需要使用语言模型来进一步决定哪一个词是语言中会用到的。也就是说,语言模型解决了语音识别中对自然语言顺序的评测问题。
如图1所示,为现有技术中提供的语音识别方法,主要包括以下步骤:
S11、从硬盘上读取语言模型资源,资源以节点的方式存储;
其中,每个节点对应一个字,每个节点由节点信息(包括所对应的字或词、孩子信息,例如孩子节点对应的字以及孩子数目),概率列表(ProbList)(存储概率),回退概率列表(BackOff)三部分组成;即如下表一所示:
表一
Figure PCTCN2015096622-appb-000001
Figure PCTCN2015096622-appb-000002
S12、根据读取的语言模型资源构建多叉查分树;
构建查分树的过程,具体是:将语言模型资源加载到缓存之后,节点的存储地址发生了变化,因此每个节点只知道自身的孩子节点是哪个字,而不知道其存储地址,因此需要根据每个节点中记录的孩子节点信息,逐一查询其孩子节点的存储地址,并添加至父节点中,从而建立查分树。
S13、加载声学模型和其他语音识别的资源;
S14、接收输入的语音信息,使用维特比算法进行解码;
S15、在解码的过程中,使用声学模型进行语音识别,得到发音信息,并根据发音信息查询语言模型的多叉查分树进行查分;
S16、获得语言模型的识别结果;
S17、输出识别结果,释放资源。
但是,现有的语音识别方法在读取语言模型资源之后,需要对语言模型资源进行动态的加载,构建多叉查分树,这个过程十分浪费时间,导致识别效率较低。
发明内容
本发明实施例提供一种语音识别方法、装置、终端设备及存储介质,能够大大的缩短启动时间。
第一方面,本发明实施例提供了一种语音识别方法,包括:
根据语音信息识别得到发音信息;
根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
根据所述概率得分选择文字识别结果,作为最终的识别结果。
第二方面,本发明实施例还提供一种语音识别装置,包括:
发音信息获取模块,用于根据语音信息识别得到发音信息;
概率得分查询模块,用于根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
文字识别模块,用于根据所述概率得分选择文字识别结果,作为最终的识别结果。
第三方面,本发明实施例还提供一种实现语音识别的终端设备,包括:
一个或者多个处理器;
存储器;
一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,进行如下操作:
根据语音信息识别得到发音信息;
根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置 偏移量;
根据所述概率得分选择文字识别结果,作为最终的识别结果。
第四方面,本发明实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个执行语音识别方法的设备执行时,使得所述设备执行如下操作:
根据语音信息识别得到发音信息;
根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
根据所述概率得分选择文字识别结果,作为最终的识别结果。
本发明实施例的技术方案,直接根据当前节点与子节点之间的存储位置偏移量来存储语言模型查分树,无需在启动时动态构建语言模型查分树,这样大大的缩短了启动时间。
附图说明
图1为现有技术提供的语音识别方法的流程示意图;
图2A为本发明实施例一提供的语音识别方法的流程示意图;
图2B为本发明实施例一提供的语音识别方法中的第一种查分子树结构示意图;
图2C为本发明实施例一提供的语音识别方法中的第二种查分子树结构示意图;
图2D为本发明实施例一提供的语音识别方法中的第三种查分子树结构示意图;
图2E为本发明实施例一提供的语音识别方法中的第四种查分子树结构示意图;
图3为本发明实施例二提供的语音识别装置的结构示意图;
图4为本发明实施例三提供的实现语音识别的终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明实施例提供的语音识别方法的执行主体,可为本发明实施例提供的语音识别装置,或者集成了所述语音识别装置的终端设备(例如,智能手机、平板电脑等),该语音识别装置可以采用硬件或软件实现。
实施例一
图2A为本发明实施例一提供的语音识别方法的流程示意图,如图2A所示,具体包括:
S21、根据语音信息识别得到发音信息;
具体的,用户可在本发明实施例提供的语音识别装置中输入语音信息,例如,可在语音识别装置中的输入栏设置一个语音录音按钮,用户通过点击上述 语音录音按钮,即可启动录音功能,对用户说话进行录音,从而获取到所述语音信息。然后通过预先加载的声学模型和语音识别资源对所述语音信息进行识别处理,即可得到需要的发音信息。例如,如果用户想要输入的语音为“北戴河”,则通过上述识别过程可获得的发音信息为“beidaihe”。
S22、根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
其中,所述查分树信息与语言模型资源类似,包括文字对应的多个节点,其中,每个节点至少包括当前节点与子节点之间的存储位置偏移量。除此之外,所述查分树还可以包括每个节点的存储概率(ProbList,即当前节点出现的概率)、当前节点退回的概率(BackOff)以及对应子节点的数目。子节点即孩子节点。父节点与子节点之间是会同时出现的文字组合,例如,“北京”,“京”的节点即为“北”节点的父节点。存储位置偏移量具体是节点与子节点各自存储位置之间的距离。
具体的,预先将语言模型的查分树信息直接写入语言模型资源中,这样初始化上就不需要动态的构建语言模型的查分树资源,而是把动态构建起来的查分树的指针信息当成偏移量写入语言模型资源中,即提前离线构建好语言模型查分树。将当前节点与子节点之间的存储位置偏移量直接写入语言模型资源,所述查分树信息如下述表二所示。在启动加载时,根据查分树信息将离线建立好的语言模型查分树直接进行加载。
表二
Figure PCTCN2015096622-appb-000003
当将查分树信息加载到缓存中时,节点之间的存储相对距离不会发生变化,因此,可以基于初始节点的存储位置以及与其他节点的偏移量,确定其他节点的存储位置。
根据上述表二的信息即可将语音模型查分树加载到线上,根据发音信息查询所述查分树。例如,通过上述步骤S21得到的发音信息为“beidaihe”,首先在所述查分树的根节点(RootProbList)中查询发音信息“beidaihe”中“he”对应的文字节点,包含多个例如“荷”、“喝”,“河”等,如图2B所示,然后在各个“he”对应的文字节点的子节点中查询“dai”对应的文字节点,也包含多个例如“带”、“戴”、“待”等,查询各“dai”对应的文字节点的ProbList和BackOff中“daihe”对应的概率得分,例如得到如下表三所示的结果:
表三
  ProbList BackOff
戴荷 1% 98%
带荷 1% 98%
待荷 1% 98%
戴河 99% 1%
带河 80% 5%
待河 60% 30%
戴喝 1% 99%
带喝 1% 98%
待喝 70% 7%
则通过上述表三,可得到“荷”对应的子节点“戴”、“带”和“待”下的文字节点的退回概率BackOff均高于60%,比较高,而ProbList均低于60%,比较低,则“荷”对应的子树被退回。同理,“河”对应的子节点“戴”、“带”和“待”下的文字节点的ProbList均高于60%,而BackOff均低于60%,则“河”对应的子树保留。“喝”对应的子节点“待”下的文字节点的ProbList高于60%,而BackOff低于60%,则“喝”对应的子节点“待”保留,而“喝”对应的子节点“戴”和“带”的ProbList均低于60%,而BackOff均高于60%,“喝”对应的子节点“戴”和“带”被退回。通过上述选择过程最终可得到的结果如图2C和图2D所示的两个子树。
在所2C和图2D所示的子树的基础上,根据发音信息中的“beidaihe”中的“bei”,再次查询“dai”对应的各文字节点的子节点,也包含多个,例如“被”、“北”和“背”等。
查询各“bei”对应的文字节点的ProbList和BackOff中“beidaihe”对应的概率得分,例如得到如下表四所示的结果:
表四
  ProbList BackOff
背戴河 30% 70%
被戴河 60% 15%
北戴河 99% 1%
背带河 5% 90%
被带河 1% 95%
北带河 30% 91%
北待河 1% 90%
被待河 1% 98%
背待河 2% 90%
背待喝 1% 99%
北待喝 1% 91%
被待喝 1% 97%
则通过上述表四,可得到“戴”对应的子节点“北戴河”和“被戴河”下的文字节点的ProbList均高于60%,而BackOff均低于60%,则“戴”对应的子节点“北戴河”和“被戴河”保留,而“戴”对应的子节点“背戴河”的文字节点的BackOff均高于60%,而ProbList均低于60%,“戴”对应的子节点“背戴河”被退回。同理,可得出,“待”和“带”对应的子树均被退回。通过上述选择过程最终可得到的结果如图2E所示。
S23、根据所述概率得分选择文字识别结果,作为最终的识别结果。
同样以上述步骤S23为例,最终得到的识别结果为“北戴河”和“被戴河”,对应的概率得分分别为99%和60%,则可按照得分多少,将得分高的文字识别结果放在前边显示,得分低的文字识别结果在显示的原则,同时将它们返回给 用户,即将“北戴河”“被戴河”同时返回给用户,以供用户选择。也可只将得分最高的返回给用户,即将“北戴河”返回给用户。
本实施例,无需在启动时动态构建语言模型查分树,通过当前节点与子节点之间的存储位置偏移量来预先记录语言模型查分树,则需要加载时,可直接根据节点之间存储位置偏移量将查分树加载至缓存中,无需动态建立,这样大大的缩短了启动时间。
示例性的,为了更快的查询,可在根据所述发音信息查询加载的语言模型查分树,确定与所述发音信息匹配的文字识别结果的概率得分之前增加如下步骤:
根据所述发音信息在缓存中存储的常用词序列和/或记录的历史查询的文字识别结果中查询与所述发音信息匹配的文字识别结果的概率得分;
如果在所述缓存中不存在与所述发音信息匹配的文字识别结果的概率得分,则触发在所述语言模型查分树中进行查询的操作。
其中,所述常用词序列中包含了人们生活中经常用户到的一些词汇和热词,例如,包括旅游景点的名称、各省市直辖市自治区的地名、网络名人的名字、歌曲名字等等,将这些常用词汇之间放在缓存中,可以大大提高查询效率。
还可将历史查询的文字识别结果纪录在缓存中,当用户再次输入相同的语音信息时,可直接从缓存中返回给用户,同样节省了查询时间。
由于目前使用的语言模型资源尺寸都比较大,即使是经过裁剪的语言模型,也占用了很大的内存,且经过裁剪还会影响查询效率,为进一步节省内存,本发明实施例将现有的语言模型查分树进行转换,转换为一种更加节约内存的语 言模型。具体的,在根据所述发音信息在缓存中的常用词序列中查询与所述发音信息匹配的文字识别结果的概率得分之前进一步增加如下操作,以便形成常用词序列:
将所述语言模型查分树中单个文字出现的概率得分高于设定门限值的单个文字及其概率得分,形成第一数组;
将所述语言模型查分树中至少两个文字构成的文字组合的概率得分高于设定门限值的文字组合及其概率得分,形成第二数组;
将所述第一数组和第二数组作为所述常用词序列进行存储。
具体的,将所述语言模型查分树中根节点中包含的部分单个文字或者所有单个文字及其对应的概率得分以数组的形式进行存储。将所述语言模型查分树中父节点以及各子节点对应的文字组合及其概率得分也以数组的形式进行存储。本实施例通过设置设定门限值,可去除所述语言模型查分树中包含的低概率的单个文字和文字组合,以提高查询效率。
举例来说,所述语言模型查分树中根节点中包含的文字包括“北”、“京”、“河”、“荷”、“喝”等,对应的存储概率分别为P1、P2、P3、P4、P5,具体可采用二维数组来实现,其存储形式如下表五所示:
表五
文字 ......
出现概率 P1 P2 P3 P4 P5 ......
同理,对于所述语言模型查分树中父节点以及各子节点对应的文字组合及其概率得分也可以二维数组的形式进行存储,例如如下表六所示,为二元文字的组合:
表六
文字组合 北京 南京 戴河 花荷 待喝 ......
出现概率 P6 P7 P8 P9 P10 ......
在后续查询时,可直接从上述数组中进行查询。
示例性的,为了进一步提高查询效率,可通过定位表快速定位要查询的目标区域,具体的可在将所述第一数组和第二数组作为所述常用词序列进行存储之后进一步增加如下步骤:
根据预定规则将所述第二数组中的多个文字组合分为有序序列数组和无序序列数组,所述有序序列数组中包含至少两个子数组,各子数组中存储有相同特征值的多个文字组合;
将所述无序序列数组中的概率得分,以及起始位置和/或终止位置,以及各子数组的特征值、起始位置和/或终止位置存储在定位表中;
其中,预定规则可根据具体的场景进行设定,对于不同的场景有不同的划分规则,可更好的更快速的匹配到合适的文字识别结果。具体的,可将所述二元文字组合中第一文字对应的标识值右移第一指定位数与第二文字对应的标识值左移第二指定位数的和作为特征值K,将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;将特征值为K的二元文字组合的个数小于预设数值的二元文字组合归为无序序列数组。
例如,对于二元文字组合可采用公式一计算得到有序序列数组和无序序列数组,首先计算二元文字组合的特征值K:
K=M1>>3+M2<<13
其中,第一指定位数取值为3,第二指定位数取值为13,“>>”为右移符号, “<<”为左移符号,M1为第一文字对应的标识值,M2为第二文字对应的标识值。
将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;将特征值为K的二元文字组合的个数小于预设数值的二元文字组合归为无序序列数组。
标识值是能够唯一标识文字的数值,例如典型的,以ASCII编码标识各文字时,文字的ASCII码数值即为标识值。将文字的标识值进行左移和右移之后,计算其特征值K,相当于根据特征值K对各文字组合进行了分类,将特征值K相同的文字组合归为一个组。对于组内文字组合数量过少的,则不必设该组。
本领域技术人员可以理解,预设规则也可以是其他公式,不限于左移和右移,以及不限于上述移位的具体位数。
对于三元文字组合,可通过上述公式计算的其中二元文字组合的特征值K,然后将特征值K右移第一指定位数与第三文字对应的标识值左移第二指定位数的和作为特征值T;将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
例如,可结合上述公式一和如下公式二得到有序序列数组和无序序列数组,首先采用公式一计算得到二元文字组合的特征值K,然后采用公式二得到三元文字组合的特征值T
T=K>>3+M3<<13
其中,第一指定位数取值为3,第二指定位数取值为13,K为M1和M2组合对应的特征值,M3为第三文字对应的标识值;
将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
其中,有序序列数组可根据特征值划分为多个子子数组,每个子数组存储有相同特征值的文字组合。对于二元文字组合的特征值,采用上述公式一计算得到,对于三元文字组合,可结合公式一和公式二计算得到。
下面通过举例详细介绍定位表的构建过程。
首先根据语音查分树,统计出所有的文字组合,包括二元文字组合、三元文字组合和n元文字组合,其中n为大于3的自然数。较常用的为二元文字组合和三元文字组合。对于二元文字组合,则采用上述公式一计算得到特征值,对于三元文字组合,则采用上述公式一和公式二计算得到特征值。例如,计算得到特征值为K1的文字组合包括“北京”、“天津”、“北戴河”、“百度”和“搜狐”,计算得到特征值为K2的文字组合包括“杭州好”、“被带河”、“牛奶”和“酸奶”,计算得到特征值为K3的文字组合包括“苏州”,计算得到特征值为K4的文字组合包括“夏天热”和“被戴河”,计算得到特征值为K3的文字组合包括“苏州”则统计特征值为K1的文字组合的个数为5、统计特征值为K2的文字组合的个数为4、统计特征值为K3的文字组合的个数为1,统计特征值为K4的文字组合的个数为2,如果预设数值设为3,则将相同特征值的文字组合的个数超过3的归为有序序列数组,否则,归为无序序列数组,则最终得到的有序序列数组以列表的形式表示,如下述表七所示,其中有序序列数组中还包含特征值和各文字组合出现的概率,此概率可直接从语言模型查分树中获取:
表七
Figure PCTCN2015096622-appb-000004
最终得到的无序序列数组以列表的形式表示,如下述表八所示,其中无序序列数组中同样包含特征值和各文字组合出现的概率,此概率可直接从语言模型查分树中获取:
表八
Figure PCTCN2015096622-appb-000005
由于所述有序序列数组中包含的文字组合个数比较多,在查找时不便于查找,则进一步将有序序列数组中的文字组合进行分割,根据特征值分成多个子数组,例如表七中,可将特征值相同的分为一个子数组,共分为2个子数组。如下表九所示:
表九
Figure PCTCN2015096622-appb-000006
Figure PCTCN2015096622-appb-000007
而对于无序序列数组,由于其包含的文字组合的个数比较少,则不必将其进行分组。
最后,根据上述表九划分的各个子数组,以及上述表八所示的无序序列数组,构建定位表。即将各子数组对应的特征值及起始存储位置,以及无序序列数组中的文字组合对应的特征值及其概率得分放置在定位表中,例如,得到的定位表如下表十所示
表十
Figure PCTCN2015096622-appb-000008
另外,在构建定位表时,可直接将对应的特征值作为数组的下标,即子数组1对应的下标为K1,子数组2对应的下标为K2,无序序列数组1对应的下标为K3,无序序列数组2对应的下标为K4,则直接将各数组对应的下标存储在定位表中,得到的定位表如下表十一所示:
表十一
Figure PCTCN2015096622-appb-000009
相应的,在查询时,根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分具体包 括:
根据所述发音信息和对应的特征值查询所述定位表,确定与所述发音信息匹配的子数组;
采用快速查找算法查询所述匹配的子数组确定与所述发音信息匹配的文字识别结果的概率得分。
例如,对于要查询发音信息“beidaihe”对应的文字识别结果,则从所述第一数组存储的单个文字中查询得到发音为“bei”、“dai”、“he”对应的所有文字组合,再根据定位表查询得到各发音为“beidaihe”文字组合的概率得分。例如以表十对应的定位表为例,要查P(被|带河)的概率,则采用上述公式一和公式二计算得到文字组合“被带河”的特征值为K2,则根据特征值K2查询上述表十的定位表,可知对应的查询范围为子数组2,则根据定位表中记录的子数组2的起止位返回表九去子数组2中查询,具体可采用快速查询算法(例如二分法)进行查找,得到P(被|带河)的概率得分为P15。例如要查P(被|戴河)的概率,则采用上述公式一和公式二计算得到文字组合“被戴河”的特征值为K4,则根据特征值K4查询上述表十的定位表,可知对应的查询结果记录在所述定位表中,则直接查询得到P(被|戴河)的概率得分为P17。同理,查询得到P(北|戴河)的概率得分为P8,比较所有发音为“beidaihe”的文字组合的概率得分,按照概率得分对文字组合进行排序,将排序在前的文字组合返回给用户。
上述各实施例通过根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分,其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节 点之间的存储位置偏移量,根据概率得分即可得到文字识别结果。而无需在启动时动态构建语言模型查分树,本发明实施例通过直接根据当前节点与子节点之间的存储位置偏移量加载语言模型查分树,这样大大的缩短了启动时间。
另外,上述各实施例还通过构建定位表,初步定位要查询的文字组合的大概位置,进一步采用快速查询算法进行精确查找确定与所述发音信息匹配的文字识别结果的概率得分,进一步提高了查询效率。
实施例二
图3为本发明实施例二提供的语音识别装置的结构示意图,如图3所示,具体包括:发音信息获取模块31、概率得分查询模块32和文字识别模块33;
所述发音信息获取模块31用于根据语音信息识别得到发音信息;
所述概率得分查询模块32用于根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
所述文字识别模块33用于根据所述概率得分选择文字识别结果,作为最终的识别结果。
本发明实施例所述的语音识别装置用于执行上述各实施例所述的语音识别方法,其技术原理和产生的技术效果类似,这里不再累述。
示例性的,在上述实施例的基础上,所述装置还包括:缓存查询模块34和触发模块35;
所述缓存查询模块34用于在所述概率得分查询模块32根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分之前,根据所述发音信息在缓存中存储的常用词序列和/或记录的历史查询的文字识别结果中查询与所述发音信息匹配的文字识别结果的概率得分;
所述触发模块35用于如果所述缓存查询模块34在缓存中不存在与所述发音信息匹配的文字识别结果的概率得分,则触发在所述语言模型查分树中进行查询的操作。
示例性的,所述装置还包括:第一数组形成模块36、第二数组形成模块37和存储模块38;
所述第一数组形成模块36用于在所述缓存查询模块34根据所述发音信息在缓存中的常用词序列中查询与所述发音信息匹配的文字识别结果的概率得分之前,将所述语言模型查分树中单个文字出现的概率得分高于设定门限值的单个文字及其概率得分,形成第一数组;
所述第二数组形成模块37用于将所述语言模型查分树中至少两个文字构成的文字组合的概率得分高于设定门限值的文字组合及其概率得分,形成第二数组;
所述存储模块38用于将所述第一数组和第二数组作为所述常用词序列进行存储。
示例性的,所述装置还包括:数组分解模块39和定位表构建模块310;
所述数组分解模块39用于在所述存储模块38将所述第一数组和第二数组作为所述常用词序列进行存储之后,根据预定规则将所述第二数组中的多个文 字组合分为有序序列数组和无序序列数组,所述有序序列数组中包含至少两个子数组,各子数组中存储有相同特征值的多个文字组合;
所述定位表构模块310用于将所述无序序列数组中的概率得分,以及起始位置和/或终止位置,以及各子数组的特征值、起始位置和/或终止位置存储在定位表中;
相应的,所述缓存查询模块34具体用于:
根据所述发音信息和对应的特征值查询所述定位表,确定与所述发音信息匹配的子数组;采用快速查找算法查询所述匹配的子数组确定与所述发音信息匹配的文字识别结果的概率得分。
示例性的,所述数组分解模块39具体用于:
将所述二元文字组合中第一文字对应的标识值右移第一指定位数与第二文字对应的标识值左移第二指定位数的和作为特征值K;
将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;将特征值为K的二元文字组合的个数小于预设数值的二元文字组合归为无序序列数组。
示例性的,所述数组分解模块39具体用于:
将所述特征值K右移第一指定位数与第三文字对应的标识值左移第二指定位数的和作为特征值T;
将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
上述各实施例所述的语音识别装置同样用于执行上述各实施例所述的语音 识别方法,其技术原理和产生的技术效果类似,这里不再累述。
实施例三
图4为本发明实施例三提供的一种实现语音识别的终端设备的硬件结构示意图,该终端设备包括一个或多个处理器41、存储器42,一个或者多个模块,所述一个或者多个模块(例如,附图3所示的语音识别装置中的发音信息获取模块31、概率得分查询模块32、文字识别模块33、缓存查询模块34、触发模块35第一数组形成模块36、第二数组形成模块37、存储模块38、数组分解模块39和定位表构建模块310)存储在所述存储器42中;图4中以一个处理器41为例;终端设备中的处理器41和存储器42可以通过总线或其他方式连接,图4中以通过总线连接为例。
当被所述一个或者多个处理器41执行时,进行如下操作:
根据语音信息识别得到发音信息;
根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
根据所述概率得分选择文字识别结果,作为最终的识别结果。
上述终端设备可执行本发明实施例一和实施例二所提供的方法,具备执行方法相应的功能模块和有益效果。
示例性的,所述处理器41在根据所述发音信息查询加载的语言模型查分树,确定与所述发音信息匹配的文字识别结果的概率得分之前,根据所述发音信息 在缓存中存储的常用词序列和/或记录的历史查询的文字识别结果中查询与所述发音信息匹配的文字识别结果的概率得分;如果在所述缓存中不存在与所述发音信息匹配的文字识别结果的概率得分,则触发在所述语言模型查分树中进行查询的操作。
示例性的,所述处理器41在根据所述发音信息在缓存中的常用词序列中查询与所述发音信息匹配的文字识别结果的概率得分之前,将所述语言模型查分树中单个文字出现的概率得分高于设定门限值的单个文字及其概率得分,形成第一数组;将所述语言模型查分树中至少两个文字构成的文字组合的概率得分高于设定门限值的文字组合及其概率得分,形成第二数组;将所述第一数组和第二数组作为所述常用词序列进行存储。
示例性的,所述处理器41将所述第一数组和第二数组作为所述常用词序列进行存储之后,根据预定规则将所述第二数组中的多个文字组合分为有序序列数组和无序序列数组,所述有序序列数组中包含至少两个子数组,各子数组中存储有相同特征值的多个文字组合;将所述无序序列数组中的概率得分,以及起始位置和/或终止位置,以及各子数组的特征值、起始位置和/或终止位置存储在定位表中;根据所述发音信息和对应的特征值查询所述定位表,确定与所述发音信息匹配的子数组;采用快速查找算法查询所述匹配的子数组确定与所述发音信息匹配的文字识别结果的概率得分。
示例性的,所述处理器41将所述二元文字组合中第一文字对应的标识值右移第一指定位数与第二文字对应的标识值左移第二指定位数的和作为特征值K;将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;将特征值为K的二元文字组合的个数小于预设数值的二元文字 组合归为无序序列数组。
示例性的,所述处理器41将所述特征值K右移第一指定位数与第三文字对应的标识值左移第二指定位数的和作为特征值T;将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
实施例四
本发明实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个执行语音识别方法的设备执行时,使得所述设备执行如下操作:
根据语音信息识别得到发音信息;
根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
根据所述概率得分选择文字识别结果,作为最终的识别结果。
上述存储介质中存储的模块被所述设备所执行时,在根据所述发音信息查询加载的语言模型查分树,确定与所述发音信息匹配的文字识别结果的概率得分之前,优选包括:
根据所述发音信息在缓存中存储的常用词序列和/或记录的历史查询的文字识别结果中查询与所述发音信息匹配的文字识别结果的概率得分;
如果在所述缓存中不存在与所述发音信息匹配的文字识别结果的概率得分, 则触发在所述语言模型查分树中进行查询的操作。
上述存储介质中存储的模块被所述设备所执行时,在根据所述发音信息在缓存中的常用词序列中查询与所述发音信息匹配的文字识别结果的概率得分之前,优选包括:
将所述语言模型查分树中单个文字出现的概率得分高于设定门限值的单个文字及其概率得分,形成第一数组;
将所述语言模型查分树中至少两个文字构成的文字组合的概率得分高于设定门限值的文字组合及其概率得分,形成第二数组;
将所述第一数组和第二数组作为所述常用词序列进行存储。
上述存储介质中存储的模块被所述设备所执行时,将所述第一数组和第二数组作为所述常用词序列进行存储之后,优选包括:
根据预定规则将所述第二数组中的多个文字组合分为有序序列数组和无序序列数组,所述有序序列数组中包含至少两个子数组,各子数组中存储有相同特征值的多个文字组合;
将所述无序序列数组中的概率得分,以及起始位置和/或终止位置,以及各子数组的特征值、起始位置和/或终止位置存储在定位表中;
相应的,根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分优选为:
根据所述发音信息和对应的特征值查询所述定位表,确定与所述发音信息匹配的子数组;
采用快速查找算法查询所述匹配的子数组确定与所述发音信息匹配的文字识别结果的概率得分。
上述存储介质中存储的模块被所述设备所执行时,根据预定规则将所述第二数组中的二元文字组合分为有序序列数组和无序序列数组优选为:
将所述二元文字组合中第一文字对应的标识值右移第一指定位数与第二文字对应的标识值左移第二指定位数的和作为特征值K;
将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;
将特征值为K的二元文字组合的个数小于预设数值的二元文字组合归为无序序列数组。
上述存储介质中存储的模块被所述设备所执行时,根据预定规则将所述第二数组中的三元文字组合分为有序序列数组和无序序列数组优选为:
将所述特征值K右移第一指定位数与第三文字对应的标识值左移第二指定位数的和作为特征值T;
将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;
将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (14)

  1. 一种语音识别方法,其特征在于,包括:
    根据语音信息识别得到发音信息;
    根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
    根据所述概率得分选择文字识别结果,作为最终的识别结果。
  2. 根据权利要求1所述的方法,其特征在于,在根据所述发音信息查询加载的语言模型查分树,确定与所述发音信息匹配的文字识别结果的概率得分之前,还包括:
    根据所述发音信息在缓存中存储的常用词序列和/或记录的历史查询的文字识别结果中查询与所述发音信息匹配的文字识别结果的概率得分;
    如果在所述缓存中不存在与所述发音信息匹配的文字识别结果的概率得分,则触发在所述语言模型查分树中进行查询的操作。
  3. 根据权利要求2所述的方法,其特征在于,在根据所述发音信息在缓存中的常用词序列中查询与所述发音信息匹配的文字识别结果的概率得分之前,还包括:
    将所述语言模型查分树中单个文字出现的概率得分高于设定门限值的单个文字及其概率得分,形成第一数组;
    将所述语言模型查分树中至少两个文字构成的文字组合的概率得分高于设定门限值的文字组合及其概率得分,形成第二数组;
    将所述第一数组和第二数组作为所述常用词序列进行存储。
  4. 根据权利要求3所述的方法,其特征在于,将所述第一数组和第二数组作为所述常用词序列进行存储之后,还包括:
    根据预定规则将所述第二数组中的多个文字组合分为有序序列数组和无序序列数组,所述有序序列数组中包含至少两个子数组,各子数组中存储有相同特征值的多个文字组合;
    将所述无序序列数组中的概率得分,以及起始位置和/或终止位置,以及各子数组的特征值、起始位置和/或终止位置存储在定位表中;
    相应的,根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分包括:
    根据所述发音信息和对应的特征值查询所述定位表,确定与所述发音信息匹配的子数组;
    采用快速查找算法查询所述匹配的子数组确定与所述发音信息匹配的文字识别结果的概率得分。
  5. 根据权利要求4所述的方法,其特征在于,根据预定规则将所述第二数组中的二元文字组合分为有序序列数组和无序序列数组包括:
    将所述二元文字组合中第一文字对应的标识值右移第一指定位数与第二文字对应的标识值左移第二指定位数的和作为特征值K;
    将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;
    将特征值为K的二元文字组合的个数小于预设数值的二元文字组合归为无序序列数组。
  6. 根据权利要求5所述的方法,其特征在于,根据预定规则将所述第二数 组中的三元文字组合分为有序序列数组和无序序列数组包括:
    将所述特征值K右移第一指定位数与第三文字对应的标识值左移第二指定位数的和作为特征值T;
    将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;
    将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
  7. 一种语音识别装置,其特征在于,包括:
    发音信息获取模块,用于根据语音信息识别得到发音信息;
    概率得分查询模块,用于根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
    文字识别模块,用于根据所述概率得分选择文字识别结果,作为最终的识别结果。
  8. 根据权利要求7所述的装置,其特征在于,所述装置还包括:
    缓存查询模块,用于在所述概率得分查询模块根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分之前,根据所述发音信息在缓存中存储的常用词序列和/或记录的历史查询的文字识别结果中查询与所述发音信息匹配的文字识别结果的概率得分;
    触发模块,用于如果所述缓存查询模块在缓存中不存在与所述发音信息匹 配的文字识别结果的概率得分,则触发在所述语言模型查分树中进行查询的操作。
  9. 根据权利要求8所述的装置,其特征在于,所述装置还包括:
    第一数组形成模块,用于在所述缓存查询模块根据所述发音信息在缓存中的常用词序列中查询与所述发音信息匹配的文字识别结果的概率得分之前,将所述语言模型查分树中单个文字出现的概率得分高于设定门限值的单个文字及其概率得分,形成第一数组;
    第二数组形成模块,用于将所述语言模型查分树中至少两个文字构成的文字组合的概率得分高于设定门限值的文字组合及其概率得分,形成第二数组;
    存储模块,用于将所述第一数组和第二数组作为所述常用词序列进行存储。
  10. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    数组分解模块,用于在所述存储模块将所述第一数组和第二数组作为所述常用词序列进行存储之后,根据预定规则将所述第二数组中的多个文字组合分为有序序列数组和无序序列数组,所述有序序列数组中包含至少两个子数组,各子数组中存储有相同特征值的多个文字组合;
    定位表构模块,用于将所述无序序列数组中的概率得分,以及起始位置和/或终止位置,以及各子数组的特征值、起始位置和/或终止位置存储在定位表中;
    相应的,所述缓存查询模块具体用于:
    根据所述发音信息和对应的特征值查询所述定位表,确定与所述发音信息匹配的子数组;采用快速查找算法查询所述匹配的子数组确定与所述发音信息匹配的文字识别结果的概率得分。
  11. 根据权利要求10所述的装置,其特征在于,所述数组分解模块具体用 于:
    将所述二元文字组合中第一文字对应的标识值右移第一指定位数与第二文字对应的标识值左移第二指定位数的和作为特征值K;
    将特征值为K的二元文字组合的个数大于或等于预设数值的二元文字组合归为有序序列数组;将特征值为K的二元文字组合的个数小于预设数值的二元文字组合归为无序序列数组。
  12. 根据权利要求11所述的装置,其特征在于,所述数组分解模块具体用于:
    将所述特征值K右移第一指定位数与第三文字对应的标识值左移第二指定位数的和作为特征值T;
    将特征值为T的三元文字组合的个数大于或等于预设数值的三元文字组合归为有序序列数组;将特征值为T的三元文字组合的个数小于预设数值的三元文字组合归为无序序列数组。
  13. 一种实现语音识别的终端设备,其特征在于,包括:
    一个或者多个处理器;
    存储器;
    一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,进行如下操作:
    根据语音信息识别得到发音信息;
    根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置 偏移量;
    根据所述概率得分选择文字识别结果,作为最终的识别结果。
  14. 一种非易失性计算机存储介质,所述计算机存储介质存储有一个或者多个模块,其特征在于,当所述一个或者多个模块被一个执行语音识别方法的设备执行时,使得所述设备执行如下操作:
    根据语音信息识别得到发音信息;
    根据所述查分树信息加载语言模型查分树,查询所述语言模型查分树确定与所述发音信息匹配的文字识别结果的概率得分;其中,所述查分树信息包括与文字对应的多个节点,每个节点至少包括当前节点与子节点之间的存储位置偏移量;
    根据所述概率得分选择文字识别结果,作为最终的识别结果。
PCT/CN2015/096622 2015-07-20 2015-12-08 语音识别方法、装置、终端设备及存储介质 Ceased WO2017012243A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510427908.5 2015-07-20
CN201510427908.5A CN105096944B (zh) 2015-07-20 2015-07-20 语音识别方法及装置

Publications (1)

Publication Number Publication Date
WO2017012243A1 true WO2017012243A1 (zh) 2017-01-26

Family

ID=54577230

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/096622 Ceased WO2017012243A1 (zh) 2015-07-20 2015-12-08 语音识别方法、装置、终端设备及存储介质

Country Status (2)

Country Link
CN (1) CN105096944B (zh)
WO (1) WO2017012243A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032716A (zh) * 2019-04-17 2019-07-19 北京地平线机器人技术研发有限公司 文字编码方法和装置、可读存储介质及电子设备
CN111261165A (zh) * 2020-01-13 2020-06-09 佳都新太科技股份有限公司 车站名称识别方法、装置、设备及存储介质
CN111898923A (zh) * 2020-08-12 2020-11-06 中国人民解放军总医院第二医学中心 一种信息分析方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096944B (zh) * 2015-07-20 2017-11-03 百度在线网络技术(北京)有限公司 语音识别方法及装置
CN109003608A (zh) * 2018-08-07 2018-12-14 北京东土科技股份有限公司 庭审控制方法、系统、计算机设备及存储介质
CN110164416B (zh) * 2018-12-07 2023-05-09 腾讯科技(深圳)有限公司 一种语音识别方法及其装置、设备和存储介质
CN111326147B (zh) * 2018-12-12 2023-11-17 北京嘀嘀无限科技发展有限公司 语音识别方法、装置、电子设备及存储介质
CN113903342B (zh) * 2021-10-29 2022-09-13 镁佳(北京)科技有限公司 一种语音识别纠错方法及装置
CN115240644B (zh) * 2022-07-18 2025-05-27 网易(杭州)网络有限公司 语音识别方法、装置、存储介质和电子设备
CN120636406A (zh) * 2025-07-08 2025-09-12 杭州灵伴科技有限公司 用于文本匹配的语音识别方法、系统、设备、介质和产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1346112A (zh) * 2000-09-27 2002-04-24 中国科学院自动化研究所 汉语连续语音识别的集成预测搜索方法
US20070055525A1 (en) * 2005-08-31 2007-03-08 Kennewick Robert A Dynamic speech sharpening
JP2009156941A (ja) * 2007-12-25 2009-07-16 Advanced Telecommunication Research Institute International 木構造辞書を記録した記憶媒体、木構造辞書作成装置、及び木構造辞書作成プログラム
CN101604522A (zh) * 2009-07-16 2009-12-16 北京森博克智能科技有限公司 非特定人的嵌入式中英文混合语音识别方法及系统
US7810024B1 (en) * 2002-03-25 2010-10-05 Adobe Systems Incorporated Efficient access to text-based linearized graph data
CN103577548A (zh) * 2013-10-12 2014-02-12 优视科技有限公司 近音文字匹配方法及装置
CN104238991A (zh) * 2013-06-21 2014-12-24 腾讯科技(深圳)有限公司 语音输入匹配方法及装置
CN105096944A (zh) * 2015-07-20 2015-11-25 百度在线网络技术(北京)有限公司 语音识别方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030187843A1 (en) * 2002-04-02 2003-10-02 Seward Robert Y. Method and system for searching for a list of values matching a user defined search expression
CN101398830B (zh) * 2007-09-27 2012-06-27 阿里巴巴集团控股有限公司 词库模糊查询方法及词库模糊查询系统
CN101576929B (zh) * 2009-06-16 2011-11-30 程治永 一种快速词条提示的实现方法
CN103577394B (zh) * 2012-07-31 2016-08-24 阿里巴巴集团控股有限公司 一种基于双数组搜索树的机器翻译方法和装置
CN104485107B (zh) * 2014-12-08 2018-06-22 畅捷通信息技术股份有限公司 名称的语音识别方法、语音识别系统和语音识别设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1346112A (zh) * 2000-09-27 2002-04-24 中国科学院自动化研究所 汉语连续语音识别的集成预测搜索方法
US7810024B1 (en) * 2002-03-25 2010-10-05 Adobe Systems Incorporated Efficient access to text-based linearized graph data
US20070055525A1 (en) * 2005-08-31 2007-03-08 Kennewick Robert A Dynamic speech sharpening
JP2009156941A (ja) * 2007-12-25 2009-07-16 Advanced Telecommunication Research Institute International 木構造辞書を記録した記憶媒体、木構造辞書作成装置、及び木構造辞書作成プログラム
CN101604522A (zh) * 2009-07-16 2009-12-16 北京森博克智能科技有限公司 非特定人的嵌入式中英文混合语音识别方法及系统
CN104238991A (zh) * 2013-06-21 2014-12-24 腾讯科技(深圳)有限公司 语音输入匹配方法及装置
CN103577548A (zh) * 2013-10-12 2014-02-12 优视科技有限公司 近音文字匹配方法及装置
CN105096944A (zh) * 2015-07-20 2015-11-25 百度在线网络技术(北京)有限公司 语音识别方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032716A (zh) * 2019-04-17 2019-07-19 北京地平线机器人技术研发有限公司 文字编码方法和装置、可读存储介质及电子设备
CN111261165A (zh) * 2020-01-13 2020-06-09 佳都新太科技股份有限公司 车站名称识别方法、装置、设备及存储介质
CN111898923A (zh) * 2020-08-12 2020-11-06 中国人民解放军总医院第二医学中心 一种信息分析方法

Also Published As

Publication number Publication date
CN105096944B (zh) 2017-11-03
CN105096944A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
US8082270B2 (en) Fuzzy search using progressive relaxation of search terms
CN105096944B (zh) 语音识别方法及装置
CN110019647B (zh) 一种关键词搜索方法、装置和搜索引擎
CN101464896B (zh) 语音模糊检索方法及装置
CN107102981B (zh) 词向量生成方法和装置
US20120084291A1 (en) Applying search queries to content sets
CN111611471B (zh) 一种搜索方法、装置及电子设备
CN102999625A (zh) 一种检索请求语义扩展方法
US20140201229A1 (en) Providing display suggestions
WO2014000517A1 (zh) 一种用于搜索输入的推荐系统及方法
CN106815179B (zh) 一种文本相似度确定方法及装置
CN103425727B (zh) 上下文语音查询扩大方法和系统
CN106681981B (zh) 中文词性的标注方法和装置
CN111026281B (zh) 一种客户端的词组推荐方法、客户端及存储介质
CN105653546B (zh) 一种目标主题的检索方法和系统
Sun et al. Allies: Prompting large language model with beam search
US20150356173A1 (en) Search device
CN109215636B (zh) 一种语音信息的分类方法及系统
CN106997354B (zh) 一种poi数据检索方法及装置
TW495736B (en) Method for generating candidate strings in speech recognition
CN113139383B (zh) 一种文档排序方法、系统、电子设备及存储介质
EP3859554A1 (en) Method and apparatus for indexing multi-dimensional records based upon similarity of the records
WO2022033213A1 (zh) 语音请求文本的处理方法及计算机存储介质
CN115455294A (zh) 标题核心内容确定方法、搜索请求处理方法及相关装置
CN103488654B (zh) 一种基于地图进行信息搜索的搜索结果处理方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15898799

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15898799

Country of ref document: EP

Kind code of ref document: A1