Azure Database for PostgreSQL でデータを変換する
azure_ai拡張機能での翻訳
Azure AI Language サービスは、テキスト データを操作するための強力なツールとモデルを提供します。
azure_cognitive
拡張機能の azure_ai
スキーマの統合により、データベースから直接アクセスできる、この豊富な自然言語理解機能と処理機能にアクセスできます。 これらの機能の 1 つに、translate()
関数を使用してテキストを翻訳する機能が含まれます。
azure_cognitive.translate()
関数
言語翻訳は、azure_cognitive.translate()
関数で使用できます。 この関数は、入力テキストと、それを翻訳する 1 つ以上の言語を受け入れます。 この関数は、ソース言語を自動的に検出するか、入力テキストのソース言語を割り当てることができます。
この関数は、Azure AI Translator サービスの 応答本文に基づいて構築されたテーブルを返します。 この応答には、次の列が含まれます。
名前 | 説明 |
---|---|
translations |
ターゲット言語と翻訳されたテキストの組み合わせごとに 1 つのタプルを含む JSON オブジェクト。 |
detected_language |
言語は、自動言語検出に基づいています。
source_language 入力パラメーターを使用して言語を指定した場合、このパラメーターは NULL に設定されます。 |
source_text |
ソース言語の既定のスクリプトの入力テキストを含むオブジェクト。 このオプションは、言語の通常のスクリプトではないスクリプトで入力が表現されている場合にのみ使用できます。 たとえば、タイ語のテキストがラテン文字で記述された場合などです。 |
翻訳サービスエンドポイント、キー、リージョンを設定する
azure_ai
拡張機能を使用して言語サービスに対して呼び出しを正常に行うには、サービスのエンドポイントとキーを指定する必要があります。 次のコマンドは、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}');
azure_cognitive.translate()
関数の呼び出し
次の SQL ステートメントを使用すると、英語のサンプル フレーズをドイツ語で同等の語句に翻訳できます。 この翻訳には、azure_ai
拡張機能と必要な拡張機能の設定が既に設定されている必要があります。
SELECT a.translations
FROM azure_cognitive.translate('Congratulations on successfully configuring Azure AI Translation!', 'de') a;
このコマンドを実行すると、次のような応答が返されます。
translations
------------------------------------------------------------------------------------------------
{"(de,\"Herzlichen Glückwunsch zur erfolgreichen Konfiguration der Azure AI-Übersetzung!\",)"}
(1 row)
出力言語の配列を渡すことで、1 回の呼び出しで複数の言語への翻訳を実行することもできます。
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;
このコマンドは、ターゲット言語と出力テキストの個別の列を含め、言語ごとに 1 行を返します。