در سال 2019 ما Recorder را راهاندازی کردیم، یک برنامه ضبط صدا برای تلفنهای Pixel که به کاربران کمک میکند ضبطهای صوتی را ایجاد، مدیریت و ویرایش کنند. از پیشرفتهای اخیر در یادگیری ماشینی روی دستگاه برای رونویسی گفتار، تشخیص رویدادهای صوتی، پیشنهاد برچسبها برای عناوین و کمک به کاربران در پیمایش رونوشتها استفاده میکند.
با این وجود، برخی از کاربران Recorder پیمایش در ضبطهای طولانی که دارای چندین بلندگو هستند دشوار بود، زیرا مشخص نیست چه کسی چه چیزی گفته است. در طول رویداد Made By Google امسال، ما ویژگی “Speaker Labels” را برای برنامه Recorder اعلام کردیم. این ویژگی انتخاب کردن، یک رونوشت ضبط با برچسبهای منحصر به فرد و ناشناس برای هر بلندگو (به عنوان مثال، “Speaker 1″، “Speaker 2″، و غیره) را در زمان واقعی در طول ضبط، حاشیهنویسی میکند. به طور قابل توجهی خوانایی و قابلیت استفاده رونوشت های ضبط شده را بهبود می بخشد. این ویژگی توسط سیستم دیاریزاسیون بلندگوی جدید گوگل به نام Turn-to-Diarize که برای اولین بار در ICASSP 2022 ارائه شد، ارائه می شود.
![]() |
ترک کرد: رونوشت ضبط بدون برچسب بلندگو. درست: رونوشت ضبط با برچسب بلندگو. |
معماری سیستم
سیستم دیاریزاسیون بلندگوی ما از چندین مدل و الگوریتم یادگیری ماشینی بسیار بهینهسازی شده استفاده میکند تا با استفاده از منابع محاسباتی محدود در دستگاههای تلفن همراه، ساعتها صدا را به صورت جریانی در زمان واقعی محاسبه کند. این سیستم عمدتاً از سه جزء تشکیل شده است: یک مدل تشخیص چرخش بلندگو که تغییر بلندگو را در گفتار ورودی تشخیص میدهد، یک مدل رمزگذار بلندگو که ویژگیهای صوتی را از هر چرخش بلندگو استخراج میکند، و یک الگوریتم خوشهبندی چند مرحلهای که برچسبهای بلندگو را به هر یک از آنها حاشیهنویسی میکند. چرخش بلندگو به روشی بسیار کارآمد. تمامی قطعات به طور کامل بر روی دستگاه اجرا می شوند.
![]() |
معماری سیستم Turn-to-Diarize. |
تشخیص چرخش بلندگو
اولین جزء سیستم ما یک مدل تشخیص چرخش بلندگو مبتنی بر مبدل ترانسفورماتور (TT) است که ویژگیهای صوتی را به رونوشتهای متنی افزوده شده با یک توکن خاص تبدیل میکند. <st>
نشان دهنده چرخش بلندگو بر خلاف سیستم های سفارشی قبلی که از نشانه های نقش خاص استفاده می کنند (به عنوان مثال، <doctor>
و <patient>
) برای مکالمات، این مدل عمومی تر است و می توان آن را در حوزه های مختلف برنامه آموزش داد و به کار برد.
در اکثر برنامهها، خروجی یک سیستم دیاریزاسیون مستقیماً به کاربران نشان داده نمیشود، بلکه با یک سیستم تشخیص خودکار گفتار جداگانه (ASR) ترکیب میشود که برای داشتن خطاهای کلمات کوچکتر آموزش داده شده است. بنابراین، برای سیستم دیاریزاسیون، ما نسبت به خطاهای نشانه کلمه تحمل نسبتاً بیشتری داریم تا خطاهای <st>
نشانه بر اساس این شهود، ما یک عملکرد جدید از دست دادن سطح رمز را پیشنهاد می کنیم که به ما امکان می دهد یک مدل تشخیص چرخش بلندگوی کوچک را با دقت بالا در مورد پیش بینی شده آموزش دهیم. <st>
توکن ها همراه با آموزش حداقل خطر بیز (EMBR) مبتنی بر ویرایش، این تابع ضرر جدید به طور قابل توجهی امتیاز F1 مبتنی بر بازه را در هفت مجموعه داده ارزیابی بهبود بخشید.
استخراج ویژگی های صدا
هنگامی که صدای ضبط شده به نوبت های بلندگوی همگن تقسیم شد، از یک مدل رمزگذار بلندگو برای استخراج یک بردار تعبیه شده (به عنوان مثال، d-vector) برای نمایش ویژگی های صدای هر نوبت بلندگو استفاده می کنیم. این رویکرد دارای چندین مزیت نسبت به کارهای قبلی است که بردارهای تعبیه شده را از بخش های کوچک با طول ثابت استخراج می کند. اول، از استخراج تعبیه از یک بخش حاوی گفتار از چندین بلندگو جلوگیری می کند. در عین حال، هر تعبیه محدوده زمانی نسبتاً زیادی را پوشش می دهد که حاوی سیگنال های کافی از بلندگو است. همچنین تعداد کل تعبیههایی را که باید خوشهبندی شوند کاهش میدهد، بنابراین مرحله خوشهبندی هزینه کمتری دارد. این جاسازیها کاملاً در دستگاه پردازش میشوند تا زمانی که برچسبگذاری بلندگوی رونوشت تکمیل شود و سپس حذف شود.
خوشه بندی چند مرحله ای
پس از اینکه صدای ضبط شده با دنباله ای از بردارهای تعبیه شده نشان داده شد، آخرین مرحله این است که این بردارهای جاسازی شده را خوشه بندی کنید و به هر کدام یک برچسب بلندگو اختصاص دهید. با این حال، از آنجایی که ضبطهای صوتی از برنامه Recorder میتوانند به کوتاهی چند ثانیه یا تا 18 ساعت طول بکشند، برای الگوریتم خوشهبندی بسیار مهم است که توالیهایی با طولهای بسیار متفاوت را مدیریت کند.
برای این منظور ما یک استراتژی خوشهبندی چند مرحلهای را برای استفاده از مزایای الگوریتمهای مختلف خوشهبندی پیشنهاد میکنیم. ابتدا از خروجی های تشخیص چرخش بلندگو برای تعیین اینکه آیا حداقل دو بلندگوی مختلف در ضبط وجود دارد یا خیر استفاده می کنیم. برای دنبالههای کوتاه، از خوشهبندی سلسله مراتبی تجمعی (AHC) به عنوان الگوریتم بازگشتی استفاده میکنیم. برای دنبالههای با طول متوسط، از خوشهبندی طیفی به عنوان الگوریتم اصلی خود استفاده میکنیم و از معیار شکاف ویژه برای تخمین دقیق تعداد سخنرانان استفاده میکنیم. برای دنبالههای طولانی، ما هزینه محاسباتی را با استفاده از AHC کاهش میدهیم تا توالی را قبل از تغذیه به الگوریتم اصلی خوشهبندی کنیم. در طول جریان، یک حافظه پنهان پویا از Cluster Cluster AHC قبلی را نگه میداریم که میتوان از آن برای تماسهای خوشهبندی آینده استفاده کرد. این مکانیسم به ما اجازه می دهد تا یک حد بالایی را در کل سیستم با پیچیدگی زمانی و مکانی ثابت اعمال کنیم.
این استراتژی خوشهبندی چند مرحلهای یک بهینهسازی حیاتی برای برنامههای روی دستگاه است که در آن بودجه برای CPU، حافظه و باتری بسیار کم است و به سیستم اجازه میدهد تا در حالت کم مصرف حتی پس از ساعتهای دیارینگ صدا کار کند. به عنوان یک معاوضه بین کیفیت و کارایی، حد بالایی هزینه محاسباتی را می توان به طور انعطاف پذیر برای دستگاه هایی با منابع محاسباتی مختلف پیکربندی کرد.
![]() |
نمودار استراتژی خوشه بندی چند مرحله ای. |
تصحیح و سفارشی سازی
در سیستم بیدرنگ بلندگوی پخش جریانی ما، از آنجایی که مدل ورودی صوتی بیشتری مصرف میکند، در برچسبهای بلندگوهای پیشبینیشده اطمینان جمع میکند و ممکن است گهگاه اصلاحاتی را در برچسبهای بلندگوهای کماعتماد پیشبینیشده قبلی انجام دهد. برنامه Recorder به طور خودکار برچسب های بلندگو را در حین ضبط به روز می کند تا آخرین و دقیق ترین پیش بینی ها را منعکس کند.
در عین حال، رابط کاربری برنامه Recorder به کاربر این امکان را میدهد که نام برچسبهای بلندگوهای ناشناس (مانند “Speaker 2”) را به برچسبهای سفارشی (مثلاً “فروشنده خودرو”) تغییر نام دهد تا خوانایی بهتر و به خاطر سپردن آسانتر برای کاربر در هر ضبط انجام شود.
![]() |
Recorder به کاربر این امکان را می دهد که نام برچسب های بلندگو را برای خوانایی بهتر تغییر دهد. |
کار آینده
در حال حاضر، سیستم دیاریزاسیون ما بیشتر بر روی بلوک CPU Google Tensor، تراشه سفارشی ساخت Google که تلفنهای Pixel جدیدتر را تامین میکند، اجرا میشود. ما در حال کار بر روی واگذاری محاسبات بیشتر به بلوک TPU هستیم که باعث کاهش بیشتر مصرف برق کلی سیستم دیاریزاسیون می شود. یکی دیگر از جهتگیریهای کاری آینده، استفاده از قابلیتهای چندزبانه رمزگذار بلندگو و مدلهای تشخیص گفتار برای گسترش این ویژگی به زبانهای بیشتر است.
قدردانی ها
کار توضیح داده شده در این پست نشان دهنده تلاش های مشترک چندین تیم در Google است. مشارکت کنندگان عبارتند از کوان وانگ، ییلینگ هوانگ، ایوان کلارک، چی کائو، هان لو، گوانلونگ ژائو، وی شیا، هاسیم ساک، آلوین ژو، جیسون پلکانوس، لویزا تیماریو، آلن سو، فن ژانگ، هیو لاو، کریستی برادفورد، وینسنت پنگ، راف تسای، ریچارد چو، ییتونگ لین، آن لو، کلی تسای، هانا بومن، تریسی وو، تارال جوگلکار، دارمش موکانی، آجی دودانی، ایگناسیو لوپز مورنو، دیگو ملندو متاهل، نینو تاسکا، الکس گرونشتاین.