WO2021166129A1 - 音声認識装置、制御方法、及びプログラム - Google Patents
音声認識装置、制御方法、及びプログラム Download PDFInfo
- Publication number
- WO2021166129A1 WO2021166129A1 PCT/JP2020/006578 JP2020006578W WO2021166129A1 WO 2021166129 A1 WO2021166129 A1 WO 2021166129A1 JP 2020006578 W JP2020006578 W JP 2020006578W WO 2021166129 A1 WO2021166129 A1 WO 2021166129A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- character string
- string data
- data
- model
- compressed
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 40
- 239000013598 vector Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0016—Codebook for LPC parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Definitions
- the present invention relates to voice recognition.
- Patent Document 1 discloses a technique for performing speech recognition using an acoustic model based on an end-to-end type neural network.
- the present inventor has found a new technique for performing voice recognition.
- One of the objects of the present invention is to provide a new speech recognition technique.
- the voice recognition device of the present invention 1) converts the voice frame into the compressed character string data.
- the compressed character string data corresponding to the acquired voice frame is generated.
- the compressed character string data generated by the first conversion unit is generated by inputting the compressed character string data generated by the first conversion unit to the first conversion unit and the second model that converts the compressed character string data into the character string data, it corresponds to the acquired audio frame. It has a second conversion unit that generates character string data.
- the data size of the compressed character string data is smaller than the data size of the character string data.
- the first model is a model learned by teacher data in which a voice frame is used as input data and compressed character string data obtained by encoding the character string data represented by the voice frame is used as correct answer data.
- the second model is to learn an auto-encoder consisting of an encoder that converts input character string data into compressed character string data and a decoder that converts compressed character string data output from the encoder into character string data. A learned decoder obtained by.
- the control method of the present invention is executed by a computer.
- the control method is as follows: 1) First conversion that generates compressed character string data corresponding to the acquired voice frame by inputting the acquired voice frame to the first model that converts the voice frame into compressed character string data. Step and 2) Converting compressed character string data to character string data By inputting the compressed character string data generated by the first conversion unit to the second model, the character string data corresponding to the acquired audio frame Has a second conversion step, which produces.
- the data size of the compressed character string data is smaller than the data size of the character string data.
- the first model is a model learned by teacher data in which a voice frame is used as input data and compressed character string data obtained by encoding the character string data represented by the voice frame is used as correct answer data.
- the second model is to learn an auto-encoder consisting of an encoder that converts input character string data into compressed character string data and a decoder that converts compressed character string data output from the encoder into character string data. A learned decoder obtained by.
- the program of the present invention causes a computer to execute the control method of the present invention.
- a new speech recognition technique is provided.
- FIG. It is a figure which conceptually illustrates the operation of the voice recognition apparatus which concerns on Embodiment 1.
- FIG. It is a figure which conceptually illustrates the learning method of the 1st model and the 2nd model.
- each block diagram represents a configuration of a functional unit, not a configuration of a hardware unit.
- various predetermined values are stored in advance in a storage device accessible from the functional component that uses the values.
- FIG. 1 is a diagram conceptually exemplifying the operation of the voice recognition device 2000 according to the first embodiment.
- the operation of the voice recognition device 2000 described with reference to FIG. 1 is an example for facilitating the understanding of the voice recognition device 2000, and does not limit the operation of the voice recognition device 2000. Details and variations of the operation of the voice recognition device 2000 will be described later.
- the voice recognition device 2000 is used to convert voice into a character string. More specifically, the voice recognition device 2000 converts the voice frame into character string data.
- the voice frame is, for example, voice data obtained by extracting a voice signal of a part of time from voice data (hereinafter, source data) in which a person's speech is recorded.
- the audio data is, for example, vector data representing a waveform of an audio signal.
- the source data is, for example, recorded data of conversation or speech, voice data of a search word input for voice search, or the like.
- the audio feature amount may be extracted from the audio data obtained by extracting the audio signal of a part of the time section from the source data, and the data representing the audio feature amount may be treated as an audio frame.
- voice feature amount various feature amounts such as a cepstrum feature amount can be used.
- Character string data is data representing a string of one or more characters.
- character string data is a string of character vectors.
- a character vector is a one-hot vector having the same length as the number of character types that can be expressed.
- N is a natural number
- the character string data is a string of one-hot vectors of length N.
- different characters are assigned in advance to each bit of the character vector. Then, in each character vector constituting the character string data, 1 is set only for the bit corresponding to the character represented by the character vector, and 0 is set for the other bits.
- the character string data may be data in a format capable of expressing the character string to be expressed, and does not necessarily have to be realized by using a one-hot vector. Moreover, you may use a word vector instead of a character vector. That is, each vector constituting the character string data may represent one word instead of one character.
- the voice recognition device 2000 converts a voice frame into character string data
- the voice recognition device 2000 first converts the voice frame into compressed character string data. Then, the voice recognition device 2000 generates the character string data corresponding to the voice frame by converting the compressed character string data obtained from the voice frame into the character string data.
- the compressed character string data has a data size smaller than that of the character string data and can represent a character string represented by the character string data.
- the character vector constituting the character string data is a one-hot vector (N-bit vector) having a length of N
- the character vector constituting the compressed character string data is a vector having a size smaller than N bits.
- N-bit vector one-hot vector
- the character vector constituting the compressed character string data represent a character string including a kanji
- the types of kanji that can be handled by the compressed character string data are less than the types of kanji that can be handled by the character string data. Be done.
- the number of dimensions of the character vector constituting the compressed character string data is smaller than the number of dimensions of the character vector constituting the character string data.
- the conversion from the audio frame to the compressed character string data is performed using the first model 10. Further, the conversion from the compressed character string data to the character string data is performed using the second model 20.
- FIG. 2 is a diagram conceptually exemplifying the learning methods of the first model 10 and the second model 20.
- the first model 10 is a trained model trained to convert an input voice frame into compressed character string data.
- the training of the first model 10 uses teacher data including a pair of "voice frame, compressed character string data of correct answer (compressed character string data obtained by encoding the character string represented by the voice frame)". Will be done. Specifically, learning is performed so as to reduce the error between the compressed character string data output by the first model 10 in response to the input of the voice frame and the compressed character string data of the correct answer associated with the voice frame. Is done.
- the second model 20 is a trained model that has been trained to convert the input compressed character string data into character string data.
- the learning of the second model 20 can be realized by learning the autoencoder 40 shown in FIG.
- the autoencoder 40 has an encoder 42 and a decoder 44.
- the encoder 42 converts the character string data into compressed character string data by encoding the character string data input to the autoencoder 40.
- the decoder 44 converts the compressed character string data into character string data by decoding the compressed character string data output by the encoder 42. Then, the character string data obtained by the decoder 44 is output from the autoencoder 40.
- the autoencoder 40 is learned so that the error between the input character string data and the output character string data becomes small.
- the decoder 44 can restore the compressed character string data to the original character string data. This means that string data can now be represented by smaller size compressed string data.
- an encoder capable of converting character string data into compressed character string data and a decoder capable of converting compressed character string data into character string data can be obtained. As the second model 20, the trained decoder 44 thus obtained is used.
- the first model 10 learned to convert a voice frame into compressed character string data
- the second model 20 learned to convert compressed character string data into character string data.
- the character string data is converted into the voice frame by using.
- At least the second model 20 is realized by a neural network. As described above, according to the present invention, a new technique for performing speech recognition using a neural network is provided.
- FIG. 3 is a block diagram illustrating the functional configuration of the voice recognition device 2000.
- the voice recognition device 2000 has a first conversion unit 2020 and a second conversion unit 2040.
- the first conversion unit 2020 has a first model 10.
- the first conversion unit 2020 acquires a voice frame and inputs the voice frame to the first model 10 to convert the voice frame into compressed character string data.
- the second conversion unit 2040 has a second model 20.
- the second conversion unit 2040 inputs the compressed character string data (compressed character string data corresponding to the audio frame acquired by the first conversion unit 2020) obtained by using the first conversion unit 2020 into the second model 20. By doing so, the compressed character string data is converted into character string data. As a result, the character string data corresponding to the acquired voice frame can be obtained.
- Each function component of the voice recognition device 2000 may be realized by hardware (eg, a hard-wired electronic circuit) that realizes each function component, or a combination of hardware and software (example:). It may be realized by a combination of an electronic circuit and a program that controls it).
- hardware eg, a hard-wired electronic circuit
- software e.g., a program that controls it.
- FIG. 4 is a diagram illustrating a computer 1000 for realizing the voice recognition device 2000.
- the computer 1000 is an arbitrary computer.
- the computer 1000 is a stationary computer such as a PC (Personal Computer) or a server machine.
- the computer 1000 is a portable computer such as a smartphone or a tablet terminal.
- the computer 1000 may be a dedicated computer designed to realize the voice recognition device 2000, or may be a general-purpose computer. In the latter case, for example, by installing a predetermined application on the computer 1000, each function of the voice recognition device 2000 is realized on the computer 1000.
- the above application is composed of a program for realizing a functional component of the voice recognition device 2000.
- the computer 1000 has a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.
- the bus 1020 is a data transmission line for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to transmit and receive data to and from each other.
- the method of connecting the processors 1040 and the like to each other is not limited to the bus connection.
- the processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field-Programmable Gate Array).
- the memory 1060 is a main storage device realized by using RAM (Random Access Memory) or the like.
- the storage device 1080 is an auxiliary storage device realized by using a hard disk, an SSD (Solid State Drive), a memory card, a ROM (Read Only Memory), or the like.
- the input / output interface 1100 is an interface for connecting the computer 1000 and the input / output device.
- an input device such as a keyboard and an output device such as a display device are connected to the input / output interface 1100.
- the network interface 1120 is an interface for connecting the computer 1000 to the communication network.
- This communication network is, for example, LAN (Local Area Network) or WAN (Wide Area Network).
- the storage device 1080 stores a program (a program that realizes the above-mentioned application) that realizes each functional component of the voice recognition device 2000.
- the processor 1040 reads this program into the memory 1060 and executes it to realize each functional component of the voice recognition device 2000.
- the voice recognition device 2000 may be realized by one computer 1000 or may be realized by a plurality of computers 1000. In the latter case, for example, the speech recognition device 2000 is realized as a distributed system having one or more computers 1000 that realize the first conversion unit 2020 and one or more computers 1000 that realize the second conversion unit 2040. ..
- FIG. 5 is a flowchart illustrating a flow of processing executed by the voice recognition device 2000 of the first embodiment.
- the first conversion unit 2020 acquires an audio frame (S102).
- the first conversion unit 2020 converts the voice frame into compressed character string data by inputting the voice frame into the first model 10 (S104).
- the second conversion unit 2040 converts the compressed character string data into character string data by inputting the compressed character string data obtained in S104 into the second model 20 (S106).
- the autoencoder 40 is composed of an encoder 42 and a decoder 44.
- the autoencoder 40 is realized by, for example, a neural network.
- the encoder 42 is a model that converts (encodes) the input character string data into compressed character string data.
- the decoder 44 is a model that converts (decodes) the compressed character string data output from the encoder 42 into character string data.
- the autoencoder 40 is configured so that the data size of the compressed character string data is smaller than the data size of the character string data. Therefore, the encoder 42 is configured so that the size of the output data is smaller than the size of the input data. Such a configuration can be realized, for example, by reducing the number of nodes in the output layer to be smaller than the number of nodes in the input layer in the encoder 42. Further, the decoder 44 is configured so that the size of the input data is equal to the size of the data output from the encoder 42 (that is, the size of the compressed character string data), and the size of the output data is large. It is configured to be equal to the size of the data input to the encoder 42 (ie, the size of the string data).
- the number of nodes in the input layer of the decoder 44 is equal to the number of nodes in the output layer of the encoder 42 (or the output layer of the encoder 42 is used as the input layer of the decoder 44), and the decoder This can be achieved by making the number of nodes in the output layer of 44 equal to the number of nodes in the input layer of the encoder 42.
- Learning of the autoencoder 40 can be performed using any plurality of types of character strings.
- An existing technique can be used as a specific technique for learning the autoencoder 40.
- the number of types of character strings that can be represented by the compressed character string data in one auto encoder 40 is smaller than the number of character string types that can be represented by the character string data. For example, suppose that character string data can represent 3,000 types of character strings, while compressed character string data can represent only 1,000 types of character strings. In this case, the number of character string types that can be handled by one autoencoder 40 is 1,000.
- the voice recognition device 2000 it is preferable to use a character string with a high probability contained in the source data to be analyzed by the voice recognition device 2000.
- the voice recognition device 2000 is used in a company in the computer field such as a software development company to convert a recorded file of a conference into a document file.
- the voice frame input to the voice recognition device 2000 contains many technical terms in the computer field. Therefore, in this case, it is preferable to use many character strings representing technical terms in the computer field for learning the autoencoder 40.
- the first model 10 is a trained model trained to convert an input voice frame into compressed character string data. Any model type, such as a neural network or a support vector machine, can be used.
- the learning of the first model 10 is performed using a plurality of teacher data including a pair of "voice frame, compressed character string data of correct answer".
- An existing technique can be used as a technique for learning a model using a pair of input data and the corresponding correct answer data.
- the teacher data described above is audio frame and compressed character string data corresponding to the same character string. Therefore, the teacher data can be generated by generating the voice frame corresponding to a certain character string and the compressed character string data, respectively, and associating them with each other.
- Compressed character string data corresponding to a specific character string can be generated by using, for example, a trained encoder 42.
- the encoder 42 converts the character string data into compressed character string data. Therefore, the compressed character string data corresponding to a specific character string can be obtained by inputting the character string into the encoder 42.
- the compressed character string data corresponding to the character string "rain” can be obtained by preparing the character string data representing the character string "rain” and inputting the character string data into the trained encoder 42. can.
- the audio frame corresponding to a specific character string can be obtained by using various existing methods. For example, by having a person actually speak a specific character string and recording the statement, an audio frame representing an audio signal corresponding to the character string can be obtained. In addition, for example, by using existing software that converts character string data into voice data, a voice frame representing a voice signal corresponding to a specific character string can be obtained. For example, a voice frame corresponding to the character string "rain” can record the voice of saying the word “rain” or transfer the character string data of "rain” to software that converts the character string data into voice. You can get it by typing. A voice frame representing a voice feature amount corresponding to a specific character string can be generated by obtaining data representing a voice signal corresponding to the specific character string and then converting the data into a feature amount. ..
- a pair of a voice frame and a compressed character string data corresponding to an arbitrary character string can be used.
- the number of character string types that can be handled by the autoencoder 40 is smaller than the number of character string types that can be represented by the character string data. Therefore, for the teacher data, it is preferable to use a pair of audio frame and compressed character string data corresponding to the character string that can be handled by the autoencoder 40 (that is, the character string used for learning of the autoencoder 40). Is. In other words, it is preferable to generate teacher data by using the character string used for learning of the autoencoder 40.
- the first conversion unit 2020 acquires an audio frame (S102).
- the audio frame is audio data representing an audio signal obtained by cutting out a part of the time interval of the source data, or a feature amount obtained from the audio data.
- the process of generating a voice frame from the source data may be performed by the voice recognition device 2000, or may be performed by a device other than the voice recognition device 2000.
- the voice recognition device 2000 acquires the source data, generates a plurality of voice frames from the source data, and converts each voice frame into character string data.
- the voice recognition device 2000 acquires a plurality of voice frames obtained from the source data by another device and converts each voice frame into character string data.
- existing technology can be used as a technology for generating a plurality of voice frames from source data such as recorded data when performing a process of converting voice into a character string.
- source data such as recorded data
- a process of converting voice into a character string For example, in the process of generating an audio frame, an audio section (a section in which audio exists) is detected from the source data, and a time window having a predetermined length is included in the time window while being moved from the beginning of the audio section by a certain time width. It is a process of extracting the voice signals to be input in order. Each voice signal extracted in this way and a feature amount obtained from the voice signal are used as a voice frame.
- the voice recognition device 2000 outputs the generated character string data (S106).
- the output destination of the generated character string data is arbitrary (for example, a storage device or a display device).
- the character string data obtained by using the voice recognition device 2000 is used to generate text data (so-called transcription) representing the content of a conference or speech represented by the source data.
- the voice recognition device 2000 sequentially converts a plurality of time-series voice frames extracted from the source data into character string data.
- a plurality of character string data in a time series can be obtained.
- Text data is generated by using a plurality of character string data of the time series obtained in this way.
- existing technology should be used for the technology to generate text data representing the content of remarks such as a conference by using a plurality of time-series character string data obtained from a plurality of time-series voice frames. Can be done.
- the voice recognition device 2000 it is preferable to prepare a set of learned models for each usage scene so that the model used by the voice recognition device 2000 can be selected according to the usage scene of the voice recognition device 2000.
- the voice recognition device 2000 is used to convert the recorded data of the conference into a text file.
- the variation of the character string that appears in the meeting is biased depending on which field the meeting is for. For example, in meetings of people in the computer field, many technical terms in the computer field appear, while in meetings of people in the medical field, many technical terms in the medical field appear.
- a set of trained models for each field prepares a set of trained models for each field. Specifically, a set of models used for recorded data in the computer field is learned using a plurality of character strings containing many technical terms in the computer field. On the other hand, a set of trained models used for recorded data in the medical field is trained using a plurality of character strings containing many technical terms in the medical field.
- a set of models can be switched.
- the identification information of the usage scene (for example, the field) and the set of the learned models are associated and stored in advance in the storage device accessible from the voice recognition device 2000.
- the voice recognition device 2000 provides the user with a screen for selecting a usage scene.
- the voice recognition device 2000 reads a set of learned models corresponding to the usage scene selected by the user from the storage device.
- the first conversion unit 2020 and the second conversion unit 2040 utilize the first model 10 and the second model 20 included in the read model set, respectively.
- the voice frame is converted into the character string data by using the trained model suitable for the usage scene selected by the user.
- a plurality of voice recognition devices 2000 may be prepared, and different sets of models may be set for each voice recognition device 2000.
- the voice recognition device 2000 corresponding to the usage scene is used. For example, prepare a front-end machine that accepts requests from users so that the machine provides the selection screen described above. When the user selects a usage scene on the selection screen, a process of obtaining character string data from the voice data is performed by using the voice recognition device 2000 corresponding to the selected usage scene.
- the model corresponding to each usage scene is learned. For example, suppose that a set of models for handling voice in the computer field and a set of models for handling voice in the medical field are prepared. In this case, the former set of models is learned using voice frames and character string data corresponding to voice in the computer field. For example, by learning the autoencoder 40 using character string data representing each character string appearing in a conversation in the computer field, an encoder 42 and a decoder 44 for handling voice in the computer field can be obtained. .. In addition, for each character string that appears in conversations in the computer field, a pair of "voice frame representing the character string and compressed character string data obtained by inputting the character string into the encoder 42" was prepared and prepared.
- the first model 10 is trained using each pair. As a result, the first model 10 for handling voice in the computer field can be obtained. Then, by making the first conversion unit 2020 and the second conversion unit 2040 use the first model 10 and the second model 20 (decoder 44) thus obtained, respectively, the voice recognition device 2000 can be used. You will be able to handle voice in the computer field.
- the voice recognition device 2000 can handle voices in various fields.
- a first conversion unit that generates the compressed character string data corresponding to the acquired voice frame by inputting the acquired voice frame to the first model that converts the voice frame into the compressed character string data.
- the character string data generated by the first conversion unit By inputting the compressed character string data generated by the first conversion unit into the second model that converts the compressed character string data into the character string data, the character string data corresponding to the acquired voice frame can be obtained. It has a second conversion unit to generate, The data size of the compressed character string data is smaller than the data size of the character string data,
- the first model is a model trained by teacher data in which a voice frame is used as input data and compressed character string data obtained by encoding the character string data represented by the voice frame is used as correct answer data.
- the second model learns an auto-encoder composed of an encoder that converts input character string data into compressed character string data and a decoder that converts compressed character string data output from the encoder into character string data.
- a voice recognition device which is the learned decoder obtained by the above. 2.
- the voice frame is a voice feature amount obtained from a voice signal.
- the compressed character string data used as the correct answer data is obtained by encoding the character string data corresponding to the audio frame included in the correct answer data by using the encoder. Or 2.
- a control method performed by a computer The first conversion step of generating the compressed character string data corresponding to the acquired voice frame by inputting the acquired voice frame to the first model for converting the voice frame into the compressed character string data.
- the character string data generated by the first conversion unit By inputting the compressed character string data generated by the first conversion unit into the second model that converts the compressed character string data into the character string data, the character string data corresponding to the acquired voice frame can be obtained.
- Has a second conversion step to generate The data size of the compressed character string data is smaller than the data size of the character string data
- the first model is a model trained by teacher data in which a voice frame is used as input data and compressed character string data obtained by encoding the character string data represented by the voice frame is used as correct answer data.
- the second model learns an auto-encoder composed of an encoder that converts input character string data into compressed character string data and a decoder that converts compressed character string data output from the encoder into character string data.
- the control method which is the learned decoder, obtained by doing so. 5.
- the voice frame is a voice feature amount obtained from a voice signal.
- the compressed character string data used as the correct answer data is obtained by encoding the character string data corresponding to the audio frame included in the correct answer data by using the encoder. Or 5.
- the control method described in. 7. 4. To 6 A program that causes a computer to execute the control method described in any one of them.
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)
- Signal Processing (AREA)
- Character Discrimination (AREA)
Abstract
音声認識装置(2000)は、第1モデル(60)及び第2モデル(70)を有する。第1モデル(60)は、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習される。第2モデル(70)は、入力された文字列データを圧縮文字列データに変換するエンコーダ(42)と、エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダ(44)とで構成されるオートエンコーダ(40)を学習することによって得られる、学習されたデコーダ(44)である。音声認識装置(2000)は、音声フレームを第1モデル(60)に入力し、第1モデル(60)から出力された圧縮文字列データを第2モデル(70)に入力することで、音声フレームに対応する文字列データを生成する。
Description
本発明は音声認識に関する。
音声を文字列に変換する技術が開発されている。例えばこのような技術は、録音データをテキストデータに自動変換したり、音声検索を実現したりするために利用されている。例えば特許文献1は、End-to-End 型ニューラルネットワークに基づく音響モデルを用いて音声認識を行う技術を開示している。
本発明者は、音声認識を行う新たな技術を見出した。本願発明の目的の1つは新たな音声認識の技術を提供することである。
本発明の音声認識装置は、1)音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、取得した音声フレームに対応する圧縮文字列データを生成する第1変換部と、2)圧縮文字列データを文字列データに変換する第2モデルに対し、第1変換部によって生成された圧縮文字列データを入力することで、取得した音声フレームに対応する文字列データを生成する第2変換部と、を有する。
圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さい。
第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルである。
第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習されたデコーダである。
圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さい。
第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルである。
第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習されたデコーダである。
本発明の制御方法はコンピュータによって実行される。当該制御方法は、1)音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、取得した音声フレームに対応する圧縮文字列データを生成する第1変換ステップと、2)圧縮文字列データを文字列データに変換する第2モデルに対し、第1変換部によって生成された圧縮文字列データを入力することで、取得した音声フレームに対応する文字列データを生成する第2変換ステップと、を有する。
圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さい。
第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルである。
第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習されたデコーダである。
圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さい。
第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルである。
第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習されたデコーダである。
本発明のプログラムは、本発明の制御方法をコンピュータに実行させる。
本発明によれば、新たな音声認識の技術が提供される。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下の説明において、特に説明しない限り、各種所定の値(閾値など)は、その値を利用する機能構成部からアクセス可能な記憶装置に予め記憶させておく。
[実施形態1]
<概要>
図1は、実施形態1に係る音声認識装置2000の動作を概念的に例示する図である。ここで、図1を用いて説明する音声認識装置2000の動作は、音声認識装置2000の理解を容易にするための例示であり、音声認識装置2000の動作を限定するものではない。音声認識装置2000の動作の詳細やバリエーションについては後述する。
<概要>
図1は、実施形態1に係る音声認識装置2000の動作を概念的に例示する図である。ここで、図1を用いて説明する音声認識装置2000の動作は、音声認識装置2000の理解を容易にするための例示であり、音声認識装置2000の動作を限定するものではない。音声認識装置2000の動作の詳細やバリエーションについては後述する。
音声認識装置2000は、音声を文字列に変換するために利用される。より具体的には、音声認識装置2000は、音声フレームを文字列データに変換する。音声フレームとは、例えば、人の発言が記録された音声データ(以下、ソースデータ)から、一部の時間区間の音声信号を抽出することで得られた音声データである。音声データは、例えば、音声信号の波形を表すベクトルデータなどである。ソースデータは、例えば、会話やスピーチの録音データや、音声検索のために入力された検索ワードの音声データなどである。
なお、ソースデータから一部の時間区間の音声信号を抽出することで得られた音声データについて、音声特徴量の抽出を行い、その音声特徴量を表すデータを音声フレームとして扱ってもよい。音声特徴量としては、ケプストラム特徴量などといった種々の特徴量を用いることができる。
文字列データは、1つ以上の文字の列を表すデータである。例えば文字列データは、文字ベクトルの列である。例えば文字ベクトルは、表現可能な文字の種類の数と同じ長さの one-hot ベクトルである。例えば文字列データによって N 種類(N は自然数)の文字を扱え、文字列データを構成する各文字が1つの one-hot ベクトルで表されるとする。この場合、文字列データは、長さ N の one-hot ベクトルの列となる。具体的には、文字ベクトルの各ビットに対し、それぞれ異なる文字が予め割り当てられる。そして、文字列データを構成する各文字ベクトルにおいて、その文字ベクトルで表現する文字に対応するビットのみに1が設定され、その他のビットには0が設定される。ただし、文字列データは、表現したい文字列を表現可能な形式のデータであればよく、必ずしも one-hot ベクトルを利用して実現される必要はない。また、文字ベクトルの代わりに、単語ベクトルを利用してもよい。すなわち、文字列データを構成する各ベクトルで、1つの文字ではなく1つの単語を表せるようにしてもよい。
音声認識装置2000は、音声フレームを文字列データに変換する際、まず、音声フレームを圧縮文字列データに変換する。そして、音声認識装置2000は、音声フレームから得られた圧縮文字列データを文字列データに変換することで、音声フレームに対応する文字列データを生成する。
圧縮文字列データは、文字列データよりも小さいデータサイズで、文字列データによって表されている文字列を表すことができるデータである。例えば文字列データを構成する文字ベクトルが長さ N の one-hot ベクトル(N ビットのベクトル)である場合、圧縮文字列データを構成する文字ベクトルは N ビットより小さいサイズのベクトルである。例えば、文字列データと圧縮文字列データがいずれも漢字を含む文字列を表しており、かつ、圧縮文字列データで扱える漢字の種類が文字列データで扱える漢字の種類よりも少ないというケースが考えられる。この場合、圧縮文字列データを構成する文字ベクトルの次元数が、文字列データを構成する文字ベクトルの次元数よりも少なくなる。
ここで、音声フレームから圧縮文字列データへの変換は、第1モデル10を用いて行われる。また、圧縮文字列データから文字列データへの変換は、第2モデル20を用いて行われる。
図2は、第1モデル10と第2モデル20の学習方法を概念的に例示する図である。第1モデル10は、入力された音声フレームを圧縮文字列データに変換するように学習された、学習済みモデルである。第1モデル10の学習は、「音声フレーム、正解の圧縮文字列データ(その音声フレームによって表される文字列をエンコードすることで得られる圧縮文字列データ)」というペアを含む教師データを用いて行われる。具体的には、第1モデル10が音声フレームの入力に応じて出力した圧縮文字列データと、その音声フレームに対応付けられている正解の圧縮文字列データとの誤差を小さくするように、学習が行われる。
第2モデル20は、入力された圧縮文字列データを文字列データに変換するように学習された、学習済みモデルである。第2モデル20の学習は、図1に示すオートエンコーダ40の学習によって実現できる。オートエンコーダ40は、エンコーダ42とデコーダ44を有する。エンコーダ42は、オートエンコーダ40へ入力された文字列データをエンコードすることにより、文字列データを圧縮文字列データに変換する。一方、デコーダ44は、エンコーダ42によって出力された圧縮文字列データをデコードすることにより、圧縮文字列データを文字列データに変換する。そして、デコーダ44によって得られた文字列データが、オートエンコーダ40から出力される。
オートエンコーダ40は、入力された文字列データと出力された文字列データとの誤差がちいさくなるように学習される。オートエンコーダ40の学習が行われた結果、デコーダ44は、圧縮文字列データを元の文字列データに復元できるようになる。これは、文字列データを、よりサイズが小さい圧縮文字列データで表すことができるようになったことを意味する。また、オートエンコーダ40の学習により、文字列データを圧縮文字列データに変換できるエンコーダと、圧縮文字列データを文字列データに変換できるデコーダが得られる。第2モデル20としては、このようにして得られた学習済みのデコーダ44が用いられる。
<作用効果の一例>
音声認識装置2000によれば、音声フレームを圧縮文字列データに変換するように学習された第1モデル10と、圧縮文字列データを文字列データに変換するように学習された第2モデル20とを用いて、音声フレームを文字列データが変換される。少なくとも第2モデル20は、ニューラルネットワークで実現される。このように、本発明によれば、ニューラルネットワークを用いて音声認識を行う新たな技術が提供される。
音声認識装置2000によれば、音声フレームを圧縮文字列データに変換するように学習された第1モデル10と、圧縮文字列データを文字列データに変換するように学習された第2モデル20とを用いて、音声フレームを文字列データが変換される。少なくとも第2モデル20は、ニューラルネットワークで実現される。このように、本発明によれば、ニューラルネットワークを用いて音声認識を行う新たな技術が提供される。
また、第1モデル10の出力を通常の文字列データではなく、圧縮文字列データとすることで、モデルのパラメタ数を減らすことができる。これにより、学習と推論の双方において処理速度を向上できる。
以下、音声認識装置2000についてより詳細に説明する。
<機能構成の例>
図3は、音声認識装置2000の機能構成を例示するブロック図である。音声認識装置2000は、第1変換部2020及び第2変換部2040を有する。第1変換部2020は第1モデル10を有する。第1変換部2020は、音声フレームを取得し、その音声フレームを第1モデル10に入力することで、その音声フレームを圧縮文字列データに変換する。第2変換部2040は第2モデル20を有する。第2変換部2040は、第1変換部2020を利用して得られた圧縮文字列データ(第1変換部2020が取得した音声フレームに対応する圧縮文字列データ)を第2モデル20に入力することで、その圧縮文字列データを文字列データに変換する。これにより、取得した音声フレームに対応する文字列データが得られる。
図3は、音声認識装置2000の機能構成を例示するブロック図である。音声認識装置2000は、第1変換部2020及び第2変換部2040を有する。第1変換部2020は第1モデル10を有する。第1変換部2020は、音声フレームを取得し、その音声フレームを第1モデル10に入力することで、その音声フレームを圧縮文字列データに変換する。第2変換部2040は第2モデル20を有する。第2変換部2040は、第1変換部2020を利用して得られた圧縮文字列データ(第1変換部2020が取得した音声フレームに対応する圧縮文字列データ)を第2モデル20に入力することで、その圧縮文字列データを文字列データに変換する。これにより、取得した音声フレームに対応する文字列データが得られる。
<ハードウエア構成の例>
音声認識装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、音声認識装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
音声認識装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、音声認識装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図4は、音声認識装置2000を実現するための計算機1000を例示する図である。計算機1000は、任意の計算機である。例えば計算機1000は、PC(Personal Computer)やサーバマシンなどといった、据え置き型の計算機である。その他にも例えば、計算機1000は、スマートフォンやタブレット端末などといった可搬型の計算機である。
計算機1000は、音声認識装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。後者の場合、例えば、計算機1000に対して所定のアプリケーションをインストールすることにより、計算機1000で、音声認識装置2000の各機能が実現される。上記アプリケーションは、音声認識装置2000の機能構成部を実現するためのプログラムで構成される。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。
ストレージデバイス1080は、音声認識装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ1040は、このプログラムをメモリ1060に読み出して実行することで、音声認識装置2000の各機能構成部を実現する。
ここで、音声認識装置2000は、1つの計算機1000で実現されてもよいし、複数の計算機1000で実現されてもよい。後者の場合、例えば音声認識装置2000は、第1変換部2020を実現する1つ以上の計算機1000と、第2変換部2040を実現する1つ以上の計算機1000とを有する分散システムとして実現される。
<処理の流れ>
図5は、実施形態1の音声認識装置2000によって実行される処理の流れを例示するフローチャートである。第1変換部2020は音声フレームを取得する(S102)。第1変換部2020は音声フレームを第1モデル10に入力することで、音声フレームを圧縮文字列データに変換する(S104)。第2変換部2040は、S104で得られた圧縮文字列データを第2モデル20に入力することで、圧縮文字列データを文字列データに変換する(S106)。
図5は、実施形態1の音声認識装置2000によって実行される処理の流れを例示するフローチャートである。第1変換部2020は音声フレームを取得する(S102)。第1変換部2020は音声フレームを第1モデル10に入力することで、音声フレームを圧縮文字列データに変換する(S104)。第2変換部2040は、S104で得られた圧縮文字列データを第2モデル20に入力することで、圧縮文字列データを文字列データに変換する(S106)。
<オートエンコーダ40について>
図2に示したように、オートエンコーダ40はエンコーダ42とデコーダ44で構成される。オートエンコーダ40は、例えば、ニューラルネットワークで実現される。エンコーダ42は、入力された文字列データを圧縮文字列データに変換(エンコード)するモデルである。デコーダ44は、エンコーダ42から出力された圧縮文字列データを文字列データに変換(デコード)するモデルである。
図2に示したように、オートエンコーダ40はエンコーダ42とデコーダ44で構成される。オートエンコーダ40は、例えば、ニューラルネットワークで実現される。エンコーダ42は、入力された文字列データを圧縮文字列データに変換(エンコード)するモデルである。デコーダ44は、エンコーダ42から出力された圧縮文字列データを文字列データに変換(デコード)するモデルである。
ここで、オートエンコーダ40は、圧縮文字列データのデータサイズが文字列データのデータサイズよりも小さくなるように構成されている。そのため、エンコーダ42は、出力されるデータのサイズが入力されるデータのサイズよりも小さくなるように構成されている。このような構成は、例えば、エンコーダ42において、出力層のノード数を入力層のノード数よりも少なくすることで実現できる。また、デコーダ44は、入力されるデータのサイズがエンコーダ42から出力されるデータのサイズと等しい(すなわち、圧縮文字列データのサイズである)ように構成され、かつ、出力されるデータのサイズがエンコーダ42に入力されるデータのサイズと等しい(すなわち、文字列データのサイズである)ように構成される。このような構成は、例えば、デコーダ44の入力層のノード数をエンコーダ42の出力層のノードの数と等しくし(あるいは、エンコーダ42の出力層をデコーダ44の入力層として用い)、かつ、デコーダ44の出力層のノード数をエンコーダ42の入力層のノード数と等しくすることで実現できる。
オートエンコーダ40の学習は、任意の複数種類の文字列を利用して行うことができる。オートエンコーダ40の学習を行う具体的な技術には、既存の技術を利用することができる。
ただし、圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さいため、1つのオートエンコーダ40において圧縮文字列データで表すことができる文字列の種類の数、すなわち、1つのオートエンコーダ40で扱うことができる文字列の種類の数は、文字列データで表現可能な文字列の種類の数よりも少なくなる。例えば文字列データが 3,000 種類の文字列を表すことができる一方で、圧縮文字列データは 1,000 種類の文字列しか表すことができないとする。この場合、1つのオートエンコーダ40で扱うことができる文字列の種類の数は 1,000 種類となる。
そこで、オートエンコーダ40の学習には、音声認識装置2000で解析したいソースデータに含まれている蓋然性が高い文字列を利用することが好適である。例えば音声認識装置2000が、ソフトウエア開発会社などのようなコンピュータ分野の会社において、会議を録音したファイルを文書ファイルに変換するために利用されるとする。この場合、音声認識装置2000に入力される音声フレームには、コンピュータ分野の専門用語が多く含まれている蓋然性が高い。そこでこのケースでは、オートエンコーダ40の学習に、コンピュータ分野の専門用語を表す文字列を多く利用することが好適である。
なお、後述するように、複数のオートエンコーダ40を用意することで、モデルのセット(第1モデル10、第2モデル20(=エンコーダ42)、及びデコーダ44のセット)を分野ごと等に複数用意してもよい。このようにモデルのセットを複数用意する形態については後述する。
<第1モデル10について>
第1モデル10は、入力された音声フレームを圧縮文字列データに変換するように学習された、学習済みモデルである。モデルの種類には、ニューラルネットワークやサポートベクトルマシンなどといった任意のものを利用できる。
第1モデル10は、入力された音声フレームを圧縮文字列データに変換するように学習された、学習済みモデルである。モデルの種類には、ニューラルネットワークやサポートベクトルマシンなどといった任意のものを利用できる。
前述したように、第1モデル10の学習は、「音声フレーム、正解の圧縮文字列データ」というペアを含む複数の教師データを用いて行われる。なお、入力データとそれに対応する正解データのペアを用いてモデルの学習を行う技術には、既存の技術を利用することができる。
前述した教師データは、同一の文字列に対応する音声フレームと圧縮文字列データである。そこで、或る文字列に対応する音声フレームと圧縮文字列データをそれぞれ生成し、これらを対応付けることにより、教師データを生成することができる。
特定の文字列に対応する圧縮文字列データは、例えば、学習済みのエンコーダ42を利用して生成することができる。前述したように、エンコーダ42は、文字列データを圧縮文字列データに変換する。そのため、特定の文字列に対応する圧縮文字列データは、その文字列をエンコーダ42に入力することで得ることができる。例えば、「雨」という文字列に対応する圧縮文字列データは、「雨」という文字列を表す文字列データを用意し、その文字列データを学習済みのエンコーダ42に入力することで得ることができる。
特定の文字列に対応する音声フレームは、種々の既存の手法を利用して得ることができる。例えば、特定の文字列を実際に人に発言させてその発言を録音することで、その文字列に対応する音声信号を表す音声フレームを得ることできる。その他にも例えば、文字列データを音声データに変換する既存のソフトウエアを利用することにより、特定の文字列に対応する音声信号を表す音声フレームを得ることができる。例えば、「雨」という文字列に対応する音声フレームは、「雨」という言葉を発言した音声を録音したり、文字列データを音声に変換するソフトウエアに対して「雨」という文字列データを入力したりすることで得ることができる。なお、特定の文字列に対応する音声特徴量を表す音声フレームは、特定の文字列に対応する音声信号を表すデータを得た後、そのデータを特徴量に変換することで生成することができる。
第1モデル10の学習に利用する教師データには、任意の文字列に対応する音声フレームと圧縮文字列データのペアを利用することができる。ただし、前述したように、オートエンコーダ40で扱える文字列の種類の数は、文字列データで表現可能な文字列の種類の数よりも少なくなる。そこで、教師データには、オートエンコーダ40で扱うことができる文字列(すなわち、オートエンコーダ40の学習に利用された文字列)に対応する音声フレームと圧縮文字列データのペアを利用することが好適である。言い換えれば、オートエンコーダ40の学習に利用した文字列を利用して教師データを生成することが好適である。
<音声フレームの取得>
第1変換部2020は音声フレームを取得する(S102)。音声フレームは、ソースデータの一部の時間区間を切り出した音声信号を表す音声データ、又は、その音声データから得られる特徴量である。ソースデータから音声フレームを生成する処理は、音声認識装置2000によって行われてもよいし、音声認識装置2000以外の装置によって行われてもよい。前者の場合、音声認識装置2000は、ソースデータを取得し、ソースデータから複数の音声フレームを生成し、各音声フレームを文字列データに変換する。一方、後者の場合、音声認識装置2000は、他の装置によってソースデータから得られた複数の音声フレームを取得し、各音声フレームを文字列データに変換する。
第1変換部2020は音声フレームを取得する(S102)。音声フレームは、ソースデータの一部の時間区間を切り出した音声信号を表す音声データ、又は、その音声データから得られる特徴量である。ソースデータから音声フレームを生成する処理は、音声認識装置2000によって行われてもよいし、音声認識装置2000以外の装置によって行われてもよい。前者の場合、音声認識装置2000は、ソースデータを取得し、ソースデータから複数の音声フレームを生成し、各音声フレームを文字列データに変換する。一方、後者の場合、音声認識装置2000は、他の装置によってソースデータから得られた複数の音声フレームを取得し、各音声フレームを文字列データに変換する。
なお、音声を文字列に変換する処理を行う際に、録音データなどのソースデータから複数の音声フレームを生成する技術には、既存の技術を利用することができる。例えば、音声フレームを生成する処理は、ソースデータから音声区間(音声が存在する区間)を検出し、所定長のタイムウインドウを音声区間の先頭から一定の時間幅で移動させながら、タイムウインドウに含まれる音声信号を順に抽出していく処理となる。このようにして抽出された各音声信号や、その音声信号から得られる特徴量が、音声フレームとして利用される。
<文字列データの出力>
音声認識装置2000は、生成した文字列データを出力する(S106)。生成した文字列データの出力先は任意である(例えば、記憶装置やディスプレイ装置など)。
音声認識装置2000は、生成した文字列データを出力する(S106)。生成した文字列データの出力先は任意である(例えば、記憶装置やディスプレイ装置など)。
なお、音声認識装置2000を利用することで得られる文字列データの利用方法は様々である。例えば、音声認識装置2000を利用して得られる文字列データは、ソースデータによって表される会議やスピーチの発言内容を表すテキストデータを生成するため(いわゆる文字起こし)に利用される。この場合、音声認識装置2000は、ソースデータから抽出される時系列の複数の音声フレームを順に文字列データに変換していく。これにより、時系列の複数の文字列データが得られる。このようにして得られた時系列の複数の文字列データを利用することで、テキストデータが生成される。ここで、時系列の複数の音声フレームから得られた時系列の複数の文字列データを利用して、会議等の発言内容を表すテキストデータを生成する技術には、既存の技術を利用することができる。
<利用シーンに応じたモデルの選択>
前述したように、圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さいため、1つのオートエンコーダ40で扱うことができる文字列の種類の数は、文字列データで表現可能な文字列の種類の数よりも少なくなる。このことから、「第1モデル10、第2モデル20(=デコーダ44)」という学習済みモデルのセット1つで扱える文字列の種類は、文字列データで表現可能な文字列の種類の数よりも小さくなる。
前述したように、圧縮文字列データのデータサイズは文字列データのデータサイズよりも小さいため、1つのオートエンコーダ40で扱うことができる文字列の種類の数は、文字列データで表現可能な文字列の種類の数よりも少なくなる。このことから、「第1モデル10、第2モデル20(=デコーダ44)」という学習済みモデルのセット1つで扱える文字列の種類は、文字列データで表現可能な文字列の種類の数よりも小さくなる。
そこで例えば、学習済みモデルのセットを利用シーンごとに用意し、音声認識装置2000の利用シーンに応じて、音声認識装置2000が利用するモデルを選択できるようにすることが好適である。例えば音声認識装置2000が、会議の録音データをテキストファイルに変換するために利用されるとする。この場合、会議の中に現れる文字列のバリエーションには、どの分野の人たちの会議なのかによって偏りが生じる。例えば、コンピュータ分野の人たちの会議ではコンピュータ分野の専門用語が多く現れる一方、医学分野の人たちの会議では医学分野の専門用語が多く現れる。
そこでこのような場合、分野ごとに学習済みモデルのセットを用意しておく。具体的には、コンピュータ分野の録音データに利用されるモデルのセットは、コンピュータ分野の専門用語を多く含む複数の文字列を利用して学習される。一方、医学分野の録音データに利用される学習済みモデルのセットは、医学分野の専門用語を多く含む複数の文字列を利用して学習される。
利用シーンごとにモデルのセットを選択する方法には、様々な方法を採用できる。例えば、1つの音声認識装置2000において、モデルのセットを切り替えられるようにしておく。この場合、音声認識装置2000からアクセス可能な記憶装置に、利用シーン(例えば分野)の識別情報と学習済みモデルのセットとを対応付けて、予め格納しておく。音声認識装置2000は、ユーザに対し、利用シーンを選択する画面を提供する。音声認識装置2000は、ユーザによって選択された利用シーンに対応する学習済みモデルのセットを記憶装置から読み出す。そして、第1変換部2020と第2変換部2040はそれぞれ、読み出したモデルのセットに含まれる第1モデル10と第2モデル20を利用する。これにより、ユーザによって選択された利用シーンに適した学習済みモデルを利用して、音声フレームから文字列データへの変換が行われる。
その他にも例えば、音声認識装置2000を複数用意し、各音声認識装置2000にそれぞれ異なるモデルのセットを設定しておいてもよい。この場合、利用シーンに対応した音声認識装置2000が利用されるようにする。例えば、ユーザからリクエストを受け付けるフロントエンドのマシンを用意し、そのマシンが前述した選択画面を提供するようにする。ユーザが選択画面で利用シーンを選択すると、選択された利用シーンに対応する音声認識装置2000を利用して、音声データから文字列データを得る処理が行われる。
上述したように利用シーンごとにモデルのセットを用意するためには、各利用シーンに対応するモデルの学習を行う。例えば、コンピュータ分野の音声を扱うためのモデルのセットと、医学分野の音声を扱うためのモデルのセットを用意するとする。この場合、前者のモデルのセットは、コンピュータ分野の音声に対応する音声フレームと文字列データを利用して学習する。例えば、コンピュータ分野の会話に出てくる各文字列を表す文字列データを利用してオートエンコーダ40の学習を行うことで、コンピュータ分野の音声を扱うためのエンコーダ42とデコーダ44を得ることができる。また、コンピュータ分野の会話に出てくる各文字列について、「その文字列を表す音声フレーム、その文字列をエンコーダ42に入力することで得られる圧縮文字列データ」のペアを用意し、用意した各ペアを利用して第1モデル10の学習を行う。これにより、コンピュータ分野の音声を扱うための第1モデル10を得ることができる。そして、第1変換部2020と第2変換部2040がそれぞれ、このようにして得られた第1モデル10と第2モデル20(デコーダ44)を利用するようにすることで、音声認識装置2000がコンピュータ分野の音声を扱うことができるようになる。
他の分野の音声についても同様のことをすることにより、様々な分野の音声に対応するモデルのセットを得ることができる。そのため、音声認識装置2000で様々な分野の音声を扱うことができるようになる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、前記取得した音声フレームに対応する前記圧縮文字列データを生成する第1変換部と、
前記圧縮文字列データを文字列データに変換する第2モデルに対し、前記第1変換部によって生成された圧縮文字列データを入力することで、前記取得した音声フレームに対応する前記文字列データを生成する第2変換部と、を有し、
前記圧縮文字列データのデータサイズは前記文字列データのデータサイズよりも小さく、
前記第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルであり、
前記第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、前記エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習された前記デコーダである、音声認識装置。
2. 前記音声フレームは音声信号から得られた音声特徴量である、1.に記載の音声認識装置。
3. 前記正解データとして利用される前記圧縮文字列データは、その正解データに含める音声フレームに対応する文字列データを、前記エンコーダを用いてエンコードすることで得られたものである、1.又は2.に記載の音声認識装置。
4. コンピュータによって実行される制御方法であって、
音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、前記取得した音声フレームに対応する前記圧縮文字列データを生成する第1変換ステップと、
前記圧縮文字列データを文字列データに変換する第2モデルに対し、前記第1変換部によって生成された圧縮文字列データを入力することで、前記取得した音声フレームに対応する前記文字列データを生成する第2変換ステップと、を有し、
前記圧縮文字列データのデータサイズは前記文字列データのデータサイズよりも小さく、
前記第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルであり、
前記第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、前記エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習された前記デコーダである、制御方法。
5. 前記音声フレームは音声信号から得られた音声特徴量である、4.に記載の制御方法。
6. 前記正解データとして利用される前記圧縮文字列データは、その正解データに含める音声フレームに対応する文字列データを、前記エンコーダを用いてエンコードすることで得られたものである、4.又は5.に記載の制御方法。
7. 4.から6いずれか一つに記載の制御方法をコンピュータに実行させるプログラム。
1. 音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、前記取得した音声フレームに対応する前記圧縮文字列データを生成する第1変換部と、
前記圧縮文字列データを文字列データに変換する第2モデルに対し、前記第1変換部によって生成された圧縮文字列データを入力することで、前記取得した音声フレームに対応する前記文字列データを生成する第2変換部と、を有し、
前記圧縮文字列データのデータサイズは前記文字列データのデータサイズよりも小さく、
前記第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルであり、
前記第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、前記エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習された前記デコーダである、音声認識装置。
2. 前記音声フレームは音声信号から得られた音声特徴量である、1.に記載の音声認識装置。
3. 前記正解データとして利用される前記圧縮文字列データは、その正解データに含める音声フレームに対応する文字列データを、前記エンコーダを用いてエンコードすることで得られたものである、1.又は2.に記載の音声認識装置。
4. コンピュータによって実行される制御方法であって、
音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、前記取得した音声フレームに対応する前記圧縮文字列データを生成する第1変換ステップと、
前記圧縮文字列データを文字列データに変換する第2モデルに対し、前記第1変換部によって生成された圧縮文字列データを入力することで、前記取得した音声フレームに対応する前記文字列データを生成する第2変換ステップと、を有し、
前記圧縮文字列データのデータサイズは前記文字列データのデータサイズよりも小さく、
前記第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルであり、
前記第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、前記エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習された前記デコーダである、制御方法。
5. 前記音声フレームは音声信号から得られた音声特徴量である、4.に記載の制御方法。
6. 前記正解データとして利用される前記圧縮文字列データは、その正解データに含める音声フレームに対応する文字列データを、前記エンコーダを用いてエンコードすることで得られたものである、4.又は5.に記載の制御方法。
7. 4.から6いずれか一つに記載の制御方法をコンピュータに実行させるプログラム。
10 第1モデル
20 第2モデル
40 オートエンコーダ
42 エンコーダ
44 デコーダ
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 音声認識装置
2020 第1変換部
2040 第2変換部
20 第2モデル
40 オートエンコーダ
42 エンコーダ
44 デコーダ
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 音声認識装置
2020 第1変換部
2040 第2変換部
Claims (5)
- 音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、前記取得した音声フレームに対応する前記圧縮文字列データを生成する第1変換部と、
前記圧縮文字列データを文字列データに変換する第2モデルに対し、前記第1変換部によって生成された圧縮文字列データを入力することで、前記取得した音声フレームに対応する前記文字列データを生成する第2変換部と、を有し、
前記圧縮文字列データのデータサイズは前記文字列データのデータサイズよりも小さく、
前記第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルであり、
前記第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、前記エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習された前記デコーダである、音声認識装置。 - 前記音声フレームは音声信号から得られた音声特徴量である、請求項1に記載の音声認識装置。
- 前記正解データとして利用される前記圧縮文字列データは、その正解データに含める音声フレームに対応する文字列データを、前記エンコーダを用いてエンコードすることで得られたものである、請求項1又は2に記載の音声認識装置。
- コンピュータによって実行される制御方法であって、
音声フレームを圧縮文字列データに変換する第1モデルに対し、取得した音声フレームを入力することで、前記取得した音声フレームに対応する前記圧縮文字列データを生成する第1変換ステップと、
前記圧縮文字列データを文字列データに変換する第2モデルに対し、前記第1変換部によって生成された圧縮文字列データを入力することで、前記取得した音声フレームに対応する前記文字列データを生成する第2変換ステップと、を有し、
前記圧縮文字列データのデータサイズは前記文字列データのデータサイズよりも小さく、
前記第1モデルは、音声フレームを入力データとし、かつ、その音声フレームによって表される文字列データをエンコードすることで得られる圧縮文字列データを正解データとする教師データで学習されたモデルであり、
前記第2モデルは、入力された文字列データを圧縮文字列データに変換するエンコーダと、前記エンコーダから出力された圧縮文字列データを文字列データに変換するデコーダとで構成されるオートエンコーダを学習することによって得られる、学習された前記デコーダである、制御方法。 - 請求項4に記載の制御方法をコンピュータに実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/006578 WO2021166129A1 (ja) | 2020-02-19 | 2020-02-19 | 音声認識装置、制御方法、及びプログラム |
JP2022501485A JP7367839B2 (ja) | 2020-02-19 | 2020-02-19 | 音声認識装置、制御方法、及びプログラム |
US17/797,497 US20230046763A1 (en) | 2020-02-19 | 2020-02-19 | Speech recognition apparatus, control method, and non-transitory storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/006578 WO2021166129A1 (ja) | 2020-02-19 | 2020-02-19 | 音声認識装置、制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021166129A1 true WO2021166129A1 (ja) | 2021-08-26 |
Family
ID=77390829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/006578 WO2021166129A1 (ja) | 2020-02-19 | 2020-02-19 | 音声認識装置、制御方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230046763A1 (ja) |
JP (1) | JP7367839B2 (ja) |
WO (1) | WO2021166129A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015075706A (ja) * | 2013-10-10 | 2015-04-20 | 日本放送協会 | 誤り修正モデル学習装置、及びプログラム |
JP2017219769A (ja) * | 2016-06-09 | 2017-12-14 | 国立研究開発法人情報通信研究機構 | 音声認識装置及びコンピュータプログラム |
US20180174589A1 (en) * | 2016-12-19 | 2018-06-21 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
JP2019133046A (ja) * | 2018-02-01 | 2019-08-08 | 日本電信電話株式会社 | 学習装置、学習方法及び学習プログラム |
-
2020
- 2020-02-19 US US17/797,497 patent/US20230046763A1/en active Pending
- 2020-02-19 JP JP2022501485A patent/JP7367839B2/ja active Active
- 2020-02-19 WO PCT/JP2020/006578 patent/WO2021166129A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015075706A (ja) * | 2013-10-10 | 2015-04-20 | 日本放送協会 | 誤り修正モデル学習装置、及びプログラム |
JP2017219769A (ja) * | 2016-06-09 | 2017-12-14 | 国立研究開発法人情報通信研究機構 | 音声認識装置及びコンピュータプログラム |
US20180174589A1 (en) * | 2016-12-19 | 2018-06-21 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
JP2019133046A (ja) * | 2018-02-01 | 2019-08-08 | 日本電信電話株式会社 | 学習装置、学習方法及び学習プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20230046763A1 (en) | 2023-02-16 |
JP7367839B2 (ja) | 2023-10-24 |
JPWO2021166129A1 (ja) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10614803B2 (en) | Wake-on-voice method, terminal and storage medium | |
CN109785824B (zh) | 一种语音翻译模型的训练方法及装置 | |
US10380996B2 (en) | Method and apparatus for correcting speech recognition result, device and computer-readable storage medium | |
CN112735373B (zh) | 语音合成方法、装置、设备及存储介质 | |
CN109859736B (zh) | 语音合成方法及系统 | |
CN111933115B (zh) | 语音识别方法、装置、设备以及存储介质 | |
WO2022188734A1 (zh) | 一种语音合成方法、装置以及可读存储介质 | |
US20240021202A1 (en) | Method and apparatus for recognizing voice, electronic device and medium | |
CN112349273B (zh) | 基于说话人的语音合成方法、模型训练方法及相关设备 | |
CN111048064B (zh) | 基于单说话人语音合成数据集的声音克隆方法及装置 | |
CN112331177B (zh) | 基于韵律的语音合成方法、模型训练方法及相关设备 | |
CN113450758B (zh) | 语音合成方法、装置、设备及介质 | |
CN114333852A (zh) | 一种多说话人语音人声分离方法、终端设备及存储介质 | |
WO2021169825A1 (zh) | 语音合成方法、装置、设备和存储介质 | |
CN117063228A (zh) | 用于灵活流式和非流式自动语音识别的混合模型注意力 | |
WO2021166129A1 (ja) | 音声認識装置、制御方法、及びプログラム | |
CN116962787A (zh) | 一种基于视频信息的交互方法、装置、设备及存储介质 | |
CN113870828A (zh) | 音频合成方法、装置、电子设备和可读存储介质 | |
CN112349271A (zh) | 语音信息处理方法、装置、电子设备及存储介质 | |
CN113505612B (zh) | 多人对话语音实时翻译方法、装置、设备及存储介质 | |
WO2021171417A1 (ja) | 発話終端検出装置、制御方法、及びプログラム | |
US20240274120A1 (en) | Speech synthesis method and apparatus, electronic device, and readable storage medium | |
US20240153485A1 (en) | Systems and methods for machine-learning based multi-lingual pronunciation generation | |
CN115440198A (zh) | 混合音频信号的转换方法、装置、计算机设备和存储介质 | |
JP4445371B2 (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: 20919397 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022501485 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20919397 Country of ref document: EP Kind code of ref document: A1 |