思いつくことなど「カクテルパーティ効果2」


「音声対話システム:オーム社刊」と「はじめてのAIプログラミング:オーム社刊」を衝動買いして一気に読んでしまったのですが、カクテルパーティ効果をまた思い出してしまいました。思い出すと気になって仕方がない。それで、音声認識を真面目に考えてみました。

 結論から言いますと、隠れマルコフ連鎖とかの確率手法はやめて、適者生存戦略の超並列処理指向にすべきではないか・・・ということです。隠れマルコフ連鎖は1CPUベースの解法だと思うのです。適者生存戦略にしますと、結構エレガントな音声認識システムが構築できると感じました。しかも、自然にカクテルパーティ効果を実現できる。

 以下にその理由を説明していきます。


 赤ちゃんの脳の本とかを読んだり、NHKの番組から得た知識ですが、赤ちゃんは全ての言語の音素を聞き分けることができ、年齢が上がってくると、母語の音素しか聞き分けなくなるという。この事実をヒントにしました。

 つまり、真っ新のシステムを考えます。それは音波の全ての特徴を感じることができるシステムとします。無論、音波の周波数帯域とか、強さ、それらの時間変化率とかには、受理できる最小値とか最大値とかはあります。音波の特徴は次のパラメータを台にして作られるはずです。

 これらを量子化して、あらゆる組み合わせを表現できるようにN次元マップをつくると、真っ新なシステムになるわけです。

 ここで、会話が頻繁に行われる世界に置けば、N次元マップに密度差が生じるはずです。たまの雑音は無視できるようなレベルの密度差が生じるはずです。この密度の濃い部分の特徴が基本的な言葉として認識される音素になるわけです。

 後は時間空きを区切りにして単語を切り出し、幾つかの単語を聞くなかで、交差点をマップで認識して、あいうえお・・の語とか、音韻の特徴を分離していくのでしょう。

 これらは常態の会話でえることですが、音声を引き延ばしたり、早口になったりも学ばねばなりません。それは、語に対する操作として抽出します。語としては無意味というラベルをはるのですね。それはそれで一つの語としますが。


 音を聞くときには、曖昧性があります。歪みがあります。プロトタイプからの変異をファジィー量の大きさで、候補を羅列していきます。拍の切れ目までこの音素の候補をスタックし、最も高いゆう度の音素列で、意味のある語列を選ぶようにします。複数の候補語列をスタックして、息の切れ目とかで単語に置き換え、情報の単位に置き換えていくことも考えられます。

 この方法は何時も全ての候補を持つことから、歪みに強くなります。従って、カクテルパーティ効果が実現できるというわけです。候補が無数に多くなることを恐れずにこの方法で音声認識を実現しましょう。


おわり



ご近所のきよきよ