1

我的应用程序在tomcat实例上的AWS上运行,带有Java代码和mongodb数据库。

我现在需要将它与 Facebook Messenger ChatBot 和 wit.ai 集成。

我真的很难开始,我找到了一些示例代码,但使用不同的语言。

我可以运行它并与在 Tomcat 上运行的门户集成吗?它应该同时调用 Facebook Messenger 和 wit api。

我需要获得关于如何进行的高级想法。

4

3 回答 3

1

要将 wit.ai 连接到您的 facebook 页面,您只需使用 wit.ai 创建一个帐户,然后创建一个新应用程序(或使用默认的启动应用程序)。

然后你可以去应用程序的设置,你会看到服务器访问令牌代码。

您需要将该服务器访问代码粘贴到“集成 NLP”字段中,您可以在 Facebook for Developers 帐户中找到该代码,然后在 Messenger 设置中访问您要使用 NLP 的应用程序。为此,您必须已经创建了 Messenger 应用程序并使用它的 webhook 进行了配置,我猜您已经拥有了。

完成后,自然语言处理 (NLP) 将作为消息中的另一个字段自动发送到您的服务器。从 wit.ai 理解和训练非常简单

用户的消息将由 wit.ai 进行分析,如果它发现任何默认实体或您从 wit.ai 训练机器人定义的实体,会将其发送给 messenger,此人会将 NLP 插入消息。

因此,您将收到来自 messenger 的普通 JSON 消息,其中包含一个名为 NLP 的额外字段,其中包含类似于以下示例的内容:

"text":"reservar una pista","nlp":{"entities":{"tipo_cita":[{"confidence":0.98398202482107,"value":"pista","_entity":"tipo_cita"}]},"detected_locales":[{"locale":"es_XX","confidence":0.9935}]}}}]

我的聊天机器人是西班牙语的,但有一个示例说明如何在 JSON 消息中查看 NLP。

我介绍了文字:“reservar una pista”

它识别了这个值:“pista”,置信度为 0.9839。Wit 还检测到西班牙语的语言“es_XX”,置信度为 0.9935。

于 2019-07-09T08:10:24.480 回答
0

您可以使用来自官方 repo 的 witai 和 facebook messenger 的示例 nodejs 实现。首先,你必须训练 witai 的模型来理解表达式和提取实体。然后在 fb 上设置 messenger bot 并将其附加到某个 fb 页面。一旦您能够从 webhook 回调中获取消息,就将它们发送到 witai API。您还必须在代码中定义操作,以便 witai 执行模型中定义的操作。

于 2016-07-03T18:23:52.903 回答
0

首先考虑你的机器人应该做什么。它会提供什么功能,用户会问哪些问题,以及您希望如何回答。如果您对问题空间有一个大致的了解,您可以开始考虑技术挑战。

请注意,Messenger Platform 和 wit.ai 都是完全独立的产品,它们为其服务提供 HTTP 接口。这意味着您可以使用任何您喜欢的语言与这些平台进行交互。您的应用程序充当这些服务的中间人。

开始建立与 Messenger 平台的集成,以便您能够接收和发送消息。为此,您必须创建一个 Facebook 页面作为您产品的身份。用户将通过您的页面名称在 Messenger 中找到您。您还需要创建一个 Facebook 应用程序来订阅您的页面并指定 webhook 设置,以便将消息中继到您自己的后端服务。

这方面的文档非常好,我建议您仔细阅读。你可以在这里找到它。阅读文档后,您将对使用 Messenger 平台可以做什么以及可以发送和接收哪些类型的消息有一个很好的理解。

一旦您能够发送和接收消息,您就可以开始从中提取一些意义。为此,您可以使用 wit.ai,但您也可以考虑其他服务。例如,谷歌刚刚发布了他们自己的 NLP 平台,提供了类似的功能。见这里 还有api.ai 一般来说,您必须将收到的消息发送到您喜欢的服务,并获取有关用户意图和提取值的结构化信息。有了这些信息,您就可以采取相应的行动。

如果您想坚持使用 wit.ai,请阅读他们的入门指南和食谱部分。这使我能够使用他们的平台。

我希望这能让您大致了解集成的工作原理。这是相当高级的,很多细节(尤其是在 NLP 方面)取决于您的特定用例。

于 2016-07-21T09:28:31.330 回答