लेबल केलेल्या ट्रान्सक्रिप्टला दोन्ही उत्तरे बरोबर हवी असतात; लेबले शब्दांवर बसलेली असल्यामुळे चुकीचे लेबल मजकूर न बदलता दुरुस्त करता येते.
मीटिंगच्या ट्रान्सक्रिप्टमध्ये एकाच वेळी दोन प्रश्नांची उत्तरे असतात: काय म्हटले गेले, आणि ते कोणी म्हटले. वाचकाला एकच काम दिसते, ओळीच्या बाजूला एक नाव. पण त्याखाली दोन वेगळ्या समस्या असतात, प्रत्येकाचे स्वतःचे इनपुट आणि अपयशाचे स्वतःचे मार्ग.
स्पीच रेकग्निशन शब्द ऐकते. ते ऑडिओचे मजकुरात रूपांतर करते, आणि चांगले काम केल्यास प्रत्येक शब्दाची सुरुवातीची आणि शेवटची वेळ देते. एखाद्या वाक्याच्या मध्येच आवाज बदलला की नाही, याच्याशी त्याला काही देणेघेणे नसते; त्याचे काम वाक्य बरोबर लिहिणे हे असते.
स्पीकर डायरायझेशन आवाज ऐकते. त्याला शब्द कळत नाहीत. त्याचे काम म्हणजे ऐकण्याच्या वेळेची वळणांमध्ये विभागणी करणे, आणि कोणती वळणे एकाच व्यक्तीची आहेत ते सांगणे: वक्ता 1, वक्ता 2. हा शब्द "डायरी" यावरून आला आहे, आणि त्याचे आउटपुट या चित्राला योग्य आहे: कोणाकडे बोलण्याची वेळ होती आणि केव्हा, याची नोंद.
यासारख्या आणखी तीन जवळच्या संज्ञा अनेकदा गोंधळल्या जातात. डायरायझेशन सांगते की कोण केव्हा बोलला, पण ती कोणालाही ओळखत नाही. वक्ता ओळख नोंदणी केलेल्या आवाजांच्या संचातून निवडून सांगते की एखादा भाग कोणत्या ओळखलेल्या व्यक्तीचा आहे. वक्ता पडताळणी एक होय-किंवा-नाही प्रश्न विचारते: हा आवाज खरोखर X व्यक्तीचाच आहे का? विक्रेत्यांचे "स्पीकर लेबल्स" म्हणजे वळणांच्या सीमांचा ढोबळ अंदाज असू शकतो, किंवा एका रेकॉर्डिंगवरून दुसऱ्या रेकॉर्डिंगपर्यंत एखाद्या व्यक्तीच्या मागे जाणारी नावे असू शकतात. त्यामुळे हे तिघे वेगळे ठेवले की विक्रेत्यांचे दावे वाचणे सोपे जाते. ही लेबले काय देऊ शकतात आणि काय देऊ शकत नाहीत, हे पाहण्यासाठी डायरायझरच्या आत डोकावून पाहा.
बहुतेक डायरायझेशन सिस्टीम तीन टप्प्यांत चालतात, आणि त्यात कोणत्याही भाषेचा समावेश नसतो.
प्रत्येक टप्पा स्वतःहून चुकू शकतो. एखादा शांत वक्ता सुटतो. दोन सारखे आवाज एकत्र केले जातात. एखादी व्यक्ती शांतपणे बोलण्यावरून उत्साहाने बोलू लागली, तर तिचे दोन भाग होतात.
या क्षेत्रात हे सर्व डायरायझेशन एरर रेट, म्हणजेच DER, ने मोजले जाते: बोलण्याच्या वेळेपैकी किती भाग चुकलेला, चुकून बोलणे म्हणून ओळखलेला, किंवा चुकीच्या वक्त्याला दिलेला आहे, त्याचा वाटा. प्रत्येक सीमेभोवती सुमारे पाव सेकंदाचा क्षमा कॉलर (forgiveness collar) सहसा असतो. तो असतो कारण कोणीही, माणूस असो वा यंत्र, वक्ता बदलण्याची सीमा मिलिसेकंदापर्यंत अचूक ठेवू शकत नाही. डायरायझरचे स्वतंत्र मूल्यमापन करताना ही सहनशीलता ठीक आहे. पण ट्रान्सक्रिप्टसाठी ती ठीक नाही, कारण पाव सेकंद चुकलेली सीमा एखाद्या शब्दावर पडते.
इथे दोन्ही समस्या एकमेकांना भेटतात, आणि लेबल केलेल्या ट्रान्सक्रिप्टची गुणवत्ता इथेच ठरते. डायरायझर आपल्या सीमा काही अनिश्चिततेसह ठेवतो, अनेकदा दोन्ही बाजूंनी सेकंदाचा काही भाग. रेकग्निझर शब्द त्याच टाइमलाइनवर ठेवतो. दोन्ही एकावर एक थेट ठेवले, तर सीमा एखाद्या शब्दाच्या आत पडते, आणि "उद्या" या शब्दाचा अर्धा भाग वक्ता 1 कडे जातो आणि उरलेला अर्धा वक्ता 2 कडे.
लेबले योग्य होण्याआधी काही काळ चुकीची असू शकतात. डायरायझर त्याच्या गटांबद्दल जितके जास्त ऐकेल तितका अधिक खात्रीशीर होतो, त्यामुळे सुरुवातीचे लेबल नंतरच्या गोष्टींच्या मानदंडानुसार चुकीचे दिसू शकते. लाइव्ह ट्रान्सक्रिप्टवर एखादी ओळ दाखवल्यानंतरही लेबल सुधारले जाऊ शकते: VocalStack चा रिअल-टाइम API transcript.amended फ्रेम पाठवतो, जी कमिट झालेल्या ओळीचा मजकूर किंवा वक्ता जागच्या जागी दुरुस्त करते, त्यामुळे वाचकाला विरोधाभास नाही तर सुधारणा दिसते.
अगदी योग्य जागी ठेवलेले, अगदी स्थिर लेबलही फक्त एक संख्या असते. संख्या संभाषण मागे नेण्यासाठी पुरेशी असते; वाचकाला हवे असते ते नाव.
लेबल नावात दोन प्रकारे बदलते, आणि दोन्ही एकमेकांवर उभे असतात.
पहिले म्हणजे एका रेकॉर्डिंगमधील नामकरण. ट्रान्सक्रिप्शनला सापडलेल्या प्रत्येक वक्त्याला 0 पासून मोजलेला निर्देशांक मिळतो. प्रवेश असलेली कोणतीही व्यक्ती रेकॉर्डिंग दरम्यान किंवा नंतर प्रत्येक वक्त्याचे नाव ठेवू शकते. नाव हा शब्दांवरचा एक स्तर असतो, त्यामुळे मजकुराला हात न लावता ते ठेवता, बदलता किंवा काढता येते. API वर हे PUT /v1/recordings/{id}/speakers/{idx} द्वारे name सह केले जाते; रिकामे नाव लेबल काढून टाकते. ज्या ओळीचा speaker -1 आहे, तिला लेबल नसते: एकतर लेबले बंद होती म्हणून, किंवा लाइव्ह ड्राफ्टमध्ये ती ओळ अजून कोणत्याही वक्त्याला दिलेली नाही म्हणून.
दुसरे म्हणजे पहिल्या विभागातील ओळख समस्या, जी रेकॉर्डिंगच्या पलीकडे नाव देते. डायरायझर फक्त दोन आवाज वेगळे आहेत असे सांगू शकतो, ते कोण आहेत हे नाही. "वेगळे" पासून "हा Ana आहे" इथपर्यंत जाण्यासाठी सिस्टीमला एक संदर्भ लागतो: एखाद्या व्यक्तीच्या रेकॉर्डिंगमधून घेतलेला, जतन केलेला आवाज. किमान तीस सेकंद स्वच्छ बोलणे लागते, आणि काही मिनिटे अधिक चांगली. हा नमुना ज्या रेकॉर्डिंगशी जुळवला जाईल त्यांच्यासारखाच वाटायला हवा: लॅपटॉप मायक्रोफोनवरचा आणि स्टेज मायक्रोफोनवरचा एकाच व्यक्तीचा आवाज यंत्राला, एकाच पद्धतीने रेकॉर्ड केलेल्या दोन अनोळखी व्यक्तींपेक्षा कमी सारखा वाटू शकतो. आवाज जतन झाला की, ट्रान्सक्रिप्शनमध्ये ऐकलेला प्रत्येक वक्ता त्याच्याशी तुलना केला जातो, आणि जुळल्यास नाव ट्रान्सक्रिप्टमध्ये येते. VocalStack मध्ये हे Voices अंतर्गत आहे; फाइल ट्रान्सक्रिप्शन आणि डॅशबोर्ड लाइव्ह सत्रे तुमचे जतन केलेले आवाज आपोआप जुळवतात, आणि रिअल-टाइम API सत्र फक्त identifyVoices मध्ये तुम्ही दिलेले आवाज ओळखते.
जतन केलेला आवाज हा बायोमेट्रिक डेटा आहे: तो कोणत्याही रेकॉर्डिंगमध्ये एखाद्या व्यक्तीला ओळखू शकतो, आणि VocalStack मध्ये तो त्या व्यक्तीच्या ओळी मोठ्याने वाचून दाखवणारा क्लोन म्हणूनही काम करतो. आवाज जतन करण्यापूर्वी डॅशबोर्ड त्या व्यक्तीची परवानगी आहे याची पुष्टी करण्यास सांगतो, आणि आवाज कधीही हटवता येतो.
हे सर्व गृहीत धरते की तुम्हाला लेबले हवी आहेत. अनेकदा ती नको असतात.
एक व्यक्ती व्याख्यान देत असताना प्रत्येक ओळीसमोर "वक्ता 1" लिहिण्याची गरज नसते. प्रेक्षकांना आधीच माहीत असते की मायक्रोफोन कोणाकडे आहे. म्हणून स्पीकर लेबल्स पर्यायाला तीन स्थिती आहेत, आणि त्या रिअल-टाइम सत्र, ब्रॉडकास्ट, ट्रान्सक्रिप्शन आणि रेकॉर्डिंगवर सारख्याच आहेत.
auto). एकापेक्षा जास्त आवाज ऐकू आले की ओळींना त्यांच्या वक्त्याचे लेबल दिले जाते; एकाच वक्त्याचे रेकॉर्डिंग साध्या मजकुरातच राहते, आणि उशिरा सामील होणारा दुसरा आवाजही पकडला जातो. डॅशबोर्डचा नवा लाइव्ह ट्रान्सक्रिप्शन फॉर्म इथून सुरू होतो.फाइल अपलोडमध्येही तोच speakerLabels पर्याय असतो, आणि रिअल-टाइम API तुम्हाला प्रवाहादरम्यान हा पर्याय बदलू देतो; तपशील API संदर्भ मध्ये आहेत. वक्ता वेगळे करणे आणि त्यांना नाव देणे बिलात कधीच भर घालत नाही (किंमत पृष्ठ मध्ये दर पत्रक आहे), त्यामुळे निवड वाचकाला काय दिसावे यावर अवलंबून असते, त्याच्या खर्चावर नाही.
चालू केल्यावरही डायरायझेशन चांगले असते, पण ते जादू नसते. दोन परिस्थिती अजूनही त्याला हरवतात.
पहिली म्हणजे ओव्हरलॅप. दोन व्यक्ती एकाच वेळी बोलल्या, तर ऑडिओच्या एका भागात दोन आवाज असतात. ओव्हरलॅप-जाणीव असलेले डायरायझर संशोधनात आणि हळूहळू उत्पादनांमध्येही अस्तित्वात आहेत: उदाहरणार्थ end-to-end neural diarization (EEND) "कोण बोलत आहे" याकडे एका उत्तराऐवजी एकाच वेळी विचारल्या जाणाऱ्या होय-किंवा-नाही प्रश्नांचा संच म्हणून पाहते. पण बहुतेक उत्पादन सिस्टीम तरीही प्रत्येक भागाला एकच वक्ता देतात, आणि त्यावरील रेकग्निझर एका वेळी एकाच आवाजाचे ट्रान्सक्रिप्शन करतो. गरम चर्चेतील क्रॉसटॉक हा क्षेत्रातील सर्वात कठीण ऑडिओ आहे, आणि तिथे प्रत्येक विक्रेत्याचे लेबल बिघडते. नंतर सर्वजण उद्धृत करू इच्छितात तोच हा भाग असतो.
दुसरी म्हणजे अगदी सारखे आवाज. भावंडांचे आवाज इतके जवळचे एम्बेडिंग्स देऊ शकतात की ते विश्वासार्हपणे वेगळे करता येत नाहीत, विशेषतः जेव्हा ते एका तासात लहान वळणांची देवाणघेवाण करतात. टेलिफोन ऑडिओमुळे हे सर्वांसाठी अधिक कठीण होते: नॅरोबँड लाइन 8 kHz वर सॅम्पल केली जाते आणि सुमारे 3.4 kHz च्या वर काहीही वाहून नेत नाही, तरीही एका आवाजाला दुसऱ्यापासून वेगळे करणारे बरेच घटक त्या कटऑफच्या वर असतात. एकाच फोन लाइनवरचे दोन लोक डायरायझरला तुमच्यापेक्षा अधिक सारखे वाटतात.
दोन्हीवरचा सर्वात व्यावहारिक उपाय कोणत्याही मॉडेलच्या आधीचा आहे: प्रत्येक व्यक्तीला स्वतःचा मायक्रोफोन द्या. प्रत्येक वक्त्यासाठी एक चॅनल असेल, तर डायरायझेशन "कोणता चॅनल जोरात आहे" एवढेच विचारायला उरते; ओव्हरलॅप एका गढूळ ट्रॅकऐवजी दोन स्वच्छ ट्रॅक बनतो, आणि एम्बेडिंग्सना कठीण भाग करायला सांगितलेच जात नाही. एकच टेबल मायक्रोफोन स्वस्त असतो आणि जवळपास नेहमी तुमच्याकडे असतो, म्हणूनच या लेखाचा उर्वरित भाग याच विषयावर आहे.
यापैकी कोणतीही मर्यादा वाचकापर्यंत अपरिवर्तित पोहोचायला नको. लेबले शब्दांवरचा एक स्तर असल्यामुळे, चुकीचे लेबल तुमचा मजकूर कधीच घालवत नाही: रेकॉर्डिंगवर कधीही वक्त्यांची नावे ठेवता किंवा काढता येतात, आणि लाइव्ह ट्रान्सक्रिप्शनमध्ये होस्ट चालू असतानाही कोणताही शब्द किंवा ओळ पुन्हा लिहू शकतो, प्रत्येक दुरुस्ती चिन्हांकित केलेली आणि पूर्ववत करता येणारी असते.
शब्दांच्या बाजूसाठी, शब्द त्रुटी दर काय मोजतो आणि काय चुकवतो या लेखात दुरुस्ती स्तरांचे सविस्तर वर्णन आहे; WER हे रेकग्निझरसाठी तसे आहे जसे DER डायरायझरसाठी आहे, आणि ट्रान्सक्रिप्टला दोन्ही कमी असणे आवश्यक आहे.