スキル開発キット公開でさらに広がる! LINE Clovaで実現できること【デブサミ2018 夏】
【C-7】Clova Extensions Kitで創る新しいUXと社会
LINEのスマートスピーカーに搭載されているAIアシスタント「Clova」。そのスキル(機能)開発キット「Clova Extensions Kit(CEK)」が7月12日に公開された。これによりサードパーティや一般の開発者がClovaスキルを開発できるようになり、競合であるAmazon AlexaやGoogle Assistantなどと同様の環境が整った。さらに、LINE Messaging API(LINE Bot)との連携など、LINEならではの強みを活かしたサービスの開発も可能となる。本セッションでは、Clovaのアーキテクチャや基本的な処理の流れ、CEKの使い方などをLINE テクニカルエバンジェリストの立花翔氏が解説。また、CEKの公開に合わせて開催が発表されたLINE主催の開発コンテスト「LINE BOOT AWARDS 2018」について紹介した。
Clovaを構成する4つのコンポーネント
LINEでは2017年より「Clova WAVE」や「Clova Friends」などのスマートスピーカーを提供している。それらの頭脳であるAIアシスタントが「Clova」だ。
Clovaは「クライアント」「ブレイン」「スキル」「プラットフォーム」という4つのコンポーネントから構成される。クライアントは、デバイスやアプリなどユーザーとの接点になる部分。ブレインは、クライアントから入力された音声データのテキスト化や自然言語理解の処理を担当。出力時にはテキストの音声合成なども行う。スキルは、音楽の再生やニュースの読み上げ、LINEのメッセージ送信など、要求に応じたサービスを提供する。プラットフォームは、ユーザー情報の保存や認証などの機能をクライアント、ブレイン、スキルに対して横断的に提供している。
そして、これら4つのコンポーネントをつなぐ仕組みとして「CIC(Clova Interface Connect)」と「CEK(Clova Extensions Kit)」がある。CICは、クライアントとプラットフォーム、ブレインをつなぐインターフェースだ。クライアントはCICを通じてユーザーの音声をClovaに送信し、Clovaからの出力を受け取る。一方、CEKはスキルとプラットフォーム、ブレインをつなぎ、さまざまなサービスを提供するインターフェースとなる。
立花氏は「本日のテーマはスキルやCEKだが、ブレインにも少し触れておきたい」として、ブレインでの自然言語理解で使われている技術について紹介した。
「形態素解析では、新しい用語にも対応できるように定番ツールの『MeCab』に毎週更新されるシステム辞書『NEologd』を追加した。また、文字列の類似度測定の精度を高めるために、『Resembla』という自社開発の類似文字列検索ライブラリを使っている」
ほかに、機械学習モデルの配信マネージャー「Drucker」も自社開発したという。
Clovaに「秋に合う音楽をかけて」と呼びかけると?
続いて立花氏はClovaで行われる処理の流れについて、具体例を挙げて解説した。
「例えばユーザーがClova WAVEに『秋に合う音楽をかけて』と話しかけた場合、まずCICを通じてその音声データがClovaのブレインに渡される。ブレインでは音声認識モジュールでテキストに変換し、自然言語理解のモジュールで解析。ユーザーの意図が『音楽を再生すること』であると認識したら最適なスキルを選択し、CEKを通じて『秋に合う』音楽をリクエストする。そして、スキル内のロジックで意図に合った音楽を探して決定したら、CEKからCICを通じてストリーミング配信される」
こうして最終的にユーザーの要求した「秋に合う音楽」がClova WAVEで再生されるというわけだ。
では、ユーザーが「この曲は何?」と話しかけた場合はどうか。この場合も選択されるのは音楽のスキルだが、後半のフローが一部変わってくるそうだ。
「ユーザーの発話から音声認識・自然言語理解モジュールを経て、取り出した意図などをCEK経由で音楽スキルに渡すところまでの流れは同じ。このあと、スキル側では再生中の曲名やアーティスト名などの情報を提供する。そして、CEKを通じてこの情報を取得し、ユーザーに返す文章を生成したら、それをCICに渡す前にブレインの音声合成モジュールで音声ファイルに変換する。これをClova WAVEが再生することで、『この曲は○○です』と答えられる仕組みになっている」
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
