کتاب Natural Language Processing with TensorFlow (پردازش زبان طبیعی با TensorFlow: کتاب NLP قطعی برای پیادهسازی مدلها و وظایف یادگیری ماشینی، نسخه دوم) از جدیدترین منایع یادگیری پردازش زبان طبیعی یا NLP است. این کتاب در 11 فصل به آموزش گامبهگام این علم به همراه پیادهسازی آن با استفاده از TensorFlow خواهد پرداخت.
در ادامه مقدمهای از کتاب Natural Language Processing with TensorFlow را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Natural Language Processing with TensorFlow:
TensorFlow در مرکز توسعه راه حلهای یادگیری ماشین (ML) قرار دارد. این یک اکوسیستم است که میتواند از تمام مراحل مختلف چرخه حیات یک پروژه ML، از اولین نمونهسازی اولیه تا تولید مدل، پشتیبانی کند. TensorFlow بلوکهای ساختمانی قابل استفاده مجدد مختلفی را ارائه میدهد که به شما امکان میدهد نه تنها سادهترین، بلکه پیچیدهترین شبکههای عصبی عمیق را نیز بسازید.
کتاب Natural Language Processing with TensorFlow برای چه کسی است؟
این کتاب برای کاربران مبتدی تا متوسط TensorFlow در نظر گرفته شده است. خواننده ممکن است اهل دانشگاه باشد که تحقیقات پیشرفتهای در مورد ML انجام میدهد یا یک متخصص صنعتی که از ML در شغل خود استفاده میکند. اگر قبلاً با TensorFlow (یا چارچوبی مشابه مانند Pytorch) آشنایی اولیه داشته باشید، بیشترین سود را از این کتاب خواهید برد. این به شما کمک میکند تا مفاهیم را سریعتر درک کنید و از موارد مورد بحث در کتاب استفاده کنید.
آنچه این کتاب پوشش میدهد:
فصل 1 کتاب Natural Language Processing with TensorFlow، مقدمهای بر پردازش زبان طبیعی، توضیح میدهد که پردازش زبان طبیعی چیست و انواع وظایفی که ممکن است به دنبال داشته باشد. سپس بحث میکنیم که چگونه یک کار NLP با استفاده از روشهای سنتی حل میشود. این راه را برای بحث در مورد چگونگی استفاده از یادگیری عمیق در NLP و مزایای آن هموار میکند. در نهایت به نصب و استفاده از ابزارهای فنی این کتاب میپردازیم.
فصل 2 کتاب Natural Language Processing with TensorFlow، درک TensorFlow 2، یک راهنمای صوتی برای نوشتن برنامهها و اجرای آنها در TensorFlow 2 در اختیار شما قرار میدهد. این فصل ابتدا توضیح عمیقی در مورد نحوه اجرای TensorFlow یک برنامه ارائه میدهد.
این به شما کمک میکند تا گردش کار اجرای TensorFlow را درک کنید و با اصطلاحات TensorFlow احساس راحتی کنید. در مرحله بعد، بلوکهای ساختمانی مختلف در TensorFlow و عملیات مفید موجود را مورد بحث قرار خواهیم داد. ما در نهایت بحث خواهیم کرد که چگونه میتوان از تمام این دانش TensorFlow برای پیاده سازی یک شبکه عصبی ساده برای طبقه بندی تصاویر ارقام دست نویس استفاده کرد.
فصل 3، Word2vec – یادگیری جاسازی کلمات، Word2vec را معرفی میکند – روشی برای یادگیری نمایش عددی کلمات که منعکس کننده معنایی کلمات است. اما قبل از اینکه مستقیماً به تکنیکهای Word2vec بپردازیم، ابتدا برخی از رویکردهای کلاسیک مورد استفاده برای نشان دادن کلمات را مورد بحث قرار میدهیم، مانند نمایشهای یک کدگذاری شده و روش فرکانس فرکانس معکوس سند فرکانس (TF-IDF).
پس از این، ما به سراغ ابزاری مدرن برای یادگیری بردارهای کلمه موسوم به Word2vec خواهیم رفت که از یک شبکه عصبی برای یادگیری نمایش کلمات استفاده میکند. ما دو نوع محبوب Word2vec را مورد بحث قرار خواهیم داد: skip-gram و مدل Continuous Bag-of-Words (CBOW). در نهایت، ما بازنماییهای کلمهای را که با استفاده از تکنیک کاهش ابعاد برای ترسیم بردارها به یک سطح دوبعدی قابل تفسیرتر، تجسم میکنیم.
فصل 4 کتاب Natural Language Processing with TensorFlow، الگوریتمهای بردار کلمه پیشرفته، با تکنیک یادگیری جدیدتر تعبیه کلمه به نام GloVe شروع میشود که هم از دادههای متنی آماری جهانی و هم محلی برای یافتن بردارهای کلمه استفاده میکند. در مرحله بعد، با یکی از تکنیکهای مدرن و پیچیدهتر برای تولید بازنمایی کلمات پویا بر اساس متن یک کلمه آشنا میشویم که به نام ELMo شناخته میشود.
فصل 5 کتاب Natural Language Processing with TensorFlow، طبقهبندی جملات با شبکههای عصبی کانولوشن، شما را با شبکههای عصبی کانولوشن (CNN) آشنا میکند. CNN ها خانواده قدرتمندی از مدلهای عمیق هستند که میتوانند از ساختار فضایی یک ورودی برای یادگیری از دادهها استفاده کنند.
به عبارت دیگر، یک CNN میتواند تصاویر را به شکل دو بعدی پردازش کند، در حالی که یک پرسپترون چند لایه نیاز دارد که تصویر در یک بردار یک بعدی باز شود. ما ابتدا عملیاتهای مختلفی را که در CNN انجام میشود، مانند عملیات کانولوشن و ادغام، به تفصیل مورد بحث قرار خواهیم داد. سپس، نمونه ای را خواهیم دید که در آن یاد میگیریم که تصاویر لباسها را با CNN طبقه بندی کنیم. سپس، ما به یک برنامه CNN در NLP تبدیل خواهیم شد. بهطور دقیقتر، نحوه اعمال CNN برای طبقهبندی جملات را بررسی خواهیم کرد، جایی که وظیفه طبقهبندی اگر یک جمله در مورد یک شخص، مکان، شی و غیره باشد.
فصل 6 کتاب Natural Language Processing with TensorFlow، شبکههای عصبی مکرر، بر معرفی شبکههای عصبی بازگشتی (RNN) و استفاده از RNN برای تولید زبان تمرکز دارد. RNN ها با شبکههای عصبی پیشخور (به عنوان مثال CNN) متفاوت هستند زیرا RNN ها دارای حافظه هستند. حافظه به عنوان یک وضعیت سیستم به طور مداوم به روز میشود. ما با نمایش یک شبکه عصبی پیشخور شروع میکنیم و آن نمایش را برای یادگیری از توالی دادهها به جای نقاط دادهای منفرد، اصلاح میکنیم. این فرآیند شبکه فید فوروارد را به یک RNN تبدیل میکند.
این با یک توصیف فنی از معادلات دقیق مورد استفاده برای محاسبات در RNN دنبال خواهد شد. در مرحله بعد، ما در مورد فرآیند بهینهسازی RNN که برای به روز رسانی وزن RNN استفاده میشود بحث خواهیم کرد.
پس از آن، انواع مختلف RNNها مانند RNNهای یک به یک و RNNهای یک به چند را تکرار خواهیم کرد. سپس یک کاربرد محبوب RNN ها را مورد بحث قرار خواهیم داد، که عبارت است از شناسایی موجودیتهای نامگذاری شده در متن (به عنوان مثال، نام شخص، سازمان، و غیره). در اینجا، ما از یک مدل پایه RNN برای یادگیری استفاده خواهیم کرد. در مرحله بعد، مدل خود را با گنجاندن جاسازیها در مقیاسهای مختلف (مثلاً جاسازیهای رمز و جاسازی کاراکترها) بیشتر تقویت خواهیم کرد. تعبیههای توکن از طریق یک لایه جاسازی ایجاد میشوند، جایی که تعبیههای کاراکتر با استفاده از CNN ایجاد میشوند. سپس عملکرد مدل جدید را در تکلیف شناسایی موجودیت نامگذاری شده تحلیل خواهیم کرد.
فصل 7 کتاب Natural Language Processing with TensorFlow، درک شبکههای حافظه کوتاهمدت، شبکههای حافظه کوتاهمدت (LSTMs) را با ارائه توضیحی بصری در مورد نحوه عملکرد این مدلها و به تدریج فرو رفتن در جزئیات فنی مورد نیاز برای پیادهسازی آنها به تنهایی مورد بحث قرار میدهد. RNN های استاندارد از محدودیت حیاتی ناتوانی در تداوم حافظه بلند مدت رنج میبرند.
با این حال، مدلهای پیشرفته RNN (به عنوان مثال، LSTM و واحدهای بازگشتی دردار (GRU)) پیشنهاد شدهاند که میتوانند توالیها را برای تعداد زیادی از مراحل زمانی به خاطر بسپارند. ما همچنین بررسی خواهیم کرد که چگونه LSTM ها مشکل تداوم حافظه طولانی مدت را کاهش میدهند (این مشکل به عنوان مشکل گرادیان ناپدید شدن شناخته میشود). سپس چندین اصلاح را مورد بحث قرار خواهیم داد که میتوانند برای بهبود بیشتر مدلهای LSTM مورد استفاده قرار گیرند، مانند پیشبینی چندین گام به جلو و خواندن دنبالهها هم به جلو و هم به عقب. در نهایت، ما چندین نوع مدل LSTM مانند GRU و LSTM با اتصالات چشمی را مورد بحث قرار خواهیم داد.
فصل 8 کتاب Natural Language Processing with TensorFlow، کاربردهای LSTM – تولید متن، نحوه پیاده سازی LSTM ها، GRU ها و LSTM ها را با اتصالات چشمی توضیح میدهد که در فصل 7، درک شبکههای حافظه بلند مدت کوتاه مدت مورد بحث قرار گرفت. علاوه بر این، عملکرد این افزونهها را هم از نظر کیفی و هم از نظر کمی مقایسه خواهیم کرد. همچنین نحوه پیادهسازی برخی از برنامههای افزودنی مورد بررسی در فصل 7، درک شبکههای حافظه کوتاهمدت بلندمدت، مانند پیشبینی چندین مرحله پیشرو (که به عنوان جستجوی پرتو شناخته میشود) و استفاده از بردارهای کلمه به عنوان ورودی به جای کدگذاری یکطرفه بحث خواهیم کرد. نمایندگیها
فصل 9 کتاب Natural Language Processing with TensorFlow، یادگیری ترتیب به ترتیب – ترجمه ماشینی عصبی، ترجمه ماشینی را مورد بحث قرار میدهد، که هم به دلیل ضرورت خودکارسازی ترجمه و هم به دلیل دشواری ذاتی کار، توجه زیادی را به خود جلب کرده است. ما فصل را با یک فلاش بک تاریخی مختصر شروع میکنیم که توضیح میدهد چگونه ترجمه ماشینی در روزهای اولیه پیادهسازی میشد. این بحث با مقدمه ای بر سیستمهای ترجمه ماشین عصبی (NMT) به پایان میرسد.
خواهیم دید که سیستمهای NMT فعلی در مقایسه با سیستمهای قدیمی (مانند سیستمهای ترجمه ماشینی آماری) چقدر خوب عمل میکنند، که ما را تشویق میکند تا در مورد سیستمهای NMT بیاموزیم. پس از آن، مفاهیم زیربنایی طراحی سیستمهای NMT را مورد بحث قرار خواهیم داد و با جزئیات فنی ادامه خواهیم داد. سپس، متریک ارزیابی را که برای ارزیابی سیستم خود استفاده میکنیم، مورد بحث قرار خواهیم داد. در ادامه، بررسی خواهیم کرد که چگونه میتوانیم مترجم انگلیسی به آلمانی را از ابتدا پیاده سازی کنیم. در ادامه با روشهای بهبود سیستمهای NMT آشنا خواهیم شد.
ما به یکی از این پسوندها که مکانیسم توجه نام دارد، با جزئیات نگاه خواهیم کرد. مکانیسم توجه در مسائل یادگیری ترتیب به ترتیب ضروری شده است. در نهایت، ما بهبود عملکرد به دست آمده را با مکانیسم توجه مقایسه کرده و دلایل افزایش عملکرد را تجزیه و تحلیل خواهیم کرد. این فصل از کتاب Natural Language Processing with TensorFlow با بخشی به پایان میرسد که چگونه میتوان همان مفهوم سیستمهای NMT را برای پیادهسازی رباتهای چت گسترش داد. چتباتها سیستمهایی هستند که میتوانند با انسانها ارتباط برقرار کنند و برای برآوردن درخواستهای مختلف مشتریان استفاده میشوند.
فصل 10 کتاب Natural Language Processing with TensorFlow، ترانسفورماتورها، ترانسفورماتورها، آخرین پیشرفت در حوزه NLP را مورد بحث قرار میدهد که از بسیاری دیگر از مدلهای پیشرفته قبلی بهتر عمل کرده است. در این فصل، ما از کتابخانه Hugging Face Transformers استفاده خواهیم کرد تا از مدلهای از پیش آموزش دیده برای کارهای پایین دستی به راحتی استفاده کنیم.
در این فصل از کتاب Natural Language Processing with TensorFlow با معماری ترانسفورماتور به طور عمیق آشنا خواهیم شد. این بحث منجر به مدل محبوب ترانسفورماتور به نام BERT خواهد شد که ما از آن برای حل مشکل پاسخگویی به سوال استفاده خواهیم کرد. ما در مورد اجزای خاصی که در BERT یافت میشوند صحبت خواهیم کرد تا به طور موثر از آن برای برنامه استفاده کنیم. در مرحله بعد، ما مدل را بر روی یک مجموعه داده پرسش-پاسخ معروف به نام SQUAD آموزش خواهیم داد. در نهایت، مدل را بر روی یک مجموعه داده آزمایشی ارزیابی میکنیم و از مدل آموزشدیده برای ایجاد پاسخ برای سؤالات دیده نشده استفاده میکنیم.
فصل 11 کتاب Natural Language Processing with TensorFlow، عنوان تصویر با ترانسفورماتور، به یک برنامه هیجان انگیز دیگر میپردازد، که در آن از Transformers برای ایجاد زیرنویس (یعنی توضیحات) برای تصاویر استفاده میشود. این برنامه جالب است زیرا به ما نشان میدهد که چگونه دو نوع مدل مختلف را ترکیب کنیم و همچنین چگونه با دادههای چندوجهی (مثلاً تصاویر و متن) یاد بگیریم. در اینجا، ما از یک مدل Vision Transformer از پیش آموزش دیده استفاده خواهیم کرد که یک نمایش مخفی غنی برای یک تصویر داده شده ایجاد میکند.
این نمایش، همراه با توکنهای عنوان، به یک مدل مبدل مبتنی بر متن داده میشود. Transformer مبتنی بر متن، با توجه به نشانههای زیرنویس قبلی، نشانه زیرنویس بعدی را پیشبینی میکند. پس از آموزش مدل، شرحهای تولید شده توسط مدل خود را هم از نظر کیفی و هم از نظر کمی ارزیابی خواهیم کرد. ما همچنین برخی از معیارهای محبوب مورد استفاده برای اندازه گیری کیفیت دنبالهها مانند شرح تصاویر را مورد بحث قرار خواهیم داد.
ضمیمه A کتاب Natural Language Processing with TensorFlow: مبانی ریاضی و پیشرفته TensorFlow، ساختارهای مختلف داده ریاضی (به عنوان مثال، ماتریس) و عملیات (به عنوان مثال، یک ماتریس معکوس) را معرفی میکند. همچنین چندین مفهوم مهم در احتمال را مورد بحث قرار خواهیم داد. در نهایت، راهنمای استفاده از TensorBoard برای تجسم جاسازی کلمات را به شما آموزش خواهیم داد. TensorBoard یک ابزار تجسمی مفید است که با TensorFlow ارسال میشود. این میتواند برای تجسم و نظارت بر متغیرهای مختلف در سرویس گیرنده TensorFlow شما استفاده شود.
سرفصلهای کتاب Natural Language Processing with TensorFlow:
- Preface
- 1. Introduction to Natural Language Processing
- 2. Understanding TensorFlow 2
- 3. Word2vec – Learning Word Embeddings
- 4. Advanced Word Vector Algorithms
- 5. Sentence Classification with Convolutional Neural Networks
- 6. Recurrent Neural Networks
- 7. Understanding Long Short-Term Memory Networks
- 8. Applications of LSTM – Generating Text
- 9. Sequence-to-Sequence Learning – Neural Machine Translation
- 10. Transformers
- 11. Image Captioning with Transformers
- Appendix A: Mathematical Foundations and Advanced TensorFlow
- Other Books You May Enjoy
- Index
جهت دانلود کتاب Natural Language Processing with TensorFlow میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.