简体   繁体   English

插槽可以在没有动作函数或 RASA 形式的情况下采用实体值吗?

[英]can slot take entity values without a action function or forms in RASA?

is it possible to pass values in the entity to slots without form or writing an action function?是否可以将实体中的值传递给插槽而不使用表单或编写操作函数?

nlu.yml文件名

nlu:
- intent: place_order
  examples: |
    - wanna [large](size) shoes for husky
    - need a [small](size) [green](color) boots for pupps
    - have [blue](color) socks
    - would like to place an order

- lookup: size
  examples: |
    - small
    -medium
    -large

- synonym: small
  examples: |
    - small
    - s
    - tiny
- synonym: large
  examples: |
    - large
    - l
    - big

- lookup: color
  examples: |
    - white
    - red
    - green

domain.yml域名.yml

version: "2.0"

intents:
  - greet
  - goodbye
  - affirm
  - deny
  - mood_great
  - mood_unhappy
  - bot_challenge
  - place_order

entities:
  - size
  - color

slot:
  size:
    type: text
  color:
    type: text

responses:
  utter_greet:
  - text: "Hey! can I assist you ?"

  utter_order_list:
  - text : "your order is {size} [color} boots. right?"

stories.yml故事.yml

version: "2.0"

stories:

- story: place_order
  steps:
  - intent: greet
  - action: utter_greet
  - intent: place_order
  - action: utter_order_list

debug output: it recognize entity , but the value is not passed to slot调试输出:它识别 entity ,但该值未传递给 slot

Hey!嘿! can I assist you ?我可以帮助你吗? Your input -> I would like to place an order for large blue shoes for my puppy您的输入 -> 我想为我的小狗订购大号蓝色鞋子

 Received user message 'I would like to place an order for large blue shoes for my puppy' with intent '{'id': -2557752933293854887, 'name': 'place_order', 'confidence': 0.9996021389961243}' and entities '[{'entity': 'size', 'start': 35, 'end': 40, 'confidence_entity': 0.9921159148216248, 'value': 'large', 'extractor': 'DIETClassifier'}, {'entity': 'color', 'start': 41, 'end': 45, 'confidence_entity': 0.9969255328178406, 'value': 'blue', 'extractor': 'DIETClassifier'}]'

 Failed to replace placeholders in response 'your order is {size} [color} boots. right?'. Tried to replace 'size' but could not find a value for it. There is no slot with this name nor did you pass the value explicitly when calling the response. Return response without filling the response

"slot" is an unknown keyword. “slot”是一个未知的关键字。 you should write "slots" instead of "slot" in the domain file and it will work.你应该在域文件中写“slots”而不是“slot”,它会起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM