بردار کلمات
آموزش‌های پایه‌ای هوش مصنوعیآموزش‌های پیشرفته هوش مصنوعیپردازش زبان طبیعیکتابخانه‌ های یادگیری عمیق

بردار کلمات و راهنمای استفاده از آن با gensim و keras

    0
    زمان مطالعه: ۶ دقیقه

    در نوشتار حاضر با انواع بردار کلمات، نحوه‌ی ایجاد آنها در پایتون و بکارگیری‌شان به همراه شبکه‌های عصبی در keras آشنا خواهید شد. روش‌های پردازش زبان طبیعی برای مدتی طولانی از مدل vectorspace برای نمایش کلمات استفاده می‌کردند. بردارهای رمزگذاری‌شده‌ی وان-هات به طور متداول به کار برده می‌شوند. البته روش «سبد واژگان» نیز عملکرد بسیار موفقی در بسیاری از امور داشته است. به تازگی، روش‌های جدیدی برای نمایش کلمات در vectorspace پیشنهاد شده و شاهد ارتقای عملکرد چشمگیری در بسیاری از امور پردازش زبان طبیعی بوده‌ایم. جزئیات این روش‌ها به همراه چگونگی ساخت بردارها در پایتون در نوشتار حاضر توضیح داده خواهد شد.

    words vector

    سبد واژگان پیوسته

    مفهوم اصلی این ابزار در فرضیه توزیع نهفته است که بیان می‌دارد: «معنای کلمه از واژه‌های کناریِ آن قابل استنباط است.» از این رو، سبد واژگان پیوسته قصد دارد از بافت کلمات برای پیش‌بینی احتمال بکارگیری کلمات استفاده کند.

    واژگان پیوسته در بردار کلمات

    تصویر فوق، مدل CBOW ساده‌ای با یک کلمه نشان می‌دهد. پس، ورودی عبارت است از واژه بافت رمزگذاری شده وان‌هات و اندازه پنهان NN و اندازه کلمه VV. پس از اینکه این شبکه کوچک آموزش دید، ستون‌های W^\primeW′ می‌تواند بردار NN بُعدی را برای همه کلمات نشان دهد. بردار کلمات به این طریق به کار برده می‌شود.

    هدف ساختن بردار برای یک کلمه هم همین است که نشان دهیم یک کلمه از نظر معنایی چقدر و از چه ابعادی به دیگر کلمات شبیه است. با همین ایده‌ی ساده می‌توانید بردارهای کلمه‌ی خودتان را بسازید. به عنوان مثال می‌توانید برای هر کلمه‌ی منحصر‌به‌فرد متن را جستجو کنید و مثلا دو کلمه قبل و دو کلمه بعدش را ثبت کرده و نهایتا برای کلماتتان یک جدول هم‌رخداد بسازید.

    بارگذاری دیتاست

    دیتاست ما از دوره مسابقات «Toxic Comment Classification Challenge» به دست آمده است. در این مسابقات افراد موظف‌اند مدل چندجانبه‌ای بسازند که قادر به شناسایی انواع مختلفی از مسائل مثل تهدیدها، توهین‌ها، نفرت هویتی و محتوای نامناسب باشد. در ابتدا به پیش‌پردازشِ کامنت‌ها و آموزش بردار کلمات می‌پردازیم. سپس، لایه تعبیه‌گذاری keras را با بردار کلماتِ از پیش آموزش‌یافته به اجرا در آورده و عملکرد آن را با فرایند تعبیه تصادفی مقایسه می‌کنیم. شبکه حافظه بلند کوتاه‌مدت نیز در این راستا به کار برده می‌شود.

    جدول مربوط به بردار کلمات

     

    پیش‌پردازش متن

    حال، نوبت به پردازش کامنت‌ها رسیده است. برای انجام این کار، “URL”را جایگزین URLها و “IPADDRESS” را جایگزین آدرس‌های IP می‌کنیم. سپس، متن را توکن بندی کرده و با حروف کوچک می‌نویسیم.

    مدل‌سازیِ بردار کلمات با Gensim

    اکنون، آماده‌ی آموزش بردار کلمات هستیم. کتابخانه‌ی genism در پایتون مورد استفاده قرار می‌گیرد که از دسته‌های مختلفی برای امور پردازش زبان طبیعی پشتیبانی می‌کند.

    تعداد بردار کلمات: ۷۰۰۵۶

    اجازه دهید بینیم آیا بردار کلماتی که به لحاظ معنایی منطقی باشند، آموزش داده‌ایم؟

    خب، شرایط تا بدین جای کار خوب به نظر می‌رسد. اکنون، می‌توان سراغ مدل طبقه‌بندی متن بعدی رفت.

    تعبیه‌گذاری در keras

    در ابتدا، باید کامنت‌های توکن بندی  شده را با طول معینی برش یا pad بدهیم.

    حالا، سرانجام ماتریس تعبیه را ایجاد می‌کنیم. این ماتریس در اختیار لایه تعبیه keras قرار خواهد گرفت. می‌توانید از همان کد برای اجرای فرایند تعبیه با Glove یا سایر بردار کلماتِ از پیش آموزش دیده استفاده کنید.

    تنظیم رده بندی برای دادگان کامنت

    باید از شبکه حافظه بلند کوتاه‌مدت با دراپ‌اوت و نرمال‌سازی دسته‌ای استفاده کرد. توجه داشته باشید که keras با روش CUDA به اجرا در می‌آید که سریع‌تر از حالت معمول در GPU اجرا می‌شود.

    حال نوبت به مقایسه زیان آموزش و زیان اعتبارسنجی رسیده است.

    pretrained word vectors

    به نظر می‌رسد زیان رو به کاهش است، اما کماکان می‌توان به عملکردی بهتر از این دست یافت. می‌توانید به طور دلخواه از روش‌های تعبیه، دراپ اوت و معماری شبکه استفاده کنید. اکنون، قصد داریم بردار کلماتِ از پیش آموزش دیده را با تعبیه‌های تصادفی مقایسه کنیم.

    بردار کلمات تصادفی

    آن‌طور که ملاحظه می‌کنید، زیان به کُندی در حال کاهش است و زیان اعتبارسنجی پایداری کافی را ندارد.

    این مطلب چه میزان برای شما مفید بوده است؟
    [کل: ۰ میانگین: ۰]

    استفاده از هوش مصنوعی و رباتیک در پژوهش‌های هسته‌ای

    مقاله قبلی

    هوش مصنوعی در شعب برون‌مرزی دانشگاه آزاد اسلامی

    مقاله بعدی

    شما همچنین ممکن است دوست داشته باشید

    نظرات

    پاسخ دهید

    نشانی ایمیل شما منتشر نخواهد شد.