Memahami pesan transkripsi - Amazon Chime SDK

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memahami pesan transkripsi

SDKLayanan Amazon Chime membagikan informasi transkripsi dengan peserta dengan mengirimkan TranscriptEvent objek dalam pesan data. A TranscriptEvent memberikan a Transcript atau a. TranscriptionStatus

A Transcript termasuk hasil dengan cap waktu, kata dan tanda baca yang dikaitkan dengan pengguna. Hasilnya mungkin “sebagian”, dalam hal ini sistem biasanya memperbaruinya selanjutnyaTranscriptEvent. Ini memungkinkan Anda melihat transkripsi dengan cepat dan menerapkan pembaruan sebaris nanti jika diperlukan.

A TranscriptStatus dapat mengirimkan salah satu TranscriptionStatusType acara, tercantum dalam contoh di bagian berikutnya.

Versi yang lebih baru dari Amazon SDKs Chime menyertakan tipe data tambahan dan fungsi pembantu untuk pemrosesan umum a. TranscriptEvent

TranscriptEvent

Contoh ini menunjukkan peristiwa transkripsi yang khas.

type TranscriptEvent = Transcript | TranscriptionStatus; export class TranscriptEventConverter { static from(dataMessage: DataMessage): TranscriptEvent[] { // convert DataMessage to TranscriptEvents return ... } } export default class TranscriptionStatus { type: TranscriptionStatusType; eventTimeMs: number; transcriptionRegion: string; transcriptionConfiguration: string; message?: string; } enum TranscriptionStatusType { STARTED = 'started', INTERRUPTED = 'interrupted', RESUMED = 'resumed', STOPPED = 'stopped', FAILED = 'failed', } export default class Transcript { results: TranscriptResult[]; // at least one } export class TranscriptResult { resultId: string; isPartial: boolean; startTimeMs: number; endTimeMs: number; alternatives: TranscriptAlternative[]; // most confident first } export default class TranscriptAlternative { items: TranscriptItem[]; // in start time order transcript: string; //concatenated transcript items entities?: TranscriptEntity[]; } export default class TranscriptItem { type: TranscriptItemType; startTimeMs: number; endTimeMs: number; attendee: Attendee; content: string; vocabularyFilterMatch?: boolean; confidence?: number; stable?: boolean; } enum TranscriptItemType { PRONUNCIATION = 'pronunciation',// content is a word PUNCTUATION = 'punctuation',// content is punctuation } export default class TranscriptEntity { category: string; confidence: number; content: string; endTimeMs: number; startTimeMs: number; type?: string; } // This is an existing SDK model export default class Attendee { attendeeId: string; externalUserId: string; }

Pedoman data

Ingatlah pedoman ini saat Anda pergi.

  1. transcription.resultsmungkin memiliki lebih dari satu hasil.

  2. Jikatranscription.results[i].isPartial = true, maka mungkin ada pembaruan untuk seluruh hasil. Pembaruan mungkin, tetapi tidak dijamin. Pembaruan memiliki hal yang samatranscript.result[i].resultId. Jika Anda ingin menghindari transkripsi kepercayaan rendah, Anda dapat melewatkan sebagian hasil sepenuhnya. Jika Anda menginginkan hasil latensi rendah, Anda dapat menampilkan sebagian hasil, lalu menimpa sepenuhnya saat pembaruan tiba.

  3. transcription.results[i].alternativesSelalu berisi setidaknya satu entri. Jika berisi lebih dari satu entri, entri yang paling percaya diri adalah yang pertama dalam daftar. Dalam kebanyakan kasus, Anda dapat mengambil entri pertama transcription.results[i].alternatives dan mengabaikan yang lain.

  4. transcription.results[i].alternatives[j].itemstermasuk entri untuk setiap kata atau tanda baca.

  5. transcription.results[i].alternatives[j].items[k].konten adalah apa yang diucapkan.

  6. transcription.results[i].alternatives[j].items[k].attendeeadalah atribusi pengguna (siapa) dari konten.

  7. transcription.results[i].alternatives[j].items[k].startTimeMsadalah “kapan” konten. Ini memungkinkan word-by-word rendering transkripsi yang dikaitkan dengan pengguna di seluruh pengguna yang berbeda dalam urutan kata-kata diucapkan.

  8. transcription.results[i].alternatives[j].items[k].endTimeMsBidang umumnya dapat diabaikan, tetapi disediakan untuk kelengkapan siapa yang mengatakan kapan.

  9. transcription.results[i].alternatives[j].items[k].vocabularyFilterMatchbenar jika konten cocok dengan kata di filter, jika tidak maka salah.

  10. transcription.results[i].alternatives[j].items[k].confidenceadalah nilai antara 0 dan 1. Ini menunjukkan keyakinan mesin bahwa konten item dengan benar cocok dengan kata yang diucapkan, dengan 0 menjadi kepercayaan terendah dan 1 adalah kepercayaan tertinggi.

  11. transcription.results[i].alternatives[j].items[k].stablemenunjukkan apakah kata saat ini akan berubah dalam pembaruan hasil paral di masa mendatang. Nilai ini hanya bisa benar jika Anda mengaktifkan fitur stabilisasi hasil paral dengan menyetel EnablePartialResultsStabilization ke true dalam permintaan Anda.

  12. transcription.results[i].alternatives[j].entitiesmenyertakan entri untuk setiap entitas yang terdeteksi oleh fitur Identifikasi Konten atau Redaksi. Daftar ini hanya diisi jika Anda mengaktifkan Identifikasi Konten atau Redaksi. Entitas dapat berupa data seperti informasi identitas pribadi atau informasi kesehatan pribadi. Anda dapat menggunakan entitas untuk menyorot, atau mengambil tindakan atas, kata-kata yang menarik selama transkripsi.

  13. transcription.results[i].alternatives[j].entities[k].categoryadalah kategori entitas. Ini sama dengan jenis Identifikasi Konten atau Redaksi, seperti "PII" atau "PHI“, yang disediakan dalam permintaan.

  14. transcription.results[i].alternatives[j].entities[k].confidencemengukur seberapa kuat mesin bahwa konten tertentu benar-benar suatu entitas. Perhatikan bahwa ini berbeda dari kepercayaan tingkat item, yang mengukur seberapa yakin mesin dalam kebenaran kata-kata itu sendiri.

  15. transcription.results[i].alternatives[j].entities[k].contentadalah teks aktual yang membentuk entitas. Ini bisa berupa beberapa item, seperti alamat.

  16. transcription.results[i].alternatives[j].entities[k].startTimeMsmenangkap waktu di mana entitas mulai berbicara.

  17. transcription.results[i].alternatives[j].entities[k].endTimeMsmenangkap waktu di mana entitas selesai diucapkan.

  18. transcription.results[i].alternatives[j].entities[k].typehanya didukung untuk mesin Transcribe dan menyediakan sub-tipe entitas. Ini adalah nilai-nilai seperti `ADDRESS`, `CREDIT_ DEBIT _NUMBER`, dan sebagainya.

Mendaftarkan event handler untuk TranscriptEvents

Contoh berikut menggunakan library SDK klien Amazon Chime untuk. JavaScript Namun, polanya konsisten di semua Amazon SDKs Chime.

TranscriptionControllerDalam RealtimeController dan RealtimeControllerFacade termasuk fungsi khusus untuk menambahkan handler yang memprosesTranscriptionEvents:

/** * Returns the [[TranscriptionController]] for this real-time controller. */ readonly transcriptionController?: TranscriptionController;

Ini TranscriptionController memiliki dua fungsi untuk mengelola berlangganan dan berhenti berlangganan callback: TranscriptionEvent

import TranscriptEvent from './TranscriptEvent'; export default interface TranscriptionController { /** * Subscribe a callback to handle received transcript event */ subscribeToTranscriptEvent(callback: (transcriptEvent: TranscriptEvent) => void): void; /** * Unsubscribe a callback from receiving transcript event */ unsubscribeFromTranscriptEvent(callback: (transcriptEvent: TranscriptEvent) => void): void; }
Menggunakan opsional TranscriptionController

Kami menyediakan implementasi default TranscriptionController antarmuka bernamaDefaultTranscriptionController. Implementasi default dalam DefaultRealtimeController dan DefaultAudioVideoFacade mengembalikan DefaultTranscriptionController objek:

/** get transcriptionController(): TranscriptionController { return this.realtimeController.transcriptionController; }

DefaultRealtimeControllerjuga mengambil TranscriptionController objek opsional dalam konstruktornya. Itu memungkinkan Anda untuk mengesampingkan DefaultTranscriptionController perilaku. Aplikasi pengembang berlangganan dan berhenti berlangganan satu atau lebih panggilan balik melalui TranscriptionController objek objek: AudioVideoFacade

// Subscribe this.audioVideo.transcriptionController?.subscribeToTranscriptEvent(this.transcriptEventHandler); // Unsubscribe this.audioVideo.transcriptionController?.unsubscribeFromTranscriptEvent(this.transcriptEventHandler););