檢閱 Azure 認知結構描述

已完成

Azure AI 語言服務提供功能強大的工具和生成式 AI 語言模型,以使用文字資料。 azure_ai 延伸模組 azure_cognitive 結構描述中的整合可讓您存取這組豐富的自然語言理解和處理功能,並直接從資料庫存取。 這些功能包括情感分析、語言偵測和翻譯、關鍵片語擷取、實體辨識和文字摘要。 以下是重要的層面:

情感分析可預測指定的文字情緒 (正面、負面或中性)。 其會將信賴分數指派給每個情感標籤,協助您了解使用者產生的內容、評論或社交媒體文章的情感基調。

語言偵測會識別撰寫文字所使用的語言。 這對多語系應用程式或內容篩選等案例很有幫助。

摘要會產生較長文字的精簡摘要。 從文章、文件或冗長的段落中擷取重要資訊相當重要。

關鍵片語擷取會識別文件內的重要詞彙或片語。 其有助於內容分類、搜尋編製索引和主題模型化。

實體擷取涉及識別文字中的實體,例如名稱、地點、日期、電子郵件地址等。其中包含數個功能,包括實體連結和 PII (個人識別資訊) 偵測。

文字翻譯會在支援的來源與目標語言之間執行文字翻譯。

azure_cognitive 結構描述

azure_ai 延伸模組內的 azure_cognitive 結構描述旨在直接從 PostgreSQL 資料庫與 Azure AI 語言服務進行互動。 結構描述包含許多使用者定義函式 (UDF) 和複合類型。

函式

可用的函式可啟用情感分析、語言偵測和翻譯、關鍵片語和實體擷取,以及文字摘要。

名稱 描述
analyze_sentiment 藉由採礦文字以取得正面或負面情感線索來執行情感分析。
detect_language 偵測所提供文字的語言。
extract_key_phrases 擷取文字中的主要概念。
linked_entities 識別並釐清文字中所找到實體的身分識別。
recognize_entities 識別文字中的實體。
recognize_pii_entities 識別、分類及修訂非結構化文字中的敏感性資訊。
summarize_abstractive 建立新的原始內容來產生摘要,此內容代表文字中找到的重要概念。
summarize_extractive 識別文字內的重要句子,以及使用這些句子來代表基本概念,藉此產生摘要。
translate 將文字翻譯成指定的語言。

複合類型

azure_cognitive 結構描述內的複合類型會處理各種函式的傳回值。 這些類型提供處理語言服務所傳回物件所需的結構,包括:

  • azure_cognitive.detected_language
  • azure_cognitive.entity
  • azure_cognitive.language_detection_result
  • azure_cognitive.linked_entity
  • azure_cognitive.linked_entity_match
  • azure_cognitive.pii_entity_recognition_result
  • azure_cognitive.sentence
  • azure_cognitive.sentiment_analysis_result
  • azure_cognitive.translated_text_result
  • azure_cognitive.translation
  • azure_cognitive.transliterated_text

您可以從 psql 命令提示字元使用 \dT 中繼命令,更詳細地檢查復合類型。 例如:

\dT+ azure_cognitive.translated_text_result

若要進一步深入探討複合類型,顯示所有資料行、其類型和任何特殊屬性,您可以使用 `\ d' 中繼命令

\d+ azure_cognitive.translated_text_result

這個指令會輸出包含指定傳回型別的資料行、類型和其他詳細資料的資料表:

               Composite type "azure_cognitive.translated_text_result"
      Column       |                Type               | Collation | Nullable | Default | Storage  | Description 
-------------------+-----------------------------------+-----------+----------+---------+----------+-------------
 translations      | azure_cognitive.translation[]     |           |          |         | extended | 
 detected_language | azure_cognitive.detected_language |           |          |         | extended | 
 source_text       | text                              |           |          |         | extended |

設定語言服務端點和金鑰

如同 azure_openai 函式,您必須提供服務的端點和金鑰,才能使用 azure_ai 延伸模組成功對語言服務進行呼叫。 下列命令示範如何將設定新增至 azure_ai.settings 設定資料表。

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

如果使用 translate 函式執行文字翻譯,您也必須在設定延伸模組與 Azure AI 服務的連線時提供區域:

-- the region setting is only required for the translate function
select azure_ai.set_setting('azure_cognitive.region', '{region}');