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

تشخیص کنایه در عناوین خبری با cAInvas

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

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

    پیاده‌سازی ایده در cAInvas – به این لینک مراجعه کنید.

    مجموعه‌داده

    On Kaggle – ریشاب میسرا

    این مجموعه‌داده از دو وب‌سایت خبری گردآوری شده است. Onion در نظر دارد تا نسخه‌های کنایه‌آمیزِ رخدادهای فعلی را ایجاد کند. عناوین خبری نیز از بخش‌ «خلاصه اخبار» و «تصاویر خبری» جمع‌آوری شده‌اند. همچنین، عناوین خبری واقعی (بدون کنایه) از Huffpost گردآوری شده است.

    تشخیص کنایه

    شِمایی از مجموعه‌داده

    تشخیص کنایه

    توزیع مقادیر دسته

    همانطور که در تصویر بالا مشخص است این مجموعه‌داده از توازن خوبی برخوردار است.

    پردازش داده

    برای پردازش داده متن و تشخیص کنایه عنوان خبری باید تغییرتی داشته باشد.برای مثال، باید عناصر HTML و URL حذف شوند. در وهله بعد، همه کاراکترهایی که در زمره‌ی حروف الفبا جای ندارند، حذف شوند. توابع به صورت زیر تعریف شده‌اند:

    کد: توابع پردازش متن

    به محض اِتمام عمل پردازش، جمله پیش از آنکه به واژگان ریشه تجزیه شود، به صورت حروف کوچک نوشته می‌شود. بنابراین، واژگانی که اَشکال متفاوتی از واژگان یکسان هستند، به راحتی مورد شناسایی قرار می‌گیرند (مثال: خوردن، خورد، می‌خورد). از ماژول nltk.stem برای یافتن ریشه کلمات استفاده می‌شود. کلمات توقف حذف نمی‌شوند زیرا می‌توانند به ارائه بافت جمله به صورت کل کمک کنند.

    کد: پردازش متن

    واژگان متعلق به هر یک از دسته‌ها با استفاده از WordCloud به صورت جداگانه‌ ذخیره می‌شوند تا عمل مصورسازی صورت گیرد.

    تشخیص کنایه

    WordCloud: بدون کنایه

    تشخیص کنایه

    WordCloud: کنایه‌آمیز

    اندازه واژه با فراوانیِ آن در مجموعه‌داده همخوانی دارد. نمی‌توان بر پایه این تصاویر استنباط کرد.

    تفکیک آموزش – اعتبارسنجی

    تقسیم مجموعه‌داده به مجموعه‌های آموزش و اعتبارسنجی با نسبت ۲۰-۸۰.

    کد: Train-val split

    میبینیم که مجموعه آموزش ۲۲۸۹۵ نمونه و مجموعه اعتبارسنجی ۵۷۲۴ نمونه دارد.

    نشانه‌گذاری

    از عمل نشانه‌گذاریِ ماژول keras.preprocessing.text برای تبدیل متن به توالی اعداد صحیح استفاده می‌شود. این اعداد به عنوان ورودی در اختیار مدل قرار می‌گیرند. برای اینکه طول حداکثر ۲۰۰ به دست آید، این اعداد چمد صفر نیز دارند.

    کد: Tokenization (نشانه‌گذاری)

    مدل

    برای تشخیص کنایه مدلی که باید آموزش داده شود، از یک لایه تعبیه Embedding layer تشکیل شده که نمونه‌های ورودی را به آرایه‌هایی با اندازه ثابت تبدیل می‌کند. یک شبکه حافظه طولانی کوتاه‌مدت و سه لایه متراکم نیز به کار برده می‌شوند. دو مورد اول با فعال‌سازی ReLU و مورد آخر با فعال‌سازی Sigmoid شناخته می‌شود. این مدل با استفاده از تابع زیان آنتروپی متقاطع دودویی کامپایل می‌گردد زیرا فقط دو دسته (صفر و یک) وجود دارد. ابزار بهینه‌سازی Adam مورد استفاده قرار گرفته و دقت مدل به طور پیوسته بررسی می‌شود. عمل بازخوانی Early Stopping در ماژول keras.callbacks متریکی برای تعداد دوره‌های مشخص دارد. اگر این متریک (ابزار سنجش) بهبود نیابد، آموزش متوقف می‌شود. بر اساس پارامتر restore_best_weights، مدلی که کمترین زیان اعتبارسنجی را دارد، به متغیر مدل بازگردانیده می‌شود.

    کد: Model and training (مدل و آموزش)

    پس از آموزش با نرخ یادگیری ۰۱/۰، مدل به دقت %۵/۸۳ در مجموعه آزمایشی دست یافت.

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

    تشخیص کنایه

    ماتریس درهم‌ریختگی متریک‌ها (ابزارهای سنجش)

    تشخیص کنایه

    نمودار دقت

    تشخیص کنایه

    نمودار زیان

    پیش‌بینی

    انجام پیش‌بینی در نمونه‌های آزمایشی تصادفی

    کد: Prediction on test samples (پیش‌بینی در نمونه‌های آزمایشی)

    تشخیص کنایه

    Sample prediction on a random test sample

    deepC

    چارچوب استنباط، کامپایلر و کتابخانه deepC با این هدف طراحی شده‌اند که شبکه های عصبی یادگیری عمیق به اجرا درآیند. در همین راستا، ویژگی وسیله‌های فرم-فکتور از قبیل ریزکنترل‌گرها، Efpga، CPU و سایر وسیله‌های تعبیه شده از قبیل raspberry-pi، odroid، Arduino، SparkFun Edge، RISC-V، تلفن‌ همراه و لپ‌تاپ مورد تاکید قرار می‌گیرد.

    کامپایل کردن مدل با استفاده از deepC

    تشخیص کنایه

    کامپایل کردن deepC

    برای تشخیص کنایه ، اجرا و ایجاد فایل .exe خودتان به پلتفرم cAInvas مراجعه کنید.

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

    نگاهی به فعالیت‌های استارتاپ Freenome: درمان سرطان با هوش مصنوعی

    مقاله قبلی

    هوش مصنوعی در بیمه سلامت ؛ رهیافتی تازه در صنعت بیمه ایران

    مقاله بعدی

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

    نظرات

    پاسخ دهید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *