Supporto della lingua nativa per le competenze

A partire dalla versione 20.12 della piattaforma, in Oracle Digital Assistant è disponibile il supporto nativo per alcune lingue. Quando si sviluppa una competenza con questo supporto di lingua nativa, non è necessario utilizzare un servizio di traduzione 3rd-party per gestire l'input dell'utente e le risposte alle competenze in tali lingue.

Se stai sviluppando tali competenze per l'inclusione in un assistente digitale, quell'assistente digitale deve anche utilizzare il supporto linguistico nativo. Vedere Supporto per il linguaggio nativo negli assistenti digitali.

Funzionamento del supporto per la lingua nativa

  • I dati di formazione possono essere forniti in ciascuna delle lingue (supportate in modo nativo) per cui si sta progettando la competenza.

    Quando si utilizza il supporto della lingua nativa, l'abilità viene addestrata in base a un modello unificato che incorpora tutte le lingue supportate in modo nativo. È possibile fornire espressioni di formazione in una o più lingue di destinazione della propria abilità. Le espressioni di addestramento fornite in una lingua consentono di creare il modello per tutte le lingue dell'abilità. Per le abilità mirate a più lingue, in genere inizierai a costruire il tuo corpus di formazione nella lingua principale dell'abilità. Quindi puoi (e dovresti) aggiungere espressioni di addestramento nelle altre lingue, anche se probabilmente non avrai bisogno di quasi altre lingue.

    Questo differisce dalle competenze che utilizzano un servizio di traduzione. In queste competenze, il modello di formazione sottostante è sempre in inglese, anche se il corpus di formazione è fornito in un'altra lingua.

  • I valori di entità per i tipi di entità incorporati (ad esempio NUMBER, EMAIL e DATE) vengono estratti nella lingua della conversazione. (Questo differisce dal caso con le competenze in modalità servizio di traduzione, in cui i valori vengono estratti dopo che l'input è stato tradotto dal servizio di traduzione.
  • I valori delle entità per le entità personalizzate corrispondono ai valori forniti per la lingua della conversazione corrente.
  • Le competenze che supportano le lingue non inglesi devono essere addestrate con Trainer TM.

Lingue supportate in modo nativo

Di seguito sono riportate le lingue (e i codici delle lingue corrispondenti) attualmente supportate in modo nativo in Oracle Digital Assistant.

  • arabo (ar)
  • Olandese (nl)
  • Inglese (en)
  • Francese (fr)
  • Tedesco (de)
  • Italiano (it)
  • Portoghese (pt)
  • Spagnolo (es)

Ciò significa che è possibile creare competenze e assistenti digitali per queste lingue senza utilizzare un servizio di traduzione, come Google Translate.

Ecco una panoramica del livello di supporto per ogni lingua.

Lingua Informazioni sulla lingua Voice vocale Insight Produzione dati Designer conversazioni
arabo (ar) No No
Olandese (nl) No No
Inglese (en) Sì, incluse le versioni locali en-US, en-GB e en-AU)
Francese (fr) No
Tedesco (de) No
Italiano (it) No
Portoghese (pt) No
Spagnolo (es) No

Per un confronto più dettagliato del supporto per ogni lingua, vedere Supporto delle funzioni per lingua.

Crea una competenza con lingue supportate in modo nativo

Di seguito sono riportati i passi generali per la creazione di una competenza che utilizza il supporto della lingua nativa di Oracle Digital Assistant.

  1. Quando si crea lo skill, selezionare la versione della piattaforma 20.12 o successiva e selezionare la lingua principale che si desidera supportare dall'elenco a discesa Lingua principale.

    La lingua selezionata deve essere inclusa nella sezione Supportata in modo nativo dell'elenco a discesa.

  2. Per ogni intento creato, aggiungere espressioni per la propria abilità nella lingua principale:
    1. Fare clic su icona per aprire il menu laterale per aprire il menu laterale, selezionare Sviluppo > Competenze e aprire lo skill.
    2. Nella navigazione a sinistra per lo skill, fare clic Immagine dell'icona Intento.
    3. Selezionare un intento.
    4. Nel campo di testo Esempi digitare l'espressione e premere Invio.
    5. Ripetere i due passi secondari precedenti per ogni intento.
  3. Per qualsiasi entità personalizzata nello skill, assicurarsi che i valori siano nella lingua principale dello skill.

    È possibile aggiungere e modificare entità personalizzate facendo clic su Immagine dell'icona Entità nella navigazione a sinistra dello skill.

  4. Per i componenti del flusso di finestre di dialogo che dispongono di proprietà che visualizzano prompt o etichette, assicurarsi di definire esplicitamente tali proprietà. Se non si definiscono queste proprietà, i clienti potrebbero trovare il testo predefinito di tali proprietà, che sono in inglese.
  5. Nelle impostazioni dello skill, aggiornare tutti i messaggi e i prompt di configurazione per utilizzare la lingua principale:

    Per accedere a questi messaggi e prompt:

    • Nella navigazione a sinistra per lo skill fare clic su icona Impostazioni.

    I messaggi e i prompt si trovano nelle schede Configurazione e Assistente digitale.

Nota

Se si prevede di supportare più lingue nella competenza, sarà necessario definire le chiavi del bundle di risorse per le proprietà, i prompt e i messaggi che possono essere visualizzati agli utenti. E, anche se non si prevede di supportare più lingue, è consigliabile farlo comunque, poiché il bundle di risorse fornisce un unico punto in cui è possibile modificare i valori di tutte le stringhe. Vedere Bundle di risorse per skill.

Aggiungi lingue supportate in modo nativo a un'abilità

Per gli skill (o le versioni degli skill) in cui è stata scelta una lingua principale supportata in modo nativo, è possibile aggiungere altre lingue supportate in modo nativo.

  1. Assicurati che la tua abilità sia in esecuzione sulla piattaforma versione 20.12 o successiva.

    In caso contrario, è necessario creare una copia o una nuova versione dell'abilità e impostarla per utilizzare la piattaforma versione 20.12 o successiva.

  2. Nella barra di navigazione a sinistra della competenza, fare clic sull'icona Impostazioni(icona Impostazioni) e selezionare la scheda Generale.
  3. Scorrere fino alla sezione Lingue, fare clic su Aggiungi lingua e selezionare la lingua dall'elenco a discesa.
  4. Per ogni intento dello skill, aggiungere un nome di conversazione e altre espressioni nella lingua aggiunta:
    1. Fare clic su Intenti (Immagine dell'icona Intento.) nella barra di navigazione a sinistra.
    2. Selezionare l'intento da modificare.
    3. Selezionare la scheda per la lingua appena aggiunta.
    4. Fare clic su Immagine dell'icona Modifica per immettere un nome o una frase descrittiva per l'intento nel campo Nome conversazione.
  5. Per tutte le entità basate su coppie chiave-valore (entità elenco valori ed entità dinamiche), immettere i valori per tale lingua.
  6. Abilitare lo skill per visualizzare i valori delle entità nella lingua della conversazione:
    1. Nei componenti utilizzati per risolvere le entità (Risolvi entità e Risposta comune), assicurarsi che la proprietà useFullEntityMatches sia impostata su true.

      In questo modo, si garantisce che i valori di entità personalizzati vengano memorizzati come oggetti JSON anziché come stringhe semplici.

    2. In tutte le espressioni FreeMarker che fanno riferimento a valori di entità personalizzati (nel flusso della finestra di dialogo o in varie proprietà di skill), inserire l'attributo corrispondente al valore che si desidera leggere. È possibile utilizzare uno dei seguenti attributi:
      • value: restituisce il valore dell'entità nella conversazione della lingua.
      • primaryLanguageValue: restituisce il valore dell'entità nella lingua principale dello skill. Utilizzare questa opzione per le espressioni utilizzate per la business logic, ad esempio per determinare se visualizzare un prompt in base al valore dell'entità.
      • originalString: restituisce il valore immesso dall'utente per corrispondere all'entità. Questo valore può essere sinonimo del valore dell'entità.

      Ad esempio, se si dispone dell'espressione ${PizzaSize} per fare riferimento al valore dell'entità PizzaSize, è necessario modificarla in ${PizzaSize.value} per visualizzare il valore nella lingua della conversazione.

  7. Se non lo si è già fatto, creare le chiavi del bundle di risorse per tutto l'output che gli utenti vedranno, immettere i valori per la lingua primaria e inserire i riferimenti a tali chiavi nelle posizioni appropriate. tra cui:
    • Testo di output nel flusso della finestra di dialogo.
    • Richiede le entità incluse nelle definizioni di entità.
    • Messaggi e prompt definiti nelle impostazioni dello skill. Per accedervi:
      • Nella navigazione a sinistra per lo skill fare clic su icona Impostazioni.

      I messaggi e i prompt si trovano nelle schede Configurazione e Assistente digitale.

    Vedere Bundle di risorse per skill.
  8. Per tutti i componenti del flusso di finestre di dialogo che dispongono di proprietà che visualizzano prompt o etichette, assicurarsi di aver definito in modo esplicito tali proprietà (in modo che non utilizzino per impostazione predefinita i valori inglesi) e creare voci di bundle di risorse per tali componenti.
  9. Aggiungere valori nella lingua aggiuntiva per tutte le chiavi del bundle di risorse.
  10. Aumentare il corpus di formazione come necessario nella lingua aggiuntiva.

    Poiché le competenze con lingue supportate in modo nativo si basano su un modello di formazione unificato in cui tutto l'addestramento aiuta a risolvere l'intento in tutte le lingue target dell'abilità, il modello di addestramento dovrebbe già funzionare per la tua lingua aggiuntiva, anche senza aggiungere espressioni in quella lingua. Ma la sua precisione sarà probabilmente inferiore a quella della lingua principale. Per migliorare la precisione, effettuare le operazioni riportate di seguito.

    • Crea test batch nella lingua aggiuntiva ed eseguili per determinare le prestazioni del modello senza pronunciamenti nella lingua aggiuntiva. Vedere Crea esecuzioni di test.
    • Aggiungere in modo iterativo espressioni di formazione in quella lingua e testare fino a ottenere un livello soddisfacente di risoluzione dell'intento.
      1. Fare clic su Intenti (Immagine dell'icona Intento.) nella barra di navigazione a sinistra.
      2. Selezionare l'intento da modificare.
      3. Selezionare la scheda per la lingua appena aggiunta.
      4. Nella sezione Esempi, immettere espressioni di esempio nella lingua aggiuntiva.

      Probabilmente non dovrai aggiungere altrettante espressioni in quelle lingue target aggiuntive come hai fatto nella lingua primaria.

Nota

Consulta il video di Design Camp su NLU multilingue per scoprire le best practice per rendere le tue competenze multilingue.

Passa da un servizio di traduzione al supporto della lingua nativa

Se si desidera sfruttare il supporto della lingua nativa di Oracle Digital Assistant in una competenza configurata per l'utilizzo di un servizio di traduzione, è possibile creare una nuova versione o una copia di tale competenza e abilitare tale supporto.

Requisito:

  • La competenza che si sta convertendo deve utilizzare solo le lingue supportate in modo nativo nella versione della piattaforma in cui si sta eseguendo la conversione. Per l'elenco, vedere Lingue supportate in modo nativo.

Se tale prerequisito non viene soddisfatto, è necessario continuare a utilizzare un servizio di traduzione per tutte le lingue non inglesi della competenza.

Per convertire un'abilità per utilizzare il supporto della lingua nativa di Digital Assistant, procedere come segue.

  1. Creare la nuova versione o la nuova copia e specificare la lingua principale per lo skill.
    1. Fare clic su icona per aprire il menu laterale per aprire il menu laterale e selezionare Sviluppo > Competenze.

    2. Nella casella relativa allo skill che si desidera creare o duplicare, fare clic su icona per aprire il menu Opzioni e selezionare Versione o Duplica.

    3. Nel campo Versione piattaforma, selezionare la versione 20.12 o successiva.

      Se non era presente in precedenza, verrà visualizzato un campo Lingua principale.

    4. Nell'elenco a discesa Lingua principale selezionare la lingua dalla sezione Supportata in modo nativo dell'elenco a discesa che corrisponde meglio alla lingua predominante della versione precedente dello skill.
      Nota

      Dopo aver fatto clic su Crea, non è possibile modificare la versione della piattaforma e la lingua principale.
    5. Fare clic su Crea.
  2. Aggiungere altre lingue da supportare.
  3. Modificare il flusso della finestra di dialogo per arrestare l'utilizzo dei meccanismi riportati di seguito relativi all'invio di testo a un servizio di traduzione.
    1. Qualsiasi componente di traduzione (Rileva lingua, Traduci input e Traduci output).
    2. (Per i flussi basati su YAML) la variabile di contesto autotranslate.
    3. (Per i flussi basati su YAML) la proprietà translate a livello di componente.

Formazione Corpus per una lingua aggiuntiva

Quando aggiungi una lingua, ecco come vengono gestite le varie parti dello skill:

  • Intenti: i nomi degli intenti, indipendentemente dalla lingua, rimangono invariati per ogni lingua. Per ogni intento è possibile aggiungere espressioni di esempio in ogni lingua. Poiché il modello per le competenze supportate in modo nativo è unificato, qualsiasi espressione aggiunta per una determinata lingua può anche aiutare il modello per altre lingue. Tuttavia, puoi rafforzare il tuo modello aggiungendo espressioni per ogni lingua.

    In particolare, si dovrebbe concentrarsi sull'aggiunta di frasi che esprimono un intento in una lingua che non sono traduzioni dirette della frase nella lingua primaria.

  • Entità: per le entità basate su coppie chiave-valore (entità elenco valori ed entità dinamiche), è possibile definire i valori nella lingua principale e quindi, per ogni lingua aggiuntiva, aggiungere valori corrispondenti ai valori della lingua principale.

    Per i prompt e i messaggi definiti nelle entità (inclusi i prompt definiti nelle entità sacchetto composto), si fa riferimento alle chiavi bundle di risorse, in cui si fornisce il testo appropriato in ogni lingua di destinazione.

    Per altre proprietà, ad esempio Dimensione intervallo enumerazione, i valori vengono applicati a tutte le lingue.

    Nota

    La proprietà Corrispondenza parziale è disabilitata per gli skill in cui non è supportata per tutte le lingue.

Rilevamento del linguaggio nelle competenze con lingue supportate in modo nativo

Nelle competenze che utilizzano più lingue supportate in modo nativo, l'assistente digitale (o abilità standalone) può rilevare automaticamente la lingua dell'utente all'inizio della sessione. Funzionamento:

  • La lingua viene rilevata automaticamente per gli assistenti digitali e le competenze configurate con più lingue supportate in modo nativo.
    • Se nella competenza o nell'assistente digitale è presente una sola lingua (supportata in modo nativo), il rilevamento della lingua viene disattivato.
    • Se l'assistente digitale o lo skill utilizza un servizio di traduzione, il servizio di traduzione gestisce il rilevamento della lingua, non lo skill o l'assistente digitale.
  • La lingua non viene rilevata automaticamente se si accede allo skill o all'assistente digitale tramite un canale in cui è stata impostata la variabile profile.languageTag o profile.locale.
  • La lingua viene rilevata nella prima espressione della conversazione e non viene aggiornata nella sessione, anche se l'utente cambia lingua.
  • Per impostazione predefinita, la sessione del canale ha una durata di 7 giorni prima della scadenza.