Mozilla/smart-form-fill-relevant-tabs
Smart Form Fill - Relevant Tabs (Call 2 / select_tabs) eval (v2) Given the form the user is filling (the anchor) and a set of open browser tabs (candidates, title + url only), pick which tabs are relevant sources for filling the form. Each row is one session. Model input (per row) page{anchor_title, anchor_url} + anchor_fields + session_tabs (each {id,title,url}, metadata only). The model returns a relevance judgement per tab id. Labels relevance =… See the full description on the dataset page: https://huggingface.co/datasets/Mozilla/smart-form-fill-relevant-tabs.
Smart Form Fill - Relevant Tabs (Call 2 / select_tabs) eval (v2)
Given the form the user is filling (the anchor) and a set of open browser tabs (candidates, title + url only), pick which tabs are relevant sources for filling the form. Each row is one session.
Model input (per row)
page{anchor_title, anchor_url} + anchor_fields + session_tabs (each {id,title,url}, metadata only). The model returns a relevance judgement per tab id.
Labels
relevance = score(anchor.field_types INTERSECT candidate.provides); distinctive types (passport-/cc-/ssn/linkedin/github/work-authorization/id-number/nationality/referral-source) x1.5, common x1, other/contextual 0; relevant when score >= 3.0. Candidate provides: a form provides its own fields; a content-source tab (LinkedIn/GitHub/resume/account/ order/flight/SSA/wallet/...) provides a curated set; a distractor (non-form page) provides nothing. Labels are computed from provides (never shown to the model).
Columns
- input:
anchor_title,anchor_url,anchor_fields(JSON),session_tabs(JSON[{id,title,url}]) - labels:
relevant_tab_ids(JSON, score>=3),tab_relevance(JSON{id:score}, for NDCG/top-N) - slicing:
session_type(hasrelevant/nullcase),session_size(n = #tabs, in {6,12,20,30,40,50}),anchor_dataset,anchor_distinctive_types,anchor_field_types,tab_kinds(JSON{id:form|content_source|distractor}) - convenience:
num_relevant,tabs_debug
Notes
- n (session size) is a dataset axis (getopentabs product cap is 30; 40/50 stress-test beyond it) -> slice metrics by
session_size. - m (
maxSelectedTabs, "limited by pageExtractor") is a scoring-time sweep -> the row holds the full ranking. - 379 sessions (290 hasrelevant / 89 nullcase; 75 dense with 5+ relevant). Realistic composition: 1-2 true relevant tabs per session (5-8 in the dense slice) amid mostly content/distractor tabs. Relevance = category match (commerce/job/travel/identity source), validated 11/11 vs human labels. English-text only. Synthetic proxy.
Load
from datasets import load_dataset
ds = load_dataset("Mozilla/smart-form-fill-relevant-tabs", split="train")