クエリパターン(Dialogflow)

クエリパターンは、ユーザーが発話する可能性のあるフレーズの例を定義します。アシスタントは、自然言語処理を使用して、ユーザーが発話した意味的に類似したフレーズを照合できます。

クエリパターンには、リテラル文字列、条件、Schema.org 型を使用した引数を含めることができます。

リテラル文字列

クエリパターンにはリテラル文字列を含めることができます。

例: "Start the guess the number game."

条件

クエリパターンの一部をオプションにすることができます。条件付きクエリパターンを指定するには、フレーズの一部を丸かっこで囲み、疑問符で終了します。次の例では、Start the をオプションとして定義しています。

例: "(Start the)? Guess the number game"

引数

クエリパターンでは、名前付き引数(変数と考えることもできます)を使用して、ユーザーの入力の一部を収集できます。引数は、$Type:argument_name の構文を使用して指定します。

例: "$org.schema.type.Number:number" は、Schema.org 番号の入力を想定し、ユーザーが発話する実際の番号を「number」という名前の引数でキャプチャするクエリパターンを記述しています。

Schema.org による型

クエリパターンに使用できる Schema.org による型の一覧を以下に示します。

種類 クエリパターンの例 ユーザークエリの例
$org.schema.type.Date sms pro で $org.schema.type.Date:my_date の SMS を読んで sms pro で 4 月 1 日の SMS を読んで
$org.schema.type.Number ライトを $org.schema.type.Number:number 回点滅させて ライトを 5 回点滅させて
$org.schema.type.Time sms pro で $org.schema.type.Time:my_time の SMS を読んで SMS プロで午後 5 時の SMS を読んで
$org.schema.type.DayOfWeek $org.schema.type.DayOfWeek:day_of_week の会議を表示して 火曜日のミーティングを見せて
$org.schema.type.Color $org.schema.type.Color:my_color ストロボをつけて 赤いストロボをつけて
$org.schema.type.priceCurrency 通貨アプリで $org.schema.type.priceCurrency:cur の換算レートを表示して 通貨アプリで円の換算率を表示して
$org.schema.type.Distance $org.schema.type.Distance:dist の変換チャートを表示 キロメートルの換算チャートを表示
$org.schema.type.Temperature 温度を $org.schema.type.Number:num 度$org.schema.type.Temperature:temp に設定して 温度を華氏 20 度に設定して
$org.schema.type.Organization $org.schema.type.Organization:organization のハイライト を視聴 レイカーズ ハイライトを視聴する
$org.schema.type.Organization:organization の株価を表示して Google の株価を見せて
$org.schema.type.Person $org.schema.type.Person:musician の上位 10 曲を表示 ブルーノ マーズの楽曲トップ 10 を表示して
$org.schema.type.Person:person に関するニュースを見せて ビルゲートに関するニュースを見せて
$org.schema.type.Place $org.schema.type.Place:place のレビューを書いて ニューヨークのレビューを書く
$org.schema.type.Place:location の交通状況を表示 マウンテンビューで交通状況を表示して
$org.schema.type.Product $org.schema.type.Product:product のレビューを書いて Google Glass のレビューを書く
$org.schema.type.Book $org.schema.type.Book:my_book を読み取って 期待が高まっている
$org.schema.type.Movie $org.schema.type.Movie:my_movie の映画を再生して カサブランカの映画を確認して
$org.schema.type.TVSeries $org.schema.type.TVSeries:tv_series の次のエピソードを再生して 友だちの次のエピソードを再生する
$org.schema.type.servesCuisine $org.schema.type.servesCuisine:my_cuisine のレストランを表示して イタリア料理レストランを表示
$org.schema.type.MusicAlbum $org.schema.type.MusicAlbum:subscribe をキューに追加して。 アビーロードをキューに追加して
$org.schema.type.MusicRecording $org.schema.type.MusicRecording:song をお気に入りに追加して いつでもお気に入りに登録できます
$org.schema.type.YesNo $org.schema.type.YesNo はい
$org.schema.type.URL $org.schema.type.URL を追加 google.com を追加する
$org.schema.type.Email $org.schema.type.Email を追加 john@google.com を追加する
$org.schema.type.PhoneNumber $org.schema.type.PhoneNumber を追加 (777) 777-7777 を追加
$org.schema.type.Text $org.schema.type.Text と書いてあるあの曲は? なんて曲で、君は私の太陽だって言ってるの?

カスタム型

customTypes オブジェクトを使用すると、独自の型を指定できます。カスタム型の name を定義し、items に次のフィールドを含めることができます。

  • key: synonyms の文字列に対応するカスタム型の値
  • synonyms: ユーザーが key を参照する可能性がある場合の用途

次の例では、「6am」のさまざまな言い方を表すカスタム型を定義しています。

"customTypes": [
    {
      "name": "$MorningOptions",
      "items": [
        {
          "key": "6am",
          "synonyms": [
            "6 am",
            "6 o clock",
            "oh six hundred",
            "6 in the morning"
          ]
        }
      ]
    }
  ]