大腦的記憶能力是需要鍛鍊的,背東西是一個很好的鍛鍊方式,尤其在現在幾乎什麼資訊都可以透過行動裝置連上網際網路來查找的時代,更需要讓自己去持續背某些特定的東西,以保持大腦記憶區塊的活躍性,預防失智症。背書是一個不錯的選擇,無論工作、學習上都很有幫助,且如果能非常熟練(遇到關鍵字或是相關場景就可以不假思索脫口而出),甚至連在生活、社交上都是很有用的。



不過,背書的過程可能會是枯燥乏味的,而且會需要時間去記憶新的東西,以及複習舊的東西。有沒有什麼方式可以降低背書所需要的成本並提升趣味性呢?

背背大師 Recitation Master

背背大師是筆者用Rust程式語言開發,能夠「陪伴」使用者一起背書、背稿、背題目的Telegram機器人,使用者可以設定個人的題目集並與這個機器人做互動。

不同語言版本的背背大師機器人資料是共通的,同一個Telegram帳號對於不同語言版本的背背大師機器人來說都是一樣的使用者。背背大師機器人的語言只會影響機器人傳給使用者的訊息的語言,並不會影響使用者自訂的題目集內容的語言。也就是說,我們除了可以用繁中版的背背大師來背中文的三字經外,也可以用英文版的背背大師來背中文的三字經。

題目集與題目

前面那段提到了題目集,一個題目集是由多個題目組成,每個題目可以是一個簡答題,或甚至也可以是一篇文章(由句子構成)。題目集題目的概念對於使用背背大師來說很重要,要先了解一下。

一個題目可以用以下的文字(JSON 格式)來表示:

{
    "title": "題目的標題(機器人會用這個來發問)",
    "hint": "題目的提示(可選)",
    "sentences": [
         "您想要背誦的第一句",
         "您想要背誦的第二句",
         "您想要背誦的第三句",
         "您想要背誦的第四句"
    ]
}

一個題目集可以用以下的文字來表示:

[
    {
        "title": "題目 1 標題",
        "hint": "題目 1 提示",
        "sentences": [
             "題目 1 句子 1",
             "題目 1 句子 2"
        ]
    },
    {
        "title": "題目 2 標題",
        "hint": "題目 2 提示",
        "sentences": [
             "題目 2 句子 1",
             "題目 2 句子 2"
        ]
    }
]

例如我想要練習背《登鸛雀樓》和《靜夜思》,那麼我的題目集文字可以寫成以下這樣:

[
    {
        "title": "登鸛雀樓",
        "hint": "唐 作者:王之渙 五言絕句 更上一層樓",
        "sentences": [
            "白日依山盡",
            "黃河入海流",
            "欲窮千里目",
            "更上一層樓"
        ]
    },
    {
        "title": "靜夜思",
        "hint": "唐 作者:李白 五言絕句 低頭吃便當",
        "sentences": [
            "床前明月光",
            "疑是地上霜",
            "舉頭望明月",
            "低頭思故鄉"
        ]
    }
]

之後會說明上面這段題目集文字要如何使用。

使用背背大師

利用上面提供的Telegram聯絡人連結來開啟背背大師的聊天視窗。

recitation-master

開始聊天後,背背大師會為您使用的Telegram帳號自動註冊一個背背大師的帳號,您將來就會以這個帳號來使用背背大師,您所設定的題目集和「問答」進度,都會儲存在這個帳號中。

recitation-master

使用/help指令可以查看背背大師的說明。也可以繼續閱讀本篇文章來了解用法。

recitation-master

為了避免伺服器資源被濫用,每個使用者儲存題目集的空間是有限制的。您可以使用/quota指令來顯示您的配額狀態。而且如果您超過180天都沒有使用這個機器人,您的背背大師帳號將會被刪除。

recitation-master

如果您想提高您的配額,請聯絡筆者

為了要新增或是取代一個題目集,您需要建立起您自己的題目集文字,並將其存進一個以UTF-8來編碼的文字檔案內,接著上傳這個檔案給背背大師。記得在上傳檔案的時候於說明文字(caption)欄位填上題目集的名稱。

這邊提供筆者自己的題目集(筆者的背書複習清單):

recitation-master

recitation-master

如果題目集的數量、題目數量、句子數量、句子字數超出您的配額,題目集就會設定失敗。若您遇到這個問題請聯絡筆者來擴充配額。

recitation-master

/lsq指令可以列出您所擁有的題目集的名稱。/lsq指令也可以列出一個題目集內的所有題目標題,如果您在下一行輸入題目集的名稱的話。

recitation-master

一旦您有了題目集,您就可使用/startqa指令來進入「問答」。/startqa指令的使用方式比較複雜,指令第一行要填入/startqa <question_number> <answer_mode>。其中的question_number用來設定您想要循序地從第幾個題目開始。如果將question_number設為0,則題目會隨機排列;answer_mode是答題模式,可以設定的值如下:

  • p (plain):您需要回答所有句子。
  • uf (user_first):您回答第一句,背背大師機器人回應第二句,然後您再回答第三句,依此類推。
  • bf (bot_first):背背大師機器人回應第一句,您回答第二句,然後背背大師機器人再回應第三句,依此類推。
  • tuf (take_turns_user_first):這題先使用uf,下一題再使用bf,輪流切換模式。
  • tbf (take_turns_bot_first):這題先使用bf,下一題再使用uf,輪流切換模式。
  • r (random): 上面的模式會被隨機地用在各個題目中。

/startqa指令的第二行要輸入題目集的名稱。

如下圖,輸入的指令為:

/startqa 0 p
詩經

所以會開始從「詩經」這個題目集進行問答。

recitation-master

開始問答後,就可以直接傳送目前要背誦的句子給背背大師機器人,機器人會在過程中跟您互動。

recitation-master

完成一個題目後,背背大師機器人會立刻出下一題。

recitation-master

/stopqa或是/stopqac指令可以停止目前的問答,後者會顯示當前題目剩餘的句子。

recitation-master

/rmq指令可以刪除指定名稱的題目集。

recitation-master

在問答中,/qtitle指令可以顯示目前題目的title/qhint指令可以顯示目前題目的hint/qhint2指令可以提示目前應該要背出來的句子,會有75%的字被隱藏;/qhistory指令可以顯示目前應該要背出來的句子之前的句子,幫助您回想起要背的句子。

recitation-master

背錯的話,背背大師機器人會立即指出錯誤。另外在p答題模式下,背背大師機器人會在您背的時候,給予些許反饋來鼓勵您。

recitation-master