我一直在为酒店预订聊天机器人试用Rasa NLU。我试图提取两个功能,房间类型和房间数量。这是我的nlu.md文件
## intent:greet
- hey
- hello
- hi
- good morning
- good evening
- hey there
## intent:goodbye
- bye
- goodbye
- see you around
- see you later
## intent:affirm
- yes
- indeed
- of course
- that sounds good
- correct
## intent:deny
- no
- never
- I don't think so
- don't like that
- no way
- not really
## intent: book_room
- i would like to book a room
- i want a room
- i want to book room
- i would like a room
- i want to have a room
- i want to book
- i would like to book
## intent: book_n_rooms
- [num_rooms] rooms
- I would like to book [num_rooms]
- I want [num_rooms] rooms
- I need [num_rooms] rooms
- I want to have [num_rooms] rooms
## intent: room_type
- I would like a [room_type_name] room
- Well, I want [room_type_name]
- I need [room_type_name] rooms
- I prefer [room_type_name] rooms
## book_room_all_details
- I would like a [room_type_name] [num_rooms]
- I would like [num_rooms] of [room_type_name]
- I want [num_rooms] of [room_type_name]
- I prefer [room_type_name] [num_rooms]
- I like [num_rooms] of [room_type_name]
- book [num_rooms] [room_type_name] rooms
- I would like to book [num_rooms] [room_type_name]
- I would like to book [2](num_rooms) [deluxe](room_type_name) rooms
- I would like to book [3](num_rooms) [deluxe](room_type_name) type rooms
- I want [1](num_rooms) [simple](room_type_name) room
- I want [1](num_rooms) [simple](room_type_name) type room
- I want [2](num_rooms) [simple](room_type_name) rooms
- book [3](num_rooms) [simple](room_type_name) type rooms
- book [3](num_rooms) [simple](room_type_name) rooms
- I would like [5](num_rooms) rooms [deluxe](room_type_name)
- I want [5](num_rooms) rooms [deluxe](room_type_name)
- I prefer [5](num_rooms) rooms [deluxe](room_type_name)
- I prefer [5](num_rooms) rooms [deluxe](room_type_name)
## regex:num_rooms
- [0-9]+
## lookup:room_type_name
- Simple
- Deluxe
- simple
- deluxe
- SIMPLE
- DELUXE
## intent:bot_challenge
- are you a bot?
- are you a human?
- am I talking to a bot?
- am I talking to a human?
[当我输入“预订2间豪华客房”时机器人问我需要几个房间。意图被错误分类。我尝试了此答案RASA NLU: Multiple entity extraction from Single intent,但这并未取得成果。请帮助。
请注意,regex
和lookup
已转换为功能。仅仅因为您在查询表中列出了“ DELUX”,并不意味着您的助手总是将其提取为room_type
。另请参见Rasa的documentation。
我想您的助手主要不在工作,因为您的NLU数据需要更新:(1)您需要用适当的值替换[num_rooms]
和[room_type_name]
。 Rasa不会单独用数字替换[num_rooms]
。意图下列出的示例应为普通句子。(2)book_room_all_details
应该标记为意图,否则您的助手不知道该意图。
这里是更新的NLU数据:
## intent:book_room
- i would like to book a room
- i want a room
- i want to book room
- i would like a room
- i want to have a room
- i want to book
- i would like to book
## intent:book_n_rooms
- 4 rooms
- I would like to book 1
- I want 2 rooms
- I need 3 rooms
- I want to have 2 rooms
## intent:room_type
- I would like a deluxe room
- Well, I want simple
- I need Simple rooms
- I prefer DELUXE rooms
## intent:book_room_all_details
- I would like to book [2](num_rooms) [deluxe](room_type_name) rooms
- I would like to book [3](num_rooms) [deluxe](room_type_name) type rooms
- I want [1](num_rooms) [simple](room_type_name) room
- I want [1](num_rooms) [simple](room_type_name) type room
- I want [2](num_rooms) [simple](room_type_name) rooms
- book [3](num_rooms) [simple](room_type_name) type rooms
- book [3](num_rooms) [simple](room_type_name) rooms
- I would like [5](num_rooms) rooms [deluxe](room_type_name)
- I want [5](num_rooms) rooms [deluxe](room_type_name)
- I prefer [5](num_rooms) rooms [deluxe](room_type_name)
- I prefer [5](num_rooms) rooms [deluxe](room_type_name)
## regex:num_rooms
- [0-9]+
## lookup:room_type_name
- Simple
- Deluxe
- simple
- deluxe
- SIMPLE
- DELUXE