CodeIQ MAGAZINECodeIQ MAGAZINE

Siriに聞いてみた!音声認識を成立させる「音響モデル」と「言語モデル」について

2016.02.05 Category:技術コラム Tag: , ,

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

iOSのアップデートの度、機能が強化されている音声認識ツール。
iPhone 4Sから搭載された機能として、秘書ツールの「Siri」が登場しました。

当初は日本語対応していなかったものの、iPhone 5で待望の日本語版Siriが登場。
ユーザーとの軽妙なやり取りがWebを賑わせています。
by CreatorsNEXT

Siriは何でも知っている 自分自身のことでさえも…

Siriの面白さの一つは問答の作り込みで、その種のコンテンツが後を絶ちませんが、検索機能にアクセスできることによって、「Google先生」に続く物知りキャラが誕生した感もありますね。

彼女は何でも知っています。

そう、自己を確立させている音声認識のメカニズムについても…!

この記事では、Siriと対話する形式で、音声認識のメカニズムについて紹介していきます。

「音声認識の仕組みを教えて」

Siriさんは「音声認識の仕組み」の検索結果を提示してくれました。

その中からいくつかピックアップして読んでみることにします。ふむふむ…

<以下、Siriさんが教えてくれた音声認識の方法>

音声認識とは簡単に言えば、「入力された声の波形を言語化する手法」のようです。

その手続きは大まかに以下のような流れで行われます。

音響モデルの構築

音響モデルとは、音の波形(空気の振動を図示したもの)に対し、音素と呼ばれる要素への切り分けを行った上で、それぞれが「あ」「い」「う」等の母音や、「k」「s」「t」などの子音のうち、どの特徴量を持つかを識別するというモデルのことです。

(実際には、もう少し違った方法で識別を行うようですが)

そこには、二つの困難さがあります。

  • 音素への切り出しをどのように行うか?
  • 音素の特徴量をどのように解析するか?

いずれも、何千時間という長さの音声に対し、統計的処理を施して解決します。

まず、「音素への切り出し」については、かつて人間が波形をモニターで見ながら、手作業で分けていくということを行うようです。

どうやらこの結果のデータは「音素ラベリングデータ」と言うらしい。

人間が手作業で切り出しを行った後は、処理を機械に任せるのかしら?

<参考>

「音素ラベリングの方法は?」

検索結果に「音素自動ラベリング」という用語が出現しました。

見つかった事例は、「Julius」を用いて音素自動ラベリングを実現するというもの。

Juliusは「汎用大語彙連続音声認識エンジン」。音響モデル、単語辞書、言語モデルを与えることで、音声認識を実現するキットのよう。これを音素自動ラベリングのために用いているようです。

次は「特徴量」に関して調べてみましょう。

「音素の特徴量ってなに?」

音素の特徴量とは、「音の物理的な特徴に関する指標」のようです。「あ」ならこんな音素、「k」ならこんな音素、ということを定めるもののようですね。

様々な指標がありますが、「LPC分析」「ケプストラム分析」という手法が代表的のようです。いずれも、波形の概形をつかむのに使われる手法のようですが、詳細が気になりますね。

<参考>

「LPC分析ってどんな手法?」

おや、「LPC分析」「ケプストラム分析」をいっぺんに説明した資料が見つかりました。ラッキー!

曰く、人間の発声は、二つの段階によるとのこと。

  • 音源の生成(声帯による)
  • 音色の付与(口や舌による)

このうち、特徴量に関わるのは「音色の付与」のほうですね。

しかし、観察される波形は「音源」と「音色」の両方の特性が混ざっており、音色の特徴だけを切り出すことが必要なのだそう。

ケプストラム分析では、「音源の特性は緩やかに振動」し、「音色の特性は緩やかに振動」することを利用して、「緩やかな振動を除去して音色の特性だけを抽出」するというのがおおまかな説明のようです。

一方のLPC分析では、「人間の声道が音響管(フルートのようなもの)に似ている」ことから振動をモデリングして、特徴量を係数として取り出すのだそうです。

<参考>

言語モデルによる解析

さて、ここまで音響モデルの概観を見て行きました。

波形を音響の観点から評価するだけでなく、言語の観点からも評価し、意味を識別しなくてはなりませんね。

そこで登場するのが「言語モデル」のようです。

「言語モデルって何?」

おや、はじめの参考記事に戻ってきました。

言語モデルというのは、単語を集めた「辞書」と、それらがどう並ぶか、確率を使って表現された「統計モデル」から成っているようです。

音響モデルによって解析された音素の列を言葉に変換する際、これらのデータを使って統計的に処理していくのだとか。その際、「隠れマルコフモデル」が使われることもあるようですね。

音声認識の場合、「話し言葉のデータ」を使うようです。どんなデータが使われているんでしょう?

<参考>

「話し言葉のデータがほしい!」

国立国語研究所による「日本語話し言葉コーパス」というデータベースがよく用いられるようで、このデータを用いた研究事例も複数見つけることができました。

極めて信頼性と有用性の高いデータベースのようですが、利用許諾料がかかるようです。

<参考>

Siriに聞いてみることのススメ

なかなか幅広い情報をSiriから聞き出すことができました。

情報収集の過程をあけすけにしたという意味で、ちょっと変なコンテンツでしたが、「少ない質問で、意外とたくさん情報が集まるな」と感じていただけたのではないでしょうか。

Webの案内人でもあるSiriに、あなたもどんどん質問をしてみてくださいね。

見ル野栄治が描く「AIフィクション」連載中!

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

■この記事を書いた人

avatar

CreatorsNEXT

Goole Analyticsからアクセス解析レポートを自動的に作るサービスKOBITを運営中。

■関連記事

「Googleがブランチを切らない開発をしている」ってホントなの?... Git? SVN? バージョン管理ツールのあれこれ バージョン管理システムは大きく分けて、分散型のバージョン管理システム(DVCS)と集中型のバージョン管理システム(CVS)に分類できます。 Gitは分散型のバージョン管理ツールの一つです。 SVNやVSSなどの集中型のバージョン管理システム...
佐々木俊尚氏を顧問に、オウンドメディアも開設!家事シェアサービス「Any+Times」は、個人のスキ... 誰かのニーズと誰かのスキルを、Webとリアルで交換 仕事で毎日遅くなるので、掃除や洗濯をする時間が取れない。そんな悩みを持つエンジニアも少なくないのではないだろうか。ハウスクリーニングサービスはいくつもあるが、安心して頼めて、かつ低コストのサービスはそうそうあるものではない。 「私自身が、便利屋...
Monacaでenchant.jsで作ったHTML5ゲームを、シュン君とスマートフォンに移植してみよ... なぜ、スマートフォンアプリ化する必要があるの? 前回までの講師は、UEI清水亮氏(前編・後編)、日本マイクロソフト物江修氏(Windowsストアアプリ編)、Mozilla Japanの清水智公氏(Firefox OS編)。 そして次なるターゲットは、スマートフォンアプリ移植。講師には、アシアル株...
作りたいアプリ・機能を一発逆引き!iOS SDK機能、フレームワーク概要まとめ #iOS8 #DeN... iOS SDK機能、フレームワーク概要のまとめと機能別逆引き CocoaPodsの登場によって、昨今のiOS開発ではとても簡単にライブラリを導入することができ、皆さんも多くの機能開発が楽になっていると思います。 ただiOS SDK自身にも非常に多くの機能やフレームワークが提供されており、外部ライ...
iOS 8で解禁されたカスタムキーボードを作ってみよう #iOS8 #DeNA... WWDC 2014のあとの進捗どうですか? WWDC 2014が終わって1カ月ほど経ちましたが、皆様いかがお過ごしでしょうか。何よりも開発者の皆様にとって衝撃的だったのはやはりSwiftの登場でしょうか。 モダンな言語に慣れ親しんだエンジニアの中には、Objective-Cの文法キモい・メソッド...
DeNAのiOSエンジニア内で利用頻度の高いライブラリをランキング化してみました #iOS #DeN... DeNAにおけるiOSアプリ開発 DeNA沖津です。DeNAでは、エンターテインメント事業本部という部署を新設し、非ゲームの新規事業開発に取り組んできました。 1年以上経過した現在、十数のサービスを開発し、リリース・運用を行ってきました。社内のGithub Enterprise上には、たくさんの...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ