• 自然语言处理(NLP)—— Rasa中config.yml


    调整你的NLU模型:选择合适的处理管道

            在启动一个新的项目时,Rasa 会为你提供一个建议的自然语言理解(NLU)配置。然而,随着项目的不断发展,你可能需要对配置进行调整,以更好地适应不断扩展的训练数据。本文将介绍如何选择和调整 Rasa 中的处理管道,以优化你的 NLU 模型。

    1. 选择一个处理管道

            在 Rasa 中,传入的消息将通过一系列组件进行处理。这些组件在 `config.yml` 文件中定义,并形成所谓的处理管道。选择一个适合的 NLU 管道可以让你根据具体需求自定义模型,并在数据集上进行微调。

    1.1 使用建议配置

            要开始配置,你可以使用 Rasa 的“建议配置”功能,让系统为你选择一个默认的管道。只需在 `config.yml` 文件中提供你的机器人语言代码,并将管道键留空或不填。例如:

    1. language: fr  # 你的两字母语言代码
    2. pipeline:
    3. # 故意留空

    2. 合理的起始管道

            如果你从头开始,通常使用预训练的词嵌入(word embeddings)会很有帮助。预训练的词嵌入已经编码了一定的语言知识,这使得模型在处理训练数据时更加高效。例如,如果你的训练数据中有句子“我想买苹果”,而 Rasa 被要求预测“获取梨”的意图时,模型可以利用词嵌入知道“苹果”和“梨”是相似的。这对于训练数据不足的情况尤其有用。

    1. language: en  # 替换为你的语言代码
    2. pipeline:
    3.   - name: SpacyNLP
    4.   - name: SpacyTokenizer
    5.   - name: SpacyFeaturizer
    6.   - name: RegexFeaturizer
    7.   - name: LexicalSyntacticFeaturizer
    8.   - name: CountVectorsFeaturizer
    9.   - name: CountVectorsFeaturizer
    10.     analyzer: char_wb
    11.     min_ngram: 1
    12.     max_ngram: 4
    13.   - name: DIETClassifier
    14.   - name: EntitySynonymMapper
    15.   - name: ResponseSelector
    16.   - name: FallbackClassifier
    17.     threshold: 0.7

    2.1 使用 spaCy 支持的语言

            如果你使用的是 spaCy 支持的语言之一,我们推荐以下管道:

            这套管道利用了 spaCy 强大的 NLP 功能,可以为你的模型提供一个坚实的基础。

    3. 微调你的管道

            随着项目的发展和训练数据的增加,你可能需要微调管道中的各个组件。例如,你可以添加或调整特征提取器(featurizers)和分类器(classifiers),以提高模型的准确性和性能。以下是一些常见的微调策略:

    3.1 增加特征提取器

            在原有基础上添加更多的特征提取器,以捕捉更多的语言特征。

    3.2 调整分类器参数

            根据训练数据的具体情况,调整分类器的参数以提高分类精度。

    3.3 引入自定义组件

            根据项目需求,编写并引入自定义的 Rasa 组件,以处理特殊的语言现象或业务逻辑。

    4. 总结

            选择和调整 Rasa 的处理管道是优化 NLU 模型的重要步骤。通过合理地使用预训练的词嵌入和微调管道组件,你可以在数据不足的情况下构建出高效、准确的 NLU 模型。随着项目的发展,持续地评估和调整管道配置,将帮助你保持模型的性能和准确性。希望本文能为你的 Rasa 项目提供有价值的指导和参考。

  • 相关阅读:
    播放器缓存队列bug解决方案
    SqlServer 数据库占用磁盘空间过大的解决方式
    Linux增加/删除文件权限
    QT学习_05_各种对话框
    剧院建筑三维可视化综合管控平台提高安全管理效率
    AI视频教程下载-ChatGPT速成课程:工作中的ChatGPT入门
    Linux版 MCSM9 面板更新教程
    CSP-J第二轮试题-2019年-3题
    多个JDK版本可以吗:JDK17、JDK19、JDK1.8轻松切换(无坑版)小白也可以看懂
    基于springboot实现的摄影跟拍预定管理系统
  • 原文地址:https://blog.csdn.net/weixin_65190179/article/details/137027556