आम्ही लाँच करण्याच्या तयारीत असलेला व्हॉइस-एजंट (voice-agent) वारंवार कॉलरला मध्येच तोडत होता, ज्यामुळे ट्रंकेशन रेट (truncation rate) १८% पर्यंत पोहोचला होता आणि लाँचच्या अवघ्या दहा दिवस आधी आम्हाला 'एंड-ऑफ-टर्न' (end-of-turn) लॉजिक पुन्हा लिहावे लागले. सायलन्स-टाइमआउट (silence-timeout) नियमामध्ये व्याकरण तपासणी (grammar checks) आणि बॅक-चॅनेल डिटेक्शन (back-channel detection) समाविष्ट केल्यामुळे, व्यत्यय (interruptions) ३% पर्यंत खाली आले आणि सिस्टीम प्रतिसाद न देतोय असे वाटण्याचं कारण असलेल्या लांब आणि शांततेच्या (dead silences) समस्याही दूर झाल्या.
केवळ एक सायलन्स टाइमआउट पुरेसा का नव्हता
आमच्या मूळ डिझाइनमध्ये ७०० मिलीसेकंदच्या कोणत्याही विरामामुळे (pause) वापरकर्त्याने बोलणे संपवले आहे असा संकेत मानला जात असे. नियंत्रित डेमोमध्ये—जिथे शांत खोलीत एकच व्यक्ती पूर्ण वाक्ये बोलते—तो नियम व्यवस्थित काम करतो. मात्र, प्रत्यक्ष कॉलर विचार करण्यासाठी थांबतात, अंकांची गटवारी करतात आणि ते ऐकत आहेत हे दर्शवण्यासाठी "uh-huh" किंवा "mm-hmm" असे शब्द वापरतात. एजंटने यातील प्रत्येक विराम म्हणजे संवादाचा टर्न (turn) संपला आहे, असा अर्थ लावला.
३१२ प्रोडक्शन कॉल्सचे विश्लेषण केल्यावर दोन समस्या समोर आल्या. पहिले म्हणजे, वक्ता पुढचे वाक्य तयार करत असतानाच एजंट मध्येच बोलू लागला, ज्यामुळे १८% टर्न्समध्ये अडथळा निर्माण झाला. दुसरे म्हणजे, व्यत्यय थांबवण्यासाठी जेव्हा आम्ही टाइमआउट १५०० मिलीसेकंदपर्यंत वाढवला, तेव्हा सिस्टीम मंदावली आणि गोंगाट असलेल्या लाईन्सवर हँग होऊ लागली. बॅकग्राउंड नॉईसमुळे सायलन्स काउंटर वारंवार रिसेट होत होते, त्यामुळे वापरकर्त्याने बोलणे संपवले आहे, असा निर्णय एजंट कधीच घेऊ शकला नाही.
एका आकड्याऐवजी तीन सिग्नल
आम्ही फिक्स्ड टाइमआउटचा वापर थांबवला आणि एक लहान 'स्टेट मशीन' (state machine) तयार केले जे तीन संकेत (cues) तपासते:
- सायलन्सचा कालावधी (Silence duration) – वापरकर्ता किती वेळ शांत आहे.
- व्याकरण (Grammar) – ट्रान्सक्रिप्ट एखाद्या पूर्ण वाक्याने संपते की "the" किंवा "and" सारख्या अपूर्ण शब्दाने?
- बॅक-चॅनेल डिटेक्शन (Back-channel detection) – शेवटचा आवाज हा खरोखर संवादाचा भाग होता (उदा. उत्तर देणे) की "yeah" सारखा छोटा प्रतिसाद होता?
या सिग्नलच्या आधारे आम्ही दोन 'सायलन्स बजेट्स' (silence budgets) निश्चित केले:
- पूर्ण झालेली ट्रान्सक्रिप्ट (Completed transcript) – जेव्हा ट्रान्सक्रिप्ट पूर्ण वाटते, तेव्हा आम्ही ५५० मिलीसेकंदचा छोटा टाइमआउट लागू करतो. यामुळे एजंट चपळ राहतो आणि त्वरित उत्तर देतो.
- अपूर्ण ट्रान्सक्रिप्ट (Dangling transcript) – जेव्हा शेवटचा शब्द असे सूचित करतो की वापरकर्ता वाक्याच्या मध्यभागी आहे, तेव्हा आम्ही टाइमआउट १३०० मिलीसेकंदपर्यंत वाढवतो, ज्यामुळे वक्ता आपले बोलणे सुरू ठेवू शकतो.
चुकीचे व्यत्यय रोखण्यासाठी दोन अतिरिक्त सुरक्षा उपाय (guards) दिले आहेत:
- किमान बोलण्याचा कालावधी (Minimum speech duration) – "mm-hmm" सारखा छोटा आवाज पूर्ण टर्न मानला जात नाही, त्यामुळे एजंट निर्णय घेण्यापूर्वी अधिक काळ थांबतो.
- हार्ड कॅप (Hard cap) – बॅकग्राउंड नॉईस काहीही असो, सायलन्सची एक कमाल मर्यादा (maximum limit) एजंटला ठराविक काळानंतर प्रतिसाद देण्यास भाग पाडते, ज्यामुळे सिस्टीम हँग होण्याचे प्रकार टाळले जातात.
निकाल आणि व्हॉइस AI साठी त्याचे महत्त्व
आम्ही थ्री-सिग्नल सिस्टीम तैनात केल्यानंतर, ट्रंकेशन रेट १८% वरून ३% पर्यंत खाली आला. कॉलरना आता एजंट त्यांच्या बोलण्यात मध्येच बोलताना ऐकू येत नाही आणि पूर्वीची "डेड सायलन्स" (dead silence) ची समस्याही दूर झाली. एजंट प्रतिसाद देणारा आणि सभ्य वाटतो, जो मानवी संवादाच्या पद्धतीशी सुसंगत आहे.
व्हॉइस असिस्टंट बनवणाऱ्या डेव्हलपर्ससाठी धडा स्पष्ट आहे: कॉन्फिग फाईलमधील (config file) एक स्थिर आकडा (constant) बोलण्याच्या संवादातील बारकावे टिपू शकत नाही. सायलन्सचा कालावधी, व्याकरणाची पूर्णता आणि बॅक-चॅनेल संकेत तपासणारे एक हलके 'स्टेट मशीन' (state machine), संगणकीय भार (computational load) न वाढवता टर्न-टेकिंगची अचूकता लक्षणीयरीत्या सुधारू शकते.
संभाव्य तोटे आणि उघड्या प्रश्नांवर विचार
व्याकरण पार्सिंग (grammar parsing) आणि बॅक-चॅनेल क्लासिफिकेशन (back-channel classification) जोडल्यामुळे प्रोसेसिंगचे टप्पे वाढतात. संवादातील सुलभतेमुळे झालेला फायदा या अतिरिक्त लॅटन्सीमुळे (latency) कमी होणार नाही, याची खात्री टीमला करावी लागेल. हा दृष्टिकोन अचूक ट्रान्सक्रिप्टवर अवलंबून आहे; गोंगाट असलेल्या वातावरणात किंवा विशिष्ट उच्चारांच्या (accented speech) बाबतीत, व्याकरणाचे संकेत चुकू शकतात, ज्यामुळे सिस्टीमला पुन्हा लांब टाइमआउटवर अवलंबून राहावे लागेल.
भविष्यातील कामामध्ये वैयक्तिक कॉलरच्या सवयींनुसार बदलणारे 'अॅडॅप्टिव्ह टाइमआउट थ्रेशोल्ड्स' (adaptive timeout thresholds) शोधणे किंवा बॅक-चॅनेल डिटेक्टर अधिक मजबूत करण्यासाठी प्रोसोडिक फीचर्स (prosodic features - जसे की पिच, एनर्जी) समाविष्ट करणे यावर काम करता येईल. ही तंत्रज्ञान पद्धत मोठ्या कॉन्टॅक्ट-सेंटर उपयोजनांसाठी (contact-center deployments) वापरण्यापूर्वी, या सुधारणांचा मुख्य मेट्रिक्सवर—ग्राहक समाधान, कॉल पूर्ण करण्याचा वेळ आणि त्रुटींचे प्रमाण (error rates)—काय परिणाम होतो, याचे निरीक्षण करणे आवश्यक असेल.
थोडक्यात सांगायचे तर: संवादाचा टर्न संपला आहे की नाही, याचा निर्णय केवळ एका सायलन्स टाइमरवर न घेता, तो 'मल्टी-सिग्नल' (multi-signal) निर्णयाद्वारे घेतल्यास, व्यत्ययामुळे होणाऱ्या चुका मोठ्या प्रमाणात कमी होतात आणि वापरकर्त्यांना व्हॉइस एजंटकडून अपेक्षित असलेला नैसर्गिक प्रवाह पुन्हा प्राप्त होतो.
