Share via


Så här använder du konversationssammanfattning

Viktigt!

Vår förhandsgranskningsregion, Sweden Central, visar upp våra senaste och ständigt växande LLM-finjusteringstekniker baserade på GPT-modeller. Du är välkommen att prova dem med en språkresurs i Sverige, centrala.

Konversationssammanfattning är endast tillgängligt med hjälp av:

  • REST-API
  • Python
  • C#

Aspekter av konversationssammanfattning

  • Kapitelrubrik och berättelse (allmän konversation) är utformade för att sammanfatta en konversation i kapitelrubriker och en sammanfattning av konversationens innehåll. Den här sammanfattningsaspekten fungerar i konversationer med valfritt antal parter.

  • Problem och lösning (kundtjänstfokuserad) är utformad för att sammanfatta chattloggar för text mellan kunder och kundtjänstagenter. Den här funktionen kan tillhandahålla både problem och lösningar som finns i dessa loggar, som inträffar mellan två parter.

  • Narrativ är utformat för att sammanfatta berättelsen om en konversation.

  • Sammanfattningen är utformad för att komprimera långa möten eller konversationer till en kortfattad sammanfattning av ett stycke för att ge en snabb översikt.

  • Uppföljningsuppgifter är utformade för att sammanfatta åtgärdsobjekt och uppgifter som uppstår under ett möte.

A diagram for sending data to the conversation summarization issues and resolution feature.

DE AI-modeller som används av API:et tillhandahålls av tjänsten, du behöver bara skicka innehåll för analys.

För enklare navigering finns här länkar till motsvarande avsnitt för varje tjänst:

Aspekt Avsnitt
Problem och lösning Problem och lösning
Kapitelrubrik Kapitelrubrik
Berättelse Berättelse
Sammanfattning och uppföljning Sammanfattning och uppföljning

Funktioner

API:et för konversationssammanfattning använder bearbetningstekniker för naturligt språk för att sammanfatta konversationer till kortare sammanfattningar per begäran. Konversationssammanfattning kan sammanfattas för problem och lösningar som diskuteras i en tvåpartskonversation eller sammanfatta en lång konversation i kapitel och en kort berättelse för varje kapitel.

Det finns en annan funktion i Azure AI Language med namnet dokumentsammanfattning som är mer lämplig för att sammanfatta dokument i kortfattade sammanfattningar. När du bestämmer dig för mellan dokumentsammanfattning och konversationssammanfattning bör du tänka på följande:

  • Indataformat: Konversationssammanfattning kan fungera på både chatttext- och talavskrifter, som har talare och deras yttranden. Dokumentsammanfattningen fungerar med enkla text- eller Word-, PDF- eller PowerPoint-format.
  • Syftet med sammanfattning: till exempel returnerar konversationsproblem och lösningssammanfattning en orsak och lösningen för en chatt mellan en kund och en kundtjänstagent.

Skicka data

Kommentar

Mer information om hur du formaterar konversationstext för att skicka med Language Studio finns i Language Studio-artikeln .

Du skickar dokument till API:et som textsträngar. Analysen utförs när begäran har tagits emot. Eftersom API:et är asynkront kan det uppstå en fördröjning mellan att skicka en API-begäran och ta emot resultaten. Information om storleken och antalet begäranden som du kan skicka per minut och sekund finns i datagränserna nedan.

När du använder den här funktionen är API-resultaten tillgängliga i 24 timmar från den tidpunkt då begäran matades in och anges i svaret. Efter den här tidsperioden rensas resultaten och är inte längre tillgängliga för hämtning.

När du skickar data till konversationssammanfattning rekommenderar vi att du skickar en chattlogg per begäran för bättre svarstid.

Hämta sammanfattningar från textchatter

Du kan använda konversationsproblem och lösningssammanfattning för att få sammanfattningar efter behov. Om du vill se ett exempel med hjälp av textchatter kan du läsa snabbstartsartikeln.

Hämta sammanfattningar från taltranskriptioner

Med sammanfattningen av konversationsproblem och lösningar kan du också hämta sammanfattningar från talavskrifter med hjälp av tal till text-funktionen i Speech-tjänsten. I följande exempel visas en kort konversation som du kan inkludera i dina API-begäranden.

"conversations":[
   {
      "id":"abcdefgh-1234-1234-1234-1234abcdefgh",
      "language":"en",
      "modality":"transcript",
      "conversationItems":[
         {
            "modality":"transcript",
            "participantId":"speaker",
            "id":"12345678-abcd-efgh-1234-abcd123456",
            "content":{
               "text":"Hi.",
               "lexical":"hi",
               "itn":"hi",
               "maskedItn":"hi",
               "audioTimings":[
                  {
                     "word":"hi",
                     "offset":4500000,
                     "duration":2800000
                  }
               ]
            }
         }
      ]
   }
]

Hämta kapitelrubriker

Sammanfattning av konversationskapitlets rubrik gör att du kan hämta kapitelrubriker från indatakonversationer. Ett guidat exempelscenario finns nedan:

  1. Kopiera kommandot nedan till en textredigerare. Bash-exemplet använder radfortsättningstecknet \ . Om konsolen eller terminalen använder ett annat radfortsättningstecken använder du det tecknet.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-conversations/jobs?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Conversation Task Example",
  "analysisInput": {
    "conversations": [
      {
        "conversationItems": [
          {
            "text": "Hello, you’re chatting with Rene. How may I help you?",
            "id": "1",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "Hi, I tried to set up wifi connection for Smart Brew 300 espresso machine, but it didn’t work.",
            "id": "2",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "I’m sorry to hear that. Let’s see what we can do to fix this issue. Could you please try the following steps for me? First, could you push the wifi connection button, hold for 3 seconds, then let me know if the power light is slowly blinking on and off every second?",
            "id": "3",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "Yes, I pushed the wifi connection button, and now the power light is slowly blinking.",
            "id": "4",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "Great. Thank you! Now, please check in your Contoso Coffee app. Does it prompt to ask you to connect with the machine? ",
            "id": "5",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "No. Nothing happened.",
            "id": "6",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "I’m very sorry to hear that. Let me see if there’s another way to fix the issue. Please hold on for a minute.",
            "id": "7",
            "role": "Agent",
            "participantId": "Agent_1"
          }
        ],
        "modality": "text",
        "id": "conversation1",
        "language": "en"
      }
    ]
  },
  "tasks": [
    {
      "taskName": "Conversation Task 1",
      "kind": "ConversationalSummarizationTask",
      "parameters": {
        "summaryAspects": [
          "chapterTitle"
        ]
      }
    }
  ]
}
'
  1. Gör följande ändringar i kommandot där det behövs:

    • Ersätt värdet your-value-language-key med din nyckel.
    • Ersätt den första delen av begärande-URL:en your-language-resource-endpoint med din slutpunkts-URL.
  2. Öppna ett kommandotolksfönster (till exempel: BASH).

  3. Klistra in kommandot från textredigeraren i kommandotolken och kör sedan kommandot .

  4. operation-location Hämta från svarshuvudet. Värdet ser ut ungefär som följande URL:

https://<your-language-resource-endpoint>/language/analyze-conversations/jobs/12345678-1234-1234-1234-12345678?api-version=2023-11-15-preview
  1. Använd följande cURL-kommando för att hämta resultatet av begäran. Ersätt <my-job-id> med det GUID-värde som du fick från föregående operation-location svarsrubrik:
curl -X GET https://<your-language-resource-endpoint>/language/analyze-conversations/jobs/<my-job-id>?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>"

Exempel på JSON-svar för sammanfattning av kapitelrubrik:

{
    "jobId": "b01af3b7-1870-460a-9e36-09af28d360a1",
    "lastUpdatedDateTime": "2023-11-15T18:24:26Z",
    "createdDateTime": "2023-11-15T18:24:23Z",
    "expirationDateTime": "2023-11-16T18:24:23Z",
    "status": "succeeded",
    "errors": [],
    "displayName": "Conversation Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "conversationalSummarizationResults",
                "taskName": "Conversation Task 1",
                "lastUpdateDateTime": "2023-11-15T18:24:26.3433677Z",
                "status": "succeeded",
                "results": {
                    "conversations": [
                        {
                            "summaries": [
                                {
                                    "aspect": "chapterTitle",
                                    "text": "\"Discussing the Problem of Smart Blend 300 Espresso Machine's Wi-Fi Connectivity\"",
                                    "contexts": [
                                        {
                                            "conversationItemId": "1",
                                            "offset": 0,
                                            "length": 53
                                        },
                                        {
                                            "conversationItemId": "2",
                                            "offset": 0,
                                            "length": 94
                                        },
                                        {
                                            "conversationItemId": "3",
                                            "offset": 0,
                                            "length": 266
                                        },
                                        {
                                            "conversationItemId": "4",
                                            "offset": 0,
                                            "length": 85
                                        },
                                        {
                                            "conversationItemId": "5",
                                            "offset": 0,
                                            "length": 119
                                        },
                                        {
                                            "conversationItemId": "6",
                                            "offset": 0,
                                            "length": 21
                                        },
                                        {
                                            "conversationItemId": "7",
                                            "offset": 0,
                                            "length": 109
                                        }
                                    ]
                                }
                            ],
                            "id": "conversation1",
                            "warnings": []
                        }
                    ],
                    "errors": [],
                    "modelVersion": "latest"
                }
            }
        ]
    }
}

För lång konversation kan modellen segmentera den i flera sammanhängande delar och sammanfatta varje segment. Det finns också ett långt contexts fält för varje sammanfattning, som anger från vilket intervall av indatakonversationen vi genererade sammanfattningen.

Hämta narrativ sammanfattning

Med konversationssammanfattning kan du också få narrativa sammanfattningar från indatakonversationer. Ett guidat exempelscenario finns nedan:

  1. Kopiera kommandot nedan till en textredigerare. Bash-exemplet använder radfortsättningstecknet \ . Om konsolen eller terminalen använder ett annat radfortsättningstecken använder du det tecknet.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-conversations/jobs?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Conversation Task Example",
  "analysisInput": {
    "conversations": [
      {
        "conversationItems": [
          {
            "text": "Hello, you’re chatting with Rene. How may I help you?",
            "id": "1",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "Hi, I tried to set up wifi connection for Smart Brew 300 espresso machine, but it didn’t work.",
            "id": "2",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "I’m sorry to hear that. Let’s see what we can do to fix this issue. Could you please try the following steps for me? First, could you push the wifi connection button, hold for 3 seconds, then let me know if the power light is slowly blinking on and off every second?",
            "id": "3",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "Yes, I pushed the wifi connection button, and now the power light is slowly blinking.",
            "id": "4",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "Great. Thank you! Now, please check in your Contoso Coffee app. Does it prompt to ask you to connect with the machine? ",
            "id": "5",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "No. Nothing happened.",
            "id": "6",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "I’m very sorry to hear that. Let me see if there’s another way to fix the issue. Please hold on for a minute.",
            "id": "7",
            "role": "Agent",
            "participantId": "Agent_1"
          }
        ],
        "modality": "text",
        "id": "conversation1",
        "language": "en"
      }
    ]
  },
  "tasks": [
    {
      "taskName": "Conversation Task 1",
      "kind": "ConversationalSummarizationTask",
      "parameters": {
        "summaryAspects": [
          "narrative"
        ]
      }
    }
  ]
}
'
  1. Gör följande ändringar i kommandot där det behövs:

    • Ersätt värdet your-language-resource-key med din nyckel.
    • Ersätt den första delen av begärande-URL:en your-language-resource-endpoint med din slutpunkts-URL.
  2. Öppna ett kommandotolksfönster (till exempel: BASH).

  3. Klistra in kommandot från textredigeraren i kommandotolken och kör sedan kommandot .

  4. operation-location Hämta från svarshuvudet. Värdet ser ut ungefär som följande URL:

https://<your-language-resource-endpoint>/language/analyze-conversations/jobs/12345678-1234-1234-1234-12345678?api-version=2023-11-15-preview
  1. Använd följande cURL-kommando för att hämta resultatet av en begäran. Ersätt <my-job-id> med det GUID-värde som du fick från föregående operation-location svarsrubrik:
curl -X GET https://<your-language-resource-endpoint>/language/analyze-conversations/jobs/<my-job-id>?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>"

Exempel på JSON-svar för narrativsammanfattning:

{
  "jobId": "d874a98c-bf31-4ac5-8b94-5c236f786754",
  "lastUpdatedDateTime": "2022-09-29T17:36:42Z",
  "createdDateTime": "2022-09-29T17:36:39Z",
  "expirationDateTime": "2022-09-30T17:36:39Z",
  "status": "succeeded",
  "errors": [],
  "displayName": "Conversation Task Example",
  "tasks": {
    "completed": 1,
    "failed": 0,
    "inProgress": 0,
    "total": 1,
    "items": [
      {
        "kind": "conversationalSummarizationResults",
        "taskName": "Conversation Task 1",
        "lastUpdateDateTime": "2022-09-29T17:36:42.895694Z",
        "status": "succeeded",
        "results": {
          "conversations": [
            {
              "summaries": [
                {
                  "aspect": "narrative",
                  "text": "Agent_1 helps customer to set up wifi connection for Smart Brew 300 espresso machine.",
                  "contexts": [
                    { "conversationItemId": "1", "offset": 0, "length": 53 },
                    { "conversationItemId": "2", "offset": 0, "length": 94 },
                    { "conversationItemId": "3", "offset": 0, "length": 266 },
                    { "conversationItemId": "4", "offset": 0, "length": 85 },
                    { "conversationItemId": "5", "offset": 0, "length": 119 },
                    { "conversationItemId": "6", "offset": 0, "length": 21 },
                    { "conversationItemId": "7", "offset": 0, "length": 109 }
                  ]
                }
              ],
              "id": "conversation1",
              "warnings": []
            }
          ],
          "errors": [],
          "modelVersion": "latest"
        }
      }
    ]
  }
}

För lång konversation kan modellen segmentera den i flera sammanhängande delar och sammanfatta varje segment. Det finns också ett långt contexts fält för varje sammanfattning, som anger från vilket intervall av indatakonversationen vi genererade sammanfattningen.

Få sammanfattning och uppföljning av uppgiftssammanfattning

Med konversationssammanfattning kan du också få sammanfattningar och uppföljningsuppgifter från indatakonversationer. Ett guidat exempelscenario finns nedan:

  1. Kopiera kommandot nedan till en textredigerare. Bash-exemplet använder radfortsättningstecknet \ . Om konsolen eller terminalen använder ett annat radfortsättningstecken använder du det tecknet.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-conversations/jobs?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Conversation Task Example",
  "analysisInput": {
    "conversations": [
      {
        "conversationItems": [
          {
            "text": "Hello, you’re chatting with Rene. How may I help you?",
            "id": "1",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "Hi, I tried to set up wifi connection for Smart Brew 300 espresso machine, but it didn’t work.",
            "id": "2",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "I’m sorry to hear that. Let’s see what we can do to fix this issue. Could you please try the following steps for me? First, could you push the wifi connection button, hold for 3 seconds, then let me know if the power light is slowly blinking on and off every second?",
            "id": "3",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "Yes, I pushed the wifi connection button, and now the power light is slowly blinking.",
            "id": "4",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "Great. Thank you! Now, please check in your Contoso Coffee app. Does it prompt to ask you to connect with the machine? ",
            "id": "5",
            "role": "Agent",
            "participantId": "Agent_1"
          },
          {
            "text": "No. Nothing happened.",
            "id": "6",
            "role": "Customer",
            "participantId": "Customer_1"
          },
          {
            "text": "I’m very sorry to hear that. Let me see if there’s another way to fix the issue. Please hold on for a minute.",
            "id": "7",
            "role": "Agent",
            "participantId": "Agent_1"
          }
        ],
        "modality": "text",
        "id": "conversation1",
        "language": "en"
      }
    ]
  },
  "tasks": [
    {
      "taskName": "Conversation Task 1",
      "kind": "ConversationalSummarizationTask",
      "parameters": {
        "summaryAspects": [
          "recap",
          "follow-up tasks"
        ]
      }
    }
  ]
}
'
  1. Gör följande ändringar i kommandot där det behövs:

    • Ersätt värdet your-language-resource-key med din nyckel.
    • Ersätt den första delen av begärande-URL:en your-language-resource-endpoint med din slutpunkts-URL.
  2. Öppna ett kommandotolksfönster (till exempel: BASH).

  3. Klistra in kommandot från textredigeraren i kommandotolken och kör sedan kommandot .

  4. operation-location Hämta från svarshuvudet. Värdet ser ut ungefär som följande URL:

https://<your-language-resource-endpoint>/language/analyze-conversations/jobs/12345678-1234-1234-1234-12345678?api-version=2023-11-15-preview
  1. Använd följande cURL-kommando för att hämta resultatet av en begäran. Ersätt <my-job-id> med det GUID-värde som du fick från föregående operation-location svarsrubrik:
curl -X GET https://<your-language-resource-endpoint>/language/analyze-conversations/jobs/<my-job-id>?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>"

Exempel på JSON-svar för sammanfattning och uppföljning:

{
    "jobId": "e585d097-c19a-466e-8f99-a9646e55b1f5",
    "lastUpdatedDateTime": "2023-11-15T18:19:56Z",
    "createdDateTime": "2023-11-15T18:19:53Z",
    "expirationDateTime": "2023-11-16T18:19:53Z",
    "status": "succeeded",
    "errors": [],
    "displayName": "Conversation Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "conversationalSummarizationResults",
                "taskName": "Conversation Task 1",
                "lastUpdateDateTime": "2023-11-15T18:19:56.1801785Z",
                "status": "succeeded",
                "results": {
                    "conversations": [
                        {
                            "summaries": [
                                {
                                    "aspect": "recap",
                                    "text": "The customer contacted the service agent, Rene, regarding an issue with setting up a wifi connection for their Smart Brew 300 espresso machine. The agent guided the customer through several steps, including pushing the wifi connection button and checking if the power light was blinking. However, the customer reported that no prompts were received in the Contoso Coffee app to connect with the machine. The agent then decided to look for another solution.",
                                    "contexts": [
                                        {
                                            "conversationItemId": "1",
                                            "offset": 0,
                                            "length": 53
                                        },
                                        {
                                            "conversationItemId": "2",
                                            "offset": 0,
                                            "length": 94
                                        },
                                        {
                                            "conversationItemId": "3",
                                            "offset": 0,
                                            "length": 266
                                        },
                                        {
                                            "conversationItemId": "4",
                                            "offset": 0,
                                            "length": 85
                                        },
                                        {
                                            "conversationItemId": "5",
                                            "offset": 0,
                                            "length": 119
                                        },
                                        {
                                            "conversationItemId": "6",
                                            "offset": 0,
                                            "length": 21
                                        },
                                        {
                                            "conversationItemId": "7",
                                            "offset": 0,
                                            "length": 109
                                        }
                                    ]
                                },
                                {
                                    "aspect": "Follow-Up Tasks",
                                    "text": "@Agent_1 will ask the customer to push the wifi connection button, hold for 3 seconds, then check if the power light is slowly blinking on and off every second."
                                },
                                {
                                    "aspect": "Follow-Up Tasks",
                                    "text": "@Agent_1 will ask the customer to check in the Contoso Coffee app if it prompts to connect with the machine."
                                },
                                {
                                    "aspect": "Follow-Up Tasks",
                                    "text": "@Agent_1 will investigate another way to fix the issue."
                                }
                            ],
                            "id": "conversation1",
                            "warnings": []
                        }
                    ],
                    "errors": [],
                    "modelVersion": "latest"
                }
            }
        ]
    }
}

För lång konversation kan modellen segmentera den i flera sammanhängande delar och sammanfatta varje segment. Det finns också ett långt contexts fält för varje sammanfattning, som anger från vilket intervall av indatakonversationen vi genererade sammanfattningen.

Få resultat av konversationsproblem och lösningssammanfattning

Följande text är ett exempel på innehåll som du kan skicka för konversationsproblem och lösningssammanfattning. Det här är bara ett exempel. API:et kan acceptera längre indatatext. Mer information finns i datagränser .

Agent: "Hej, hur kan jag hjälpa dig?"

Kund: "Hur kan jag uppgradera min Contoso-prenumeration? Jag har försökt hela dagen.

Agent: "Tryck på uppgraderingsknappen och logga sedan in och följ anvisningarna."

Sammanfattningen utförs vid mottagandet av begäran genom att skapa ett jobb för API-serverdelen. Om jobbet lyckades returneras utdata från API:et. Utdata är tillgängliga för hämtning i 24 timmar. Efter den här tiden rensas utdata. På grund av stöd för flerspråkiga och emojis kan svaret innehålla textförskjutningar. Mer information finns i bearbeta förskjutningar .

I exemplet ovan kan API:et returnera följande sammanfattade meningar:

Sammanfattad text Aspekt
"Kunden vill uppgradera sin prenumeration. Kunden vet inte hur." Frågan
"Kunden måste trycka på uppgraderingsknappen och logga in." Upplösning

Se även