我想从Rasa机器人中记录对话(特别是意图)。当Rasa NLU作为http服务器运行时,有一个完美的功能,但在命令行模式下运行时,我似乎找不到任何类似的东西。有没有办法做到这一点 ?如果不是,有没有办法实现呢?
答案 0 :(得分:2)
命令行模式究竟是什么意思?如果您使用以下命令启动服务器:
//function to extract student id from students rray
function extractStudentId($array){
return $array['Student_ID'];
}
//function to extract slot id from Slot array
function extractSlotId($array){
return $array['Slot_ID'];
}
应该启用日志记录。假设版本为0.12.3
答案 1 :(得分:2)
在Rasa Core architecture中,名为Tracker的类包含当前对话的历史记录。
我想你可以通过调用as_dialogue
method来实现你的日志。
查看docs,此序列化的输出似乎与服务器生成的日志中的项目完全相同:
{
"py/object":"rasa_core.conversation.Dialogue",
"events":[
{
"py/object": "rasa_core.events.UserUttered",
"entities": [],
"intent": {
"name": "greet",
"confidence": 1.0
},
"text": "/greet"
},
{
"py/object": "rasa_core.events.ActionExecuted",
"action_name": "utter_greet",
"unpredictable": false
}
],
"name":"hello_world"
}