Rasa NLU-Language Support

你可以使用任何你需要的语言构建助手,Rasa的supervised_embeddings管道可以被应用到任何语言的训练数据,这个管道用你提供的数据从头训练词向量。

另外,我们也支持预训练的词向量像spacy,有关什么样的管道对你的用例最好,请查阅选择一个管道。

用任意语言训练一个模型

Rasa的supervised_embeddings管道可以被用于训练任意语言的模型,因为它使用你自己的训练数据去创建词向量。这意味着任意特定单词的向量表示都将依赖于训练集中其它单词的关系。这种自定义也意味着管道非常适合依赖于特定域的数据用例,例如那些需要捕捉到的特定产品名称。

为了用你预配置的语言训练一个Rasa模型,请通过此处说明在config.yml文件中或者其它配置文件中定义supervised_embeddings管道作为你的管道。

在你定义supervised_embeddings处理管道和以你选择的语言生成一些NLU训练数据之后,使用rasa train nlu训练你的模型。一旦训练结束,你可以测试你模型的语言技能。查你的模型如何解释不同的输入消息通过:

rasa shell nlu

预训练词向量

如果你能用你的语言训练得到它们,预训练词向量是开始使用较少数据的好方法,因为词向量是在较大数据集如"维基百科"中训练得到的。

  1. Spacy
    使用pretrained_embeddings_spacy管道,你可以使用spacy的预训练语言模型或者加载fastText向量,有几百种语言
    可供选择。如果你想要在spacy中找到自定义模型,请查阅添加语言。如文档中所描述的,你需要注册你的语言模型和链接到语言标识,通过在language配置选项中定义自己的语言标识符将允许Rasa去加载和使用你的新语言。

  2. MITIE
    你也可以使用MITIE从一个语言语料库中预训练你自己的词向量,为此:

    1. 获取一个干净的语言语料库作为一组文本文件。

    2.在您的语料库上构建并运行MITIE Wordrep Tool。这可能需要几个小时/天,具体取决于您的数据集和工作站。你需要128GB的内存才能运行wordrep - 是的,这很多:尝试扩展你的内存。

    1. 将新total_word_feature_extractor.dat的路径设置为配置中的model参数。

有关如何训练MITIE单词向量的完整示例,请查看从中文Wikipedia转储创建MITIE模型的博客文章。

你可能感兴趣的:(Rasa NLU-Language Support)