WO2023181223A1 - 音声認識方法、音声認識装置及び音声認識プログラム - Google Patents

音声認識方法、音声認識装置及び音声認識プログラム Download PDF

Info

Publication number
WO2023181223A1
WO2023181223A1 PCT/JP2022/013754 JP2022013754W WO2023181223A1 WO 2023181223 A1 WO2023181223 A1 WO 2023181223A1 JP 2022013754 W JP2022013754 W JP 2022013754W WO 2023181223 A1 WO2023181223 A1 WO 2023181223A1
Authority
WO
WIPO (PCT)
Prior art keywords
speech recognition
lattice
score
nlm
utterance
Prior art date
Application number
PCT/JP2022/013754
Other languages
English (en)
French (fr)
Inventor
厚徳 小川
太一 浅見
直弘 俵
マーク デルクロア
章子 荒木
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/013754 priority Critical patent/WO2023181223A1/ja
Publication of WO2023181223A1 publication Critical patent/WO2023181223A1/ja

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
    • 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/16Speech classification or search using artificial neural networks

Definitions

  • the present invention relates to a speech recognition method, a speech recognition device, and a speech recognition program.
  • Speech recognition is a technology that uses a computer to convert human voice (utterance) into a string of words (text).
  • a speech recognition system outputs one word string (one best hypothesis) that is the hypothesis with the highest speech recognition score (speech recognition result) for one input utterance.
  • the accuracy of speech recognition processing by a speech recognition device is not 100%.
  • a method called lattice rescoring is conventionally known as a method for improving the accuracy of speech recognition processing (see, for example, Non-Patent Document 1).
  • Lattice rescoring does not output only one best hypothesis for one input utterance, but outputs a lattice that efficiently expresses multiple speech recognition hypotheses.
  • a hypothesis that is estimated to be an oracle hypothesis (the most accurate hypothesis, the hypothesis with the fewest errors) is selected. Note that the oracle hypothesis may be the best hypothesis.
  • NLM Neurological Language Model
  • the conventional technology has a problem in that it may not be possible to perform speech recognition with high accuracy using lattice scoring.
  • Non-Patent Document 4 describes a method of having multiple NLMs calculate scores in lattice scoring.
  • the speech recognition method is a speech recognition method executed by a computer, and includes a generation step of generating a lattice based on the result of speech recognition of the utterance; In each process that is repeatedly executed a predetermined number of times, the score of the lattice is calculated based on the output of the NLM corresponding to each process and the coefficient based on the number of repetitions or the performance of the NLM when each process is executed.
  • the method is characterized by including a score calculation step of updating.
  • speech recognition using lattice scoring can be performed with high accuracy.
  • FIG. 1 is a diagram showing an example of the configuration of a speech recognition device according to an embodiment.
  • FIG. 2 is a diagram illustrating a lattice.
  • FIG. 3 is a diagram illustrating acoustic scores and language scores.
  • FIG. 4 is a diagram illustrating updating of language scores.
  • FIG. 5 is a diagram illustrating the updating of language scores by the i-th NLM.
  • FIG. 6 is a flowchart showing the process flow of the speech recognition device according to the embodiment.
  • FIG. 7 is a flowchart showing the flow of lattice rescoring processing.
  • FIG. 8 is a diagram showing the experimental results.
  • FIG. 9 is a diagram showing an example of a computer that executes a speech recognition program.
  • FIG. 1 is a diagram showing an example of the configuration of a speech recognition device according to a first embodiment.
  • the speech recognition device 10 receives input of speech data, performs speech recognition, and outputs a word string as a speech recognition result.
  • the speech recognition device 10 includes a communication section 11, a storage section 12, and a control section 13.
  • the communication unit 11 performs data communication with other devices via the network.
  • the communication unit 11 is a NIC (Network Interface Card).
  • the storage unit 12 is a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or an optical disc. Note that the storage unit 12 may be a data-rewritable semiconductor memory such as a RAM (Random Access Memory), a flash memory, or an NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 12 stores an OS (Operating System) and various programs executed by the speech recognition device 10.
  • the storage unit 12 stores model information 121 and lattice information 122.
  • the model information 121 is information such as parameters for constructing each of a plurality of NLMs.
  • the lattice information 122 is information regarding the lattice.
  • the lattice information 122 includes nodes, arcs, scores, and the like. Details of the lattice will be described later.
  • the control unit 13 controls the entire speech recognition device 10.
  • the control unit 13 includes, for example, electronic circuits such as a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field Programmable Gate). Array) etc. It is an integrated circuit.
  • control unit 13 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory.
  • control unit 13 functions as various processing units by running various programs.
  • control unit 13 includes a speech recognition unit 131 and a score calculation unit 132.
  • the speech recognition unit 131 performs speech recognition on the utterance. Furthermore, the speech recognition unit 131 generates a lattice based on the result of speech recognition of the utterance. The speech recognition unit 131 stores the generated lattice in the storage unit 12 as lattice information 122.
  • FIG. 2 is a diagram illustrating a lattice.
  • a lattice is composed of nodes and arcs.
  • the nodes represent word boundaries of recognition result words (words obtained by speech recognition).
  • the arc is the recognition result word itself.
  • the lattice shown in Figure 2 was generated based on the utterance, "I like voice recognition.”
  • the best hypothesis is ⁇ I prefer to take a bath in a hot spring and ski'' (dotted line in Figure 2).
  • the oracle hypothesis is ⁇ I also like speech recognition'' (dotted chain line in Figure 2).
  • the word string to be extracted includes the 1-best hypothesis and the oracle hypothesis. Note that the 1st best hypothesis may also be the oracle hypothesis.
  • FIG. 3 is a diagram explaining the acoustic score and language score. As shown in FIG. 3, each arc is given an acoustic score (log likelihood) and a language score (log probability) calculated by voice recognition processing.
  • the acoustic score is an estimated value that indicates how correct the recognition result word is acoustically. Further, the language score is an estimated value indicating how linguistically correct the recognition result word is.
  • the speech recognition unit 131 can calculate the language score using an n-gram language model (n is usually about 3 to 5) that expresses the n-linkage probability of words. Furthermore, the speech recognition unit 131 can calculate an acoustic score using a neural network for speech recognition that receives an audio signal as input.
  • n-gram language model n is usually about 3 to 5
  • acoustic score using a neural network for speech recognition that receives an audio signal as input.
  • model information 121 information for constructing an n-gram language model and a neural network for speech recognition is stored in the storage unit 12 as model information 121.
  • the score calculation unit 132 performs lattice scoring.
  • Lattice rescoring is performed as post-processing of speech recognition processing using a rescoring model.
  • FIG. 4 is a diagram illustrating updating of language scores.
  • the language score is updated using NLM.
  • NLM which can capture longer contexts than n-gram language models and can predict words with higher accuracy
  • High word prediction accuracy means that given a word history, the next word to be generated can be predicted with high accuracy.
  • Non-Patent Document 1 As a method of lattice rescoring based on the push-forward algorithm, NLM is used to search (hypothesis expansion) on the lattice from the start node to the end node, and the results are recorded in the arc. A method for updating language scores is described.
  • Non-Patent Document 1 among the hypotheses (word strings) that have reached the terminal node, the one with the highest score (weighted addition score of acoustic score and updated linguistic score) is used for final speech recognition. considered as a result.
  • w 1:t-1 be a hypothesis of length t-1.
  • the current score (log likelihood) of hypothesis w 1:t-1 is log p (w 1:t-1 ), and the acoustic score (log likelihood) log p acou (w t ) and the linguistic score (log probability It is assumed that an arc (recognition result word) w t with )log P lang (w t ) has been reached.
  • the score calculation unit 132 calculates the score of the hypothesis w 1:t of length t as shown in equation (1) by expanding the hypothesis w 1: t ⁇ 1 on the arc w t .
  • log presc (w t ⁇ w 1:t-1 is the language score of w t when w 1:t-1 is given, and is calculated by NLM for rescoring.
  • ⁇ ( 0 ⁇ 1) is an interpolation coefficient between the original language score and the language score calculated by the NLM for rescoring.
  • ⁇ ( ⁇ >0) is the weight of the language score with respect to the acoustic score.
  • the underlined term in equation (1) corresponds to the updated language score.
  • the score calculation unit 132 performs the search process described here (score calculation for each reached arc) on all arcs on the lattice, thereby obtaining a lattice with updated language scores.
  • the score calculation unit 132 repeats the search process (repeated lattice scoring). Then, each time the score calculation unit 132 repeats the search process, the language score (log probability) log P lang w t is gradually updated (higher accuracy).
  • the score calculation unit 132 sets a value that becomes smaller as the number of repetitions increases as a coefficient.
  • Method of setting ⁇ 2 If the nature of the voice data used by the voice recognition unit 131 for voice recognition is clear and text data having the same characteristics as the voice data is available, the score calculation unit 132 calculates the words for the text data of each NLM. ⁇ can be set using prediction accuracy.
  • perplexity can be used as a measure of word prediction accuracy. If the perplexity of the NLM for the text data used in the i-th repetition is PPL(i), the score calculation unit 132 sets ⁇ in the i-th repetition as shown in equation (3).
  • PPL(0) is the perplexity of the n-gram language model for the text data.
  • N-best list is a special shape of the lattice (repeated N-best rescoring).
  • the score calculation unit 132 sets a value that increases as the word prediction accuracy of the NLM corresponding to each process for text data having the same properties as the utterance to be recognized increases as the coefficient ⁇ .
  • FIG. 6 is a flowchart showing the processing flow of the speech recognition device according to the embodiment.
  • the speech recognition device 10 first receives an input of one utterance (step S11).
  • the utterance is, for example, audio data representing an audio signal in a predetermined format.
  • the speech recognition device 10 performs speech recognition of the input utterance (step S12). Then, the speech recognition device 10 generates a lattice based on the result of speech recognition (step S13).
  • the speech recognition device 10 executes lattice rescoring (step S14). Then, the speech recognition device 10 selects and outputs a hypothesis estimated to be an oracle hypothesis from among the lattices whose scores have been updated by lattice rescoring (step S15). For example, the speech recognition device 10 outputs a word string based on the selected hypothesis.
  • FIG. 7 is a flowchart showing the flow of lattice scoring processing. The process in FIG. 7 corresponds to the process in step S14 in FIG.
  • the speech recognition device 10 first sets i to 1 (step S141).
  • i is an index for identifying a model (eg, NLM) for calculating a score. Further, i can be said to be the current number of repetitions of lattice scoring.
  • model information 121 information for constructing multiple models for calculating scores is included in the model information 121.
  • the speech recognition device 10 sets the coefficient ⁇ (i) corresponding to the i-th NLM (step S142). For example, the speech recognition device 10 calculates the coefficient ⁇ (i) using the aforementioned ⁇ setting method 1 or ⁇ setting method 2.
  • the speech recognition device 10 updates the score of the arc on the lattice based on the output of the i-th NLM and the coefficient ⁇ (i) (step S143).
  • step S144 the speech recognition device 10 increments i by 1 (step S145), and returns to step S142 to repeat the process.
  • I is the total number of lattice scoring iterations and is also the number of NLMs used.
  • the score calculation unit 132 calculates the output of the NLM corresponding to each process and the number of repetitions (for example, i) at the time of execution of each process.
  • the score of the lattice is updated based on the coefficient ( ⁇ ) based on the performance of NLM.
  • the speech recognition unit 131 generates a lattice based on the result of speech recognition of an utterance.
  • the score calculation unit 132 calculates, based on the output of the NLM corresponding to each process and the coefficient based on the number of repetitions or the performance of the NLM when each process is executed. Update the lattice score.
  • the score calculation unit 132 sets a value that decreases as the number of repetitions increases as a coefficient. This allows each NLM to be evaluated equally.
  • the score calculation unit 132 sets a value that increases as the word prediction accuracy of the NLM corresponding to each process for text data having the same characteristics as the utterance to be recognized increases as the coefficient ⁇ . Thereby, the word prediction accuracy of each NLM can be reflected in the score of the lattice.
  • the utterance to be recognized is an utterance for which speech recognition is performed in the speech recognition unit 131, and the recognition result (word string) of the utterance is unknown.
  • the properties of the utterance to be recognized are known, it is possible to calculate perplexity in advance for text data with the same properties.
  • the score calculation unit 132 calculates the NLM perplexity for text data about the weather forecast, and sets the coefficient ⁇ based on the calculated perplexity. I can do it.
  • FIG. 8 shows the results of repeated lattice rescoring based on equations (1) and (2) using eight NLMs by the method shown in the embodiment.
  • FIG. 8 is a diagram showing the experimental results.
  • each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings.
  • the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices may be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.
  • each processing function performed by each device is realized in whole or in part by a CPU (Central Processing Unit) and a program that is analyzed and executed by the CPU, or by hardware using wired logic. It can be realized as Note that the program may be executed not only by the CPU but also by another processor such as a GPU.
  • a CPU Central Processing Unit
  • the speech recognition device 10 can be implemented by installing a speech recognition program that executes the above-mentioned speech recognition processing into a desired computer as packaged software or online software. For example, by causing the information processing device to execute the above speech recognition program, the information processing device can be made to function as the speech recognition device 10.
  • the information processing device referred to here includes a desktop or notebook personal computer.
  • information processing devices include mobile communication terminals such as smartphones, mobile phones, and PHSs (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).
  • the speech recognition device 10 can also be implemented as a speech recognition server device that uses a terminal device used by a user as a client and provides the client with services related to the above-mentioned speech recognition processing.
  • a speech recognition server device is implemented as a server device that provides a speech recognition service that takes utterances (speech data) as input and outputs word strings.
  • the speech recognition server device may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above-mentioned speech recognition processing through outsourcing.
  • FIG. 9 is a diagram showing an example of a computer that executes a speech recognition program.
  • Computer 1000 includes, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These parts are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
  • the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
  • Hard disk drive interface 1030 is connected to hard disk drive 1090.
  • Disk drive interface 1040 is connected to disk drive 1100.
  • Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120.
  • Video adapter 1060 is connected to display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the speech recognition device 10 is implemented as a program module 1093 in which computer-executable code is written.
  • Program module 1093 is stored in hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration of the speech recognition device 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes the processing of the embodiment described above.
  • program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like.
  • the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). The program module 1093 and program data 1094 may then be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)

Abstract

実施形態の音声認識装置(10)は、音声認識部(131)及びスコア計算部(132)を有する。音声認識部(131)は、発話の音声認識を行った結果を基にラティスを生成する。スコア計算部(132)は、所定の回数だけ繰り返し実行される処理のそれぞれにおいて、各処理に対応するNLMの出力と、各処理の実行時における繰り返し回数又はNLMの性能に基づく係数と、を基に、ラティスのスコアを更新する(繰り返しラティスリスコアリング)。

Description

音声認識方法、音声認識装置及び音声認識プログラム
 本発明は、音声認識方法、音声認識装置及び音声認識プログラムに関する。
 音声認識は人間が発した音声(発話)を計算機により単語列(テキスト)に変換する技術である。
 通常、音声認識システムは、入力された1つの発話に対して、音声認識スコアの最も高い仮説(音声認識結果)である1つの単語列(1ベスト仮説)を出力する。
 一方で、音声認識装置による音声認識処理の精度は100%ではない。これに対し、従来、音声認識処理の精度を向上させるための手法として、ラティスリスコアリングと呼ばれる手法が知られている(例えば、非特許文献1を参照)。
 ラティスリスコアリングでは、1つの入力発話に対して、1ベスト仮説のみを出力するのではなく、複数の音声認識仮説を効率的に表現したラティスが出力され、後処理として、何らかのモデルを用いて、ラティス中から、オラクル仮説(最も精度の高い仮説、最も誤りが少ない仮説)と推定される仮説が選択される。なお、オラクル仮説が1ベスト仮説ということもあり得る。
 また、ラティスリスコアリングにニューラルネットワーク(Neural Network)に基づく言語モデル(Neural Language Model:NLM)を用いる手法が知られている(例えば、非特許文献2及び3を参照)。
M. Auli, M. Galley, C. Quirk, and G. Zweig, "Joint language and translation modeling with recurrent neural networks," in Proc. EMNLP, 2013, pp. 1044-1054. S. Kumar, M. Nirschl, D. Holtmann-Rice, H. Liao, A. T. Suresh, and F. Yu, "Lattice rescoring strategies for long short term memory language models in speech recognition," in Proc. ASRU, 2017, pp. 165-172. K. Irie, A. Zeyer, R. Schl¨uter, and H. Ney, "Language modeling with deep Transformers," in Proc. Interspeech, 2019, pp. 3905-3909. W. Xiong, L. Wu, F. Alleva, J. Droppo, X. Huang, and A. Stolke, "The Microsoft 2017 conversational speech recognition system," in Proc. ICASSP, 2018, pp. 5934-5938.
 しかしながら、従来の技術には、ラティスリスコアリングによる音声認識を高精度に行うことができない場合があるという問題がある。
 例えば、非特許文献4では、複数のNLMにラティスリスコアリングにおけるスコアを計算させる手法が記載されている。
 一方で、複数のNLMによって計算されたスコアのそれぞれにどのように重みを付けるかについては、十分に検討されていない。
 上述した課題を解決し、目的を達成するために、音声認識方法は、コンピュータによって実行される音声認識方法であって、発話の音声認識を行った結果を基にラティスを生成する生成工程と、所定の回数だけ繰り返し実行される処理のそれぞれにおいて、各処理に対応するNLMの出力と、各処理の実行時における繰り返し回数又は前記NLMの性能に基づく係数と、を基に、前記ラティスのスコアを更新するスコア計算工程と、を含むことを特徴とする。
 本発明によれば、ラティスリスコアリングによる音声認識を高精度に行うことができる。
図1は、実施形態の音声認識装置の構成例を示す図である。 図2は、ラティスを説明する図である。 図3は、音響スコア及び言語スコアを説明する図である。 図4は、言語スコアの更新について説明する図である。 図5は、第iのNLMによる言語スコアの更新について説明する図である。 図6は、実施形態の音声認識装置の処理の流れを示すフローチャートである。 図7は、ラティスリスコアリング処理の流れを示すフローチャートである。 図8は、実験結果を示す図である。 図9は、音声認識プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願に係る音声認識方法、音声認識装置及び音声認識プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
 まず、図1を用いて、第1の実施形態に係る音声認識装置の構成について説明する。図1は、第1の実施形態に係る音声認識装置の構成の一例を示す図である。音声認識装置10は、音声データの入力を受け付け、音声認識を行い、音声認識結果として単語列を出力する。
 図1に示すように、音声認識装置10は、通信部11、記憶部12及び制御部13を有する。
 通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。
 記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、音声認識装置10で実行されるOS(Operating System)や各種プログラムを記憶する。
 記憶部12は、モデル情報121及びラティス情報122を記憶する。
 モデル情報121は、複数のNLMのそれぞれを構築するためのパラメータ等の情報である。
 ラティス情報122は、ラティスに関する情報である。ラティス情報122には、ノード、アーク及びスコア等が含まれる。ラティスの詳細については後述する。
 制御部13は、音声認識装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
 また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
 また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、音声認識部131及びスコア計算部132を有する。
 音声認識部131は、発話に対し音声認識を行う。また、音声認識部131は、発話の音声認識を行った結果を基にラティスを生成する。音声認識部131は、生成したラティスをラティス情報122として記憶部12に格納する。
 ここで、図2を用いてラティスについて説明する。図2は、ラティスを説明する図である。
 図2に示すように、ラティスはノードとアークで構成される。ノードは認識結果単語(音声認識によって得られた単語)の単語境界を表す。アークは認識結果単語そのものである。
 図2示すラティスは、「私 は 音声 認識 が 好き です」という発話を基に生成されたものである。
 このとき、1ベスト仮説は「私 は 温泉 入浴 が スキー です」(図2の点線)である。また、オラクル仮説は、「私 も 音声 認識 が 好き です」(図2の一点鎖線)である。
 このように、ラティスからは、複数の単語列が抽出される。また、抽出される単語列には、1ベスト仮説及びオラクル仮説が含まれる。なお、1ベスト仮説がオラクル仮説となることもある。
 図3は、音響スコア及び言語スコアを説明する図である。図3に示すように、アークには音声認識処理によって計算された音響スコア(対数尤度)と言語スコア(対数確率)がそれぞれ付与されている。
 音響スコアは、認識結果単語が、音響的にどの程度正しいかを表す推定値である。また、言語スコアは、認識結果単語が、言語的にどの程度正しいかを表す推定値である。
 音声認識部131は、単語のn連鎖確率を表現するnグラム言語モデル(nは通常は3~5程度)を用いて言語スコアを計算することができる。また、音声認識部131は、音声信号を入力とする音声認識用のニューラルネットワークにより音響スコアを計算することができる。
 なお、nグラム言語モデル及び音声認識用のニューラルネットワークを構築するための情報は、モデル情報121として記憶部12に格納されているものとする。
 スコア計算部132は、ラティスリスコアリングを行う。ラティスリスコアリングは、音声認識処理の後処理として、リスコアリング用モデルを用いて行われる。
 ラティスリスコアリングによれば、図4に示すように、アーク(認識結果単語)に対し、nグラム言語モデルで付与される言語スコアよりも、より高精度な言語スコアを付与することができる。図4は、言語スコアの更新について説明する図である。図4の例では、NLMを用いて言語スコアが更新される。
 近年では、nグラム言語モデルよりも長い文脈を捉えることができ、より高精度に単語予測を行うことができるNLMがリスコアリング用モデルとして利用されている。単語予測精度が高いことは、単語の履歴が与えられたときに次に生成される単語を高い精度で予測することができることである。
 NLMを利用したラティスリスコアリングについては、例えば非特許文献2、3、4に記載されている。
 また、非特許文献1には、Push-forwardアルゴリズムに基づくラティスリスコアリングの手法として、NLMを用いてラティス上を始端ノードから終端ノードに向かって探索(仮説展開)を行い、アークに記録されている言語スコアを更新する手法が記載されている。
 非特許文献1に記載の手法では、終端ノードに到達した仮説(単語列)のうち、最高のスコア(音響スコアと更新された言語スコアの重み付け加算スコア)を持つものが、最終的な音声認識結果とされる。
 ここで、図5に示すような、ラティス上のあるアークにおける探索処理に着目して、スコア計算部132による繰り返しラティスリスコアリングについて説明する。
 w1:t-1を長さt-1の仮説とする。仮説w1:t-1の現在のスコア(対数尤度)はlog p(w1:t-1)であり、音響スコア(対数尤度)log pacou(w)と言語スコア(対数確率)log Plang(w)を持つアーク(認識結果単語)wに到達したものとする。
 スコア計算部132は、仮説w1:t-1をアークw上に展開することで、長さtの仮説w1:tのスコアを式(1)のように計算する。
Figure JPOXMLDOC01-appb-M000001
 ここで、log presc(w│w1:t-1はw1:t-1が与えられたときのwの言語スコアであり、リスコアリング用のNLMで計算される。β(0<β<1)は元の言語スコアとリスコアリング用NLMで計算された言語スコアの補間係数である。α(α>0)は音響スコアに対する言語スコアの重みである。
 式(1)の下線の項が更新された言語スコアに相当する。スコア計算部132が、ここで説明した探索処理(到達したアークごとのスコア計算)をラティス上の全アークに対して行うことで、言語スコアが更新されたラティスが得られる。
 複数のNLMを用いる場合、スコア計算部132は、探索処理を繰り返す(繰り返しラティスリスコアリング)。そして、スコア計算部132が探索処理を繰り返すたびに、言語スコア(対数確率)log Plangが徐々に更新(高精度化)されていく。
 この際、βをどのように設定するかは自明ではない。使用するNLMが高々数個であればヒューリスティックに(手作業で)βを設定することも可能であるが、より多くのNLMを使用する場合には、繰り返し回数(図5のi)ごとに、どのようにβを設定するかを設計する必要がある。以下、スコア計算部132による補間係数βの設定方法を説明する。
(βの設定方法1)
 繰り返しラティスリスコアリングの繰り返し(言語スコア更新)回数をIとする。すなわち繰り返しラティスリスコアリングで用いるNLMの個数はIである。これらI個のNLMの単語予測精度が同程度であると仮定できるときには、I回の繰り返しが終了した際に、I個のNLMが出力する言語スコアが等しく評価(重み付け)されていればよい。このために、スコア計算部132は、i回目の繰り返しにおけるβを式(2)のように設定する。
Figure JPOXMLDOC01-appb-M000002
 このように、スコア計算部132は、繰り返し回数が多いほど小さくなる値を係数として設定する。
(βの設定方法2)
 音声認識部131が音声認識に用いた音声データの性質が明らかであり、当該音声データと同じ性質を持つテキストデータが入手できる場合には、スコア計算部132は、各NLMの当該テキストデータに対する単語予測精度を用いてβを設定することができる。
 この際、単語予測精度の尺度としてはパープレキシティ(perplexity)を用いることができる。i回目の繰り返しで用いるNLMの前記テキストデータに対するパープレキシティをPPL(i)とすると、スコア計算部132は、i回目の繰り返しにおけるβを式(3)のように設定する。
Figure JPOXMLDOC01-appb-M000003
 ここで、PPL(0)は、nグラム言語モデルの当該テキストデータに対するパープレキシティである。なお、上記の繰り返しラティスリスコアリングは、ラティスの特殊形状であるNベストリストにも適用できる(繰り返しNベストリスコアリング)。
 このように、スコア計算部132は、各処理に対応するNLMの、認識対象の発話と同じ性質を持つテキストデータに対する単語予測精度が高いほど大きくなる値を係数βとして設定する。
 なお、パープレキシティはNLMの性能を表す指標の一例である。また、PPL(i)は、NLMの単語推定精度が高いほど小さくなる。
 図6は、実施形態の音声認識装置の処理の流れを示すフローチャートである。図6に示すように、まず、音声認識装置10は、1発話の入力を受け付ける(ステップS11)。発話は、例えば音声信号を所定の形式で表した音声データである。
 次に、音声認識装置10は、入力された発話の音声認識を行う(ステップS12)。そして、音声認識装置10は、音声認識の結果を基にラティスを生成する(ステップS13)。
 ここで、音声認識装置10は、ラティスリスコアリングを実行する(ステップS14)。そして、音声認識装置10は、ラティスリスコアリングによりスコアが更新されたラティスの中から、オラクル仮説と推定される仮説を選択し、出力する(ステップS15)。例えば、音声認識装置10は、選択した仮説に基づく単語列を出力する。
 図7は、ラティスリスコアリング処理の流れを示すフローチャートである。図7の処理は、図6のステップS14の処理に相当する。
 図7に示すように、まず、音声認識装置10は、iに1を設定する(ステップS141)。iは、スコアを計算するためのモデル(例えばNLM)を識別するためのインデックスである。また、iは、ラティスリスコアリングの現在の繰り返し回数ということができる。
 また、スコアを計算するための複数のモデルを構築するための情報は、モデル情報121に含まれる。
 ここで、音声認識装置10は、第iのNLMに対応する係数β(i)を設定する(ステップS142)。例えば、音声認識装置10は、前述のβの設定方法1又はβの設定方法2により係数β(i)を計算する。
 そして、音声認識装置10は、第iのNLMの出力と係数β(i)を基に、ラティス上のアークのスコアを更新する(ステップS143)。
 ここで、iがIでない場合(ステップS144、No)、音声認識装置10は、iを1だけ増加させて(ステップS145)、ステップS142に戻り処理を繰り返す。
 一方、iがIである場合(ステップS144、Yes)、音声認識装置10は処理を終了する。Iは、ラティスリスコアリングの繰り返しの総数であり、また、使用されるNLMの数である。
 このように、スコア計算部132は、所定の回数(例えばI回)だけ繰り返し実行される処理のそれぞれにおいて、各処理に対応するNLMの出力と、各処理の実行時における繰り返し回数(例えばi)又はNLMの性能に基づく係数(β)と、を基に、ラティスのスコアを更新する。
[第1の実施形態の効果]
 これまで説明してきたように、音声認識部131は、発話の音声認識を行った結果を基にラティスを生成する。スコア計算部132は、所定の回数だけ繰り返し実行される処理のそれぞれにおいて、各処理に対応するNLMの出力と、各処理の実行時における繰り返し回数又はNLMの性能に基づく係数と、を基に、ラティスのスコアを更新する。
 これにより、繰り返し回数又はNLMの性能に基づく係数による重み付けを行い、ラティスリスコアリングによる音声認識を高精度に行うことが可能になる。
 また、スコア計算部132は、繰り返し回数が多いほど小さくなる値を係数として設定する。これにより、各NLMが等しく評価することができる。
 また、スコア計算部132は、各処理に対応するNLMの、認識対象の発話と同じ性質を持つテキストデータに対する単語予測精度が高いほど大きくなる値を係数βとして設定する。これにより、各NLMの単語予測精度をラティスのスコアに反映させることができる。
 ここで、認識対象の発話は、音声認識部131において音声認識が行われる発話であり、当該発話の認識結果(単語列)は未知である。一方で、認識対象の発話の性質が分かっている場合、同じ性質を持つテキストデータについてパープレキシティを事前に計算することは可能である。
 例えば、認識対象の発話が天気予報に関するものである場合、スコア計算部132は、天気予報に関するテキストデータに対するNLMのパープレキシティを計算し、計算したパープレキシティを基に係数βを設定することができる。
 図8に、8個のNLMを用いて、実施形態に示す方法により、式(1)及び式(2)に基づき繰り返しラティスリスコアリングを行った結果を示す。図8は、実験結果を示す図である。
 図8から、単語誤り率(低いほど高精度)が、スコアリングを繰り返すたびに徐々に削減できることが分かる。最終的には音声認識処理の1ベスト仮説の単語誤り率が9.0%から7.0%にまで低減されている。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、音声認識装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の音声認識処理を実行する音声認識プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の音声認識プログラムを情報処理装置に実行させることにより、情報処理装置を音声認識装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、音声認識装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の音声認識処理に関するサービスを提供する音声認識サーバ装置として実装することもできる。例えば、音声認識サーバ装置は、発話(音声データ)を入力とし、単語列を出力とする音声認識サービスを提供するサーバ装置として実装される。この場合、音声認識サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の音声認識処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図9は、音声認識プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、音声認識装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、音声認識装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 音声認識装置
 11 通信部
 12 記憶部
 13 制御部
 121 モデル情報
 122 ラティス情報
 131 音声認識部
 132 スコア計算部

Claims (5)

  1.  コンピュータによって実行される音声認識方法であって、
     発話の音声認識を行った結果を基にラティスを生成する生成工程と、
     所定の回数だけ繰り返し実行される処理のそれぞれにおいて、各処理に対応するNLMの出力と、各処理の実行時における繰り返し回数又は前記NLMの性能に基づく係数と、を基に、前記ラティスのスコアを更新するスコア計算工程と、
     を含むことを特徴とする音声認識方法。
  2.  前記スコア計算工程は、前記繰り返し回数が多いほど小さくなる値を前記係数として設定することを特徴とする請求項1に記載の音声認識方法。
  3.  前記スコア計算工程は、各処理に対応するNLMの、前記発話と同じ性質を持つテキストデータに対する単語予測精度が高いほど大きくなる値を前記係数として設定することを特徴とする請求項1に記載の音声認識方法。
  4.  発話の音声認識を行った結果を基にラティスを生成する音声認識部と、
     所定の回数だけ繰り返し実行される処理のそれぞれにおいて、各処理に対応するNLMの出力と、各処理の実行時における繰り返し回数又は前記NLMの性能に基づく係数と、を基に、前記ラティスのスコアを更新するスコア計算部と、
     を有することを特徴とする音声認識装置。
  5.  コンピュータを、請求項4に記載の音声認識装置として機能させるための音声認識プログラム。
PCT/JP2022/013754 2022-03-23 2022-03-23 音声認識方法、音声認識装置及び音声認識プログラム WO2023181223A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/013754 WO2023181223A1 (ja) 2022-03-23 2022-03-23 音声認識方法、音声認識装置及び音声認識プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/013754 WO2023181223A1 (ja) 2022-03-23 2022-03-23 音声認識方法、音声認識装置及び音声認識プログラム

Publications (1)

Publication Number Publication Date
WO2023181223A1 true WO2023181223A1 (ja) 2023-09-28

Family

ID=88100591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/013754 WO2023181223A1 (ja) 2022-03-23 2022-03-23 音声認識方法、音声認識装置及び音声認識プログラム

Country Status (1)

Country Link
WO (1) WO2023181223A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120150539A1 (en) * 2010-12-14 2012-06-14 Electronics And Telecommunications Research Institute Method for estimating language model weight and system for the same
US10176802B1 (en) * 2016-03-21 2019-01-08 Amazon Technologies, Inc. Lattice encoding using recurrent neural networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120150539A1 (en) * 2010-12-14 2012-06-14 Electronics And Telecommunications Research Institute Method for estimating language model weight and system for the same
US10176802B1 (en) * 2016-03-21 2019-01-08 Amazon Technologies, Inc. Lattice encoding using recurrent neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OGAWA, ATSUNORI ET AL.: "Lattice Rescoring Based on Large Ensemble of Complementary Neural Language Models", 2022 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING, 27 May 2022 (2022-05-27), pages 6517 - 6521, XP034157016, DOI: 10.1109/ICASSP43922.2022.9747745 *

Similar Documents

Publication Publication Date Title
JP6686154B2 (ja) 発話認識方法及び装置
JP6222821B2 (ja) 誤り修正モデル学習装置、及びプログラム
JP5413622B2 (ja) 言語モデル作成装置、言語モデル作成方法、およびプログラム
JP4956334B2 (ja) オートマトンの決定化方法、有限状態トランスデューサの決定化方法、オートマトン決定化装置及び決定化プログラム
WO2019151507A1 (ja) 学習装置、学習方法及び学習プログラム
JP2020042257A (ja) 音声認識方法及び装置
JP6646337B2 (ja) 音声データ処理装置、音声データ処理方法および音声データ処理プログラム
JP7212596B2 (ja) 学習装置、学習方法および学習プログラム
WO2023181223A1 (ja) 音声認識方法、音声認識装置及び音声認識プログラム
JP6158105B2 (ja) 言語モデル作成装置、音声認識装置、その方法及びプログラム
JP2016206442A (ja) 閾値推定装置、音声合成装置、その方法及びプログラム
JP6235922B2 (ja) 重み付き有限状態オートマトン作成装置、記号列変換装置、音声認識装置、それらの方法、及びプログラム
JP6612796B2 (ja) 音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法、音響モデル学習プログラム及び音声認識プログラム
JP2021039216A (ja) 音声認識装置、音声認識方法及び音声認識プログラム
JP6928346B2 (ja) 予測装置、予測方法および予測プログラム
JP6772115B2 (ja) 音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法、及びプログラム
JP6078435B2 (ja) 記号列変換方法、音声認識方法、それらの装置及びプログラム
JP2003271188A (ja) 言語処理装置および方法
JP6277659B2 (ja) 音声認識装置および音声認識方法
JP6000153B2 (ja) フィラー遷移モデル学習装置と言語モデル学習装置とそれらの方法とプログラム
JP5860439B2 (ja) 言語モデル作成装置とその方法、そのプログラムと記録媒体
JP5679345B2 (ja) 音声認識精度推定装置、音声認識精度推定方法、プログラム
JP5679346B2 (ja) 識別的音声認識精度推定装置、識別的音声認識精度推定方法、プログラム
JP5755603B2 (ja) 言語モデル作成装置、言語モデル作成方法、プログラム
JP7021437B2 (ja) 学習データ生成装置、学習データ生成方法、及びプログラム

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: 22933365

Country of ref document: EP

Kind code of ref document: A1