SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2018 夏】セッションレポート(AD)

スキル開発キット公開でさらに広がる! 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」について紹介した。

  • このエントリーをはてなブックマークに追加
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が再生することで、『この曲は○○です』と答えられる仕組みになっている」

ClovaスキルとLINE Botで実現できること

 「LINEでは、AIを『Virtual Assistant in our life』と定義している。AIは私たちの生活に溶け込み、サポートしてくれる存在でなければならない」と立花氏。

 それを体現するのがClovaであり、その「サポートしてくれること」の幅を広げるのがClovaスキルということになる。

 Clovaスキルで実際どのようなことが可能となるのか。立花氏はすでに提供されているスキルや、比較的容易に実現できるスキルを例に説明した。

 まず挙げたのが、歯磨きや食事、着替えなど、何かとあわただしい朝の出勤前のサポートだ。諸々の支度で手がふさがっている状態でも、Clovaに標準で搭載されているスキルを音声で呼び出して、天気やニュースの検索・再生、ToDoリストのチェック、電車遅延状況の確認などが行える。

 これらはほかのAIアシスタントおよびスマートスピーカーでも可能だが、LINEの場合はさらに「LINE Bot」と連携させることで、より便利な使い方ができるようになるという。

 「出勤前の準備をしながらニュースを聞けるといっても、時間は限られている。そこでClovaスキルではサマリーだけを流し、記事全文はLINE Botから自分のアカウントに送るようにしておけば、電車の中で気になったニュースの詳しい内容をチェックできる。また、週間天気のように『音声で聞くには長すぎる結果』なども、LINE Botに流したほうが使い勝手がいい」

ClovaスキルとLINE Botの連携で、より便利な使い方が可能に
ClovaスキルとLINE Botの連携で、より便利な使い方が可能に

 また、料理のレシピ検索などでは、手がふさがってる料理中はClovaスキルでレシピの音声を再生しつつ、検索内容に基づいた「おすすめレシピ」をLINE Botにプッシュしておき、あとでゆっくり閲覧するといった楽しみ方ができる。

 ほかにも、ヨガのポーズ指示(Botではトレーニング履歴を管理)、IoTのスマートロック(Botでは出先から施錠状況チェック)など、さまざまな用途でClovaスキルとLINE Botを組み合わせて活用できるという。

CEKの一般公開で誰でもClovaスキルを開発可能に!

 LINEでは7月にCEKを一般公開し、Clovaスキルの開発環境をオープン化。これにより、Clovaデバイス上で動作するスキルを誰でも容易に開発できるようになった。

 これに合わせて立花氏はCodeZineでClovaスキル開発の連載を開始。「時間の都合もあり、具体的な開発手順などは記事を参照いただきたい」としつつ、ポイントのひとつである「対話モデル」の概要について簡単に解説した。

 例えば乗り換え案内のサービスを作りたい場合、Webアプリなら「出発駅」「目的駅」のテキストフィールドや「出発時間」などの日付・時刻を選択できるGUIを用意すれば、システム側はユーザーの要求を明確に得ることができる。これに対し、スマートスピーカーのVUI(Voice User Interface)では、「1時間後の新宿から渋谷までの経路を教えて」「16:00発の新宿から渋谷への行きかた」のように、ユーザーの意図は同じであっても無数の入力パターンが考えられる。

GUIではユーザーの入力パターンを絞ることができるが、
GUIではユーザーの入力パターンを絞ることができるが、
VUIでは想定される入力パターンが無数にある
VUIでは想定される入力パターンが無数にある

 「これを吸収する仕組みが対話モデル。適切に対話モデルを設定することによって、無限にある同じような意味の発話パターンから、処理に必要な情報だけを抜き出せるようになる」と立花氏は説明。

 処理に必要な情報とは、「意図」(「経路を調べたい」など)と「対象」(出発駅:渋谷、目的地:新宿、時間:16:00など)だ。対話モデルの設定画面で意図と対象を設定し、考えられるユーザーの発話パターンをいくつかサンプル発話として登録しておけば、登録したパターンだけでなくさまざまな発話から、意図と対象を適切に抽出できるようになるという。

 「シンプルなスキルなら15分程度で作ることができるので、ぜひ試していただきたい」と立花氏は呼びかけた。

 なお、LINEではCEKの公開に合わせて、ClovaスキルおよびLINE Botを対象とした開発コンテスト「LINE BOOT AWARDS 2018」を開催することを発表している。応募要件は「Clova Extensions Kit(Clova SDK)またはMessaging API、もしくはその両方を利用していること」で、グランプリの賞金は1000万円とのこと。

 「グランプリ以外にもファミリー部門賞、暇つぶし部門賞など、さまざまな部門賞を用意しているので、ご自身のアイデアにマッチするものが何かあるはず。奮ってご参加いただきたい」

 LINE BOOT AWARDS 2018の申し込み締め切りは10月10日(水)、決勝戦が11月10日(土)開催予定となっている。まずは気軽にCEKでスキル開発を試してみて、手応えをつかんだ方や何かアイデアが浮かんだ方はエントリーしてみてはいかがだろうか。

お問い合わせ

 LINE株式会社

この記事は参考になりましたか?

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11021 2018/08/21 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング