在rasa nlu管道中结合了预先训练和监督的嵌入

问题描述

我是rasa的新手,并开始创建一个非常特定于域的聊天机器人。作为它的一部分,我理解将监督嵌入作为nlu管道的一部分更好,因为我的用例是特定于领域的。

我在nlu.md中有一个示例意图

## create_system_and_config
- create a [VM](system) of [12 GB](config) 

如果我尝试使用监督的功能化器,则可能与我特定于域的实体配合使用,但是我担心的是,仅使用监督性学习,我们会不会失去预训练模型的优势?例如,在诸如add a (some_system) of (some_config)之类的查询中。添加和创建密切相关。预先训练的模型将能够轻松选择此类动词。是否可以结合使用预先训练的模型,然后在我们的nlu管道中基于它进行一些监督学习,例如转移学习?

解决方法

如果您要创建特定于域的聊天机器人,最好使用监督嵌入而不是预先训练

例如,在通用英语中,“ balance”一词紧密相关 “对称”,但与“现金”一词非常不同。在银行 域,“余额”和“现金”密切相关,您希望 捕捉模型。

在您的情况下也是

您的模型需要捕获VM和虚拟机相同的词。预训练的功能化工具没有经过培训就可以捕捉到这一点,而且它们更通用。

在管道中使用预先训练的单词嵌入的优势是 如果您有一个培训示例,例如:“我想买苹果”,并且 要求Rasa预测您的模型“买梨”的意图 已经知道“苹果”和“豌豆”这两个词非常相似。 如果您没有足够的训练数据,这将特别有用

有关更多详细信息,请参阅Rasa document

相关问答

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