5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

voiceflowのブロックの概要

Last updated at Posted at 2019-06-10

[2019/06/11]
Voiceflowで使うBlockの用途が分からなかったので、実際に使ってみて概要を整理。
Blockのヘルプにオフィシャルの解説動画があるので、時間がある人はそっちを見たほうが理解が深まると思います。
途中だけど投稿。
[2019/06/21]
userinfo,permission,paymentを更新

Basic

Speak

Alexaのターン。Alexaが話すことばを定義します。
声色も選択可能で、ドロップダウンからAmazon Polyで選べる声色を選べます。
また、音声ファイルも流すことができます。
音声ファイルは、URLで指定するか、アップロードします。

Choice

ユーザーのターン。ユーザーの発話と分岐を定義します。
定義された発話と実際の発話が合致した場合に、関連づいたブロックに処理が移ります。
定義する発話のシノニムも指定できるため、同じ意味の内容をグルーピングすることで発話ゆれを吸収することができます。

Logic

Set

変数に値をセットします。
数値でも文字列でも設定可能です。また、計算式の結果を設定することもできます。
しかし、このSetブロックの定義内で計算結果を設定するのは結構しんどかったです。
ポリシーにもよると思いますが、計算結果を設定するのであれば、あとで出てくるCodeブロックを使うことをお勧めします。

If

変数を使った条件分岐です。
定義方法はSetブロックに近いです。
複数の条件を定義でき、合致する条件に関連づいたブロックに処理が移ります。
条件分岐の数がビジュアルに反映されるので、どれだけ分岐しているのか一目瞭然でわかりやすいです。

Capture

ユーザーのターン。ユーザーの発話を変数で受け取ります。
質問に対する回答を受け取る器のような使い方が良いと思います。
変数の型を指定する必要があるので、期待する型でユーザーが回答しやすいような設問をしておく工夫が必要です。

Random

ランダムな分岐を定義します。
ゲームなどでランダムな結果がほしい場合に使えると思います。
また、それとは別に、スキルが呼び出された場合の挨拶などをランダムにすることで、スキルに厚みが出るんじゃあないかなと考えています。

Advanced

Intent

ユーザーのターン。定義された発話と実際の発話が合致した場合に、関連づいたブロックに処理が移ります。
事前にスロットを定義しておくことで、スロットを使ったシノニムの定義ができます。
また、Choiceが、前のSpeakブロックのリプライを処理するタイプで複数の分岐を定義できるのに対し、Intentは、前のブロックは不要で会話のスタートにも使えます。ただし、こちらは分岐は定義できず、発話が合致しなければそもそも呼ばれません。(多分)

Intaraction

ユーザーのターン。定義された発話と実際の発話が合致した場合に、関連づいたブロックに処理が移ります。
ChoiceとIntentとcaptureを合体した感じに近く、スロットを使った発話内容での条件分岐が定義できます。Choiceでは発話の内容を変数に取ることはできませんが、Intaractionでは、発話内のスロット部分を変数に取ることができます。

Stream

音声ファイルを流すことができます。
わかりにくかったのは「next」「previos」の遷移条件です。
音声ファイルを最後まで聞いた後に「next」には遷移しません。音声ファイルの再生中に「次!」「前!」と発話することで、それぞれ「next」「previos」に関連づいたブロックへ遷移します。

Integrations

外部サービスとの連携が可能です。
voiceflowが準備しているAPIを使うか、自分でRESTで連携するか選べます。
現時点では、voiceflowが準備しているAPIは少ないですが、これから色々なサービスが続々と実装されそうです。

Flow

関数定義です。入力パラメータと出力パラメータを定義でき、プロジェクト変数とFlowの変数の関連づけができます。
Flow内の操作は、通常の操作を変わりありません。

Code

JavaScriptのロジックを書けます。
Setブロックでは、Math等の組み込み関数が使えませんでしたが、こちらでは使えます。
プロジェクト変数も参照することができますが、ちょっとハマったのでメモしておきます。
CanvasのVariablesで宣言した{name}という変数を参照する場合、Codeブロックではnameと書きます。
{}で括ったり、${}のようにしてみても参照できませんので気をつけてください。

Exit

スキルを終了します。

Visuals

Card

調査中

Display

調査中

User

User Info

ユーザー情報にアクセスします。
スキルに権限がああるかを確認します。権限があれば、「ユーザー名」「メールアドレス」「電話番号」等にを取得でき、リマインダーや通知の機能を使う事ができます。権限が無い場合は次のPermissionを使う事で、スマホ等のアレクサアプリに各機能の利用許可を促す画面を表示します。

Permission

ユーザー情報にアクセスするための許可をユーザに促すため、スマホ等のアレクサアプリに各機能の利用許可を促す画面を表示します。
その画面で権限のON/OFFができます。

Payment

課金機能を設定します。「Alexa Developer Console」のビルドタブの「スキル内商品」に相当します。
日本の課金と同じく「買い切り型」「サブスクリプション型」「消費型」が選択可能です。
しかし、せっかく日本でスキル内課金が可能になりましたが、voiceflowでは、ドル建てでまだアメリカONLYです。

Cancel Payment

調査中

Reminder

リマインダーを使えます。使うには上記のPermissionでリマインダー機能に許可を与える必要があります。
リマインダーには、お知らせする経過時間を指定する「タイマー」と、お知らせする日時を指定する「スケジュール」の2種類があります。
リマインダーでお知らせを設定すると、メッセージと共に音楽が流れます。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?