A personalized Ancient Greek textbook, built from the texts you
choose.
Didaskalos (διδάσκαλος, teacher) is an open-source pipeline
that reads an annotated Greek corpus and writes a textbook for it.
Grammar topics are ordered by what your texts actually use rather
than by a fixed curriculum, and the exercises are authentic
sentences from that corpus, each carrying its citation.
A note on speed: Didaskalos does a lot of work on
your texts before it generates anything — parsing every treebank,
extracting grammatical features, and ranking them by frequency. So
the app can feel a little slow at times. Please be patient with it;
a good textbook takes a moment!
85
works built in
25
authors and collections
157
lesson modules per language
2
languages available
Why this project
A framework for teaching Greek, extensible to any language
Ancient Greek pedagogy is concentrated in English and a few European
languages, and for speakers of most other languages the resources are
very limited or nonexistent. Learning Greek therefore means going
through a second foreign language first, or translating a textbook
that was written for a different audience, which can turn the
translation process into a rewrite, or complicate the learning
experience. Didaskalos is built the other way round: the
sequencing lives in code and the teaching language is a data
file, while the pedagogy lives in modules written from the start to be
translated. Adding a language needs one locale file and a translated
set of modules, with no change to the pipeline — though the
translation itself is not mechanical, since for a language with no
Greek-teaching tradition the grammatical terminology has to be coined
rather than translated. It is now available in English and Persian,
but nothing in the design is specific to either.
The teaching language is a data file
Everything language-specific sits in two places — the lesson modules
and one locale file. Translate those and Didaskalos teaches Greek in
that language: interface, lessons, grammatical terminology, and the
exported book together. The pipeline itself does not change.
Made for languages with no Greek grammar
Didaskalos is worth most exactly where pedagogical resources for
learning Greek are lacking or limited. Persian comes first because
it is the language I work in and care about most, but it is one case
of a shared problem that involves many other low-resource languages.
More than a translated textbook
Even in English, this is not the conventional method. There is no
fixed curriculum and no simplified sentences: the syllabus is
ordered by what your chosen texts actually use, and every exercise
is a real sentence carrying its citation.
How it works
From treebank to textbook
Four stages run server-side each time you press build. Nothing is
pre-baked: change the corpus and you get a different book.
-
Parse
Annotated treebanks are read by pluggable per-format adapters —
Perseus/AGDT XML and CoNLL-U (Universal Dependencies, PROIEL) —
which normalize every token's morphology into one shared tag. Adding
a new corpus is a folder plus one manifest entry, not a code change.
-
Rank
Every token is counted by the grammatical feature it exhibits, which
turns the corpus into a ranked list of topics: which case, which
declension class, which tense-mood-voice combination this author
actually leans on.
-
Order
Frequency alone would open a course on an irregular form, so the
ranking is constrained: a fixed opening orients the beginner first,
bound sequences keep dependent topics adjacent, and frequency
arranges everything after that.
-
Assemble
Each ranked topic pulls in its lesson module, its paradigm, and its
exercises drawn from the corpus, and the book is exported as
Markdown, HTML, or CSV — with a colophon naming every source corpus,
its license, and its URL.
Homer, Iliad, all 24 books → 128,102 analyzed tokens · 132
ranked grammar topics.
When frequency and pedagogy disagree
A purely statistical syllabus is a poor teacher. Three cases where
Didaskalos deliberately overrules the frequency count:
The most common form in a corpus can be an irregular or an advanced
one.
The first lessons are fixed: the alphabet and an orientation to
nouns, adjectives, and verbs map the system before frequency takes
over, so a beginner is oriented rather than overwhelmed.
Teaching an exception before the rule exists can be very confusing.
Prerequisites are declared by kind: an irregular verb, noun, or
adjective class waits for a regular one to be irregular against, and
an adjective class waits for a noun class to agree with.
Some topics only make sense together — the middle voice raises a
question that deponent verbs have to answer.
Bound sequences keep them adjacent, and syncretic or repetitive
labels are merged into one lesson: the vocative is taught inside the
nominative rather than given a module that would repeat it.
In the App
Three choices — a corpus, a lesson count, a textbook type — and the
build returns a downloadable book.
Bring your own corpus
Pick from 85 works by 25 authors and collections — whole works, or
the portions of them the treebanks annotate — across four treebank
corpora: Perseus, Gorman, Harrington, and the PROIEL New Testament.
Or paste treebank URLs and upload your own XML. Each source is
listed in the app with its author and license.
Two textbook types
A case-based textbook explains nouns and adjectives case by case; a
declension-based one first classifies every noun and adjective into
declension classes and orders the lessons by how frequent each class
is in your corpus.
Exercises, ranked
Exercises are unaltered corpus sentences, scored by word rarity and
sentence length and preferring sentences whose vocabulary earlier
lessons have already introduced — so lexical difficulty climbs
gradually. Syntactic difficulty is not scored, so the real curve is
lumpy rather than gentle.
Localization
Built to be translated
Didaskalos was bilingual from the start, and being translatable is a
design goal rather than an afterthought. Localization in a new
language needs a single locale file and a translated set of modules —
the pipeline does not change, though coining a grammatical terminology
where none exists is real work.
Consistent terminology
A curated English–Persian table of grammatical terms keeps the
vocabulary stable across 157 lesson modules, so the same category is
never named two ways.
One rule makes it translatable
No lesson explains Greek by comparison with the learner's first
language. That single constraint is what lets a module be translated
into another language rather than rewritten for each new audience.
The book, not just the buttons
Translating the interface only would not solve the accessibility
issue; localizing Didaskalos means the exported textbook is
generated in the chosen language throughout — lesson text, exercise
instructions, answer keys, and the colophon.
Want Didaskalos in your language?
Translate the lesson modules and one locale file, and you have a
Didaskalos that teaches Greek in your language — the pipeline itself
doesn't change. If you'd like to add a language, I'd be glad to help:
get in touch.
Where this started
Who gets to read the sources directly?
Didaskalos began as an answer to one language's version of that
problem. For readers in Iran, Ancient Greek texts are primary sources
for their own past: much of the surviving continuous narrative of
ancient Persia reaches us only in Greek. Yet no Iranian institution
offers a regular Ancient Greek course, and there is no functional
grammar, reader, or textbook written for Persian speakers.
So those texts are read at second hand, and every mediating edition
adds its own interpretive layer. That is a problem that a tool like
Didaskalos is trying to solve, by helping a larger audience read the
sources directly.
The grammar modules began as first drafts from a Retrieval-Augmented
Generation pipeline over standard reference grammars, including
Smyth's Greek Grammar
and Crosby & Schaeffer,
prepared by Gregory Crane. That pipeline has since been retired: the modules are being
hand-corrected, and the review is ongoing rather than finished.
The drafting models were open-weight ones served by Groq — chiefly
OpenAI's gpt-oss-20b, with the larger
gpt-oss-120b and two Llama models tried
alongside it. These are OpenAI's open-weight releases running on
Groq's hardware, not the proprietary GPT models. Everything after
drafting is a separate story: Claude models later edited the English,
translated the modules into Persian, edited both against a curated
English–Persian terminology table, and fact-checked them. The pipeline
itself, with its notebook and prompts, is preserved in the
repository's archive for anyone who wants to see exactly what produced
the first drafts.
The generation pipeline's data flow is agnostic to the teaching
language, though its explanatory framework need not be: a set of
modules can be localised in whatever way helps its own learners most,
explaining Greek in terms that are specific to that language rather
than translating the English word for word.
Known Limitations
Other than reviewing the lesson modules, the core infrastructure is
also being modified and improved. These are some of the issues I am
working through:
-
The syllabus is driven by morphology almost alone; syntax is barely
used, though the treebanks carry it. I'm trying to find a way to use
it without overcomplicating the system.
-
The pedagogical approach needs further refinement, particularly in how
it integrates with the syntax. I'm working on integrating
Didakta
into the system.
-
Rare paradigms in the long tail have no lesson file yet, so a very
large build can still report a missing module.
-
Source treebanks sometimes disagree with each other, or carry
undecodable and misaligned tags.
-
Whether the automatically selected exercises are genuinely useful
still needs systematic evaluation.
Didaskalos is released under
CC BY-NC-SA 4.0. That covers the original work — the pipeline, the lesson modules,
the syllabus method, and the translations. The Greek source texts
remain under the licenses granted by their own authors, which every
generated textbook reproduces in its colophon.
کتاب درسی شخصیسازیشدهٔ یونانی باستان، ساختهشده از متنهایی که
خودتان انتخاب میکنید.
دیداسکالوس (διδάσκαλος، یعنی
«آموزگار») ابزاری متنباز است که یک پیکرهٔ حاشیهگذاریشدهٔ یونانی
را میخواند و برای همان پیکره کتاب درسی مینویسد. مبحثهای دستوری نه
بر پایهٔ یک برنامهٔ درسی از پیش تعیینشده، بلکه بر پایهٔ آنچه
متنهای شما واقعاً به کار میبرند مرتب میشوند، و تمرینها جملههایی
دستنخورده از همان پیکرهاند که هرکدام ارجاعش را با خود دارد.
نکتهای دربارهٔ سرعت: دیداسکالوس پیش از تولید هر
چیزی کارهای زیادی روی متنها انجام میدهد — تجزیهٔ همهٔ پیکرههای
درختی، استخراج ویژگیهای دستوری و رتبهبندی آنها بر اساس بسامد.
بنابراین برنامه گاهی کمی کند به نظر میرسد. لطفاً شکیبا باشید؛ ساختن
یک کتاب خوب کمی زمان میبرد!
۸۵
اثر آمادهٔ استفاده
۲۵
نویسنده و مجموعه
۱۵۷
پودمان درسی در هر زبان
۲
زبان در دسترس
چرا این پروژه
چارچوبی برای آموزش یونانی، قابلگسترش به هر زبان
آموزش یونانی باستان در انگلیسی و چند زبانِ اروپاییِ دیگر متمرکز است، و
برای گویشورانِ بیشترِ زبانهای دیگر منابع بسیار محدود است یا اصلاً
وجود ندارد. آموختن یونانی از این رو یعنی نخست گذشتن از یک زبان خارجی
دیگر، یا ترجمهٔ کتاب درسیای که برای مخاطبی دیگر نوشته شده است — کاری
که میتواند ترجمه را به بازنویسی بدل کند یا تجربهٔ یادگیری را پیچیده
سازد. دیداسکالوس به طریق دیگری ساخته شده است:
ترتیبِ درسها در کد است و زبانِ آموزش یک فایلِ داده، و خودِ
روشِ آموزش در پودمانهایی نشسته است که از آغاز برای ترجمهشدن نوشته
شدهاند. افزودنِ زبانی تازه به یک فایلِ زبان و مجموعهای پودمانِ
ترجمهشده نیاز دارد و سامانه تغییری نمیکند — هرچند خودِ ترجمه کاری
مکانیکی نیست، چون برای زبانی که سنتِ آموزشِ یونانی ندارد اصطلاحاتِ
دستوری را باید ساخت، نه ترجمه کرد. دیداسکالوس اکنون به انگلیسی و فارسی
در دسترس است، اما هیچ چیز در طراحی به هیچکدام از این دو زبان وابسته
نیست.
زبانِ آموزش، یک فایلِ داده است
هر چه به زبان وابسته است تنها در دو جا نشسته است: پودمانهای درسی و
یک فایل زبان. همین دو را ترجمه کنید تا دیداسکالوس یونانی را به آن
زبان درس بدهد — رابط، درسها، اصطلاحات دستوری و کتاب خروجی با هم.
خودِ برنامه تغییری نمیکند.
برای زبانهایی که دستور یونانی ندارند
دیداسکالوس دقیقاً همانجا بیشترین ارزش را دارد که منابع آموزشیِ
یونانی نایاب یا محدودند. فارسی نخستین است، چون زبانی است که در آن
کار میکنم و بیش از همه برایم اهمیت دارد، اما تنها یک نمونه از
مسئلهای مشترک است که بسیاری از زبانهای کممنبع دیگر نیز با آن
روبهرویند.
بیش از یک کتابِ ترجمهشده
حتی به انگلیسی هم این روشِ متعارف نیست. نه برنامهٔ درسیِ از پیش
تعیینشدهای در کار است و نه جملهٔ سادهسازیشده: ترتیب درسها را
آنچه متنهای انتخابی شما واقعاً به کار میبرند تعیین میکند، و هر
تمرین جملهای واقعی است که ارجاعش را با خود دارد.
روش کار
از پیکرهٔ درختی تا کتاب درسی
با هر بار ساخت، چهار مرحله روی سرور اجرا میشود. هیچ چیز از پیش آماده
نیست: پیکره را عوض کنید، کتاب دیگری میگیرید.
-
تجزیه
پیکرههای درختیِ حاشیهگذاریشده را مبدلهایی جداگانه برای هر قالب
میخوانند — Perseus/AGDT XML و
CoNLL-U (Universal Dependencies
و PROIEL) — و صرفِ هر واژه را به یک برچسب مشترک تبدیل میکنند.
افزودن پیکرهٔ تازه یعنی یک پوشه و یک سطر در فهرست، نه تغییر در کد.
-
رتبهبندی
هر واژه بر پایهٔ ویژگی دستوریاش شمارش میشود و پیکره به فهرستی
رتبهبندیشده از مبحثها بدل میگردد: اینکه این نویسنده واقعاً بر چه
حالت، چه ردهٔ صرفی و چه ترکیبی از زمان و وجه و جهت تکیه کرده است.
-
چیدمان
بسامدِ تنها ممکن است درس اول را با یک صورت بیقاعده آغاز کند. برای
حل این مشکل، رتبهبندی مقید میشود: چند درس ثابتِ آغازین نخست به
زبانآموز دیدی کلی میدهند، درسهای وابسته کنار هم میمانند، و بسامد
باقی درسها را مرتب میکند.
-
مونتاژ
هر مبحث پودمان درسی، جدول صرفی و تمرینهای برگرفته از پیکره را با
خود میآورد و کتاب با قالب Markdown، HTML یا CSV بیرون داده میشود —
همراه با شناسنامهای که نام، مجوز و نشانی هر پیکرهٔ منبع را میآورد.
هومر، ایلیاد، تمامی ۲۴ سرود ← ۱۲۸٬۱۰۲ واژهٔ تحلیلشده · ۱۳۲
مبحث دستوری رتبهبندیشده.
وقتی بسامد و آموزش در تقابل قرار میگیرند
برنامهٔ درسیِ صرفاً آماری آموزگار خوبی نیست. سه موردی که دیداسکالوس
آگاهانه شمارشِ بسامد را نادیده میگیرد:
پربسامدترین صورت در یک پیکره میتواند صورتی بیقاعده باشد.
نخستین درسها ثابتاند: الفبا و درآمدی بر اسم، صفت و فعل پیش از آنکه
بسامد کار را به دست بگیرد نقشهٔ کلی زبان را میکشند تا مبتدی سرگردان
نشود.
آموزشِ استثنا پیش از آنکه خودِ قاعده در کار باشد میتواند بسیار
گیجکننده باشد.
برای هر درس پیشنیازها اعلام شدهاند: برای مثال، فعلهای بیقاعده
منتظر میمانند تا ابتدا دستکم یک صرف باقاعده آموزش داده شود.
برخی مبحثها فقط کنار هم معنا دارند — جهت میانه پرسشی پیش میکشد که
در درس افعال مجهولنما به آن پاسخ داده میشود.
چنین درسهایی همیشه پیاپی میآیند، و برچسبهای همصورت یا تکراری در
یک درس ادغام میشوند: حالت ندایی درون درس فاعلی آموزش داده میشود،
نه در پودمانی جدا که همان را تکرار کند.
در برنامه
سه انتخاب — یک پیکره، شمار درسها و نوع کتاب — و نتیجه کتابی است
آمادهٔ دانلود.
پیکرهٔ خودتان را بیاورید
از میان ۸۵ اثر از ۲۵ نویسنده و مجموعه — کامل، یا در همان بخشهایی که
پیکرهها حاشیهنگاری کردهاند — در چهار پیکرهٔ درختی: Perseus،
Gorman، Harrington و عهد جدیدِ PROIEL. یا نشانی پیکرهها را وارد
کنید و فایلهای XML خودتان را بارگذاری کنید. هر منبع با نام پدیدآور
و مجوزش در برنامه فهرست شده است.
دو نوع کتاب درسی
کتاب مبتنی بر حالت اسمها و صفتها را حالتبهحالت توضیح میدهد؛
کتاب مبتنی بر صرف نخست هر اسم و صفت را در ردههای صرفی دستهبندی
میکند و درسها را بر پایهٔ بسامد هر رده در پیکرهٔ شما مرتب
میسازد.
تمرینهای رتبهبندیشده
تمرینها جملههای دستنخوردهٔ پیکرهاند که بر پایهٔ نایابی واژهها و
طول جمله امتیاز میگیرند و جملههایی مقدماند که واژگانشان در
درسهای پیشین آمده باشد — پس دشواریِ واژگانی بهآرامی بالا میرود.
دشواریِ نحوی امتیاز داده نمیشود، پس منحنیِ واقعیِ دشواری ناهموار
است نه ملایم.
بومیسازی
ساختهشده برای ترجمه
دیداسکالوس از همان آغاز دوزبانه بوده و ترجمهپذیری هدفی طراحیشده است،
نه چیزی که بعداً به آن افزوده شود. بومیسازی به زبانی تازه به یک فایل
زبان و مجموعهای از پودمانهای ترجمهشده نیاز دارد و سامانه تغییری
نمیکند — هرچند ساختنِ اصطلاحاتِ دستوری آنجا که وجود ندارند کارِ کمی
نیست.
اصطلاحات یکدست
جدولی گزیده از اصطلاحات دستوری انگلیسی–فارسی واژگان را در سراسر ۱۵۷
پودمان درسی ثابت نگه میدارد، تا یک مقوله هرگز به دو نام خوانده
نشود.
یک قاعده که ترجمه را ممکن میکند
هیچ درسی یونانی را با مقایسه با زبان اول زبانآموز توضیح نمیدهد.
همین یک محدودیت است که اجازه میدهد پودمانها به زبانهای تازه ترجمه
شوند و نیازی به بازنویسی آنها برای مخاطبان جدید نباشد.
خودِ کتاب، نه فقط دکمهها
ترجمهٔ رابط بهتنهایی مسئلهٔ دسترسی را حل نمیکند؛ بومیسازی
دیداسکالوس یعنی کتاب خروجی سرتاسر به زبان انتخابی تولید میشود — متن
درس، صورت تمرینها، کلید پاسخها و شناسنامه.
میخواهید زبان تازهای به دیداسکالوس اضافه کنید؟
پودمانهای درسی و یک فایل زبان را ترجمه کنید تا دیداسکالوسی داشته
باشید که یونانی را به زبان شما درس میدهد — خودِ برنامه تغییری
نمیکند. اگر میخواهید زبانی تازه اضافه کنید، با کمال میل همراهیتان
میکنم:
با من تماس بگیرید.
پروژه از کجا آغاز شد
چه کسی میتواند منابع را بیواسطه بخواند؟
دیداسکالوس در آغاز پاسخی بود به روایتِ یک زبان از همین مسئله. برای
مخاطبان ایرانی، متنهای یونانی باستان منابع دستاول تاریخ خودشاناند:
بخش بزرگی از روایتِ پیوستهٔ برجایماندهٔ ایران باستان تنها به یونانی
به دست ما رسیده است. با این حال هیچ نهاد آموزشی در ایران به طور منظم
دورههای آموزشی یونانی باستان ارائه نمیکند، و هیچ دستور زبان کاربردی
یا درسنامهای برای فارسیزبانان نوشته نشده است.
درنتیجه، متون یونانی همواره از طریق ترجمهٔ غیر مستقیم خوانده میشوند و
هر ترجمهٔ میانجی لایهٔ تفسیری خودش را میافزاید. این همان مسئلهای است
که ابزاری مانند دیداسکالوس میکوشد با بهبود وضعیت منابع آموزشی یونانی
باستان حل کند.
پودمانهای دستوری در آغاز پیشنویسهایی بودند که با یک پردازشگرِ
Retrieval-Augmented Generation بر پایهٔ
دستورهای مرجع — از جمله
دستور زبان یونانی Smyth
و Crosby & Schaeffer، که
به کوشش Gregory Crane فراهم شده است
— تولید شده بودند. آن پردازشگر کنار گذاشته شده است:
پودمانها در حال دستویرایشاند و بازبینیشان ادامه دارد و به پایان
نرسیده است.
مدلهایی که پیشنویسها را نوشتند از گونهٔ
open-weight بودند و روی
سرورهای Groq اجرا میشدند — بیش از همه
gpt-oss-20b از OpenAI، و در
کنارش gpt-oss-120bِ بزرگتر و
دو مدل از خانوادهٔ Llama نیز آزموده شدند. اینها نسخههای
open-weight شرکت OpenAIاند که
روی سختافزار Groq اجرا میشوند، نه مدلهای اختصاصیِ GPT. آنچه پس از
پیشنویس آمد داستانی جداست: مدلهای Claude بعدها متنِ انگلیسی را
ویراستند، پودمانها را به فارسی برگرداندند، سپس ترجمه فارسی بر مبنای
جدولِ اصطلاحشناسیِ انگلیسی–فارسی یکدست شد و پودمانها راستیآزمایی
شد. خودِ پردازشگر، با نوتبوک و پرامپتهایش، در بایگانیِ گیتهاب نگه
داشته شده است.
پردازشگرِ دیداسکالوس به زبانِ آموزش وابسته نیست، اما چارچوبِ توضیحیاش
لازم نیست چنین باشد: هر مجموعه از پودمانها میتواند به هر شیوهای که
یادگیرندگانِ خودش را بهتر یاری میکند بومیسازی شود و یونانی را با
توضیحهایی ویژهٔ همان زبان بیاموزد، نه با ترجمهٔ واژهبهواژهٔ متنِ
انگلیسی.
کاستیهای شناختهشده
جدا از بازبینی پودمانهای درسی، زیرساخت اصلی نیز در حال تغییر و بهبود
است. اینها برخی از مسائلی است که رویشان کار میکنم:
-
برنامهٔ درسی تقریباً تنها بر صرف استوار است؛ از نحو با آنکه در
پیکرهها هست کمتر استفاده میشود. در پی راهی هستم که بتوان از آن بهره
گرفت بیآنکه سامانه بیش از اندازه پیچیده شود.
-
رویکرد آموزشی به پالایش بیشتری نیاز دارد، بهویژه در چگونگی پیوندش با
نحو. در حال یکپارچهکردن
Didakta
با سامانه هستم.
-
صرفهای نادر هنوز فایل درس ندارند، پس ساختهای بسیار بزرگ ممکن است
نبودِ یک پودمان را گزارش کنند.
-
پیکرههای منبع گاهی با یکدیگر ناسازگارند یا برچسبهای ناخوانا و
نابهجا دارند.
-
اینکه تمرینهای انتخابشدهٔ خودکار واقعاً سودمندند یا نه، هنوز به
ارزیابی نظاممند نیاز دارد.
دیداسکالوس با مجوز
CC BY-NC-SA 4.0
منتشر میشود. این مجوز کار اصلی را دربر میگیرد: پردازشگر، پودمانهای
درسی، روش تدوین برنامهٔ درسی و ترجمهها. متنهای یونانی منبع همچنان
تابع مجوزی هستند که پدیدآورندگان خودشان تعیین کردهاند و هر کتاب
تولیدشده آنها را در شناسنامهاش بازمیآورد.