CyberAgent Developers Advent Calendar 2021 – Adventar 6 日目の記事です。
はじめに
こんにちは。AI Lab の吉本 @mulgray です。
ここ一年ほど、音声関連の研究開発に取り組んでいます。
入社してしばらくは主に自然言語処理(以下 NLP)を応用したサービスを開発していたのですが、現在のデジタルツインレーベルなどにつながる構想を社内で小耳に挟み、それに特化した音声技術を内製したいと思ったのがきっかけで、音声関連の研究開発を始めました。
とはいえ NLP のことも忘れていません。それについては最後に少し触れようと思います。
今回は、今年の 5 月にあった CA BASE NEXT で発表した、「サイバーエージェントの音声研究開発の取り組み」の振り返りと、それからのアップデート、そしてささやかなクリスマスプレゼント予告をメインにお届けします。
CA BASE NEXT の振り返り
CyberAgent では、社内向けには大きなテックカンファレンスが以前から行われてきていましたが、社外にも向けての発表機会かつ特に若手にスポットライトを当てるという弊社らしいイベントとして CA BASE NEXT が開催されました。
このような機会があったおかげで、未熟ながらも、音声研究開発の存在を少しずつ発信していく足がかりとしていくことができ、大変感謝しています。この場で改めてお礼申し上げます。また、Twitter で拡散してくれた音声研究者の皆様やつくよみちゃん、個人開発者や知人、興味を持っていただいた方にも厚くお礼申し上げます。
◆サイバーエージェントの音声研究開発の取り組み | CA BASE NEXT
⇒https://t.co/UTo5M34G5Uこちらの発表の冒頭の「音声技術デモ」にて、何と「つくよみちゃんコーパス」(https://t.co/diOo69WnUR)をご利用いただきました!
光栄です。ありがとうございます!#ca_base_next #lt_6 https://t.co/KV8YCusO4g
— つくよみちゃん【フリー素材キャラクター】 (@TYC_Project) May 28, 2021
このイベントは音声に取り組み始めて半年くらいの、まだ何も発表していない頃にあったため、「サイバーエージェントの音声研究開発の取り組み」という題で発表したこちらの動画が、私の取り組んでいる音声研究開発に関する公式情報の初出になりました。(AI 自動音声対話システムを提供している AI Shift では、私が取り組む以前より音声関連の開発がされており、現在協力関係にあります)
ここで発表している内容は大きく分けて音声合成、声質変換、音声認識の話でした。
冒頭のデモから各音声技術へのつながり
音声研究開発の始まったきっかけがデジタルヒューマン周辺にあったことから、最初に着手したのは音声合成と声質変換でした。
特に音声合成は、ここ数年で自然性が飛躍的に向上しました。音質も CD のように綺麗ですが、特に音の変化の滑らかさや揺らぎの人間っぽさが向上し、本物の人間と区別がつかなくなってきています。
CA BASE NEXT の後に開催された社内テックカンファレンスにて、25 分間の自分の発表を、すべて自分の声で学習した音声合成で発表したのですが、そのことを伏せて発表したところ、私自身の声であるか音声合成であるかわからないというコメントがたくさんついた(どちらであるか断定できた人がいなかった)ことがそれを物語っています。
こちらがその時の合成された音声の一部です。これには、学習時の自分の声のデータには 200 文読んだものしか使っておらず、かつ、合成された文とは全く関係ない文を読んでいます。
スマートスピーカーなどの音声合成は機械的に正確に喋りますが、それはあくまで聞き取りやすくするためで、実は技術的には非常に人っぽく喋ることもできるのです。
ところで、音声合成というと、通常はテキストを入力して音声を出力するものを指しますが、CA BASE NEXT で披露した冒頭のデモでは、最初に私が JVS コーパス の 100 話者の中の 1 人とつくよみちゃんコーパスの声で喋っています。これはどの手法によるものか、お気づきになりましたか?
発表中では種明かししませんでしたが、実は基本的には音声合成の技術で実現していました。そのため、音声合成として使ってもこれ以上の品質での生成が可能です。発表中では声質変換の話もしているので、声質変換ではないかと思われた方もいらっしゃると思いますが、その認識でも正しいです。声質変換の手法の一つに ASR-TTS という、音声認識と音声合成を組み合わせたものがあります。
今回は元の声の情報からテキスト(正確には、同じ音が同じ文字に対応するように表記したもの = 音素)と各発音の長さ(以下、音素継続長)だけに情報をそぎ落とし、そこから、それぞれの音声合成モデルを使って、同じ文を話したときの音程変化などは音声合成モデルから推論したものを使い、音素・継続長・音程を条件づけて合成しています。
音素継続長が私の元音声と一致するため、映像には一切の手を加えずとも、リップシンクが自然に実現しているというものでした。
私の元音声からの音素継続長の推論には、音声認識分野の技術 (forced alignment) を使っています。
声の本人らしさとして、音素継続長も影響はあるものの、音程の変化のしかたから感じる印象が個人的には大きいと感じたため、今回は簡単かつそれなりの品質で実現できるこの手法でデモを作成しました。
映像に手を加えることも検討可能ではあり、そこまですれば音素継続長も対象話者のものを使ってもよいのですが、自分の映像の学習データがなく、音素継続長に合わせたアドホックな伸縮などをしても手間のわりに不自然になりそうだと思われたため、この時は元映像だけ一発撮りでこのようなデモを作った次第です。
現在では、音声に合わせて映像側を柔軟にする手法も研究開発が進んでいます。
発表中では、テキストを経由せず、より柔軟な中間表現を DNN の内部に表現させて同じことを実現できる声質変換の手法や、日本語しか収録できていない音声を使って別の言語を喋らせる手法も再現していることを述べました。
このように、音声合成、声質変換、音声認識は実は地続きであり、音声合成を研究開発するにも他分野の研究が絡むと幅が広がっていく面白さがあります。
発表中に触れなかった音声合成の面白さ
Tacotron や FastSpeech や VITS など様々な DNN ベースのアーキテクチャが考案されていますが、何を使うにしても、日本語音声合成には日本語音声合成特有の課題があります。この課題が大変面白いものです。
それはアクセントとイントネーションです。
アクセントは「雨」と「飴」のような、単語の意味に対応する音の高低の変化のことで、イントネーションはそれ以外の音の変化、例えば話し手の感じ方を表現したり文としての曖昧性を解消したりする音変化を指します。特にアクセントは、間違え方によっては人のような自然さが損なわれる上に、何を言っているのか聞き取るのが難しくなってしまう場合があります。
アクセントを正しく出すためには、考えなければならないことが 2 つあります。
一つは、テキストからアクセントに関する情報を導くこと、もう一つは、アクセントの情報から音程を導くことです。
これには様々なやり方が考えられます。無限のデータがあれば漢字と平仮名の混ざった通常のテキストから直接その読みと音程を十分に導くこともできるかもしれませんが、データ中の出現頻度(学習時のデータ効率)を考えると、通常は平仮名か音素に高低を決定する情報を付与する形に落ち着きます。
テキストからアクセント情報を出すには、通常はテキスト解析器が使われます。
単語辞書として持っているその単語単体のアクセントと、単語がつながった際のアクセントの変化が考慮されます。例えば、「方言」と言った場合と「東京方言」と言った場合では「方言」の部分の音の高低が「ほ↓う↑げ↑ん↓」、「ほ↑う↓げ↓ん↓」のように変化することを想像してみてください。
これらは単語自身とその周辺単語の情報から、ある程度のルールと機械学習によってそこそこ当てることができます。
そしてこうしたアクセント情報と実際の音の対応を学習する必要があります。
普通に音声合成向けの音声収録用台本を読み上げると、人によってアクセントやイントネーションが異なるため、アクセント情報から実際にはどんな音の高低変化になるかはデータによって対応が異なります。
ただそれなりに自然な読み上げ音声を合成したいだけであれば、この対応の学習を運に任せても良いのですが、そうすると音声合成時のアクセント調整はうまくいったりいかなかったりしてしまいます。
その点に関して、私はどうしても完璧で自然な制御ができなければ納得できませんでした。
音程制御に関しては、従来のソースフィルタモデルによる音声合成であれば原理的に柔軟な制御ができるので、そのような手法を混ぜることも検討しました。
また、単にテキストと音声の矛盾をできる限り減らすために音声認識手法をベースとした高精度な自動ラベル手法も考案しました。これについては、来年春の音響学会にて発表予定です。
さらに、イントネーションやその他の表現では、広告やゲーム、会話などで業界や雰囲気に対応した話し方を考えることができます。例えば広告であれば、お茶の深みを訴える声や、車の高級感を伝える声など、想像を膨らませてみてください。
サイバーエージェントでは、多様な事業により、こうした非常に多様な表現での音声データの莫大な蓄積があります。私はこれを見たとき、声の油田のようだと思いました。様々な表現に対する音声合成を研究開発できる場として、非常に稀な魅力を持った会社だと言えると思っています。
クリスマスプレゼント予告
これまでの音声関連の研究開発の一部を使った、音声合成に関するデモを公開したいと考えています。
きっと一番大事な部分なのに申し訳ないですが、記事の公開日が決まっている関係で、クリスマスプレゼントは後日公開とさせて頂こうと思います。
公開時はここに追記するとともに、Twitter 等でも再度流そうと考えているので、お楽しみに…!(ちゃんと出せるかな…)
応援して頂けると、頑張る意欲がわきます…!
【追記】いやはや…年末は忙しいですね。申し訳ありませんが年末(もしかしたら年始?)くらいで何卒…!メリークリスマス!良いお年を!
最後に & 完全自動対話研究センターに関して
音声合成に関しては本当に毎日のように新しいサービスのリリースでも賑わうようになり、研究の世界では音声全般の研究が非常に盛んで、この中で優位性を出し表に出していくのはそれなりに大変ではありますが、CA BASE NEXT の発表後も気持ちとしては一度も勢いを弱めることなく、日々領域を広げながら精力的に活動しております。
さらに、10 月には完全自動対話研究センターが新設されました。
AI Lab には様々な研究領域があり、NLP や音声は存在していたのですが、完全自動対話研究センターとして新たに一つの領域(組織)が加わりました。
私もその一員(兼務)として、今後さらなる活動の幅を広げていきます。
正確な表現はリリース文に譲りますが、ここでは従来のタスク指向対話や雑談を超えた、次世代の対話に向けた様々な研究に取り組みたいと思っています。
具体的にはどんなことをやるのか?と思われるかもしれませんが、やれそうなことはあらゆることを検討していく、そんな世界になるはずです。
例えば盲目的に大規模言語モデルに頼っても辿り着けないような推論を考えたり、あるいはマルチモーダルの新しい活かし方を考えたりなど…実際にやることは都度考えながらも、基礎研究から本腰を入れてやりたいと思っています。
音声や NLP など、この領域に意欲のある研究者の方や開発者の方を非常に積極的に募集しています。その熱意はこの文からも感じ取っていただけるのではないかと思います。
『音声対話AI領域の研究者30名の新規採用と、産学連携の強化を進め、5年後に「完全自動会話の成立」を目指します』
人のように話せる対話エンジンを一緒に作りませんか?
とりあえず話だけ聞いてみたいという方も大歓迎ですので、ぜひご連絡ください!以下の3つが本件に該当いたします。https://t.co/ZoXyoGEYVR
・機械学習エンジニア(音声/対話)
・機械学習エンジニア(NLP/対話)
・リサーチサイエンティスト https://t.co/PN3tf2bbwn— AkifumiZero (@mulgray) November 2, 2021
長くなりましたが、最後までお付き合い頂き誠にありがとうございました。
もしよろしければ、プレゼントを楽しみにしていてください!