【问题标题】:Having a combination of pre trained and supervised embeddings in rasa nlu pipeline在 rasa nlu 管道中结合预训练和监督嵌入
【发布时间】:2023-03-17 00:06:01
【问题描述】:

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

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

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

如果我尝试使用有监督的特征化器,它可能适用于我的特定领域实体,但我担心的是,仅使用监督学习,我们会不会失去预训练模型的优势?例如,在add a (some_system) of (some_config) 等查询中。 add 和 create 密切相关。预先训练的模型将能够轻松地选择此类动词。是否可以组合预训练模型,然后在我们的 nlu 管道中在其之上进行一些监督学习,例如迁移学习?

【问题讨论】:

    标签: chatbot rasa-nlu rasa rasa-x


    【解决方案1】:

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

    例如,在一般英语中,“平衡”这个词是密切相关的 到“对称”,但与“现金”这个词有很大不同。在一家银行 domain、“balance”和“cash”密切相关,你希望你的 模型来捕捉它。

    你的情况也是

    您的模型需要捕捉到虚拟机和虚拟机是相同的词。预训练的特征化器没有经过训练来捕捉这一点,它们更通用。

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

    更多详情可以参考Rasa document

    【讨论】:

    • 我同意监督更适合特定领域。我只是想知道是否可以组合?在动词的情况下,预训练的词嵌入不会有帮助吗?
    • @cvg 是的,这是可能的。您需要更改您的 config.yml 文件。您可以根据您的域/应用程序选择管道的组件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多