Spaces:
Sleeping
Sleeping
| /** Metrics for one evaluation split (test or hard). All values optional — | |
| * absent means "not yet measured". WER-family values are percentages. */ | |
| export interface SplitMetrics { | |
| wer?: number; | |
| werCi?: [number, number]; | |
| cer?: number; | |
| csWer?: number; | |
| csWerCi?: [number, number]; | |
| nWer?: number; | |
| mtrExact?: number; | |
| mtrFuzzy?: number; | |
| rtfx?: number; | |
| } | |
| /** One leaderboard row. */ | |
| export interface ModelRow { | |
| slug: string; | |
| name: string; | |
| org: string; | |
| paramsB?: number; | |
| license: string; | |
| category: "vn-open" | "multilingual-open" | "medical" | "api-intl" | "api-vn"; | |
| track: "A" | "B" | "C"; | |
| provenance: | |
| | "platform-verified" | |
| | "api-snapshot" | |
| | "self-reported" | |
| | "paper-imported" | |
| | "running" | |
| | "planned"; | |
| flags?: { | |
| contamination?: boolean; | |
| referenceOnly?: boolean; | |
| frozen?: boolean; | |
| zone1?: boolean; | |
| }; | |
| note?: string; | |
| metrics?: { test?: SplitMetrics; hard?: SplitMetrics }; | |
| } | |
| /* Convenience aliases derived from ModelRow */ | |
| export type Category = ModelRow["category"]; | |
| export type Track = ModelRow["track"]; | |
| export type Provenance = ModelRow["provenance"]; | |
| export type ModelFlags = NonNullable<ModelRow["flags"]>; | |
| /** The two leaderboard splits. */ | |
| export type Split = "test" | "hard"; | |
| /** Rankable metric keys within SplitMetrics (CI tuples excluded). */ | |
| export type MetricKey = | |
| | "wer" | |
| | "cer" | |
| | "csWer" | |
| | "nWer" | |
| | "mtrExact" | |
| | "mtrFuzzy" | |
| | "rtfx"; | |
| export interface SplitInfo { | |
| hours: number; | |
| utts: number; | |
| } | |
| /** Lifecycle of a dataset on the hub. */ | |
| export type DatasetStatus = "live" | "coming-soon"; | |
| /** | |
| * Dataset profile. MedASR Bench is a multi-dataset hub: live datasets | |
| * carry full statistics; coming-soon entries only carry identity fields, | |
| * so everything measured is optional. | |
| */ | |
| export interface DatasetInfo { | |
| id: string; | |
| name: string; | |
| status: DatasetStatus; | |
| /** Expanded name, e.g. "Vietnamese Medical Code-Switching Speech". */ | |
| fullName?: string; | |
| /** One-sentence description for dataset cards. */ | |
| tagline: string; | |
| /** Where the audio comes from, e.g. "Vietnamese medical YouTube lectures". */ | |
| source?: string; | |
| /** Expected availability for coming-soon datasets, e.g. "2026". */ | |
| eta?: string; | |
| hours?: number; | |
| utterances?: number; | |
| csTerms?: number; | |
| license?: string; | |
| arxiv?: string; | |
| hf?: string; | |
| splits?: { | |
| train: SplitInfo; | |
| valid: SplitInfo; | |
| test: SplitInfo; | |
| hard: SplitInfo; | |
| }; | |
| } | |
| /** One registry entry: a dataset profile plus its leaderboard rows. */ | |
| export interface DatasetEntry { | |
| info: DatasetInfo; | |
| models: ModelRow[]; | |
| } | |
| /** Shape of src/data/results.json. */ | |
| export interface ResultsFile { | |
| datasets: DatasetEntry[]; | |
| } | |