Get the actual Value of an intent in RASA Core/NLU











up vote
0
down vote

favorite












I have the same question as in this issue:Get Intent Value in RASA Core/NLU
but What I want is the actuel value that the user give for a given intent.



for example:



User: I want to take it (this sentence is an intent called: 'use_it')
Bot: ....
User: .... (Later in the chat I decide to answer with the same phrase of intent 'use it')
Bot: you said previously "I want to take it"


How can I do this please, something like : tracker.get_slot but for intent. NB: I don't want the name of the last intent I want The actuel text of a given intent.



Thank you for your help










share|improve this question


























    up vote
    0
    down vote

    favorite












    I have the same question as in this issue:Get Intent Value in RASA Core/NLU
    but What I want is the actuel value that the user give for a given intent.



    for example:



    User: I want to take it (this sentence is an intent called: 'use_it')
    Bot: ....
    User: .... (Later in the chat I decide to answer with the same phrase of intent 'use it')
    Bot: you said previously "I want to take it"


    How can I do this please, something like : tracker.get_slot but for intent. NB: I don't want the name of the last intent I want The actuel text of a given intent.



    Thank you for your help










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have the same question as in this issue:Get Intent Value in RASA Core/NLU
      but What I want is the actuel value that the user give for a given intent.



      for example:



      User: I want to take it (this sentence is an intent called: 'use_it')
      Bot: ....
      User: .... (Later in the chat I decide to answer with the same phrase of intent 'use it')
      Bot: you said previously "I want to take it"


      How can I do this please, something like : tracker.get_slot but for intent. NB: I don't want the name of the last intent I want The actuel text of a given intent.



      Thank you for your help










      share|improve this question













      I have the same question as in this issue:Get Intent Value in RASA Core/NLU
      but What I want is the actuel value that the user give for a given intent.



      for example:



      User: I want to take it (this sentence is an intent called: 'use_it')
      Bot: ....
      User: .... (Later in the chat I decide to answer with the same phrase of intent 'use it')
      Bot: you said previously "I want to take it"


      How can I do this please, something like : tracker.get_slot but for intent. NB: I don't want the name of the last intent I want The actuel text of a given intent.



      Thank you for your help







      rasa-nlu rasa-core






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 at 10:39









      chemssou

      65




      65
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          Execute a custom action after the intent in which you store the intent text in a slot:



          from rasa_core_sdk import Action
          from rasa_core_sdk.events import SlotSet

          class ActionStoreIntentMessage(Action):
          """Stores the bot use case in a slot"""

          def name(self):
          return "action_store_intent_message"

          def run(self, dispatcher, tracker, domain):

          # we grab the whole user utterance here as there are no real entities
          # in the use case
          message = tracker.latest_message.get('text')

          return [SlotSet('intent_message', message)]


          You can then use the value of the set slot within an utter template:



          slots:
          intent_message:
          type: text

          templates:
          utter_last_intent:
          - "you said previously: {intent_message}"





          share|improve this answer























          • I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
            – chemssou
            Nov 22 at 11:15










          • I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
            – chemssou
            Nov 22 at 11:35










          • Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
            – chemssou
            Nov 22 at 11:47












          • My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
            – chemssou
            Nov 22 at 12:27










          • I added the imports and the slot definition to my example. Should work now this way.
            – Tobias
            Nov 22 at 12:42











          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
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53429076%2fget-the-actual-value-of-an-intent-in-rasa-core-nlu%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








          up vote
          0
          down vote













          Execute a custom action after the intent in which you store the intent text in a slot:



          from rasa_core_sdk import Action
          from rasa_core_sdk.events import SlotSet

          class ActionStoreIntentMessage(Action):
          """Stores the bot use case in a slot"""

          def name(self):
          return "action_store_intent_message"

          def run(self, dispatcher, tracker, domain):

          # we grab the whole user utterance here as there are no real entities
          # in the use case
          message = tracker.latest_message.get('text')

          return [SlotSet('intent_message', message)]


          You can then use the value of the set slot within an utter template:



          slots:
          intent_message:
          type: text

          templates:
          utter_last_intent:
          - "you said previously: {intent_message}"





          share|improve this answer























          • I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
            – chemssou
            Nov 22 at 11:15










          • I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
            – chemssou
            Nov 22 at 11:35










          • Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
            – chemssou
            Nov 22 at 11:47












          • My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
            – chemssou
            Nov 22 at 12:27










          • I added the imports and the slot definition to my example. Should work now this way.
            – Tobias
            Nov 22 at 12:42















          up vote
          0
          down vote













          Execute a custom action after the intent in which you store the intent text in a slot:



          from rasa_core_sdk import Action
          from rasa_core_sdk.events import SlotSet

          class ActionStoreIntentMessage(Action):
          """Stores the bot use case in a slot"""

          def name(self):
          return "action_store_intent_message"

          def run(self, dispatcher, tracker, domain):

          # we grab the whole user utterance here as there are no real entities
          # in the use case
          message = tracker.latest_message.get('text')

          return [SlotSet('intent_message', message)]


          You can then use the value of the set slot within an utter template:



          slots:
          intent_message:
          type: text

          templates:
          utter_last_intent:
          - "you said previously: {intent_message}"





          share|improve this answer























          • I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
            – chemssou
            Nov 22 at 11:15










          • I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
            – chemssou
            Nov 22 at 11:35










          • Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
            – chemssou
            Nov 22 at 11:47












          • My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
            – chemssou
            Nov 22 at 12:27










          • I added the imports and the slot definition to my example. Should work now this way.
            – Tobias
            Nov 22 at 12:42













          up vote
          0
          down vote










          up vote
          0
          down vote









          Execute a custom action after the intent in which you store the intent text in a slot:



          from rasa_core_sdk import Action
          from rasa_core_sdk.events import SlotSet

          class ActionStoreIntentMessage(Action):
          """Stores the bot use case in a slot"""

          def name(self):
          return "action_store_intent_message"

          def run(self, dispatcher, tracker, domain):

          # we grab the whole user utterance here as there are no real entities
          # in the use case
          message = tracker.latest_message.get('text')

          return [SlotSet('intent_message', message)]


          You can then use the value of the set slot within an utter template:



          slots:
          intent_message:
          type: text

          templates:
          utter_last_intent:
          - "you said previously: {intent_message}"





          share|improve this answer














          Execute a custom action after the intent in which you store the intent text in a slot:



          from rasa_core_sdk import Action
          from rasa_core_sdk.events import SlotSet

          class ActionStoreIntentMessage(Action):
          """Stores the bot use case in a slot"""

          def name(self):
          return "action_store_intent_message"

          def run(self, dispatcher, tracker, domain):

          # we grab the whole user utterance here as there are no real entities
          # in the use case
          message = tracker.latest_message.get('text')

          return [SlotSet('intent_message', message)]


          You can then use the value of the set slot within an utter template:



          slots:
          intent_message:
          type: text

          templates:
          utter_last_intent:
          - "you said previously: {intent_message}"






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 22 at 12:43

























          answered Nov 22 at 11:00









          Tobias

          34319




          34319












          • I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
            – chemssou
            Nov 22 at 11:15










          • I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
            – chemssou
            Nov 22 at 11:35










          • Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
            – chemssou
            Nov 22 at 11:47












          • My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
            – chemssou
            Nov 22 at 12:27










          • I added the imports and the slot definition to my example. Should work now this way.
            – Tobias
            Nov 22 at 12:42


















          • I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
            – chemssou
            Nov 22 at 11:15










          • I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
            – chemssou
            Nov 22 at 11:35










          • Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
            – chemssou
            Nov 22 at 11:47












          • My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
            – chemssou
            Nov 22 at 12:27










          • I added the imports and the slot definition to my example. Should work now this way.
            – Tobias
            Nov 22 at 12:42
















          I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
          – chemssou
          Nov 22 at 11:15




          I get this error by doing this : AttributeError: 'UserUttered' object has no attribute 'get' will give more details in a message
          – chemssou
          Nov 22 at 11:15












          I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
          – chemssou
          Nov 22 at 11:35




          I have changed tracker.latest_message.get('text') with tracker.latest_message.text and now I'am getting: NameError: name 'SlotSet' is not defined
          – chemssou
          Nov 22 at 11:35












          Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
          – chemssou
          Nov 22 at 11:47






          Solved the last one () I just forgot to import SoltSet. My final issue is that the bot recognise the 'intent_message' slot but when I use it in a template it does not show. It shows: you said previously: {intent_message} Any help please?
          – chemssou
          Nov 22 at 11:47














          My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
          – chemssou
          Nov 22 at 12:27




          My work arround is to add another costum action after saving the new slot. In the second costum action, I do something like:' message = tracker.get_slot('intent_message') response = """you said previously: {} """.format(loc) dispatcher.utter_message(response)'
          – chemssou
          Nov 22 at 12:27












          I added the imports and the slot definition to my example. Should work now this way.
          – Tobias
          Nov 22 at 12:42




          I added the imports and the slot definition to my example. Should work now this way.
          – Tobias
          Nov 22 at 12:42


















          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.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • 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%2f53429076%2fget-the-actual-value-of-an-intent-in-rasa-core-nlu%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

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

          Calculate evaluation metrics using cross_val_predict sklearn

          Insert data from modal to MySQL (multiple modal on website)