0

i created a Fulfillment for my Google Action APP, when i send a request i get a response but there is something strange with the intent which i don't understand.

My action.json looks like this:

 {
  "actions": [
    {
      "description": "Default Welcome Intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "test"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to test"
          ]
        }
      }
    },
    {
      "description": "zweites intent",
      "name": "zwei",
      "fulfillment": {
        "conversationName": "test"
      },
      "intent": {
        "name": "zwei",
        "trigger": {
          "queryPatterns": [
            "starte zwei",
            "zwei",
            "komm schon"
          ]
        }
      }
    },
    {
      "description": "Everything Else Intent",
      "name": "allElse",
      "fulfillment": {
        "conversationName": "test"
      },
      "intent": {
        "name": "actions.intent.TEXT"
      }
    }
  ],
  "conversations": {
    "dpd": {
      "name": "test",
      "url": "someurl"
    }
  },
  "locale": "en"
}

When i say a sentence which is part of my queryPatterns it does not give me my intent as response. It is always responding with the actions.intent.Text intent.

{
    "user": {
        "userId": "userid",
        "locale": "en-US",
        "lastSeen": "2018-01-29T15:06:04Z",
        "userStorage": "{\"data\":{}}"
    },
    "conversation": {
        "conversationId": "1234",
        "type": "ACTIVE",
        "conversationToken": "{\"state\":null,\"data\":{}}"
    },
    "inputs": [
        {
            "intent": "actions.intent.TEXT",
            "rawInputs": [
                {
                    "inputType": "KEYBOARD",
                    "query": "komm schon"
                }
            ],
            "arguments": [
                {
                    "name": "text",
                    "rawText": "komm schon",
                    "textValue": "komm schon"
                }
            ]
        }
    ],
    "surface": {
        "capabilities": [
            {
                "name": "actions.capability.AUDIO_OUTPUT"
            },
            {
                "name": "actions.capability.SCREEN_OUTPUT"
            },
            {
                "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
            },
            {
                "name": "actions.capability.WEB_BROWSER"
            }
        ]
    },
    "isInSandbox": true,
    "availableSurfaces": [
        {
            "capabilities": [
                {
                    "name": "actions.capability.AUDIO_OUTPUT"
                },
                {
                    "name": "actions.capability.SCREEN_OUTPUT"
                }
            ]
        }
    ]
}

Should't it response "zwei" as intent? because thats where he should find the Pattern.

Beanssss
  • 65
  • 5

1 Answers1

1

With the Action SDK, pattern matching is only done for initial intents. Afterwards, during the conversation, although you can specify suggested intents, they will generally be sent to you as TEXT intents.

The Action SDK is not meant as a Natural Language Processing (NLP) system. If you're looking for something that does NLP, Actions have direct integration with Dialogflow and Converse.AI, but any NLP system should be able to provide information about how to do the integration at this point.

Prisoner
  • 49,922
  • 7
  • 53
  • 105