Rychlý start: Přepis a analýza po volání
Dokumentace ke | službě languageLanguage Studio | Dokumentace ke | službě SpeechSpeech Studio
V tomto rychlém startu v jazyce C# provedete analýzu mínění a shrnutí konverzací přepisů z call centra . Ukázka automaticky identifikuje, kategorizuje a rediguje citlivé informace. Rychlý start implementuje scénář napříč službami, který využívá funkce služeb Azure Cognitive Speech a Azure Cognitive Language Services.
Tip
Vyzkoušejte jazykové studio nebo Speech Studio a předvedte si, jak používat služby Language a Speech k analýze konverzací v call centru.
Pokud chcete nasadit řešení přepisu call center do Azure bez kódu, zkuste klienta příjmu dat.
V tomto rychlém startu se používají následující služby Azure AI pro funkce speech:
- Dávkový přepis: Odešlete k přepisu dávku zvukových souborů.
- Oddělení reproduktorů: Oddělte více reproduktorů diarizací mono 16kHz 16bitových souborů PCM wav.
Služba Language nabízí následující funkce, které se používají:
- Extrakce a redigování identifikovatelných osobních údajů(PII): Identifikujte, kategorizujete a redigujte citlivé informace v přepisu konverzace.
- Shrnutí konverzací: Shrnutí v abstraktním textu, co každý účastník konverzace řekl o problémech a řešeních. Například call centrum může seskupit problémy s produkty, které mají velký objem.
- Analýza mínění a dolování názorů: Analyzujte přepisy a přidružujte pozitivní, neutrální nebo negativní mínění na úrovni promluvy a konverzace.
Požadavky
- Předplatné Azure – Vytvořte si ho zdarma
- : V Azure Portal vytvořte prostředek s více službami. Tento rychlý start vyžaduje pouze jeden prostředek služby Azure AI s více službami. Ukázkový kód umožňuje zadat samostatné klíče jazyk a .
- Získejte klíč prostředku a oblast. Po nasazení prostředku služeb Azure AI vyberte Přejít k prostředku a zobrazte a spravujte klíče. Další informace o prostředcích služeb Azure AI najdete v tématu Získání klíčů pro váš prostředek.
Důležité
Tento rychlý start vyžaduje přístup ke shrnutí konverzací. Pokud chcete získat přístup, musíte odeslat online žádost a nechat ji schválit.
Hodnoty --languageKey
a --languageEndpoint
v tomto rychlém startu musí odpovídat prostředku, který je v jedné z oblastí podporovaných rozhraním API pro souhrn konverzací: eastus
, northeurope
a uksouth
.
Spuštění analýzy přepisu po volání pomocí jazyka C#
Postupujte podle těchto kroků a sestavte a spusťte příklad rychlého zprovoznění kódu analýzy přepisu po volání.
Zkopírujte ukázkové soubory scenarios/csharp/dotnetcore/call-center/ z GitHubu. Pokud máte nainstalovaný Git, otevřete příkazový řádek a spuštěním
git clone
příkazu stáhněte úložiště ukázek sady Speech SDK.git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
Otevřete příkazový řádek a přejděte do adresáře projektu.
cd <your-local-path>/scenarios/csharp/dotnetcore/call-center/call-center/
Sestavte projekt pomocí rozhraní příkazového řádku .NET.
dotnet build
Spusťte aplikaci s upřednostňovanými argumenty příkazového řádku. Projděte si informace o využití a argumentech dostupných možností.
Tady je příklad, který přepisuje z ukázkového zvukového souboru na GitHubu:
dotnet run --languageKey YourResourceKey --languageEndpoint YourResourceEndpoint --speechKey YourResourceKey --speechRegion YourResourceRegion --input "https://github.com/Azure-Samples/cognitive-services-speech-sdk/raw/master/scenarios/call-center/sampledata/Call1_separated_16k_health_insurance.wav" --stereo --output summary.json
Pokud už máte přepis pro vstup, tady je příklad, který vyžaduje pouze prostředek Jazyk:
dotnet run --languageKey YourResourceKey --languageEndpoint YourResourceEndpoint --jsonInput "YourTranscriptionFile.json" --stereo --output summary.json
Nahraďte
YourResourceKey
klíčem prostředku služeb Azure AI, nahraďteYourResourceRegion
oblastí prostředků služeb Azure AI (napříkladeastus
) a nahraďteYourResourceEndpoint
koncovým bodem služeb Azure AI. Ujistěte se, že cesty zadané a--input
--output
jsou platné. V opačném případě je nutné změnit cesty.Důležité
Až budete hotovi, nezapomeňte klíč z kódu odebrat a nikdy ho nezveřejníte. V produkčním prostředí použijte zabezpečený způsob ukládání a přístupu k přihlašovacím údajům, jako je Azure Key Vault. Další informace najdete v článku zabezpečení služeb Azure AI.
Kontrola výsledků
Výstup konzoly zobrazuje úplnou konverzaci a souhrn. Tady je příklad celkového souhrnu s redakcemi pro stručnost:
Conversation summary:
issue: Customer wants to sign up for insurance.
resolution: Customer was advised that customer would be contacted by the insurance company.
Pokud zadáte --output FILE
volitelný argument, zapíše se do souboru verze výsledků JSON. Výstup souboru je kombinací odpovědí JSON z rozhraní API dávkového přepisu (Speech), mínění (jazyk) a sumarizace konverzací (jazyk).
Vlastnost transcription
obsahuje objekt JSON s výsledky analýzy mínění sloučené s dávkovým přepisem. Tady je příklad s redakcemi pro stručnost:
{
"source": "https://github.com/Azure-Samples/cognitive-services-speech-sdk/raw/master/scenarios/call-center/sampledata/Call1_separated_16k_health_insurance.wav",
// Example results redacted for brevity
"nBest": [
{
"confidence": 0.77464247,
"lexical": "hello thank you for calling contoso who am i speaking with today",
"itn": "hello thank you for calling contoso who am i speaking with today",
"maskedITN": "hello thank you for calling contoso who am i speaking with today",
"display": "Hello, thank you for calling Contoso. Who am I speaking with today?",
"sentiment": {
"positive": 0.78,
"neutral": 0.21,
"negative": 0.01
}
},
]
// Example results redacted for brevity
}
Vlastnost conversationAnalyticsResults
obsahuje objekt JSON s výsledky pii konverzace a analýzy souhrnu konverzací. Tady je příklad s redakcemi pro stručnost:
{
"conversationAnalyticsResults": {
"conversationSummaryResults": {
"conversations": [
{
"id": "conversation1",
"summaries": [
{
"aspect": "issue",
"text": "Customer wants to sign up for insurance"
},
{
"aspect": "resolution",
"text": "Customer was advised that customer would be contacted by the insurance company"
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-05-15-preview"
},
"conversationPiiResults": {
"combinedRedactedContent": [
{
"channel": "0",
"display": "Hello, thank you for calling Contoso. Who am I speaking with today? Hi, ****. Uh, are you calling because you need health insurance?", // Example results redacted for brevity
"itn": "hello thank you for calling contoso who am i speaking with today hi **** uh are you calling because you need health insurance", // Example results redacted for brevity
"lexical": "hello thank you for calling contoso who am i speaking with today hi **** uh are you calling because you need health insurance" // Example results redacted for brevity
},
{
"channel": "1",
"display": "Hi, my name is **********. I'm trying to enroll myself with Contoso. Yes. Yeah, I'm calling to sign up for insurance.", // Example results redacted for brevity
"itn": "hi my name is ********** i'm trying to enroll myself with contoso yes yeah i'm calling to sign up for insurance", // Example results redacted for brevity
"lexical": "hi my name is ********** i'm trying to enroll myself with contoso yes yeah i'm calling to sign up for insurance" // Example results redacted for brevity
}
],
"conversations": [
{
"id": "conversation1",
"conversationItems": [
{
"id": "0",
"redactedContent": {
"itn": "hello thank you for calling contoso who am i speaking with today",
"lexical": "hello thank you for calling contoso who am i speaking with today",
"text": "Hello, thank you for calling Contoso. Who am I speaking with today?"
},
"entities": [],
"channel": "0",
"offset": "PT0.77S"
},
{
"id": "1",
"redactedContent": {
"itn": "hi my name is ********** i'm trying to enroll myself with contoso",
"lexical": "hi my name is ********** i'm trying to enroll myself with contoso",
"text": "Hi, my name is **********. I'm trying to enroll myself with Contoso."
},
"entities": [
{
"text": "Mary Rondo",
"category": "Name",
"offset": 15,
"length": 10,
"confidenceScore": 0.97
}
],
"channel": "1",
"offset": "PT4.55S"
},
{
"id": "2",
"redactedContent": {
"itn": "hi **** uh are you calling because you need health insurance",
"lexical": "hi **** uh are you calling because you need health insurance",
"text": "Hi, ****. Uh, are you calling because you need health insurance?"
},
"entities": [
{
"text": "Mary",
"category": "Name",
"offset": 4,
"length": 4,
"confidenceScore": 0.93
}
],
"channel": "0",
"offset": "PT9.55S"
},
{
"id": "3",
"redactedContent": {
"itn": "yes yeah i'm calling to sign up for insurance",
"lexical": "yes yeah i'm calling to sign up for insurance",
"text": "Yes. Yeah, I'm calling to sign up for insurance."
},
"entities": [],
"channel": "1",
"offset": "PT13.09S"
},
// Example results redacted for brevity
],
"warnings": []
}
]
}
}
}
Použití a argumenty
Použití: call-center -- [...]
Důležité
Můžete použít položky s více službami nebo samostatné položky Jazyk a Prostředky řeči . V obou případech musí hodnoty a --languageEndpoint
odpovídat prostředku, --languageKey
který je v jedné z oblastí podporovaných rozhraním API pro souhrn konverzací: eastus
, northeurope
a uksouth
.
Mezi možnosti připojení patří:
--speechKey KEY
: Azure AI nebo Vytvoření klíče Vyžaduje se pro přepisy zvuku--input
s možností z adresy URL.--speechRegion REGION
: Vytvoření Azure AI nebo Vytvoření oblasti prostředku . Vyžaduje se pro přepisy zvuku--input
s možností z adresy URL. Příklady:eastus
,northeurope
--languageKey KEY
: Azure AI nebo Vytvoření klíče prostředku jazyka. Povinná hodnota.--languageEndpoint ENDPOINT
: Vytvoření . Povinná hodnota. Příklad:https://YourResourceName.cognitiveservices.azure.com
Mezi vstupní možnosti patří:
--input URL
: Zadejte zvuk z adresy URL. Musíte nastavit možnost nebo--input
--jsonInput
.--jsonInput FILE
: Zadejte existující výsledek JSON dávkového přepisu ze SOUBORU. S touto možností potřebujete pouze prostředek jazyka ke zpracování přepisu, který už máte. S touto možností nepotřebujete zvukový soubor ani prostředek služby Speech.--input
Přepíše . Musíte nastavit možnost nebo--input
--jsonInput
.--stereo
: Označuje, že zvuk prostřednictvím vstupní adresy URL by měl být ve stereofonní podobě. Pokud stereo není zadáno, předpokládá se, že se předpokládá mono 16kHz 16bitové soubory PCM wav. Diarizace mono souborů slouží k oddělení více reproduktorů. Diarizace stereo souborů není podporovaná, protože 2kanálové stereo soubory by již měly mít jeden reproduktor na kanál.--certificate
: Soubor certifikátu PEM. Vyžaduje se pro C++.
Mezi jazykové možnosti patří:
--language LANGUAGE
: Jazyk, který se má použít pro analýzu mínění a analýzu konverzací. Tato hodnota by měla být dvoumísmenný kód ISO 639-1. Výchozí hodnota jeen
.--locale LOCALE
: Národní prostředí, které se má použít pro dávkový přepis zvuku. Výchozí hodnota jeen-US
.
Mezi možnosti výstupu patří:
--help
: Zobrazit nápovědu k používání a zastavit--output FILE
: Vypište přepis, mínění, pii konverzace a souhrny konverzací ve formátu JSON do textového souboru. Další informace najdete v příkladech výstupu.
Vyčištění prostředků
K odebrání prostředku služby Azure AI, který jste vytvořili, můžete použít Azure Portal nebo rozhraní příkazového řádku (CLI) Azure.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro