SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

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

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

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


対話モデルの作り方

対話モデルの概要

 ここで、対話モデルが何のためにあるのかを簡単に説明します。詳細は次回以降、設定を行いながら解説します。

 Webアプリだと、GUIによって、ユーザーが求めていることを分かりやすく操作してもらうことができます。例えば、以下の画像のような、指定した駅への経路を教えてくれるWebアプリを開発する場合には、テキストフィールドや日付、時間を選択するためのUIを用意すれば、ユーザーがどこからどこに行きたいか、何時に出発したいかがすぐに分かります。

サンプルアプリ
サンプルアプリ

 これに対しスマートスピーカーは、基本的に声によるインプットになるため、文字列からユーザーの意図や対象を明確に取得する作業が必要になります。

 例えば、上記の経路を教えてくれるWebアプリで入力していることと同じことをユーザーが要求している場合でも

  • 1時間後の新宿から渋谷までの経路を教えて
  • 16:00発の新宿から渋谷への行きかた
  • 今から1時間後に新宿駅から渋谷駅までどうやっていくか調べて
  • あと1時間経ってから新宿を出発して渋谷へ行く方法が知りたい

というような無数のパターンが想定され、それがそのままサービスに渡ってしまうとそこから文字列比較等でユーザーの要求を取得するのは困難です。

 対話モデルを適切に設定することで、上記のいずれの発話がされた時でも、サービスには、以下のような処理に必要な情報のみが抜き出され、サービスへ渡されるようになります。

  • 意図:経路を調べたい
  • 対象
    • 出発駅:渋谷
    • 目的地:新宿
    • 時間:16:00

 これにより、アプリ等のGUIと同様に、必要な処理の実装にフォーカスすることができるようになります。

対話モデルの設定

 次に、対話モデルの設定画面の使い方を解説します。ナビゲーションバーの「スキル設定 > 基本設定」をクリックし、作成したスキルの対話モデルの修正をクリックしてください。

Interaction Builder
Interaction Builder

 対話モデルの設定画面が開きました。対話モデルでは、前述の意図を「インテント」、対象を「スロット」と呼びます。

 今回は簡単なサンプルのため、ユーザーからのインプットを分析し、挨拶だと認識する対話モデルを設定してみましょう。

 設定画面の左ペイン、カスタムインテントの横の「+」をクリックし、「GreetingsIntent」という名前のインテントを作成します。

Interaction Builder
Interaction Builder

 インテントが作成されました。ではサンプル発話を追加していきましょう。サンプル発話は、このインテントとして認識させたいインプットのサンプルです。「こんにちは」「こんちは」「おはよう」「おはようございます」の4つを追加し、「保存」をクリックします。

Interaction Builder
Interaction Builder

 左上の「ビルド」をクリックします。数分待つとビルドが完了し、このスキルの対話モデルが更新されます。

実機でのデバッグ準備

 次に、Clovaデバイスでスキルを実行できる状態かどうかを確認しましょう。「ビルド」の少し下の「テスト」「発話履歴」とクリックし、発話履歴をONにします。

Interaction Builder
Interaction Builder

 その状態でClovaデバイスをスタンバイ状態にし、何か適当に話しかけてください。Clovaデバイスに紐付いているアカウントと同じアカウントでログインできていれば、話しかけた内容が表示されます。

Interaction Builder
Interaction Builder

 話しかけた内容が表示されない場合は、スキルの実行をすることができません。Clovaデバイスへ紐付いているアカウントとClova Developer Centerにログインしたアカウントが同一か確認してください。

 無事に発話履歴が表示される方は「テスト」をクリックし、「こんにちは」とタイプし「テスト」をクリックしてみましょう。

Interaction Builder
Interaction Builder

 発話からインテントが正常に取得できていることが分かります。「応答がありません」の部分は、まだサーバーの設定を行っていないのが原因なので問題ありません。

 次に、「こんばんは」とタイプしテストしてみましょう。

Interaction Builder
Interaction Builder

 「こんばんは」という発話はサンプル発話として登録していませんが、GreetingsIntentとして認識されました。このように、考えられる全ての発話をカバーせずとも、サンプル発話を与えるだけでさまざまな発話から意図を適切に抽出することができます。

 対話モデルの設定画面に関しては他にもできることがたくさんあるのですが、詳細は次回以降に解説します。

次のページ
Herokuのセットアップ

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

LINEのAIアシスタントとおしゃべりしよう! 世界一簡単なClovaスキル開発講座連載記事一覧
この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10927 2018/07/18 16:11

イベント

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

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

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

メールバックナンバー