Attualmente sto usando api.ai, per creare un agente per eseguire compiti specifici, ma una domanda a cui non ho risposta è, posso fargli imparare qualcosa mentre chatto, significa che parlo il mio nome è 'John Cena ' e lei dovrebbe memorizzarlo e poi ogni volta che le chiedo di nuovo bot dovrebbe rispondermi. so che c'è un modo per farlo accedendo allo api.ai web e aggiungendo manualmente le voci, ma non sarà d'aiuto, c'è del lavoro a livello di programmazione o automaticamente? il file che ho usato per esercitarmi è dato in github. e qui funziona DEMOCome far sì che l'agente api.ai impari qualcosa in modo dinamico?
risposta
Fondamentalmente è necessario che il proprio bot "impari" i fatti. Ci sono molti modi per raggiungere questo obiettivo, ma recentemente il modo più comune è quello di organizzare la conoscenza in "Tripli" semantici e archiviare la conoscenza in un repository Graph (come Neo4j, Titan, Spark Graph, ecc.). Nel tuo esempio, "il mio nome è John Cena" si tradurrebbe in un triplo simile ("anubava", "Nome", "John Cena"). In questo modo, la prossima volta che accedi come anubhava e chiedi "Qual è il mio nome?", Si tradurrebbe in una ricerca Graph che restituirà "John Cena". Una parola di cautela, il raggiungimento di questo non è banale e richiederebbe una quantità significativa di messa a punto. Per maggiori informazioni, è possibile controllare here e here.
Infine, la maggior parte delle soluzioni complete (che io sappia), sono soluzioni lato server. Se vuoi che l'intera knowledge base risieda nel tuo dispositivo mobile, potresti probabilmente utilizzare le risorse lì come fonte di ispirazione e creare il tuo repository di dati collegati utilizzando un database incorporato.
Spero che questo aiuti. In bocca al lupo.
Per memorizzare e richiamare il nome dell'utente, è necessario impostare un webhook con alcune funzionalità di persistenza dei dati di base. Qualsiasi database o archivio di valori chiave funzionerebbe correttamente.
Ecco la ripartizione:
- Implementare webhook adempimento per l'intento che cattura il nome dell'utente. Il webhook dovrebbe memorizzare il nome insieme a un ID identificativo univoco che devi fornire dal tuo front-end nel
sessionId
o come parametro di contesto nella tua chiamata a/query
. - Implementare webhook fulfillment per l'intento che legge il nome dell'utente. Il webhook dovrebbe cercare il nome per ID e restituire una risposta che indica all'utente il loro nome.
La documentazione di alto livello per la scrittura di un webhook adempimento sono qui:
- 1. C'è un modo per far sì che la mia funzione restituisca un array dinamico?
- 2. Come far sì che Sonar esporti le statistiche dei test?
- 3. C'è un modo per far sì che Git contrassegni un file come in conflitto?
- 4. Come far sì che gcc avvisi le funzioni sconosciute?
- 5. C'è un modo per far sì che Eclipse tratti 4 spazi esattamente come considera una scheda?
- 6. C'è un modo per far sì che Pyramid JSON renderer output in output formattato, piuttosto stampato?
- 7. C'è un modo per far sì che Cassandra rimuova in modo sicuro le pietre tombali * prima che sia scaduto * gc_grace_seconds?
- 8. Come impari rapidamente una gerarchia di classi?
- 9. C'è un modo per far sì che Maven scarichi automaticamente le versioni di istantanee?
- 10. C'è un modo per far sì che g ++ emetta solo avvisi relativi ai miei file?
- 11. Come faccio a far sì che un TextBlock WPF mostri il mio testo su più righe?
- 12. C'è un modo per far sì che sbcl stampi il valore di un registro della CPU?
- 13. C'è un modo per far sì che WebStorm completi automaticamente i valori degli attributi dei tag?
- 14. Esiste un modo per far sì che Excel mantenga gli attributi XML nell'elemento radice?
- 15. C'è un modo per far sì che Eclipse faccia automaticamente tutte le mie variabili finali?
- 16. C'è un modo per far sì che PowerShell attenda il completamento dell'installazione?
- 17. C'è un modo per far sì che rubyinstaller giochi con cygwin?
- 18. Come far sì che gli oggetti reagiscano ai tocchi in Cocos2D?
- 19. C'è un modo per far sì che git pull aggiorni automaticamente i sottomoduli?
- 20. C'è un modo per far sì che il debugger di script chrome di google interrompa l'eccezione?
- 21. C'è un modo per far sì che git-reflog mostri una data accanto a ogni voce?
- 22. C'è un modo per far sì che NHibernate emetta un suggerimento deadlock?
- 23. Come posso far sì che MS Outlook accetti il display in stile CSS: blocco?
- 24. Come far sì che una fonte di modifica GitPoller di buildbot guardi tutti i rami?
- 25. Come faccio a far sì che git chieda nome utente e password ogni volta che spingo?
- 26. Come far sì che gli SVM funzionino bene con i dati mancanti in scikit-learn?
- 27. C'è un modo per far sì che Hibernate usi i valori letterali piuttosto che le variabili di bind?
- 28. Come posso far sì che XStream emetta in modo graduale le liste Scala? Posso scrivere un convertitore personalizzato?
- 29. Come far sì che un modulo venga inviato automaticamente al caricamento della pagina in JavaScript?
- 30. Come usare l'opzione cascade in Doctrine2 per far sì che le entità associate persistano automaticamente?