/ / Come integrare un sistema di raccomandazione in un'app Android? - android, django, motore di raccomandazione, filtro collaborativo

Come integrare un sistema di raccomandazione in un'app per Android? - Android, django, motore di raccomandazione, filtro collaborativo

Voglio aggiungere un sistema di consigli (filtro collaborativo in particolare) nella mia applicazione Android. Ho già creato il backend utilizzando l'API di riposo django.

Ora non sono sicuro di dove dovrei incorporare il motore di raccomandazione. Mi guardo intorno e sono venuto a sapere django-recommender pacchetto, ma non sono sicuro di come gestisca una grande quantità di dati. O dovrei andare per qualche opzione di big data, ho già lavorato sulla piattaforma HPCC.

Se sì, come devo integrarlo con la mia app.

risposte:

0 per risposta № 1

Per prima cosa devi avere un'API pronta conalgoritmi di raccomandazione richiesti implementati (il motore). È comune accedere a questa API dalla tua app Android inviando richieste HTTP all'endpoint (vedi come inviare richieste HTTP in Android).

Ora ci sono due modi per accedere a un motore di raccomandazione.

  1. Costruiscilo tu stesso - questo spesso implica fareampia ricerca sui vari metodi, apprendimento di un nuovo linguaggio di programmazione (ad es. Neo4J, ecc.) e implementazione e hosting di questo motore (le tariffe mensili possono essere piuttosto elevate)

  2. Attingere Raccomandare Algorithms as a Service librerie come la API di Abracadabra Raccomandatore. La configurazione è molto semplice: devi solo inviare chiamate HTTP all'API per addestrare il tuo modello e ricevere consigli. Visualizza i documenti.

Con l'API per i consigli di Abracadabra, durante l'utilizzo Java, aggiungi prima i dati al tuo modello:

// 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();

Quindi ti alleni il modello valutando o apprezzando i soggetti (ad esempio i film):

// 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();

Al termine, riceverai consigli basati sul filtro basato sui contenuti, collaborativo o ibrido come segue:

// 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();