دليلك لإتقان الرزم المفلترة في أنكي
إن فتحت أنكيدرويد، لعلك عندما حاولت صناعة رزمة جديدة وجدت الزر إنشاء رزمة مفتلرة، ولعلك تجاهلت هذا الزر ولم تهتم بتعلم ما يصنع. الحقيقة أن هذا الزر فائدته كبيرة جدا لك، خصوصا إن كنت تنوي استخدام أنكي على المدى الطويل. على النقيض، استخدام هذا الزر ليس سهلا إلى الآن، ويحتاج منك تعلم «لغته»
حتى تستطيع التحدث معه!
لا تقلق من كلمة «لغة»
، فالأمر بسيط جدا! كل ما تحتاجه هو كلمات أساسية في اللغة الإنجليزية حتى تفهم لغة الرزم المفلترة جيدا. لغة الرزم المفلترة هي لغة حاسوبية.. دعوني أشرح لكم الأمر باختصار..
لنقل إنك تريد البحث عن بطاقة راجعتها منذ أسبوع على سبيل المثال.. كل ما تعرفه عن تلك البطاقة هو أنك راجعتها منذ 7 أيام.. الآن اذهب لمتصفح البطاقات واكتب «هات البطاقات التي راجعتها منذ 7 أيام»
، هل جلبها لك أنكي؟
لا؟ لماذا؟ لأن اللغة التي تتحدث بها لأنكي هي اللغة الطبيعية، اللغة البشرية التي نتحدث بها نحن البشر، أما الحاسوب فلا يفهم هذه اللغة (باستثناء الذكاء الصناعي طبعا).
الحاسوب بحاجة للُغة لها قواعد صارمة، تخبره أن المطلوب كذا بالضبط، لهذا فإن أخبرت أنكي rated:7، يجلب لك أنكي البطاقات التي راجعتها خلال آخر سبعة أيام، وإن أخبرته rated:7 -rated:6 يجلب لك ما راجعته خلال سبعة أيام ويزيل منها ما راجعته خلال ستة أيام (أي ما راجعته منذ أسبوع بالضبط). الفرق هنا أن هذه اللغة قواعدها صارمة؛ تكتب كلمة rated، ثم نقطتين رأسيتين :، ثم عدد الأيام بالضبط. إن غيرت شيئا من هذه القواعد (ولو بسيطة كمسافة بيضاء في المنتصف) لن يفهم ما تريد. بساطة هذه اللغة تجعلنا قادرين على التواصل مع حاسوبنا، والاستفادة من قدرته الجبارة على الحساب والبحث بسرعة شديدة.
فتعال معي نتعلم لغة الرزم المفلترة ونحقق أعلى استفادة منها!
أهمية الرزم المفلترة
ما أهمية هذه الميزة على أي حال؟ الرزم المفلترة تفيد في أي حالة تريد فيها مراجعة بطاقات بأسلوبك وخارج الجدول المعتاد. سأخبرك أمثلة حالات يمكن أن تفيدك فيها الرزم المفلترة:
مراجعة أيام تالية
أنت في وقت انتظار أو في المواصلات. لا تستطيع حاليا قراءة شيء جديد وأخذ ملاحظاتك عنه في هذا المكان غير المهيأ، لكن بوسعك مراجعة بطاقات أنكي. تنظر لأنكي فتجده يخبرك أنك ليس عليك أي مراجعة، لأنك انتهيت من بطاقاتك اليوم.
ماذا تفعل؟ تضيع هذا الوقت؟ كلا! ستصنع رزمة مفلترة، هذه الرزمة تسمح لك بمراجعة بطاقات الغد، حتى تخفف من عبء مراجعة يوم غد. بهذا تكون استفدت من وقت الانتظار.
المراجعة السريعة قبل الامتحان
إن كان امتحانك غدا فربما تريد مراجعة بطاقات أكثر، من غد وبعد غد وبعد بعد غد، وأن تقرأها سريعا حتى تذكر أكبر قدر من المعلومات قبل دخولك الامتحان الفعلي.
الخلط بين الرزم
قلت في مقال سر التكرار المتباعد إن الخلط بين الرزم والمواضيع مفيد للمراجعة، لأنه يعرضك لعشوائية مشابهة لعشوائية الحياة الحقيقية، فلا تراجع أسئلة في نفس الموضوع بالترتيب، بل تغير الموضوع بين حين وآخر. الرزم المفلترة إحدى الطرق للخلط بين الرزم دون صناعة رزمة أم كما شرحت في ذلك المقال.
مقدمة في صناعة الرزم المفلترة
الرزم المفلترة صناعتها سهلة في أنكي. على أنكيدرويد يصنع عبر الضغط على علامة +، وعلى الحاسوب عبر ضغط أدوات، ثم إنشاء رزمة مفلترة. سيطلب منك أنكي تحديد الفلتر الذي يحدد هذه الرزمة، وهذا ما نريد تعلمه في هذا المقال..
لنقل إن معنا رزمتين كهاتين:
| الرزمة الأولى | 6 | 5 | 80 |
| الرزمة الثانية | 31 | 1 | 76 |
سنصنع رزمة مفلترة غرضها الخلط بين الرزم، فندمج في المراجعة بينهما في رزمة واحدة. لنكتب الفلتر:
هذا الفلتر يجلب لنا البطاقات المستحقة اليوم. الدالة is تجلب البطاقات التي تحمل صفات معينة، ثم نكتب النقطيتين الرأسيتين حتى نفصل بين الدالة والمعطى، ثم نكتب الصفة due حتى نخبره أننا نريد البطاقات المستحقة.
بعد الفلتر يمكننا اختيار ترتيب البطاقات، أفضل أن يكون الترتيب عشوائي.
لننظر في الرزم بعد تطبيق صناعة الرزمة المفلترة:
| الرزمة الأولى | 6 | 0 | 0 |
| الرزمة الثانية | 31 | 0 | 0 |
| الرزمة المختلطة | 0 | 6 | 156 |
جميل! لكن البطاقات الجديدة ما وضعها؟ نريد إدخالها في الرزمة المختلطة.. لنضف التالي:
هذا الفلتر يجلب لنا البطاقات المستحقة اليوم، والبطاقات الجديدة is:new، ثم نضيف كلمة and، حتى يجلب لنا البطاقات المستحقة والبطاقات الجديدة معا.. لننظر كيف صارت:
| الرزمة الأولى | 6 | 5 | 80 |
| الرزمة الثانية | 31 | 1 | 76 |
| الرزمة المختلطة | 0 | 0 | 0 |
ما حدث؟! لقد خرجت كل البطاقات من الرزمة المفلترة! هنا يجب أن نفهم كيف يأتي لنا أنكي بالبطاقات:
أنكي ينظر إلى كل بطاقاتك واحدة تلو الأخرى (على حدة)، فإن وجد البطاقة تستوفي الفلتر يضعها في الرزمة الملفترة، وإن وجدها لا تستوفي لم يضعها. نحن كتبنا is:due and is:new، لكن and تعني هنا جمع بين الشرط الأول والشرط الثاني؛ أي: يجب أن تكون البطاقة مستحقة وجديدة في ذات الوقت. نظرا لعدم وجود أي بطاقة تستوفي هذا الشرط (أن تكون مستحقة وجديدة في نفس الوقت) فإن أنكي جعل الرزمة المفلترة فارغة.
فأداة العطف الصحيحة هنا هي or، والتي تعني: أن تكون بطاقة مستحقة أو تكون جديدة. لنجرب الفلتر:
| الرزمة الأولى | 0 | 0 | 0 |
| الرزمة الثانية | 0 | 0 | 0 |
| الرزمة المختلطة | 37 | 6 | 156 |
وهذا ما كنا نريده!
الفلتر الثاني
لنقل أن لدينا رزمة جاهزة نذاكرها، هذه الرزمة الجاهزة فيها 500 بطاقة جديدة، ولكن نظرا لإعداد الحد اليومي يبدو منها 20 فقط. لننظر في رزمنا:
| الرزمة الأولى | 6 | 5 | 80 |
| الرزمة الثانية | 31 | 1 | 76 |
| الرزمة الجاهزة | 20 | 0 | 0 |
جميل! لنكتب الفلتر السابق is:due or is:new ولنر النتيجة:
| الرزمة الأولى | 0 | 0 | 0 |
| الرزمة الثانية | 0 | 0 | 0 |
| الرزمة الجاهزة | 0 | 0 | 0 |
| الرزمة المختلطة | 537 | 6 | 156 |
ما هذا! خمسمئة بطاقة جديدة اليوم! هذا أقصى مما أستطيع تحمله!
هل نغير حد الفلتر؟ المشكلة أني لا أريد حدا لبطاقات المراجعة (فعددها مقبول)، لكني أريد حدا للبطاقات الجديدة (عددها ضخم). حينها يمكننا استخدام الفلتر الثاني:
في قاع إعدادات الرزمة ستجد ما يسمى الفلتر الثاني، شغله، ستجد أنه مستعد لاستقبال فلتر ثاني بإعدادات مختلفة عن الفلتر الأول.
الفلتر الأول نعيده إلى is:due، ونجعل حده غير محدود 99999، ونجعل الترتيب عشوائيا. في الفلتر الثاني نكتب is:new، ونجعل الحد معقولا (مثلا: 57 إن كنا نريد نفس العبء قبل الرزمة المفلترة)، ونجعل الترتيب بحسب المضاف مؤخرا أولا حتى نرى بطاقاتنا قبل بطاقات الرزمة الجاهزة. الآن لدينا فتلرين:
الفلتر الأول: is:due، الحد 99999، الترتيب عشوائي.
الفلتر الثاني: is:new، الحد 57، الترتيب المضاف مؤخرا أولا.
لننظر في النتيجة:
| الرزمة الأولى | 0 | 0 | 0 |
| الرزمة الثانية | 0 | 0 | 0 |
| الرزمة الجاهزة | 0 | 0 | 0 |
| الرزمة المختلطة | 57 | 6 | 156 |
بهذا نكون حققنا ما نريد!
رغم أني لم أجرب أي رزمة جاهزة إلى اليوم لا زلت أستفيد من الفلتر الثاني في نقطة الترتيب، فأنا أرغب ترتيب بطاقات المراجعة عشوائيا، بينما ترتيب البطاقات الجديدة بحسب تاريخ الإضافة (الأقدم أولا).
تفريغ وملء الرزمة المفلترة
بعد الانتهاء لا تحذف الرزمة، بل أبقها للاستخدام المستقبلي، حيث يمكنك تفريغ وملء الرزمة بحسب نفس القواعد في أيام أخرى.
- على أنكيدرويد تضغط ضغطة مطولة على اسم الرزمة المفلترة، ثم تضغط تفريغ إن كنت تريد إعادة البطاقات إلى رزمها الأصلية، أو إعادة إنشاء إن كنت تريد إعادة ملئها بحسب نفس القواعد.
- على أنكي للحاسوب تضغط على اسم الرزمة، فتجد الزرين تفريغ وإعادة إنشاء بالأسفل، اضغط عليهما حسب الرغبة.
لاحظ أن حذف الرزمة المفلترة لا يحذف البطاقات التي دخلت فيها، لكنك ربما تحتاج نفس الفلتر والإعدادات في يوم آخر، وهذا هو غرض إبقاء الرزمة المفلترة حتى بعد الانتهاء منها.
مراجع وطرق كتابة قواعد الرزم المفلترة
إن كنت تريد مرجعا كاملا في طرق كتابة الفلتر فلديك دليل البحث. القواعد التي تسري على البحث هي نفسها التي تسري على الفلتر. هذا الدليل مفصل عن كل الدوال المتاحة حتى تعلم كيف تكتب الفلتر الذي يفعل لك ما تريده بالضبط.
لاحظ: بعض الوظائف أضيفت للبحث بعد ظهور FSRS، وهي وظائف تسمح بالبحث عن بطاقات بحسب خواص FSRS مثل الصعوبة أو احتمال التذكر الذي تتوقعه الخوارزمية. هذه التحديثات موجودة في الدليل الإنجليزي وليست موجودة في النسخة العربية. إن كنت تحب المشاركة في تحديث الدليل العربي، فكر في المساهمة وترجمة التحديثات.
رزم مفلترة مفيدة
أما إن كنت لا تحب قراءة الدليل فإليك عددا من الرزم المفلترة المفيدة بالنسبة لي، فربما تكون مفيدة لك كذلك. يمكنك صناعتها ثم ملئها وتفريغها حسب رغبتك:
الخلط بين جميع الرزم
الفلتر الأول: is:due، الحد 99999، الترتيب عشوائي.
الفلتر الثاني: is:new، الحد 99999 (أو أقل في حالة وجود رزمة جاهزة)، الترتيب تاريخ الإضافة (أو المضاف مؤخرا أولا في حالة وجود رزمة جاهزة).
هذا يسمح لك بمراجعة كل الرزم مختلطات دون الحاجة لوجود رزمة أم تحوي كل رزمك كرزم فرعية.
مراجعة بطاقات الغد
هذا الفلتر يسمح لك بمراجعة بطاقات اليوم والغد معا، إن كنت انتهيت من بطاقات اليوم ولا زال لديك وقت فراغ:
الفلتر الأول: prop:due<=1 -rated:3 -is:buried or is:due. بدون تعقيد هذا الفلتر يفعل الآتي:
- يجلب لك البطاقات التي هي مستحقة بعد يوم أو أقل prop:due<=1، العلامة <= تعني
«أقل من أو يساوي»
، عدل العدد 1 كما تحب (مثلا: اجعله 2 إن كنت تريد مراجعة بطاقات يومين تاليين). - يطرح منها ما راجعته خلال آخر 3 أيام (لأن مراجعة ما رأيته خلال آخر 3 أيام اليوم يعد شبه مضيعة للوقت، لأنك لم تأخذ فرصتك حتى تنساها) -rated:3، عدل العدد 3 كما تحب.
- يطرح منها البطاقات المدفونة -is:buried، وهي البطاقات التي قررت دفنها (عدم رؤيتها اليوم ورؤيتها غدا).
- ثم يأتي بما تاريخ استحقاقه اليوم is:due، بغض النظر عن تاريخ آخر مراجعة (حتى لو كانت في آخر 3 أيام).
الحد 99999، الترتيب عشوائي.
اجعل الفلتر الثاني مثل الفلتر الثاني السابق بالضبط.
مراجعة بطاقة قبل معادها قد يكون فكرة جيدة وسيئة. هي فكرة جيدة من أجل استغلال وقت الفراغ وتخفيف عبء الأيام التالية. في ذات الوقت ربما يضر لأني كما ذكرت في مقال سر التكرار المتباعد أن المخ يثبت المعلومة لفترة أطول إن بذل مجهودا في استدعائها، وبهذا فإن مراجعة بطاقة مبكرا ربما لا يسمح للمعلومة أن تنسى قليلا قبل محاولة استدعائها، وبالتالي يقلل من المجهود المطلوب لاستدعائها، فيقلل من استقرارها داخل الدماغ.
لحسن الحظ.. خوارزمية FSRS ذكية بما يكفي حتى تعلم كم سيكون مقدار استقرار البطاقة بعد مراجعتها مبكرا..
في حالة بطاقة راجعتها منذ شهر ومعادها غدا ولكنك تراجعها يوما مبكرا فهذا اليوم لن يفرق كثيرا أمام شهر، ولهذا لا بأس ولن تضر استقرار المعلومة. في حالة معلومة أخطأت فيها منذ يومين وتجدولت غدا، ثم تراجعها مجددا اليوم فأنت تضيع الوقت، لأنك لم تسمح لنفسك أن تنساها، وبالتالي ستقول لك FSRS أن «هل أصبت الإجابة؟ لا مفاجأة، فأنا أعلم، إذ أنت رأيتها منذ يوم!»
ثم تجدولها لك غدا أو يوما قريبا مرة أخرى! أي أنك راجعت دون تطويل المدة (الفكرة الأساسية من التكرار المتباعد). نحن نحاول التقليل من هذا الضرر عبر كتابة الاستثناء -rated:3 حتى نستثني ما رأيناه قريبا ونؤجله إلى معاد استحقاقه.
بطاقات الأمس
ربما نمت ولم تنتهِ من المراجعة. حينها أحيانا أحب مراجعة بطاقات الأمس في جلسة منفصلة عن بطاقات اليوم. اصنع الرزمة الآتية:
الفلتر الأول: prop:due<0 or is:learn، هذا يجلب لك كل ما تاريخ استحقاقه الأمس أو ما قبله prop:due<0، مع البطاقات التي أخطأت فيها أمس is:learn. الترتيب والحد كما في السابق. لا حاجة للفلتر الثاني في هذه الحالة.
«أقل من أو يساوي»، فهو مطابق في الوظيفة.
الذكاء الصناعي
إن لم تجد الفلتر الذي تريده فيما ذكرته لك بالأعلى يمكنك الاستعانة بالذكاء الصناعي وبوتات الدردشة. نظرا لأن كتابة الفلتر مهمة بسيطة إلى حد ما ستبلي تلك البوتات بلاء حسنا في كتابتها. إن وجدت الفلتر يعمل كما يجب احتفظ بالرزمة واملأها كل يوم تحتاجها.
خطأ برمجي
لاحظت وجود خطأ برمجي في أنكي، وهو أن مراجعة البطاقات داخل رزمة مفلترة لا يخضع لقواعد الأيام السهلة. فمثلا إن كنت ضبطت يوم الجمعة على أنه أدنى، ثم راجعت بطاقات داخل رزمة مفلترة، فقد تجد بطاقات أكثر من المعتاد تجدولت في يوم الجمعة. إلى أن تحل تلك المشكلة تعايش معها.
مؤمن محمد عبد الستار