Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

誰でも簡単にできる! LINE Clovaスキルの作り方

LINEのAIアシスタントとおしゃべりしよう! 世界一簡単なClovaスキル開発講座 第1回

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

 LINEのスマートスピーカーで利用しているAIアシスタント「Clova(クローバ)」。いよいよ7月12日より開発環境がオープン化され、Clova向けスキルが誰でも作れるようになりました。本連載では、Clova向けスキルを開発、公開する手順を実際に作成しながら解説していきます。開発はスマートスピーカー向けスキルの開発によく使われるNode.js、サーバーはHerokuのフリーアカウントを利用しますので、簡単に、そして無料で運用が可能です。第1回は、ClovaとClova向けスキルの概要とフロー、作成したClova向けスキルの管理作業や設定を行う「Clova Developer Center」の使い方を、実際にスキルを作成しながら簡単に解説します。最後にサンプルプロジェクトをHerokuにデプロイし、自分のClovaデバイスで体験してみましょう。

目次

 また、CEKの発表に合わせてLINE BOOT AWARDSを開催します。本連載でスキルの開発手法を学び、賞金1000万や副賞50万の獲得を目指しましょう!

はじめに

 ClovaはLINE株式会社が提供するAIアシスタントです。Clovaを搭載したスマートスピーカーとして、今までにClova WAVE、Clova FriendsやClova Friends Mini等(以下、Clovaデバイス)がリリースされています。例えばこれらのClovaデバイスに「新宿の天気を教えて」と話しかけると、「今日の新宿の天気は晴れ、降水確率は10%です」などと天気を調べて教えてくれますが、これが「スキル」です。他にも翻訳やLINE通話等たくさんのスキルがデフォルトでインストールされており、便利に利用できます。

 今回スキルの開発環境がオープン化され、Clova向けスキルを開発・拡張できる「CEK(Clova Extensions Kit)」を利用することで、誰でも簡単にClovaデバイス上で動作するスキルを開発することができるようになりました。

 スキルを実装するためには実際に処理を行うスクリプトを置く場所が必要になりますが、今回はHerokuを利用します。HerokuとはPaaS(Platform as a Service)と呼ばれるサービスで、アプリケーションを実行するためのプラットフォームです。昔は自分で作ったWebアプリケーションを公開しようと思うとレンタルサーバーを借り、複雑な設定を行うことが必要でしたが、Herokuを使うと使いやすいよう設定された環境が始めから用意されており、しかも少ないトラフィックでしたら無料で利用できます。

 Herokuではさまざまなプログラミング言語が利用できますが、今回はNode.jsを使って解説します。

対象読者

  • Webアプリケーション開発経験者
  • チャットボット開発経験者
  • スマートフォン等のアプリ開発経験者

必要な環境

  • セットアップ済みのClova Friends/Clova Friends mini
  • PC

 Node.jsが利用できる環境でしたらどのような環境でも開発が可能ですが、解説はMacで行い、Window環境で手順に違いがある場合は都度解説します。筆者の環境はMac OS X High Sierra(10.13.1)、Node.jsのバージョンは8.11.1です。

スキルの動作フロー

 はじめに、スキルの起動、機能の利用、終了のフローを解説します。

スキルの動作フロー
スキルの動作フロー

 「スキルの動作フロー」の図にある「Clova Brain」とは、Clovaの中核となるシステムで、NLU(Natural Language Understanding:自然言語理解)や、Dialog Managerなどで構成される「Clova Conversation」を中心に、より自然な言語翻訳処理を行うNMT(Neural Machine Translation)、ドキュメントやコンテンツなどを推薦するRecommendation Engineなどで構成されます。

 このように、Clova向けスキルは、GUIとは違い音声で入力します。動作のフロー図を見ると分かるように、音声による入力からClova Brainを利用してインテント(意図)とスロット(対象)を読み取る処理が毎回実行されます。

 スキル開発には大きく分けて、以下の2つのパートがあります。

  • 対話から必要な部分を抜き取るルール(以後「対話モデル」と呼びます)の作成
  • 抜き取られた部分を受け取り、処理を行ってレスポンスを返すサービスの開発

 前者はClova Developer Center、後者はCEKを利用し開発します。


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

著者プロフィール

  • 立花 翔(タチバナ ショウ)

     LINE株式会社テクニカルエバンジェリスト   個人アプリケーションデベロッパーとして世界中で1000万近くのユーザーと接点を持った経験を元に、デベロッパーのLINEのAPIを利用したビジネスの成功をお手伝いさせて頂いております。 各種APIを始めとするプラットフォームとしてのLINEを啓蒙し、...

バックナンバー

連載:LINEのAIアシスタントとおしゃべりしよう! 世界一簡単なClovaスキル開発講座
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5