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 行を返します。