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.
transcription.results
mungkin memiliki lebih dari satu hasil.Jika
transcription.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.transcription.results[i].alternatives
Selalu 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 pertamatranscription.results[i].alternatives
dan mengabaikan yang lain.transcription.results[i].alternatives[j].items
termasuk entri untuk setiap kata atau tanda baca.transcription.results[i].alternatives[j].items[k].
konten adalah apa yang diucapkan.transcription.results[i].alternatives[j].items[k].attendee
adalah atribusi pengguna (siapa) dari konten.transcription.results[i].alternatives[j].items[k].startTimeMs
adalah “kapan” konten. Ini memungkinkan word-by-word rendering transkripsi yang dikaitkan dengan pengguna di seluruh pengguna yang berbeda dalam urutan kata-kata diucapkan.transcription.results[i].alternatives[j].items[k].endTimeMs
Bidang umumnya dapat diabaikan, tetapi disediakan untuk kelengkapan siapa yang mengatakan kapan.transcription.results[i].alternatives[j].items[k].vocabularyFilterMatch
benar jika konten cocok dengan kata di filter, jika tidak maka salah.transcription.results[i].alternatives[j].items[k].confidence
adalah 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.transcription.results[i].alternatives[j].items[k].stable
menunjukkan 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 menyetelEnablePartialResultsStabilization
ketrue
dalam permintaan Anda.transcription.results[i].alternatives[j].entities
menyertakan 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.transcription.results[i].alternatives[j].entities[k].category
adalah kategori entitas. Ini sama dengan jenis Identifikasi Konten atau Redaksi, seperti "PII" atau "PHI“, yang disediakan dalam permintaan.transcription.results[i].alternatives[j].entities[k].confidence
mengukur 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.transcription.results[i].alternatives[j].entities[k].content
adalah teks aktual yang membentuk entitas. Ini bisa berupa beberapa item, seperti alamat.transcription.results[i].alternatives[j].entities[k].startTimeMs
menangkap waktu di mana entitas mulai berbicara.transcription.results[i].alternatives[j].entities[k].endTimeMs
menangkap waktu di mana entitas selesai diucapkan.transcription.results[i].alternatives[j].entities[k].type
hanya 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.
TranscriptionController
Dalam 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; }
DefaultRealtimeController
juga 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););