WO2023228313A1 - 言語処理方法、言語処理装置及びプログラム - Google Patents
言語処理方法、言語処理装置及びプログラム Download PDFInfo
- Publication number
- WO2023228313A1 WO2023228313A1 PCT/JP2022/021380 JP2022021380W WO2023228313A1 WO 2023228313 A1 WO2023228313 A1 WO 2023228313A1 JP 2022021380 W JP2022021380 W JP 2022021380W WO 2023228313 A1 WO2023228313 A1 WO 2023228313A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- token
- token sequence
- sequence
- error
- phoneme
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000012545 processing Methods 0.000 title claims description 54
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000010276 construction Methods 0.000 claims abstract 2
- 238000006243 chemical reaction Methods 0.000 claims description 136
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 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
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
Definitions
- the present disclosure relates to a language processing method, a language processing device, and a program.
- a language model is one of the neural network models that obtain distributed representations of tokens.
- a language model the entire text in which a token is used is input, rather than a single token, so it is possible to obtain a distributed representation that reflects the semantic relationships with other tokens in the text.
- a token is a collection of characters in a text into a unit whose meaning can be understood to some extent, and typically includes a word or a subword, which is a smaller unit.
- distributed representation is a representation of tokens as vectors (generally high-dimensional real vectors). In distributed representation, semantically close tokens correspond to close vectors.
- pre-training The step of learning the above distributed representation using a language model is called pre-training. Additionally, pre-trained distributed representations can be used to solve various tasks such as text classification tasks and question answering tasks, a step called fine-tuning.
- Non-Patent Document 1 achieves high performance in each fine-tuning task by learning highly accurate distributed representations of each token through pre-training using large-scale language resources. are doing.
- two tasks are used in pre-learning: a word-fill-in-the-blank task and a next-sentence prediction task.
- the word fill-in-the-blank task an input token sequence is created by randomly sampling tokens from a token sequence and performing one of the following operations: replacing them with masking tokens, replacing them with random tokens, or keeping the tokens as they are.
- the task is to predict the original token sequence (correct token sequence) from this input token sequence.
- the present disclosure has been made in view of the above points, and provides a technology that can quickly construct a language model that reflects phonetic connections.
- a language processing method includes an error dictionary in which a token sequence is associated with a plurality of first error token sequences each representing a token sequence that is phonetically similar to the token sequence but differs in part. A part of the original sentence token sequence representing a token sequence of the original sentence contained in the given text data is replaced with the first error token sequence, which is phonetically similar to the original sentence token sequence but differs in some parts.
- the computer executes an error sentence creation procedure for creating a second error token series representing the token series as data for constructing a language model.
- a technology is provided that allows language models that reflect phonetic connections to be constructed in a short time.
- FIG. 3 is a diagram showing an example of conversion into an input token sequence in a word fill-in-the-blank task. It is a diagram showing an example of the hardware configuration of a language processing device.
- FIG. 3 is a diagram showing an example of a functional configuration of a language processing device in an error dictionary creation phase and a language model learning phase. It is a figure showing an example of an error dictionary.
- 3 is a flowchart illustrating an example of language model learning processing.
- 3 is a flowchart illustrating an example of error dictionary creation processing.
- It is a figure showing an example of the functional composition of a language processing device in a phoneme conversion model learning phase.
- 3 is a flowchart illustrating an example of phoneme conversion model learning processing.
- FIG. 3 is a diagram illustrating an example of the functional configuration of a language processing device in a token conversion model learning phase.
- 3 is a flowchart illustrating an example of token conversion model learning processing.
- the language processing device 10 that can quickly construct a language model that reflects phonetic connections will be described.
- the language processing device 10 according to the present embodiment artificially creates error sentences using phonemes, and constructs a language model that reflects phonetic connections using these error sentences.
- the language processing device 10 according to the present embodiment includes a token series (correct token series) and a token series (erroneous token series) that is phonetically similar to the token series but includes an incorrect part. ) (hereinafter also referred to as an error dictionary) to create the error sentence.
- the language processing device 10 can generate a language model that reflects phonetic connections in a short period of time (for example, the time required for pre-learning the language model described in Non-Patent Document 1). time).
- a phoneme refers to the smallest unit of speech that humans can distinguish.
- the language processing device 10 includes an "error dictionary creation phase” for creating an error dictionary, and a “language model phase” for constructing a language model (pre-learning) using this error dictionary. There is a learning phase.
- the above error dictionary is created by converting a token sequence into a phoneme sequence using a phoneme conversion model, then reconverting the phoneme sequence into a token sequence using a token conversion model, and then combining the original token sequence and the reconverted token. It is created by associating it with the series.
- the language processing device 10 includes a "phoneme conversion model learning phase" for constructing (learning) a phoneme conversion model, and a “token conversion model learning phase” for constructing (learning) a token conversion model. There is a learning phase. Note that both the phoneme conversion model and the token conversion model are realized by a neural network that receives sequences as input and outputs sequences.
- FIG. 2 shows an example of the hardware configuration of the language processing device 10 according to this embodiment.
- the language processing device 10 includes an input device 101, a display device 102, an external I/F 103, a communication I/F 104, a RAM (Random Access Memory) 105, and a ROM. (Read Only Memory) 106, an auxiliary storage device 107, and a processor 108.
- Each of these pieces of hardware is communicably connected via a bus 109.
- the input device 101 is, for example, a keyboard, a mouse, a touch panel, a physical button, or the like.
- the display device 102 is, for example, a display, a display panel, or the like. Note that the language processing device 10 may not include at least one of the input device 101 and the display device 102, for example.
- the external I/F 103 is an interface with an external device such as the recording medium 103a.
- the language processing device 10 can read from and write to the recording medium 103a via the external I/F 103.
- Examples of the recording medium 103a include a flexible disk, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.
- the communication I/F 104 is an interface for connecting the language processing device 10 to a communication network.
- the RAM 105 is a volatile semiconductor memory (storage device) that temporarily holds programs and data.
- the ROM 106 is a nonvolatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off.
- the auxiliary storage device 107 is, for example, a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a flash memory.
- the processor 108 is, for example, an arithmetic device such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
- the language processing device 10 has the hardware configuration shown in FIG. 2, so that it can implement various processes described below.
- the hardware configuration shown in FIG. 2 is an example, and the hardware configuration of the language processing device 10 is not limited to this.
- the language processing device 10 may include multiple auxiliary storage devices 107 and multiple processors 108, may not include some of the illustrated hardware, or may include hardware other than the illustrated hardware. may include various hardware.
- FIG. 3 shows an example of the functional configuration of the language processing device 10 in the error dictionary creation phase and the language model learning phase.
- the language processing device 10 in the error dictionary creation phase and the language model learning phase includes an input data creation unit 201, an error sentence creation unit 202, a label creation unit 203, a language model unit 204, and an update unit 202. 205, a phoneme conversion section 206, a token conversion section 207, and an error dictionary creation section 208.
- Each of these units is realized, for example, by one or more programs installed in the language processing device 10 causing the processor 108 or the like to execute the processing.
- the language processing device 10 in the error dictionary creation phase and the language model learning phase includes a language model parameter storage section 209, a phoneme conversion model parameter storage section 210, a token conversion model parameter storage section 211, and an error dictionary storage section 212. has.
- Each of these storage units is realized by, for example, the auxiliary storage device 107 or the like. Note that at least one of these storage units may be realized by a storage device such as a database server connected to the language processing device 10 via a communication network.
- the input data creation unit 201 creates an original sentence from the given text data in the language model learning phase. Furthermore, the input data creation unit 201 creates a token sequence set from the given text data in the error dictionary creation phase.
- the error sentence creation unit 202 creates an error token sequence from the original sentence using the error dictionary stored in the error dictionary storage unit 212.
- An error token sequence is a token sequence that is phonetically similar to a token sequence representing an original sentence but includes an incorrect part (in other words, a token sequence representing an incorrect sentence in the original sentence). Note that a specific example of the error dictionary will be described later.
- the label creation unit 203 creates an input token sequence and a correct label for the word fill-in-the-blank task from the error token sequence.
- the correct answer label is information representing the correct answer as to how to correct errors in the input token sequence (including masking tokens) to obtain the original sentence token sequence.
- the language model unit 204 creates a predicted label from the input token sequence using the language model parameters stored in the language model parameter storage unit 209.
- the predicted label is information that predicts how to correct errors in the input token sequence (including masking tokens) to obtain the original sentence token sequence (correct token sequence).
- the language model unit 204 is realized by a language model using a neural network (a neural network that receives a token sequence as input and outputs its distributed representation) such as BERT described in Non-Patent Document 1. .
- the updating unit 205 updates the language model parameters from the correct label and the predicted label in the language model learning phase.
- the phoneme conversion unit 206 uses the phoneme conversion model parameters stored in the phoneme conversion model parameter storage unit 210 to create a phoneme sequence set from the token sequences included in the token sequence set.
- the phoneme conversion unit 206 is realized by a phoneme conversion model using a neural network that receives sequences as input and outputs sequences.
- the Transformer model described in Reference 1 can be used as the phoneme transformation model.
- the token conversion unit 207 uses the token conversion model parameters stored in the token conversion model parameter storage unit 211 to create a token sequence set from the phoneme sequence set.
- This token sequence set is a set of error token sequences of the original token sequence (that is, the token sequence input to the phoneme conversion unit 206).
- the token conversion unit 207 is realized by a token conversion model using a neural network that receives a sequence as input and outputs a sequence.
- the Transformer model described in Reference 1 can be used as the token conversion model.
- the error dictionary creation unit 208 creates an error dictionary that associates the token sequence input to the phoneme conversion unit 206 with the token sequence set output from the token conversion unit 207, and stores it in the error dictionary storage unit 212. That is, the error dictionary creation unit 208 defines the token sequence input to the phoneme conversion unit 206 as a “correct token sequence” and each token sequence included in the token sequence set output from the token conversion unit 207 as an “error token sequence.” '', an error dictionary is created and stored in which the correct token series and each error token series are associated with each other.
- the language model parameter storage unit 209 stores parameters of a language model that implements the language model unit 204 (language model parameters). Note that in the language model learning phase, it is assumed that the language model parameters have not been learned yet.
- the phoneme conversion model parameter storage unit 210 stores parameters of a phoneme conversion model that implements the phoneme conversion unit 206 (phoneme conversion model parameters). Note that in the error dictionary creation phase, it is assumed that the phoneme conversion model parameters have already been learned.
- the token conversion model parameter storage unit 211 stores parameters of a token conversion model that implements the token conversion unit 207 (token conversion model parameters). It is assumed that the token conversion model parameters have already been learned in the error dictionary creation phase.
- the error dictionary storage unit 212 stores an error dictionary.
- the error dictionary is information in which one token sequence (correct token sequence) is associated with a plurality of error token sequences related to that token sequence.
- the error dictionary for the token sequence "shi/te/i/ru”, “te/i/ru/[terminal]”, “shi/te/enter/[terminal]”, " Error token sequences such as "shi/te/i/re" and "shi/te/in/re" are associated.
- [end] represents the end of the token series.
- the input data creation unit 201 samples the original text from the given text data (step S101). As a result, the original text is created.
- the text data may be, for example, text data obtained from a web page of a website such as an online encyclopedia.
- the error sentence creation unit 202 creates an error token series from the original sentence using the error dictionary stored in the error dictionary storage unit 212 (step S102). Specifically, the error sentence creation unit 202 creates an error token series by following steps 1-1 to 1-5.
- Step 1-1 First, the error sentence creation unit 202 tokenizes the original sentence to create a token series.
- Step 1-2 Next, the error sentence creation unit 202 samples a part of the token series created in step 1-1. That is, the error sentence creation unit 202 samples a sequence of one or more consecutive tokens from the token sequence as a partial token sequence.
- the number of locations sampled as a partial token sequence may be one or multiple locations. However, if multiple locations are sampled, the sampling locations of each partial token sequence should not overlap.
- the sequence length of the partial token sequence to be sampled may be sampled from a predetermined range, or may be a fixed sequence length. In the following, for simplicity, the number of sampling points is one. Note that when there are multiple sampling points, steps 1-3 to 1-4 are executed for each sampling point, and then step 1-5 is executed.
- Step 1-3 Next, the error sentence creation unit 202 uses the partial token sequence sampled in step 1-2 to obtain an error token sequence set from the error dictionary. That is, the error sentence creation unit 202 searches the error dictionary using the partial token sequence sampled in step 1-2 as the "correct token sequence" and obtains a set of error token sequences corresponding to the correct token sequence.
- Step 1-4 Next, the error sentence creation unit 202 samples one error token sequence from the set of error token sequences obtained in step 1-3.
- Step 1-5 Then, the error sentence creation unit 202 converts the partial token sequence in the original token sequence (that is, the token sequence created in step 1-1) into the error token sequence obtained in step 1-4. Replace. As a result, a token sequence (erroneous token sequence representing an erroneous sentence in the original sentence) is obtained in which a part (sampling location) of the token sequence of the original sentence is replaced with an error token sequence.
- the label creation unit 203 creates an input token series and a correct label for the word fill-in-the-blank task from the error token series created in step S102 (step S103). Specifically, the label creation unit 203 creates an input token series and a correct label according to steps 2-1 to 2-3 below.
- Step 2-1 First, the label creation unit 203 randomly samples tokens from the error token series created in step S102.
- Step 2-2 Next, the label creation unit 203 performs a masked language model (MLM) operation described in Non-Patent Document 1 on the tokens sampled in step 2-1. That is, for the token sampled in step 2-1, the label creation unit 203 (a) replaces it with a masking token, (b) replaces it with a random token, (c) retains the token as it is. Perform one of the following operations. As a result, an input token sequence can be obtained from an error token sequence.
- MLM masked language model
- Step 2-3 the label creation unit 203 creates a correct label by comparing the token series of the original sentence and the input token series.
- the method for creating the correct label is not limited, and any method may be used. For example, if emphasis is placed on detecting and correcting erroneous tokens, which of the operations (a) to (c) above should be performed on which tokens to obtain the original sentence token sequence from the input token sequence.
- One method is to obtain an operation label that indicates whether the input token should be correct, and then use this operation label as a reference to obtain a correct label that reproduces the token sequence of the original sentence for an incorrect token in the input token sequence. .
- a correct label is assigned to a token that has been assigned an operation label representing an operation other than (c) above.
- the correct label is an element of the lexical set of tokens, and indicates which vocabulary token should be used to replace the incorrect token.
- the token series of the original document may be used as the correct label.
- the language model unit 204 uses the language model parameters stored in the language model parameter storage unit 209 to create a predicted label from the input token sequence created in step S103 (step S104).
- the updating unit 205 updates the language model parameters using the correct label created in step S103 and the predicted label created in step S104 (step S105).
- This update may be performed in the same manner as known supervised learning for neural network models.
- the language model parameters stored in the language model parameter storage unit 209 are learned, and as a result, a language model reflecting phonetic connections is constructed.
- the input data creation unit 201 creates a token sequence set from the given text data (step S201). That is, the input data creation unit 201 tokenizes each sentence in the given text data to create a token sequence set. For example, the input data creation unit 201 may add up the N-grams of each sentence in the given text data, and then tokenize the top M sentences to create a token sequence set.
- the text data only needs to match the language type of the text data given in the language model learning process, but in order to efficiently obtain the error token sequence in step S102 of FIG. It is preferable that the text data be the same as the text data given in the model learning process.
- steps S202 to S204 are repeatedly executed for each token sequence included in the token sequence set. In the following, a case will be described in which steps S202 to S204 are executed for a certain token sequence included in a token sequence set.
- the phoneme conversion unit 206 creates a phoneme sequence set from the token sequence using the phoneme conversion model parameters stored in the phoneme conversion model parameter storage unit 210 (step S202). That is, the phoneme conversion unit 206 converts the token sequence into a plurality of phoneme sequences that are appropriate phoneme sequences (pronunciation sequences) when the token sequence is vocalized, and determines how many of these phoneme sequences are appropriate. A phoneme sequence set consisting of the above phoneme sequences is created. For example, the phoneme conversion unit 206 may create the N-best of the plurality of phoneme sequences that are output when the token sequence is input to the phoneme conversion model as a phoneme sequence set.
- the token conversion unit 207 uses the token conversion model parameters stored in the token conversion model parameter storage unit 211 to create a token sequence set from the phoneme sequence set created in step S202 (step S203). That is, the token conversion unit 207 converts each phoneme sequence included in the phoneme sequence set into a token sequence with the same pronunciation as the phoneme sequence, and creates a token sequence set composed of these plurality of token sequences. As a result, a set of token sequences (erroneous token sequences) that are phonetically similar to the original token sequence (that is, the token sequence input to the phoneme conversion unit 206 in step S202) but include erroneous parts is obtained.
- step S203 one phoneme sequence is converted into one token sequence, but similarly to step S202, one phoneme sequence may be converted into multiple token sequences, and in this case, these multiple Only N-best of the token sequences may be included in the token sequence set.
- the error dictionary creation unit 208 associates the token sequence (that is, the token sequence input to the phoneme conversion unit 206 in step S202) with each token sequence included in the token sequence set obtained in step S203. After creating an error dictionary, this error dictionary is stored in the error dictionary storage unit 212 (step S204). That is, the error dictionary creation unit 208 creates an error dictionary by setting the token sequence in question as a "correct token sequence” and each token sequence included in the token sequence set obtained in step S203 as an "erroneous token sequence". It is stored in the dictionary storage unit 212.
- FIG. 7 shows an example of the functional configuration of the language processing device 10 in the phoneme conversion model learning phase.
- the language processing device 10 in the phoneme conversion model learning phase includes an input data creation section 201, an update section 205, and a phoneme conversion section 206. Each of these units is realized, for example, by one or more programs installed in the language processing device 10 causing the processor 108 or the like to execute the processing.
- the language processing device 10 in the phoneme conversion model learning phase also includes a phoneme conversion model parameter storage unit 210.
- the phoneme conversion model parameter storage unit 210 is realized by, for example, the auxiliary storage device 107 or the like. Note that the phoneme conversion model parameter storage unit 210 may be realized by a storage device such as a database server connected to the language processing device 10 via a communication network.
- the input data creation unit 201 creates a token sequence and a correct phoneme sequence from the given text data in the phoneme conversion model learning phase.
- the phoneme conversion unit 206 uses the phoneme conversion model parameters stored in the phoneme conversion model parameter storage unit 210 to create a predicted phoneme sequence that predicts how to read the token sequence from the token sequence. do.
- the updating unit 205 updates the phoneme conversion model parameters from the correct phoneme sequence and the predicted phoneme sequence in the phoneme conversion model learning phase.
- the phoneme conversion model parameter storage unit 210 stores parameters of a phoneme conversion model that implements the phoneme conversion unit 206 (phoneme conversion model parameters). Note that in the phoneme conversion model learning phase, it is assumed that the phoneme conversion model parameters have not been learned yet.
- the input data creation unit 201 assigns a reading to the given text data (step S301).
- any method may be used to assign readings to the text data, but for example, readings may be assigned to the text data using the method described in Reference 2. Note that this step is not necessary if a reading has already been assigned to the given text data.
- the input data creation unit 201 tokenizes a certain text in the text data to create a token sequence, and also creates a reading given to the text (for example, a phoneme sequence label) as a correct phoneme sequence (step S302).
- the phoneme conversion unit 206 creates a predicted phoneme sequence from the token sequence using the phoneme conversion model parameters stored in the phoneme conversion model parameter storage unit 210 (step S303). For example, the phoneme conversion unit 206 converts the token sequence into a plurality of phoneme sequences, and then creates the most probable phoneme sequence among the plurality of phoneme sequences as a predicted phoneme sequence.
- the updating unit 205 updates the phoneme conversion model parameters using the correct phoneme sequence created in step S302 and the predicted phoneme sequence created in step S303 (step S304). This update may be performed in the same manner as known supervised learning for neural network models. As a result, the phoneme conversion model parameters stored in the phoneme conversion model parameter storage section 210 are learned.
- FIG. 9 shows an example of the functional configuration of the language processing device 10 in the token conversion model learning phase.
- the language processing device 10 in the token conversion model learning phase includes an input data creation section 201, an updating section 205, and a token conversion section 207. Each of these units is realized, for example, by one or more programs installed in the language processing device 10 causing the processor 108 or the like to execute the processing.
- the language processing device 10 in the token conversion model learning phase also includes a token conversion model parameter storage section 211.
- the token conversion model parameter storage unit 211 is realized by, for example, the auxiliary storage device 107 or the like. Note that the token conversion model parameter storage unit 211 may be realized by a storage device such as a database server connected to the language processing device 10 via a communication network.
- the input data creation unit 201 creates a phoneme sequence and a correct token sequence from the given text data in the token conversion model learning phase.
- the token conversion unit 207 uses the token conversion model parameters stored in the token conversion model parameter storage unit 211 to predict a token sequence with the same pronunciation as the phoneme sequence from the phoneme sequence. Create a token series.
- the updating unit 205 updates the token conversion model parameters from the correct token sequence and the predicted token sequence in the token conversion model learning phase.
- the token conversion model parameter storage unit 211 stores parameters of a token conversion model that implements the token conversion unit 207 (token conversion model parameters). Note that in the token conversion model learning phase, it is assumed that the token conversion model parameters have not been learned yet.
- the input data creation unit 201 assigns a reading to the given text data (step S401).
- any method may be used to assign readings to the text data, but for example, readings may be assigned to the text data using the method described in Reference 2. Note that this step is not necessary if a reading has already been assigned to the given text data.
- the input data creation unit 201 tokenizes a certain text in the text data to create a correct token sequence, and also creates a reading given to the text (for example, a phoneme sequence label) as a phoneme sequence (step S402).
- the token conversion unit 207 creates a predicted token sequence from the phoneme sequence using the token conversion model parameters stored in the token conversion model parameter storage unit 211 (step S403).
- the updating unit 205 updates the token conversion model parameters using the correct token sequence created in step S302 and the predicted token sequence created in step S303 (step S404). This update may be performed in the same manner as known supervised learning for neural network models. As a result, the token conversion model parameters stored in the token conversion model parameter storage section 211 are learned.
- the language processing device 10 uses a pre-created error dictionary to generate a token sequence that is phonetically similar to a certain token sequence but includes an erroneous part (erroneous token sequence). can be created. Therefore, when constructing a language model that reflects phonetic connections, it is possible to construct it in about the same amount of time as the conventional technology.
- the language processing device 10 converts a certain token sequence into a phoneme sequence, and then converts the phoneme sequence again into a token sequence, thereby converting the error token into a token sequence.
- Create a series This makes it possible to create a token sequence (erroneous token sequence) that is phonetically similar to the original token sequence but includes incorrect parts, so it is possible to create an error dictionary by associating it with the original token sequence. .
- the language model constructed (pre-trained) by the language processing device 10 according to this embodiment can be fine-tuned for various tasks.
- tasks with high precision such as dialogue summarization, which uses actual speech recognition results as input.
- Reference 1 Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin, "Attention Is All You Need", In Proceedings of the NIPS 2017, pp. 5998- 6008, 2017.
- Reference 2 KyTea (Kyoto Text Analysis Toolkit), Internet ⁇ URL: http://www.phontron.com/kytea/index-ja.html>
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (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)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本開示の一態様による言語処理方法は、トークン系列と、前記トークン系列と音声的に近いが一部が異なるトークン系列をそれぞれ表す複数の第1の誤りトークン系列とが対応付けられた誤り辞書を用いて、与えられたテキストデータに含まれる原文章のトークン系列を表す原文トークン系列の一部を前記第1の誤りトークン系列で置換し、前記原文トークン系列と音声的に近いが一部が異なるトークン系列を表す第2の誤りトークン系列を言語モデル構築用のデータとして作成する誤り文作成手順、をコンピュータが実行する。
Description
本開示は、言語処理方法、言語処理装置及びプログラムに関する。
近年、BERT(Bidirectional Encoder Representations from Transformers)等を始めとした言語モデルに関する研究が盛んに行われている(例えば、非特許文献1参照)。言語モデルとは、トークンの分散表現を得るニューラルネットワークモデルの1つである。言語モデルでは、単一のトークンではなく、トークンが使用されているテキスト全てが入力されるため、テキスト内の他のトークンとの意味的な関係性を反映した分散表現を得ることができる。なお、トークンとは、テキスト中の文字を或る程度意味がわかる単位にまとめたものであり、典型的には単語や更に細かい単位であるサブワード等が挙げられる。また、分散表現とは、トークンをベクトル(一般には高次元の実数ベクトル)で表現したものである。分散表現では、意味的に近いトークンが近いベクトルに対応する。
言語モデルにより上記の分散表現を学習するステップは事前学習(pre-training)と呼ばれる。また、事前学習済みの分散表現を用いてテキスト分類タスクや質問応答タスク等の様々なタスクを解くことができ、このステップはファインチューニング(fine-tuning)と呼ばれる。
非特許文献1に記載されている言語モデルでは、大規模な言語資源を用いた事前学習により各トークンの精度の良い分散表現を学習しておくことで、ファインチューニングにおける各タスクでも高い性能を発揮している。ただし、ファインチューニングにおける各タスクで高い性能を発揮するためには十分な事前学習を行う必要がある。そのため、事前学習では、単語穴埋めタスクと次文予測タスクという2つのタスクを用いる。単語穴埋めタスクは、トークン系列からランダムにトークンをサンプリングし、マスク用トークンに置換する、ランダムなトークンに置換する、そのままのトークンを保持する、のいずれかの操作を行って入力トークン系列を作成し、この入力トークン系列から元のトークン系列(正解トークン系列)を予測するタスクである。
例えば、図1に示すように、「今日は良い天気です。」という原文章があったとする。この原文章をトークナイズした結果のトークン系列(正解トークン系列)から新たに「今日/[MASK]/良/い/消防車/です/。」というトークン系列(入力トークン系列)を得る(ただし、「/」はトークンの切れ目を表す。)。このとき、この入力トークン系列を言語モデルに入力し、正解トークン系列「今日/は/良/い/天気/です/。」を予測できるように言語モデルを学習する。非特許文献1に記載されている言語モデルは、ニューラルネットワークで実装されているため、正解トークン系列を教師ラベルとした一般的な教師ありのニューラルネットワーク学習方法を適用すればよい。なお、トークナイズとは、テキストをトークン単位に分割することをいう。
Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding".
しかしながら、非特許文献1等に記載されている従来の言語モデルには以下の(1)及び(2)の2つの課題が存在する。
(1)従来の言語モデルを、コールセンタ対話の要約等といった音声発話を入力とするタスクに適用する場合を考える。この場合、従来の言語モデルの入力はテキストであるため、音声発話を音声認識によりテキスト化する必要があり、そこには音声認識誤りが生じ得る。したがって、対話要約等のタスクを精度良く解くためには、音声認識誤りを含む文(誤り文)の内容や意図を正確に理解することが必要となる。一方で、単語穴埋めタスクの入力トークン系列は上述の通り人工的に作られた誤り文と言えるものの、元のトークン系列の音声的な繋がりが全く考慮されていない。このため、音声認識誤りの傾向の1つである「音声的には近いが意味が異なる誤り」に対応できておらず、結果として音声認識結果を用いた対話要約を精度良く解くことができない。例えば、図1に示す例では、「天気」トークンが「消防車」トークンへと置換されることで誤り文が作成されているが、実際の音声認識では、音声的に近しい「転機」トークンの方が間違いとして出現する確率が高いと考えられる。
(2)音声認識誤りを含む文(誤り文)の内容や意図を正確に理解するためには、誤り文と正解文の2つが必要となる。すなわち、音声データとその書き起こしテキストのペアデータが必要となる。しかしながら、人間の音声を収録した音声データとその書き起こしテキストのペアデータは書き言葉のテキストデータと比較すると非常に少なく、また音声収録及び書き起こしテキスト収集に要するコストも非常に高い。このため、音声データと書き起こしテキストのペアデータにより音声認識誤りに頑強な言語モデルを構築することは困難である。一方で、大量に存在する書き言葉のテキストデータを音声合成して音声データを人工的に作成し、その音声データの音声を音声認識して誤り文を作成する方法も考えられる。しかしながら、この方法は、音声合成と音声認識の両方で大量の時間を要するため現実的でなく、また使用した音声合成及び音声認識に特化され過ぎてしまい汎用的な言語モデルの構築が困難である。
本開示は、上記の点に鑑みてなされたもので、音声的な繋がりを反映した言語モデルを短時間に構築できる技術を提供する。
本開示の一態様による言語処理方法は、トークン系列と、前記トークン系列と音声的に近いが一部が異なるトークン系列をそれぞれ表す複数の第1の誤りトークン系列とが対応付けられた誤り辞書を用いて、与えられたテキストデータに含まれる原文章のトークン系列を表す原文トークン系列の一部を前記第1の誤りトークン系列で置換し、前記原文トークン系列と音声的に近いが一部が異なるトークン系列を表す第2の誤りトークン系列を言語モデル構築用のデータとして作成する誤り文作成手順、をコンピュータが実行する。
音声的な繋がりを反映した言語モデルを短時間に構築できる技術が提供される。
以下、本発明の一実施形態について説明する。以下の実施形態では、音声的な繋がりを反映した言語モデルを短時間に構築できる言語処理装置10について説明する。このために、本実施形態に係る言語処理装置10は、音素を介して誤り文を人工的に作成し、それらの誤り文により音声的な繋がりを反映した言語モデルを構築する。また、本実施形態に係る言語処理装置10は、誤り文を作成する際に、トークン系列(正しいトークン系列)とそのトークン系列と音声的には近いが誤った部分を含むトークン系列(誤りトークン系列)とを対応付けた辞書(以下、誤り辞書ともいう。)を参照して当該誤り文を作成する。これにより、本実施形態に係る言語処理装置10は、音声的な繋がりを反映した言語モデルを短時間(例えば、非特許文献1に記載されている言語モデルの事前学習に要する時間と同程度の時間)に構築することができる。なお、音素とは、人間が弁別可能な音声の最小単位のことをいう。
ここで、本実施形態に係る言語処理装置10には、誤り辞書を作成するための「誤り辞書作成フェーズ」と、この誤り辞書を用いて言語モデルを構築(事前学習)するための「言語モデル学習フェーズ」とが存在する。
また、上記の誤り辞書は、トークン系列を音素変換モデルにより音素系列に変換した後、更にその音素系列をトークン変換モデルによりトークン系列に再変換した上で、元のトークン系列と再変換後のトークン系列とを対応付けることで作成される。このため、本実施形態に係る言語処理装置10には、音素変換モデルを構築(学習)するための「音素変換モデル学習フェーズ」と、トークン変換モデルを構築(学習)するための「トークン変換モデル学習フェーズ」とが存在する。なお、音素変換モデル及びトークン変換モデルはいずれも、系列を入力として系列を出力するニューラルネットワークで実現される。
<言語処理装置10のハードウェア構成例>
本実施形態に係る言語処理装置10のハードウェア構成例を図2に示す。図2に示すように、本実施形態に係る言語処理装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
本実施形態に係る言語処理装置10のハードウェア構成例を図2に示す。図2に示すように、本実施形態に係る言語処理装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、言語処理装置10は、例えば、入力装置101及び表示装置102の少なくとも一方を有していなくてもよい。
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。言語処理装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
通信I/F104は、言語処理装置10を通信ネットワークに接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等のストレージ装置(記憶装置)である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算装置である。
本実施形態に係る言語処理装置10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図2に示すハードウェア構成は一例であって、言語処理装置10のハードウェア構成はこれに限られるものではない。例えば、言語処理装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。
[誤り辞書作成フェーズ及び言語モデル学習フェーズ]
以下、誤り辞書作成フェーズ及び言語モデル学習フェーズについて説明する。なお、誤り辞書作成フェーズ及び言語モデル学習フェーズでは、音素変換モデルのモデルパラメータとトークン変換モデルのモデルパラメータはいずれも学習済みであるものとする。
以下、誤り辞書作成フェーズ及び言語モデル学習フェーズについて説明する。なお、誤り辞書作成フェーズ及び言語モデル学習フェーズでは、音素変換モデルのモデルパラメータとトークン変換モデルのモデルパラメータはいずれも学習済みであるものとする。
<誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10の機能構成例>
誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10の機能構成例を図3に示す。図3に示すように、誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10は、入力データ作成部201と、誤り文作成部202と、ラベル作成部203と、言語モデル部204と、更新部205と、音素変換部206と、トークン変換部207と、誤り辞書作成部208とを有する。これら各部は、例えば、言語処理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10は、言語モデルパラメータ記憶部209と、音素変換モデルパラメータ記憶部210と、トークン変換モデルパラメータ記憶部211と、誤り辞書記憶部212とを有する。これら各記憶部は、例えば、補助記憶装置107等により実現される。なお、これら各記憶部のうちの少なくとも1つの記憶部が、言語処理装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されていてもよい。
誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10の機能構成例を図3に示す。図3に示すように、誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10は、入力データ作成部201と、誤り文作成部202と、ラベル作成部203と、言語モデル部204と、更新部205と、音素変換部206と、トークン変換部207と、誤り辞書作成部208とを有する。これら各部は、例えば、言語処理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、誤り辞書作成フェーズ及び言語モデル学習フェーズにおける言語処理装置10は、言語モデルパラメータ記憶部209と、音素変換モデルパラメータ記憶部210と、トークン変換モデルパラメータ記憶部211と、誤り辞書記憶部212とを有する。これら各記憶部は、例えば、補助記憶装置107等により実現される。なお、これら各記憶部のうちの少なくとも1つの記憶部が、言語処理装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されていてもよい。
入力データ作成部201は、言語モデル学習フェーズにおいて、与えられたテキストデータから原文章を作成する。また、入力データ作成部201は、誤り辞書作成フェーズにおいて、与えられたテキストデータからトークン系列集合を作成する。
誤り文作成部202は、言語モデル学習フェーズにおいて、誤り辞書記憶部212に記憶されている誤り辞書を用いて、原文章から誤りトークン系列を作成する。誤りトークン系列とは、原文章を表すトークン系列と音声的には近いが誤った部分を含むトークン系列(言い換えれば、原文章の誤り文を表すトークン系列)のことである。なお、誤り辞書の具体例については後述する。
ラベル作成部203は、言語モデル学習フェーズにおいて、誤りトークン系列から、単語穴埋めタスクの入力トークン系列と正解ラベルとを作成する。正解ラベルとは、入力トークン系列の誤り(マスク用トークンも含む)をどのように訂正すれば原文章のトークン系列が得られるかの正解を表す情報である。
言語モデル部204は、言語モデル学習フェーズにおいて、言語モデルパラメータ記憶部209に記憶されている言語モデルパラメータを用いて、入力トークン系列から予測ラベルを作成する。予測ラベルとは、入力トークン系列の誤り(マスク用トークンも含む)をどのように訂正すれば原文章のトークン系列(正解トークン系列)が得られるかを予測した情報である。ここで、言語モデル部204は、例えば、非特許文献1に記載されているBERT等といったニューラルネットワーク(トークン系列を入力として、その分散表現を出力するニューラルネットワーク)を利用した言語モデルにより実現される。
更新部205は、言語モデル学習フェーズにおいて、正解ラベルと予測ラベルから言語モデルパラメータを更新する。
音素変換部206は、誤り辞書作成フェーズにおいて、音素変換モデルパラメータ記憶部210に記憶されている音素変換モデルパラメータを用いて、トークン系列集合に含まれるトークン系列から音素系列集合を作成する。ここで、音素変換部206は、系列を入力として系列を出力するニューラルネットワークを利用した音素変換モデルにより実現される。例えば、音素変換モデルとして、参考文献1に記載されているTransformerモデル等を用いることができる。
トークン変換部207は、誤り辞書作成フェーズにおいて、トークン変換モデルパラメータ記憶部211に記憶されているトークン変換モデルパラメータを用いて、音素系列集合からトークン系列集合を作成する。このトークン系列集合は、元のトークン系列(つまり、音素変換部206に入力されたトークン系列)の誤りトークン系列の集合である。ここで、トークン変換部207は、系列を入力として系列を出力するニューラルネットワークを利用したトークン変換モデルにより実現される。例えば、トークン変換モデルとして、参考文献1に記載されているTransformerモデル等を用いることができる。
誤り辞書作成部208は、音素変換部206に入力されたトークン系列と、トークン変換部207から出力されたトークン系列集合とを対応付けた誤り辞書を作成し、誤り辞書記憶部212に格納する。すなわち、誤り辞書作成部208は、音素変換部206に入力されたトークン系列を「正しいトークン系列」、トークン変換部207から出力されたトークン系列集合に含まれる各トークン系列の各々を「誤りトークン系列」として、正しいトークン系列と各誤りトークン系列とを対応付けた誤り辞書を作成及び格納する。
言語モデルパラメータ記憶部209は、言語モデル部204を実現する言語モデルのパラメータ(言語モデルパラメータ)を記憶する。なお、言語モデル学習フェーズにおいては、言語モデルパラメータは学習済みでないものとする。
音素変換モデルパラメータ記憶部210は、音素変換部206を実現する音素変換モデルのパラメータ(音素変換モデルパラメータ)を記憶する。なお、誤り辞書作成フェーズにおいては、音素変換モデルパラメータは学習済みであるものとする。
トークン変換モデルパラメータ記憶部211は、トークン変換部207を実現するトークン変換モデルのパラメータ(トークン変換モデルパラメータ)を記憶する。なお、誤り辞書作成フェーズにおいては、トークン変換モデルパラメータは学習済みであるものとする。
誤り辞書記憶部212は、誤り辞書を記憶する。ここで、誤り辞書の一例を図4に示す。図4に示すように、誤り辞書は、1つのトークン系列(正しいトークン系列)に対して、そのトークン系列に関する複数の誤りトークン系列が対応付けられた情報である。図4に示す例では、「し/て/い/る」とのトークン系列に対して、「って/い/る/[終端]」、「し/て/入れ/[終端]」、「し/て/い/れ」、「し/て/入/れ」等の誤りトークン系列が対応付けられている。なお、[終端]はトークン系列の終端を表す。
<言語モデル学習処理>
以下、言語モデル学習フェーズで実行される言語モデル学習処理について、図5を参照しながら説明する。
以下、言語モデル学習フェーズで実行される言語モデル学習処理について、図5を参照しながら説明する。
入力データ作成部201は、与えられたテキストデータから原文章をサンプリングする(ステップS101)。これにより、原文章が作成される。なお、テキストデータとしては、例えば、オンライン百科事典等といったWebサイトのWebページから取得したテキストデータ等が考えられる。
次に、誤り文作成部202は、誤り辞書記憶部212に記憶されている誤り辞書を用いて、原文章から誤りトークン系列を作成する(ステップS102)。具体的には、誤り文作成部202は、以下の手順1-1~手順1-5により誤りトークン系列を作成する。
手順1-1:まず、誤り文作成部202は、原文章をトークナイズしてトークン系列を作成する。
手順1-2:次に、誤り文作成部202は、手順1-1で作成したトークン系列の一部をサンプリングする。すなわち、誤り文作成部202は、当該トークン系列の中から1以上の連続したトークンの系列を部分トークン系列としてサンプリングする。なお、部分トークン系列としてサンプリングされる箇所は1箇所でもよいし、複数箇所でもよい。ただし、複数箇所サンプリングされる場合は、各部分トークン系列のサンプリング箇所が重畳しないようにする。また、サンプリングされる部分トークン系列の系列長は予め決められた範囲の中からサンプリングされてもよいし、固定の系列長であってもよい。以下では、簡単のため、サンプリング箇所は1箇所であるものである。なお、サンプリング箇所が複数である場合、サンプリング箇所毎に手順1-3~手順1-4が実行された後に、手順1-5が実行される。
手順1-3:次に、誤り文作成部202は、手順1-2でサンプリングした部分トークン系列を用いて、誤り辞書から誤りトークン系列集合を得る。すなわち、誤り文作成部202は、手順1-2でサンプリングした部分トークン系列を「正しいトークン系列」として、誤り辞書を検索し、当該正しいトークン系列に対応する誤りトークン系列の集合を得る。
手順1-4:次に、誤り文作成部202は、手順1-3で得た誤りトークン系列集合の中から誤りトークン系列を1つサンプリングする。
手順1-5:そして、誤り文作成部202は、元のトークン系列(つまり、手順1-1で作成したトークン系列)中の部分トークン系列を、手順1-4で得られた誤りトークン系列に置換する。これにより、原文章のトークン系列の一部(サンプリング箇所)が誤りトークン系列に置換されたトークン系列(原文章の誤り文を表す誤りトークン系列)が得られる。
次に、ラベル作成部203は、ステップS102で作成された誤りトークン系列から、単語穴埋めタスクの入力トークン系列と正解ラベルとを作成する(ステップS103)。具体的には、ラベル作成部203は、以下の手順2-1~手順2-3により入力トークン系列と正解ラベルとを作成する。
手順2-1:まず、ラベル作成部203は、ステップS102で作成された誤りトークン系列からトークンをランダムにサンプリングする。
手順2-2:次に、ラベル作成部203は、手順2-1でサンプリングしたトークンに対して、非特許文献1に記載されている単語穴埋めタスク(MLM:Masked Language Model)の操作を行う。すなわち、ラベル作成部203は、手順2-1でサンプリングしたトークンに対して、(a)マスク用トークンに置換する、(b)ランダムなトークンに置換する、(c)そのままのトークンを保持する、のいずれかの操作を行う。これにより、誤りトークン系列から入力トークン系列が得られる。
手順2-3:そして、ラベル作成部203は、原文章のトークン系列と、入力トークン系列とを比較して正解ラベルを作成する。ここで、正解ラベルの作成方法は限定されず、任意の方法を用いればよい。例えば、誤ったトークンの検出と訂正に重きを置く場合には、入力トークン系列から原文章のトークン系列を得るためにはどのトークンに対して上記の(a)~(c)のどの操作を行えばよいかを表す操作ラベルを得た上で、この操作ラベルを参考に、入力トークン系列中の誤ったトークンに対して、原文章のトークン系列を再現するような正解ラベルを得る方法が挙げられる。この方法では、上記の(c)以外の操作を表す操作ラベルが付与されたトークンに対して正解ラベルが付与される。正解ラベルはトークンの語彙集合の要素であり、誤ったトークンをどの語彙のトークンに置換すればよいかを表している。又は、例えば、誤りを訂正し流暢なテキストを得ることに重きを置く場合には、原文書のトークン系列を正解ラベルとしてもよい。
次に、言語モデル部204は、言語モデルパラメータ記憶部209に記憶されている言語モデルパラメータを用いて、ステップS103で作成された入力トークン系列から予測ラベルを作成する(ステップS104)。
そして、更新部205は、ステップS103で作成された正解ラベルと、ステップS104で作成された予測ラベルとを用いて、言語モデルパラメータを更新する(ステップS105)。この更新は、ニューラルネットワークモデルに対する既知の教師あり学習と同様に行えばよい。これにより、言語モデルパラメータ記憶部209に記憶されている言語モデルパラメータが学習され、その結果、音声的な繋がりを反映した言語モデルが構築される。
<誤り辞書作成処理>
以下、誤り辞書作成フェーズで実行される誤り辞書作成処理について、図6を参照しながら説明する。
以下、誤り辞書作成フェーズで実行される誤り辞書作成処理について、図6を参照しながら説明する。
入力データ作成部201は、与えられたテキストデータからトークン系列集合を作成する(ステップS201)。すなわち、入力データ作成部201は、与えられたテキストデータ中の各文章をトークナイズしてトークン系列集合を作成する。例えば、入力データ作成部201は、与えられたテキストデータ中の各文章のN-gramを集計した上で、上位M個の文章をトークナイズしてトークン系列集合を作成すればよい。なお、テキストデータは、言語モデル学習処理で与えられるテキストデータと言語種別が合致していればよいが、図5のステップS102で誤りトークン系列が効率的に得られるようにするためには、言語モデル学習処理で与えられるテキストデータと同一であることが好ましい。
以降のステップS202~ステップS204は、トークン系列集合に含まれる各トークン系列に対して繰り返し実行される。以下では、トークン系列集合に含まれる或るトークン系列に対してステップS202~ステップS204を実行する場合について説明する。
次に、音素変換部206は、音素変換モデルパラメータ記憶部210に記憶されている音素変換モデルパラメータを用いて、当該トークン系列から音素系列集合を作成する(ステップS202)。すなわち、音素変換部206は、当該トークン系列を、そのトークン系列を音声化したときに相応しい音素の系列(読み方の系列)である複数の音素系列に変換し、これら複数の音素系列のうちのいくつかの音素系列で構成される音素系列集合を作成する。例えば、音素変換部206は、当該トークン系列を音素変換モデルに入力したときに出力される複数の音素系列のうちのN-bestを音素系列集合として作成すればよい。
次に、トークン変換部207は、トークン変換モデルパラメータ記憶部211に記憶されているトークン変換モデルパラメータを用いて、ステップS202で作成された音素系列集合からトークン系列集合を作成する(ステップS203)。すなわち、トークン変換部207は、音素系列集合に含まれる各音素系列を、その音素系列と同じ読み方のトークン系列にそれぞれ変換し、これら複数のトークン系列で構成されるトークン系列集合を作成する。これにより、元のトークン系列(つまり、ステップS202で音素変換部206に入力されたトークン系列)と音声的には近いが誤った部分を含むトークン系列(誤りトークン系列)の集合が得られる。
なお、ステップS203では1つの音素系列を1つのトークン系列に変換しているが、ステップS202と同様に、1つの音素系列を複数のトークン系列に変換してもよく、また、このとき、これら複数のトークン系列のうちのN-bestのみをトークン系列集合に含まれる要素としてもよい。
そして、誤り辞書作成部208は、当該トークン系列(つまり、ステップS202で音素変換部206に入力されたトークン系列)と、ステップS203で得られたトークン系列集合に含まれる各トークン系列とを対応付けて誤り辞書を作成した上で、この誤り辞書を誤り辞書記憶部212に格納する(ステップS204)。すなわち、誤り辞書作成部208は、当該トークン系列を「正しいトークン系列」、ステップS203で得られたトークン系列集合に含まれる各トークン系列の各々を「誤りトークン系列」として誤り辞書を作成し、誤り辞書記憶部212に格納する。
[音素変換モデル学習フェーズ]
以下、音素変換モデル学習フェーズについて説明する。なお、音素変換モデル学習フェーズでは、音素変換モデルパラメータは学習済みでないものとする。
以下、音素変換モデル学習フェーズについて説明する。なお、音素変換モデル学習フェーズでは、音素変換モデルパラメータは学習済みでないものとする。
<音素変換モデル学習フェーズにおける言語処理装置10の機能構成例>
音素変換モデル学習フェーズにおける言語処理装置10の機能構成例を図7に示す。図7に示すように、音素変換モデル学習フェーズにおける言語処理装置10は、入力データ作成部201と、更新部205と、音素変換部206とを有する。これら各部は、例えば、言語処理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、音素変換モデル学習フェーズにおける言語処理装置10は、音素変換モデルパラメータ記憶部210を有する。音素変換モデルパラメータ記憶部210は、例えば、補助記憶装置107等により実現される。なお、音素変換モデルパラメータ記憶部210は、言語処理装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されていてもよい。
音素変換モデル学習フェーズにおける言語処理装置10の機能構成例を図7に示す。図7に示すように、音素変換モデル学習フェーズにおける言語処理装置10は、入力データ作成部201と、更新部205と、音素変換部206とを有する。これら各部は、例えば、言語処理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、音素変換モデル学習フェーズにおける言語処理装置10は、音素変換モデルパラメータ記憶部210を有する。音素変換モデルパラメータ記憶部210は、例えば、補助記憶装置107等により実現される。なお、音素変換モデルパラメータ記憶部210は、言語処理装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されていてもよい。
入力データ作成部201は、音素変換モデル学習フェーズにおいて、与えられたテキストデータからトークン系列と正解音素系列とを作成する。
音素変換部206は、音素変換モデル学習フェーズにおいて、音素変換モデルパラメータ記憶部210に記憶されている音素変換モデルパラメータを用いて、トークン系列から、そのトークン系列の読み方を予測した予測音素系列を作成する。
更新部205は、音素変換モデル学習フェーズにおいて、正解音素系列と予測音素系列から音素変換モデルパラメータを更新する。
音素変換モデルパラメータ記憶部210は、音素変換部206を実現する音素変換モデルのパラメータ(音素変換モデルパラメータ)を記憶する。なお、音素変換モデル学習フェーズにおいては、音素変換モデルパラメータは学習済みでないものとする。
<音素変換モデル学習処理>
以下、音素変換モデル学習フェーズで実行される音素変換モデル学習処理について、図8を参照しながら説明する。
以下、音素変換モデル学習フェーズで実行される音素変換モデル学習処理について、図8を参照しながら説明する。
まず、入力データ作成部201は、与えられたテキストデータに対して読み方を付与する(ステップS301)。ここで、テキストデータに対して読み方を付与する方法は任意の方法を用いればよいが、例えば、参考文献2に記載されている方法によりテキストデータに対して読み方を付与すればよい。なお、与えられたテキストデータに対して読み方が既に付与されている場合は、本ステップは不要である。
入力データ作成部201は、テキストデータ内の或るテキストをトークナイズしてトークン系列を作成すると共に、そのテキストに付与されている読み方(例えば、音素系列ラベル)を正解音素系列として作成する(ステップS302)。
次に、音素変換部206は、音素変換モデルパラメータ記憶部210に記憶されている音素変換モデルパラメータを用いて、トークン系列から予測音素系列を作成する(ステップS303)。例えば、音素変換部206は、当該トークン系列を複数の音素系列に変換した上で、それら複数の音素系列のうち最も確からしい音素系列を予測音素系列として作成する。
そして、更新部205は、ステップS302で作成された正解音素系列と、ステップS303で作成された予測音素系列とを用いて、音素変換モデルパラメータを更新する(ステップS304)。この更新は、ニューラルネットワークモデルに対する既知の教師あり学習と同様に行えばよい。これにより、音素変換モデルパラメータ記憶部210に記憶されている音素変換モデルパラメータが学習される。
[トークン変換モデル学習フェーズ]
以下、トークン変換モデル学習フェーズについて説明する。なお、トークン変換モデル学習フェーズでは、トークン変換モデルパラメータは学習済みでないものとする。
以下、トークン変換モデル学習フェーズについて説明する。なお、トークン変換モデル学習フェーズでは、トークン変換モデルパラメータは学習済みでないものとする。
<トークン変換モデル学習フェーズにおける言語処理装置10の機能構成例>
トークン変換モデル学習フェーズにおける言語処理装置10の機能構成例を図9に示す。図9に示すように、トークン変換モデル学習フェーズにおける言語処理装置10は、入力データ作成部201と、更新部205と、トークン変換部207とを有する。これら各部は、例えば、言語処理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、トークン変換モデル学習フェーズにおける言語処理装置10は、トークン変換モデルパラメータ記憶部211を有する。トークン変換モデルパラメータ記憶部211は、例えば、補助記憶装置107等により実現される。なお、トークン変換モデルパラメータ記憶部211は、言語処理装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されていてもよい。
トークン変換モデル学習フェーズにおける言語処理装置10の機能構成例を図9に示す。図9に示すように、トークン変換モデル学習フェーズにおける言語処理装置10は、入力データ作成部201と、更新部205と、トークン変換部207とを有する。これら各部は、例えば、言語処理装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、トークン変換モデル学習フェーズにおける言語処理装置10は、トークン変換モデルパラメータ記憶部211を有する。トークン変換モデルパラメータ記憶部211は、例えば、補助記憶装置107等により実現される。なお、トークン変換モデルパラメータ記憶部211は、言語処理装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されていてもよい。
入力データ作成部201は、トークン変換モデル学習フェーズにおいて、与えられたテキストデータから音素系列と正解トークン系列とを作成する。
トークン変換部207は、トークン変換モデル学習フェーズにおいて、トークン変換モデルパラメータ記憶部211に記憶されているトークン変換モデルパラメータを用いて、音素系列から、その音素系列と同じ読み方のトークン系列を予測した予測トークン系列を作成する。
更新部205は、トークン変換モデル学習フェーズにおいて、正解トークン系列と予測トークン系列からトークン変換モデルパラメータを更新する。
トークン変換モデルパラメータ記憶部211は、トークン変換部207を実現するトークン変換モデルのパラメータ(トークン変換モデルパラメータ)を記憶する。なお、トークン変換モデル学習フェーズにおいては、トークン変換モデルパラメータは学習済みでないものとする。
<トークン変換モデル学習処理>
以下、トークン変換モデル学習フェーズで実行されるトークン変換モデル学習処理について、図10を参照しながら説明する。
以下、トークン変換モデル学習フェーズで実行されるトークン変換モデル学習処理について、図10を参照しながら説明する。
まず、入力データ作成部201は、与えられたテキストデータに対して読み方を付与する(ステップS401)。ここで、テキストデータに対して読み方を付与する方法は任意の方法を用いればよいが、例えば、参考文献2に記載されている方法によりテキストデータに対して読み方を付与すればよい。なお、与えられたテキストデータに対して読み方が既に付与されている場合は、本ステップは不要である。
入力データ作成部201は、テキストデータ内の或るテキストをトークナイズして正解トークン系列を作成すると共に、そのテキストに付与されている読み方(例えば、音素系列ラベル)を音素系列として作成する(ステップS402)。
次に、トークン変換部207は、トークン変換モデルパラメータ記憶部211に記憶されているトークン変換モデルパラメータを用いて、音素系列から予測トークン系列を作成する(ステップS403)。
そして、更新部205は、ステップS302で作成された正解トークン系列と、ステップS303で作成された予測トークン系列とを用いて、トークン変換モデルパラメータを更新する(ステップS404)。この更新は、ニューラルネットワークモデルに対する既知の教師あり学習と同様に行えばよい。これにより、トークン変換モデルパラメータ記憶部211に記憶されているトークン変換モデルパラメータが学習される。
[まとめ]
以上のように、本実施形態に係る言語処理装置10は、予め作成された誤り辞書を用いて、或るトークン系列と音声的には近いが誤った部分を含むトークン系列(誤りトークン系列)を作成することができる。このため、音声的な繋がりを反映した言語モデルを構築する際に、従来技術と同程度の時間で構築することが可能となる。
以上のように、本実施形態に係る言語処理装置10は、予め作成された誤り辞書を用いて、或るトークン系列と音声的には近いが誤った部分を含むトークン系列(誤りトークン系列)を作成することができる。このため、音声的な繋がりを反映した言語モデルを構築する際に、従来技術と同程度の時間で構築することが可能となる。
また、本実施形態に係る言語処理装置10は、誤り辞書を作成する際に、或るトークン系列を音素系列に変換した上で、更にその音素系列をトークン系列に再変換することで、誤りトークン系列を作成する。これにより、元のトークン系列と音声的には近いが誤った部分を含むトークン系列(誤りトークン系列)の作成が可能となるため、元のトークン系列と対応付けることで誤り辞書を作成することができる。
本実施形態に係る言語処理装置10によって構築(事前学習)された言語モデルは、様々なタスクにファインチューニングすることができる。特に、例えば、実際の音声認識結果を入力とする対話要約等といったタスクを精度良く解くことが可能となる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
[参考文献]
参考文献1:Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin, "Attention Is All You Need", In Proceedings of the NIPS 2017, pp. 5998-6008, 2017.
参考文献2:KyTea(京都テキスト解析ツールキット), インターネット<URL:http://www.phontron.com/kytea/index-ja.html>
参考文献1:Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin, "Attention Is All You Need", In Proceedings of the NIPS 2017, pp. 5998-6008, 2017.
参考文献2:KyTea(京都テキスト解析ツールキット), インターネット<URL:http://www.phontron.com/kytea/index-ja.html>
10 言語処理装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 入力データ作成部
202 誤り文作成部
203 ラベル作成部
204 言語モデル部
205 更新部
206 音素変換部
207 トークン変換部
208 誤り辞書作成部
209 言語モデルパラメータ記憶部
210 音素変換モデルパラメータ記憶部
211 トークン変換モデルパラメータ記憶部
212 誤り辞書記憶部
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 入力データ作成部
202 誤り文作成部
203 ラベル作成部
204 言語モデル部
205 更新部
206 音素変換部
207 トークン変換部
208 誤り辞書作成部
209 言語モデルパラメータ記憶部
210 音素変換モデルパラメータ記憶部
211 トークン変換モデルパラメータ記憶部
212 誤り辞書記憶部
Claims (6)
- トークン系列と、前記トークン系列と音声的に近いが一部が異なるトークン系列をそれぞれ表す複数の第1の誤りトークン系列とが対応付けられた誤り辞書を用いて、与えられたテキストデータに含まれる原文章のトークン系列を表す原文トークン系列の一部を前記第1の誤りトークン系列で置換し、前記原文トークン系列と音声的に近いが一部が異なるトークン系列を表す第2の誤りトークン系列を言語モデル構築用のデータとして作成する誤り文作成手順、
をコンピュータが実行する言語処理方法。 - 与えられたテキストデータに含まれる文章を表す第1のトークン系列を用いて、ニューラルネットワークで実現される音素変換モデルにより、前記第1のトークン系列を音声化したときの音素の系列をそれぞれ表す複数の音素系列を作成する音声変換手順と、
前記複数の音素系列を用いて、ニューラルネットワークで実現されるトークン変換モデルにより、前記複数の音素系列の各々に関して、前記音素系列が表す読み方と同じ読み方で、かつ、一部が異なるトークン系列を表す第3の誤りトークン系列をそれぞれ作成するトークン変換手順と、
前記第1のトークン系列と、複数の前記第3の誤りトークン系列とを対応付けて前記誤り辞書を作成する誤り辞書作成手順と、
をコンピュータが実行する請求項1に記載の言語処理方法。 - 前記音素変換モデル及び前記トークン変換モデルのそれぞれは、系列を入力として系列を出力するニューラルネットワークで実現される、請求項2に記載の言語処理方法。
- 前記第2の誤りトークン系列を用いて、単語穴埋めタスクの入力トークン系列と前記入力トークン系列に対する正解ラベルとを作成するラベル作成手順と、
前記入力トークン系列を用いて、ニューラルネットワークで実現される言語モデルにより、前記入力トークン系列の分散表現を表す予測ラベルを作成する言語モデル手順と、
前記正解ラベルと前記予測ラベルとを用いて、前記言語モデルのパラメータを更新する更新手順と、
をコンピュータが実行する請求項1乃至3の何れか一項に記載の言語処理方法。 - トークン系列と、前記トークン系列と音声的に近いが一部が異なるトークン系列をそれぞれ表す複数の第1の誤りトークン系列とが対応付けられた誤り辞書を用いて、与えられたテキストデータに含まれる原文章のトークン系列を表す原文トークン系列の一部を前記第1の誤りトークン系列で置換し、前記原文トークン系列と音声的に近いが一部が異なるトークン系列を表す第2の誤りトークン系列を言語モデル構築用のデータとして作成するように構成されている誤り文作成部、
を有する言語処理装置。 - トークン系列と、前記トークン系列と音声的に近いが一部が異なるトークン系列をそれぞれ表す複数の第1の誤りトークン系列とが対応付けられた誤り辞書を用いて、与えられたテキストデータに含まれる原文章のトークン系列を表す原文トークン系列の一部を前記第1の誤りトークン系列で置換し、前記原文トークン系列と音声的に近いが一部が異なるトークン系列を表す第2の誤りトークン系列を言語モデル構築用のデータとして作成する誤り文作成手順、
をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/021380 WO2023228313A1 (ja) | 2022-05-25 | 2022-05-25 | 言語処理方法、言語処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/021380 WO2023228313A1 (ja) | 2022-05-25 | 2022-05-25 | 言語処理方法、言語処理装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023228313A1 true WO2023228313A1 (ja) | 2023-11-30 |
Family
ID=88918708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/021380 WO2023228313A1 (ja) | 2022-05-25 | 2022-05-25 | 言語処理方法、言語処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023228313A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016110082A (ja) * | 2014-12-08 | 2016-06-20 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 言語モデル学習方法及び装置、音声認識方法及び装置 |
US10388272B1 (en) * | 2018-12-04 | 2019-08-20 | Sorenson Ip Holdings, Llc | Training speech recognition systems using word sequences |
WO2021100181A1 (ja) * | 2019-11-21 | 2021-05-27 | 日本電信電話株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2022085296A1 (ja) * | 2020-10-19 | 2022-04-28 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、コンピュータプログラム、フォーマット変換装置、オーディオコンテンツ自動転記システム、学習済みモデル、並びに表示装置 |
-
2022
- 2022-05-25 WO PCT/JP2022/021380 patent/WO2023228313A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016110082A (ja) * | 2014-12-08 | 2016-06-20 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 言語モデル学習方法及び装置、音声認識方法及び装置 |
US10388272B1 (en) * | 2018-12-04 | 2019-08-20 | Sorenson Ip Holdings, Llc | Training speech recognition systems using word sequences |
WO2021100181A1 (ja) * | 2019-11-21 | 2021-05-27 | 日本電信電話株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2022085296A1 (ja) * | 2020-10-19 | 2022-04-28 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、コンピュータプログラム、フォーマット変換装置、オーディオコンテンツ自動転記システム、学習済みモデル、並びに表示装置 |
Non-Patent Citations (1)
Title |
---|
TSUTSUI, RYOHEI; SUZUKI, MOTOYUKI; ITO AKINORI; MAKINO SHOZO: "Speech recognition of English spoken by Japanese native speekers using N-gram trained from generated text", IEICE TECHNICAL REPORT, NLC, IEICE, JP, vol. 107, no. 405, NLC2007-54, 1 December 2007 (2007-12-01), JP, pages 125 - 130, XP009550668 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102375115B1 (ko) | 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화 | |
Besacier et al. | Automatic speech recognition for under-resourced languages: A survey | |
US8504367B2 (en) | Speech retrieval apparatus and speech retrieval method | |
US6952665B1 (en) | Translating apparatus and method, and recording medium used therewith | |
US20070255567A1 (en) | System and method for generating a pronunciation dictionary | |
Tsvetkov et al. | Cross-lingual bridges with models of lexical borrowing | |
Bartlett et al. | Automatic syllabification with structured SVMs for letter-to-phoneme conversion | |
US20080027725A1 (en) | Automatic Accent Detection With Limited Manually Labeled Data | |
Hasegawa-Johnson et al. | Grapheme-to-phoneme transduction for cross-language ASR | |
Meylan et al. | Word forms-not just their lengths-are optimized for efficient communication | |
Nasr et al. | End-to-end speech recognition for arabic dialects | |
Bigi | A phonetization approach for the forced-alignment task in SPPAS | |
Misker et al. | Combining optimality theory and a cognitive architecture | |
Lőrincz et al. | RoLEX: The development of an extended Romanian lexical dataset and its evaluation at predicting concurrent lexical information | |
Kimanuka et al. | Speech recognition datasets for low-resource Congolese languages | |
Singh et al. | MECOS: A bilingual Manipuri–English spontaneous code-switching speech corpus for automatic speech recognition | |
WO2023228313A1 (ja) | 言語処理方法、言語処理装置及びプログラム | |
Sazhok et al. | Punctuation Restoration for Ukrainian Broadcast Speech Recognition System based on Bidirectional Recurrent Neural Network and Word Embeddings. | |
Putri et al. | Long short-term memory based language model for indonesian spontaneous speech recognition | |
Domokos et al. | Romanian phonetic transcription dictionary for speeding up language technology development | |
JP6763527B2 (ja) | 認識結果補正装置、認識結果補正方法、およびプログラム | |
JP7102986B2 (ja) | 音声認識装置、音声認識プログラム、音声認識方法および辞書生成装置 | |
Lyes et al. | Building a pronunciation dictionary for the Kabyle language | |
Carson-Berndsen | Multilingual time maps: portable phonotactic models for speech technology | |
JP2005208483A (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: 22943717 Country of ref document: EP Kind code of ref document: A1 |