بخشی از فهم زبان طبیعی توسط مدلهای هوش مصنوعی را میتوان فهم آنها از زمان در بستر متن دانست. در این سوال به وظیفهای برای بررسی فهم مدلها از جهت زمان در متون طبیعی میپردازیم. فرض کنید دو پاراگراف متوالی از یک کتاب داده شده باشند. هدف تشخیص آن است که ترتیب دو پاراگراف درست است یا خیر.
شما میتوانید از هر کتابخانه پایتونی برای حل این سوال استفاده کنید. دقت کنید که کد نفرات برتر مورد بررسی قرار خواهد گرفت.
# مجموعهداده
|میتوانید مجموعهدادهی مربوط به این مسئله را از [این لینک](/contest/assignments/64356/download_problem_initial_project/219302/) دانلود کنید.|
| :--: |
هنگامی که این فایل را از حالت فشرده خارج کنید، سه فایل `train.csv`، `val.csv`و `test.csv` در اختیار شما قرار میگیرد. فایل آموزش و اعتبارسنجی شامل سه ستون به شرح زیر هستند:
| نام ستون | توضیحات ستون |
|:----------|:------------------:|
| `paragraph 1` | پاراگراف اول |
| `paragraph 2` | پاراگراف دوم |
| `label` | برچسب، یکی از دو مقدار `correct` یا `reverse`|
فایل آزمون (دادگان آزمایش) تنها شامل دو ستون اول است.
# صورت مسئله
از فایل `train.csv` و `val.csv`برای آموزش و ارزیابی مدل استفاده کنید و از فایل `test.csv` برای آزمایش مدل شما در سیستم داوری استفاده میشود.
# ارزیابی
ارزیابی عملکرد بر اساس دقت (`accuracy`) بر روی دادههای آزمایش خواهد بود؛ یعنی تعداد نمونههای درست دستهبندی شده تقسیم بر تعداد کل نمونهها میشود. در نهایت امتیاز شما از این سوال طبق رابطهی زیر محاسبه میشود:
$$score = \begin{cases}
0 & accuracy<0.6 \\
accuracy \times 100 & accuracy\geq 0.6
\end{cases}.
$$
|**داوری این سوال قبل از پایان مسابقه، تنها بر اساس ۳۰ درصد از مجموعه داده آزمایش (`test`) خواهد بود. پس از اتمام مسابقه، برای بهروزرسانی نهایی جدول امتیازات، از ۱۰۰ درصد مجموعه داده آزمایش استفاده خواهد شد؛ این کار برای جلوگیری از بیشبرازش (`overfit`) روی مجموعه داده آزمایش انجام میشود.** |
| :--: |
# خروجی
پیشبینیهای مدل خود بر روی دادگان آزمایش (`test.csv`) را در فایلی با نام `output.csv` قرار دهید.
این فایل باید شامل یک ستون `prediction` باشد. در سطر `i` ام از این ستون باید پیشبینی مدل شما روی دادهی با اندیس `i` باشد. بعد از آمادهسازی فایل `output.csv`، آن را برای ما بارگذاری کنید.
## نام ستون و پنج خط از نمونه خروجی فایل `output.csv`
| prediction |
|:----------:|
| reverse |
| correct |
| correct |
| reverse |
| reverse |
<details class="yellow">
<summary>
**توجه**
</summary>
استفاده از وزن مدلهای از پیش آموزش دیده (pretrained) برای تسهیل آموزش مدل خود، در سوالات مانعی ندارد.
</details>
<details class="red">
<summary>
**هشدار** 😱
</summary>
فراموش نکنید که **قبل از پایان زمان مسابقه**، **بایستی** تمامی کدهای این مسابقه را از قسمت **بارگذاری کُد** برای ما ارسال کنید. در غیر این صورت، شما از این مسابقه، امتیازی کسب نمی کنید.
توجه داشته باشید که اگر از `jupter notebook` استفاده می کنید بایستی همانند توضیحات قسمت **بارگذاری کُد**، خروجی `.py` را دریافت و برای ارسال در نظر بگیرید. ارسال فایلهای `jupyter` همانند `.ipynb` مورد قبول واقع نخواهند شد.
</details>