音声認識AIで議事録を自動テキスト化!MicrosoftのAPIで実践してみた

このエントリーをはてなブックマークに追加

音声の書き起こしや議事録の自動化という分野で期待されている音声認識AI。

今回はタイトルにあるように、議事録自動化にチャレンジしてみます。

Microsoftの音声AIが可能にする「話者認識」と「文字起こし」

今回選んだのは、Microsoftの音声認識AI。

現在、いくつかの音声認識AIがありますが、なかでもMicrosoftのAIは音声をテキスト化するのはもちろん、“誰が喋っているかも判別”してくれます。

まずは、ファーストステップとして

  • 音声からテキスト化する
  • 音声から話者を識別する

という2つが自動化できるか検証したいところ。ということで、下記2つのAPIを使ってみます。

Speech to Text API
>> Speech to Text APIの公式ページはこちら

Speech to Text APIはオーディオをテキストへ変換してくれます。マイクからのリアルタイムな音声認識、ファイル形式の音声認識などが可能。日本語にも対応しています。

Speaker Recognition API
>> Speaker Recognition APIの公式ページはこちら

Speaker Recognition APIは音声から話者を識別してくれます。まずは音声を学習させ、それをもとにAIが話者を判別可能に。対応言語は英語、中国語です。

ちなみに、Speech to Text APIは、Bing Speech APIの中に属しており、テキストから音声への変換を可能にする“Text-To-Speech API”もあります。

それではさっそく、検証していきたいと思います。

Speech to Text APIによるテキスト書き起こしはたった数単語の誤認識

まず、今回検証するうえで書き起こしする音声は英語です。というのも、やはり日本語の音声認識はまだまだ正確性に欠けるというのが現状。

もちろん技術と時間が解決してくれる問題ではあるので、日本語に関しては今後に期待したいところです。

では英語はどうなのか? まずはSpeech to Text APIでミーティング音声のテキスト化、その後に話者識別を試みます。

AIに解析させた実際のミーティング動画がこちら。

※動画は一部です

実際のテキスト書き起こしテキスト
Okay, so do you have any hot topics which are related to AIs or like related to Ledge.ai?

Well, it’s not actually a topic but i have interests in AIs that can look at the users and look at what kinds of movies and videos and what kind of entertainment that they like and like what kind they would like to be recommended.

Yes, but I don’t actually know about the actual Ais that can do that, but I do have interests in them.

Okay so do you have any like pop topics which is related to arizona like this made it.

Well, it’s not actually a topic but I have I have had an interest in a eyes that can look at the users and look at what kinds of movies and videos and what kind of entertainment that they like what kind they would like to be recommended?

But I don’t actually know about the actual the actual 8-second do that but I do have interests in them.

※テキストは一部です

上ではテキストのみを載せていますが、実際に音声からテキストに変換させる際には、以下のように文章の信頼度も出力してくれます。

What kind they would like to be recommended?
Confidence : 0.832988739

文章を照らしあわせてみると、センテンスのなかで数えられるほどの誤字があるだけで、それ以外は正確に変換できているようです。

日本語の音声認識が難しい理由としては、日本語がかなり限定された言語というのがひとつで、カタカナや漢字が混在しているのも、大きなハードルになっています。

英語の書き起こしがこのレベルである一方、日本語というハードルを超えるのは、もう少し時間が必要です。ですが、会話や長文認識、文字起こしが難しくとも、単語や短文レベルならアイデア次第でビジネスに活用できそうです。

自然言語処理領域はさらに伸びてくると言われているので、技術が追いつくのを待ちましょう。

AIによる話者識別は実用レベル。学習に必要なのはたった数分の音声データ

音声からテキストに変換する精度がわかったところで、次なる課題は「話者識別」です。

何が語られたかも大事ですが、誰が言ったかももちろん大事な部分。

今回AIに認識させるのは、3人(田村・高島・山岡)の音声です。各人の声には、それぞれ学習済音声IDが割り振られます。

  • 田村: 489e072d-fa1c-4859-bf61-dc98747661c4
  • 高島: a38524bc-6744-4980-b40f-bb77b90c287e
  • 山岡: 15edbcd8-7049-41bc-9405-affc1c237832

AIに話者認識させるにはまずAIに音声データを学習させるプロセスがありますが、今回のAPIは数十秒から数分の音声で学習プロセスが終わりました。

学習結果を元に、3人の音声をAIに解析させた結果がこちら。

もちろん、学習データとは異なるミーティング音声から抽出した音声データを判定させたものです。

田村の音声

{
    "createdDateTime": "2018-01-26T01:32:19.9181011Z", 
    "lastActionDateTime": "2018-01-26T01:32:22.4218655Z", 
    "processingResult": {
        "confidence": "Normal", 
        "identifiedProfileId": "489e072d-fa1c-4859-bf61-dc98747661c4" // ID:田村
    }, 
    "status": "succeeded"
}

高島の音声

{
    "createdDateTime": "2018-01-26T01:18:53.7586425Z", 
    "lastActionDateTime": "2018-01-26T01:18:56.3066635Z", 
    "processingResult": {
        "confidence": "High", 
        "identifiedProfileId": "a38524bc-6744-4980-b40f-bb77b90c287e" // ID:高島
    }, 
    "status": "succeeded"
}

山岡の音声

{
    "createdDateTime": "2018-01-26T06:54:44.698369Z", 
    "lastActionDateTime": "2018-01-26T06:54:47.1416612Z", 
    "processingResult": {
        "confidence": "High", 
        "identifiedProfileId": "15edbcd8-7049-41bc-9405-affc1c237832" // ID:山岡
    }, 
    "status": "succeeded"
}

なんのことかわからない方もいらっしゃると思いますが、結論からいうと、すべて正解でした!

AIに解析させると、該当の学習済音声IDが割りあてられます。結果をみてみると、それぞれの音声に対して正しい学習済音声IDが割りあてられたので、AIが3人の音声を識別した、ということになります。

ほかにも何人かの音声データを学習させて識別してみましたが、しっかりと認識されていたので、話者識別はかなり実用範囲内かと思います。

Speaker Recognition APIとSpeech to Text APIを組み合わすなら、以下のロジックで議事録自動化を実現できるかと思います。

  • 音声データから無音部分でデータを分割
  • 分割データをSpeaker Recognition APIで話者識別
  • 分割データをSpeech to Text APIで書き起こし

もちろん、会議のなかで複数人が同時に会話したり、そもそもデータの分割が難しいケースも考えられます。

議事録自動化を目指したときに、どのように音声データを処理して正確に話者識別、書き起こしをするか、といったことが今後の課題になっていくのではないでしょうか。

英語の議事録自動化はもうすぐそこ。音声認識AIは今後数年に期待

今回検証に使ったMicrosoftの、

  • Speech to Text API
  • Speaker Recognition API

ですが、議事録自動化の希望は見えつつも、Speaker Recognition APIに関してはまだ日本語対応されていないのと、日本語音声認識の難しさから、日本語の議事録をAIに任せるというのは現時点では現実的ではなさそうです。

一方で、英語に関しては、議事録の自動化の未来はかなり近づいているかと思います。

英語の議事録が実現したあかつきには、AIによる議事録はもはやあたりまえ。残るは、日本語における自然言語処理の向上に注力するのみになりそうですね。

今回は議事録ベースで話を進めてきましたが、ほかにもセキュリティーとしての音声認証など、いろいろなことができそうです。

AIを活用した音声領域へのアプローチ、今後がさらに楽しみです!Microsoftのサイトでも試せるので、ぜひチェックしてみてください。

>> Microsoft Speech to Text API
>> Microsoft Speaker Recognition API