技術一課の鎌田(裕)です。
re:InventにてAIのサービス、Amazon Lex, Amazon Polly, Amazon Rekognitionが発表されました。
既にブログ記事などは沢山ありますが、深く検証した記事はなかなかありません。
そんな中、日経クラウドファーストの3月号「コグニティブサービス」に、
これらAWSのAIサービスに関して、当社白鳥・橋本・坂本との共同執筆にて寄稿いたしました。
詳しい「AIサービスとは?」のエッセンスはそちらをお読みいただいて、こちらでは紙面の都合上やむを得ずページを割けなかった、Pollyの検証をお届けします。
Amazon Pollyの発話はカスタマイズ出来る!
Amazon Polly、記事にも書いていますが、 Speech Synthesis Markup Language (SSML) を利用することで、発話をカスタマイズすることが出来ます。
SSMLとは、音声合成マークアップ言語で、発音、音量、ピッチ、速度などの読み上げなどの調整が出来るようになっています。
このSSMLを使うことで、会話をカスタマイズします。
実際にカスタマイズをしたPollyのコードはこちら。
み かん み かん
Amazon Pollyを使う上で知っておきたい、言葉の「アクセント」
あらゆる言語(ここでの言語は、人が読み書き、話す言語を指します)には、必ずアクセントがあります。
英語などでは「強勢アクセント」、日本語などでは「高低アクセント」と呼ばれるアクセントを使っています。
英語などで使われる「強勢アクセント」とは、単語の中でも強く言う部分・弱く言う部分を分ける形のアクセントを言います。(英語ではStressと呼ばれています。)
例えば、「accent」という単語のアクセントを見てみましょう。発音記号から読み解くことができます。次のように書かれています。
英語ではどの音を強く読めばいいのか、記号(`)を付けることで強弱が分かるようになっています。
先のaccentは一番最初に記号があるので、最初を強く読むことになります。
次に日本語などで使われる「高低アクセント」とは、単語の中でも高い音で読むところ・低い音で読むところを分ける形のアクセントを言います。
では、日本語の発音の「アクセント」の単語のアクセントを見てみましょう。
アの上に、線が引かれています。
この字の上に線が引かれている部分が高い音で読むところ、何もない部分が低い音で読むところになっています。
Pollyの発音がちょっとおかしいな、と思ったら、「アクセントを調整すれば自然になるかも」と覚えておきましょう。
日本語の「アクセント」カスタマイズにチャレンジ!
ということで、日本語の「アクセント」カスタマイズにもチャレンジしました。
日本語はアクセントが変わると単語自体も変わります。アクセント大事。
検証として、「みかん」という単語を選んでみました。「蜜柑」と「未完」が区別出来るようにPollyはしゃべれるのか!?
アクセントは、次のようなアクセントになります。
これをSSMLで記述してみたコードが、最初のPollyのコードです。
結果は、コードをPollyに投入してご自身の耳でお確かめください。
機械が話す日本語は道半ば
SSMLなのですが、残念ながら日本語のアクセントで使われる「高低アクセント」、対応していません。なので、近しいものを使って色々とチャレンジしました。
しかし、「蜜柑」と「未完」は区別できるに至らず。
この辺りをカスタマイズし、違和感なく話してくれるようになるまでは、時間が掛かりそうです。
まとめ
Pollyの会話をカスタマイズして、単語が区別できるか試してみました。
今回はアクセントに注目してカスタマイズしましたが、話す速度を調整したり、話をする時に間を取ったり、というカスタマイズも出来ます。これらは、日本語でも有効です。
Pollyの会話をカスタマイズすると、より自然な会話に近づくので、是非トライしてみてください。