این مقاله در مورد مفاهیم اولیهی پردازش گفتار، اهداف و انوع آن و نیز در مورد انتقال گفتار صحبت میکند
گفتار چیست؟
گفتار به عنوان مهمترین ابزار ارتباطی بین انسانها شناخته میشود.گفتار نوعی صوت حاوی کد است که عمل کدینگ آن را مغز به عهده دارد. روند تبدیل یک پیغام به گفتار داخل مغز در شکل با جزئیات کامل نمایش داده شده است.
همانطور که مشخص است در ابتدا، مفهوم یک پیام در مغز ایجاد میشود، سپس با استفاده از ساختار زبان (گرامر و کلمات و…) جملات ساخته میشوند. برای انتقال گفتار، مغز با استفاده از دستگاه تنفسی به همراه حنجره، زبان و دهان امواج صوتی را در هوا ایجاد میکند.
در سمت مقابل برای دریافت پیام موجود در این امواج صوتی، انسان با استفاده از گوش امواج را دریافت میکند و عمل دیکدینگ را با سیستمهای متناظر به صورت معکوس انجام میدهد. انتقال گفتار با نرخ بسیار بالاتری نسبت به مفهوم داخل مغز صورت میگیرد.
روند انتقال گفتار بین گوینده و شنونده
از نکات جالبی که شاید به آنها در روند انتقال گفتار توجه نکرده باشید میتوان به این مطلب اشاره کرد:
انسان تنها در زمان بازدم قادر به ایجاد امواج صوتی حاوی گفتار است.
همچنین برای شکلگیری یک پیام در مغز که به طور مثال حاوی احساس گرسنگی است نرخ اطلاعات پایینی مورد نیاز است،
اما در انتقال گفتار نرخ اطلاعات پردازش شده در مغز برای تبدیل این پیام به گفتار چندین برابر میشود.
نکته حائز اهمیت دیگری که برای انتقال گفتار مطرح است
نیاز به یک زبان مانند فارسی یا انگلیسی است که مغز از ساختار گرامری و کلمات آن زبان در لایه اول کدینگ استفاده کند.
به طور سادهتر میتوان این چنین بیان کرد که افرادی که چندین زبان را بلد هستند
میتوانند ابزارهای کدینگ خود را در لایه اول انتخاب کنند.
تفاوت افرادی که زبان دوم خود را به خوبی صحبت میکنند با افرادی که تازه شروع به یادگیری زبان جدیدی کردهاند را میتوان به سادگی با توجه به شکل بیان کرد. افراد مسلط بر زبان دوم، لایه اول کدینگ را به کلی عوض میکنند،
اما افرادی که زبانی را به تازگی آموختهاند به جای تعویض لایه اول کدینگ سعی در استفاده از لایه اول کدینگ زبان جدید در امتداد زبان مادری خود دارند. به همین دلیل سرعت صحبت کردن پایینتری دارند و تبدیل زبان مادری به زبان جدید در تمامی جملات میتواند به صورت بهینه صورت نگیرد.
پردازش گفتار و اهداف آن
در گفتار اطلاعات مختلفی موجود است که هر کدام برای شنونده معنا و مفهوم خاصی را ایجاد میکند.
برای انتقال این مفاهیم به ماشین، نیاز به انجام پردازشهای مختلفی بر روی سیگنال گفتار است.
با توجه به پیشرفت تکنولوژی و ورود بیش از پیش آن به زندگی روزمرهی انسان، در سالهای اخیر، ماشینها در قسمتهای مختلفی حضور پیدا کردهاند که با گفتار سروکار دارند.
برای اینکه ماشینها بتوانند نقش خود را در یک سیستم وابسته به گفتار انسان به خوبی انجام دهند
نیاز است که بتوانند پردازش گفتار را به نحو احسنت انجام دهند.
پردازش گفتار کلمهای کلی برای هرگونه عملیات محاسباتی است که بر روی سیگنالهای صوتی خارج شده از سیستم صوتی انسان صورت میگیرد. این پردازشها میتوانند تنها یک عمل فیلترگذاری ساده برای بهبود کیفیت یا یک پردازش بسیار پیشرفته برای بازشناسی گفتار باشند. به طور مثال برای سیستمهای شناسایی گوینده که در بخشهای امنیتی کاربرد دارند نیاز به یک سیستم پردازش دقیق بر روی ویژگیهای استخراج شده از سیگنال گفتار است تا از بروز خطا جلوگیری شود
این در حالی است که پردازش گفتار مورد نیاز برای سیستم مکالمات تلفنی جنسیتی کاملا متفاوت با سیستم شناسایی گوینده دارد و هدف اصلی آن حفظ کیفیت گفتار در حین کاهش حجم آن برای ارسال بر روی خطوط تلفن یا از طریق امواج است. موارد بسیار متفاوت و متنوعی برای پردازش گفتار میتوان در نظر گرفت که هر کدام کاملا با دیگری متفاوت هستند و روشهای مختلفی برای هر کدام پیشنهاد شده است. در ادامه به بررسی بسیاری از موارد پردازش گفتار پرداخته خواهد شد و ترکیب این سیستمهای پردازش گفتار را به عنوان بعضی از سیستمهای بزرگ مورد استفاده در کاربردهای مختلف مورد بررسی قرار خواهیم داد.
انواع پردازش گفتار
در این بخش به توضیح مختصری در مورد سیستمهای مختلف مورد استفاده در کاربردهای متنوع پردازش گفتار میپردازیم.
-
بازشناسی خودکار گفتار[1]:
یکی از پررنگترین کاربردهای مورد استفاده برای پردازش گفتار، بازشناسی خودکار گفتار است.
برای تبدیل یک گفتار به اطلاعات قابل فهم برای کامپیوتر احتیاج است که آن را به متن تبدیل کنیم.
عمل تبدیل گفتار به متن را بازشناسی خودکار گفتار مینامند.
این دسته از پردازشها یکی از زمینههای مورد علاقه برای پژوهندگان است.
ساختار گفتار پیوسته است. میتوان برای بیان سادهتر، این نکته مهم را این چنین مطرح کرد، زمانی که یه جمله به صورت ناقص بین دو انسان انتقال پیدا میکند در برخی موارد اگر شونده تنها %30 پیام را توسط سیستم شنوایی خود دریافت کند، قادر خواهد بود که کل مفهوم موجود در پیام را بدون از دست رفتن هیچ قسمتی از آن متوجه شود. دلیل چنین رخدادی وجود پیوستگی در حروف، هجاها، کلمات، جملات و بخشهای دیگر گفتار است. انسان بدون نیاز به تفکر به صورت ناخودآگاه در تمامی مکالمات خود از قابلیت پیوستگی گفتار استفاده میکند.
انتقال مفهوم پیوستگی گفتار به ماشین توسط برنامهنویسی کاری بسیار پیچیده است و نیاز به سیستمهای مختلفی دارد که بتوانند چنین پیچیدگی را به صورت جزء جزء به برنامه اضافه کنند. در مقاله ای دیگر به بررسی مشکلات موجود برای بازشناسی گفتار پرداخته میشود و در یه دوره آموزشی چندین روش مختلف بازشناسی گفتار را به صورت کامل با زبان پایتون پیاده خواهیم کرد و به مقایسه آنها با یکدیگر میپردازیم.
کاربردهای مختلفی برای بازشناسی گفتار میتوان نام برد که موارد زیر نمونههای سادهای از آنها هستند:
- فرامین کنترلی برای یک دستگاه مثل “توقف” و “شروع”
- تبدیل صوت به نوشتار در ارسال پیامک
- ابزاری برای افرادی که ناتوانی حرکتی دارند و قادر به تایپ کردن نیستند.
-
تبدیل متن به گفتار[2]:
پردازش گفتار برای تبدیل متن به گفتار دقیقا نقطه مقابل بازشناسی خودکار گفتار است. در این نوع پردازش به جای برقراری ارتباط از طرف انسان با ماشین، هدف برقراری ارتباط از طرف ماشین با انسان به وسیلهی گفتار است. کاربردهای متفاوتی میتوان برای این مسئله متصور بود که یکی از آنها نرم افزارهای کتابخوان هستند که با دریافت متن میتوانند آن را بخوانند.
-
بهسازی گفتار[3]:
سیگنال گفتار میتواند دچار اعوجاج شود. به صورت کلی میتوان دو دسته نویز برای تخریب سیگنال گفتار در نظر گرفت. دسته اول نویزهای جمعی[4] و دسته دوم نویزهای کانولوشنی[5] میباشند. برای بهبود کیفیت سیگنال تخریب شده توسط نویز، روشهای متفاوتی ارائه شده است که با توجه به هدف مورد نظر، هر کدام کاربردهای متفاوتی دارند.
بهسازی گفتار خود در عنوان یک روش پیشپردازش برای بسیاری از سیستمهای پردازش گفتار مورد استفاده قرار میگیرد. عمدتاً روشهای بهسازی گفتار بر کاهش اثر نویز جمعی تمرکز دارند. نویز جمعی میتواند انواع مختلفی داشته باشد به طور مثال صدای ضبط شده در داخل یک استادیوم فوتبال، آلوده به نویز جمعی است. به عنوان یکی از مهمترین سیستمهای پردازش گفتار در یک دوره آموزشی، روشهای ساده تا پیشرفته بهسازی گفتار را با استفاده از زبان برنامهنویسی پایتون پیاده خواهیم کرد و تاثیرات آنها را بر روی سایر سیستمهای پردازش گفتار میسنجیم. -
کدینگ گفتار[6]:
به طور کلی کدینگ گفتار با دو هدف افزایش امنیت یا کاهش منابع مورد استفاده صورت میگیرد. برای توضیح بهتر، این دسته از پردازشهای گفتار را در مثال توضیح میدهیم. گفتار انسان فرکانسهای بین 20Hz-20kHz را شامل میشود. اما اطلاعات گفتار بیشتر در فرکانسهای پایین متمرکز هستند. میتوان با اعمال تبدیلهای مختلف و یا استخراج ویژگیهای جدید به نوعی تمرکز را بیشتر بر روی فرکانسهای حاوی اطلاعات بیشتر معطوف کرد. این کار با هدف حفظ کیفیت گفتار در خلال کاهش منابع، مورد استفاده میگیرد. از اهداف دیگر کدینگ گفتار میتوان به رمزنگاری برای انجام مکالمات رمزگذاری شده اشاره کرد. این کاربرد بیشتر برای موارد نظامی و امنیتی کاربرد دارد. این دسته از پردازش گفتار بیشتر در مخابرات گفتاری مورد استفاده قرار میگیرند.
- شناسایی گوینده[7]:
به عنوان یکی از روشهای مهم برای تشخیص هویت کاربرد دارد.
در این روش صدا هر فرد مشخصکنندهی هویت وی میباشد. -
شناسایی احساسات[8]:
صحبتهای هر فرد میتواند حاوی اطلاعاتی از حالات روحی وی باشد.
احساسات به دو گونه در گفتار بروز میکنند.
در حالت اول کلمات مختلفی که در جملات به کار میروند میتوانند بیانگر احساسات فرد گوینده باشند
و در حالت دوم که مهمتر از حالت اول است لحن بیان کلمات مشخصکننده احساسات است.
در این دسته از پردازشها تنها حالات دوم مد نظر قرار میگیرند و در صورت تمایل برای به دست آوردن حالات روحی افراد از روی مفهوم جملات ادا شدهباید از یک سیستم بازشناسی گفتار استفاده کرد.
دادگان مختلفی برای بررسی حالات احساسی افراد با توجه به لحن بیان جملات در دسترس عموم قرار گرفته است،
که تعداد کلاسهای حالات احساسی در نظر گرفته شده در هر یک از آنها با دیگری متفاوت است. این دسته از پردازشهای گفتار در هوشمندسازی بیشتر سیستمهای مبتنی بر رباتهای خودکار بسیار مورد اهمیت هستند. همچنین، میتوانند کاربردهای روان پزشکی نیز داشته باشند. -
آنالیز گفتار[9]:
محتوای گفتار در این نوع پردازش بیشتر مورد بحث است. به طور مثال در این نوع پردازش، سیستم تشخیض میدهد که در صحبتهای انجام شده موضوع سیاسی و یا ورزشی بوده است.
-
جداسازی منابع[10]:
همانطور که در قسمت بهسازی گفتار اشاره شد، نویزهای سیگنال گفتار را میتوان به دو دسته جمعی و کانولوشنی تقسیم کرد. نویز جمع شونده در سیگنال گفتار به صدایی اتلاق میشود که به صورت ناخواسته در کنار سیگنال گفتار در محیط حضور دارد. حال در صورتیکه منبع این نویز صدای یک فرد دیگر در محیط باشد که به صورت همزمان صحبت میکند میتوان از روشهای مختلفی که در بحث جداسازی گویندهها مطرح است استفاده کرد.
به صورت کلی دو دسته برای پردازشهای گفتار با هدف جداسازی گوینده مطرح است که در دسته اول هدف بازسازی و تفکیک تمامی منابع گفتار از یکدیگر است و در روش دوم بدون توجه به تعداد گویندگان، هدف استخراج تنها صدای یکی از گویندگان است و با بقیه اصوات همانند نویز برخورد میشود. کاربردهای متفاوتی برای این دسته از پردازشهای گفتار میتوان متصور شد. به طور مثال جداسازی صدای رانندهی یک ماشین از سایر سرنشینان برای دریافت فرمانهای صوتی مثالی پرکاربرد از این دسته از پردازشهای صوتی است. همچنین مکتوبسازی صحبتهای یک جلسه به کمک این سیستم به همراه یک سیستم بازشناسی گفتار انجام میشود.
-
شناسایی زبان[11]:
یک کاربرد ساده و بسیار مهم از پردازشهای گفتار
استفاده از یک طبقهبندی کنندهی زبان در ابتدای بسیاری از سیستمهای بزرگ پردازش گفتار است.
هدف از شناسایی زبان گویندگان میتواند دستهبندی دادگان و یا گویندگان باشد.
همچنین از این سیستم در سیستم های بازشناسی برای چند زبان استفاده میشود.
مثال دیگری از استفاده از این نوع سیستمها را میتوان در سیستمهای شناسایی احساسات یافت.
لحن صحبت در هر زبان نسبت به زبان دیگر متفاوت است.
در یک سیستم جامع برای تشخیص احساسات گویندگان که برای زبانهای مختلفی کارآیی داشته باشد، نیاز است
که زبان سیگنال ورودی به سیستم مشخص شود تا سیستم بتواند برای آن تصمیم بهتری بگیرد.
در دستگاههایی که کاربران متعددی با زبانهای مختلف دارند،
برای خدماترسانی به طیف بزرگی از افراد نیاز است که بتوانند چند زبان را پشتیبانی کنند
برای افزودن این قابلیت به این دستگاهها نیاز به یک سیستم تشخیص زبان در آنها مشهود است. -
آشکارسازی فعالیت گفتاری[12]:
دسته بسیار مهمی از پردازشهای گفتار وابسته به این سیستم بسیار پایهای و مهم هستند.
در این دسته هدف مشخص کردن قسمتهایی از یک سیگنال حاوی گفتار است که دقیقا در آنها صحبت صورت گرفته است یا به اصطلاح حاوی گفتار هستند. این سیستم در کنار سیستم بهسازی گفتار دو سیستم بسیار مهم برای پیشپردازش گفتار را شکل می دهند که تقریبا در هر سیستم بازشناسی گفتاری کاربرد دارند. به عنوان یک مثال عملی ملموس میتوان به کاربرد دائمی این دسته از پردازشها در مخابرات گفتاری اشاره کرد. سیگنال گفتار تلفنی تقریبا حاوی %50 سکوت است. برای جلوگیری از ارسال سکوت با هدف صرفهجویی در مصرف پهنایباند، از این سیستم به عنوان یک سیستم مهم در مخابرات گفتاری بهره گرفته میشود.
با توجه به پایهای بودن این سیستم در سایر سیستمهای پردازش گفتار و تنوع بسیار بالای روشهای ارائه شده در آشکارسازی فعالیت گفتاری، در یک دوره آموزش روشهای مختلف آشکارسازی فعالیت گفتاری را با استفاده از زبان پایتون پیادهسازی خواهیم کرد.
در این مطلب به نحوهی تولید سیگنال گفتار توسط انسان اشاره شد.
همچنین روندی که در مغز انسان برای انتقال یک مفهوم از گوینده به شنونده طی میشود به طور کامل بیان شد. در ادامه هدف پردازش گفتار و تعدادی از دستههای مختلف پردازش گفتار به تفصیل بیان شد. در مقالات آتی هدف آشنایی بیشتر با دستههای مختلف پردازش گفتار است. در ادامه این سری از مباحث مربوط به پردازش گفتار، سعی در ایجاد چند دوره مختلف از فیلمهای آموزشی برای دستههای مختلف پردازش گفتار داریم که بتوانند به صورت مناسب گستردگی پردازشهای مربوط به گفتار را پوشش دهند.
زیرنوشت
[1] Automatic Speech Recognition (ASR)
[2] Text to Speech
[3] Speech Enhancement (SE)
[4] Additional Noise
[5] Convolutional Noise
[6] Speech Coding
[7] Speaker Identification
[8] Emotion Detection
[9] Speech Analysis
[10] Source Separation
[11] Language Identification
[12] Voice Activity Detection (VAD)
کپی و نشر این پست با ذکر منبع بلامانع است.
سلام. این دوره های پردازش گفتار با پایتون که گفتین برگزار شده یا میشه؟
برگزار شده است. در حال حاضر به دلیل مشغله کاری و شرایط کرونایی دورهها بصورت مجازی برگذاز میشود