Creazione e gestione di voci personalizzate

Una volta che esiste un modello personalizzato, il passo successivo è aggiungere le voci personalizzate sotto forma di coppie di parole/traduzioni per definire il modo in cui le parole specificate devono essere pronunciate durante la sintesi. Le definizioni sovrascrivono le regole di pronuncia regolare predefinite del servizio. Puoi aggiungere ed eseguire query di traduzioni per una o più parole alla volta e puoi eliminare singole parole che non ti servono più. Una volta acquisita familiarità con l'interfaccia di personalizzazione, la manipolazione di più parole alla volta può essere più pratica rispetto alla gestione parola per parola. Devi utilizzare le credenziali per l'istanza del servizio che possiede un modello personalizzato per utilizzare qualsiasi metodo che richieda il suo ID di personalizzazione.

Per ulteriori informazioni sulle regole e sui limiti che si applicano alle voci personalizzate, vedi Regole per la creazione di voci personalizzate.

Non utilizzare caratteri che devono essere codificati in URL. Ad esempio, non utilizzare spazi, barre, barre rovesciate, due punti, e commerciale, virgolette doppie, segni più, segni uguale, punti interrogativi, ecc. nel nome. Il servizio non impedisce l'uso di questi caratteri, ma poiché devono essere codificati con l' URL, se ne sconsiglia vivamente l'uso.

Aggiunta di una singola parola a un modello personalizzato

Per aggiungere una singola coppia di parola/traduzione a un modello personalizzato, utilizza il metodo PUT /v1/customizations/{customization_id}/words/{word}. Specifica la parola da aggiungere nell'URL del metodo. Fornisci la traduzione della parola come oggetto JSON con un singolo attributo translation. L'aggiunta di una nuova traduzione per una parola che già esiste in un modello sovrascrive la traduzione esistente della parola.

Puoi fornire una traduzione utilizzando il metodo di suoni simili o il metodo fonetico (o una combinazione dei due). Per le traduzioni fonetiche, puoi utilizzare il formato IPA (International Phonetic Alphabet) o il formato IBM SPR (Symbolic Phonetic Representation). I seguenti esempi utilizzano approcci diversi per aggiungere traduzioni equivalenti per la parola IEEE a un modello personalizzato. L'intestazione richiesta dell' Content-Type e identifica il tipo di input come " application-json".

  • Suoni simili: per questo esempio, il metodo di suoni simili è l'approccio più semplice:

    IBM Cloud

    curl -X PUT -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"I triple E\"}" \
    "{url}/v1/customizations/{customization_id}/words/IEEE"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X PUT \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"I triple E\"}" \
    "{url}/v1/customizations/{customization_id}/words/IEEE"
    
  • IPA fonetico: l'IPA richiede l'uso dell'elemento " <phoneme> " con l'attributo " alphabet " impostato su " ipa " e l'attributo " ph " definito nel formato IPA:

    IBM Cloud

    curl -X PUT -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ipa\\\" ph=\\\"aɪ.tɹˈɨpəl.ˈi\\\"></phoneme>\"}" \
    "{url}/v1/customizations/{customization_id}/words/IEEE"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X PUT \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ipa\\\" ph=\\\"aɪ.tɹˈɨpəl.ˈi\\\"></phoneme>\"}" \
    "{url}/v1/customizations/{customization_id}/words/IEEE"
    
  • IBM e fonetica SPR: SPR utilizza l'elemento " <phoneme> " con l'attributo " alphabet " impostato su " ibm " e l'attributo " ph " definito nel formato SPR:

    IBM Cloud

    curl -X PUT -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ibm\\\" ph=\\\"1Y.tr1Ipxl.1i\\\"></phoneme>\"}" \
    "{url}/v1/customizations/{customization_id}/words/IEEE"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X PUT \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ibm\\\" ph=\\\"1Y.tr1Ipxl.1i\\\"></phoneme>\"}" \
    "{url}/v1/customizations/{customization_id}/words/IEEE"
    

Aggiunta di più parole a un modello personalizzato

Per aggiungere una o più parole alla volta a un modello personalizzato, utilizza il metodo POST /v1/customizations/{customization_id}/words. Specifica le voci da aggiungere al modello personalizzato come un'array JSON di coppie di parole/traduzioni. L'intestazione richiesta dell' Content-Type e identifica il tipo di input come " application-json".

Il seguente esempio aggiunge traduzioni di suoni simili comuni per le parole NCAA e iPhone a un modello personalizzato:

IBM Cloud

curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"words\": [{\"word\":\"NCAA\", \"translation\":\"N C double A\"}, {\"word\":\"iPhone\", \"translation\":\"I phone\"}]}" \
"{url}/v1/customizations/{customization_id}/words"

IBM Cloud Pak for Data IBM Software Hub

curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"words\": [{\"word\":\"NCAA\", \"translation\":\"N C double A\"}, {\"word\":\"iPhone\", \"translation\":\"I phone\"}]}" \
"{url}/v1/customizations/{customization_id}/words"

Il contenuto JSON inviato nel corpo della richiesta equivale a quanto segue:

{
  "words": [
    {"word":"NCAA", "translation":"N C double A"},
    {"word":"iPhone", "translation":"I phone"}
  ]
}

Come accennato in Aggiornamento di un modello personalizzato, puoi anche utilizzare il metodo POST /v1/customizations/{customization_id} per aggiungere parole a un modello personalizzato. Nel seguente esempio viene utilizzato questo metodo per aggiungere le stesse due parole dell'esempio precedente; non vengono apportate modifiche ai metadati del modello. Ad eccezione dell'URL, i due metodi sono identici.

IBM Cloud

curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"words\": [{\"word\":\"NCAA\", \"translation\":\"N C double A\"}, {\"word\":\"iPhone\", \"translation\":\"I phone\"}]}" \
"{url}/v1/customizations/{customization_id}"

IBM Cloud Pak for Data IBM Software Hub

curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"words\": [{\"word\":\"NCAA\", \"translation\":\"N C double A\"}, {\"word\":\"iPhone\", \"translation\":\"I phone\"}]}" \
"{url}/v1/customizations/{customization_id}"

Aggiunta di parole a un modello personalizzato in giapponese

Quando crei le voci per le parole in un modello vocale personalizzato in giapponese, vengono applicate ulteriori considerazioni e un campo part_of_speech aggiuntivo; per ulteriori informazioni, vedi Utilizzo di voci in giapponese. Specifica una parte del discorso per una voce personalizzata in giapponese nel seguente modo:

  • Per il metodo PUT /v1/customizations/{customization_id}/words/{word}, passa un oggetto JSON del seguente formato:

    {
      "translation": "value",
      "part_of_speech": "value"
    }
    
  • Per i metodi POST /v1/customizations/{customization_id}/words e POST customizations/{customization_id}, passa un oggetto JSON come il seguente esempio:

    {
      "words": [
        {
          "word": "value",
          "translation": "value",
          "part_of_speech": "value"
        }
        . . .
      ]
    }
    

I seguenti esempi del metodo " PUT /v1/customizations/{customization_id}/words/{word} " traducono la stringa a doppio byte codificata in " URL " per " NY " in un sostantivo (Mesi) ニューヨーク (New York in inglese). Se questa traduzione personalizzata non è definita, la stringa viene letta come enu wai.

  • Suoni simili:

    IBM Cloud

    curl -X PUT -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"ニューヨーク\", \"part_of_speech\":\"Mesi\"}" \
    "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X PUT \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"ニューヨーク\", \"part_of_speech\":\"Mesi\"}" \
    "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"
    
  • Fonetica IPA:

    IBM Cloud

    curl -X PUT -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ipa\\\" ph=\\\"ɲɯːjoːkɯ\\\"></phoneme>\", \"part_of_speech\":\"Mesi\"}" \
    "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X PUT \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ipa\\\" ph=\\\"ɲɯːjoːkɯ\\\"></phoneme>\", \"part_of_speech\":\"Mesi\"}" \
    "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"
    
  • Fonetica IBM SPR:

    IBM Cloud

    curl -X PUT -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ibm\\\" ph=\\\"nyu:yo:ku\\\"></phoneme>\", \"part_of_speech\":\"Mesi\"}" \
    "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X PUT \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --data "{\"translation\":\"<phoneme alphabet=\\\"ibm\\\" ph=\\\"nyu:yo:ku\\\"></phoneme>\", \"part_of_speech\":\"Mesi\"}" \
    "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"
    

Esecuzione di query di una singola parola da un modello personalizzato

Per eseguire la query della traduzione di una singola parola da un modello personalizzato, utilizza il metodo GET /v1/customizations/{customization_id}/words/{word}. Specifica la parola nell'URL del metodo. La traduzione viene restituita come è definita nel modello personalizzato (parola simile o fonetica).

Il seguente esempio esegue una query su un modello personalizzato per interrogare la traduzione della parola IEEE:

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}/words/IEEE"

IBM Cloud Pak for Data IBM Software Hub

curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}/words/IEEE"

Se la parola ha la traduzione di suoni simili nel modello, l'esempio restituisce il seguente output JSON:

{
  "translation": "I triple E"
}

Esecuzione di query di tutte le parole da un modello personalizzato

Per vedere le traduzioni di tutte le parole definite in un modello personalizzato, utilizza il metodo GET /v1/customizations/{customization_id}/words. Il seguente esempio utilizza il metodo per elencare le voci da un modello personalizzato che contiene le traduzioni di suoni simili per tre parole:

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}/words"

IBM Cloud Pak for Data IBM Software Hub

curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}/words"

Il metodo restituisce un array JSON con i seguenti dati. Per i modelli personalizzati in giapponese, l'output include la parte del discorso per le singole parole.

{
  "words": [
    {
      "word": "IEEE",
      "translation": "I triple E"
    },
    {
      "word": "NCAA",
      "translation": "N C double A"
    },
    {
      "word": "iPhone",
      "translation": "I phone"
    }
  ]
}

Come descritto in Esecuzione di query di un modello personalizzato, puoi anche utilizzare il metodo GET /v1/customizations/{customization_id} per visualizzare sia i metadati che le parole per un modello personalizzato:

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"

IBM Cloud Pak for Data IBM Software Hub

curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"

Il metodo restituisce l'output JSON del seguente formato. Poiché questo esempio e quello precedente specificano lo stesso modello personalizzato, l'array di parole nel loro output è identico.

{
  "customization_id": "64f4807f-a5f1-5867-924f-7bba1a84fe97",
  "owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
  "created": "2016-07-15T19:15:17.926Z",
  "name": "Test",
  "language": "en-US",
  "description": "Customization test",
  "last_modified": "2016-07-15T19:46:01.387Z",
  "words": [
    {
      "word": "IEEE",
      "translation": "I triple E"
    },
    {
      "word": "NCAA",
      "translation": "N C double A"
    },
    {
      "word": "iPhone",
      "translation": "I phone"
    }
  ]
}

Esecuzione di query di una parola da una lingua

Per eseguire una query della pronuncia di una parola, utilizza il metodo GET /v1/pronunciation. Specifica una voce per ottenere la pronuncia nella lingua di quella voce. Per impostazione predefinita, il metodo restituisce la pronuncia in base alle regole di pronuncia regolari del servizio, ma è anche possibile richiedere la pronuncia per un modello personalizzato specificato. Il metodo include quattro parametri di query che ti consentono di specificare le informazioni che devono essere restituite:

  • Il parametro obbligatorio text specifica la parola di cui deve essere restituita la pronuncia.
  • Il parametro facoltativo voice ti consente di specificare la lingua della pronuncia. Si specifica una delle voci (ad esempio, en-US_LisaV3Voice) per indicare la lingua desiderata; tutte le voci per la stessa lingua (ad esempio, en-US) restituiscono la stessa pronuncia. Per impostazione predefinita, la pronuncia viene restituita per la lingua della voce predefinita. Per ulteriori informazioni, vedere Utilizzo della voce predefinita.
  • Il parametro facoltativo format ti consente di specificare il formato fonetico della pronuncia, ipa o ibm. Per impostazione predefinita, la pronuncia viene restituita in formato IPA.
  • Il parametro opzionale " customization_id " consente di specificare un modello personalizzato per il quale deve essere restituita la pronuncia. Se la parola non è definita nel modello personalizzato specificato, il servizio restituisce la pronuncia predefinita per la lingua del modello. Ometti il parametro per vedere la traduzione per la voce specificata senza alcuna personalizzazione. Non specificare sia una voce che un modello personalizzato.

Questo metodo è utile perché ti consente di eseguire la query di una parola da qualsiasi lingua e, poiché non richiede un ID di personalizzazione, non pone restrizioni sulle parole che puoi visualizzare. Può rivelarsi particolarmente utile quando si compone una traduzione fonetica per una nuova parola; puoi usarlo per ottenere la pronuncia per una parola esistente che puoi quindi utilizzare come base per la tua nuova traduzione, che è molto più comodo rispetto a creare una traduzione da zero.

L'esempio seguente ottiene la pronuncia della parola " IEEE " nel formato IPA predefinito:

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
"{url}/v1/pronunciation?text=IEEE"

IBM Cloud Pak for Data IBM Software Hub

curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/pronunciation?text=IEEE"

La risposta mostra i simboli IPA della pronuncia:

{
  "pronunciation": ".ˈaɪ .ˈi .ˈi .ˈi"
}

Il seguente esempio immette una traduzione di suoni simili per la parola IEEE e ottiene l'equivalente fonetico in formato IBM SPR. Ottenere la pronuncia fonetica per una traduzione di suoni simili è un approccio particolarmente interessante alla composizione di una traduzione fonetica. Nell'esempio, gli spazi della parola sono codificati in URL.

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
"{url}/v1/pronunciation?text=i%20triple%20e&format=ibm"

IBM Cloud Pak for Data IBM Software Hub

curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/pronunciation?text=i%20triple%20e&format=ibm"

La risposta mostra i simboli SPR per la pronuncia:

{
  "pronunciation": "1Y.tr1Ipxl.1i"
}

Eliminazione di una parola da un modello personalizzato

Per eliminare una parola da un modello personalizzato, utilizza il metodo DELETE /v1/customizations/{customization_id}/words/{word}. Specifica la parola da eliminare nell'URL del metodo. Puoi eliminare solo parole singole; non puoi eliminare più parole con un singolo metodo.

Il seguente esempio elimina la parola IEEE dal modello personalizzato specificato:

IBM Cloud

curl -X DELETE -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}/words/IEEE"

IBM Cloud Pak for Data IBM Software Hub

curl -X DELETE \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}/words/IEEE"