Dasha中DSL的某些字段的用途是什么?

我想知道以下字段的用途:

  • node
  • do
  • digression
  • disable
  • goto
  • next
  • transitions
  • set
  • exit
node call_reason{    do    {        digression disable sayHi;        goto next;    }        transitions    {        next: goto how_are_you;    }}

回答:

我想,你问这个问题是因为你对语法有点困惑,我会尽量解释清楚。

节点和转换

DashaScript 是用于描述自动对话的语言。基本上,任何对话脚本都由以下部分组成:

  • 节点 – 对话的状态(请参见 节点文档
  • 转换 – 节点之间的关系,通过从当前节点切换到另一个节点的条件来描述。有三种不同的转换,例如你的代码示例中使用的即时转换(请参见 转换文档)。

在某种意义上,脚本化的对话可以被视为一个。在这种情况下,节点转换可以分别解释为图的顶点

因此,nodetransition定义了你的对话脚本的结构。

每个node都有一个do子部分,你可以在其中指定在这个特定node中要执行的动作和指令。

此外,node可能有一个transitions子部分,用于指定从当前状态切换到另一个状态的条件。
每个事件转换(如事件转换和定时器转换)在这个部分中指定的语法如下:<transition_name>: goto <node_name> on <switching_condition>
即时转换(如你的代码中使用的)没有条件:<transition_name>: goto <node_name>。要执行这样的转换,必须在当前节点的do部分使用goto指令调用它。

此外,还有一些特殊节点,可以从任何状态访问。这些节点称为分支(digressions)。(参见 分支文档)。它们用于在对话中快速反应并返回到对话的主分支。为了控制分支,我们有启用/禁用它们的机制(参见 分支控制文档)。

所以,在你的示例中,名为call_reasonnode有一个do部分,你在其中disable了一个分支节点,然后执行了一个名为next的即时转换。

上面提到的DashaScript语言的所有实体都在程序结构文档中描述。我建议你查看一下,因为还有更多你可能需要了解的重要实体。

设置

set是用于为某个变量赋值的指令。示例:

node some_node{    do {        var some_variable: number = 1;        set some_variable = 2; // 现在some_variable的值为2    }}

退出

exit是中断对话的指令。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注