MedASR-Bench / src /lib /types.ts
ngoan
MedASR Bench: full platform + Hugging Face Docker Space packaging
d70f132
Raw
History Blame Contribute Delete
2.71 kB
/** 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[];
}