دستیارهای دیجیتال از فرایندی به نام تشخیص صدا جهت شناخت اینکه ما چه میگوییم استفاده میکنند. به همین علت ما قادر به مدیریت جهات مختلفی از زندگیمان تنها با داشتن یک مکالمه با گوشیمان یا سخنگوی هوشمند هستیم.
اگرچه تشخیص صدا چنین بخش بزرگی از روزمره ما را تشکیل میدهد اما معمولا درباره اینکه این فرایند چگونه کار میکند تحقیق نمیکنیم. مسائل پشتپرده زیادی در مورد این تکنولوژی وجود دارد که در این مقاله به آن میپردازیم.
تشخیص صدا چیست؟
دستگاههای هوشمند مدرن معمولا با یک دستیار صدا از راه میرسند، برنامهای که از تشخیص صدا استفاده میکند تا برخی کارها در دستگاه را به انجام برساند. تشخیص صدا مجموعهای از الگوریتمهاست که کمک میکنند صدای شما به سیگنالهای دیجیتال تبدیل شود مشخص میکنند که شما دقیقا چه میگویید. برنامههایی نظیر مایکروسافت آفیس از این مزیت جهت تایپ اسناد استفاده میکنند.
نخستین سیستم تشخیص صدا
نخستین سیستم تشخیص صدا با نام AUDREY شناخته میشد. این نام مخففی از سرواژههای “Automated Digit Recognition” است که در سال ۱۹۵۲ توسط آزمایشگاههای بل ابداع شد. AUDREY میتوانست کاراکترهای عددی را تشخیص دهد. گوینده یک عدد را به زبان میآورد و دستگاه یکی از ده چراغ مربوط به هر عدد را روشن میساخت.
این اختراع هرچند پیشگامانه بود، اما استقبال خوبی از آن نشد. این دستگاه به تنهایی ۶ فوت بلندی داشت و فضای بسیاری را اشغال میکرد. علاوه بر بزرگی، این دستگاه تنها توانایی شناسایی اعداد ۰ تا ۹ را داشت که حساسیت آن نیز نسبت به صدای مشخصی بود. لذا این دستگاه فقط توسط شخص خاصی قابل استفاده بود.
با وجود خطاهایی که AUDREY داشت اما این نخستین گام از سفر پرماجرای پیشرفت سنسورهای تشخیص صدا و رسیدن آنها به مرحله امروزی بود. دیری نپایید که دستگاههای تشخیص صدای بعدی توانستند دنبالهای از کلمات را تشخیص دهند.
فرایند تشخیص صدا با تبدیل صدا به کاراکترهای دیجیتال آغاز میشود
سیستمهای تشخیص صدا گامهای مشخصی را طی میکنند تا دریابند ما چه میگوییم. وقتی میکروفن شما صدایتان را دریافت میکند آن را به یک سیگنال الکتریکی تبدیل میکند که به یک مبدل آنالوگ به دیجیتال وارد میشود. این مبدل سیگنال جریان آنالوگ را به سیگنال باینری دیجیتال تبدیل میکند.
همچنین مبدل آنالوگ به دیجیتال هنگام عبور این جریان نمونههایی در واحد زمان از آن استخراج میکند و ولتاژ این نمونهها را به دست میآورد. ولتاژهای گرفتهشده از این نمونههای جریان را نمونه میگویند. طول هر نمونه فقط چند هزارم ثانیه است. بر اساس این نمونهها مبدل هشت کاراکتر باینری را مرتب میکند (یک بایت داده).
صدا برای افزایش وضوح آن پردازش میشود
با توجه به اینکه دستگاه بایستی مشخصا بداند که ما چه میگوییم، لذا بایستی پردازشهایی روی آن جهت افزایش وضوح صدای دریافتی صورت پذیرد. گاهی اوقات دستگاه در محیطهایی که نویز صوتی وجود دارد به کار گرفته میشود و کدگشایی روی این صدا بایستی صورت پذیرد، لذا فیلترهایی تعبیه شدهاند که به حذف نویز در پسزمینه کمک میکنند. در برخی سیستمهای تشخیص صدا فرکانسهای بالاتر و پایینتر از حوزه شنوایی انسان در نظر گرفته نمیشوند.
این سیستم تنها از دست فرکانسهای ناخواسته خلاص نمیشود، بلکه برخی فرکانسهای معین را موکدا تقویت میکند تا کامپیوتر بهتر بتواند آنها را نسبت به نویز تشخیص دهد.
برخی از سیستمهای تشخیص صدا نیز صدا را به چندین فرکانس مجزا تقسیم میکنند.جنبههای دیگر از جمله سرعت و بلندی صدا برای منطبق شدن بهتر با صدای مرجع تنظیم میشوند. این فیلترکردن و رفع نویز واقعا به بهتر شدن دقت کلی کمک میکند.
تشخیص صدا شروع به ساختن کلمات میکند
دو راه برای آنالیز سخن در این سیستم وجود دارد. اولی مدل مارکوف مخفی و دیگری شبکه عصبی.
مدل مارکوف مخفی
این مدل در اکثر سیستمهای تشخیص صوت به کار گرفته میشود که در آن سخنان به واجهای آنها تقسیم میشوند. واجهای محدودی در هر زبان وجود دارند که باعث میشود این روش بسیار کاربردی باشد.
حدود ۴۰ واج در زبان انگلیسی وجود دارد که هنگامی که سیستم یکی را تشخیص میدهد احتمال آن که واج بعدی چیست را هم میتواند حدس بزند.
برای مثال اگر سیستم واج ta را تشخیص دهد این احتمال وجود دارد که واج بعدی p باشد و کلمه tap تشکیل شود. همچنین امکان دارد واج s بعدی باشد اما این احتمال بسیار دور از انتظار است. اگر حرف بعدی که دستگاه دریافت میکند شباهت بسیاری با p داشتهباشد دستگاه تا حدود زیادی میتواند اطمینان داشتهباشد که درست حدس زدهاست.
شبکه عصبی
شبکه عصبی شبیه به یک مغز دیجیتال است که با همان روش مغز بشر چیزهای زیادی میآموزد. شبکههای عصبی ابزاری عملی در پیشبرد هوش مصنوعی یادگیری عمیق است.
نوعی از شبکه عصبی که در تشخیص صدا مورد استفاده قرار میگیرد از نوع مکرر یا RNN است. RNN به اینصورت عمل میکند که خروجی عملیات در مرحله قبل به عنوان ورودی در مرحله جدید بهکار گرفته میشود. این بدان معنی است که هنگامی که RNN روی یک بیت پردازش انجام میدهد از داده مرحله قبل استفاده میکند تا بر روی عملیات روی داده بعدی اثر بگذارد و به طور خلاصه از تجربه به عنوان سلاحی برای یادگیری استفاده میکند.
هرچه RNN بیشتر در معرض یک زبان خاص قرارگیرد ، تشخیص صدا دقیقتر خواهدبود. اگر سیستم صدای ta را ۱۰۰ بار تشخیص دهد، و پس از آن صدای P 90 بار در آن زمان وجود داشتهباشد ، شبکه اساساً میتواند بیاموزد که p معمولاً بعد از ta میآید.
به همین دلیل ، هنگامی که سیستم تشخیص صدا یک واج را تشخیص میدهد ، از دادههای جمعآوری شده برای پیشبینی اینکه کدامیک به احتمال زیاد متعاقبا خواهدآمد ، استفاده میکند. از آنجا که RNN ها به طور مداوم یاد میگیرند ، هرچه بیشتر استفاده شوند ، تشخیص صدا دقیقتر خواهدبود.
پس از شناسایی سیستم تشخیص صدا کلمات (چه با مدل مخفی مارکوف و چه با RNN) ، این اطلاعات به پردازنده ارسال میشود. سپس سیستم وظیفهای را که باید انجام شود را انجام میدهد.
تشخیص صدا به عنوان یکی از اصلیترین فناوریهای مدرن تبدیل شده است
تشخیص صدا به بخش مهمی از چشمانداز تکنولوژیکی مدرن ما تبدیل شدهاست. در صنایع و خدمات مختلف در سراسر جهان اجرا شده است. در واقع، بسیاری از مردم کل زندگی خود را با دستیارهای صدا کنترل میکنند. میتوانید دستیارهایی مانند Siri را که روی ساعتهای اپل بارگذاری شده است را ملاحظه کنید. آنچه در سال ۱۹۵۲ فقط یک رویا بود ، به واقعیت تبدیل شدهاست و به نظر نمیرسد به این زودیها متوقف شود.