screen2words-eval
Screen2Words: Automatic Mobile UI Summarization with Multimodal Learning — Wang et al. (2021) (arXiv:2108.03353, 2021)
What this evaluates
Evaluates a model's ability to automatically generate concise, coherent language summaries of mobile UI screens by fusing visual, structural, and textual modalities. It probes multimodal representation learning and language generation capabilities in the context of human-computer interaction and UI understanding.
Datasets
- Screen2Words — total 22417; splits: train (-1), val (-1), test (-1)
Metrics
BLEU-4 (primary) — range: [0, 100]
- Computes modified 4-gram precision between the predicted summary and the reference set, combined with a brevity penalty to penalize overly short outputs.
CIDEr — range: [0, 100]
- Measures consensus-based image description evaluation using TF-IDF weighted n-gram cosine similarity between predictions and multiple human references.
ROUGE-L — range: [0, 100]
- Computes the F1 score based on the longest common subsequence (LCS) between the predicted and reference summaries, capturing sentence-level fluency.
METEOR — range: [0, 100]
- Matches unigrams based on exact, stem, synonym, and paraphrase matches, then computes a weighted harmonic mean of precision and recall with a penalty for fragmentation.
Input / output format
Input: Mobile UI screen image (processed via ResNet), structural layout data from the view hierarchy, screen text, and app description.
Output: A single text summary phrase generated sequentially via beam search (beam size 5).
Scoring recipe
def compute_metrics(predictions, gold_labels):
# gold_labels: list of 5 reference phrases per screen
scores = []
for pred_tokens, refs in zip(predictions, gold_labels):
# Remove UNK tokens from decoded phrase before evaluation
pred_clean = [w for w in pred_tokens if w != '<UNK>']
# Compute n-gram/LCS overlap against all 5 references
bleu = compute_bleu(n=4, pred=pred_clean, refs=refs)
cider = compute_cider(pred=pred_clean, refs=refs)
rouge = compute_rouge_l(pred=pred_clean, refs=refs)
meteor = compute_meteor(pred=pred_clean, refs=refs)
scores.append((bleu + cider + rouge + meteor) / 4)
return mean(scores) * 100 # Paper reports all metrics scaled by 100
Common pitfalls
- App-wise splitting is strictly enforced; failing to keep all screens from the same app within a single split causes severe data leakage and artificially inflates test performance.
- Each screen has 5 human-annotated reference summaries; evaluation must use all 5 as the reference set, not just a single randomly sampled label.
- UNK tokens in the model's decoded output are explicitly removed before metric calculation, which alters n-gram counts and must be handled during scoring.
Evidence (verbatim from paper)
In this section, we report our model performance based on metrics commonly used in machine translation and image captioning tasks: BLEU [34], CIDEr [43], ROUGE-L [29], and METOER [9] (see Table 2). A higher number means better model performance for these metrics—the closer distances between the predicted and the ground truth phrases.
Citation
@misc{wang2021screen2words,
title={Screen2Words: Automatic Mobile UI Summarization with Multimodal Learning},
author={Wang et al. (2021)},
year={2021},
note={arXiv:2108.03353}
}
1---2name: screen2words-eval3description: Evaluates a model's ability to automatically generate concise, coherent language summaries of mobile UI screens by fusing visual, structural, and textual modalities. It probes multimodal representation learning and language generation capabilities in the context of human-computer interaction and UI understanding. Use when the user wants to benchmark on Screen2Words, or asks about evaluating this task. Reports BLEU-4.4---56# screen2words-eval78> Screen2Words: Automatic Mobile UI Summarization with Multimodal Learning — Wang et al. (2021) (arXiv:2108.03353, 2021)910## What this evaluates1112Evaluates a model's ability to automatically generate concise, coherent language summaries of mobile UI screens by fusing visual, structural, and textual modalities. It probes multimodal representation learning and language generation capabilities in the context of human-computer interaction and UI understanding.1314## Datasets1516- **Screen2Words** — total 22417; splits: train (-1), val (-1), test (-1)1718## Metrics1920- `BLEU-4` **(primary)** — range: [0, 100]21 - Computes modified 4-gram precision between the predicted summary and the reference set, combined with a brevity penalty to penalize overly short outputs.22- `CIDEr` — range: [0, 100]23 - Measures consensus-based image description evaluation using TF-IDF weighted n-gram cosine similarity between predictions and multiple human references.24- `ROUGE-L` — range: [0, 100]25 - Computes the F1 score based on the longest common subsequence (LCS) between the predicted and reference summaries, capturing sentence-level fluency.26- `METEOR` — range: [0, 100]27 - Matches unigrams based on exact, stem, synonym, and paraphrase matches, then computes a weighted harmonic mean of precision and recall with a penalty for fragmentation.2829## Input / output format3031**Input**: Mobile UI screen image (processed via ResNet), structural layout data from the view hierarchy, screen text, and app description.3233**Output**: A single text summary phrase generated sequentially via beam search (beam size 5).3435## Scoring recipe3637```python38def compute_metrics(predictions, gold_labels):39 # gold_labels: list of 5 reference phrases per screen40 scores = []41 for pred_tokens, refs in zip(predictions, gold_labels):42 # Remove UNK tokens from decoded phrase before evaluation43 pred_clean = [w for w in pred_tokens if w != '<UNK>']44 # Compute n-gram/LCS overlap against all 5 references45 bleu = compute_bleu(n=4, pred=pred_clean, refs=refs)46 cider = compute_cider(pred=pred_clean, refs=refs)47 rouge = compute_rouge_l(pred=pred_clean, refs=refs)48 meteor = compute_meteor(pred=pred_clean, refs=refs)49 scores.append((bleu + cider + rouge + meteor) / 4)50 return mean(scores) * 100 # Paper reports all metrics scaled by 10051```5253## Common pitfalls5455- App-wise splitting is strictly enforced; failing to keep all screens from the same app within a single split causes severe data leakage and artificially inflates test performance.56- Each screen has 5 human-annotated reference summaries; evaluation must use all 5 as the reference set, not just a single randomly sampled label.57- UNK tokens in the model's decoded output are explicitly removed before metric calculation, which alters n-gram counts and must be handled during scoring.5859## Evidence (verbatim from paper)6061> In this section, we report our model performance based on metrics commonly used in machine translation and image captioning tasks: BLEU [34], CIDEr [43], ROUGE-L [29], and METOER [9] (see Table 2). A higher number means better model performance for these metrics—the closer distances between the predicted and the ground truth phrases.6263## Citation6465```bibtex66@misc{wang2021screen2words,67 title={Screen2Words: Automatic Mobile UI Summarization with Multimodal Learning},68 author={Wang et al. (2021)},69 year={2021},70 note={arXiv:2108.03353}71}72```7374- arXiv: 2108.03353