自然な話言葉を聞き取り、リアルタイムで英語の音声に:
ATR-MATRIX
1.はじめに
国際化の進展に伴い、音声翻訳システムの実現に対する期待が高まっています。外国の人と日本語で自由に話しができれば、どんなにすばらしいことでしょう。ATR音声翻訳通信研究所では、自然な話し言葉を対象とした音声翻訳システムATR-MATRIX(Multilingual
Automatic Translation system for Information eXchange)を開発しました。このシステムの構成を図にしめします。入力された音声はSPRECで認識され、認識結果が文として出力されます。次にCHAT-TRANSLATION(以下、CHAT-Tと呼びます)で認識結果の日本語を英語に翻訳します。最後に、CHATRで英語の音声を合成して出力します。全体の処理の流れは制御部で制御されています。これらの処理はすべて1台のワークステーションで動作し、またほぼ実時間で処理を行うことができます。以下では、このシステムの特徴をご紹介します。
2.自然な音声の認識
音声認識を行うには、音のモデル(これを音素モデルと呼びます)を用意しなければなりません。人が実際に喋った声を分析し、/a/、/i/、/u/、/e/、/o/などの母音や、/k/、/s/、/t/、/n/などの子音のモデルを作ります。しかし記号で書けば同じ音素でも、その特徴は多種多様に変化します。同じ/k/でも、/aka/(赤)のものと/aki/(秋)のものではかなり異なります。また話し方(口の開け方や話す速さ)などによっても大きく変わります。最も大きい変動は、人の違いです。男性、女性で違いがあることはもちろんですが、個人によっても大きな違いがあります。SPRECでは、色々な人の音のモデルを用意しておき、話し手の声の質にあわせて、どのモデルを用いるのが最も良いかを自動的に判断し、そのモデルを用いて認識を行っています[1]
。この判断は一文ごとに行います。これにより、色々な人の声でも高い精度で認識できます。音声認識では、上記のような音のモデルとともに、認識すべき単語を定義した辞書と単語の並び方に関する情報を利用します。これを言語モデルと呼びますが、これをどう作るかが問題となります。なぜなら、音声認識精度を良くするためには、単語の並び方に関する制約をきつくするのが良いのですが、あまりきつくすると、ほんのちょっと崩れた表現をしても、システムが認識してくれなくなるからです。SPRECでは、実際に人の喋った多量の文から、自動的にもっとも良い制約を取り出して言語モデルを作成しています[2]
。また、自然な話し言葉では、「あのー」、「えーと」といった言葉がかなり頻繁に現れることがありますが、このような表現があっても正しく認識できます。
上で述べたように、声は人によって様々に異なり、また同じ人でも喋るたびに変わるため、なかなか100%正確に認識することは出来ません。なるべく高い精度を得るため、音声認識では同時に多数の候補について並列にチェックしています。しかし、候補の数を増やせば増やすほど処理が重くなって実時間で処理することが難しくなります。この問題を解決するため、SPRECでは、発話が開始されたらただちに認識処理を開始します。この方法をとることにより、発話が終わってほんの少しの時間遅れで認識結果を出力することができます。
3.自然な発話の翻訳
SPRECから出力された認識結果を受け取り、英語への翻訳を行います。現在市販されている多くの翻訳ソフトでは、翻訳規則を人手で定義し、これに基づいて翻訳を行う方法が採用されています。例えば、「〜したい」→“want
to〜”のような規則が定義されています。このような規則を組み合せることにより、日本語の文を英語の文に翻訳するわけです。しかし、このような方法を話し言葉に適用しようとすると、慣用的な表現や文法的に多少崩れた表現を翻訳することができなかったり、翻訳できたとしても固い訳しか作り出せない、などの問題が生じてしまいます。CHAT-Tではこのような問題を解決するため、用例を用いた翻訳機能を実現しています[3]
。これは、種々の翻訳用例を参照することによって、柔軟な翻訳を行おうとするものです。例で説明しましょう。日本語の「AのB」という表現に対して、英語への翻訳を考えると“B
of A”,“B in A”など多数の表現があり、そのうちどれが最も適切かを判断するのはなかなか困難です。このような問題に関し、CHAT-Tでは、まず以下のような種々の対訳用例をシステムに格納しておきます。
「僕の本」→“a book of mine”
「英語の本」→“a book in English”
:
「イギリスの毛織物」→“fabric made in England”
:
そして、例えば「中国の絹織物」という文を翻訳する場合には、これらの用例のなかから最も類似した用例を使って翻訳を行います。この例では、「中国」と「絹織物」に最も似た単語が使用されている「イギリスの毛織物」の用例が選択されます。次に、「イギリス」、「毛織物」をそれぞれ「中国」、「絹織物」に置き換えることによって、最終的に“silk
made in China”という翻訳結果を得ます。
音声認識では、文の一部のみを間違って認識することが時々あります。つまり、ある部分は正しい単語が認識され、人間が聞けばそれだけでも充分に意味が通じる場合があります。CHAT-Tではこのような誤りに対処するため、部分翻訳機能を実現しています。文全体として翻訳できない場合でも、文法的、意味的にまとまりのある翻訳結果が得られればそれを出力します[4]
。
4.自然な音声の合成CHATRでは、滑らかな音声で、かつ話し手の声に似た声で合成することができます。まずある人が実際に喋った音声をデータベース化し、種々の音声単位を切り出しておきます。CHATRでは、合成すべき文が入力されると、どのような音声単位をつなぎ合わせるともっとも自然で滑らかな音声が合成できるかを判断します。合成すべき音声との差が小さく、またつなぎの部分の不連続度がなるべく小さいものを選択するようにします。ある程度の量のデータベースを用意しておけば、極めて自然な音声を合成することができます[5]
。また前に述べたように、SPRECでは話し手の声に最も適した音声モデルを選択しますが、その話者のモデルを使用したかはCHATRにも知らされます。CHATRでも複数話者の音声データを用意していますので、話し手の声に最も近い話者データベースを使用することにより、話し手の声に似た声で合成ができるわけです。
5.システム制御
システム制御は、システム全体の制御を行います。特にMATRIXでは、各コンポーネントのデータの入出力を全て制御部を通して行う方式とし、またこの時に制御部で各コンポーネント特有のデータのフォーマットから標準フォーマットに変換する方式を実現しています。これにより、あるコンポーネントのプログラムが多少変更されても、その影響を最小限に抑えることができます。このような制御を行うと同時に、システム全体に係わる機能の一部を分担しています。例えば、自然な会話では、文ごとに区切らず、2つの文をつないで喋ってしまうことがありますが、このような場合は発話分割機能により2つの文に分け、1文ごとに翻訳や合成の処理を行わせます。また、「部屋はありません?」というように文末を上げることによって疑問を表すことがありますが、このような文には疑問文のマークを付けてCHAT-Tに渡します。
6.まとめ
今回試作したシステムでは、「ホテルの予約」の場面を対象としていますが、辞書内容を置き換えることにより、他の場面にも適用することが出来ます。
今後、さらに精度向上のための各種改良を進めるとともに、英日方向の同様なシステムを開発し、最終的には日英、英日双方向での会話が可能なシステムを実現する予定です。特に対話では、話しの流れから省略された語やあいまいな表現の意味を理解しなければならない場合がありますが、このような問題にも積極的に取り組んで行く予定です。さらには、多言語間の音声翻訳をめざし、C-STAR
IIという国際コンソーシアムを通じて世界各国の研究機関と研究協力を進めています。プロジェクト最終年度(1999年度)には、これらの機関と共同で、日本語、英語、ドイツ語、韓国語間での多言語音声翻訳国際実験を行う予定です。
参考文献
Copyright(c)2002(株)国際電気通信基礎技術研究所