یکی از کاربردهای مهم پردازش گفتار، یافتن کلمات کلیدی در گفتار است. به عنوان مثال یک پایگاه داده از صداهای ضبط شده را در نظر بگیرید. فرض کنید بخواهیم در این گفتارها به دنبال مجموعه ای از واژه های کلیدی بگردیم. در این صورت باید از الگوریتم های واژه‌یابی گفتار استفاده کنید. یکی از مقال هایی که این الگوریتم می تواند در آن جا مورد استفاده قرار گیرد، گفتارهای ضبط شده در یک کلاس درس است. مثلا فرض کنید که گفتارهای درس مدارهای الکتریکی ضبط شده باشد و ما می خواهیم بدانیم در کدامیک از قسمت های این مجموعه در مورد کلمه کلیدی دیود صحبت شده است.

۱. مقدمه

برای دهه ها تشخیص خودکار کلمات کلیدی1 به عنوان یکی از موضوعات تحقیقات علمی مطرح شده و به دلیل افزایش سرعت محاسبه و دقت سیستمهای دیجیتال، پیاده سازی این سیستم ها رشد چشمگیری داشته است[3]. حوزه ی پردازش گفتار گستره ی وسیعی از مسائلی که مرتبط با پردازش و شناسایی گفتار است را در بر می گیرد که در هر مورد صورت مسئله با توجه به فرضیاتی که برای سادگی حل اعمال می شوند متفاوت است. برای نمونه در برخی مسائل فرض بر این است که ما در یک پایگاه داده ی از پیش مشخص به دنبال یافتن برخی از کلمات کلیدی هستیم در حالی که در دسته ای دیگر از مسائل می بایست تشخیص کلمات کلیدی2 بر روی یک جریان داده انجام گردد3. با همه این تفاوت ها هدف مشترک هر دو مسئله را می توان به شرح زیر تعریف نمود:
ساخت یک سیستم تشخیص کلمه، که قادر است تعداد محدودی از کلمات یا عبارات کلیدی از پیش تعیین شده را در گفتار گوینده تشخیص دهد در حالیکه از بقیه ی گفتار گوینده چشم پوشی می کند.
تعریف فوق هدف مشترک این دو دسته مسئله را بیان می کند در حالی که این دو دسته مسئله کاربردهای متفاوتی دارند. برای نمونه اگر هدف تشخیص کلمات کلیدی در یک جریان داده باشد و عمل تشخیص کلمات کلیدی به طور پیوسته انجام گردد کاربردهای زیادی(از جمله استفاده این سیستم ها در خانه ها هوشمند) را می توان برای آن متصور بود. اگر پایگاه داده از قبل مشخص باشد نیز کاربرد هایی چون جستجوی کلمات کلیدی در پایگاههای داده ی بزرگ را می توان برای آن برشمرد.
برای حل این دو دسته مسئله، دو نوع فیلتر مختلف طراحی و استفاده می گردد:

  1. فیلتر واجی: که وظیفه ی آن تشخیص واج های مختلفی است که گوینده ادا می کند. در این نوع فیلتر هر واج مختلف فیلتر مخصوص به خود را دارد که در صورت تشخیص واج مورد نظر خروجی مطلوب را تولید می کند.

  2. فیلتر بخشی: وظیفه ی این نوع فیلتر تشخیص بخش های کلمات کلیدی است و مانند فوق هر بخش دارای فیلترهای متعددی است که هر کدام وقوع بخش های مورد نظر خود را تشخیص می دهد.
    در پیاده سازی چون بخش ها از نظر مدت صدا بزرگتر از واج ها هستند؛ فیلترهای واجی عملکرد بهتری دارند[4].

۲. کارهای مرتبط

راه حل هایی که برای تشخیص کلمات کلیدی به طور پیوسته ارائه شده به شرح زیر است:

  1. تطبیق الگو4. در این روش با استفاده از تکنیک های برنامه نویسی پویا؛ در هر لحظه از زمان یک فاصله نسبت به الگوی صدای هر کلمه ی کلیدی محاسبه می شود و بر اساس این فاصله ی محاسبه شده: وقوع یا عدم وقوع کلمه ی کلیدی تعیین می گردد.

  2. مدل مخفی مارکوف5. در این روش شباهت صحبت گوینده با کلمات کلیدی یا زیربخش های کلمات کلیدی طبق مدل مخفی مارکوف آن کلمه یا زیربخش سنجیده می شود. در گام بعدی؛ امتیاز شباهت بدست آمده توسط رویه ی امتیاز دهی مدل مارکوف با یک حد آستانه مقایسه می گردد و با توجا به نتیجه مقایسه روخداد یا عدم رخداد کلمه ی کلیدی تشخیص داده می شود[5].

  3. شبکه عصبی6. اخیرا نوع خاصی از شبکه های عصبی در حل مسئله ی تشخیص کلمات کلیدی به کار گرفته شده اند. شبکه های عصبی با تاخیر زمانی7 نوعی شبکه عصبی هستند که قادر به تشخیص رویدادن کلمات کلیدی هستند[6]. همچنین از شبکه های عصبی چند لایه نیز برای حل این مسئله استفاده گردیده[2].

  4. روش های ترکیبی: برای نمونه مدلی مرکب ارائه گردیده که مرکب از مدل مخفی مارکوف و یک شبکه ی عصبی مصنوعی با توابع شعاعی8 است و قادر است با عملکرد خوبی کلمات کلیدی مورد نظر را تشخیص دهد. در این روش ها سعی بر آن است که از مزایای هر کدام از روش ها استفاده گردد تا عملکرد کلی سیستم بهتر از به کارگیری جداگانه هر یک از این روش ها باشد.
    از راه های ارائه شده برای حل مسئله ی تشخیص کلمات کلیدی در گفتار؛ مدل مخفی مارکوف بیشتر توسعه پیدا کرده و در اغلب سییتم های پردازش پیوسته ی گفتار بکار گرفته می شود. برای نمونه مخفی مارکوف در سیستمی که علاوه بر تشخیص کلمات کلیدی، توانایی تشخیص کلمات غیر کلیدی را نیز دارد به کار گرفته می شود[7]. این کار به کمک مدل کردن واج های مختلف با فیلترهایی که از مدل مخفی مارکوف بهره می برند قابل پیاده سازی می باشد.

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] Mandal, Anupam, KR Prasanna Kumar, and Pabitra Mitra. "Recent developments in spoken term detection: a survey." International Journal of Speech Technology 17.2 (2014): 183-198.
[2] Chen, Guoguo, Carolina Parada, and Georg Heigold. "SMALL-FOOTPRINT KEYWORD SPOTTING USING DEEP NEURAL NETWORKS."
[3] Yong Ling. "keyword spotting in continous speech utterance." 1999
[4] Javier Tejedor, Dong Wang, Joe Frankel, Simon King, Jose´ Cola´s. "A comparison of grapheme and phoneme-based units
for Spanish spoken term detection." 2008
[5] David Grangier, Joseph Keshet, Samy Bengio. "Discriminative Keyword Spotting."
[6] Richard C.Rose. "Word Sspotting from continous speech utterance." 1996
[7] Richard C. Rose, Douglas B. Paul. "A HIDDEN MARKOV MODEL BASED KEYWORD RECOGNITION SYSTEM." 1990

۶. پیوندهای مفید


  1. ASR: Automatic Speech Recognition

  2. KWS: Keyword Spotting

  3. CSR: Continous Speech Recognition

  4. Template Matching

  5. Hidden Markov Model

  6. Neural Network

  7. TDNN: Time Delay Neural Network

  8. Radial Basis Function

امین جولا

در این فاز به خوبی شرح مسئله ابعاد مختلف و روش های آن را به طور کلی شرح داده بودید و هدف این فاز که ارائه یک دید کلی از نوع مسئله و روش‌های حل آن به مخاطب بود را به خوبی برآورده کرده‌اید.
اما لازم است نکات زیر را در فازهای بعدی مورد توجه قرار دهید:
• ترتیب لیست مراجع با ترتیب آمدن آنها در متن همخوانی ندارد. ضمنا در متن به مرجع 1 اشاره ای نشده است.
• جدیدترین مرجع شما مربوط به سال 2008 است. بنابر این به نظر میرسد با مطالعه مراجع جدیدتر اشراف جامع تری نسبت به مساله پیدا کنید. مانند مراجع زیر:
SMALL-FOOTPRINT KEYWORD SPOTTING USING DEEP NEURAL NETWORKS
SPEECH RECOGNITION AND KEYWORD SPOTTING FOR LOW RESOURCE LANGUAGES: BABEL PROJECT RESEARCH AT CUED
• امروزه نشان داده شده است که روش های یادگیری عمیق کاراریی بالایی در پردازش گفتار دارند. به همین خاطر سعی کنید راهکاری مبتنی بر همین روش یادگیری ارائه دهید.

باز هم از زحمتی که کشیده شده تشکر میکنم.