Force lex to elicit specific slot












1















I have multiple slots in my intent. Is it possible to force lex to elicit a specific slot using the aws sdk POSTTEXT call, and not worry about the priority of slots?



Example:




  1. pizzaordering - intent

  2. toppings - slot

  3. pizzasize - slot

  4. cheesequanity - slot

  5. pizzaquantity - slot


When i post "25" to lex, i want it to match pizzaquantity instead of cheesequanity










share|improve this question





























    1















    I have multiple slots in my intent. Is it possible to force lex to elicit a specific slot using the aws sdk POSTTEXT call, and not worry about the priority of slots?



    Example:




    1. pizzaordering - intent

    2. toppings - slot

    3. pizzasize - slot

    4. cheesequanity - slot

    5. pizzaquantity - slot


    When i post "25" to lex, i want it to match pizzaquantity instead of cheesequanity










    share|improve this question



























      1












      1








      1








      I have multiple slots in my intent. Is it possible to force lex to elicit a specific slot using the aws sdk POSTTEXT call, and not worry about the priority of slots?



      Example:




      1. pizzaordering - intent

      2. toppings - slot

      3. pizzasize - slot

      4. cheesequanity - slot

      5. pizzaquantity - slot


      When i post "25" to lex, i want it to match pizzaquantity instead of cheesequanity










      share|improve this question
















      I have multiple slots in my intent. Is it possible to force lex to elicit a specific slot using the aws sdk POSTTEXT call, and not worry about the priority of slots?



      Example:




      1. pizzaordering - intent

      2. toppings - slot

      3. pizzasize - slot

      4. cheesequanity - slot

      5. pizzaquantity - slot


      When i post "25" to lex, i want it to match pizzaquantity instead of cheesequanity







      aws-sdk amazon-lex






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 '18 at 17:36







      rakeshshukla

















      asked Nov 24 '18 at 16:29









      rakeshshuklarakeshshukla

      84




      84
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Eliciting a specific slot needs to happen after Lex processes the input and sends the Event/Request to your Lambda Function during the "initialization and validation" code hook.



          Without a Lambda Function, Lex will only Delegate which slots to elicit based on which ones are checked as required.



          So to have more control like this, you will need a Lambda Function. You will want to read the Lambda Function Input Event and Response Formats. That shows you how Lex will pass the processed user input to your Lambda Function, and how to respond in certain ways so that you can tell Lex what to do next, such as ElicitSlot



          To be clear, this is not done with the PostText API.



          If you are already using a Lambda Function, then you can post the code you are using but want it to elicit a specific slot, then I could offer a more specific solution. If you don't use a Lambda Function yet, then try to set one up and you may see how to use elicitSlot yourself.



          If you run into more problems, just ask another question.






          share|improve this answer
























          • Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

            – Jay A. Little
            Nov 25 '18 at 13:39











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53460157%2fforce-lex-to-elicit-specific-slot%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Eliciting a specific slot needs to happen after Lex processes the input and sends the Event/Request to your Lambda Function during the "initialization and validation" code hook.



          Without a Lambda Function, Lex will only Delegate which slots to elicit based on which ones are checked as required.



          So to have more control like this, you will need a Lambda Function. You will want to read the Lambda Function Input Event and Response Formats. That shows you how Lex will pass the processed user input to your Lambda Function, and how to respond in certain ways so that you can tell Lex what to do next, such as ElicitSlot



          To be clear, this is not done with the PostText API.



          If you are already using a Lambda Function, then you can post the code you are using but want it to elicit a specific slot, then I could offer a more specific solution. If you don't use a Lambda Function yet, then try to set one up and you may see how to use elicitSlot yourself.



          If you run into more problems, just ask another question.






          share|improve this answer
























          • Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

            – Jay A. Little
            Nov 25 '18 at 13:39
















          0














          Eliciting a specific slot needs to happen after Lex processes the input and sends the Event/Request to your Lambda Function during the "initialization and validation" code hook.



          Without a Lambda Function, Lex will only Delegate which slots to elicit based on which ones are checked as required.



          So to have more control like this, you will need a Lambda Function. You will want to read the Lambda Function Input Event and Response Formats. That shows you how Lex will pass the processed user input to your Lambda Function, and how to respond in certain ways so that you can tell Lex what to do next, such as ElicitSlot



          To be clear, this is not done with the PostText API.



          If you are already using a Lambda Function, then you can post the code you are using but want it to elicit a specific slot, then I could offer a more specific solution. If you don't use a Lambda Function yet, then try to set one up and you may see how to use elicitSlot yourself.



          If you run into more problems, just ask another question.






          share|improve this answer
























          • Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

            – Jay A. Little
            Nov 25 '18 at 13:39














          0












          0








          0







          Eliciting a specific slot needs to happen after Lex processes the input and sends the Event/Request to your Lambda Function during the "initialization and validation" code hook.



          Without a Lambda Function, Lex will only Delegate which slots to elicit based on which ones are checked as required.



          So to have more control like this, you will need a Lambda Function. You will want to read the Lambda Function Input Event and Response Formats. That shows you how Lex will pass the processed user input to your Lambda Function, and how to respond in certain ways so that you can tell Lex what to do next, such as ElicitSlot



          To be clear, this is not done with the PostText API.



          If you are already using a Lambda Function, then you can post the code you are using but want it to elicit a specific slot, then I could offer a more specific solution. If you don't use a Lambda Function yet, then try to set one up and you may see how to use elicitSlot yourself.



          If you run into more problems, just ask another question.






          share|improve this answer













          Eliciting a specific slot needs to happen after Lex processes the input and sends the Event/Request to your Lambda Function during the "initialization and validation" code hook.



          Without a Lambda Function, Lex will only Delegate which slots to elicit based on which ones are checked as required.



          So to have more control like this, you will need a Lambda Function. You will want to read the Lambda Function Input Event and Response Formats. That shows you how Lex will pass the processed user input to your Lambda Function, and how to respond in certain ways so that you can tell Lex what to do next, such as ElicitSlot



          To be clear, this is not done with the PostText API.



          If you are already using a Lambda Function, then you can post the code you are using but want it to elicit a specific slot, then I could offer a more specific solution. If you don't use a Lambda Function yet, then try to set one up and you may see how to use elicitSlot yourself.



          If you run into more problems, just ask another question.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 25 '18 at 13:37









          Jay A. LittleJay A. Little

          1,4721418




          1,4721418













          • Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

            – Jay A. Little
            Nov 25 '18 at 13:39



















          • Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

            – Jay A. Little
            Nov 25 '18 at 13:39

















          Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

          – Jay A. Little
          Nov 25 '18 at 13:39





          Welcome to Stack Overflow. If you have any questions about my answer, just ask here and I'll be happy to help further.

          – Jay A. Little
          Nov 25 '18 at 13:39




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53460157%2fforce-lex-to-elicit-specific-slot%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Costa Masnaga

          Fotorealismo

          Sidney Franklin