Task 1: Creare un assistente digitale DA-as-Agent
Sviluppa le competenze necessarie per l'assistente digitale DA-as-agent, pubblicale facoltativamente e poi aggiungile all'assistente digitale che fungerà DA agente assistente digitale. In genere, avrai bisogno di una sola abilità, ma puoi avere di più.
È possibile creare l'assistente digitale da zero oppure duplicare il modello di CX Service come descritto nelle diapositive Power Point della panoramica di Oracle Digital Assistant CXS.
Quando crei il tuo assistente digitale, considera questi scenari:
-
Il cliente non è sicuro di cosa può fare con un assistente automatico: creare una competenza di help o aggiungere uno stato di help a una competenza esistente. Eseguire una delle seguenti operazioni.
-
Assistente digitale con competenze singole: nello skill, andare a Impostazioni > Assistente digitale e impostare Stato della Guida sul nome dello stato della Guida dello skill. Tenere presente che l'esempio di conversazione dell'agente automatico imposta questa opzione su benvenuto.
-
Assistente digitale con più competenze: nell'assistente digitale, andare a Impostazioni > Configurazioni e impostare questi parametri di conversazione in modo che puntino allo stato appropriato nella competenza della Guida.
-
Competenza guida personalizzata assistente digitale
-
Stato della Guida personalizzata di Digital Assistant
-
-
-
Il cliente desidera che un assistente digitale non sia impostato per la gestione: effettuare una delle operazioni riportate di seguito.
-
Assistente digitale con competenze singole: aggiunge un intento e un'azione che vengono trasferiti a uno stato del flusso della finestra di dialogo Trasferimento agente. Se si utilizza una copia di uno skill di conversazione agente automatico, il flusso della finestra di dialogo lo fa già.
Nota
Se lo skill è stato sviluppato in modalità flusso della finestra di dialogo YAML, aggiungere anche una transizione dell'azioneunresolvedIntent
allo statoSystem.Intent
dello skill per gestire le richieste non incluse nell'ambito dello skill. -
Assistente digitale con più competenze: nell'assistente digitale, andare a Impostazioni > Configurazioni e impostare questi parametri di conversazione in modo che puntino allo stato che avvia il flusso per la gestione delle richieste obsolete.
-
Competenza personalizzata Digital Assistant UnresolvedIntent
-
Stato UnresolvedIntent personalizzato assistente digitale
-
-
Costruisci l'abilità
Per creare uno skill DA-as-Agent, è possibile duplicare il modello DA-as-Agent o crearne uno completamente nuovo, come descritto qui. Sarà quindi possibile configurare lo skill, aggiungere intenti ed entità in base alle esigenze e apportare le modifiche necessarie al flusso della finestra di dialogo. Infine, ti allenerai e, facoltativamente, pubblicherai l'abilità.
Crea e configura lo skill
Ecco i passaggi per creare un'abilità DA utilizzare in un assistente digitale DA-as-Agent.
Aggiungi intenti ed entità
Aggiungere gli intenti e le entità necessari per lo skill.
Suggerimento
Se desideri che il tuo agente assistente digitale sia in grado di gestire "piccole conversazioni", estrai il modello di assistente digitale dall'area di memorizzazione delle competenze e dai un'occhiata alla sua abilità denominata Modello di abilità comune. Ha intenti e un flusso di dialogo che gestisce domande come "Are you a bot?", "Can I ask you out?", "Do you know the time?", "Are you into football?", e "Do you tell scherzi".Se la tua abilità DA-as-agent è una competenza di base di domande e risposte, puoi utilizzare gli intenti di risposta per gestire le domande e le risposte. Per Oracle B2C Service è inoltre possibile utilizzare i componenti del flusso della finestra di dialogo Ricerca knowledge per rispondere a domande e risposte. Per esempi di ricerca knowledge, vedere Utilizzare il componente Ricerca Knowledge. Tenere presente che è necessario creare un'integrazione di ricerca knowledge per utilizzare questo componente.
Dopo aver creato gli intenti, fare clic su Formazione. Non è possibile testare o pubblicare uno skill se non è stato addestrato.
Per eseguire il test degli intenti, fare clic su Test delle iterazioni, quindi immettere le espressioni del test nella sezione Test rapido per verificare che il modello stia risolvendo gli intenti desiderati. Dovresti inserire espressioni dagli intenti e dalle espressioni che non sono in alcun modo. La finestra di dialogo mostra il livello di attendibilità per ogni intento corrispondente. Se la risoluzione non è quella che intendevi, considera l'aggiunta dell'espressione all'intento desiderato o la revisione dell'intento che non corrispondeva correttamente. È inoltre possibile fare clic su Vai a casi di test per creare o importare i test batch. Per ulteriori informazioni, vedere Formazione e test degli intenti.
Accedi a informazioni sulla pagina di avvio contatto e chat
Quando gli utenti hanno eseguito l'accesso al servizio o hanno fornito il proprio nome, cognome e indirizzo e-mail nella pagina di avvio della chat, le variabili profile.firstName
, profile.lastName
e profile.email
conterranno le informazioni sull'utente. Per Oracle B2C Service, la variabile profile.locale
viene impostata sul codice della lingua dell'interfaccia. Per Oracle Fusion Service le impostazioni nazionali si basano sulla lingua selezionata dall'utente nel sito di avvio della chat oppure, se non è stata selezionata alcuna impostazione nazionale del browser.
Inoltre, la variabile profile.contactInfo
contiene alcune informazioni sulla richiesta di chat, ad esempio la domanda (oggetto) del cliente e l'ID prodotto e l'ID categoria, se applicabile. Inoltre, se la pagina di avvio della chat contiene campi personalizzati, i valori immessi dal cliente in tali campi vengono passati all'assistente digitale nell'array profile.contactInfo.customFields
. Per informazioni sulla personalizzazione dei campi presenti nella pagina di avvio della chat di Oracle B2C Service, vedere Panoramica della chat nel portale clienti in Uso di Oracle B2C Service.
Di seguito è riportata la struttura di profile.contactInfo
per Oracle B2C Service.
{
"question": <string>,
"productId": <number>,
"orgId": <number>,
"categoryId": <number>,
"browser": <string>,
"ipAddress": <string>,
"userAgent": <string>,
"sessionId": <string>,
"operatingSystem": <string>,
"customFields": [
{
"name": <string-name-of-custom-field>,
"id": <ID-of-custom-field>,
"value": <field-value>
},
...
]
}
Ecco alcuni dati di esempio:
{
"question":"Do you deliver",
"productId":7,
"customFields":[
{
"name":"ODA Text",
"id":44,
"value":"N/A"
},
{
"name":"ODA YN",
"id":45,
"value":"1"
},
{
"name":"ODA Nbr",
"id":46,
"value":"1"
},
{
"name":"ODA Date",
"id":47,
"value":"2020,2,17"
},
{
"name":"ODA Menu",
"id":48,
"value":"12"
},
{
"name":"ODA DateTime",
"id":49,
"value":"2004,11,18,17,18"
}
],
"browser":"FireFox 68.0",
"ipAddress":"123.45.67.89",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0",
"sessionId":"HI6unnBo",
"operatingSystem":"Windows 10",
"orgId":-1,
"categoryId":-1
}
Di seguito è riportata l'espressione FreeMarker per accedere al valore di profile.contactInfo
.
${profile.contactInfo.value}
Di seguito sono riportate le espressioni FreeMarker per accedere a parti specifiche di profile.contactInfo
.
${profile.contactInfo.value.question}
${profile.contactInfo.value.customFields}
Di seguito è riportata la struttura di profile.contactInfo
per Oracle Fusion Service.
{
"question": <string>,
"productId": <number>,
"orgId": <number>,
"categoryId": <number>,
"browser": <string>,
"ipAddress": <string>,
"userAgent": <string>,
"sessionId": <string>,
"operatingSystem": <string>,
"customFields": [
{
"name": "<custom-field-name>",
"type": "<data-type>",
"value": "<field-value>",
"menuItemLabel": "<label-string>"
},
...
]
}
Abilita il trasferimento a un agente umano
Se si desidera che lo skill trasferisca la sessione di chat a un agente umano, ad esempio quando l'utente desidera qualcosa che lo skill non è stato creato per gestire, aggiungere uno stato che utilizzi il componente del flusso della finestra di dialogo Trasferimento agente.
Nel componente Trasferimento agente è possibile specificare elementi quali il tempo di attesa massimo e le condizioni in base alle quali lo skill deve essere trasferito a un agente umano. Questo componente ha le azioni di transizione incorporate accepted
, rejected
e error
. È necessario mappare ciascuna di queste azioni a uno stato o a un flusso per gestire tale azione. Ad esempio:
accepted
può essere mappato a un componente Mostra messaggio che restituisce il messaggio:I'm transferring you to a human agent. Hold tight.
rejected
può essere mappato a un componente Mostra messaggio che restituisce il messaggio:I wasn't able to transfer you to a human agent. Please try again later. Meanwhile, let me know if there's anything else I can help you with.
error
può essere mappato a un componente Mostra messaggio che restituisce il messaggio:We're unable to transfer you to a human agent because there was a system error. You can ask me another question if there's something else that I can help you with.
Prestare attenzione a come passare allo stato di trasferimento dell'agente in modo che il flusso non finisca in un loop infinito. Ad esempio, non mappare l'evento di sistema Errore finestra di dialogo o la transizione di flusso allo stato Trasferimento agente.
Per informazioni dettagliate sulle proprietà e sulle azioni del componente, vedere Trasferimento agente. Se il flusso della finestra di dialogo è in modalità YAML, vedere System.AgentTransfer.
Suggerimento
Se si desidera che lo skill tenga traccia del numero di volte in cui è stato necessario un agente e del motivo, vedere Creazione di dimensioni che tengono traccia dell'uso dello skill.Passa informazioni al servizio
Quando si trasferisce una conversazione da un assistente digitale a un agente reale, è molto probabile che si desideri passare alcune informazioni al servizio, ad esempio i valori per una regola di escalation. Per passare queste informazioni si utilizzano le proprietà personalizzate nel componente Trasferimento agente.
For Oracle B2C Service, the name
can be FIRST_NAME
, LAST_NAME
, EMAIL
, QUESTION
, PRODUCT_ID
, CATEGORY_ID
, CONTACT_ID
, INCIDENT_ID
, and any custom field of type Incident that has Chat Display enabled in the Visibility settings.
Per i campi personalizzati, utilizzare il nome della colonna del campo (maiuscolo) preceduto da c$
. Il tipo può essere BOOLEAN
, DATE
, DATETIME
, INTEGER
, LONG
, STRING
e DECIMAL
. L'impostazione predefinita è STRING
. Per DATE
e DATETIME
, utilizzare il formato yyyy-MM-dd'T'HH:mm:ssXXX
. Per BOOLEAN
, utilizzare 1 per true e 0 per false.
Per Oracle Fusion Service, il valore name
può essere FIRST_NAME
, LAST_NAME
, EMAIL
, QUESTION
, PRODUCT_ID
, CATEGORY_ID
, CONTACT_ID
, INCIDENT_ID
e qualsiasi campo di un oggetto Oracle Fusion Cloud Applications (Fusion). Tenere presente che quando si aggiunge un campo personalizzato a un oggetto di Oracle Fusion Service utilizzando Application Composer, il suffisso _c
viene aggiunto automaticamente al nome.
Suggerimento
Per Oracle Fusion Service, la valutazione delle regole si interrompe alla prima regola in cui vengono soddisfatte tutte le condizioni. Quando si configurano le regole, assicurarsi che la conversazione trasferita non venga instradata di nuovo all'agente assistente digitale. Per Oracle B2C Service, la configurazione Stato e arresto transizione determina l'instradamento.Per ulteriori informazioni sui campi personalizzati di Oracle B2C Service, vedere Panoramica sui campi personalizzati in Uso di Oracle B2C Service.Per informazioni sui campi delle proprietà personalizzate di Oracle Fusion Service, vedere "Campi" in Configurazione di applicazioni mediante Creazione applicazione.
Configura quando tentare il trasferimento dell'agente
Il componente del flusso della finestra di dialogo Trasferimento agente dispone di due proprietà che consentono di configurare quando tentare il trasferimento a un agente: Numero massimo di impegni in coda e Consenti trasferimento se.
La proprietà Numero massimo di impegni in coda consente di impostare il numero massimo consentito di impegni in attesa nella coda di destinazione. Quando viene inviata la richiesta di chat, il servizio risponde con il numero corrente di impegni in attesa nella coda. Se questo valore supera il valore Numero massimo di impegni in coda, viene eseguita l'azione rejected
. Se non si include questa proprietà, non esiste un limite di coinvolgimento.
La proprietà Consenti trasferimento se consente di specificare quando eseguire il trasferimento in base agli agenti disponibili. Sono disponibili le seguenti opzioni:
- Gli agenti richiedono nuovi impegni: (impostazione predefinita) per gli agenti di Oracle B2C Service che devono eseguire il pull delle chat (richiedere nuovi impegni), si tratta del set di condizioni più restrittivo e l'utente non deve attendere troppo tempo prima di parlare con un agente. Lo skill tenta di trasferire la conversazione solo se sono presenti agenti che hanno richiesto nuovi impegni. In tutti gli altri casi, questa opzione ha lo stesso funzionamento di Sessioni agente disponibili.
- Sessioni agente disponibili: lo skill tenta di trasferire la conversazione se uno qualsiasi degli agenti disponibili non ha raggiunto il numero massimo di chat che possono avere contemporaneamente. L'utente potrebbe dover attendere se gli agenti sono coinvolti in conversazioni di lunga durata o stanno eseguendo un follow-up post-chat.
- Sono disponibili agenti: la competenza tenta di trasferire la conversazione se sono presenti agenti online, indipendentemente dal fatto che abbiano raggiunto il numero massimo di chat o richiedano nuovi impegni. Con questa opzione, gli utenti possono avere lunghe attese.
Se le condizioni specificate non vengono soddisfatte, viene eseguita l'azione rejected
.
Ottieni disponibilità agente e tempo di attesa
È possibile utilizzare il componente di flusso della finestra di dialogo Condizione trasferimento agente per individuare il tempo di attesa stimato, visualizzare tale tempo e offrire all'utente la possibilità di annullare la richiesta di trasferimento.
Questo componente risolve la situazione in cui tutti gli agenti disponibili sono occupati quando un utente desidera parlare con un agente e l'attesa potrebbe essere lunga.
Le proprietà del componente vengono utilizzate per specificare le condizioni di trasferimento e il nome della variabile in cui inserire le informazioni sullo stato. Il componente restituisce un'azione che indica se le condizioni sono state soddisfatte. Le azioni di transizione incorporate sono conditionsMet
, conditionsNotMet
e error
. È possibile mappare ciascuna di queste azioni a uno stato o a un flusso per gestire tale azione.
Ad esempio:
- Per
conditionsNotMet
, è possibile mapparlo a uno stato Invia messaggio con testo simile al seguente:Unfortunately, none of my colleagues are currently available to assist with this. Still, we’d love to see this through for you. Please feel free to contact us at email@example.com.
- Per
error
, è possibile mapparlo a un componente Mostra messaggio che restituisce un messaggio simile al seguente:We're unable to transfer you to a human agent because there was a system error. You can ask me another question if there's something else that I can help you with.
- Per
conditionsMet
, è possibile mapparlo a un flusso che chiede all'utente se è disposto ad attendere e, in caso affermativo, passa allo stato Trasferimento agente per eseguire il trasferimento effettivo. Tale flusso potrebbe includere quanto segue:- Componente di risposta comune che chiede all'utente se desidera attendere. Di seguito viene descritto l'aspetto della proprietà Metadati per il componente.
responseItems: - type: "text" text: "${rb('promptTextForTransferDecision','minutes,seconds',agentStatus.value.expectedWaitMinutes,agentStatus.value.expectedWaitSeconds)}" separateBubbles: true actions: - label: "Yes, I'll wait" type: "postback" keyword: "yes" payload: action: "yes" name: "Yes" - label: "No, nevermind" keyword: "no" type: "postback" payload: action: "no" name: "No"
-
Voce di bundle di risorse per l'elemento di risposta di testo sopra riportato per formare il messaggio del tempo di attesa in modo che il messaggio abbia senso se l'ora è più o meno di un minuto e se il numero è zero, uno o più. Ecco come potrebbe essere:
There are some experts online. But it might take {minutes, plural, =-1 {} =0 {} =1 {1 minute and } other {# minutes and } }{seconds, plural, =-1 {a while} =0 {{minutes, plural, =0 {a very short wait time} other {0 seconds} }} =1 {1 second} other {# seconds} } for one to join. Are you willing to wait?
- Stato Trasferimento agente per eseguire il trasferimento se l'utente è disposto ad attendere un agente.
- Stato con una risposta quando l'utente non desidera attendere.
- Componente di risposta comune che chiede all'utente se desidera attendere. Di seguito viene descritto l'aspetto della proprietà Metadati per il componente.
Per informazioni dettagliate sulle informazioni sullo stato e sulle azioni, vedere Condizione di trasferimento agente.
Se il flusso della finestra di dialogo è in modalità YAML, vedere System.AgentTransferCondition.
Abilita allegati
I canali DA come agente supportano la capacità sia degli agenti che degli utenti di Oracle Fusion Service di allegare immagini, audio, video e file alla conversazione.
Affinché questo funzioni, è necessario utilizzare la chat Web per il servizio o un'altra piattaforma di messaggistica che supporta gli allegati.
Crea un report incidente
È possibile creare un report sugli incidenti (o una richiesta di servizio) per Oracle B2C Service o Oracle Fusion Service da qualsiasi skill.
Per creare un report incidente dallo skill, effettuare le operazioni riportate di seguito.
-
Andare a Impostazioni > Servizi aggiuntivi > Integrazione servizio clienti e creare un'integrazione con il servizio necessario.
È necessario eseguire questa operazione solo una volta per istanza.
-
Aggiungere il componente di creazione dell'incidente al flusso. Per Visual Flow Designer, vedere Creazione di incidenti. Per YAML, vedere System.IncidentCreation.
Se è stata creata un'integrazione di Oracle Fusion Service e si è selezionato Consenti solo agli utenti collegati di creare una richiesta di servizio come tipo di autenticazione, è necessario effettuare le operazioni riportate di seguito.
- Impostare l'impostazione Richiede autenticazione del componente Creazione incidente su
True
. - Aggiungere un componente Collegamento account OAuth al flusso della finestra di dialogo per gestire l'autenticazione utente. Per Visual Flow Designer, vedere OAuth Collegamento account. Per YAML, vedere System.OAuthAccountLink.
- Impostare l'impostazione Richiede autenticazione del componente Creazione incidente su
Suggerimento
Dopo aver creato e configurato il componente Creazione incidente, fare clic su Convalida nel banner della pagina per convalidare lo skill. Tra le altre cose, questa convalida garantirà di aver inserito un nome di servizio nel componente Creazione incidente corrispondente al nome assegnato all'integrazione del servizio clienti creata.Modalità di visualizzazione dei componenti dell'interfaccia utente nella chat del servizio
La chat predefinita a cui si accede tramite il portale clienti del servizio è limitata a testo e immagini. Ad esempio, invece di schede e pulsanti, visualizza solo il testo e l'utente deve digitare l'etichetta della scelta o del pulsante invece di fare semplicemente clic su di esso.
Per visualizzare più di un semplice testo per i componenti dell'interfaccia utente presenti nel flusso della finestra di dialogo, è possibile utilizzare una delle opzioni riportate di seguito.
- Chat Web per servizio (WCFS) Questa funzione consente di personalizzare il widget chat utilizzando le funzioni presenti nell'SDK per i canali utente Oracle Web. Per configurare WCFS, vedere la sezione Web Chat for Service (WCFS) del manuale Administering Oracle Engagement Engine (Amministrazione di Oracle Engagement Engine).
- Inlay di Oracle Inlay Toolkit. Per ulteriori informazioni su Inlays, consulta la documentazione di Oracle Inlay Toolkit.
Se il client di chat è la chat predefinita a cui si accede tramite il portale clienti del servizio, assicurarsi di impostare Abilita numerazione automatica su Azioni postback su true
nella pagina Impostazioni > Configurazione per l'assistente digitale in modo che l'utente possa rispondere al componente dell'interfaccia utente digitando un numero anziché il testo esatto. Se non viene impostato su true
, utilizzare le parole chiave per gli elementi di risposta per ridurre al minimo gli elementi che l'utente deve immettere. In questo esempio, la numerazione automatica viene impostata su true
ogni volta che il client è Twilio o Oracle B2C Service chat.
${(system.channelType=='twilio'||system.channelType=='osvc' )?then('true','false')}
Suggerimento
Quando si utilizza l'anteprima dell'assistente digitale o l'anteprima delle competenze, se si imposta il canale su SMS Twilio, la conversazione verrà resa simile alla chat predefinita.Di seguito è riportato un confronto tra le modalità di visualizzazione dei componenti dell'interfaccia utente per i diversi client.
Componente/struttura | Chat Web per servizio | Inlay | Chat predefinita |
---|---|---|---|
Tag HTML | supportato | supportato | supportato |
Azioni postback | supportato | Visualizzati come pulsanti selezionabili. L'azione share viene ignorata.
|
Visualizzato come testo non selezionabile. Le azioni location , call e share vengono ignorate.
|
Risposta comune (nelle finestre di dialogo YAML System.CommonResponse )
|
supportato | Supportato, tranne per il fatto che gli utenti non possono caricare allegati. | Supportato, ma gli elementi e le etichette delle azioni vengono sempre visualizzati verticalmente. Le scelte e i pulsanti vengono visualizzati come testo non cliccabile.
Per un elemento di risposta di tipo |
System.List (disponibile solo nelle finestre di dialogo YAML, ma non più valido)
|
supportato | supportato | Supportate, ma le opzioni vengono visualizzate come testo non selezionabile e il valore footerText non viene visualizzato.
|
Questa tabella illustra la modalità di visualizzazione delle diverse configurazioni dei componenti nella chat e negli Inlay predefiniti.
Configurazione componenti di esempio | Inlay | Chat predefinita |
---|---|---|
Nota: in questo esempio viene utilizzato un componente |
![]() Descrizione dell'illustrazione rich-text-list-inlay.png |
![]() Descrizione dell'illustrazione rich-text-list-default.png |
|
![]() Descrizione dell'illustrazione rich-text-card-inlay.png |
![]() Descrizione dell'illustrazione rich-text-card-default.png |
|
![]() Descrizione dell'illustrazione rich-text-actions-inlay.png |
![]() Descrizione dell'illustrazione rich-text-actions-default.png Tenere presente che è possibile eseguire il wrapping degli URL del payload nei tag HTML. Ad esempio |
Configurare l'assistente digitale DA-as-Agent
Se non si utilizza il modello CX Service, attenersi alla procedura riportata di seguito per creare un assistente digitale che funga da agente Oracle B2C Service o Oracle Fusion Service automatico.
-
Fare clic su
per aprire il menu laterale, quindi fare clic su Sviluppo > Assistenti digitali.
-
Fare clic su Nuovo assistente digitale.
-
Completare la finestra di dialogo e fare clic su Crea.
-
Quando viene aperto, l'assistente digitale visualizza la pagina Competenze
.
-
Fare clic su + Aggiungi skill, selezionare lo skill creato per questo assistente digitale, quindi fare clic su Chiudi.
-
Fare clic su Impostazioni
, quindi fare clic su Generale.
-
Passare a Abilita approfondimenti.
-
Impostare il modello di formazione dell'assistente digitale su Tm formatore.
-
(Facoltativo) Apportare queste modifiche all'assistente digitale nella scheda Impostazioni > Configurazioni.
-
Informazioni sul flusso nella selezione:
${system.routingToIntent}
-
Prompt nulla da chiudere:
Goodbye. Let me know if there's anything else I can help you with.
-
-
(Facoltativo) Se l'assistente digitale dispone di più competenze, è possibile personalizzare il comportamento dell'assistente digitale quando le espressioni utente corrispondono agli intenti
help
eunresolvedIntent
dell'assistente digitale. Andare alla scheda Configurazione della pagina Impostazioni, quindi specificare la competenza e lo stato personalizzati a cui passare per la Guida o unresolvedIntent (o entrambi). Vedere Specificare gli stati per gli intenti di sistema di un assistente digitale. - Fare clic su Formazione per addestrare l'assistente digitale.
-
(Facoltativo) Per eseguire il test dell'assistente digitale, fare clic su Anteprima
.
Tenere presente che quando il flusso della finestra di dialogo passa a uno stato che si trasferisce da uno skill a un agente, l'anteprima smette di rispondere. Quando ciò si verifica, fare clic su Reimposta.
Dopo aver messo in produzione il tuo assistente digitale, vorrai eseguire periodicamente i report Retrainer per vedere se è necessario migliorare la risoluzione degli intenti per qualsiasi intento. Vedere Applica retrainer.