Sou*_*ren 2 python chatbot rasa-nlu rasa-core
我正在尝试使用 rasa nlu 和 rasa core 开发一个聊天机器人。但我没有得到 rasa_nlu 如何使用 lookup_tables 进行实体提取的链接。我已经通过(http://blog.rasa.com/improving-entity-extraction/)链接但没有得到它。应该如何使用lookup_table 来提取实体?
要求:
如果要使用查找表,请确保:
在您的训练数据中
为了使用查找表,您可以直接在训练数据中定义它们,例如:
## intent:check_balance
- what is my balance <!-- no entity -->
- Could I pay in [yen](currency)? <!-- entity matched by lookup table -->
## lookup:currency <!-- lookup table list -->
- Yen
- USD
- Euro
Run Code Online (Sandbox Code Playgroud)
或者您可以将它们写入文本文件中:
Yen
USD
Euro
Run Code Online (Sandbox Code Playgroud)
然后在训练数据中包含文本文件的路径:
## intent:check_balance
... like before
## lookup:food
<path to your look up table text file>.txt
Run Code Online (Sandbox Code Playgroud)
输入像我可以用欧元支付吗?,Rasa NLU 然后将槽的值设置currency为Euro。
它们是如何工作的
查找表中的单个项目被添加到正则表达式 (regex) 中,该表达式应用于您的用户发送给机器人的消息。但是,如果您的用户输入了拼写错误,例如查找表条目Pesos将不匹配,则查找表将不起作用Peesos。为了匹配这些情况,您可以尝试在您链接的博客文章中描述的模糊匹配。确保您的查找表不会变得太大,因为 Rasa NLU 必须检查每个句子是否与您的查找表条目之一匹配。
也许Rasa NLU 文档也可以帮助你。