Spaces:
Running
Running
์๊ธ ์ง๊ณ์์ ์ฃผ์ต์ธก ์ ์ถ ์ ์ธ โ ๋ถ๋ฌธ ์ ๋๋ ์ฐธ๊ฐ์ ์ค ์ต์์
d781026 verified Download i18n.js from FINAL-Bench/leadboard: direct link, hf CLI and curl.
- Browser
- Download file 31.4 kB
-
https://huggingface.co/spaces/FINAL-Bench/leadboard/resolve/main/i18n.js
- Command line
-
hf download hf://spaces/FINAL-Bench/leadboard/i18n.js
-
curl -L -o i18n.js https://huggingface.co/spaces/FINAL-Bench/leadboard/resolve/main/i18n.js
31.4 kB
| /* LEADBOARD ๋ฌธ์์ด ์ฌ์ . | |
| * | |
| * ๋ฌธ์์ด์ ์ ๋ถ ์ฌ๊ธฐ์๋ง ๋๋ค. ํ๋ฉด ์ฝ๋์ ํ๊ตญ์ด๊ฐ ์์ด๋ฉด ์์ดํ์ด ์กฐ์ฉํ ๋ค์ฒ์ง๋ค. | |
| * ์์๋ฐ์ดํ๋ฅผ ์ฐ์ง ์๋๋ค - ์๋ฌธ ์ถ์ฝํ(don't) ํ๋๊ฐ ๋ฌธ์์ด์ ๋์ด ์ฌ์ ์ ์ฒด๋ฅผ | |
| * ๋ฌด๋๋จ๋ฆฐ ์ ๋ก๊ฐ ์๋ค. ์ถ์ฝํ์ ํ์ด ์ด๋ค. | |
| */ | |
| window.T = { | |
| ko: { | |
| htmlLang: "ko", | |
| title: "LEADBOARD โ ์ ์ฝ ์์ธก ๋๊ตฌ ์ํ๋", | |
| navSpec: "๊ท๊ฒฉ", | |
| login: "HF ๋ก๊ทธ์ธ", logout: "๋ก๊ทธ์์", | |
| langBtn: "EN", | |
| heroKicker: "AI ์ ์ฝ ๊ฐ๋ฐ ๋ฒค์น๋งํฌ", | |
| heroTag: "์ ์ฝ ์์ธก ๋๊ตฌ๋ฅผ<br>๋ถ์ผ๋ณ๋ก, ๋์ผํ ๊ธฐ์ค์ผ๋ก ํ๊ฐํฉ๋๋ค", | |
| heroLede: "๋ณธ ์ํ๋๋ ์ ๋ต์ ๋ฐฐํฌํ์ง ์์ต๋๋ค. ๋์ <b>ํ์ตํ์ง ์์ ๊ธฐ์ค์ </b>๊ณผ " + | |
| "<b>ํด๋น ์ข ๋ชฉ์ ์คํ์ค ๊ฐ ์ฌํ ์ค์ฐจ</b>๋ฅผ ์ฌ์ ์ ๊ณต์ํ์ฌ, ๋ณด๊ณ ๋ ์ฑ๋ฅ์ด " + | |
| "์ธก์ ํ๊ณ ๋๋น ์ด๋์ ์์นํ๋์ง ํ์ ํ ์ ์๊ฒ ํฉ๋๋ค.", | |
| statBoards: "๊ฐ์ค ๋ถ๋ฌธ", statCompounds: "ํ ์คํธ ํํฉ๋ฌผ", statFields: "๋ถ์ผ", | |
| statClauses: "๊ท๊ฒฉ ์กฐํญ", statPlanned: "๊ณํ ๋ถ๋ฌธ", | |
| secLeaders: "๋ถ๋ฌธ๋ณ 1์", | |
| secLeadersLead: "๊ฐ ๋ถ๋ฌธ์ ํ์ฌ ์ ๋์ ๋๋ค. ์ฐธ๊ฐ ์ ์ถ์ด ์๋ ๋ถ๋ฌธ์ ๋น์ ๋ก๋๋ค โ ๊ธฐ์ค์ ์ ๋์ด์ผ ํ ์ ์ด์ง ์ฐ์น์๊ฐ ์๋๋๋ค.", | |
| thBoard: "๋ถ๋ฌธ", thBest: "1์", thScore: "์ ์", thVs: "๊ธฐ์ค์ ๋๋น", thN: "ํ ์คํธ", | |
| noLeader: "์์ง ์์", | |
| leadersEmpty: n => `${n}๊ฐ ๋ถ๋ฌธ ๋ชจ๋ ์ฐธ๊ฐ ์ ์ถ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.`, | |
| leadersSome: (a, b) => `${b}๊ฐ ๋ถ๋ฌธ ์ค ${a}๊ฐ์ ์ ๋๊ฐ ์์ต๋๋ค.`, | |
| secBrowse: "๋ถ์ผ", secBrowseLead: "๋ถ์ผ๋ฅผ ์ ํํ๋ฉด ์์ ๋ถ๋ฌธ์ ์์ํ์ ์ ์ถ ์ฐฝ๊ตฌ๋ก ์ด๋ํฉ๋๋ค.", | |
| prizeH: "์๊ธ", | |
| prizeLead: (amt,close)=>`๋ง๊ฐ์ผ์ <b>ํ ๋ถ</b>์๊ฒ ๋ฏธํ ${amt}๋ฌ๋ฌ๋ฅผ ๋๋ฆฝ๋๋ค. ๋ง๊ฐ ${close}.`, | |
| prizeRule: (n)=>`<b>1์ ๋ถ๋ฌธ์ ๊ฐ์ฅ ๋ง์ด ๊ฐ์ง ํ ๋ถ</b>๊ป ๋๋ฆฝ๋๋ค. ์ฐธ๊ฐ๋ ํ ๋ถ๋ฌธ์ด๋ฉด ๋๊ณ , ๋ช ๊ฐ๋ฅผ ๋ด์ จ๋์ง๋ ๋ฐ์ง์ง ์์ต๋๋ค.<br>๋ถ๋ฌธ๋ง๋ค ์งํ๊ฐ ๋ฌ๋ผ ์ ์๋ฅผ ํฉ์ฐํ ์ ์์ผ๋ฏ๋ก <b>1์ ๋ถ๋ฌธ์ ๊ฐ์</b>๋ก ์ ๋๋ค. ๋์์ด๋ฉด ๋จผ์ ๋๋ฌํ ๋ถ์ด ์ฐ์ ํฉ๋๋ค.`, | |
| statSubs: "์ ์ถ", | |
| prizeElig: "", | |
| prizeMissing: (n)=>"", | |
| prizeHost: "๐ธ <b>์ฃผ์ต์ธก ์ ์ถ(SeaWolf-AI ๋ฑ)์ ์๊ธ ์ง๊ณ์์ ์ ์ธ๋ฉ๋๋ค.</b> ํ์๋ ๋์ด์ผ ํ ๊ธฐ์ค์ ์ผ๋ก ๋จ์ง๋ง, ์๊ธ ์์์์๋ ์๋ ๊ฒ์ผ๋ก ๋ด ๋๋ค โ ์ด๋ ๋ถ๋ฌธ์ ์๊ธ ์ ๋์ธ์ง๋ <b>์ฐธ๊ฐ์ ์ค ์ต์์</b>๋ก ์ ํฉ๋๋ค. ์ฃผ์ต์ธก์ด ํ์์ 1์์ฌ๋ ๊ทธ ๋ถ๋ฌธ์ ์๊ธ ์ ๋๋ ๊ทธ ๋ค์ ์ฐธ๊ฐ์์ ๋๋ค.", | |
| prizeNone: "์์ง ์์ ํ๋ณด๊ฐ ์์ต๋๋ค. ๋ถ๋ฌธ ํ๋์์ 1์๋ฅผ ํ๋ฉด ์ด๋ฆ์ด ์ฌ๊ธฐ ์ฌ๋ผ๊ฐ๋๋ค.", | |
| prizeStanding: "ํ์ฌ ํ๋ณด", | |
| prizeFirsts: (n)=>`1์ ${n}๊ฐ ๋ถ๋ฌธ`, | |
| starterTag: "์ ๋ฌธ", | |
| starterLead: "์ฒ์์ด์๋ฉด <b>์ ๋ฌธ</b> ํ์๊ฐ ๋ถ์ ๋ถ๋ฌธ๋ถํฐ ๋ณด์ธ์. ์ํ์ ์ด 150~200๊ฐ๋ก ์๊ณ , ํ์ต ๋ฐ์ดํฐ๋ฅผ ChEMBL ์กฐํ ํ ๋ฒ์ผ๋ก ๋ฐ์ ์ ์์ต๋๋ค.", | |
| secEvidence: "์ธก์ ํ๊ณ ์งํ", | |
| secEvidenceLead: "๊ฐ๋ก์ถ์ <b>๊ธฐ์ค์ ์ค์ฐจ รท ์คํ ์ฌํ ์ค์ฐจ</b>์ ๋๋ค. 1.0 ์ ๊ทผ์ ํ ์๋ก " + | |
| "๋ชจ๋ธ์ ๊ฐ์ ํด๋ <b>์ธก์ ์ ์ฐํฌ๋ฅผ ์์ธกํ๋ ์ผ</b>์ ๊ฐ๊น์์ง๋๋ค.", | |
| secMethod: "์ฑ์ ๊ท๊ฒฉ 8๊ฐ ์กฐํญ", | |
| secMethodLead: "์ฐธ๊ฐ์์๊ฒ ๋ถ๊ณผํ๋ ์๊ฑด์ด ์๋๋ผ, ์ฑ์ ์๊ฐ ์ค์ค๋ก์๊ฒ ๋ถ๊ณผํ๋ ์ ์ฝ์ ๋๋ค.", | |
| secData: "๋ฐ์ดํฐ์ ๋ผ์ด์ ์ค", | |
| terrLeft: "์คํ ์ค์ฐจ ์์ชฝ", terrRight: "๋ชจ๋ธ ์ค์ฐจ๊ฐ ๋ ํผ", | |
| insideCount: n => `${n}๊ฐ ๋ถ๋ฌธ์ด 1.3๋ฐฐ ์์ชฝ์ ์์นํฉ๋๋ค.`, | |
| lostNote: n => `<b>${n}๊ฐ ๋ถ๋ฌธ์์ ํ์ต ๊ธฐ์ค์ ์ด ์์ ์์ธก์ ๋ฏธ๋ฌํ์ต๋๋ค.</b> ` + | |
| "ํ์ตํ์ง ์์ ์์ธก์ด ๋ ์ ํํ๋ค๋ ์๋ฏธ์ ๋๋ค. ๊ธฐ์ค์ ์ ์์ํ์ ์์ฃผ์ํค์ง " + | |
| "์์ผ๋ฉด(3์กฐ) ์ด ์ฌ์ค์ ์ด๋ค ์งํ์๋ ๋ํ๋์ง ์์ต๋๋ค.", | |
| openN: n => `${n} ๊ฐ์ค`, prep: "์ค๋น ์ค", | |
| cardBoards: (o, p) => `๋ถ๋ฌธ ${o}/${p}`, | |
| cardCompounds: n => `${n} ํํฉ๋ฌผ`, | |
| clauses: [ | |
| ["์ ๋ต์ ๋ฐฐํฌํ์ง ์๋๋ค", "๋ถ๋ฌธ๋ง๋ค ๋ถํ ๋ฑ๊ธ๊ณผ ์ ๋ต ๋ฑ๊ธ์ ๊ณต์ํ๋ค"], | |
| ["์ ์๋ง๋ค ๋ ๊ฐ์ ์ง๋ฌธ", "๋ฐ์ดํฐ ํ๋ณธ๊ณผ ์ฑ์ ์ฝ๋์ SHA-256 ์ ๊ฐ์ธํ๋ค"], | |
| ["๊ธฐ์ค์ ์ ์์ํ์์ ๋ด๋ ค๊ฐ์ง ์๋๋ค", "์์ ์์ธก ยท ์ต๊ทผ์ ์ด์ ยท Morgan+LightGBM ์๊ตฌ ๋ฑ์ฌ"], | |
| ["์คํ ์ค์ฐจ๋ฅผ ์ฌ์ ๊ณต์ํ๋ค", "๋์ผ ํํฉ๋ฌผ์ ๋ ผ๋ฌธ ๊ฐ ์ธก์ ์ฐจ์ด๋ก ์ฐ์ถํ๋ค"], | |
| ["๋์ถ์ ๋งค ์ ์ถ๋ง๋ค ๊ฒ์ฌํ๋ค", "์ ๋ต๊ณผ ์์ ์๋ฆฌ๊น์ง ์ผ์นํ๋ ํญ๋ชฉ์ ๊ณผ๋ฐ๋๋ฅผ ๊ณต์ํ๋ค"], | |
| ["๊ฒฐ๊ณผ ์ ์ถ๊ณผ ๋ชจ๋ธ ์ ์ถ์ ๊ตฌ๋ถํ๋ค", "์ง์ ์ฌ์คํํ์ฌ ํ์ธํ ์ ์ถ์๋ง [๊ฒ์ฆ๋จ]์ ๋ถ์ฌํ๋ค"], | |
| ["๋ฏธ์ฐ์ถ์ 0์ ์ด ์๋๋ค", "์ธก์ ํ์ง ๋ชปํ ๊ฒ๊ณผ ์ธก์ ํ์ฌ ๋์ ๊ฒ์ ๋ค๋ฅด๋ค"], | |
| ["๋ฐ๋ณต ์ ์ถ๋ก ์์๊ฐ ์ค๋ฅด์ง ์๋๋ค", "Ladder ยท Blum & Hardt, ICML 2015"] | |
| ], | |
| all: "์ ์ฒด", | |
| tabRank: "์์", tabSubmit: "์ ์ถ", tabInfo: "๋ถ๋ฌธ ์ ๋ณด", | |
| thRank: "#", thMethod: "๋ฐฉ๋ฒ", thUser: "์ ์ถ์", thLeak: "๋์ถ", thGrade: "๋ฑ๊ธ", | |
| baseline: "๊ธฐ์ค์ ", submitted: "์ ์ถ๋จ", verified: "๊ฒ์ฆ๋จ", reference: "์ฐธ์กฐ ๋๊ตฌ", | |
| leakHigh: "์กฐํ ํ์ ", leakElev: "๊ทผ์ ๊ณผ๋ฐ", | |
| noiseNote: v => `<b>์คํ ์ฌํ ์ค์ฐจ ${v}.</b> ์ด ํญ ์์ ์ฐจ์ด๋ ์์ ์ฐจ์ด๋ก ์ฃผ์ฅํ์ง ` + | |
| "์์ต๋๋ค (4์กฐ). ๊ธฐ์ค์ 3์ข ์ ์์ํ์์ ๋ด๋ ค๊ฐ์ง ์์ต๋๋ค (3์กฐ).", | |
| noEntries: "์ฐธ๊ฐ ์ ์ถ์ด ์์ง ์์ต๋๋ค. ํ์ ํ์๋ ๊ฒ์ ๊ธฐ์ค์ ์ ๋๋ค.", | |
| updated: t => `์์ ๊ฐฑ์ ${t}`, | |
| gradeH: "๋ฑ๊ธ", holdoutH: "ํ๋์์", noiseH: "์คํ ์ฌํ ์ค์ฐจ", baseH: "๊ธฐ์ค์ ", | |
| splitGrade: "๋ถํ ๋ฑ๊ธ", answerGrade: "์ ๋ต ๋ฑ๊ธ", | |
| gradeNote: { | |
| T: "์๊ฐ ๋ถํ โ ์ต์ด ๋ณด๊ณ ์ฐ๋ ๊ธฐ์ค. ๊ธฐ์ค์ผ ์ดํ ์ฒ์ ๋ฑ์ฅํ ํํฉ๋ฌผ๋ง ํ๊ฐํ๋ค", | |
| S: "์ค์บํด๋ ๋ถํ โ ๊ณจ๊ฒฉ์ด ํ๋ จ์ ์๋ ํํฉ๋ฌผ๋ง ํ๊ฐํ๋ค", | |
| P1: "์ ๋ต์ด ๊ณต๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ค. ์กฐํ ๋ฐฉ์ด๋ 8์กฐ๊ฐ ๋ด๋นํ๋ค", | |
| P2: "์์๋ฃ๋ ๊ณต๊ฐ์ง๋ง ์ ๋ณ๊ณผ ํ์ฐ์ด ๋ณธ ํ๋ณธ์ ๊ตฌ์ฑํ๋ค. ๊ณต๊ฐ DB ์กฐํ๋ก๋ ๋์ผ ๊ฐ์ด ๋์ค์ง ์๋๋ค", | |
| P3: "ํํธ๋๋ก๋ถํฐ ์ ๊ณต๋ฐ์ ๋ฏธ๊ณตํ ์ค์ธก", | |
| P4: "๋ถ๋ฌธ ๊ฐ์ค ์ดํ ์์ฑ๋ ์ธก์ . ๊ฐ์ค ์์ ์ ์กด์ฌํ์ง ์์๋ค" | |
| }, | |
| kSource: "์ถ์ฒ", kCut: "๋ถํ ๊ธฐ์ค์ผ", kTrainTest: "ํ๋ จ / ํ ์คํธ", | |
| kOverlap: "๊ตฌ์กฐ ๊ฒน์นจ", kThr: "๋ถ๋ฅ ์๊ณ", kSha: "๋ฐ์ดํฐ ์ง๋ฌธ", kLicense: "๋ผ์ด์ ์ค", | |
| cutNote: "์ต์ด ๋ณด๊ณ ์ฐ๋ ๊ธฐ์ค", overlapNote: "0 (์๊ฐ ๋ถํ ์ ์์)", | |
| posRate: p => `์์ฑ ${p}%`, | |
| noisePairs: (p, c) => `๋น๊ต์ ${p} ยท ํํฉ๋ฌผ ${c}`, | |
| noiseDesc: "๋์ผ ํํฉ๋ฌผ์ <b>์๋ก ๋ค๋ฅธ ๋ ผ๋ฌธ</b>์์ ์ธก์ ํ ๊ฐ์ ์ฐจ์ด", | |
| noiseSd: "๋จ์ผ ์ธก์ ํ์คํธ์ฐจ ์ถ์ ", | |
| nearNote: (p, hi) => `๋ถ๋ฅ ์๊ณ์ ์์ ์คํ ์ค์ฐจ 1 ํ์คํธ์ฐจ ์์ ์๋ ํ ์คํธ ํํฉ๋ฌผ์ด ` + | |
| `<b>${p}%</b> ์ ๋๋ค. ` + (hi ? "์ฌ์ธก์ ์ ๋ผ๋ฒจ์ด ๋ฐ์ ๋ ์ ์์ด <b>ํ๊ท๋ฅผ ์ฃผ์งํ</b>๋ก ๋ก๋๋ค." | |
| : "๋ถ๋ฅ ์งํ๋ฅผ ํจ๊ป ์ฌ์ฉํฉ๋๋ค."), | |
| beatsYes: "ํ์ต ๊ธฐ์ค์ ์ด ์์ ์์ธก์ ์ํํ์ต๋๋ค.", | |
| beatsNo: "<b>ํ์ต ๊ธฐ์ค์ ์ด ์์ ์์ธก์ ๋ฏธ๋ฌํ์ต๋๋ค.</b> ํ์ตํ์ง ์์ ์์ธก์ด ๋ ์ ํํ์ต๋๋ค.", | |
| noiseFloorRow: "์คํ ์ค์ฐจ ๋ฐ๋ฅ", | |
| step1: "ํ ์คํธ์ ์๋ น", step2: "์์ธก ์ ์ถ", step3: "์ปจํ ์ด๋ ์ ์ถ (์ ํ)", | |
| step1d: n => `ํํฉ๋ฌผ <b>${n}๊ฐ</b>์ ๊ตฌ์กฐ(SMILES)๋ง ํฌํจํฉ๋๋ค. ๋ผ๋ฒจ์ ๋ณธ ์๋ฒ์ ์กด์ฌํ์ง ์์ต๋๋ค.`, | |
| licLine: "ChEMBL ํ์ ยท CC BY-SA 3.0 โ ์ฌ๋ฐฐํฌ ์ ์ถ์ฒ์ ๋์ผ ๋ผ์ด์ ์ค๋ฅผ ์ ์งํ์ญ์์ค.", | |
| dl: "ํ ์คํธ์ ๋ด๋ ค๋ฐ๊ธฐ", | |
| fMethod: "๋ฐฉ๋ฒ ์ด๋ฆ", fMethodH: "์์ํ์ ํ์๋ ๋ช ์นญ", | |
| fTrain: "ํ์ต์ ์ฌ์ฉํ ๋ฐ์ดํฐ", fTrainH: "5์กฐ ๋์ถ ๊ฒ์ฌ์ ์ฌ์ฉํฉ๋๋ค", | |
| fPred: "์์ธก๊ฐ", fPredH: "JSON ๋๋ CSV (compound_id, prediction)", | |
| fPredAx: n => `์ด ๋ถ๋ฌธ์ ์ถ์ด ${n}๊ฐ๋ค โ ํํฉ๋ฌผ๋ง๋ค ์ซ์ ${n}๊ฐ์ง๋ฆฌ ๋ฐฐ์ด์ JSON ์ผ๋ก ์ฌ๋ฆฐ๋ค`, | |
| drop: "ํ์ผ์ ๋์ด๋ค ๋๊ฑฐ๋ ํด๋ฆญํ์ฌ ์ ํ", | |
| send: "์ ์ถ", needLogin: "์ ์ถํ๋ ค๋ฉด HF ๊ณ์ ๋ก๊ทธ์ธ์ด ํ์ํฉ๋๋ค.", | |
| step3d: "๋ชจ๋ธ๊ณผ ์ถ๋ก ํ๊ฒฝ์ ํจ๊ป ์ ์ถํ๋ฉด ์ง์ ์ฌ์คํํ์ฌ ๋์ผ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ณ " + | |
| "[๊ฒ์ฆ๋จ]์ ๋ถ์ฌํฉ๋๋ค (6์กฐ).", | |
| ladderNote: (v, c) => `<b>8์กฐ.</b> ๋ฐ๋ณต ์ ์ถ๋ก๋ ์์๊ฐ ์ค๋ฅด์ง ์์ต๋๋ค. ์ง์ ์ต๊ณ ์ ์๋ฅผ ` + | |
| `์คํ ์ค์ฐจ <b>${v}</b> ์ด์ ๊ฐ์ ํ ๊ฒฝ์ฐ์๋ง ์ ์ ์๊ฐ ๊ณต๊ฐ๋ฉ๋๋ค. ์ผ์ผ ์ ์ถ ํ๋ ${c}ํ.`, | |
| accepted: id => `์ ์ ์๋ฃ ยท ์ ์ถ ๋ฒํธ ${id}`, | |
| parseFail: m => `์์ธก๊ฐ์ ํด์ํ์ง ๋ชปํ์ต๋๋ค: ${m}`, | |
| sending: n => `${n}๊ฐ ํญ๋ชฉ ์ ์ก ์ค`, | |
| emptyCat: "๋ณธ ๋ถ์ผ๋ ์์ง ๊ฐ์ค๋ ๋ถ๋ฌธ์ด ์์ต๋๋ค.", | |
| loadFail: "ํ๋ฉด์ ๋ถ๋ฌ์ค์ง ๋ชปํ์ต๋๋ค.", | |
| dataNote: "๋ชจ๋ ๋ถ๋ฌธ์ ChEMBL_37 ์์ ๊ตฌ์ถํ์ผ๋ฉฐ ์ต์ด ๋ณด๊ณ ์ฐ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์๊ฐ ๋ถํ ํ์ต๋๋ค. " + | |
| "๋ฐฐํฌ๋๋ ํ ์คํธ์ ์ ๊ตฌ์กฐ๋ง ํฌํจํ๋ฉฐ ๋ผ๋ฒจ์ ํฌํจํ์ง ์์ต๋๋ค.", | |
| srcLabel: "๋ฐ์ดํฐ ์ถ์ฒ", | |
| sib: "์๋งค ์ํ๋", | |
| sibOdc: "AI๊ฐ ์ฐพ์๋ธ ์ ์ฝ ํ๋ณด ๋ฌผ์ง์ ๊ณ์ฐ ๊ฒ์ฆํฉ๋๋ค", | |
| sibOmc: "์ ๊ณ ์ฒด ๋ฐฐํฐ๋ฆฌ ์ ์์ฌ๋ฅผ ์ฐพ๋ ์ํ๋์ ๋๋ค", | |
| secWhy: "์ ๋ง๋ค์๋๊ฐ", | |
| why1: "AI๊ฐ ์ ์ฝ ํ๋ณด๋ฅผ ์์๋ด๋ ๋งํผ, ๊ทธ ํ๋ณด๋ฅผ ํ์ ํ๋ <b>์์ธก ๋๊ตฌ</b>๋ ์์์ง๋๋ค. " + | |
| "ํก์ ยท ๋์ฌ ยท ๋ ์ฑ ยท ํ์ ๊ฒฐํฉ๋ง๋ค ๋๊ตฌ๊ฐ ์์ญ ๊ฐ์ฉ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ ๋๊ตฌ๋ค์ " + | |
| "์ฑ๋ฅ์ ๊ฐ๋ฐ์๊ฐ ์๊ธฐ ๋ ผ๋ฌธ์์, ์๊ธฐ๊ฐ ๊ณ ๋ฅธ ๋ฐ์ดํฐ๋ก ๋ณด๊ณ ํฉ๋๋ค. " + | |
| "<b>๊ฐ์ ๋ฌธ์ ๋ก ์ฐ ๊ฒ์ด ์๋๋ฏ๋ก ๋น๊ต๊ฐ ์ฑ๋ฆฝํ์ง ์์ต๋๋ค.</b>", | |
| why2: "2026๋ 2์, ๋๋ฆฌ ์ฐ์ด๋ ADMET ๋ฆฌ๋๋ณด๋ 22๊ฐ ์ข ๋ชฉ์ ์์ ๋ชจ๋ธ์ ์ ์ ๊ฒ์ฆํ ๊ฒฐ๊ณผ๊ฐ " + | |
| "๋ณด๊ณ ๋์์ต๋๋ค. ๊ฒ์ฆ ๋์ 66๊ฐ ์ค ์์ ํ ์ฌํ๋ ๊ฒ์ 3๊ฐ์๊ณ , ํ ์คํธ์ ์ ๋ง์ถ ๋ชจ๋ธ์ " + | |
| "22๊ฐ ์ข ๋ชฉ ์ค 10๊ฐ์์ 3์ ์์ ์ง์ ํ์ต๋๋ค. ๊ฐ์ ์ค๊ณ๋ฅผ ์ ์งํ๊ฒ ๊ตฌ์ฑํ ๋ชจ๋ธ์ 2๊ฐ์์ต๋๋ค.", | |
| why3: "๋ฌธ์ ๋ ํน์ ์ฐ๊ตฌ์ค์ด ์๋๋ผ <b>์ํ ๋ฐฉ์</b>์ ๋๋ค. " + | |
| "์ ๋ต์ ํจ๊ป ๋ฐฐํฌํ๋ ์ํ์, ์๋ฌด๋ฆฌ ์ฑ์คํ ์น๋ฌ๋ ์์ธก๋ ฅ๊ณผ ๋ ธ์ถ์ ๋ถ๋ฆฌํ์ง ๋ชปํฉ๋๋ค.", | |
| whyCite: "Koleiev ์ธ, Critical Assessment of ML models for ADMET Prediction in TDC leaderboards, bioRxiv 2026", | |
| secFound: "๋ณธ ์ํ๋๊ฐ ์ค์ธกํ ๊ฒ", | |
| secFoundLead: "์๋๋ ์ธ์ฉ์ด ์๋๋ผ ๋ณธ ์ํ๋๊ฐ 19๊ฐ ๋ถ๋ฌธ์์ ์ง์ ์ฐ์ถํ ๊ฒฐ๊ณผ์ ๋๋ค.", | |
| ratioLabel: "์ค์ฐจ รท ์คํ์ค์ฐจ", | |
| found1t: "๋ถํ ๋ฐฉ์๋ง์ผ๋ก AUROC ๊ฐ 0.21 ์ด๋ํ๋ค", | |
| found1d: "๋์ผ ๋ฐ์ดํฐ ยท ๋์ผ ๋ชจ๋ธ(Morgan+LightGBM ๊ธฐ๋ณธ๊ฐ) ยท ๋์ผ ํ ์คํธ ๋น์จ์์ ๋ถํ ๋ง ๊ต์ฒดํ์ต๋๋ค. " + | |
| "hERG ๊ธฐ์ค ๋ฌด์์ ๋ถํ 0.818 โ ์๊ฐ ๋ถํ 0.606. " + | |
| "<b>๋ถํ ๋ฐฉ์์ด ๊ณต์๋์ง ์์ ์์ํ์ ์์น๋ ๋น๊ต๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค.</b>", | |
| found2t: "19๊ฐ ๋ถ๋ฌธ ์ค 7๊ฐ์์ ํ์ต ๊ธฐ์ค์ ์ด ์์ ์์ธก์ ๋ฏธ๋ฌํ๋ค", | |
| found2d: "ํ๋ จ ๋ฐ์ดํฐ์ ์ค์๊ฐ์ ๊ทธ๋๋ก ๋ด๋๋ ์์ธก์ด ํ์ตํ ๋ชจ๋ธ๋ณด๋ค ์ ํํ์ต๋๋ค. " + | |
| "๊ธฐ์ค์ ์ ์์ํ์ ์์ฃผ์ํค์ง ์์ผ๋ฉด ์ด ์ฌ์ค์ ์ด๋ค ์งํ์๋ ๋ํ๋์ง ์์ต๋๋ค.", | |
| found3t: "๋ชจ๋ธ ์ค์ฐจ๊ฐ ์คํ ์ค์ฐจ์ 0.91 ~ 2.79 ๋ฐฐ ๊ตฌ๊ฐ์ ์๋ค", | |
| found3d: "๋์ผ ํํฉ๋ฌผ์ ์๋ก ๋ค๋ฅธ ๋ ผ๋ฌธ์์ ์ธก์ ํ ๊ฐ์ ์ฐจ์ด๋ก ๊ฐ ๋ถ๋ฌธ์ ์คํ ์ฌํ ์ค์ฐจ๋ฅผ " + | |
| "์ฐ์ถํ์ต๋๋ค. 7๊ฐ ๋ถ๋ฌธ์ ๊ทธ ์ค์ฐจ์ 1.3๋ฐฐ ์์ชฝ์ ์์ต๋๋ค.", | |
| secHow: "์ฐธ์ฌ ๋ฐฉ๋ฒ", | |
| how1t: "ํ ์คํธ์ ์ ๋ฐ์ต๋๋ค", | |
| how1d: "๋ถ๋ฌธ์ ์ ํํ๋ฉด ํํฉ๋ฌผ ๊ตฌ์กฐ(SMILES)์ ์๋ณ์๋ง ๋ด๊ธด ํ์ผ์ ๋ด๋ ค๋ฐ์ต๋๋ค. " + | |
| "๋ผ๋ฒจ์ ํฌํจ๋์ง ์์ผ๋ฉฐ, ๋ณธ ์๋ฒ์๋ ์กด์ฌํ์ง ์์ต๋๋ค.", | |
| how2t: "์ํ๋ ๋๊ตฌ๋ก ์์ธกํฉ๋๋ค", | |
| how2d: "์์ฒด ๋ชจ๋ธ ยท ์์ฉ ๋๊ตฌ ยท ๊ณต๊ฐ ๊ฐ์ค์น ยท ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๊ณ์ฐ ๋ฌด์์ด๋ ๋ฌด๋ฐฉํฉ๋๋ค. ์ ํํ์ง ์์ต๋๋ค. " + | |
| "ํ์ต์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ง ๊ธฐ์ฌํด ์ฃผ์ญ์์ค (5์กฐ ๋์ถ ๊ฒ์ฌ์ ์ฌ์ฉํฉ๋๋ค).", | |
| how3t: "์์ธก๊ฐ์ ์ ์ถํ๋ฉด ์๋ ์ฑ์ ๋ฉ๋๋ค", | |
| how3d: "JSON ๋๋ CSV ๋ก ์ฌ๋ฆฌ๋ฉด ์ฑ์ ยท ๋์ถ ๊ฒ์ฌ ยท ์ง๋ฌธ ๊ฐ์ธ์ด ์๋ ์ํ๋๊ณ , " + | |
| "๊ธฐ์ค์ 3์ข ๋ฐ ์คํ ์ค์ฐจ์ ํจ๊ป ์์ํ์ ํ์๋ฉ๋๋ค.", | |
| secMetric: "์ฑ์ ๊ธฐ์ค", | |
| mMae: "์ฃผ์งํ. ์์ธก๊ฐ๊ณผ ์ค์ธก๊ฐ์ ํ๊ท ์ ๋ ์ค์ฐจ์ ๋๋ค. ๋ฎ์์๋ก ์ข์ต๋๋ค.", | |
| mAuroc: "๋ถ๋ฅ ์งํ. ์๊ณ์ ์์๋๋ฅผ ๊ฐ๋ฅด๋ ๋ฅ๋ ฅ์ ๋๋ค. 0.5 ๋ ๋ฌด์์์ ๊ฐ์ต๋๋ค.", | |
| mPrauc: "์์ฑ์ด ๋๋ฌธ ๋ถ๋ฌธ์์ AUROC ๋ณด๋ค ์คํ๋ฅผ ์ ๋๋ฌ๋ ๋๋ค.", | |
| mNoise: "๋์ผ ํํฉ๋ฌผ์ ๋ ผ๋ฌธ ๊ฐ ์ธก์ ์ฐจ์ด๋ก ์ฐ์ถํ ์ฌํ ์ค์ฐจ์ ๋๋ค. ์ด ํญ ์์ ์ฐจ์ด๋ ์์๋ก ์ธ์ ํ์ง ์์ต๋๋ค.", | |
| mRatio: "์ต์ ๊ธฐ์ค์ ์ค์ฐจ รท ์คํ ์ค์ฐจ. 1.0 ์ ๊ทผ์ ํ๋ฉด ์ธก์ ํ๊ณ์ ๋๋ฌํ ๊ฒ์ ๋๋ค.", | |
| mLeak: "์์ธก๊ฐ์ด ์ค์ธก๊ฐ๊ณผ ์์ ์๋ฆฌ๊น์ง ์ผ์นํ๋ ํญ๋ชฉ์ ๋ฐ๋์ ๋๋ค. ์๋๋ฅผ ํ์ ํ์ง ์๊ณ ์ฌ์ค๋ง ํ์ํฉ๋๋ค.", | |
| secOwn: "์ ์ถ๋ฌผ์ ์ทจ๊ธ", | |
| own1: "<b>์ ์ถํ ์์ธก๊ฐ์ ์ ์ถ์์ ๊ฒ์ ๋๋ค.</b> VIDRAFT ๋ ์ฑ์ ๊ณผ ์์ํ ํ์์ ํ์ํ " + | |
| "๋ฒ์์์๋ง ์ฌ์ฉํ๋ฉฐ, ๊ฐ๋ณ ์ ์ถ์ ์์ฌ ํ์ดํ๋ผ์ธ์ ํฌ์ ํ์ง ์๊ณ ์ 3์์๊ฒ ์ ๊ณตํ์ง ์์ต๋๋ค.", | |
| own2: "๋ค๋ง <b>๋ถ๋ฌธ ๋จ์ ์ง๊ณ</b>๋ ๊ณต๊ฐํ ์ ์์ต๋๋ค โ ์ ์ ์ถ์ ํฉ์ ์์ธก, ๋ชจ๋ ๋ฐฉ๋ฒ์ด " + | |
| "์คํจํ ํํฉ๋ฌผ ๋ชฉ๋ก, ์ ๊ทผ๋ฒ๋ณ ์ฑ๋ฅ ์งํ ๋ฑ์ ๋๋ค. ๊ฐ๋ณ ์ ์ถ์์ ์์ธก๊ฐ์ ์๋ณ๋์ง ์์ผ๋ฉฐ, " + | |
| "์ง๊ณ ๊ฒฐ๊ณผ๋ ์ฐธ๊ฐ์๋ฅผ ํฌํจํ ๋ชจ๋์๊ฒ ๊ณต๊ฐ๋ฉ๋๋ค.", | |
| own3: "๋ฐฉ๋ฒ ์ด๋ฆ๊ณผ ์์๋ ๊ณต๊ฐ๋ฉ๋๋ค. ๋ชจ๋ธ ๋ด๋ถ ๊ตฌ์กฐ๋ ๊ฐ์ค์น๋ฅผ ์๊ตฌํ์ง ์์ต๋๋ค.", | |
| secOpen: "๊ฐ์ค ์์ ", | |
| openLead: "๊ฐ ๋ถ๋ฌธ์ ํ๋์์๊ณผ ์คํ ์ค์ฐจ๊ฐ ํ๋ณด๋ ๋ค์ ์ฝ๋๋ค. ํ๋ณด๋์ง ์์ ๋ถ๋ฌธ์ ์ด์ง ์์ต๋๋ค.", | |
| learnMore: "์์ธํ", | |
| tabGuide: "์ฐธ์ฌ ๊ฐ์ด๋", | |
| gdIntro: "์์ธก ๋๊ตฌ๋ฅผ ์ฒ์ ๋ง๋์ ๋ค๋ฉด ์๋ ์์๋๋ก ํ์๋ฉด ๋ฉ๋๋ค. " + | |
| "์ง์ ์ฝ๋ฉํ์ ๋ ๋๊ณ , ์๋ ํ๋กฌํํธ๋ฅผ ์ธ์ด๋ชจ๋ธ์ ๊ทธ๋๋ก ๋ถ์ฌ ๋ฃ์ผ์ ๋ ๋ฉ๋๋ค.", | |
| gdWhat: "๋ฌด์์ ๋ง๋๋๊ฐ", | |
| gdWhatD: "ํํฉ๋ฌผ ๊ตฌ์กฐ(SMILES)๋ฅผ ๋ฐ์ <b>๊ฐ ํ๋</b>๋ฅผ ๋ด๋๋ ํจ์์ ๋๋ค. " + | |
| "๊ทธ ๊ฐ์ด ์ค์ธก๊ณผ ์ผ๋ง๋ ๊ฐ๊น์ด์ง๋ก ์ฑ์ ํฉ๋๋ค.", | |
| gdPrompt: "์ธ์ด๋ชจ๋ธ์ฉ ํ๋กฌํํธ", | |
| gdPromptD: "์๋๋ฅผ ํต์งธ๋ก ๋ณต์ฌํด Claude ยท GPT ยท Gemini ๋ฑ์ ๋ถ์ฌ ๋ฃ์ผ์ญ์์ค. " + | |
| "์ด ๋ถ๋ฌธ์ ๊ฐ์ด ์ด๋ฏธ ์ฑ์์ ธ ์์ต๋๋ค.", | |
| gdCopy: "๋ณต์ฌ", gdCopied: "๋ณต์ฌ๋จ", | |
| gdStarter: "๋ฐ๋ก ๋๋ ค๋ณผ ์ ์๋ ๋ผ๋", | |
| gdStarterD: "์ง์ ์ง์๋ ค๋ฉด ์ด ๋ผ๋์์ ์์ํ์ญ์์ค. ํ๋ จ ์๋ฃ๋ฅผ ๋ฐ์ ์ง๋ฌธ์ ๋ง๋ค๊ณ " + | |
| "๋ชจ๋ธ์ ํ์ตํด ์ ์ถ ํ์ผ๊น์ง ์๋๋ค.", | |
| gdRules: "์ง์ผ์ผ ํ ๊ฒ", | |
| gdR1: "๊ธฐ์ค์ผ ์ดํ ์ต์ด ๋ณด๊ณ ๋ ํํฉ๋ฌผ์ ํ์ต์ ์ฐ์ง ๋ง์ญ์์ค. ๊ทธ๊ฒ์ด ํ ์คํธ์ ์ ๋๋ค.", | |
| gdR2: "๊ฐ์ ํํฉ๋ฌผ์ด ์ฌ๋ฌ ๋ ผ๋ฌธ์ ์์ผ๋ฉด InChIKey ๋ก ์ ์ด ์ค์๊ฐ์ ์ฐ์ญ์์ค. " + | |
| "๋ฌธ์์ด๋ก ์ ์ผ๋ฉด ๊ฐ์ ๋ถ์๊ฐ ์ฌ๋ฌ ๋ฒ ๋ค์ด๊ฐ๋๋ค.", | |
| gdR3: "์ ๋ต์ ์กฐํํด ์ฑ์ฐ์ง ๋ง์ญ์์ค. ์์ธก๊ฐ์ด ์ค์ธก๊ณผ ์์ ์๋ฆฌ๊น์ง ์ผ์นํ๋ ๋ฐ๋๋ฅผ " + | |
| "๊ฒ์ฌํด ์์ํ์ ํจ๊ป ํ์ํฉ๋๋ค.", | |
| gdR4: "๋ฐฉ๋ฒ์๋ ์ ํ์ด ์์ต๋๋ค. ์ง๋ฌธ+ํธ๋ฆฌ ยท ๊ทธ๋ํ ์ ๊ฒฝ๋ง ยท ์ฌ์ ํ์ต ๋ชจ๋ธ ยท ๋ฌผ๋ฆฌ ๊ณ์ฐ " + | |
| "๋ฌด์์ด๋ ์ข์ต๋๋ค.", | |
| gdTarget: "๋์ด์ผ ํ ์ ", | |
| gdTargetD: "๊ธฐ์ค์ ์ ๋์ง ๋ชปํ๋ฉด ์์ํ์์ ๊ทธ ์๋์ ํ์๋ฉ๋๋ค.", | |
| }, | |
| en: { | |
| htmlLang: "en", | |
| title: "LEADBOARD โ Benchmark for Drug Prediction Tools", | |
| navSpec: "spec", | |
| login: "Sign in with HF", logout: "Sign out", | |
| langBtn: "ํ๊ตญ์ด", | |
| heroKicker: "AI Drug Discovery Benchmark", | |
| heroTag: "One yardstick, per discipline,<br>for drug prediction tools", | |
| heroLede: "We do not release the answer key. Instead we publish, in advance, " + | |
| "<b>baselines that learned nothing</b> and <b>the inter-laboratory reproducibility " + | |
| "of each endpoint</b> โ so that any reported score can be judged against the " + | |
| "measurement limit itself.", | |
| statBoards: "open boards", statCompounds: "test compounds", statFields: "disciplines", | |
| statClauses: "spec clauses", statPlanned: "planned boards", | |
| secLeaders: "Current leaders", | |
| secLeadersLead: "The leading entry on each board. Boards without an entrant are left blank โ a baseline is a line to cross, not a winner.", | |
| thBoard: "Board", thBest: "Leader", thScore: "Score", thVs: "vs baseline", thN: "Test", | |
| noLeader: "none yet", | |
| leadersEmpty: n => `All ${n} boards are awaiting their first entry.`, | |
| leadersSome: (a, b) => `${a} of ${b} boards have a leader.`, | |
| secBrowse: "Disciplines", | |
| prizeH: "Prize", | |
| prizeLead: (amt,close)=>`At the closing date <b>one entrant</b> receives USD ${amt}. Closes ${close}.`, | |
| prizeRule: (n)=>`It goes to <b>the entrant leading the most boards</b>. One board is enough to enter, and how many you submit to is not counted against you.<br>Boards use different metrics, so scores cannot be summed: what counts is <b>the number of boards you lead</b>. Ties go to whoever got there first.`, | |
| statSubs: "submissions", | |
| prizeElig: "", | |
| prizeMissing: (n)=>"", | |
| prizeHost: "๐ธ <b>Host submissions (SeaWolf-AI and others) are excluded from the prize count.</b> They stay on the tables as the line to beat, but for the prize they are treated as absent โ a board is led, for prize purposes, by <b>the top entrant</b>. Where a host entry shows first, the prize lead on that board is the next entrant down.", | |
| prizeNone: "No contenders yet. Take first place on any board and your name appears here.", | |
| prizeStanding: "Current contenders", | |
| prizeFirsts: (n)=>`${n} board${n===1?"":"s"} led`, | |
| starterTag: "start here", | |
| starterLead: "New here? Begin with the boards marked <b>start here</b>. Their test sets are 150-200 compounds and the training data comes from a single ChEMBL query.", | |
| secBrowseLead: "Select a discipline to reach its boards, leaderboards and submission desk.", | |
| secEvidence: "Measurement-limit landscape", | |
| secEvidenceLead: "The axis is <b>baseline error divided by experimental error</b>. " + | |
| "The closer to 1.0, the more that further tuning amounts to " + | |
| "<b>predicting measurement scatter</b>.", | |
| secMethod: "Eight clauses the scorer imposes on itself", | |
| secMethodLead: "These are not requirements placed on entrants. They are constraints we accept.", | |
| secData: "Data and licence", | |
| terrLeft: "inside experimental error", terrRight: "model error larger", | |
| insideCount: n => `${n} boards sit within 1.3x.`, | |
| lostNote: n => `<b>On ${n} boards the trained baseline failed to beat constant prediction.</b> ` + | |
| "A prediction that learned nothing was more accurate. Without baselines resident on the " + | |
| "leaderboard (clause 3), this fact appears in no metric.", | |
| openN: n => `${n} open`, prep: "in preparation", | |
| cardBoards: (o, p) => `boards ${o}/${p}`, | |
| cardCompounds: n => `${n} compounds`, | |
| clauses: [ | |
| ["The answer key is not distributed", "Each board declares its split grade and answer grade"], | |
| ["Every score carries two fingerprints", "SHA-256 of the data revision and of the scoring code"], | |
| ["Baselines never leave the table", "Constant, nearest-neighbour and Morgan+LightGBM stay resident"], | |
| ["Experimental error is published first", "Derived from cross-publication measurements of the same compound"], | |
| ["Leakage is screened on every submission", "We report the density of predictions matching labels to the decimal"], | |
| ["Result submission and model submission are distinct", "Only re-executed submissions receive [verified]"], | |
| ["An unmeasured axis is not a zero", "Failing to measure differs from measuring a poor result"], | |
| ["Repeated submission does not raise rank", "Ladder ยท Blum & Hardt, ICML 2015"] | |
| ], | |
| all: "All", | |
| tabRank: "Leaderboard", tabSubmit: "Submit", tabInfo: "Board detail", | |
| thRank: "#", thMethod: "Method", thUser: "Entrant", thLeak: "Leakage", thGrade: "Grade", | |
| baseline: "baseline", submitted: "submitted", verified: "verified", reference: "reference tool", | |
| leakHigh: "lookup trace", leakElev: "near-exact density", | |
| noiseNote: v => `<b>Experimental error ${v}.</b> Differences within this band are not ` + | |
| "claimed as rank differences (clause 4). The three baselines stay resident (clause 3).", | |
| noEntries: "No entrant submissions yet. The rows shown are baselines.", | |
| updated: t => `Leaderboard updated ${t}`, | |
| gradeH: "Grades", holdoutH: "Holdout", noiseH: "Experimental error", baseH: "Baselines", | |
| splitGrade: "Split grade", answerGrade: "Answer grade", | |
| gradeNote: { | |
| T: "Time split by year of first report. Only compounds first reported after the cut are scored", | |
| S: "Scaffold split. Only compounds whose scaffold is absent from training are scored", | |
| P1: "The answer exists in a public database. Clause 8 carries the defence against lookup", | |
| P2: "The source is public, but selection and unit conversion define this revision. " + | |
| "Querying the public database does not reproduce these values", | |
| P3: "Unpublished measurements provided by a partner", | |
| P4: "Measured after the board opened. It did not exist at opening" | |
| }, | |
| kSource: "Source", kCut: "Split year", kTrainTest: "Train / test", | |
| kOverlap: "Structure overlap", kThr: "Classification threshold", kSha: "Data fingerprint", | |
| kLicense: "Licence", | |
| cutNote: "by year of first report", overlapNote: "0 (by construction of the time split)", | |
| posRate: p => `positives ${p}%`, | |
| noisePairs: (p, c) => `${p} pairs ยท ${c} compounds`, | |
| noiseDesc: "Difference between measurements of the same compound in <b>different publications</b>", | |
| noiseSd: "Estimated single-measurement SD", | |
| nearNote: (p, hi) => `<b>${p}%</b> of test compounds lie within one experimental SD of the ` + | |
| "classification threshold. " + (hi ? "Labels there can invert on re-measurement, so " + | |
| "<b>regression is the primary metric</b>." : "Classification metrics are reported alongside."), | |
| beatsYes: "The trained baseline beat constant prediction.", | |
| beatsNo: "<b>The trained baseline failed to beat constant prediction.</b> " + | |
| "A prediction that learned nothing was more accurate.", | |
| noiseFloorRow: "experimental error floor", | |
| step1: "Obtain the test set", step2: "Submit predictions", step3: "Submit a container (optional)", | |
| step1d: n => `Structures (SMILES) for <b>${n} compounds</b>. No labels โ they do not exist on this server.`, | |
| licLine: "Derived from ChEMBL ยท CC BY-SA 3.0 โ retain attribution and the same licence on redistribution.", | |
| dl: "Download test set", | |
| fMethod: "Method name", fMethodH: "as it will appear on the leaderboard", | |
| fTrain: "Training data used", fTrainH: "used for the clause 5 leakage screen", | |
| fPred: "Predictions", fPredH: "JSON or CSV (compound_id, prediction)", | |
| fPredAx: n => `This board has ${n} axes โ upload JSON with an array of ${n} numbers per compound`, | |
| drop: "Drop a file here, or click to choose", | |
| send: "Submit", needLogin: "Signing in with a Hugging Face account is required to submit.", | |
| step3d: "Submit the model with its inference environment and we re-execute it, confirm the " + | |
| "same numbers, and mark it [verified] (clause 6).", | |
| ladderNote: (v, c) => `<b>Clause 8.</b> Repeated submission does not raise rank. A new score is ` + | |
| `released only when it improves on your previous best by more than the experimental error ` + | |
| `<b>${v}</b>. Daily limit ${c}.`, | |
| accepted: id => `Accepted ยท submission ${id}`, | |
| parseFail: m => `Could not parse the predictions: ${m}`, | |
| sending: n => `sending ${n} entries`, | |
| emptyCat: "No boards are open in this discipline yet.", | |
| loadFail: "The page could not be loaded.", | |
| dataNote: "Every board is built from ChEMBL_37 and split by year of first report. " + | |
| "Distributed test sets contain structures only; labels are not included.", | |
| srcLabel: "Data source", | |
| sib: "Sister benchmarks", | |
| sibOdc: "Computational validation of AI-generated drug candidates", | |
| sibOmc: "A benchmark for solid-state battery materials", | |
| secWhy: "Why this exists", | |
| why1: "As AI produces drug candidates, it also produces the <b>prediction tools</b> that judge " + | |
| "them. Absorption, metabolism, toxicity, target binding โ each has dozens of tools. " + | |
| "Yet their performance is reported by their own authors, on data of their own choosing. " + | |
| "<b>They were not measured on the same problem, so the comparison does not hold.</b>", | |
| why2: "In February 2026 an audit of the top-ranked models across 22 endpoints of a widely used " + | |
| "ADMET leaderboard was published. Of 66 models examined, three reproduced fully. Models " + | |
| "deliberately tuned on the public test set reached the top three on 10 of 22 endpoints; " + | |
| "the same design built honestly reached it on two.", | |
| why3: "The fault lies not with any laboratory but with <b>the format of the examination</b>. " + | |
| "A test distributed together with its answer key cannot separate predictive power from exposure.", | |
| whyCite: "Koleiev et al., Critical Assessment of ML models for ADMET Prediction in TDC leaderboards, bioRxiv 2026", | |
| secFound: "What this benchmark measured", | |
| secFoundLead: "These are not citations. They were produced here, across 19 boards.", | |
| ratioLabel: "error / experimental error", | |
| found1t: "The split alone moves AUROC by 0.21", | |
| found1d: "Same data, same model (Morgan+LightGBM at defaults), same test fraction โ only the split " + | |
| "changed. On hERG: random split 0.818, time split 0.606. " + | |
| "<b>A leaderboard that does not declare its split cannot be compared against.</b>", | |
| found2t: "On 7 of 19 boards the trained baseline failed to beat constant prediction", | |
| found2d: "Returning the training median outperformed a trained model. Without baselines resident " + | |
| "on the leaderboard, this fact appears in no metric.", | |
| found3t: "Model error sits between 0.91x and 2.79x the experimental error", | |
| found3d: "Each board carries an experimental error derived from measurements of the same compound " + | |
| "in different publications. Seven boards lie within 1.3x of that error.", | |
| secHow: "How to take part", | |
| how1t: "Obtain the test set", | |
| how1d: "Choose a board and download a file containing structures (SMILES) and identifiers only. " + | |
| "No labels are included, and none exist on this server.", | |
| how2t: "Predict with any tool you like", | |
| how2d: "Proprietary models, commercial tools, open weights, physics-based calculation โ all are " + | |
| "permitted. We impose no restriction. Only declare the data you trained on, which is used " + | |
| "for the clause 5 leakage screen.", | |
| how3t: "Submit predictions for automatic scoring", | |
| how3d: "Upload JSON or CSV. Scoring, leakage screening and fingerprinting run automatically, and " + | |
| "the result appears on the leaderboard beside the three baselines and the experimental error.", | |
| secMetric: "What is scored", | |
| mMae: "Primary metric. Mean absolute error against the measured value. Lower is better.", | |
| mAuroc: "Classification metric. Ability to separate above and below the threshold. 0.5 equals chance.", | |
| mPrauc: "More informative than AUROC where positives are rare.", | |
| mNoise: "Reproducibility derived from cross-publication measurements of the same compound. " + | |
| "Differences within this band are not recognised as rank differences.", | |
| mRatio: "Best baseline error divided by experimental error. Approaching 1.0 means the measurement " + | |
| "limit has been reached.", | |
| mLeak: "Density of predictions matching the measured value to the decimal. We do not adjudicate " + | |
| "intent; we report the fact.", | |
| secOwn: "How submissions are handled", | |
| own1: "<b>Your predictions remain yours.</b> VIDRAFT uses them only as required for scoring and " + | |
| "leaderboard display. Individual submissions are not fed into our own pipeline and are not " + | |
| "provided to third parties.", | |
| own2: "We may publish <b>board-level aggregates</b> โ a consensus prediction across all entries, " + | |
| "the compounds every method failed, the performance landscape by approach. Individual " + | |
| "predictions are not identifiable in these, and the aggregates are released to everyone, " + | |
| "entrants included.", | |
| own3: "Method names and ranks are public. We do not ask for model internals or weights.", | |
| secOpen: "Opening next", | |
| openLead: "A board opens only once its holdout and experimental error are established. " + | |
| "Boards without them are not opened.", | |
| learnMore: "Detail", | |
| tabGuide: "Guide", | |
| gdIntro: "If this is your first predictor, follow the steps below. Write it yourself, " + | |
| "or paste the prompt into a language model as it is.", | |
| gdWhat: "What you are building", | |
| gdWhatD: "A function that takes a structure (SMILES) and returns <b>one number</b>. " + | |
| "We score how close that number is to the measured value.", | |
| gdPrompt: "Prompt for a language model", | |
| gdPromptD: "Copy the whole block into Claude, GPT, Gemini or similar. " + | |
| "The values for this board are already filled in.", | |
| gdCopy: "Copy", gdCopied: "Copied", | |
| gdStarter: "A skeleton you can run", | |
| gdStarterD: "If you would rather write it yourself, start here. It pulls the training data, " + | |
| "builds fingerprints, fits a model and writes the submission file.", | |
| gdRules: "Rules to observe", | |
| gdR1: "Do not train on compounds first reported on or after the split year. That is the test set.", | |
| gdR2: "Fold duplicate measurements by InChIKey and take the median. Folding by SMILES string " + | |
| "leaves the same molecule in several times.", | |
| gdR3: "Do not fill predictions by looking up the answer. We measure how many predictions match " + | |
| "the measured value to the decimal and show it on the leaderboard.", | |
| gdR4: "There is no restriction on method. Fingerprints and trees, graph networks, pretrained " + | |
| "models, physics-based calculation โ all are fine.", | |
| gdTarget: "Lines to cross", | |
| gdTargetD: "A submission that does not clear a baseline is shown below it on the leaderboard.", | |
| } | |
| }; | |