和風網標誌

使用SQL函數通過Amazon Athena,Amazon Translate和Amazon Comprehend翻譯和分析文本

日期:

你有 亞馬遜簡單存儲服務 (Amazon S3)充滿了包含多種語言的包含傳入的客戶聊天,產品評論和社交媒體供稿的文件。 您的任務是識別人們正在談論的產品,確定他們是表達快樂的想法還是悲傷的想法,將他們的評論翻譯成一種通用語言,並為您的業務分析師創建數據副本,並在其中添加新信息每條記錄。 此外,您需要刪除任何個人身份信息(PII),例如姓名,地址和信用卡號。

您已經知道如何使用 亞馬遜雅典娜 使用簡單的SQL命令和Athena中的內置功能來轉換Amazon S3中的數據。 現在,您還可以使用Athena來翻譯和分析文本字段,這要歸功於 亞馬遜翻譯, 亞馬遜領悟以及Athena用戶定義函數(UDF)的功能。

Athena是一種交互式查詢服務,可輕鬆使用SQL分析存儲在Amazon S3中的數據。 Amazon Comprehend是一種自然語言處理(NLP)服務,可輕鬆從文本中發現見解。 Amazon Translate是一種神經機器翻譯服務,可提供快速,高質量,負擔得起且可自定義的語言翻譯。 在這篇文章中,我向您展示如何現在可以一起使用它們來執行以下操作:

  • 檢測文本字段的主要語言
  • 檢測所表達的普遍情緒-正面,負面,兩者都不存在或兩者皆有
  • 檢測或編輯實體(例如項目,地點或數量)
  • 檢測或編輯PII
  • 將文本從一種語言翻譯成另一種語言

這篇文章實現了以下目標:

  • 向您展示如何在您自己的AWS賬戶中快速設置文本分析功能(快速簡便!)
  • 簡要說明功能如何工作
  • 討論性能和成本
  • 提供一個教程,在其中我們可以對亞馬遜產品評論進行一些文本分析
  • 描述所有可用功能

我們在帖子末尾列出了所有可用功能的列表; 以下代碼顯示了一些示例查詢和結果:

USING FUNCTION detect_sentiment(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment('I am very happy', 'en') as sentiment sentiment POSITIVE USING FUNCTION detect_pii_entities(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_pii_entities('I am Bob, I live in Herndon VA, and I love cars', 'en') as pii pii [["NAME","Bob"],["ADDRESS","Herndon VA"]] USING FUNCTION redact_pii_entities(text_col VARCHAR, lang VARCHAR, type VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT redact_pii_entities('I am Bob, I live in Herndon VA, and I love cars', 'en', 'NAME,ADDRESS') as pii_redacted pii_redacted I am [NAME], I live in [ADDRESS], and I love cars USING FUNCTION translate_text(text_col VARCHAR, sourcelang VARCHAR, targetlang VARCHAR, terminologyname VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT translate_text('It is a beautiful day in the neighborhood', 'auto', 'fr', NULL) as translated_text translated_text C'est une belle journée dans le quartier

安裝文本分析UDF

雅典娜UDF使用 AWS Lambda 實現功能能力。 在本文的後面,我將討論更多詳細信息,但是您無需了解使用文本分析UDF的內部工作原理,因此讓我們開始吧。

通過以下步驟安裝預構建的Lambda函數:

  1. 導航到 文本分析UDFHandler 在中的應用 AWS無服務器應用程序存儲庫.
  2. 在裡面 應用程序設置 部分,將設置保留為默認設置。
  3. 選擇 我承認這個應用程式會建立自訂的IAM角色.
  4. 選擇 部署.

就是這樣! 現在您有了一個新的Lambda函數,名為 textanalytics-udf。 您已準備好在Athena中嘗試一些文本分析查詢。

如果您更喜歡從源代碼構建和部署,請參閱本文檔末尾的說明。 GitHub存儲庫README.

運行您的第一個文本分析查詢

如果您是雅典娜的新手,則可能需要查看 輕鬆入門 指南。

在撰寫本文時,Athena UDF功能仍處於預覽狀態。 要啟用它,請創建一個名為Athena的工作組。 AmazonAthenaPreviewFunctionality 並運行該工作組中的所有UDF查詢。

在SQL編輯器中輸入以下查詢:

USING FUNCTION detect_sentiment(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment('I am very happy', 'en') as sentiment

你得到一個簡單的 POSITIVE 結果。 現在,再試一次,改變輸入文本-嘗試一些不太積極的嘗試,以查看返回的情感值如何變化。

要獲取每個潛在情感值的情感以及置信度得分,請改用以下查詢:

USING FUNCTION detect_sentiment_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment_all('I am very happy', 'en') as sentiment

現在,您將獲得一個包含情感和所有情感分數的JSON字符串:

{"sentiment":"POSITIVE","sentimentScore":{"positive":0.999519,"negative":7.407639E-5,"neutral":2.7478999E-4,"mixed":1.3210243E-4}}

您可以使用 內置JSON提取功能 在雅典娜上就這一結果提取出領域進行進一步分析。

UDF的工作方式

有關Athena UDF框架的更多信息,請參見 使用用戶定義的函數進行查詢.

Java類 文本分析UDFHandler 實現我們的UDF Lambda函數處理程序。 此類中的每個文本分析功能都有一個對應的公共方法。

雅典娜使用成批的輸入記錄來調用我們的UDF Lambda函數。 這 TextAnalyticsUDFHandler 將這些批次細分為最多25行的較小批次,以利用可用的Amazon Comprehend同步多文檔批次API(例如,用於檢測語言,實體和情感)。 如果沒有可用的同步多文檔API(例如 DetectPiiEntityTranslateText),我們改用單文檔API。

亞馬遜理解 API 服務配額 提供護欄以限制因無意的高使用而造成的成本損失(我們將在下一節中對此進行更多討論)。 默認情況下,多文檔批處理API每秒處理多達250條記錄,而單文檔API每秒處理多達20條記錄。 我們的UDF使用指數補償,然後重試以限制請求速率以保持在這些限制之內。 您可以使用以下方法請求增加API的每秒交易配額 配額請求模板 AWS管理控制台.

Amazon Comprehend和Amazon Translate均強制執行最大輸入字符串長度5,000 utf-8字節。 長度超過5,000 utf-8字節的文本字段將被截斷為5,000字節,以進行語言和情感檢測,並在句子邊界上拆分為多個5,000字節以下的文本塊,以進行翻譯以及實體或PII檢測和編輯。 然後將結果合併。

優化成本

除了Athena查詢費用外,文本分析UDF還會產生Lambda,Amazon Comprehend和Amazon Translate的使用費用。 您支付的金額是您使用UDF處理的記錄和字符總數的一個因素。 有關更多信息,請參見 AWS Lambda定價, 亞馬遜全面定價亞馬遜翻譯定價.

為了最大限度地降低成本,我建議您避免多次處理相同的記錄。 相反,通過使用 CREATE TABLE AS SELECT (CTAS) 查詢將結果捕獲到單獨的表中來實現文本分析 UDF 的結果,然後您可以根據需要經濟高效地查詢該表,而不會產生額外的 UDF 費用。 使用 INSERT IGNORE INTO...SELECT 查詢以增量方式處理新到達的記錄,以僅分析和豐富新記錄並將它們添加到目標表中。

避免不必要地在隨後將要丟棄的記錄上調用文本分析功能。 編寫查詢以首先使用臨時表,視圖或嵌套查詢來過濾數據集,然後將文本分析功能應用於生成的過濾記錄。

在具有大量記錄的表上運行文本分析查詢之前,請始終評估潛在成本。

在本節中,我們提供了兩個示例成本評估。

示例1:分析推文的語言和情感

假設您有10,000條Tweet記錄,平均每條Tweet長度為100個字符。 您的SQL查詢會檢測每條推文的主要語言和情感。 您正處於服務的第二年(免費套餐不再適用)。 成本明細如下:

  • 每條推文的大小= 100個字符
  • 每條記錄的單位數(100個字符)(最少為3個單位)= 3
  • 總單位:10,000(記錄)x 3(每條記錄的單位)x 2(每條記錄的Amazon Comprehend請求)= 60,000
  • 每單位價格= $ 0.0001
  • Amazon Comprehend的總成本= [單位數量] x [每單位成本] = 60,000 x $ 0.0001 = $ 6.00 

示例2:翻譯推文

假設您的推文中有2,000條不是您的本地語言,因此您運行第二個SQL查詢來翻譯它們。 成本明細如下:

  • 每條推文的大小= 100個字符
  • 總字符數:2,000(記錄)* 100(每條記錄的字符)x 1(每條記錄的翻譯請求)= 200,000
  • 每個角色的價格= $ 0.000015
  • Amazon Translate的總成本= [字符數] x [每個字符的成本] = 200,000 x $ 0.000015 = $ 3.00

分析來自客戶評論的見解

現在該使用我們的新文本分析查詢了。

有關從客戶評論中獲取可行見解的教程,請參見 教程:使用Amazon Comprehend分析來自客戶評論的見解。 這篇文章為解決同樣的挑戰提供了另一種方法:使用由Athena和Amazon Comprehend支持的SQL查詢。

本教程大約需要10分鐘才能完成,Amazon Comprehend的費用最多為6美元-如果您有資格獲得免費套餐,則無需花費任何費用。

在雅典娜創建一個新的數據庫

在Athena查詢編輯器中運行以下查詢:

CREATE DATABASE IF NOT EXISTS comprehendresults;

連接數據源時,請選擇新數據庫。

創建一個包含客戶評論數據的源表

我們使用 亞馬遜客戶評論數據集,方便託管在Amazon S3中以供公共訪問。

  1. 在Athena查詢編輯器中運行以下查詢:
    CREATE EXTERNAL TABLE amazon_reviews_parquet( marketplace string, customer_id string, review_id string, product_id string, product_parent string, product_title string, star_rating int, helpful_votes int, total_votes int, vine string, verified_purchase string, review_headline string, review_body string, review_date bigint, year int)
    PARTITIONED BY (product_category string)
    ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
    LOCATION 's3://amazon-reviews-pds/parquet/'
    

  1. ,找到新表amazon_reviews_parquet。
  2. 從選項菜單中選擇 加載分區.
  1. 預覽新表格, amazon_reviews_parquet.
  1. 運行以下查詢以評估平均審閱時間:
    SELECT AVG(LENGTH(review_body)) AS average_review_length FROM amazon_reviews_parquet

平均評論長度約為365個字符。 這等於每條記錄4個Amazon Comprehend單位(1個單位= 100個字符)。

檢測每條評論的語言

要檢測每條評論的語言,請在Athena查詢編輯器中運行以下查詢-運行時間僅需1分鐘多,費用為2美元:

CREATE TABLE amazon_reviews_with_language WITH (format='parquet') AS
USING FUNCTION detect_dominant_language(col1 VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf')
SELECT *, detect_dominant_language(review_body) AS language
FROM amazon_reviews_parquet
LIMIT 5000

該查詢創建一個新表, amazon_reviews_with_language,並添加了一個新列: language。 LIMIT子句將記錄數限制為5,000。

成本計算為:5,000(記錄)x 4(每條記錄的單位)x 1(每條記錄的請求)x $ 0.0001(每單位的Amazon Comprehend價格)= $ 2。 

運行以下查詢以查看檢測到的語言代碼,以及每種語言的相應評論數:

SELECT language, count(*) AS count FROM amazon_reviews_with_language GROUP BY language ORDER BY count DESC

檢測每次評論的情緒和實體

要檢測情感,請在Athena查詢編輯器中運行以下查詢-它使用兩個文本分析功能,運行大約需要1分鐘,費用為4美元:

CREATE TABLE amazon_reviews_with_text_analysis WITH (format='parquet') AS
USING FUNCTION detect_sentiment_all(col1 VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf'), FUNCTION detect_entities_all(col1 VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf')
SELECT *, detect_sentiment_all(review_body, language) AS sentiment, detect_entities_all(review_body, language) AS entities
FROM amazon_reviews_with_language
WHERE language IN ('ar', 'hi', 'ko', 'zh-TW', 'ja', 'zh', 'de', 'pt', 'en', 'it', 'fr', 'es')

該查詢創建一個新表, amazon_reviews_with_text_analysis,並增加了兩列: sentimententities。 WHERE子句將結果集限制為Amazon Comprehend情感和實體檢測支持的語言列表。

成本計算為:5,000(記錄)x 4(每條記錄的單位)x 2(每條記錄的請求)x $ 0.0001(每單位的Amazon Comprehend價格)= $ 4。

預覽新表並檢查新表的一些值 sentimententities 列。 它們包含具有嵌套結構和字段的JSON字符串。

以下屏幕截圖顯示了 sentiment 列詳細信息。

以下屏幕截圖顯示了實體列的詳細信息。

接下來,我們使用Athena中的JSON函數準備這些列以進行分析。

準備分析情緒

運行以下SQL查詢以創建一個新表,其中包含情感和情感分數擴展為單獨的列:

CREATE TABLE sentiment_results_final WITH (format='parquet') AS
SELECT review_date, year, product_title, star_rating, language, CAST(JSON_EXTRACT(sentiment,'$.sentiment') AS VARCHAR) AS sentiment, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.positive') AS DOUBLE ) AS positive_score, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.negative') AS DOUBLE ) AS negative_score, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.neutral') AS DOUBLE ) AS neutral_score, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.mixed') AS DOUBLE ) AS mixed_score, review_headline, review_body
FROM amazon_reviews_with_text_analysis

預覽新 sentiment_results_final 表(請參見以下屏幕截圖)。 情緒總體上是否與 review_body 場地? 它與 star_rating? 如果發現任何可疑的情緒分配,請檢查置信度分數,以查看是否以低置信度分配了情緒。

準備實體進行分析

運行以下SQL查詢以創建一個新表,該表包含未嵌套到單獨行中的檢測到的實體(內部子查詢),每個字段都在單獨的列中(外部查詢):

CREATE TABLE entities_results_final WITH (format='parquet') AS
SELECT review_date, year, product_title, star_rating, language, CAST(JSON_EXTRACT(entity_element, '$.text') AS VARCHAR ) AS entity, CAST(JSON_EXTRACT(entity_element, '$.type') AS VARCHAR ) AS category, CAST(JSON_EXTRACT(entity_element, '$.score') AS DOUBLE ) AS score, CAST(JSON_EXTRACT(entity_element, '$.beginOffset') AS INTEGER ) AS beginoffset, CAST(JSON_EXTRACT(entity_element, '$.endOffset') AS INTEGER ) AS endoffset, review_headline, review_body
FROM
( SELECT * FROM ( SELECT *, CAST(JSON_PARSE(entities) AS ARRAY(json)) AS entities_array FROM amazon_reviews_with_text_analysis ) CROSS JOIN UNNEST(entities_array) AS t(entity_element)
)

預覽新表的內容, entities_results_final (請參見以下屏幕截圖).

在Amazon QuickSight中可視化(可選)

作為可選步驟,您可以使用 亞馬遜QuickSight。 有關說明,請參見 步驟5:在Amazon QuickSight中可視化Amazon理解的輸出.

您可以將新的詞云視覺類型用於實體,而不是樹狀圖。 在字云圖表菜單中,選擇 隱藏“其他”類別.

現在,您將獲得一個具有情感和實體可視化效果的儀表板,其外觀類似於以下屏幕截圖。

疑難排除

如果查詢失敗,請檢查 亞馬遜CloudWatch UDF Lambda函數生成的指標和日誌。

  1. 在Lambda控制台上,找到 textanalytics-udf 的功能。
  2. 選擇 監控.

您可以查看CloudWatch指標,該指標顯示功能運行的頻率,運行時間,失敗的頻率等等。

  1. 選擇 在CloudWatch中查看日誌 打開功能日誌流以獲取其他故障排除信息。

有關通過Lambda查看CloudWatch指標的更多信息,請參閱 使用Lambda控制台.

其他用例

SQL文本分析功能有很多用例。 除了本文中顯示的示例之外,請考慮以下內容:

  • 通過使用增量SQL查詢來豐富帶有情感和實體的文本數據(例如,由BAC提取的流式社交媒體流)來簡化ETL管道 亞馬遜 Kinesis 數據流水線
  • 使用SQL查詢來探索客戶支持文本,電子郵件和支持案例中的觀點和實體
  • 通過編輯來自客戶或患者互動的PII,準備可用於研究的數據集
  • 將多種語言標準化為一種通用語言

對於這些功能,您可能還有其他用例,或者您希望看到其他功能,例如:

  • 調用Amazon Comprehend中的自定義實體識別和自定義分類模型的SQL函數
  • 用於取消標識的SQL函數-擴展實體和PII編輯功能,以使用備用唯一標識符替換實體

此外,該實現是開源的,這意味著您可以克隆倉庫,根據需要修改和擴展功能,並(希望)向我們發送拉取請求,以便我們將您的改進合併到項目中並使其更好地用於每個人。

打掃乾淨

完成本教程後,您可能想要清除不再使用的任何AWS資源。 有效的AWS資源可能會繼續在您的賬戶中產生費用。

  1. 在Athena中,運行以下查詢以刪除數據庫和所有表:
    DROP DATABASE comprehendresults CASCADE

  1. 在AWS CloudFormation中,刪除堆棧 serverlessrepo-TextAnalyticsUDFHandler.
  2. 取消您的QuickSight訂閱.

結論

我已向您展示瞭如何為Athena安裝示例文本分析UDF Lambda函數,以便您可以使用簡單的SQL查詢通過Amazon Translate翻譯文本,使用Amazon Comprehend從文本生成見解以及編輯敏感信息。 我希望您覺得這很有用,並分享一些示例,說明如何使用它來簡化體系結構並為您的業務實現新功能。

請在“評論”部分或該項目的“問題”部分與我們分享您的想法 GitHub存儲庫.

附錄:可用功能參考

本節總結了當前提供的功能。 這 自述 文件提供了其他詳細信息。

檢測語言

此功能使用Amazon Comprehend 批量檢測主導語言 用於根據輸入文本的前5,000個字節識別主導語言的API。

以下代碼返回語言代碼,例如fr表示法語,en表示英語。

USING FUNCTION detect_dominant_language(text_col VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_dominant_language('il fait beau à Orlando') as language

以下代碼返回JSON格式的語言代碼數組和相應的置信度得分:

USING FUNCTION detect_dominant_language_all(text_col VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_dominant_language_all('il fait beau à Orlando') as language_all

檢測情緒

此功能使用Amazon Comprehend 批量檢測情緒 用於根據輸入文本的前5,000個字節識別情感的API。

以下代碼返回正,負,中立或混合的情緒:

USING FUNCTION detect_sentiment(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment('Joe is very happy', 'en') as sentiment

以下代碼返回一個JSON格式的對象,其中包含檢測到的情緒和每個情緒值的置信度得分:

USING FUNCTION detect_sentiment_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment_all('Joe is very happy', 'en') as sentiment_all

檢測實體

此功能使用Amazon Comprehend 檢測實體 識別PII的API。 輸入文本超過5,000字節會導致多個Amazon Comprehend API調用。

以下代碼返回一個JSON格式的對象,該對象包含一個數組 實體類型 和值:

USING FUNCTION detect_entities(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_entities('His name is Joe, he lives in Richmond VA, he bought an Amazon Echo Show on January 5th, and he loves it', 'en') as entities

以下代碼返回一個JSON格式的對象,該對象包含PII實體類型的數組及其值,分數和字符偏移量:

USING FUNCTION detect_entities_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_entities_all('His name is Joe, he lives in Richmond VA, he bought an Amazon Echo Show on January 5th, and he loves it', 'en') as entities_all

編輯實體

此函數將指定實體類型的實體值替換為“[ENTITY_TYPE]”。 長度超過5,000字節的輸入文本將導致多個Amazon Comprehend API調用。 請參見以下代碼:

USING FUNCTION redact_entities(text_col VARCHAR, lang VARCHAR, types VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT redact_entities('His name is Joe, he lives in Richmond VA, he bought an Amazon Echo Show on January 5th, and he loves it', 'en', 'ALL') as entities_redacted

該命令在輸入字符串上返回修訂版本。 指定一個或多個 實體類型 通過提供逗號分隔的有效列表來進行修訂 types 在類型字符串參數中,或 ALL 編輯所有類型。

檢測PII

此功能使用 檢測Pii實體 識別PII的API。 輸入文本超過5,000字節會導致多個Amazon Comprehend API調用。

以下代碼返回一個JSON格式的對象,該對象包含一個數組 PII實體類型 和值:

USING FUNCTION detect_pii_entities(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_pii_entities('His name is Joe, his username is joe123 and he lives in Richmond VA', 'en') as pii

以下代碼返回一個JSON格式的對象,該對象包含PII實體類型的數組及其得分和字符偏移量:

USING FUNCTION detect_pii_entities_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_pii_entities_all('His name is Joe, his username is joe123 and he lives in Richmond VA', 'en') as pii_all

編輯PII

該函數將指定的PII實體類型的PII值替換為“[PII_ENTITY_TYPE]”。 長度超過5,000字節的輸入文本將導致多個Amazon Comprehend API調用。 請參見以下代碼:

USING FUNCTION redact_pii_entities(text_col VARCHAR, lang VARCHAR, types VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT redact_pii_entities('His name is Joe, his username is joe123 and he lives in Richmond VA', 'en', 'ALL') as pii_redacted

該函數在輸入字符串上返回修訂版本。 指定一個或多個 PII實體類型 通過在列表中提供逗號分隔的有效類型列表來進行修訂 type 字符串參數,或 ALL 編輯所有類型。

翻譯文字

此功能將文本從源語言轉換為目標語言。 輸入文本超過5,000字節會導致多個Amazon Translate API調用。 請參見以下代碼:

USING FUNCTION translate_text(text_col VARCHAR, sourcelang VARCHAR, targetlang VARCHAR, customterminologyname VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT translate_text('It is a beautiful day in the neighborhood', 'auto', 'fr', NULL) as translated_text

該函數返回翻譯後的字符串。 (可選)自動檢測源語言(使用auto作為語言代碼,使用Amazon Comprehend),並可選地指定一個 習慣術語 (否則使用 NULL 對於 customTerminologyName).


關於作者

鮑勃·斯特拉漢鮑勃·斯特拉漢 是AWS Language AI Services團隊的首席解決方案架構師。

來源:https://aws.amazon.com/blogs/machine-learning/translate-and-analyze-text-using-sql-functions-with-amazon-athena-amazon-translate-and-amazon-comprehend/

現貨圖片

最新情報

現貨圖片