首先,您需要准备好 API,并实现所需的推荐算法(引擎)。通常通过向端点发送 HTTP 请求从您的 Android 应用程序访问此 API(请参阅how to send HTTP requests in Android)。
现在有两种方法可以访问推荐引擎。
自己构建 - 这通常涉及对多种方法进行广泛研究、学习新的编程语言(例如 Neo4J 等)以及实施和托管此引擎(月费可能相当高)
利用 推荐算法即服务 库,例如 Abracadabra Recommender API。设置非常简单:您只需向 API 发送 HTTP 调用即可训练您的模型并接收建议。 View the docs.
借助 Abracadabra Recommender API,在使用 Java 时,您首先将数据添加到您的模型中:
// These code snippets use an open-source library. http://unirest.io/java
HttpResponse<JsonNode> response = Unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/add/subjects?recommenderId=rec1&subjectId=See+docs")
.header("X-Mashape-Key", "<required>")
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.asJson();
然后您通过评分或喜欢主题(例如电影)来训练模型:
// These code snippets use an open-source library. http://unirest.io/java
HttpResponse<JsonNode> response = Unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/rate/subject?recommenderId=rec1&subjectId=gameofthrones&subjectWeight=10&userId=user1")
.header("X-Mashape-Key", "<required>")
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.asJson();
完成后,您会收到基于基于内容、协作或混合过滤的建议,如下所示:
// These code snippets use an open-source library. http://unirest.io/java
HttpResponse<JsonNode> response = Unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/recommend?method=content&recommenderId=rec1&userId=user1")
.header("X-Mashape-Key", "<required>")
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.asJson();