言語処理学会 第25回年次大会 発表論文集 (2019年3月)

Machine Speech Chain に基づく半教師あり学習を用いた日英コードスイッチング音声の認識
中山 佐保子 1

チャンドラ アンドロス 1,2 サクティ サクリアニ 1,21
奈良先端科学技術大学院大学 情報科学研究科
2
理化学研究所 革新知能統合研究センター

中村 哲 1,2{nakayama.sahoko.nq1, andros.tjandra.ai6, ssakti, s-nakamura}@is.naist.jp

1

はじめにピーキング（ASR）とリスニング（TTS）のどちらかだけではなく，スピーキングとリスニングを同時にでコードスイッチング (CS) とは，同じ会話の中で言語きるようにした．Sequence-to-Sequence の ASR [4, 5]が別の言語に切り替わる現象をいう．CS は入力が多言と Sequence-to-Sequence の TTS [6]，それらをつなぐ語になるので，音声認識（ASR）や音声合成（TTS）ループ結合で構成され，そのループ構造が，ラベル付といった音声言語処理技術で扱うのが難しい．これきのデータとラベルなしのデータの両方を組み合わせまでの既存手法では，ASR か TTS のどちらかを CSてモデルを学習できるようにしている．

データで教師あり学習を行うものが多かった．しかし，

CS の ASR と TTS は，以下の学習プロセスをもつ

音声とテキストがパラレルな CS データは入手しにく

スピーチチェーンフレームワーク (Fig. 1) で構築さいため，ラベル付きの CS データを多く必要とする教れる．

師あり学習は実用的ではない．そこで，私達は，深層学習のスピーチチェーンを利用して ASR と TTS をループ結合し，日英 CS を半教師あり学習させることにした．まずは，人間が学校で複数の言語を学ぶように，ラベル付きの日本語と英語のモノリンガルデータ
で ASR と TTS を別々に学習 (教師あり学習) し，その後，人間が CS を聞いて話すように，CS のテキス

1. ラベル付きのモノリンガルデータで ASR と TTSを別々に学習 (教師あり学習)
まず，人間が学校で複数の言語を学ぶのと同じよ
うに，ASR と TTS を別々に，ラベル付きのモノリンガルの日本語と英語のデータで学習する（教師あり学習）(図 1(a))．

トか音声のどちらかでスピーチチェーンを試した (教師なし学習)．この実験の結果，スピーチチェーンによって ASR と TTS が互いに学習し合い，ラベルなしの CS データで，パフォーマンスが向上することを示した．

2

コードスイッチングの半教師あり学習のためのスピーチチェーン

2. ラベルなしの CS データを用いてスピーチチェー
ンで ASR と TTS を同時に学習する（教師なし学習）
その後，人間がマルチリンガルの環境で CS を聞いて話すように，ラベルなしの CS データを用いてスピーチチェーンで ASR と TTS を同時に学習する（教師なし学習） (図 1(b)).
この教師なし学習の学習プロセスを以下の構造に以前，我々の研究室では，ヒューマンスピーチチェー
ン [1] を基に，深層学習を用いたマシーンスピーチチ
ェーンを設計した [2, 3]．ヒューマンスピーチチェー
ンとは，人間にとって大事なコミュニケーションの仕組みで，聴覚フィードバックを行いながらスピーキングとリスニングを繰り返す仕組みである．これに基づくマシーンスピーチチェーンは，コンピュータにス― 179 ―展開する．

(a) CS テキストのみが与えられた時の TTS から ASR への展開プロセス
CS テキストの入力 y CS が与えられると，
TTS は音声波形 x̂CS を作り，作られた音声から ASR がテキスト ŷ CS を再構築する（図 1(c)）．そして，出力テキストの予測ベ

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

( , )

ASR
Mono speech

ASRASR
ASR

MonospeechspeechMono
Mono speech

づけする．

( , )

( , )
( , )

ono
M onoCSCS
L = α ∗ (LMASR + LT T S ) + β ∗ (LASR + LT T S )

( , )

(1)

( , ) ( , )( , )Mono speech

TTS
TTSTTSTTS

MonoMonospeechspeechMono speech(a)

CS speech
CS speech
CS speechspeechCS
CS speech
CS speech

CS
CS speech
speech3

実験

3.1

モノリンガルと CS コーパス

(b)

ASR

TTSTTSCS speech

( , )
( , )

( , )

( , )

CS speech

TTS
(c)

TTS

(3)

メータである．

TTSASR

θT T S = Optim(θT T S , ∇θT T S L),

ベルなし）の損失を重みづけするハイパーパラ

CSspeechspeechTTS
CSTTS
CS speech
CS speech
TTS

CS speech
CS speech(2)α と β は教師あり（ラベル付き）と教師なし（ラASR
ASR
ASR
ASR

ASRASR

θASR = Optim(θASR , ∇θASR L)

我々は，ATR の旅行会話コーパス（BTEC）[7] のASR
CS speech ASR
CS speech
ASRASR( , speech)CS

日本語と英語を利用した．ランダムに選んで訓練セットとし，それ以外の 500 文を開発セット，別の 500 文をテストセットとした．日英 CS データセットについ( CS, ) speech( , )ては，日本語と英語の BTEC 文から作成した．ここTTS( , ) TTS

では，文中 CS の単語レベルとフレーズレベルの 2 種

CSCSspeechspeech(d) TTSCS speech類を作成した．詳細は [8] に記してある．

TTS

図 1: 提案したフレームワークの概観: (a) ラベル付
CS speech

英語のテキストについては，全ての文字を小文字にきのモノリンガルデータで ASR と TTS を別々に学習変換し句読点記号 [,:?.] を取り除いた．日本語のテキス(教師あり学習); (b) ラベルなしの CS データで ASR

トは，形態素解析 の Mecab1 を用いてカタカナに変換と TTS をスピーチチェーンを用いて同時に学習 (教し pykakasi2 を用いてアルファベットに変換した．結師なし学習); (c) CS テキストだけが与えられたとき

果の語彙は，26 の文字（a-z）と日本語の音を伸ばすたの TTS から ASR へのプロセス; (d) CS 音声だけがめの記号 (-) と文の始めと終わり，単語の間のスペー与えられたときの ASR から TTS へのプロセス.

スを表す 3 つのタグ (
, 
, <spc>) となった．

クトル ŷ CS と入力テキスト y CS の間の損失

また，テキストデータから音声を作成するのに，Google 音声合成3 を利用して，モノリンガルの日本語CS, y CS ) を計算し ASR のパラメー
LCS
ASR (ŷと英語，そして日本語 TTS と英語 TTS の音声を組みタを更新する．

合わせて日英 CS の音声を作成した．
この 16kHz サンプリング音声から，Librosa ライブ(b) CS 音声のみが与えられた時の ASR からの対数メルスペクトログラムと 1025 次元の対数スペ

TTS への展開プロセス
ラベルなしの CS 音響特徴量 xCS が与えられると，ASR はラベルなしの入力音声 ŷ
声波形 x̂

クトログラムを抽出し，平均 0 分散 1 に正規化した．

CSを認識し，その出力テキストから TTS が音CS

ラリ4 を用いて窓幅 50ms シフト幅 12.5ms で，40 次元3.2を再構築する（図 1(d) 参照）．

そして再構築された音声波形 x̂

CS

ASR と TTS システム

用いた ASR はアテンション機構（attention mecha-と元の音nism）を用いたエンコーダデコーダモデル（encoder-CS
声波形 xCS の間の損失 LCS, xCS ) を
T T S (x̂decoder model）[4] である．エンコーダは， 各方向に計算し，TTS のパラメータを更新する．

1 https://github.com/taku910/mecab
2 Pykakasi–https://github.com/miurahr/pykakasi

以下の式で，全ての損失を一つの損失変数に重み― 180 ―

3 https://pypi.python.org/pypi/gTTS
4 Librosa–https://librosa.github.io/librosa/0.5.0/index.html

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

256 の隠れユニットをもつ 3 層の BiLSTM（双方向 512(MixTTS) は日本語 TTS で合成した日本語と英語ユニット）で構成され，活性化関数には LeakyReLU

TTS で合成した英語で学習されたモデルだが，日本(l = 1e − 2) [9] を用いた．デコーダは， 128 次元の埋語，英語，日英 CS で上手くバランスを取っている．

め込み層と 512 の隠れユニットをもつ 1 層の LSTM

これに対して，提案システムは，モノリンガルでので構成される．

性能を維持しながら，ラベル付きの CS データを必要

TTS は Sequence-to-Sequence の TTS (Tacotron)とせずに ASR と TTS がより上手く CS 入力を扱える[6] をベースにしている．ハイパーパラメータはオリジようにする．そのために，我々はスピーチチェーンをナルの Tacotron とほぼ同じであるが，ReLU の代わり利用した．に LeakyReLU を用いた．また，エンコーダの CBHG

(1) [ラベル付き Ja25k+En25k (MixTTS)]+[ラでは，GPU のメモリ消費を減らすために，1 次元畳み

ベルなし CS (JaTTS)]: ラベル付きデータとして込みバンクは 16 ではなく 8 セットのフィルタを用い

Ja25k+En25k (MixTTS) を用い，ラベルなしデータた．デコーダでは，256 の隠れユニットをもつ GRUとしてコードスイッチングの CS (JaTTS) を用いての代わりに 2 層の LSTM を用いている．

半教師あり学習した ASR および TTS; (2) [ラベルASR と TTS モデルは，どちらも PyTorch ライブ
ラリ5 で実装した．

付き Ja25k+En25k (MixTTS)]+[ラベルなし CS(Mix TTS)]: ラベル付きデータとして Ja25k+En25k(Mix TTS) を用い，ラベルなしデータとしてコードス

4

イッチング CS (Mix TTS) を用いて半教師あり学習し実験結果
実験結果は次の 3 種類のテストセットで評価した．

(1) TstJa (JaTTS): 日本語と対応する日本語 TTSで作られた音声; (2) TstCS (MixTTS): 日英の文中

CS と対応する日本語 TTS と英語 TTS で作られた音
声; (3) TstEn (EnTTS):英語と対応する英語 TTSで作られた音声．

ASR の性能は文字誤り率 (CER) で評価し， TTSの性能は真の値と予測した対数メルスペクトログラムの間の L2 ノルムの差を計算した．表 1 に，ベースラインおよび提案する CS スピーチチェーンの ASR お
よび TTS の性能を示してある．
ベ ー ス ラ イ ン は ス ピ ー チ チェー ン を 用 い ず にSequence-to-SequenceASR および TTS を用いて教師あり学習を行った．ベースラインは，次の 3 種類である． (1) Ja50k (JaTTS): 50k の日本語テキスト，対応する日本語 TTS による音声で学習した ASR およびた ASR および TTS; (3) [ラベル付き Ja25k+En25k(MixTTS)] +[ラベルなし CS (Mix+JaTTS)]: ラ
ベル付きデータとして Ja25k+En25k (MixTTS) を用
い，ラベルなしデータとしてコードスイッチングの CS(MixTTS) と CS (Ja TTS) を両方用いて半教師あり学習した ASR および TTS．
我々の提案するスピーチチェーンモデルは，ラベルなしの CS データで ASR と TTS が互いに学習し合い，CS テスト TstCS (MixTTS) で CER18.11% から5.08%まで (13.03%の減少) 大きく ASR の性能を改善し，モノリンガルの設定で良い性能を維持した (日本
語と英語のテストは，それぞれ 0.14% と 1.8%の僅かな減少にとどまっている)．同じ傾向が TTS の結果でも示され，CS テスト TstCS (MixTTS) では L2 ノルムが 0.489 から 0.372 まで性能を改善し，日本語と英語のモノリンガルテストについては性能を維持した．

TTS; (2) En50k (EnTTS): 50k の英語のテキスト，対応する英語 TTS による音声で学習した ASR および

5

おわりにTTS; (3) Ja25k+En25k (MixTTS): 25k の日本語

日英 CS の ASR のための半教師あり学習によるス

テキストと 25k の英語テキスト，対応する日本語 TTS

ピーチチェーンを提案した．まずは，ラベル付きのモと英語 TTS による音声で学習した ASR および TTS．

ノリンガルデータで ASR と TTS を別々に学習 (教師表 1 を参照すると，Ja50k (JaTTS) ASR は日本語あり学習) し，その後，CS のテキストか音声のどちらのテストでは良かったが，英語のテストでは非常に悪かでスピーチチェーンを試した (教師なし学習)．このかった．一方，En50k (EnTTS) ASR は英語テストで実験の結果，スピーチチェーンによって ASR と TTS

非常に低い CER だが，日本語テストでは高い CERが互いに学習し合い，モノリンガルでの性能を維持しだった．TTS も，同じ傾向を示した． Ja25k+En25k

ながら，学習にラベル付きの CS データを必要とせずに，CS でのパフォーマンスが向上することを示した．

5 https://github.com/pytorch/pytorch― 181 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

表 1: ベースラインと提案する CS スピーチチェーンの ASR の性能（CER）および TTS の性能（L2 ノルム）．
TstJa(JaTTS)
ASR
TTS
Ja50k(JaTTS)
En50k(EnTTS)
Ja25k+En25k (MixTTS)

TstCS(MixTTS)
ASR
TTS

ベースライン: パラレルな音声テキスト → 教師あり学習
2.11%
0.321
33.76%
0.484
86.42%
0.373
66.16%
0.469
1.71%
0.312
18.11%
0.489

TstEn(EnTTS)
ASR
TTS
81.12%
2.30%
2.99%

0.667
0.417
0.437

スピーチチェーン: ラベル付き Ja25k+En25k (MixTTS) + ラベルなし CS (JaTTS) → 半教師あり学習+CS10k (JaTTS)
1.85%
0.311
19.66%
0.484
4.79%
0.444
+CS20k (JaTTS)
1.85%
0.306
17.21%
0.489
4.65%
0.441
スピーチチェーン: ラベル付き Ja25k+En25k (MixTTS) + ラベルなし CS (MixTTS) → 半教師あり学習+CS10k (MixTTS)
1.81%
0.312
5.35%
0.374
3.69%
0.437
+CS20k (MixTTS)
1.85%
0.310
5.54%
0.368
3.64%
0.440
スピーチチェーン: ラベル付き Ja25k+En25k (MixTTS) + ラベルなし CS (Mix+JaTTS) → 半教師あり学習+CS20k (Ja+MixTTS)
1.82%
0.305
5.08%
0.372
4.05%
0.439

今回，この研究では，日本語と英語の組み合わせに焦[5] William Chan, Navdeep Jaitly, Quoc V. Le, and

点を当てているが，大きな修正なく他の言語の組み合

Oriol Vinyals, “Listen, attend and spell: A neu-

わせにも応用できると考えられる．また，今後は，複ral network for large vocabulary conversational

数話者の自然な日英 CS 音声データで実験を行っていspeech recognition,” in Proc. of ICASSP, Shang-く予定である．

hai, China, 2016, pp. 4960–4964.
[6] Yuxuan Wang, RJ Skerry-Ryan, Daisy Stan-6

謝辞

ton, Yonghui Wu, Ron J. Weiss, Navdeep Jaitly,Zongheng Yang, Ying Xiao, Zhifeng Chen, Samy
Bengio, Quoc Le, Yannis Agiomyrgiannakis, Rob

本研究は科研費 JP17H06101，JP17K00237 の助成を受けております．

Clark, and Rif A. Saurous, “Tacotron: A fully
end-to-end text-to-speech synthesis model,” in

参考文献

Proc. of INTERSPEECH, Stockholm, Sweden,
2017, pp. 4006–4010.

[1] Peter B. Denes and Elliot N. Pinson, The Speech
Chain: The Physics And Biology Of Spoken Lan-

[7] Genichiro Kikui, Eiichiro Sumita, Toshiyukiguage, Anchor books. Worth Publishers, 1993.

Takezawa, and Seiichi Yamamoto, “Creating corpora for speech-to-speech translation,” in Proc.

[2] Andros Tjandra, Sakriani Sakti, and Satoshi

of EUROSPEECH, Geneva, Switzerland, 2003,

Nakamura, “Listening while speaking: Speech

pp. 381–384.

chain by deep learning,” in Proc. of IEEE ASRU,
Okinawa, Japan, 2017, pp. 301–308.

[8] Sahoko
Nakamura,“Machine speech chain with one-Kano,“Japanese-english code-switching

speech data construction,” in Proc. of Oriental

shot speaker adaptation,” in Proc. of INTER-COCOSDA, Miyazaki, Japan, 2018.

SPEECH, Hyderabad, India, 2018, p. to appear.
[4] Dzmitry Bahdanau, Jan Chorowski, Dmitriy

Takatomo

Quoc Truong Do, Sakriani Sakti, and Satoshi[3] Andros Tjandra, Sakriani Sakti, and Satoshi
Nakamura,Nakayama,[9] Bing Xu, Naiyan Wang, Tianqi Chen, and Mu Li,Serdyuk, Philemon Brakel, and Yoshua Bengio, “End-to-end attention-based large vocabu-“Empirical evaluation of rectified activations inconvolutional network,” CoRR, 2015.

lary speech recognition,” CoRR, 2015.

― 182 ―Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.