Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

スキル開発キット公開でさらに広がる! LINE Clovaで実現できること【デブサミ2018 夏】

【C-7】Clova Extensions Kitで創る新しいUXと社会

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/08/21 14:00

 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」について紹介した。

目次
LINE株式会社 テクニカルエバンジェリスト 立花翔氏
LINE株式会社 テクニカルエバンジェリスト 立花翔氏

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はスキルとプラットフォーム、ブレインをつなぎ、さまざまなサービスを提供するインターフェースとなる。

4つのコンポーネントをCICとCEKがつなぐ
4つのコンポーネントをCICとCEKがつなぐ

 立花氏は「本日のテーマはスキルやCEKだが、ブレインにも少し触れておきたい」として、ブレインでの自然言語理解で使われている技術について紹介した。

 「形態素解析では、新しい用語にも対応できるように定番ツールの『MeCab』に毎週更新されるシステム辞書『NEologd』を追加した。また、文字列の類似度測定の精度を高めるために、『Resembla』という自社開発の類似文字列検索ライブラリを使っている」

 ほかに、機械学習モデルの配信マネージャー「Drucker」も自社開発したという。

Clovaに「秋に合う音楽をかけて」と呼びかけると?

 続いて立花氏はClovaで行われる処理の流れについて、具体例を挙げて解説した。

 「例えばユーザーがClova WAVEに『秋に合う音楽をかけて』と話しかけた場合、まずCICを通じてその音声データがClovaのブレインに渡される。ブレインでは音声認識モジュールでテキストに変換し、自然言語理解のモジュールで解析。ユーザーの意図が『音楽を再生すること』であると認識したら最適なスキルを選択し、CEKを通じて『秋に合う』音楽をリクエストする。そして、スキル内のロジックで意図に合った音楽を探して決定したら、CEKからCICを通じてストリーミング配信される」

 こうして最終的にユーザーの要求した「秋に合う音楽」がClova WAVEで再生されるというわけだ。

音楽スキルで曲が決定すると、CEKからCICを通じてストリーミング再生される
音楽スキルで曲が決定すると、CEKからCICを通じてストリーミング再生される

 では、ユーザーが「この曲は何?」と話しかけた場合はどうか。この場合も選択されるのは音楽のスキルだが、後半のフローが一部変わってくるそうだ。

 「ユーザーの発話から音声認識・自然言語理解モジュールを経て、取り出した意図などをCEK経由で音楽スキルに渡すところまでの流れは同じ。このあと、スキル側では再生中の曲名やアーティスト名などの情報を提供する。そして、CEKを通じてこの情報を取得し、ユーザーに返す文章を生成したら、それをCICに渡す前にブレインの音声合成モジュールで音声ファイルに変換する。これをClova WAVEが再生することで、『この曲は○○です』と答えられる仕組みになっている」


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2018 夏】セッションレポート

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5