API.ai/ RASA NLU 能否与 Tensorflow 集成以制作聊天机器人

Can API.ai/ RASA NLU be integrated with Tensorflow to make a chatbot

以下是让我困惑的问题。希望这里的朋友们扫一扫

  1. Api.ai 和 RASA NLU 都是用于自然语言处理和自然语言生成的库吗?我说的对吗

  2. 我们可以在 Tensorflow 中做 NLU,以便我们可以在 Tensorflow 本身中执行所有 NLU + ML 操作吗?

  3. 如果我将 Api.ai 或 RASA NLU 用于 NLU 目的,我该如何使用 Api.ai 或 RASA NLU 执行 ML 操作?我们可以构建自己的 ML 模型并使其与 Api.ai 或 RASA NLU

  4. 一起使用吗

场景

假设我只想构建一个聊天机器人。

  1. 我对 NLU 使用 API.ai 或 RASA NLU,即将输入分解为意图和实体。

  2. 现在我必须创建自己的 ML 模型来训练我将使用 Tensor Flow 创建的一些数据集。

  3. 我怎样才能将这两者结合起来使其更强大?

提前致谢

回答您的具体问题:

  1. 不,Rasa NLU 是一个库; API.ai(现在称为 Dialogflow)是一款产品,目前归 Google 所有。自然语言生成也没有。他们主要做自然语言理解。对于 Rasa NLU,这仅限于意图和实体分类。 Dialogflow 还包括上下文、网络挂钩等内容。要使用 Rasa 获得更多功能,您还需要查看 Rasa Core
  2. 肯定有 people 用 tensorflow 做 NLU。 Rasa NLU 不使用它,我不知道我们是否确切知道 Dialogflow 是如何工作的。
  3. 使用 Rasa NLU 或 Dialoflow 之类的东西的全部意义在于抽象出许多关于 ML 工作原理的必要知识。如果您想实现自己的分类器,请参阅上面的 link 了解 tensorflow 或查看 MITIE or spacy 和 sklearn,这是 Rasa 打包的两个后端。

希望这能解决问题。要巩固给定的场景,如果您使用 Rasa 或 DialogFlow,则不需要额外的 ML。他们在各自的幕后工作。

  • Dialogflow 打包了完整聊天机器人解决方案所需的一切。
  • Rasa NLU 可以与 Botkit 或 Rasa Core 一起使用以获得完整的聊天机器人解决方案。

1) 如前所述,RASA NLU 是一个库,Api.AI 是一项服务。

2) 是的! RASA 现在支持使用 TensorFlow 作为管道的一部分。

3) RASA 的优点之一是它允许您使用与 Api.ai(现在是 Dialogflow)相同的 API,因此您可以对两者使用相同的训练数据。但是,我认为您最好还是坚持使用 RASA 而不是像 Dialogflow 这样的服务。