如何将推荐系统集成到Android应用程序中?

时间:2015-10-26 08:50:48

标签: android django recommendation-engine collaborative-filtering

我想在我的Android应用程序中添加推荐系统(特别是协同过滤)。我已经创建了后端 使用django rest API。

现在我不确定我应该在哪里加入推荐引擎。我环顾四周并了解django-recommender包,但我不确定它处理大量的数据数据。或者我应该选择一些大数据选项,我已经在HPCC平台上工作了。

如果是,我该如何将其与我的应用集成。

1 个答案:

答案 0 :(得分:0)

首先,您需要准备好API,并实现所需的推荐算法(引擎)。通常通过向端点发送HTTP请求来从您的Android应用访问此API(请参阅how to send HTTP requests in Android)。

现在有两种方法可以访问推荐引擎。

  1. 自己构建 - 这通常涉及对几种方法进行广泛研究,学习一种新的编程语言(例如Neo4J等)以及实现和托管这个引擎(每月费用可能相当高)​​

  2. 点击推荐算法即服务库,例如Abracadabra Recommender API。设置非常简单:您只需要向API发送HTTP调用来训练模型并接收建议。 View the docs

  3. 使用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();
    
相关问题