基于 word/text 输入的推荐引擎需要什么

What is needed for a recommendation engine based on word/text input

我是机器学习 (AI) 技术的新手。我正在为 Android/IOs 开发一个 Messenger 应用程序,我想根据 texts/word/conversation 相对较小的产品组合中的产品向用户推荐。

示例 1:

如果 Messenger 的用户写了一个包含单词 "vine"、"dinner"、"date" 的句子,AI 应该向用户推荐一瓶葡萄。

示例 2:

如果应用程序的用户写道他今天早上喝了一杯好咖啡,AI 应该向用户推荐一个杯子。

示例 3:

如果用户写了一些关于她昨天遇到的可爱男孩的东西,AI 应该向用户推荐 "teddy bear"。

我是一名软件开发人员已有将近 20 年的经验,具有开发基于 C/C++/Java 的应用程序(Android 和 IOs 应用程序)的经验以及 Google Cloud Platform 方面的一些经验。 ML/AI 技术对我来说是全新的。好的,我知道基础知识(需要输入数据来训练 ML/AI 系统等),但我想知道是否已经有一个框架可以帮助我开发这样一个系统来解决上述用例.

如果你能给我一些从哪里开始以及如何开始的提示,我将不胜感激。

谢谢和问候

绝对可以实现这样的应用程序,如果您想在 Google Cloud 中实现它,您需要对 Tensorflow 有所了解。

首先,我建议你做 Machine Learning Crash Course, for a good introduction to Machine Learning and to start to familiarize yourself with TensorFlow. Afterwards I recommend to take a look into Tensorflow tutorials,这会给你一个更实用的 Tensorflow 介绍,并包括 building/training/testing 模型的各种例子。

熟悉 Tensorflow 后,您可以开始学习如何 运行 机器学习引擎中的作业,您可以从 following the quickstart. The documentation includes detailed guides on how to use the ml-engine, plus multiple samples and tutorials 开始。

由于我认为您的应用程序属于推荐系统类型,here 您可以在 Google Cloud ML Engine 中查看示例模型,了解如何根据他之前的搜索。在您的情况下,您必须建立一个模型,以便根据他在句子中的先前单词向用户推荐项目。

如果您不想经历从头开始构建新模型的麻烦,第二种选择是使用 Google Cloud Natural Language API, which you can understand as pre-trained models using Google (incredibly big) data. In your case, I believe that the Content Classifying API would help you achieve what your application intends to do, however, the outputs (which you can see here) 仅限于训练模型的目的,并且对于您的应用程序可能不够具体,但这是一个简单的解决方案,您仍然可以从这个 API 中获益,以便提取 labels/information 并将其作为输入发送到另一个模型。

我希望这些链接为您提供一些基础知识,让您了解在 ML 引擎中可以使用 Tensorflow 做什么,并且对您有用。