Rövid útmutató: Hívás utáni átírás és elemzés
A Language Service dokumentációja | Language Studio | A Speech Service dokumentációja | Speech Studio
Ebben a C#-rövid útmutatóban hangulatelemzést és beszélgetések összegzését hajtja végre a call center átirataiból. A minta automatikusan azonosítja, kategorizálja és újrafedi a bizalmas információkat. A rövid útmutató egy szolgáltatásközi forgatókönyvet valósít meg, amely az Azure Cognitive Speech és az Azure Cognitive Language szolgáltatások funkcióit használja.
Tipp
Próbálja ki a Language Studiót vagy a Speech Studiót , ahol megtudhatja, hogyan elemezheti a call center-beszélgetéseket a Language and Speech services használatával.
Ha kód nélküli megközelítéssel szeretne üzembe helyezni egy call center-átírási megoldást az Azure-ban, próbálkozzon a betöltési ügyféllel.
A rövid útmutató az alábbi Azure AI-szolgáltatásokat használja a Speech szolgáltatáshoz:
- Kötegelt átírás: Hangfájlok kötegének elküldése átírásra.
- Hangszórók elkülönítése: Több hangszóró elkülönítése mono 16khz-es 16 bites PCM wav fájlok diarizálásával.
A Language szolgáltatás a következő funkciókat kínálja:
- Személyazonosításra alkalmas adatok kinyerése és újrabontása: Bizalmas információk azonosítása, kategorizálása és ismételt kiírása a beszélgetés átírásában.
- Beszélgetés összegzése: Összegezze absztrakt szövegben, hogy az egyes beszélgetési résztvevők mit mondtak a problémákról és a megoldásokról. A call center például csoportosíthatja a nagy mennyiségű termékekkel kapcsolatos problémákat.
- Hangulatelemzés és véleménybányászat: Elemezheti az átiratokat, és pozitív, semleges vagy negatív hangulatot társíthat a kimondott szöveg és a beszélgetés szintjén.
Előfeltételek
- Azure-előfizetés – Ingyenes létrehozás
- Többszolgáltatásos erőforrás létrehozása a Azure Portal. Ehhez a rövid útmutatóhoz csak egy többszolgáltatásos Azure AI-szolgáltatásokra van szükség. A mintakód lehetővé teszi a és Speech-erőforráskulcsok megadását.
- Szerezze be az erőforráskulcsot és a régiót. Az Azure AI-szolgáltatások erőforrásának üzembe helyezése után válassza az Erőforrás megnyitása lehetőséget a kulcsok megtekintéséhez és kezeléséhez. További információ az Azure AI-szolgáltatások erőforrásairól: Az erőforrás kulcsainak lekérése.
Fontos
Ehhez a rövid útmutatóhoz hozzáférésre van szükség a beszélgetések összegzéséhez. A hozzáféréshez be kell küldenie egy online kérelmet , és jóvá kell hagynia.
A --languageKey
rövid útmutatóban szereplő és --languageEndpoint
értékeknek meg kell felelnie egy olyan erőforrásnak, amely a beszélgetés-összefoglaló API által támogatott régiók egyikében található: eastus
, northeurope
és uksouth
.
Hívásátírás utáni elemzés futtatása C-vel#
Kövesse ezeket a lépéseket a hívásátírás-elemzés gyorsútmutató-példa létrehozásához és futtatásához.
Másolja a scenarios/csharp/dotnetcore/call-center/ mintafájlokat a GitHubról. Ha telepítve van a Git, nyisson meg egy parancssort, és futtassa a
git clone
parancsot a Speech SDK-minták adattárának letöltéséhez.git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
Nyisson meg egy parancssort, és váltson a projektkönyvtárra.
cd <your-local-path>/scenarios/csharp/dotnetcore/call-center/call-center/
Hozza létre a projektet a .NET CLI-vel.
dotnet build
Futtassa az alkalmazást az előnyben részesített parancssori argumentumokkal. A rendelkezésre álló lehetőségekért tekintse meg a használatot és az argumentumokat .
Íme egy példa, amely egy példa hangfájlból ír át a GitHubon:
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
Ha már rendelkezik átírással a bemenethez, íme egy példa, amely csak egy nyelvi erőforrást igényel:
dotnet run --languageKey YourResourceKey --languageEndpoint YourResourceEndpoint --jsonInput "YourTranscriptionFile.json" --stereo --output summary.json
Cserélje le
YourResourceKey
a elemet az Azure AI-szolgáltatások erőforráskulcsára, a helyéreYourResourceRegion
az Azure AI-szolgáltatások erőforrásrégióját (példáuleastus
), és a helyéreYourResourceEndpoint
az Azure AI-szolgáltatások végpontját. Győződjön meg arról, hogy a és--output
által--input
megadott elérési utak érvényesek. Ellenkező esetben módosítania kell az elérési utakat.Fontos
Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vault. További információért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.
Eredmények ellenőrzése
A konzol kimenete a teljes beszélgetést és összegzést jeleníti meg. Íme egy példa az általános összegzésre, a rövidség kedvéért:
Conversation summary:
issue: Customer wants to sign up for insurance.
resolution: Customer was advised that customer would be contacted by the insurance company.
Ha megadja a --output FILE
választható argumentumot, a rendszer az eredmények JSON-verzióját írja a fájlba. A fájlkimenet a kötegelt átírás (Speech), a hangulat (nyelv) és a beszélgetés-összegzési (Language) API-k JSON-válaszainak kombinációja.
A transcription
tulajdonság egy JSON-objektumot tartalmaz, amely a kötegelt átírással egyesített hangulatelemzés eredményeit tartalmazza. Íme egy példa, a rövidség kedvéért:
{
"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
}
A conversationAnalyticsResults
tulajdonság egy JSON-objektumot tartalmaz, amely a beszélgetési PII és a beszélgetések összegzési elemzésének eredményeit tartalmazza. Íme egy példa, a rövidség kedvéért:
{
"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": []
}
]
}
}
}
Használat és argumentumok
Használat: call-center -- [...]
Fontos
Használhatja az többszolgáltatásos erőforrást , vagy különálló nyelv és Speech-erőforrásokat . A és --languageEndpoint
az értéknek mindkét esetben meg kell felelnie egy olyan erőforrásnak, --languageKey
amely a beszélgetés-összefoglaló API által támogatott régiók egyikében található: eastus
, northeurope
és uksouth
.
A kapcsolati lehetőségek a következők:
--speechKey KEY
: Azure vagy Speech-erőforráskulcs. A hangátíráshoz szükséges a--input
forrás URL-cím beállítással.--speechRegion REGION
: Azure Azure AI-szolgáltatások vagy Speech-erőforrás régiója. A hangátíráshoz szükséges a--input
forrás URL-cím beállítással. Példák:eastus
,northeurope
--languageKey KEY
: Azure Azure AI-szolgáltatások vagy nyelvi erőforráskulcs. Kötelező.--languageEndpoint ENDPOINT
: Azure Azure AI-szolgáltatások vagy erőforrásvégpont. Kötelező. Például:https://YourResourceName.cognitiveservices.azure.com
A bemeneti lehetőségek a következők:
--input URL
: Hangbevitel URL-címről. A vagy--jsonInput
a--input
beállítást kell megadnia.--jsonInput FILE
: Adjon meg egy meglévő kötegelt átírási JSON-eredményt a FILE fájlból. Ezzel a beállítással csak egy nyelvi erőforrásra van szüksége egy már meglévő átírás feldolgozásához. Ezzel a beállítással nincs szükség hangfájlra vagy Speech-erőforrásra. Felülbírálások--input
. A vagy--jsonInput
a--input
beállítást kell megadnia.--stereo
: Azt jelzi, hogy a "bemeneti URL-címen" keresztüli hangnak sztereó formátumban kell lennie. Ha nincs megadva sztereó, akkor a rendszer mono 16khz-es, 16 bites PCM wav-fájlokat feltételez. A mono fájlok diarizációja több hangszóró elválasztására szolgál. A sztereó fájlok diarizálása nem támogatott, mivel a kétcsatornás sztereó fájloknak csatornánként már egy hangszóróval kell rendelkezniük.--certificate
: A PEM-tanúsítványfájl. A C++-hoz szükséges.
A nyelvi lehetőségek a következők:
--language LANGUAGE
: A hangulatelemzéshez és a beszélgetéselemzéshez használandó nyelv. Ennek az értéknek kétbetűs ISO 639-1 kódnak kell lennie. Az alapértelmezett értéken
.--locale LOCALE
: A hang kötegelt átírásához használandó területi beállítás. Az alapértelmezett értéken-US
.
A kimeneti lehetőségek a következők:
--help
: A használati súgó megjelenítése és leállítása--output FILE
: Adja ki az átiratot, a hangulatot, a beszélgetési PII-t és a beszélgetési összefoglalókat JSON formátumban egy szövegfájlba. További információkért lásd a kimeneti példákat.
Az erőforrások eltávolítása
A létrehozott Azure AI-szolgáltatások erőforrásának eltávolításához használhatja a Azure Portal vagy az Azure parancssori felületét (CLI).