Aracılığıyla paylaş


Hızlı Başlangıç: Arama sonrası transkripsiyon ve analiz

Dil hizmeti belgeleri | Language Studio | Konuşma hizmeti belgeleri | Speech Studio

Bu C# hızlı başlangıcında, çağrı merkezi transkripsiyonlarının yaklaşım analizini ve konuşma özetlemeyi gerçekleştireceksiniz. Örnek, hassas bilgileri otomatik olarak belirler, kategorilere ayırır ve yeniden oluşturur. Hızlı başlangıçta Azure Bilişsel Konuşma ve Azure Bilişsel Dil hizmetlerinin özelliklerini kullanan bir hizmetler arası senaryo uygulanır.

İpucu

Dil ve Konuşma hizmetlerini kullanarak arama merkezi konuşmalarını analiz etme hakkında bir tanıtım için Language Studio'yu veya Speech Studio'yu deneyin.

Kod içermeyen bir yaklaşımla Azure'a bir çağrı merkezi transkripsiyonu çözümü dağıtmak için Alma İstemcisi'ni deneyin.

Konuşma özellikleri için aşağıdaki Azure AI hizmetleri hızlı başlangıçta kullanılır:

Dil hizmeti, kullanılan aşağıdaki özellikleri sunar:

Önkoşullar

Önemli

Bu hızlı başlangıç için konuşma özetlemesine erişim gerekir. Erişim elde etmek için çevrimiçi bir istek göndermeniz ve bunu onaylamanız gerekir.

--languageKey Bu hızlı başlangıçtaki ve --languageEndpoint değerleri, konuşma özetleme API'sinin desteklediği bölgelerden birinde yer alan bir kaynağa karşılık olmalıdır: eastus, northeuropeve uksouth.

C ile çağrı sonrası transkripsiyon analizi çalıştırma#

Çağrı sonrası transkripsiyon analizi hızlı başlangıç kod örneğini derlemek ve çalıştırmak için bu adımları izleyin.

  1. GitHub'dan senaryoları/csharp/dotnetcore/call-center/ örnek dosyalarını kopyalayın. Git yüklüyse, bir komut istemi açın ve Konuşma SDK'sı git clone örnekleri deposunu indirmek için komutunu çalıştırın.

    git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
    
  2. Bir komut istemi açın ve proje dizinine geçin.

    cd <your-local-path>/scenarios/csharp/dotnetcore/call-center/call-center/
    
  3. Projeyi .NET CLI ile oluşturun.

    dotnet build
    
  4. Uygulamayı tercih ettiğiniz komut satırı bağımsız değişkenleriyle çalıştırın. Kullanılabilir seçenekler için bkz . kullanım ve bağımsız değişkenler .

    GitHub'da örnek bir ses dosyasından döküm oluşturan bir örnek aşağıda verilmiştir:

    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
    

    Girişin transkripsiyonu zaten varsa, aşağıda yalnızca Dil kaynağı gerektiren bir örnek verilmiştir:

    dotnet run --languageKey YourResourceKey --languageEndpoint YourResourceEndpoint --jsonInput "YourTranscriptionFile.json" --stereo  --output summary.json
    

    değerini YourResourceKey Azure AI hizmetleri kaynak anahtarınız, yerine YourResourceRegion Azure AI hizmetleri kaynak bölgeniz (gibi eastus) yazın ve değerini Azure AI hizmetleri uç noktanızla değiştirin YourResourceEndpoint . ve --output tarafından --input belirtilen yolların geçerli olduğundan emin olun. Aksi takdirde yolları değiştirmeniz gerekir.

    Önemli

    İşiniz bittiğinde anahtarı kodunuzdan kaldırmayı unutmayın ve asla herkese açık olarak göndermeyin. Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

Sonuçları denetleme

Konsol çıkışı konuşmanın tamamını ve özetini gösterir. Aşağıda, kısalık için yeniden düzenlemelerle birlikte genel özete bir örnek verilmiştir:

Conversation summary:
    issue: Customer wants to sign up for insurance.
    resolution: Customer was advised that customer would be contacted by the insurance company.

İsteğe bağlı bağımsız değişkenini--output FILE belirtirseniz, sonuçların JSON sürümü dosyaya yazılır. Dosya çıkışı toplu transkripsiyon (Konuşma), yaklaşım (Dil) ve konuşma özetleme (Dil) API'lerinden gelen JSON yanıtlarının bir bileşimidir.

özelliği, transcription toplu transkripsiyon ile birleştirilmiş yaklaşım analizi sonuçlarını içeren bir JSON nesnesi içerir. Kısalık için redaksiyonlar içeren bir örnek aşağıda verilmiştir:

{
    "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
}   

özelliği, conversationAnalyticsResults konuşma PII'sinin ve konuşma özetleme analizinin sonuçlarını içeren bir JSON nesnesi içerir. Kısalık için redaksiyonlar içeren bir örnek aşağıda verilmiştir:

{
  "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": []
        }
      ]
    }
  }
}

Kullanım ve bağımsız değişkenler

Kullanım: call-center -- [...]

Önemli

Çok hizmetli bir kaynak veya ayrı Dil ve Konuşma kaynakları kullanabilirsiniz. Her iki durumda da ve değerleri konuşma --languageKey özetleme API'si tarafından desteklenen bölgelerden birinde yer alan bir kaynağa karşılık gelir: eastus, northeurope, ve uksouth.--languageEndpoint

Bağlantı seçenekleri şunlardır:

  • --speechKey KEY: Azure AI hizmetleriniz veya Konuşma kaynak anahtarınız. URL'den seçeneğiyle --input ses transkripsiyonları için gereklidir.

  • --speechRegion REGION: Azure AI hizmetleriniz veya Konuşma kaynak bölgeniz. URL'den seçeneğiyle --input ses transkripsiyonları için gereklidir. Örnekler: eastus, northeurope

  • --languageKey KEY: Azure AI hizmetleriniz veya Dil kaynak anahtarınız. Gerekli.

  • --languageEndpoint ENDPOINT: Azure AI hizmetleriniz veya Dil kaynak uç noktanız. Gerekli. Örnek: https://YourResourceName.cognitiveservices.azure.com

Giriş seçenekleri şunlardır:

  • --input URL: URL'den ses girişi. veya --jsonInput seçeneğini ayarlamanız --input gerekir.
  • --jsonInput FILE: FILE dosyasından var olan bir toplu transkripsiyon JSON sonucunu girdi. Bu seçenekle, zaten sahip olduğunuz transkripsiyonu işlemek için yalnızca bir Dil kaynağına ihtiyacınız vardır. Bu seçenekle, ses dosyasına veya Konuşma kaynağına ihtiyacınız yoktur. geçersiz kılar --input. veya --jsonInput seçeneğini ayarlamanız --input gerekir.
  • --stereo: '''giriş URL'si' aracılığıyla sesin stereo biçiminde olması gerektiğini gösterir. Stereo belirtilmezse mono 16khz 16 bit PCM wav dosyaları varsayılır. Mono dosyalarının diarizasyonu, birden çok hoparlörden ayırmak için kullanılır. Stereo dosyaların kesinleştirilmesi desteklenmez, çünkü 2 kanallı stereo dosyaların kanal başına zaten bir hoparlörü olmalıdır.
  • --certificate: PEM sertifika dosyası. C++ için gereklidir.

Dil seçenekleri şunlardır:

  • --language LANGUAGE: Yaklaşım analizi ve konuşma analizi için kullanılacak dil. Bu değer iki harfli iso 639-1 kodu olmalıdır. Varsayılan değer şudur: en.
  • --locale LOCALE: Sesin toplu transkripsiyonu için kullanılacak yerel ayar. Varsayılan değer şudur: en-US.

Çıkış seçenekleri şunlardır:

  • --help: Kullanım yardımını gösterme ve durdurma
  • --output FILE: Dökümü, yaklaşımı, konuşma PII'sini ve konuşma özetlerini JSON biçiminde bir metin dosyasına aktarın. Daha fazla bilgi için bkz . çıkış örnekleri.

Kaynakları temizleme

Oluşturduğunuz Azure AI hizmetleri kaynağını kaldırmak için Azure portalını veya Azure Komut Satırı Arabirimi'ni (CLI) kullanabilirsiniz.

Sonraki adımlar