我对机器学习(AI)技术是新手。我正在开发一个适用于Android和iOS的即时通讯应用,希望根据用户的文本/词语/对话,从一个相对较小的产品组合中向用户推荐产品。
示例1:
如果即时通讯的用户写了一个包含“葡萄酒”、“晚餐”、“约会”这些词的句子,AI应该向用户推荐一瓶葡萄酒。
示例2:
如果应用的用户写到他今天早上喝了一杯好咖啡,AI应该向用户推荐一个马克杯。
示例3:
如果用户写到她昨天遇到了一个可爱的男孩,AI应该向用户推荐一个“泰迪熊”。
我是一名软件开发人员,已有近20年的经验,擅长开发基于C/C++/Java的应用程序(包括Android和iOS应用),也有一些在Google Cloud Platform上的经验。ML/AI技术对我来说完全是新的领域。好的,我知道基础知识(需要输入数据来训练ML/AI系统等),但我想知道是否已经有框架可以帮助我开发这样一个系统来解决上述用例。
如果您能给我一些提示,告诉我从哪里开始以及如何开始,我将不胜感激。
谢谢您,并致以问候
回答:
实现这样的应用程序绝对是可能的,如果您想在Google Cloud上进行,您将需要了解TensorFlow。
首先,我建议您参加机器学习速成课程,这是一个很好的机器学习入门课程,并开始熟悉TensorFlow。之后,我建议您查看TensorFlow教程,这将为您提供一个更实际的TensorFlow介绍,并包括构建/训练/测试模型的各种示例。
一旦您熟悉了TensorFlow,您就可以开始学习如何在机器学习引擎中运行作业,您可以从快速入门开始。文档中包括详细指南,说明如何使用ml-engine,以及多个样本和教程。
由于我认为您的应用程序属于推荐系统类型,您可以在这里看到一个示例模型,在Google Cloud ML Engine中,如何根据用户的先前搜索向用户推荐项目。在您的案例中,您需要构建一个模型,以便根据用户在句子中的先前词语向用户推荐项目。
第二种选择,如果您不想从头开始构建一个新模型,可以使用Google Cloud Natural Language API,您可以将其理解为使用Google(极其庞大)的数据进行预训练的模型。在您的案例中,我认为内容分类API将帮助您实现应用程序的意图,但是,输出(您可以在这里看到)仅限于模型被训练的功能,可能不够具体,无法满足您的应用程序需求,但这是一个简单的解决方案,您仍然可以利用此API来提取标签/信息,并将其作为输入发送到另一个模型。
我希望这些链接能为您提供一些关于在ML引擎中使用TensorFlow可以做什么的基础知识,并且对您有用。