ربات یادگیری زبان گریزلی
یادگرفتن یک زبان تازه بیشتر از هر چیز به استمرار نیاز دارد؛ کمی، ولی هر روز. ربات یادگیری زبان گریزلی را ساختم تا همین «هر روز» را ساده کند: یک ربات تلگرام که هر روز یک متن انگلیسی تازه، متناسب با سطح شما، میفرستد و کمک میکند لغتهای جدید را واقعاً به خاطر بسپارید. استفاده از آن کاملاً رایگان است.
امتحانش کنید: @grizzly_english_bot
چه کار میکند
- یک موضوع تازه هر روز، در سه سطح: هر روز یک متن کوتاه دربارهی موضوعی متفاوت، از زندگی روزمره تا علم و فرهنگ، در سه نسخه منتشر میشود: مبتدی (A1–A2، حدود ۱۰۰ کلمه)، متوسط (B1–B2، حدود ۱۲۰ کلمه) و پیشرفته (C1، حدود ۱۵۰ کلمه). موضوع یکی است، ولی واژگان و ساختار جملهها با هر سطح عوض میشود. با آمدن موضوع جدید، ربات خبرتان میکند.
- لغتهای دشوار هر متن: برای هر متن تا پنج کلمه یا عبارتی که احتمالاً برای آن سطح سخت است، با یک توضیح سادهی انگلیسی و تلفظ صوتی.
- آزمونک: بعد از هر متن یک سؤال کوتاه دوگزینهای که میسنجد متن را واقعاً فهمیدهاید یا نه.
- مرور با جعبهی لایتنر: هر لغتی را که بخواهید به جعبهی لایتنر اضافه کنید. ربات لغت را همراه با جملهای از همان متن نشانتان میدهد؛ اگر بلد بودید به خانهی بعد میرود و دیرتر برمیگردد (۱، ۲، ۴، ۸ و ۱۶ روز بعد)، و اگر نه، از اول شروع میشود.
- دیکشنری: هر کلمهای را جستجو کنید تا معنی و تلفظش را ببینید، یا معنی دلخواه خودتان را بنویسید، و آن را هم به لیست مرور اضافه کنید.
- تمرین شنیداری: داستانهای سادهشدهی VOA Learning English، همراه با فایل صوتیشان.
- رکورد روزانه: ربات شمار روزهای پشتسرهمی را که تمرین کردهاید نگه میدارد؛ انگیزهای کوچک برای اینکه زنجیره پاره نشود.
- آرشیو موضوعهای قبلی و امکان فرستادن پیام مستقیم به من از داخل ربات.
چرا ساختمش
دو دلیل داشتم. اول اینکه میخواستم ابزاری بسازم برای کسی که میخواهد هر روز کمی انگلیسی تمرین کند: متنی که دقیقاً اندازهی سطح خودش باشد، نه کتابی که یا خیلی ساده است یا خیلی سخت. دوم، کنجکاوی دربارهی خطهای تولید محتوا با هوش مصنوعی؛ اینکه یک مدل زبانی چقدر خوب میتواند هر روز، بدون دخالت انسان، محتوای آموزشی درست و سطحبندیشده بسازد، و چطور میشود خروجیاش را آنقدر قابلاعتماد کرد که مستقیم به دست کاربر برسد.
چطور ساختمش
ربات با پایتون و کتابخانهی python-telegram-bot نوشته شده و دادههایش را در SQLite نگه میدارد.
- تولید محتوا: هر روز در ساعتی مشخص یک کار زمانبندیشده اجرا میشود. موضوع بعدی از یک صف برنامهریزیشده برداشته میشود (وقتی صف خالی شود، مدل یک دستهی بیستتایی موضوع تازه پیشنهاد میدهد که با موضوعهای قبلی تکراری نباشد). بعد با یک درخواست به مدل زبانی (gpt-4o-mini)، متن در سه سطح، لغتهای دشوار هر سطح و سؤال آزمونک یکجا ساخته میشود.
- خروجی قابلاعتماد: از مدل خواسته میشود فقط JSON با ساختاری مشخص برگرداند و خروجی با Pydantic اعتبارسنجی میشود؛ پاسخی که ساختارش درست نباشد ذخیره نمیشود.
- تابآوری: درخواستها بهطور پیشفرض از سرویس GapGPT میروند و اگر در دسترس نباشد، OpenRouter بهعنوان جایگزین به کار میرود.
- دیکشنری بدون هزینهی اضافه: معنی و تلفظ کلمههایی که کاربر خودش جستجو میکند از Free Dictionary API (بر پایهی ویکیواژه) میآید، نه از مدل زبانی؛ بنابراین جستجوی لغت هزینهای اضافه نمیکند.
- لایتنر: هر کارت پنج خانه دارد با فاصلهی مرور ۱، ۲، ۴، ۸ و ۱۶ روز؛ پاسخ درست کارت را یک خانه جلو میبرد و پاسخ غلط آن را به خانهی اول برمیگرداند.
- تمرین شنیداری: داستان و فایل صوتی از فیدهای عمومی VOA Learning English خوانده میشود.
- یک کد، دو پیامرسان: چون پیامرسان «بله» همان Bot API تلگرام را پیاده کرده، کد ربات طوری نوشته شده که با همان دیتابیس و همان منطق روی بله هم اجرا شود.
اگر ایدهای برای بهتر شدن ربات دارید یا میخواهید ابزاری شبیه این بسازید، با من در تماس باشید.
Member discussion