30 道題背後嘅數據結構
SBTI 嘅測試介面睇落好簡單——30 道題,每道 3 個選項,撳撳撳就搞掂。但喺你撳「下一題」嘅嗰幾秒入面,後台已經喺度靜靜雞起緊一個關於你嘅心理模型。
首先要明一個核心結構:呢 30 道題唔係亂排嘅。佢哋被精確分配到 15 個心理維度上面,每個維度恰好 2 道題。維度編號由 S1 開始,到 So3 結束,按自我(S1-S3)、情感(E1-E3)、態度(A1-A3)、行動(Ac1-Ac3)、社交(So1-So3)嘅順序排列。第 1-2 題對應 S1(自尊穩定性),第 3-4 題對應 S2(自我清晰度),第 5-6 題對應 S3(價值錨定),如此類推。
每道題嘅三個選項分別對應 1 分、2 分、3 分。但呢度有一個容易被忽略嘅細節:唔係所有題目嘅選項都係正序排列。有啲題嘅選項分值係反轉嘅——第一個選項係 3 分,最後一個選項係 1 分。呢種反轉設計係為咗防止你機械式「全揀第一個」或者「全揀最後一個」嚟操縱結果。
30 道題做完,系統手上有咗 30 個分值。跟住就係按維度加總——每個維度嘅 2 道題分數相加,得到該維度嘅原始分數。由於每道題 1-3 分,2 道題加埋嘅範圍就係 2 至 6 分。呢 15 個原始分數,就係你成個測試結果嘅基礎數據。
由分數到等級:三檔歸類
原始分數攞到手之後,下一步係將佢哋歸檔。呢個歸檔邏輯簡單到令人意外:
- 2-3 分 → L(Low,低)
- 4 分 → M(Medium,中)
- 5-6 分 → H(High,高)
留意吓呢個分佈:L 覆蓋 2 分同 3 分兩個值,H 覆蓋 5 分同 6 分兩個值,而 M 只對應 4 分呢一個值。意味住攞到 M 嘅機率係最低——你嘅兩道題必須恰好係 1+3 或 2+2 嘅組合。
呢個設計選擇幾有趣。佢說明 SBTI 有意避開咗「中庸陷阱」——唔想大多數人都落喺中間地帶,而係將你往兩頭推。你喺某個維度上大概率係偏高或偏低,而唔係唔高唔低。咁令最終嘅人格畫像更鮮明、更有「性格」,亦更適合截圖放上 IG Story。
假設你喺 S1(自尊穩定性)維度嘅兩道題分別揀咗 2 分同 3 分,加埋 5 分,歸入 H。喺 E2(情感投入度)維度揀咗 1 分同 2 分,加埋 3 分,歸入 L。15 個維度全部做完歸檔,你就得到一個 15 位嘅字母串。按五組維度用短橫線隔開,睇落好似咁:HMH-LML-HHM-LMH-HML。呢串字母就係你嘅「人格 DNA」——SBTI 所有後續計算嘅輸入。
模式匹配:你嘅 DNA 對比 25 種標準模板
攞到你嘅人格 DNA 之後,系統要做嘅嘢係:將佢同 25 種常規人格類型嘅標準 DNA 逐一比較,搵出最似你嘅嗰個。
每種常規類型都有一個預定義嘅 15 位模式字符串。例如掌控者 CTRL 嘅標準模式係 HHH-HMH-MHH-HHH-MHM,死者 DEAD 嘅標準模式係 LLL-LLM-LML-LLL-LHM。你可以直觀睇到分別:CTRL 幾乎全部係 H(高),而 DEAD 幾乎全部係 L(低)——一個係乜維度都拉滿嘅掌控達人,一個係乜維度都躺平嘅行屍走肉。
比較嘅方法用嘅係曼哈頓距離(Manhattan Distance)。先將 L/M/H 映射成數字:L=1,M=2,H=3。然後將你嘅 15 維度數字串同標準類型嘅 15 維度數字串逐位相減,攞絕對值,再加總。
舉個具體例子。假設你嘅模式係 HHL-MHH-MLH-HHM-HLH,翻譯成數字就係 3,3,1-2,3,3-2,1,3-3,3,2-3,1,3。攞佢同掌控者 CTRL 嘅標準模式 HHH-HMH-MHH-HHH-MHM(即 3,3,3-3,2,3-2,3,3-3,3,3-2,3,2)比較:
逐位差異:|3-3|=0, |3-3|=0, |1-3|=2, |2-3|=1, |3-2|=1, |3-3|=0, |2-2|=0, |1-3|=2, |3-3|=0, |3-3|=0, |3-3|=0, |2-3|=1, |3-2|=1, |1-3|=2, |3-2|=1
總距離 = 0+0+2+1+1+0+0+2+0+0+0+1+1+2+1 = 11
然後轉換成相似度:max(0, round((1 - 11/30) × 100))% = 63%。距離越細,相似度越高。理論最大距離係 30(15 個維度每個差 2),所以除以 30 做歸一化。
排名、兜底同嗰樽酒
系統對所有 25 種常規類型都做完上面嘅計算之後,按距離由細到大排序——距離最細嘅類型就係你嘅最佳匹配。如果兩個類型距離相同,會進一步比較「精確匹配維度數」(即完全一致嘅維度有幾多個),匹配越多嘅排前面。
但喺宣佈結果之前,仲有兩道閘門:
第一道閘門係相似度門檻。如果你嘅最佳匹配相似度低過 60%——即係話你同最似你嘅嗰個類型都只有唔到六成似——系統會判定「現有模板裝唔落你」,直接將你歸入 傻樂者 HHHH。呢個係一個工程上嘅「兜底」設計:確保再點奇葩嘅答題模式都可以得到一個結果,而唔係一個 error page。
第二道閘門喺時間線上其實更早:DRUNK 檢查。30 道正式題答完之後,系統會彈出關於飲酒嘅補充題。如果你觸發咗「酒鬼路徑」——具體嚟講,先通過一道 4 揀 1 嘅門控題,再通過一道 2 揀 1 嘅確認題——系統會完全跳過上面所有嘅模式匹配流程,直接俾你酒鬼 DRUNK。你之前認認真真答嘅 30 道題?全部白做。呢個就係 SBTI 最初作為「勸酒工具」留落嚟嘅彩蛋。
所以完整嘅結果判定流程係:先查 DRUNK → 如果冇觸發,做模式匹配 → 最佳匹配 ≥ 60% 就用佢 → 低過 60% 就俾傻樂者 HHHH。成個流程喺代碼入面只有幾十行,但生成咗數以千萬計用戶嘅人格標籤。
結果編碼:16 個數字嘅分享密碼
測試結果出咗之後,仲有最後一步:將佢編碼成可以 share 嘅格式。
SBTI 嘅分享 link 入面收埋咗一個 16 位嘅純數字字符串。前 15 位係你喺 15 個維度上嘅原始分數(每個維度一位數字,範圍 2-6),最後 1 位係 DRUNK 標記(0 或 1)。例如字符串 5342364553423420 表示:S1=5, S2=3, S3=4, E1=2, E2=3, E3=6, A1=4, A2=5, A3=5, Ac1=3, Ac2=4, Ac3=2, So1=3, So2=4, So3=2,DRUNK=0。
呢個編碼被嵌入分享 link 嘅 ?result= 參數入面。朋友撳開條 link 之後,系統直接由呢 16 位數字反推出完整嘅維度得分同匹配結果——唔需要重新答題就可以睇到你嘅結果。呢個就係點解 SBTI 嘅分享 link 體驗咁順暢:撳開就睇到,睇完可以直接攞自己嘅結果嚟做 CP 匹配。
呢種編碼方式亦意味住一件事:你嘅分享 link 入面包含咗你所有 15 個維度嘅原始分數。識技術嘅人可以直接由條 link 度讀出你嘅完整心理畫像,甚至攞你嘅分數去手動計算你同其他類型嘅匹配度。某程度上,呢個 16 位數字比你嘅類型名承載咗更多資訊——佢係一張完整嘅心理快照,只係被壓縮成一串唔起眼嘅數字。
點解了解算法好重要
有人會問:了解呢啲算法細節有乜用?我就想測個類型放上 IG Story 啫。
了解算法嘅價值唔在於令你「玩得更好」,而在於幫你正確理解結果嘅含義同局限。
知道咗每個維度只有 2 道題,你就明白點解重測結果會變——一道題改一個選項,維度分數就可能由 H 變成 M 甚至 L,成個匹配結果隨之翻轉。知道咗曼哈頓距離嘅計算方式,你就理解「73% 匹配」同「95% 匹配」嘅分別到底有幾大——前者意味住 15 個維度入面有好幾個同標準模式唔同,後者幾乎係完美吻合。
知道咗傻樂者 HHHH 嘅 60% 門檻,你亦就明白點解呢個類型咁罕見——25 種標準模式已經覆蓋咗絕大多數嘅維度組合空間,你要非常「非標」先可以落到所有模板嘅盲區入面。
SBTI 嘅算法唔複雜,但佢夠優雅。用最少嘅數據(30 個選擇)構建出一個有 15 個維度嘅心理畫像,再用最簡單嘅距離計算將佢匹配到一個有梗、有畫面感、令人忍唔住截圖嘅標籤上。成個系統由輸入到輸出,都係為「令你有嘢可以 share」呢一個目標設計。