如何有效执行rasa nlu,故事数据验证和更新?

问题描述

我正在开发API /前端,以添加新数据,故事,响应,实体,添加操作,训练机器人,部署机器人等。

我正在更新后端nlu.md,stories.md,domain.yml等,然后在后端执行rasa train,rasa shell等。

是否存在可用于有效添加nludata的rasa命令? 目前,我正在使用python将意图,实体等添加到nlu.md文件

逻辑变得复杂。

下面是添加意图的示例代码

 pathnlu = bot_name + "/data/nlu.md"
            print("Bot id is",args['bot_id'])
            if str(os.path.exists(pathnlu)):
                f = open(pathnlu,"a")
                f.write("\n")
                f.write("## intent:")
                f.write(intent.intent_name)
                f.write("\n")
                f.write("- ")
                f.write(intent.intent_description)
                f.close()
                print("Intent ",intent.intent_name," Created ")
            else:
                print("Unable to Create Intent")

下面是添加实体的示例代码

 pathnlu = bot_name + "/data/nlu.md"
                print("Bot id is",args['bot_id'])
                if str(os.path.exists(pathnlu)):
                    f = open(pathnlu,"a")
                    f.write(intent.intent_description + "(" + entities + ")" + remaining_intent)
                    f.close()
                    print("entity",entities," Added")
                else:
                    print("Unable to add entities")

但是,我正在寻找一种简单而强大的方法来实现它。 请帮忙。

解决方法

在RASA中使用交互式学习,您的文件将在那里更新 在这种模式下,您可以在与 它。这是探索您的机器人可以做什么的有力方法,并且 解决任何错误的最简单方法。机器的优势之一 基于学习的对话是当您的机器人不知道该怎么做时 还可以,您可以教它!

如何做到?-https://legacy-docs.rasa.com/docs/core/interactive_learning/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...