Clovaのアーキテクチャと処理フロー
Clovaは「CLIENT(クライアント)」「BRAIN(ブレイン)」「SKILL(スキル)」「PLATFORM(プラットフォーム)」という4つのコンポーネントから構成される。クライアントはスマホアプリやデバイスなど。ブレインはClovaの核で、入力された音声を認識して発話したり、ユーザーの意図などを理解したり、言語理解、出力するための音声合成機能などを提供する。スキルはユーザーに音楽を鳴らしたり、ニュースを読み上げたり、LINEを送ったり、電気をつけたり消したりなどのサービスを提供する。プラットフォームは認証や認可、ユーザー情報など、先に挙げた3つのコンポーネントを横断的につなぐ機能を提供する。
そしてこれらのコンポーネントをつなぐインターフェースを用意。「それがCICとCEKだ」と橋本氏は説明する。CICはデバイスやアプリケーションからClovaにアクセスするためのツール群でSDKとAPIで構成される。「音声認識、言語理解、音声合成などの機能を利用できるようになる」と橋本氏。一方のCEKはLINEやLINE Musicなどのさまざまなサービスを提供するためのAPI。「既存のさまざまなサービスにおいても、CEKに則ってAPIを提供してもらえれば、WAVEを介してユーザーにサービスを提供できるようになる」と橋本氏は説明する。
WAVEはどのようなフローで処理をして、ユーザーが求めるサービスを提供するのか。
例えば「秋に合う音楽をかけて」という処理のフローは、WAVE→CIC→SR(音声認識モジュール)でリアルタイムにテキストを音声に変換し、NLU(音声理解モジュール)でユーザーの意図を解析し、理解する。ユーザーの意図が音楽を再生することだと把握できるので、CECから音楽配信サービスへとつながり、同サービスの推薦エンジンを使って音楽を決定、CEKからCICを通じて音楽が配信され、WAVEから音楽が流れてくるというプロセスとなっている。
さらに流れてきた音楽が知らなかった場合は、WAVEに「この曲は何?」と問いかけると、先と同じようなプロセスをたどってサービスを返す。先の例と違うのは、発話で返答を返すため、SS(音声合成モジュール)を使うことだ。
Clovaを成長させ、普及させていきたい
このようなサービスを実現するには、「高いハードルがあった」と橋本氏は振り返る。先に紹介した音楽配信サービスを連携するだけでも、幅広い知識が求められるからだ。「まずは歌手名、アルバム名、地名、ランドマーク、固有名詞などが正しく言語として理解し、音声合成できることに注力した」と橋本氏。
もう一つのハードルは、日本語そのものの問題である。「言語認識では音が同じでも意味が異なる語(同音異義語)をどう理解させるか、また音声合成においては「『晴一時雨』を『セイイチジウ』ではなく『はれいちじあめ』と正しく読ませるなど、まだまだ強化していかなければならないポイントが残っている」と言う。
橋本氏はClovaプロジェクトの今後についても次のように明かした。
「Clovaプロジェクトで最も重要視しているキーワードは、GROWTH。Clovaは開発を本格的にスタートして1年のプロダクトで、Clova自身も赤ん坊のような状態。だができるだけ早く育て、グロースさせていきたい」。
Clovaのグロースを後押しするのは、シンプルなネイビーのWAVEに加え、キャラクターがキュートな「CHAMP」も登場する。搭載されている機能は基本機能だけだが、今後は音声による話者認識や時間の概念なども理解できるようにし、「より豊かにコミュニケーションを目指していきたい」と意気込む。
そしてもう一つ、Clova成長のカギを握る存在として橋本氏が重視しているのが、エンジニアの力。「2018年には、エンジニアが自由にWAVEやClovaを使ってさまざまなデバイス、アプリを開発できる環境を提供する。ぜひ期待して欲しい」(橋本氏)。
こう最後に呼びかけ、LINE DEVELOPER DAYのオープニングセッションは終了した。
