如何使用数据库训练智能聊天机器人然后添加到 iOS 应用程序

How to train an intelligent chatbot using a database to then add to an iOS app

我想为 iOS 创建一个智能聊天机器人类型的应用程序,它使用 Cornell movie database 和我创建的一些自定义训练数据来训练可以与用户对话的机器学习模型,最好跟踪对话并执行一些简单的任务。

我会更深入。

最近我遇到了 convert TensorFlow models to CoreML models 的方法,所以我尝试使用 TensorFlow 并意识到转换方法是有限的,使用 TensorFlow 需要我学习比我已经知道的更多的东西,我只是没有时间这样做。我是一名 iOS 开发人员,因此熟悉 Swift 和 Objective-C,所以我想知道是否有办法使用它们来做同样的事情。

我希望能够使用我在训练 TensorFlow 时尝试使用的 Cornell movie database 以及我对它所做的任何贡献来训练模型。我的意思是我可能希望我的聊天机器人以特定方式执行一些特定任务或回复某些异常问题。我想我可以通过将我自己的 "conversations" 添加到包含我的特定需求的康奈尔数据库来做到这一点。如果有其他方法可以将我自己的数据注入其中,请告诉我。

我还希望聊天机器人能够执行特定任务。因此,我相信我需要有一个更复杂的模型,可以识别聊天机器人何时被告知要做某事,例如在这里打开灯或向某人发送文本(非常小的事情,只需要一个触发器和一些参数)。

让模型记住对话的某些方面也很棒。例如,如果聊天机器人问我的名字,我回答了,如果我问它我的名字,它应该会记住我的名字。这也适用于更复杂的事情,例如我问它明天多伦多的天气如何,它回答,然后我问 "What about next Tuesday?",它回答下周二多伦多的天气。

总的来说,我想使用 CoreML(可能还有它看似非常好的自然语言处理能力)为 iOS 应用程序的聊天机器人创建一个复杂的模型。

我不知道这是否完全可行,但我真的很想尝试为 iOS 获得最先进的对话聊天机器人。

如果您不介意拨打 API(如果没有 WiFi 就没用了)并为此付费,Google 的 Dialogue Flow 可能是您的好工具,因为它已经拥有出色的 NLP。你仍然需要自己做很多信息存储,并为其他部分编写你自己的功能(比如实际向天气发送请求 API),但这对于理解某人演讲背后的意图非常有用。

如果你不想付费或需要它在没有 WiFi 的情况下工作,Udemy 上有一个 40 多个小时的课程,名为自然语言处理 A-Z,这对使用 tensorflow 学习 NLP 非常有用。需要更多的工作,但 google 不会减少,您可以在没有 WiFi 的情况下工作。