機械学習による、音声認識の仕組みと必要な音声データ

2019年12月20日

音声アシストのビジネス活用の可能性は見逃されがちです。単なる宣伝活動の一環として片付けられてしまうことも多いのですが、音声アシスタントはすでに、顧客の待ち時間の短縮から会議のスクジュールの管理まで、多くの企業で様々な役割を果たしています。生産性や顧客サービス、顧客エクスペリエンスの向上の面でメリットを享受できる可能性があるので、ビジネス用途で独自の音声アシスタントを開発することは検討に値するでしょう。

しかしどこから開発プロセスを始めればよいかの判断が難しい場合もあります。音声アシスタントはいくつかの複雑な要素から構成されています。多くの機械学習テクノロジーと同様、音声アシスタントを効果的に構築するためには深い知識と経験が必要です。

でもソフトウェア開発者やデータサイエンティストでないと独自の音声アシスタントを開発できないということはありません。この技術の内部の仕組みを理解すると、音声アシスタントの構築に向かって確かな基礎を築くために大いに役立ちます。では、それに目標を定めて、この新しい技術の裏にあるプロセスや優れた音声アシスタントを作るために必要なツールをいくつか見ていきましょう。

 

音声アシスタントの仕組み

音声アシスタントが音声インプットを受信してから適切に回答するまでにはいくつかの手順を踏んでいます。例えば、チーム会議のスケジュールを設定するよう音声アシスタントに頼んだとしましょう。このタスクが行われるまでの手順をざっとまとめると次のようになります。

  • 音声アシスタントが音声を記録し、背景のノイズを削除して音声を構成要素に分解します。
  • 音のパターンに基づいて、その音声を最も可能性が高いと考えられる文に変換します。
  • テキスト中の最も重要な語句と、そのテキストの意図を判断します。
  • 会議の時間や日にちについてもっと明確な情報が必要な場合は、質問を生成します。答えに十分自信があると判断した場合は、質問をせずに回答します。
  • 最後に、コマンドを意思決定エンジンで処理し、会議のスケジュールを設定します。

これらのタスクの多くは自然言語処理に大きく依存しています。自然言語処理とは、言われたことを認識してその意味と適切な行動を理解し、ユーザーが理解できる言語で回答することに広く関わるコンピューターサイエンスの分野です。

自然言語処理の中には、音声アシスタントに特に関係のある二つの小分野があります。 自然言語理解と自然言語生成です。 その名前の示す通り、自然言語理解は主に、音声やテキストのインプットを検出して理解し、意味を解釈する機械の能力のことであり、 自然言語生成はそれと逆のプロセスを扱います。つまり、コンピューターが生成した回答を人間が理解できるようなテキストや音声に変換することです。

あらゆる事柄を考慮に入れると、全ての音声アシスタントが克服すべき主な課題が三つあります。 効果的に機能するためには、音声インプットを正確なテキストに変換してから構造化し、その意味を正確に解釈しなければなりません。 これらの問題を詳しく見ていくことで、実用的な音声アシスタントを構築するために必要なツールを見極めることができます。

 

音声認識・機械学習に使える音声コーパス

AIを使った技術の進歩は、画像認識だけでなく音声認識にも来ています。Amazon AlexaやLINE Clovaなどのスマートスピーカーが何かと話題になっていますし、読者の中で実際に日常でお使いになられている方もいると思います。

しかし、機械学習に使える音声認識のデータセットは画像認識や自然言語処理に比べると少ないように思います。

なので、このセクションではWebで公開されている音声コーパスをまとめました。

  1. AudioSet: 632の音響イベントクラスから成る大規模なオントロジーと、YouTubeビデオから抽出した10秒程度のサウンドクリップに人間がラベル付けした2,084,320件の音声データが含まれる。
  2. LibriSpeech: オーディオブックから収集した約1000時間分、16kHzの英語による朗読音声のコーパス。慎重にセグメント化、アライメントが行われている。
  3. Mivia音響イベントデータ: ガラスの割れる音、銃声、悲鳴など、監視アプリケーションの6,000件のイベントが含まれる。4,200件の学習データセットと1,800件の試験データセットに分けられている。
  4. 発話された数字の無料データセット: 音声サンプルの中で発話された数字を特定するために作成された音声データセット。
  5. Flickr音声キャプション: 8,000枚の自然画像に付けられた40,000件の音声キャプション。教師なし音声パターン発見のためにマルチモーダルな学習手法を調査する目的で、2015年に収集されたコーパス。
  6. ボールルーム: ボールルームダンスに関する音声データをオンラインレッスンなどから収集。ダンススタイルの特徴の抜粋やテンポを実際の音声ファイルフォーマットで提供。
  7. ウィキペディア音声コーパス: 英語、ドイツ語、オランダ語のウィキペディアの記事の音声ファイルをアライメントしたコーパス。アライメントされた数百時間分の音声が含まれる。アノテーションは元のhtmlにマッピングすることができる。
  8. VoxCeleb: 人間の会話の短いクリップから構成されている音声と映像のデータセット。YouTubeにアップロードされたインタビュービデオから抽出。
  9. 無料ミュージックアーカイブ: ノーカットの高品質音声、事前計算された音響的特徴、トラックレベルとユーザーレベルのメタデータから成る。音楽分析のためのデータセット。
  10. 百万曲: 現代のポピュラーミュージック100万曲の音響的特徴とメタデータが無料で入手可能。
  11. Freesound: Freesoundのコンテンツを基に人間がラベル付けした音声データの共同制作プラットフォーム。
  12. DCASE 2017チャレンジ: 音響シーンとイベント分析に関するワークショップであるDCASEのタスクのために使用、収集された音声データセット。

 

音声データの文字起こし

音声アシスタントは、騒がしい環境で複数の人が話す単語や文章を識別できなくてはなりません。例えば、関西弁の話者によるリマインダーや、熊本弁の話者が口述した電子メール、日本語を母語としない話者が尋ねた質問などを明確に理解する必要があるのです。さらに、背景にテレビの音声が流れていたり、交通量の多い交差点で話者が信号待ちをしていたりすることもあります。どこで誰が発話するかによって、音声の個々の要素も全体としての音声も大きく変化することがお分りいただけるでしょう。

いくつかの音声処理タスクは、音声アシスタントがこの問題に対処し、音声を正確にテキストに変換するのを助けます。音源分離は主に、一つあるいは複数の信号をインプット(この場合では人間の声)から分離します。 この段階では、音声アシスタントを混乱させる可能性のある背景のノイズを全て取り除きます。その後、音声セグメンテーションのプロセスでは、特性に応じて音声を小さな単位に分割します。この単位はフレーズや単語の場合もありますし、個々の音の場合もあります。分割することによって、音声は、処理しやすい短い均質な単位になります。最後に、それらの単位が自動的にテキストに変換されます。テキストセグメンテーションのおかげで、 最も可能性が高いと考えられるテキストに音をマッピングすることによって、迅速かつ正確にこれを行うことができます。

多くの企業は作業を幅広く正確にカバーできる、第三者のソリューションを利用しています。しかし、このソフトウェアを社内で構築することも可能です。これらのタスクをアルゴリズムに学習させるためには、独自のユースケースに応じてカスタマイズし、注釈を付けた学習データが必要です。このデータに含まれる注釈は、新しいアルゴリズムに企業独自のタスクの詳細を教えるテキストブックとなり、費用対効果を高めるために役立ちます。

もちろん、独自のソリューションを構築するのは、お金を払って第三者のソリューションを使用するより手間がかかります。しかし、データのタグ付けや文字起こしなど時間のかかる作業を専門サービスに委託することも可能です。音声アシスタントにどのような構文解析を行わせたいかが明確にわかっている場合は、特定のタスクのために機械を最適化するデータセットをデータプロバイダーが難なく作成してくれるでしょう。ターゲット層が地域方言を話すなど、独自のユースケースがある場合は特に、このような労力を費やすことに価値があるかどうかを調査してみるとよいでしょう。

このプロセスによって、音声インプットに対応するテキストを正確に特定することができますが、作業はまだ始まったばかりです。次の重要なステップはそのテキストを構造化することです。

 

テキスト化された音声データの構造化

人間と機械は異なる方法でテキストを理解します。機械がテキストを理解するためには、テキスト中の重要な要素に適切な意味がタグ付けされていることが必要不可欠です。これらの要素を見つけてタグ付けすることを固有表現抽出と呼びます。

固有表現とは、所定のカテゴリーに合う単語やフレーズなど、テキストデータの一部のことです。一般的なカテゴリーの例としては名前、企業、場所などがあります。しかし、意味的なタグ付けだけでなく、文法的な役割や親会社と子会社などテキストの他の部分との関係をタグ付けしたものもあります。

テキストの一部に固有表現抽出を行うことで、それぞれの単語の役割や文中での機能などを音声アシスタントに教えることができます。音声アシスタントがこれを学習すると、言語の機能を理解する能力が向上します。さらに、特定のパターンの発話に対して、一致する可能性が最も高い文を推測し始めるようになります。

音声アシスタントの固有表現抽出の能力を構築しようとする際、検討すべきオプションはたくさんあります。第三者のプロバイダーの中には、様々な種類の固有表現のタグ付けが可能な既成のソリューションとして、固有表現認識ソフトウェアを提供しているものもあります。前にお話ししたように、自社独自の分類システムに基づいて人間が注釈を付けたデータセットを注文したり、作成したりすることも可能です。

このプロセスによって、音声アシスタントの裏で働くエンジンは利用できる属性が増え、元の音声インプットの構造を理解する準備ができます。しかし、構造を理解することは話者の要求を理解することと同じではありません。音声アシスタントが音声の意図を認識できるフレームワークを作る必要があります。

 

テキスト化された音声データの意図を認識する仕組み

話者の要求を理解して実行する能力は、どのような音声アシスタントにとっても重要な機能です。しかし、言語では、一つの質問をするためにいくつもの方法があります。音声アシスタントはこれらをできるだけ多く認識できなければなりません。そうでないと、目的を達成できないからです。口で言うのは簡単ですが、これを実行するのは難しいことが多いのです。次の三つの文章を例にとって考えてみましょう。

  • 返品ポリシーについて詳しく教えてくれますか?
  • この商品を気に入らなかった場合、何ができるのか知りたい。
  • 返品についてはどのようになっていますか?無料ですか?

これらは三つとも音声アシスタントが受信する可能性のある音声インプットです。しかも、それぞれ返品ポリシーの詳細を知りたいという同じ目的を持って発せられています。しかし、この例でお分かりになるように、それが明確に言葉に表されている場合は稀なのです。要求を質問として表現していないこともあれば、「返品」という重要なキーワードが含まれていないこともあります。このようなことを認識できないと、音声アシスタントは機能できないのです。

幸いなことに、標準的な質問と答えの組み合わせに頼らないことも可能です。音声アシスタントを開発するための準備では、このような意図のバリエーションを調達する前に、意図の特定に重点を置くとよいでしょう。

意図とは、そのテキストで伝えたいと話者が望んでいる目標のことです。例えば、「新しいクレジットカードを追加したい」と言うフレーズの意図は「クレジット情報を更新したい」ということです。バリエーションとは、その意図を表現する別の方法のことです。クレジットカードの例では、「クレジットカードを切り替えてください」と言うこともできます。 一つの意図に対してバリエーションを蓄積するほど、音声アシスタントが文章中でその意図を認識できるようになり、性能が向上します。

主意を特定できなければ音声アシスタントは実行すべきタスクを認識できないので、意図の特定は非常に重要です。幸いなことに、これらは企業のプロジェクトの目標とかなり一致しています。顧客サービスのための音声アシスタントを構築している場合は、自社のよくある質問ページに関係する顧客の意図を基にするとよいでしょう。

この後、それらの意図に対してバリエーションのデータセットを構築すると役立ちます。このデータセットには、それぞれの意図に対して少なくとも10個から20個のバリエーションが必要です。大量のバリエーションを適切に学習させると、音声アシスタントは様々なテキストサンプルで主意を認識できるようになります。さらに、機械学習モデルは今まで見たことのない新しい例からも学習するようになるので、タスクを行いながら能力が向上していきます。これらのバリエーションを調達すれば、音声アシスタントを構築するための全ての重要な部品が揃ったことになります。このような第三者のツールやソリューション、データセットがあれば、実用的な音声アシスタントの開発に必要な全ての素材を手に入れたことになるのです。

 

音声アシスタントのビジネス価値

音声アシスタントは複雑なものです。しかし、それを構築するプロセスまで複雑である必要はありません。技術進歩が進み、ビジネスにおける新たな活用事例が明らかになってきている現在は、音声アシスタント技術に投資するまたとない機会です。

まず、ベースとなる確固たるプラットフォームを提供するソリューションを見極めましょう。第三者のプロバイダーに相談して、どの程度カスタマイズすれば自社のニーズに合うのかを判断するのもよいでしょう。このように調査することで、音声アシスタントの構築を成功に導くための適切な素材を調達することができます。

 

音声データセットをお探しですか?

お探しのデータセットが見つからない場合は、当社が作成いたします。当社は300言語で音声データの収集、アノテーション、発音の評価などを支援しております。世界の各タイムゾーンを渡る、100万人の認定コントリビューターが登録されているので、大規模なプロジェクトも素早く仕上げることができます。こちらから、お気軽にご相談ください。

音声認識・機械学習用の音声データを入手

メディア掲載結果

AI・機械学習の最新情報を配信中

Lionbridge AIのブログで紹介している事例記事やトレンドニュースといったビジネスに役立つ情報はもちろん、オープンデータセット集なども合わせてメール配信しております。