Coder Social home page Coder Social logo

wabri / chatbotpayments Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 2.0 46.25 MB

ChatBot per pagamenti vocali (prototipo)

License: MIT License

CSS 3.30% HTML 40.09% JavaScript 33.31% TypeScript 3.53% Python 18.87% Shell 0.90%
banking chatbot javascript payment python rasa rasa-core rasa-nlu typescript voice-chat

chatbotpayments's Introduction



Loading



chatbotpayments's People

Contributors

dependabot[bot] avatar wabri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

amedat danersound

chatbotpayments's Issues

Iban problem

Rasa non riesce a comprendere quando gli viene inviato un iban, forse è possibile risolvere tramite frontend inserendo un box in cui incollare l'iban

update data training: pagamento a iban

Partendo dal presupposto che per un pagamento generico debbano essere presenti:

  1. Conto di partenza

  2. Valore del pagamento

  3. Conto di destinazione

Necessario quindi determinare un flusso di conversazione da seguire per determinare i vari intenti e entità da definire. Per esempio una conversazione generica dovrebbe avere un flow di questo tipo (indico con u l'untente e con b il bot):
u: Vorrei effettuare un pagamento ( o semplicemente paga)
b:

Questa è la lista dei tuoi conti: 
------lista accounts bank------- 
Dimmi con quale conto vuoi pagare

u: Con il secondo
b: Indicami il valore del pagamento da effettuare
u:300 franchi svizzeri
b:Ora dovrai fornirmi l'iban del conto di destinazione
u:xxxxxxxxxxxxxxxxxxxxx (si presuppone che il numero di iban venga copiato incollato o inserito da tastiera, non sono sicuro che lo SpeechRecognition riesca a riconoscere uno spelling in italiano [da verificare])
b:Confermi il pagamento usando il conto2 di 300 franchi svizzeri con destinatario xxxxxxxx?
u:si

Per seguire un flow di questo tipo sono necessari gli intenti:

  1. "paymentRequestToIban" per far iniziare la conversazione, corrisponde alla prima frase pronunciata dall'utente nell'esempio sopra (non ci sono entità?)

  2. "accountChoice" per selezionare il conto da usare per il pagamento, corrisponde alla risposta dell'utente dopo la lista dei conti (ci sarà l'entità "accountNumber" che sarà il conto scelto dall'utente)

  3. "valuePayment" questo servirà per prendere il totale del pagamento e la valuta con cui pagare, corrisponde alla frase dell'utente 300 franchi svizzeri (ci saranno le entità: "value" corrispondente al valore effettivo del pagamento e "currency" che dovrà indicare il tipo di valuta con cui pagare)

  4. "confirm" e "cancellation" servirà per comprendere la risposta all'ultima domanda del bot, qui sarà necessario creare i sinonimi di tutti i possibili modi per confermare.

Creare quindi un set di dati con cui fare il training usando rasa o dialogflow, solo dopo aver creato questo sarà possibile passare all'effettiva implementazione della chatbot.

update data training: pagamento a conosciuto

Per una questione di "sicurezza" i conti di destinazione dei pagamenti sono definiti prima (nelle impostazioni?), partendo da questo presupposto noi avremo una serie di conti abilitati a eseguire i pagamenti vocali (es: mario, andrea, avvocato, etc.etc.) in questo modo la conversazione con il bot sarà molto più naturale del tipo: Paga l'avvocato 300 franchi oppure paga andrea 30 euro.
L'intento di questa frase è "paymentRequestToAKnownAccount" e le entità dovranno essere "knownAccount", "value" e "currency". Una volta che vengono trovate tutte le entità allora partirà la richiesta del conto da cui eseguire il pagamento, verrà stampato in chat quindi la lista dei conti attivi dell'utente:

conto 1: abc123456 
conto 2:  cba654321

verrà richiesto solo il numero identificativo del conto, nell'esempio sopra basterà dire conto 1 o 1 per indicare il conto da usare.
Infine verrà richeista la conferma del pagamento.

(i nomi delle entità e degli intenti sono da rivedere)

README

Aggiornare il README.md sia della root che di RASA_IA

new data training: richieste all'intelligenza

l'utente deve poter eseguire alcune richieste semplici, come:

  • lista dei conti dell'account

  • valore totale di un conto

  • ...........

di conseguenza sarà necessario un intento per ogni richiesta, quindi dovremo avere gli intenti:

  • "bankAccountsList", non dovrebbe avere bisogno di entità

  • "bankAccountTotalValue", dovrebbe avere l'entità necessaria con il numero di conto (se c'è un solo conto associato all'user allora non è richiesto il numero di conto?)

typescript

Riscrivere il codice usando typescript togliendo le interazioni con dialogflow sostituendole con il backend rasa

Modificare il front end

modificare il front end in per fare in modo che si in grando di garantire il botta e risposta con l'untente

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.