How to create dialogflow conversation to make a price estimation









up vote
0
down vote

favorite












My agent’s goal is to ask 6 questions to make a price estimation of 2 different products.
It asks the 1st question: ‘do you want to make a price estimation for product1 or product2 ?’
And then, it asks 5 questions about the product’s characteristics (i.e. the product’s age, size…) to finally display the price estimation.
All flow made on Dialogflow UI with an inline editor for the fulfillment to calculate and then save data on Firebase DB.



My question -> Is it better to create :



1/ Create only 2 intents : product1 and product2 ? Then in those intents, ask the others 5 questions in ‘action and parameters’ section by filling parameters, entities and values.



2/ Create 6 differents intents for the 6 questions, with parameter value for each ones.



On my side :



  • I have tested the 1/, I’m able to retrieve all data on my Firebase DB but my 2 products have similar entities and parameters values (‘size’ for example) and my agent make errors’ flow to the wrong intent.

  • I have tested the 2/ (I think it’s the better way because all intents are more efficient) I’m able to make the good flow. But at the last question, I don’t know how to retrieve previous parameters values to make the price estimation.

Thanks a lot for the help ;)










share|improve this question









New contributor




Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.























    up vote
    0
    down vote

    favorite












    My agent’s goal is to ask 6 questions to make a price estimation of 2 different products.
    It asks the 1st question: ‘do you want to make a price estimation for product1 or product2 ?’
    And then, it asks 5 questions about the product’s characteristics (i.e. the product’s age, size…) to finally display the price estimation.
    All flow made on Dialogflow UI with an inline editor for the fulfillment to calculate and then save data on Firebase DB.



    My question -> Is it better to create :



    1/ Create only 2 intents : product1 and product2 ? Then in those intents, ask the others 5 questions in ‘action and parameters’ section by filling parameters, entities and values.



    2/ Create 6 differents intents for the 6 questions, with parameter value for each ones.



    On my side :



    • I have tested the 1/, I’m able to retrieve all data on my Firebase DB but my 2 products have similar entities and parameters values (‘size’ for example) and my agent make errors’ flow to the wrong intent.

    • I have tested the 2/ (I think it’s the better way because all intents are more efficient) I’m able to make the good flow. But at the last question, I don’t know how to retrieve previous parameters values to make the price estimation.

    Thanks a lot for the help ;)










    share|improve this question









    New contributor




    Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      My agent’s goal is to ask 6 questions to make a price estimation of 2 different products.
      It asks the 1st question: ‘do you want to make a price estimation for product1 or product2 ?’
      And then, it asks 5 questions about the product’s characteristics (i.e. the product’s age, size…) to finally display the price estimation.
      All flow made on Dialogflow UI with an inline editor for the fulfillment to calculate and then save data on Firebase DB.



      My question -> Is it better to create :



      1/ Create only 2 intents : product1 and product2 ? Then in those intents, ask the others 5 questions in ‘action and parameters’ section by filling parameters, entities and values.



      2/ Create 6 differents intents for the 6 questions, with parameter value for each ones.



      On my side :



      • I have tested the 1/, I’m able to retrieve all data on my Firebase DB but my 2 products have similar entities and parameters values (‘size’ for example) and my agent make errors’ flow to the wrong intent.

      • I have tested the 2/ (I think it’s the better way because all intents are more efficient) I’m able to make the good flow. But at the last question, I don’t know how to retrieve previous parameters values to make the price estimation.

      Thanks a lot for the help ;)










      share|improve this question









      New contributor




      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      My agent’s goal is to ask 6 questions to make a price estimation of 2 different products.
      It asks the 1st question: ‘do you want to make a price estimation for product1 or product2 ?’
      And then, it asks 5 questions about the product’s characteristics (i.e. the product’s age, size…) to finally display the price estimation.
      All flow made on Dialogflow UI with an inline editor for the fulfillment to calculate and then save data on Firebase DB.



      My question -> Is it better to create :



      1/ Create only 2 intents : product1 and product2 ? Then in those intents, ask the others 5 questions in ‘action and parameters’ section by filling parameters, entities and values.



      2/ Create 6 differents intents for the 6 questions, with parameter value for each ones.



      On my side :



      • I have tested the 1/, I’m able to retrieve all data on my Firebase DB but my 2 products have similar entities and parameters values (‘size’ for example) and my agent make errors’ flow to the wrong intent.

      • I have tested the 2/ (I think it’s the better way because all intents are more efficient) I’m able to make the good flow. But at the last question, I don’t know how to retrieve previous parameters values to make the price estimation.

      Thanks a lot for the help ;)







      node.js dialogflow






      share|improve this question









      New contributor




      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited Nov 10 at 11:28









      lgwilliams

      129211




      129211






      New contributor




      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Nov 10 at 10:46









      Fab_

      11




      11




      New contributor




      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Fab_ is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          Remember that Intents are designed to capture what the user is saying - not necessarily the logic behind how you intend to handle that. While you can use things like Contexts to keep track of state, it is sometimes better to handle that with your logic. (See Thinking for Voice: Design Conversations not Logic)



          You should be storing anything you wish to remember between Intents in the parameters of a long-lived Context.






          share|improve this answer




















          • Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
            – Fab_
            5 hours ago










          • Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
            – Prisoner
            16 mins ago










          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',
          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
          );



          );






          Fab_ is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238161%2fhow-to-create-dialogflow-conversation-to-make-a-price-estimation%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote













          Remember that Intents are designed to capture what the user is saying - not necessarily the logic behind how you intend to handle that. While you can use things like Contexts to keep track of state, it is sometimes better to handle that with your logic. (See Thinking for Voice: Design Conversations not Logic)



          You should be storing anything you wish to remember between Intents in the parameters of a long-lived Context.






          share|improve this answer




















          • Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
            – Fab_
            5 hours ago










          • Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
            – Prisoner
            16 mins ago














          up vote
          0
          down vote













          Remember that Intents are designed to capture what the user is saying - not necessarily the logic behind how you intend to handle that. While you can use things like Contexts to keep track of state, it is sometimes better to handle that with your logic. (See Thinking for Voice: Design Conversations not Logic)



          You should be storing anything you wish to remember between Intents in the parameters of a long-lived Context.






          share|improve this answer




















          • Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
            – Fab_
            5 hours ago










          • Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
            – Prisoner
            16 mins ago












          up vote
          0
          down vote










          up vote
          0
          down vote









          Remember that Intents are designed to capture what the user is saying - not necessarily the logic behind how you intend to handle that. While you can use things like Contexts to keep track of state, it is sometimes better to handle that with your logic. (See Thinking for Voice: Design Conversations not Logic)



          You should be storing anything you wish to remember between Intents in the parameters of a long-lived Context.






          share|improve this answer












          Remember that Intents are designed to capture what the user is saying - not necessarily the logic behind how you intend to handle that. While you can use things like Contexts to keep track of state, it is sometimes better to handle that with your logic. (See Thinking for Voice: Design Conversations not Logic)



          You should be storing anything you wish to remember between Intents in the parameters of a long-lived Context.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 10 at 15:04









          Prisoner

          29.3k12551




          29.3k12551











          • Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
            – Fab_
            5 hours ago










          • Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
            – Prisoner
            16 mins ago
















          • Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
            – Fab_
            5 hours ago










          • Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
            – Prisoner
            16 mins ago















          Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
          – Fab_
          5 hours ago




          Thx, you have confirmed my believe. I made it with differents intents and retrieve all parameters to save them on Firebase RealTime Database.
          – Fab_
          5 hours ago












          Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
          – Prisoner
          16 mins ago




          Storing it in the Real-time database also makes sense, as long as you're associating the information with the same user or session. If my answer has helped, upvoting and/or accepting it is always appreciated.
          – Prisoner
          16 mins ago










          Fab_ is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          Fab_ is a new contributor. Be nice, and check out our Code of Conduct.












          Fab_ is a new contributor. Be nice, and check out our Code of Conduct.











          Fab_ is a new contributor. Be nice, and check out our Code of Conduct.













           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238161%2fhow-to-create-dialogflow-conversation-to-make-a-price-estimation%23new-answer', 'question_page');

          );

          Post as a guest














































































          這個網誌中的熱門文章

          How to read a connectionString WITH PROVIDER in .NET Core?

          Node.js Script on GitHub Pages or Amazon S3

          Museum of Modern and Contemporary Art of Trento and Rovereto