تبدیل صوت به متن Speech to Text چگونه کار می‌کند؟ | مارک پلاس
💡 مشاوره

مارک پلاس

تکنولوژی نوین اینترنتی

Speech to Text چگونه کار می‌کند؟

Speech to Text چگونه کار می‌کند؟

سیستم‌های STT چیست؟ 


مقدمه

STT (Speech to Text) یا تبدیل گفتار به متن یکی از فناوری‌های مهم در حوزه هوش مصنوعی، یادگیری عمیق و پردازش زبان طبیعی (NLP) است که به کامپیوتر اجازه می‌دهد صدای انسان را دریافت کرده و آن را به متن قابل پردازش تبدیل کند.

به زبان ساده:

STT یعنی کامپیوتر بتواند صحبت انسان را بشنود، درک کند و آن را به نوشته تبدیل کند.

مثال:

ورودی صوتی:

🔊 «امروز هوا خیلی خوب است»

خروجی متنی:

امروز هوا خیلی خوب است


Image

STT مخفف چیست؟

STT = Speech To Text

یعنی:

Speech (گفتار)
        ↓
Text (متن)

این فناوری با نام‌های دیگری نیز شناخته می‌شود:

  • Automatic Speech Recognition (ASR)

  • Speech Recognition

  • Voice Recognition (گاهی به اشتباه)

اصطلاح دقیق‌تر علمی معمولاً ASR است.


STT چگونه کار می‌کند؟

یک سیستم STT معمولاً چند مرحله اصلی دارد:

Audio Signal
      ↓
Preprocessing
      ↓
Feature Extraction
      ↓
Acoustic Model
      ↓
Language Model
      ↓
Decoder
      ↓
Text Output


Image


۱. دریافت سیگنال صوتی (Audio Input)

ابتدا صدای انسان توسط:

  • میکروفون

  • فایل صوتی

  • تماس تلفنی

  • ویدئو

دریافت می‌شود.

صدا یک سیگنال آنالوگ است که به داده دیجیتال تبدیل می‌شود.

مثلاً:

صدای انسان
↓
نمونه‌برداری دیجیتال
↓
داده صوتی

۲. پیش‌پردازش صوت (Audio Preprocessing)

قبل از تحلیل، صوت پاک‌سازی می‌شود.

کارهایی مانند:

  • حذف نویز

  • تنظیم بلندی صدا

  • حذف سکوت‌های طولانی

  • تشخیص بخش‌های دارای گفتار

انجام می‌شود.

مثلاً:

صدای خام:

[سکوت] [صحبت] [نویز] [صحبت]

تبدیل می‌شود به:

[صحبت] [صحبت]

۳. استخراج ویژگی صوتی (Feature Extraction)

کامپیوتر مستقیماً صدا را مثل انسان درک نمی‌کند.

بنابراین ویژگی‌های مهم صوت استخراج می‌شوند.

یکی از معروف‌ترین ویژگی‌ها:

MFCC (Mel-Frequency Cepstral Coefficients)

است.

MFCC اطلاعاتی درباره:

  • فرکانس صدا

  • الگوی تلفظ

  • ویژگی‌های آوایی

ارائه می‌دهد.


۴. مدل آکوستیک (Acoustic Model)

وظیفه مدل آکوستیک:

تبدیل ویژگی‌های صوتی به واحدهای زبانی مانند فونم‌ها و کلمات

مثلاً:

صدای:

/s/ /a/ /l/

را تشخیص داده و به کلمه:

سال

تبدیل می‌کند.


۵. مدل زبانی (Language Model)

مدل زبانی کمک می‌کند خروجی منطقی‌تر شود.

مثال:

صوت:

من به بانگ رفتم

ممکن است اشتباه تشخیص داده شود.

مدل زبانی با توجه به معنی جمله اصلاح می‌کند:

من به بانک رفتم

زیرا احتمال این جمله بیشتر است.


۶. Decoder (رمزگشا)

Decoder خروجی مدل صوتی و مدل زبانی را ترکیب می‌کند و بهترین متن ممکن را انتخاب می‌کند.


روش‌های قدیمی STT

۱. سیستم‌های مبتنی بر قوانین

در گذشته سیستم‌ها بر اساس قوانین دستوری ساخته می‌شدند.

مشکل:

  • انعطاف کم

  • دشواری در لهجه‌ها

  • عملکرد ضعیف در محیط واقعی


۲. Hidden Markov Model (HMM)

سال‌ها روش اصلی تشخیص گفتار بود.

ساختار:

Audio
 ↓
HMM
 ↓
Text

مزیت:

  • مناسب برای مدل‌سازی توالی صدا

مشکل:

  • محدودیت در یادگیری الگوهای پیچیده


۳. Gaussian Mixture Model (GMM)

معمولاً همراه HMM استفاده می‌شد.


STT مدرن با یادگیری عمیق

امروزه سیستم‌های STT از شبکه‌های عصبی عمیق استفاده می‌کنند.

معماری‌های مهم:

  • DNN

  • CNN

  • RNN

  • LSTM

  • Transformer


مدل‌های مبتنی بر RNN و LSTM

RNN و LSTM برای داده‌های ترتیبی مناسب هستند.

در STT:

Audio Sequence
       ↓
LSTM
       ↓
Text

مزیت:

  • درک ترتیب زمانی صدا

مشکل:

  • سرعت کمتر

  • محدودیت در وابستگی‌های طولانی


Transformer در سیستم‌های STT

امروزه بسیاری از سیستم‌های پیشرفته از Transformer استفاده می‌کنند.

مزایا:

  • پردازش موازی

  • درک بهتر وابستگی‌های طولانی

  • دقت بالاتر

نمونه معروف:

OpenAI Whisper

Whisper یک مدل تشخیص گفتار مبتنی بر Transformer است که برای زبان‌ها و شرایط صوتی مختلف آموزش دیده است.


معماری کلی STT مبتنی بر Transformer

Audio
 |
Feature Encoder
 |
Transformer Encoder
 |
Decoder
 |
Text

مدل یاد می‌گیرد:

  • صدا

  • زبان

  • ساختار جمله

  • معنی

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


کاربردهای سیستم‌های STT

۱. دستیارهای صوتی

مانند:

  • دستیارهای موبایل

  • سیستم‌های خانه هوشمند

فرآیند:

صدای کاربر
 ↓
STT
 ↓
درک فرمان
 ↓
پاسخ
 ↓
TTS

۲. تایپ صوتی (Voice Typing)

تبدیل صحبت به نوشته در:

  • موبایل

  • کامپیوتر

  • نرم‌افزارهای اداری


۳. زیرنویس خودکار

کاربرد در:

  • ویدئوها

  • جلسات آنلاین

  • آموزش مجازی


۴. مرکز تماس هوشمند

STT برای:

  • تبدیل مکالمات مشتریان به متن

  • تحلیل رفتار مشتری

  • جست‌وجوی مکالمات

استفاده می‌شود.


۵. تحلیل جلسات

مثلاً:

یک جلسه یک‌ساعته:

صوت جلسه
 ↓
STT
 ↓
متن جلسه
 ↓
خلاصه‌سازی با AI

۶. پزشکی

کاربردها:

  • تبدیل صحبت پزشک به پرونده پزشکی

  • ثبت گزارش‌های درمانی


چالش‌های STT

۱. نویز محیط

مثال:

  • خیابان شلوغ

  • صدای چند نفر

  • موسیقی پس‌زمینه


۲. لهجه‌ها

یک جمله ممکن است با لهجه‌های مختلف متفاوت تلفظ شود.


۳. زبان‌های کم‌منبع

زبان‌هایی که داده صوتی کمی دارند، سخت‌تر پردازش می‌شوند.

مثلاً:

  • لهجه‌های محلی

  • زبان‌های کمتر رایج


۴. کلمات مشابه

مثال:

در فارسی:

حاضر
حاظر

مدل باید از مفهوم جمله استفاده کند.


معیارهای ارزیابی STT

Word Error Rate (WER)

مهم‌ترین معیار ارزیابی است.

فرمول:

[
WER = \frac{S + D + I}{N}
]

که شامل:

  • S = جایگزینی کلمه

  • D = حذف کلمه

  • I = اضافه شدن کلمه

است.

هرچه WER کمتر باشد، سیستم بهتر است.


تفاوت STT و TTS

ویژگیSTTTTS
ورودیصدامتن
خروجیمتنصدا
هدففهم گفتارتولید گفتار
کاربردتبدیل صحبت به نوشتهخواندن متن

مثال:

STT:

🎤 صدا → متن

TTS:

📝 متن → 🔊 صدا

رابطه STT، NLP و TTS

یک دستیار صوتی کامل:

کاربر صحبت می‌کند
        ↓
       STT
        ↓
       NLP
        ↓
      تولید پاسخ
        ↓
       TTS
        ↓
صدای پاسخ

جمع‌بندی


ImageSTT یا Speech to Text فناوری تبدیل گفتار انسان به متن است که یکی از پایه‌های اصلی تعامل انسان و ماشین محسوب می‌شود.

مراحل اصلی آن:

  1. دریافت صوت

  2. پردازش سیگنال

  3. استخراج ویژگی‌ها

  4. تحلیل آکوستیک

  5. استفاده از مدل زبانی

  6. تولید متن نهایی

امروزه با استفاده از یادگیری عمیق و Transformer، سیستم‌های STT به دقت بسیار بالایی رسیده‌اند و در حوزه‌هایی مانند:

  • دستیارهای صوتی

  • ترجمه همزمان

  • جلسات هوشمند

  • پزشکی

  • آموزش

  • خدمات مشتریان

نقش مهمی دارند.