GoogleのアクションAPIは、自分の意図で正しいパターンを見つけて正しいタイプにバインドするようですが、解析されたタイプのデータは返しません。私が意図を持っている場合たとえば、私のactions.jsonファイルに以下に定義する:GoogleアクションSDKで正しいタイプの引数を取得するにはどうすればよいですか?
:シミュレータに「明日自分の行動で を言う」、{
"description": "",
"initialTrigger": {
"intent": "RepeatIntent",
"queryPatterns": [
{
"queryPattern": "say $SchemaOrg_Number:mynumber"
},
{
"queryPattern": "say $SchemaOrg_Date:mydate"
},
{
"queryPattern": "say $SchemaOrg_Time:mytime"
}
]
},
"httpExecution": {
"url": "https://myurl/repeat"
}
}
と私は入力して、私は次の引数を受け取りますドキュメントに指定されているように正しく、タイプ「$ SchemaOrg_Date」と「明日」識別しているMyDateそれを変数にバインドされたアクションSDKは、しかし、は、それがリターンJSONで「DATE_VALUE」の要素を返しませんでしたことを
"arguments": [ { "name": "mydate", "raw_text": "tomorrow", "text_value": "tomorrow" }, { "name": "trigger_query", "raw_text": "say tomorrow", "text_value": "say tomorrow" } ]
注意。私は "date_value"要素に(ドキュメントごとに)解析された日付構造を含めることを期待していたでしょう。
数字は同じですが、動作はわずかに異なります。 $ SchemaOrg_Numberが認められ、「50」が正しく、「50」に解析されたこと
"arguments": [
{
"name": "mynumber",
"raw_text": "50",
"text_value": "50"
},
{
"name": "trigger_query",
"raw_text": "say fifty",
"text_value": "say fifty"
}
]
注:私は句「自分の行動では50言う」を使用した場合、私はこれらの引数を受け取りますしかし、ドキュメントごとに引数jsonにint_valueが設定されていませんでした。
Googleでは、これらの複合型を積極的に解析しており、返される必要があることを文書化しているため、自分で解析するのは難しいです。これがすぐに修正されるかどうかについての考えはありますか?
私は同じ回答が他の場所に掲載されているのを見ましたが、Googleのドキュメントと矛盾しています。あなたの回答がGoogleの正式な役職であると私は考えることができますか? APIの実際の操作を反映するためにドキュメントが更新されるのですか? NLPの処理の半分はすでにGoogleによって行われているようですが、結果は単に欠落しています。私は(Goで)フレームワークを開発しており、Googleがサポートしようとしている機能を複製したくないので、どんな説明も本当に役に立ちます。 ありがとう、 –
私の知る限り、ドキュメントは正しいです。あなたはそれが矛盾していると信じるところを指摘できますか? –
レオン、応答のおかげで。 HTTPリクエストのリファレンスの引数セクションを参照してください https://developers.google.com/actions/reference/conversation#Inputs ドキュメントは、int_value、bool_value、date_value、time_value、およびlocation_valueを参照しています。適切な$ SchemaOrg_XXXXX値に遭遇したときにそれらを返す必要があります。それらは決してJSONに入れられません(上記の私の質問を参照)。 タイプは正しいので、GoogleはいくつかのNLPを行っていますが、実際の値は決して提供されません。これが設計であるかどうかを理解する必要があります。 –