بازشناسی گفتار در جاوا اسکریپت | به زبان خیلی ساده


در این مقاله با روش ساخت موتور بازشناسی گفتار در جاوا اسکریپت با استفاده از TensorFlow.js آشنا میشویم. ما عادت دارم هر جا که در مورد ساخت چیزی در حوزه هوش مصنوعی، یادگیری عمیق و یادگیری ماشین فکر میکنیم، بیدرنگ به زبان برنامهنویسی پایتون فکر کنیم، اما روشهای دیگری نیز به این منظور وجود دارند جاوا اسکریپت یک زبان پرکاربرد است که میتواند از فریمورکی به نام TensorFlow.js بهره بگیرد.
پیش از آن که وارد موضوع اصلی این مقاله بشویم، باید در مورد این TensorFlow.js کمی توضیح بدهیم. TensorFlow.js یک کتابخانه جاوا اسکریپت است که از سوی گوگل برای توسعه و توزیع پروژههای یادگیری ماشین در مرورگر و در Node.js ارائه شده است.
TensorFlow.js صرفاً یک کتابخانه نیست. با این که میتوانید از آن به عنوان یک کتابخانه استفاده کنید، اما کاربردهای آن برای توسعه و توزیع اپلیکیشنهای یادگیری ماشین بسیار گسترده هستند که در ادامه این مقاله توضیح میدهیم.
توسعه پروژه با TensorFlow.js
چنان که در بخش قبل اشاره کردیم، TensorFlow.js یک کتابخانه قدرتمند است و با استفاده از آن میتوان کارهای زیادی از قبیل دریافت تصاویر، دستکاری ویدئو و بازشناسی گفتار را اجرا کرد و در این راهنما ما روی یک پروژه ساده بازشناسی گفتار مرکز میکنیم.
در کدی که ارائه میکنیم امکان شنیدن از طریق میکروفن را فراهم ساختهایم و صحبتهایی که کاربر انجام میدهد را تا چند کلمه شناسایی میکنیم، زیرا در این مدل نمونهگیری با محدودیتهایی مواجه هستیم.
نخستین گام این است که کتابخانه را نصب کنیم. برای نصب TensorFlow.js چند گزینه وجود دارد که در این مورد آن را از CDN ایمپورت میکنیم.
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script> <script src="https://unpkg.com/@tensorflow-models/speech-commands"></script>
سپس کد HTML مورد نیاز برای نمایش فهرست واژگان را اضافه میکنیم.
این کد شامل یک چکباکس، یک عنصر بارگذاری و یک عنصر پوششی است که برای رندر کردن لیست واژگان استفاده میشود.
اینک باید روی چکباکس میکروفن کلیک کنیم تا یک «شنونده رویداد» (event listener) اجرا شود که شروع به دریافت به پردازشهایی برای تست کردن دمو در شرایط کاری میکند.
ما در این زمان 3 سناریوی مختلف داریم. وقتی کاربر چکباکس را فعال کرد و مدل بارگذاری نشده بود از تابع ()loadModel استفاده میکنیم. زمانی که مدل از قبل بارگذاری شده باشد، فرایند شنیدن را اجرا میکنیم و زمانی که کاربر چکباکس را غیرفعال کند، گوش دادن به میکروفن را متوقف میسازیم.
()loadModel
این تابع مسئول ایجاد یک وهله و بارگذاری مدلها است. زمانی که مدل بارگذاری شد، باید فهرست برچسبها را که مدل در موردش آموزش دیده با استفاده از متد ()recognizer.wordLabels به دست آوریم:
()startListening
متد ()startListening پس از این که مدل بارگذاری شد و یا زمانی که کاربر میکروفن را فعال کرد، فراخوانی میشود. این متد مسئول دسترسی به API میکروفن است که مدل را ارزیابی کرده و تلاش میکند واژههای قابل تشخیص را بررسی کند.
()stopListening
این متد برای توقف دسترسی به میکروفن و ارزیابی صدا مورد استفاده قرار میگیرد.
توزیع نهایی
اکنون باید نخستین مدل خود را از بازشناسی گفتار روی وب بسازیم.
سخن پایانی
امیدواریم از مطالعه این راهنما بهره لازم را برده باشید.
ما در این مقاله با روش پیادهسازی بازشناسی گفتار در جاوا اسکریپت با صرفاً چند خط کد و به کمک کتابخانه تنسورفلو آشنا شدیم. TensorFlow.js یک کتابخانه قدرتمند است که برای توسعه مدلهای یادگیری ماشین کاربردهای فراوانی دارد.