「ものさし」の何が杜撰なのか。
7月6日にこの日記に書いた「現在の音声認識技術は適当に作られている」という話の続きである。この前は、音声認識について、次のように説明した。
声をとある「ものさし」で測り(実際に数値に変換される)、その数値を過去のデータと照らし合わせることにより、何を喋ったかを識別している。
この「ものさし」には積分が数度使われているなど説明がややこしくなるので、詳細は説明しないつもりである*1。今回の日記では現行の「ものさし」の問題点を説明する。
でも、その前に、場合によっては現行の「ものさし」で充分だということを書く。まず、一つ重要なことは、使用環境によっては現在の音声認識技術の精度は高いということである。例えば、「シーマン」*2というゲームはそのインタフェースのほとんどが音声認識だったと記憶しているが、音声認識そのものの悪評はあまり聞かない。これは「静かな雑音の入りにくい環境でゲームをする人が多かったこと」「マイクが共通であったこと」「発話の全てを聞きとる必要がなかったこと」「聞きとれなかったらゲーム内のキャラクターが無視をすればよかったこと」などの理由が挙げられる。私に言わせれば、企画が非常にうまくいったゲームである。
逆に、これらの条件が成立しなかった場合、現行の「ものさし」は精度の低いものとなる。ここで、「ものさしの精度が高いということ」を「同じ発音内容ならどういった状況であれ同じ数値になること」と定義する。また、逆に「違う発音内容なら違う数値になること」という条件も加えることにする。
まず、多くの研究者たちがとり組んでいることだが、現行の「ものさし」は雑音の混入に非常に弱い。例えば、今は夏なので、私の部屋ではクーラーの音がうるさい。人間ならばクーラーの音くらいで相手の声が聞こえなくなったりはしないのだが、現行の「ものさし」は精度が著しく落ちる。
また、トンネルの中での声と部屋の中での声は物理的に異なるということを人間は認識できることと思う。にもかかわらず、人間には言葉の内容はしっかりと聞きとれるはずである。一方、現行の「ものさし」はトンネルの声と部屋の中での声を全く異なるものとして捉えてしまう。また、同一人物の声であっても、電話の声と実際に聞く声の質が異なるということはしばしば経験していることと思うが、これに対しても現行の「ものさし」は全く異なる音として捉えてしまう。
さらに、人によって声の質が異なるということも我々人間は知っている。そして、人間はどの人間の声に対しても大抵は何を喋っているのかが同じように聞きとれる。ところが、現行の「ものさし」は全ての人間の声を異なる音として捉える。
要するに、現行の「ものさし」は物理特性を忠実に反映しているだけであって、発音内容を測っているわけではない、ということがいえる。
では、これらの問題点がありながらなぜそこそこの精度で音声認識ができているのかといえば、「雑音ごと」「環境ごと」「人間ごと」に異なる音を全て憶え込んでいるからである。どんな人間が喋っても、機械が丸暗記した音声の中には似たような人の声があり、音声認識が可能となる。クーラーの音がうるさい場合には、クーラーに対処できるように丸暗記しておいた音声を参照して、音声認識をしている。
つまり、今の音声認識は、丸暗記によってできている。確かに機械は丸暗記が得意だが、丸暗記は知的といえるだろうか。大学入試をくぐり抜けてきたはずの研究者が、大学入試に丸暗記が通用しないという事実を知らないとは思えない。
ところで、更新に間があいた。このブログに飽きてきた証拠である。