ویرگول
ورودثبت نام
محمد داداش زاده
محمد داداش زادهپژوهشگر، تمرکز بر روی سئو و پردازش زبان طبیعی
محمد داداش زاده
محمد داداش زاده
خواندن ۴ دقیقه·۸ ماه پیش

استنتاج زبان طبیعی: درک روابط معنایی در جملات nli یا TE

nli چیست

NLI (مخفف Natural Language Inference) یا استنتاج زبان طبیعی TE (مخفف textual entailment ) یکی از وظایف اساسی و مهم در حوزه پردازش زبان طبیعی (NLP) است. هدف اصلی NLI این است که بفهمیم آیا یک جمله (به نام فرضیه) از روی یک جمله دیگر (به نام پیش‌فرض) نتیجه‌گیری می‌شود، تناقض دارد یا بی‌ارتباط است. به عبارت ساده‌تر، NLI به مدل‌های یادگیری ماشین کمک می‌کند تا رابطه منطقی بین دو جمله را تشخیص دهند.

در NLI، معمولاً سه نوع رابطه اصلی بین دو جمله در نظر گرفته می‌شود:

Entailment (استنتاج / نتیجه‌گیری):

جمله دوم (فرضیه) به طور منطقی از جمله اول (پیش‌فرض) نتیجه می‌شود.

پیش‌فرض: علی به کتابخانه رفت.

فرضیه: علی از خانه بیرون رفت.

نتیجه: Entailment (فرضیه از پیش‌فرض نتیجه می‌شود).


Contradiction (تناقض):

پیش‌فرض: علی به کتابخانه رفت.

فرضیه: علی در خانه ماند.

نتیجه: Contradiction (فرضیه با پیش‌فرض در تناقض است).


Neutral (خنثی / بی‌ارتباط):

پیش‌فرض: علی به کتابخانه رفت.

فرضیه: علی برای خرید به فروشگاه رفت.

نتیجه: Neutral (فرضیه هیچ ارتباط منطقی با پیش‌فرض ندارد).


نمونه دیتاست ها با ساختار های دیگه : pair, pair-class, pair-score, triplet

from sentence_transformers import CrossEncoder model = CrossEncoder(&quotcross-encoder/nli-deberta-v3-base&quot) scores = model.predict([ (&quotA man is eating pizza&quot, &quotA man eats something&quot), (&quotA black race car starts up in front of a crowd of people.&quot, &quotA man is driving down a lonely road.&quot), ]) # Convert scores to labels label_mapping = [&quotcontradiction&quot, &quotentailment&quot, &quotneutral&quot] labels = [label_mapping[score_max] for score_max in scores.argmax(axis=1)] # => ['entailment', 'contradiction']

چالش‌های NLI

  1. ابهام زبانی:جملات ممکن است چندین معنا داشته باشند و تشخیص رابطه منطقی دشوار شود.
  2. نیاز به دانش زمینه‌ای:گاهی برای تشخیص رابطه بین دو جمله باید دانش زمینه‌ای (مانند اطلاعات عمومی یا دانش تخصصی) وجود داشته باشد.
  3. زبان‌های غیر انگلیسی:بسیاری از مدل‌ها و داده‌ها برای زبان انگلیسی توسعه داده شده‌اند و زبان‌هایی مانند فارسی داده‌های کمتری دارند.


SNLI (Stanford Natural Language Inference)

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

ویژگی‌ها:

  • ساختار داده: شامل سه برچسب (labels):Entailment (استنتاج): جمله دوم منطقی از جمله اول نتیجه می‌شود.
    Contradiction (تناقض): جمله دوم با جمله اول در تناقض است.
    Neutral (خنثی): جمله دوم نه نتیجه منطقی جمله اول است و نه در تناقض با آن.
  • منبع داده: جملات از مجموعه تصاویر Flickr30k (توصیف تصاویر).
  • چالش‌ها: بیشتر جملات ساده و مستقیم هستند و نیاز به دانش زمینه‌ای یا استدلال پیچیده ندارند.

MNLI (Multi-Genre Natural Language Inference)

MNLI نسخه پیشرفته‌تر SNLI است که شامل داده‌هایی از حوزه‌ها (ژانرهای) مختلف است. این مجموعه برای بررسی عملکرد مدل‌ها در شرایط مختلف و داده‌های متنوع‌تر طراحی شده است.

ویژگی‌ها:

  • ژانرها: شامل 10 ژانر مختلف مانند:Government: متون مرتبط با دولت.
    Fiction: داستان‌نویسی.
    Telephone: مکالمات تلفنی.
    Travel: متون مرتبط با سفر.
    و غیره.
  • ساختار داده: مشابه SNLI با سه برچسب (Entailment, Contradiction, Neutral).
  • چالش‌ها: داده‌ها پیچیده‌تر و متنوع‌تر از SNLI هستند و گاهی نیاز به استدلال عمیق یا دانش زمینه‌ای دارند.

تفاوت با SNLI:

  • MNLI شامل داده‌هایی از ژانرهای مختلف است و برای ارزیابی تطبیق مدل در شرایط متنوع طراحی شده است.
  • SNLI عمدتاً روی داده‌های ساده و محدود تمرکز دارد.

ANLI (Adversarial Natural Language Inference)

ANLI یک مجموعه داده پیشرفته‌تر است که برای چالش‌برانگیزتر کردن وظیفه NLI طراحی شده است. این مجموعه به صورت ادورسری (Adversarial) ساخته شده است، به این معنا که جملاتی طراحی شده‌اند که مدل‌های NLI موجود را به چالش بکشند.

ویژگی‌ها:

  • ساختار داده: مشابه SNLI و MNLI، شامل سه برچسب (Entailment, Contradiction, Neutral).
  • روش ساخت: جملات به صورت نیمه‌خودکار و توسط انسان طراحی شده‌اند تا مدل‌های موجود را شکست دهند.
  • چالش‌ها:جملات پیچیده‌تر، مبهم‌تر و نیازمند دانش زمینه‌ای بیشتری هستند.
    بسیاری از جملات برای فریب دادن مدل‌ها ساخته شده‌اند.

تفاوت با SNLI و MNLI:

  • ANLI بسیار سخت‌تر از SNLI و MNLI است و جملات آن به گونه‌ای طراحی شده‌اند که مدل‌های معمولی NLI به راحتی در آن شکست می‌خورند.
  • تمرکز ANLI روی ارزیابی مدل‌ها در برابر حملات ادورسری است.


XNLI (Cross-lingual Natural Language Inference)

XNLI نسخه چندزبانه از وظیفه NLI است. این مجموعه داده برای بررسی توانایی مدل‌ها در انجام استنتاج زبان طبیعی در زبان‌های مختلف طراحی شده است.

ویژگی‌ها:

  • زبان‌ها: شامل 15 زبان مختلف از جمله:انگلیسی، فرانسوی، اسپانیایی، آلمانی، عربی، چینی، هندی، کره‌ای، ترکی، و فارسی.
  • ساختار داده: جملات از MNLI گرفته شده و به زبان‌های دیگر ترجمه شده‌اند.
  • چالش‌ها: بررسی توانایی مدل‌ها در تطبیق بین زبان‌ها (Cross-lingual Transfer) و درک داده‌های چندزبانه.

تفاوت با SNLI، MNLI و ANLI:

  • XNLI روی چندزبانه بودن تمرکز دارد، در حالی که SNLI، MNLI و ANLI فقط برای زبان انگلیسی طراحی شده‌اند.
  • XNLI شامل داده‌هایی است که از MNLI گرفته شده‌اند و به زبان‌های دیگر ترجمه شده‌اند.
nlpپردازش زبان طبیعیهوش مصنوعی
۶
۱
محمد داداش زاده
محمد داداش زاده
پژوهشگر، تمرکز بر روی سئو و پردازش زبان طبیعی
شاید از این پست‌ها خوشتان بیاید