Rasa NLU示例:开源机器学习组件库

Rasa NLU示例:开源机器学习组件库

rasa-nlu-examples This repository contains examples of custom components for educational purposes. rasa-nlu-examples 项目地址: https://gitcode.com/gh_mirrors/ra/rasa-nlu-examples

项目介绍

Rasa NLU示例是一个与Rasa兼容的开源机器学习组件库。该项目旨在鼓励实验,并快速支持更多工具。通过将这些组件开源,它们不需要经过与Rasa核心组件相同的审查过程,从而使得贡献新想法变得更加容易。

这些组件并非官方支持,但项目中包含了单元测试和文档。该项目应被视为社区项目,而不是Rasa核心的一部分。如果某个组件被证明对更大的Rasa社区有用,我们可能会将该组件的功能移植到Rasa核心中。

项目技术分析

安装

要使用这些工具,您需要通过Git进行安装:

python -m pip install "rasa_nlu_examples @ git+https://github.com/RasaHQ/rasa-nlu-examples.git"

如果您需要安装可选依赖项,可以使用以下命令:

python -m pip install "rasa_nlu_examples[flashtext] @ git+https://github.com/RasaHQ/rasa-nlu-examples.git"
python -m pip install "rasa_nlu_examples[dateparser] @ git+https://github.com/RasaHQ/rasa-nlu-examples.git"
python -m pip install "rasa_nlu_examples[thai] @ git+https://github.com/RasaHQ/rasa-nlu-examples.git"
python -m pip install "rasa_nlu_examples[fasttext] @ git+https://github.com/RasaHQ/rasa-nlu-examples.git"
python -m pip install "rasa_nlu_examples[all] @ git+https://github.com/RasaHQ/rasa-nlu-examples.git"

文档

您可以在这里找到该项目的文档。

兼容性

该项目目前支持Rasa 3.0的组件。对于旧版本,请参阅以下列表:

项目及技术应用场景

Tokenizers

Tokenizers可以将输入文本分割成tokens。根据您选择的Tokenizer,您还可以选择应用词形还原。对于具有丰富语法特征的语言,这可能有助于减少所有可能tokens的数量。

  • rasa_nlu_examples.tokenizers.BlankSpacyTokenizer 文档
  • rasa_nlu_examples.tokenizers.ThaiTokenizer 文档

Featurizers

Dense featurizers为每个token以及整个utterance附加密集的数值特征。这些特征稍后会被意图分类器和实体检测器在管道中使用。

  • rasa_nlu_examples.featurizers.dense.FastTextFeaturizer 文档
  • rasa_nlu_examples.featurizers.dense.BytePairFeaturizer 文档
  • rasa_nlu_examples.featurizers.dense.GensimFeaturizer 文档
  • rasa_nlu_examples.featurizers.sparse.TfIdfFeaturizer 文档
  • rasa_nlu_examples.featurizers.sparse.HashingFeaturizer 文档

Intent Classifiers

意图分类器是预测用户消息文本意图的模型。Rasa NLU的默认意图分类器是DIET模型,它可能计算量较大,特别是如果您不需要检测实体时。我们在这里提供了一些替代的意图分类器示例。

  • rasa_nlu_examples.classifiers.NaiveBayesClassifier 文档
  • rasa_nlu_examples.classifiers.LogisticRegressionClassifier 文档

Entity Extractors

  • rasa_nlu_examples.extractor.FlashTextEntityExtractor 文档
  • rasa_nlu_examples.extractor.DateparserEntityExtractor 文档

Name Lists

语言模型通常在西方数据集上进行训练。这意味着报告的基准可能不适用于您的用例。例如,在法国文本中检测名称与在马达加斯加文本中检测名称不同。即使法语在两个国家都活跃使用,其公民的名称可能如此不同,以至于您不能假设基准普遍适用。

为了解决这个问题,我们开始收集名称列表。这些可以作为查找表,由Rasa的RegexEntityExtractor或我们的FlashTextEntityExtractor使用。它不会100%完美,但应该提供一个合理的起点。

您可以在这里找到名称列表。我们目前提供美国、德国以及常见的阿拉伯语名称列表。欢迎提交PR以添加更多语言的名称列表。我们也渴望收到反馈。

项目特点

  1. 开源与社区驱动:该项目由社区驱动,鼓励实验和快速支持更多工具。
  2. 丰富的组件库:提供了多种Tokenizers、Featurizers、Intent Classifiers和Entity Extractors,满足不同需求。
  3. 灵活的安装与配置:支持通过Git安装,并提供了详细的配置示例,方便用户快速上手。
  4. 多语言支持:特别关注非西方语言的处理,提供了泰语Tokenizer和多语言名称列表。
  5. 易于贡献:项目鼓励用户贡献新功能、报告错误或分享实验结果,通过GitHub Issue进行交流。

总结

Rasa NLU示例是一个强大的开源机器学习组件库,特别适合那些希望在Rasa框架中进行实验和扩展的用户。无论您是初学者还是经验丰富的开发者,这个项目都提供了丰富的工具和资源,帮助您构建更智能的对话系统。立即尝试并加入社区,共同推动对话系统的发展!

rasa-nlu-examples This repository contains examples of custom components for educational purposes. rasa-nlu-examples 项目地址: https://gitcode.com/gh_mirrors/ra/rasa-nlu-examples

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

符汝姿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值