CLOVA Speechチーム

リューヒョクス氏:End-to-End音声認識と「CLOVA Note」というサービスについて、LINEの木田とNAVERのリューヒョクスが発表します。この音声認識は、NAVER CLOVA、LINEのSpeechチーム共同での研究開発の成果です。よろしくお願いします。

本日は2部構成で発表いたします。最初にNAVER CLOVAのリューヒョクスがEnd-to-End音声認識とは何かについてお話しし、韓国でリリースしたAI音声記録サービス「CLOVA Note」の性能や実績、そしてサービスに使われている技術について紹介します。続いてLINEの木田が、E2E音声認識を高速化するための研究開発の成果について紹介します。

まずは私たちNAVERのCLOVA Speechチームについて紹介いたします。

自己紹介します。私はリューヒョクスと申します。2017年9月にNAVERに入社し、現在はCLOVA Speech Globalチームで、リーダーとして日本語と外国語の音声認識を担当しています。

趣味は外国語の勉強と旅行ですが、今年は旅行が難しくなってしまって、韓国の国内でキャンプに集中しています。

我々CLOVA Speechチームは、その名のとおり音声認識に関する研究開発を行っています。音声認識には大きく分けて、従来のDNN-HMMベースとEnd-to-Endの、2つの開発手法があります。

私たちは、その両方の研究開発に取り組んでおり、サービスの特徴に合わせて適切な音声認識エンジンを提供しています。特に従来のDNN-HMMベースモデルは、「CLOVA WAVE」「CLOVA Friends」「CLOVA Desk」などのスマートスピーカーや、電話応対AIサービスである「LINE AiCall」など、幅広く利用していただいています。

そして我々は、韓国語や日本語だけではなく、英語などの多言語の音声認識の開発や、誰が話しているのかを知ることができる話者認識の研究・技術開発も進めています。

従来のDNN-HMM音声認識

では、End-to-End音声認識とは何かについてお話ししようと思いますが、その前に、従来のDNN-HMM音声認識について簡単にお話しします。

音声認識機が音声を受け取る時、実際にはユーザーの発話だけではなく、さまざまな雑音が混ざっています。そのため、最初にその音声から発話だけを検出する段階があります。

どこから発話が始まったのか、いつ発話が終わったのかを判断します。これをEnd Point Detection、EPDと呼びます。

EPDのあとには、Feature Extraction、特徴量抽出と呼ばれる段階があり、この段階では、物理的な音声からフレームごとに音声特徴を抽出します。この特徴量から発話がどのような文字列になるかを推定する段階が、「音声認識」と呼ばれるタスクです。

従来の音声認識では、3つのモデルが必要です。1つ目は、特徴量と音素の環境を示す音響モデル。2つ目は、音素と単語の関係を示す発音モデル。そして3つ目は、単語と単語の関係を示す言語モデルです。この3つのモデルを合わせて、音声から最ももっともらしい、つまり一番確率が高いテキストを出力させます。

この従来の音声認識技術は、パターンがある発話に対して長所があります。例えば、「今日の東京の天気を教えて」とか、「明日の沖縄の天気を教えて」など、事前に発話内容が想定できる場合には、比較的、性能向上がしやすいです。

また、追加対応が必要な場合には、その改善点の内容に合わせて、音響、言語、発音モデルを選んで、コンポーネントごとに修正でき、この点も改善のしやすさという長所につながります。一方で、ニュース放送や私たちの普段の会話のように、発話内容を事前に想定しにくくパターン化しにくい、いわゆる自由発話の場合には、この長所はあまり有効ではありません。

自由発話に対して強みを発揮するのが、End-to-End、いわゆるE2E音声認識です。では、E2E音声認識についてお話ししていきましょう。

E2E音声認識

我々のE2E音声認識は、「Neural End-to-end Speech Transcriber」、略して「NEST」と呼んでいます。このNESTエンジンでの音声認識は、従来の3つのモデルで行う音声認識とは異なり、単一のモデルで行います。つまり、特徴量とテキストを直接モデルにして、1つのモデルで音声認識を行うということです。

このNESTモデルには、どのような特徴があるでしょうか? まずは強みですが、先ほども少しお話ししたとおり、パターン化できない自由発話の認識性能に強みを発揮します。そして、雑音がある環境に対しても強靭です。雑音がある状態でも、雑音をまるで発話の一部のようには認識せず、発話内容のみをうまく認識していきます。

このような特徴から、NESTは例えば、ニュース放送での字幕の作成、会議での議事録など、自由に発話するドメインへの適用が想定されます。

一方で、そんなE2Eにも扱いづらい点があります。現在E2Eモデルの開発には、これまでにはなかった大規模のデータが必要になります。そして、レコーディングの時の計算量が多いこと、最後にモジュールごとに改善できた従来の音声認識とは異なり、すべて1つのモデルで処理するため、カスタマイジングがしにくいことが挙げられます。

続いて、「CLOVA Note」について紹介します。CLOVA Noteとは何でしょうか? CLOVA Noteとは、音声を録音してテキストに変換し、記録として残すサービスです。

話した内容を覚えておかなきゃいけない会議。あとで改めて確認がいるクライアントとの打ち合わせ。全部を書きとることが難しいインタビュー。復習する時にもう一度聞きたい講義。

こんな状況でCLOVA Noteは、とっても役に立ちます。もう一度聞くことが大変でまとめられていなかった録音が、テキストに自動変換され、必要な情報をすぐに見つけられます。CLOVA Noteを使う際、ユーザーの皆さんには、録音だけをお願いしています。そのあとの発話内容の認識や分析は、我々にお任せください。

このCLOVA Noteでの音声記録は、今は韓国で、韓国語だけではなく日本語、英語のサービスを提供しています。今後、日本でもサービスを展開する予定です。その際は、ぜひみなさんにも使っていただければと思います。

CLOVA Noteの機能

引き続き、今現在リリースされているCLOVA Noteで提供される機能について見ていきましょう。CLOVA Noteの第1の機能として、認識した結果に基づいて必要な部分だけ選んで聞けます。

そしてメモの機能があり、録音をしている間、重要な内容はしおりのようにメモしておけます。これを通じて、音声記録の重要な内容をより簡単にまとめることができます。

また、メモで記録された単語は、CLOVA Noteがより正確に認識できるようになります。さらにキーワード検索により、必要な音声記録を探して聞くこともできます。

次は共有機能です。CLOVA Noteでは変換された音声記録を、ほかのメンバーにも共有できます。共有ボタンを押せばNote URLが生成され、URLだけでも便利に共有できます。

最後に「Zoom」との連動機能があります。ZoomとCLOVA Noteの連携により、Zoomミーティングが始まると、CLOVA Noteが自動でミーティングの内容を録音し、テキストに変換します。

ここまで、Noteの機能についてお話ししてきましたが、次に韓国でリリースされたCLOVA Noteのサービスの実績について説明します。2020年11月19日、「あなたのすべての言葉を意味ある記録に。記録はCLOVA Noteに任せて、会議にだけ集中してください」というキャッチフレーズで、CLOVA Noteが韓国でリリースされました。

サービスの開始以来、今日までの約11ヶ月間、合計100万件のアプリダウンロード、90万人の加入者数、そして9月には週間のユーザーが平均83,000人を達成しました。

これに基づいて、AI技術単独サービスとして市場投入の可能性を確認できたと考えています。ダウンロードの数を見ると、増加幅がどんどん大きくなっていて、とっても励みになります。

CLOVA Noteで認識性能向上のための技術

それではCLOVA Noteで認識性能の向上のために適用している技術について紹介したいと思います。

CLOVA Noteに必要な音声認識技術は、大きく分けて2つです。1つは、発話内容を把握する「音声認識」。そして、いつ誰が話したのかを知る「話者分離」です。ご存じのとおり、会議では複数の出席者が自分が言いたいことを自由に話していきます。自由発話に強いE2Eが、この課題のために適当なサービスだと言えます。

ただしドメインによっては、人名、団体名のような固有名詞や専門技術用語が頻繁に出てきます。これは、自由な発話に強いE2Eにとっても難しい課題です。

このプレゼンの最初に、現在のE2E音声認識の課題の1つとして、大規模な学習データが必要となることを挙げました。これを解決する手法として「Self-supervised Learning」を紹介します。

Self-supervised Learningは、ラベルなしの音声データを大規模に利用するモデル学習方法です。繰り返しになりますが、E2Eの音声認識のためには、山のように大量のデータが必要です。しかも「山のように大量の」というデータには、音声だけではなく、人間が聞き取って書き起こしした正解ラベルも含まれます。そのため、データの構築には膨大な時間と費用がかかることになり、大きなボトルネックになります。

一方で、正解ラベルのない音声データは比較的入手しやすいです。そのため、ラベルのないデータで、音声認識モデルの学習ができれば、まさに「WOW!(ワオ!)」となると思われます。この「WOW!」を可能にするのがSelf-supervised Learningとなります。

Self-supervised Learningは、大きくPre-trainingとFine-tuning、2つの段階に分けられます。Pre-trainingは、ラベルなしのデータで学習する段階であり、特徴の似ているデータを集めてクラスタリングさせるやり方です。Fine-tuningは、Pre-trainingモデルに対して、クラスタリングがどんなラベルなのか、そのマッピング関係を学習させます。

ここにさまざまな食品の写真があります。この写真を分けるモデルを学習すると想定してみましょう。

まずは、ラベルのない多くの写真に対して、似た特徴を持つ写真たちだけにグルーピングします。その際に、ラベルがないため、ハンバーガーやコーヒーのように、各クラスタの名前が何かはわからず、似ているかだけを判断します。

Pre-trainingでクラスタリングを行う時に、Cosine Similarityのロスを計算して、サンプルの特徴量を比べて、異なる特徴量はお互いに遠くなるよう、似ている特徴量はお互いに近くなるよう学習します。これは「Contrastive Learning」と呼びます。

例えば、画面をご覧のとおり、あるトレーニングサンプルの写真がある場合、各クラスタとコサイン類似度を計算し、その結果「#hh」というクラスタと類似度が一番高かった場合、画面のように分類します。すべてのサンプルに対して、この過程を繰り返します。

その結果、Pre-trainingが終わると、このようにクラスタリングされます。

このような手法で、膨大なラベルなしデータをモデル学習に活用できます。Pre-trainingの結果に基づき、ラベルありデータを利用して、各クラスタがどんなラベルなのかを、CTC Lossを用いて学習していきます。これをFine-tuningといいます。

2020年に発表された「wav2vec 2.0」の論文によりますと、この表でご覧いただけるとおり、ラベルなしデータを活用し、既存の相対性能を凌駕できました。CLOVA Noteにおいても、Self-supervised方式を適用し、相対的に約30パーセントの改善がありました。

Keyword Boosting

次は、固有名詞・専門用語の認識率改善のための「Keyword Boosting」について共有します。

講義やインタビュー、会議などのケースで使われる、CLOVA Noteの特性を考慮すると、固有名詞と専門用語が多く出現することが予想されます。音声認識にとっては、このような固有名詞と専門用語は、似た発音の一般名詞よりもその頻度が少ないため、正確に認識することが難しい状態です。

CLOVA Noteでは、固有名詞・専門用語の認識が正確にできないと、ユーザーが感じる体感性能は、相対的に劣化が大きくなります。これを正確に認識するため、ユーザーメモを活用します。ユーザーは録音中に超重要事項をメモでまとめるので、ユーザーのメモと録音の内容は高い相関関係があると想定できます。

まずは、ユーザーメモのテキストに対して、形態素分析を実行します。この時、ローマ字の単語、名詞などを抽出し、抽出された単語についてtf-idfのスコアを計算します。tf-idfは、該当となる単語が持っている情報性を示すため、tf-idfの高い単語は、特定のノートを代表する重要な単語だと想定できます。レコーディングを行う時に、この重要単語に対して重みを与え、よりうまく認識されるようにします。

Keyword Boostingによる音声認識改善の事例を見ましょう。このようなユーザーメモがあるとすると、形態素分析によりパーシングされた単語は「アップロード」「フェイル」「TTS」「確認」「必要」などです。この時、tf-idfのスコアによって、重要語彙であるキーワードを選んでみると、「アップロード」「フェイル」「TTS」などとなります。

それらをブースティングさせると、Exampleのように、「セール」「フィットネス」「チケットスカウト」のように誤認識されたものが、「フェイル」「TTS」「カウント」など、それぞれ正解どおり認識されることが確認できます。

話者分離

最後に、「話者分離」についてお話しします。インタビュー、会議のように複数の人が発話する環境では、話者が、区分することが必要です。そのため、CLOVA Noteのサービスでも話者分離が必須だと言えます。正確には、「Speaker Diarization」と呼びますが、さまざまなセグメントから、ある音声に対してそれぞれのセグメントの話者が、前後のセグメントと一致しているかを判断します。

この例では、「Hello. Nice to meet you.」と「Good to see you」は別の話者だと判断され、異なる話者ラベルを割り当てます。Diarizationも話者分離の1つなので、便宜上これからは話者分離だと呼べます。

話者分離のやり方を詳しく説明すると、音声信号をエンドポイント(EPD)で切り、セグメントごとに話者ベクターを抽出します。隣接した話者ベクターと比較し、同一話者か判断し、クラスタリングします。

先ほど、Self-supervised Learningでもお話ししたとおり、Constractive Learningを適用し、類似したExample同士はより近く、お互いに異なるExample同士は遠くなるよう学習させ、クラスタリング性能の向上を図ります。

我々CLOVA Speechチームは、このように話者分離モデルを改善し、「DIHARD3」という国際学会のチャレンジで、世界3位という優秀な話者分離性能成績を収めました。

以上のように、我々CLOVA Speechチームは、さまざまな技術開発を通じて、音声認識性能や話者分離性能を改善し、CLOVA Noteをサービスとして提供するために、これからも全力を尽くしていきます。

日本でもCLOVA Noteをリリースし、1日でも早くみなさんにまた会えることを楽しみにしています。みなさんもぜひご期待ください。ありがとうございました。

後半につづく