Tradurre dati in Database di Azure per PostgreSQL

Completato

Traduzione nell'estensione azure_ai

Il servizio linguaggio di Azure offre potenti strumenti e modelli per l'uso dei dati di testo. Le integrazioni nello schema azure_cognitive dell'estensione azure_ai offrono l'accesso a questo ricco insieme di funzionalità di comprensione ed elaborazione del linguaggio naturale accessibili direttamente dal database. Una di queste funzionalità include la possibilità di tradurre testo usando la funzione translate().

Funzione azure_cognitive.translate()

La traduzione della lingua è disponibile nella funzione azure_cognitive.translate(). Questa funzione accetta un testo di input e una o più lingue in cui si desidera tradurlo. La funzione rileva automaticamente la lingua di origine oppure è possibile assegnare una lingua di origine per il testo di input.

La funzione restituisce una tabella basata sul corpo della risposta del servizio Azure Translator. In questa risposta sono incluse le colonne seguenti:

Nome Descrizione
translations Oggetto JSON contenente una tupla per ogni combinazione di lingua di destinazione e testo tradotto.
detected_language La lingua si basa sul rilevamento automatico della lingua. Se si specifica una lingua usando il parametro di input source_language, questo parametro viene impostato su NULL.
source_text Oggetto contenente il testo di input nello script predefinito della lingua di origine. Questa opzione è disponibile solo quando l'input viene espresso in uno script diverso da quello abituale per la lingua. Ad esempio, se un testo tailandese fosse scritto in caratteri latini.

Impostare l'endpoint del servizio di traduzione, la chiave e l'area

Per effettuare correttamente chiamate al servizio Lingua usando l'estensione azure_ai, è necessario fornire l'endpoint del servizio e una chiave. I comandi seguenti illustrano come aggiungere le impostazioni alla tabella di configurazione azure_ai.settings.

SELECT azure_ai.set_setting('azure_cognitive.endpoint','{endpoint}');
SELECT azure_ai.set_setting('azure_cognitive.subscription_key', '{key}');
SELECT azure_ai.set_setting('azure_cognitive.region', '{region}');

Chiamare la funzione azure_cognitive.translate()

L'istruzione SQL seguente consente di tradurre una frase di esempio in inglese nell'equivalente in tedesco. Questa traduzione richiede l'estensione azure_ai e le impostazioni di estensione necessarie già presenti.

SELECT a.translations
FROM azure_cognitive.translate('Congratulations on successfully configuring Azure AI Translation!', 'de') a;

L'esecuzione di questo comando restituisce una risposta simile alla seguente.

                     translations                     
------------------------------------------------------------------------------------------------
 {"(de,\"Herzlichen Glückwunsch zur erfolgreichen Konfiguration der Azure AI-Übersetzung!\",)"}
(1 row)

È anche possibile eseguire la traduzione in più lingue in un'unica chiamata, passando una matrice di lingue di output.

SELECT (unnest(a.translations)).TARGET_LANGUAGE, (unnest(a.translations)).TEXT
FROM azure_cognitive.translate(text=>'Congratulations on successfully configuring Azure AI Translation!', target_language=>array['de', 'fr']) a;

Questo comando restituisce una riga per ogni lingua, incluse colonne separate per la lingua di destinazione e il testo di output.