目標情緒 - Amazon Comprehend

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

目標情緒

鎖定目標情緒可讓您精細瞭解輸入文件中與特定實體 (例如品牌或產品) 相關聯的情緒。

目標情緒和情緒之間的差異在於輸出資料中的粒度層級。情緒分析會決定每個輸入文件的主要情緒,但不提供資料以供進一步分析。目標情緒分析會決定每個輸入文件中特定實體的實體層級情緒。您可以分析輸出數據,以確定獲得正面或負面反饋的特定產品和服務。

例如,在一組餐廳評論中,顧客提供了以下評論:「炸玉米餅很美味,工作人員很友好。」 對此審查進行分析會產生以下結果:

  • 情緒分析會決定每個餐廳評論的整體情緒為正面、負面、中立或混合。在此範例中,整體情緒是正面的。

  • 目標情緒分析會決定顧客在評論中提及的餐廳實體和屬性的情緒。在這個例子中,客戶對「炸玉米餅」和「員工」做出了積極的評論。

目標情緒會為每個分析工作提供下列輸出:

  • 在文件中提到的實體的身份。

  • 每個實體提及的實體類型分類。

  • 每個實體提及的情緒分數和情緒分數。

  • 對應於單一實體的提及群組 (共同參照群組)。

您可以使用主控台API 執行目標情緒分析。主控台和 API 支援針對目標情緒的即時分析和非同步分析。

Amazon Comprehend 支援英文文件的目標情緒。

如需有關目標情緒的其他資訊 (包括教學課程),請參閱AWS機器學習部落格中的 Amazon Comprehend 目標情緒以文字擷取精細情緒。

圖元類型

目標情緒可識別下列實體類型。它分配實體類型 OTHER 如果實體不屬於任何其他類別。輸出檔案中的每個實體提及都包括實體類型,例如"Type": "PERSON"

實體類型定義
實體類型 定義
例子包括個人,人群,暱稱,虛構人物和動物名稱。
LOCATION 地理位置,如國家, 城市, 州, 地址, 地質構造, 水體, 自然地標, 和天文位置.
組織 例子包括政府,公司,體育隊和宗教。
設施 建築物、機場、公路、橋樑和其他永久性人造結構和房地產改善工程。
品牌 特定商業項目或產品系列的組織、群組或製造者。
商業項目 任何非通用可購買或取得的物品,包括車輛,以及只生產一件物品的大型產品。
電影 電影或電視節目。實體可以是全名、暱稱或副標題。
音樂 全部或部分歌曲。此外,個別音樂創作的集合,例如專輯或選集。
一本書,專業出版或自行出版。
軟體 正式發行的軟體產品。
遊戲 遊戲,例如視頻遊戲,棋盤遊戲,常見遊戲或運動。
個人標題 官方頭銜和榮譽,例如總統,博士或博士。
EVENT 例子包括節日,音樂會,選舉,戰爭,會議和促銷活動。
DATE 對日期或時間的任何引用,無論是特定的還是一般的,無論是絕對還是相對的。
數量 所有測量及其單位(貨幣,百分比,數字,字節等)。
ATTRIBUTE 實體的屬性,特徵或特徵,例如產品的「質量」,電話的「價格」或 CPU 的「速度」。
OTHER 不屬於任何其他類別的實體。

共同參考群組

目標情緒可識別每個輸入文件中的共同參照群組。共同參照群組是文件中對應於一個真實實體的提及群組。

在下列客戶檢閱範例中,「spa」是具有實體類型的實體FACILITY。該實體還有另外兩個提及作為代詞(「it」)。

目標情緒共同參考群組。

輸出文件組織

目標情緒分析工作會建立 JSON 文字輸出檔案。該文件包含每個輸入文檔的一個 JSON 對象。每個 JSON 物件都包含下列欄位:

  • 實體 — 在文件中找到的實體陣列。

  • 檔案 — 輸入文件的檔案名稱。

  • — 如果輸入檔案是每行一個文件,則實體會包含檔案中文件的行號。

注意

如果目標情緒未識別輸入文字中的任何實體,則會傳回空白陣列作為「實體」結果。

下列範例顯示具有三行輸入之輸入檔案的實體。輸入格式為 ONE_DOC_PER_LINE,因此每一行輸入都是一個文檔。

{ "Entities":[ {entityA}, {entityB}, {entityC} ], "File": "TargetSentimentInputDocs.txt", "Line": 0 } { "Entities": [ {entityD}, {entityE} ], "File": "TargetSentimentInputDocs.txt", "Line": 1 } { "Entities": [ {entityF}, {entityG} ], "File": "TargetSentimentInputDocs.txt", "Line": 2 }

Entity 陣列中的體包括文件中偵測到的實體提及的邏輯群組 (稱為共同參照群組)。每個實體具有以下整體結構:

{"DescriptiveMentionIndex": [0], "Mentions": [ {mentionD}, {mentionE} ] }

實體包含下列欄位:

  • 提及 — 文件中實體提及的陣列。陣列代表共同參照群組。如需範例,請參閱共同參考群組。「提及」陣列中提及的順序就是它們在文件中的位置 (偏移) 順序。每個提及都包含該提及的情緒分數和群組分數。群組分數表示這些提及屬於相同實體的信賴等級。

  • DescriptiveMentionIndex—「提及」陣列中的一或多個索引,可為實體群組提供最佳名稱。例如,一個實體可以有三個提及文字值「ABC 酒店」、「ABC 酒店」和「它」。最好的名字是「ABC 酒店」,其 DescriptiveMentionIndex 值為 [0,1]。

每個提及包括以下字段

  • BeginOffset— 文件文字中提及開始處的偏移量。

  • EndOffset— 文件文字中提及結束處的偏移量。

  • GroupScore— 該組中提到的所有實體與相同實體相關的信心。

  • 文字 — 文件中識別實體的文字。

  • 類型 — 實體的類型。Amazon Comprehend 支援多種實體類型。

  • 分數 — 實體相關的模型信賴度。值範圍是零到一,其中一個是最高可信度。

  • MentionSentiment— 包含提及的情緒和情緒分數。

  • 情緒 — 提及的情緒。值包括:正面、中性、負面和混合。

  • SentimentScore— 為每個可能的情緒提供模型信心。值範圍是零到一,其中一個是最高可信度。

值具有下列意義:

  • 正面 — 實體提及表達了積極的情緒。

  • 負面 — 實體提及表示負面情緒。

  • 混合-實體提及表達了積極和消極的情緒。

  • 中立-實體提及不表達正面或負面的情緒。

在下列範例中,實體在輸入文件中只有一個提及,因此 DescriptiveMentionIndex為零 (「提及」陣列中的第一個提及)。識別的實體是名稱為「I」的個人。 情緒分數是中立的。

{"Entities":[ { "DescriptiveMentionIndex": [0], "Mentions": [ { "BeginOffset": 0, "EndOffset": 1, "Score": 0.999997, "GroupScore": 1, "Text": "I", "Type": "PERSON", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0, "Negative": 0, "Neutral": 1, "Positive": 0 } } } ] } ], "File": "Input.txt", "Line": 0 }

使用主控台進行即時分析

您可以使用 Amazon Comprehend 主控台即時執目標情緒行。使用範例文字,或將自己的文字貼到輸入文字方塊中,然後選擇「分析」。

在「深入解析」面板中,主控台會顯示目標情緒分析的三種檢視:

  • 分析文字 — 顯示分析的文字並為每個實體加底線。底線的顏色表示分析指派給實體的情緒值 (正面、中性、負面或混合)。控制台在分析文本框的右上角顯示顏色映射。如果您將游標停留在實體上,主控台會顯示包含實體分析值 (實體類型、情緒分數) 的快顯面板。

  • 結果 — 顯示一個表格,其中包含文字中識別的每個實體提及的列。對於每個實體,此表格會顯示實體和實體分數。此列也包含主要情緒和每個情緒值的分數。如果同一個實體有多個提及 (稱為 a共同參考群組),表格會將這些提及顯示為與主實體相關聯的可摺疊資料列集。

    如果您將游標暫留在「結果」表格中的實體列上,則主控台會在「已分析」文字面板中反白顯示實體提及。

  • 應用程式整合 — 顯示 API 請求的參數值,以及 API 回應中傳回的 JSON 物件結構。如需 JSON 物件中欄位的說明,請參閱輸出文件組織

主控台即時分析範例

此範例使用下列文字做為 input,這是主控台提供的預設輸入文字。

Hello Zhang Wei, I am John. Your AnyCompany Financial Services, LLC credit card account 1111-0000-1111-0008 has a minimum payment of $24.53 that is due by July 31st. Based on your autopay settings, we will withdraw your payment on the due date from your bank account number XXXXXX1111 with the routing number XXXXX0000. Customer feedback for Sunshine Spa, 123 Main St, Anywhere. Send comments to Alice at sunspa@mail.com. I enjoyed visiting the spa. It was very comfortable but it was also very expensive. The amenities were ok but the service made the spa a great experience.

已分析」文字面板會顯示此範例的下列輸出。將滑鼠移Zhang Wei至文字上方,即可檢視此實體的躍現式面板。

目標情緒分析文字。

結果」表格提供每個實體的其他詳細資訊,包括實體分數、主要情緒和每個情緒的分數。

目標情緒結果表格。

在我們的範例中,目標情緒分析會識別輸入文字中每一個提及,都是對個人實體張偉的參照。控制台將這些提及顯示為一組與主實體相關聯的可折疊行。

目標情緒結果表格。

應用程式整合」面板會顯示 DetectTargetedSentiment API 所產生的 JSON 物件。如需完整範例,請參閱下一節。

目標情緒輸出範例

下列範例顯示目標情緒分析工作的輸出檔案。輸入文件由三個簡單的文檔組成:

The burger was very flavorful and the burger bun was excellent. However, customer service was slow. My burger was good, and it was warm. The burger had plenty of toppings. The burger was cooked perfectly but it was cold. The service was OK.

此輸入檔案的目標情緒分析會產生下列輸出。

{"Entities":[ { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 4, "EndOffset": 10, "Score": 0.999991, "GroupScore": 1, "Text": "burger", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0, "Negative": 0, "Neutral": 0, "Positive": 1 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 38, "EndOffset": 44, "Score": 1, "GroupScore": 1, "Text": "burger", "Type": "OTHER", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0.000005, "Negative": 0.000005, "Neutral": 0.999591, "Positive": 0.000398 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 45, "EndOffset": 48, "Score": 0.961575, "GroupScore": 1, "Text": "bun", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0.000327, "Negative": 0.000286, "Neutral": 0.050269, "Positive": 0.949118 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 73, "EndOffset": 89, "Score": 0.999988, "GroupScore": 1, "Text": "customer service", "Type": "ATTRIBUTE", "MentionSentiment": { "Sentiment": "NEGATIVE", "SentimentScore": { "Mixed": 0.000001, "Negative": 0.999976, "Neutral": 0.000017, "Positive": 0.000006 } } } ] } ], "File": "TargetSentimentInputDocs.txt", "Line": 0 } { "Entities": [ { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 0, "EndOffset": 2, "Score": 0.99995, "GroupScore": 1, "Text": "My", "Type": "PERSON", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0, "Negative": 0, "Neutral": 1, "Positive": 0 } } } ] }, { "DescriptiveMentionIndex": [ 0, 2 ], "Mentions": [ { "BeginOffset": 3, "EndOffset": 9, "Score": 0.999999, "GroupScore": 1, "Text": "burger", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0.000002, "Negative": 0.000001, "Neutral": 0.000003, "Positive": 0.999994 } } }, { "BeginOffset": 24, "EndOffset": 26, "Score": 0.999756, "GroupScore": 0.999314, "Text": "it", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0, "Negative": 0.000003, "Neutral": 0.000006, "Positive": 0.999991 } } }, { "BeginOffset": 41, "EndOffset": 47, "Score": 1, "GroupScore": 0.531342, "Text": "burger", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0.000215, "Negative": 0.000094, "Neutral": 0.00008, "Positive": 0.999611 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 52, "EndOffset": 58, "Score": 0.965462, "GroupScore": 1, "Text": "plenty", "Type": "QUANTITY", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0, "Negative": 0, "Neutral": 1, "Positive": 0 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 62, "EndOffset": 70, "Score": 0.998353, "GroupScore": 1, "Text": "toppings", "Type": "OTHER", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0, "Negative": 0, "Neutral": 0.999964, "Positive": 0.000036 } } } ] } ], "File": "TargetSentimentInputDocs.txt", "Line": 1 } { "Entities": [ { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 4, "EndOffset": 10, "Score": 1, "GroupScore": 1, "Text": "burger", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0.001515, "Negative": 0.000822, "Neutral": 0.000243, "Positive": 0.99742 } } }, { "BeginOffset": 36, "EndOffset": 38, "Score": 0.999843, "GroupScore": 0.999661, "Text": "it", "Type": "OTHER", "MentionSentiment": { "Sentiment": "NEGATIVE", "SentimentScore": { "Mixed": 0, "Negative": 0.999996, "Neutral": 0.000004, "Positive": 0 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 53, "EndOffset": 60, "Score": 1, "GroupScore": 1, "Text": "service", "Type": "ATTRIBUTE", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0.000033, "Negative": 0.000089, "Neutral": 0.993325, "Positive": 0.006553 } } } ] } ], "File": "TargetSentimentInputDocs.txt", "Line": 2 } }