\documentclass[11pt]{article}

% Change "review" to "final" to generate the final (sometimes called camera-ready) version.
% Change to "preprint" to generate a non-anonymous version with page numbers.
\usepackage[final]{acl}

% Standard package includes
\usepackage{times}
\usepackage{latexsym}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{xcolor}
\usepackage{float}
\usepackage{tcolorbox}
\usepackage{amsmath}
\usepackage{amssymb}
\tcbuselibrary{breakable} % Allows the box to split across pages


% For proper rendering and hyphenation of words containing Latin characters (including in bib files)
\usepackage[T1]{fontenc}
% For Vietnamese characters
% \usepackage[T5]{fontenc}
% See https://www.latex-project.org/help/documentation/encguide.pdf for other character sets

% This assumes your files are encoded as UTF8
\usepackage[utf8]{inputenc}

% This is not strictly necessary, and may be commented out,
% but it will improve the layout of the manuscript,
% and will typically save some space.
\usepackage{microtype}

% This is also not strictly necessary, and may be commented out.
% However, it will improve the aesthetics of text in
% the typewriter font.
\usepackage{inconsolata}

%Including images in your LaTeX document requires adding
%additional package(s)
\usepackage{graphicx}

% If the title and author information does not fit in the area allocated, uncomment the following
%
%\setlength\titlebox{<dim>}
%
% and set <dim> to something 5cm or larger.
\definecolor{lightblue}{RGB}{204, 229, 255}
\definecolor{lightgreen}{RGB}{34, 139, 34}


\title{UTokyo Tsuruoka Lab at SemEval-2026 Task 9: Efficient Single Forward Pass Inference for Multi-Label Polarization Classification}

\author{Howard Tangkulung \and Yoshimasa Tsuruoka \\ The University of Tokyo, Japan \\ \texttt{\{howard,tsuruoka\}@logos.t.u-tokyo.ac.jp} }

\begin{document}
\maketitle
\begin{abstract}
Detecting and interpreting polarized online content is increasingly crucial as online platforms become central to public information exchange.
We present an efficient adaptation of large language models for multi-label polarization classification in SemEval-2026 Task 9: Detecting Multilingual, Multicultural and Multievent Online Polarization.
Our single-forward-pass inference method outperforms baseline multi-step decoding approaches for multi-label classification by reducing error propagation while improving inference efficiency.
Beyond performance and efficiency analysis, we investigate the cross-lingual transferability of the system, observing statistically significant generalization within language families, a result that offers a practical path for low-resource language adaptation.
Our system ranked 1st in 8 languages for Subtask~1 and 6 languages for Subtask~2, and placed in the top 5 for 16 out of 22 languages across both subtasks.
Overall, we provide a simple, effective, and efficient solution for multilingual polarization classification.\footnote{Our code is available at \url{https://github.com/howarudo/semeval-2026-task-9-utokyo-tsuruoka-lab}}
\end{abstract}

\section{Introduction}
Online polarization refers to the widening ideological division between groups, which can lead to social friction and conflict~\citep{naseem2026polarbenchmarkmultilingualmulticultural}.
Fueled by inflammatory digital content, these divisions can form echo chambers that reinforce existing beliefs~\citep{garimella2018polarization} and, if unaddressed, may erode social cohesion and democratic institutions~\citep{martinez2024methodology}.
To support global research and mitigation efforts, SemEval-2026 Task~9~\citep{naseem-etal-2026-semeval} introduced the POLAR benchmark~\citep{naseem2026polarbenchmarkmultilingualmulticultural}, comprising over 110K instances across 22 languages.
In this work, we address two subtasks from the benchmark: (1) Polarization Detection (binary classification), and (2) Polarization Type Classification (multi-label classification).

\begin{figure}[t]
  \includegraphics[width=\columnwidth]{images/system.png}
  \caption {Overview of our system for Subtask~2. \textbf{SFP} performs simultaneous multi-label prediction in a single forward pass.}
  \label{fig:system_overview}
\end{figure}

The main challenge in POLAR is robust generalization across languages, cultural contexts, and events.
To address this, our system leverages large language models (LLMs) for their strong multilingual and contextual understanding capabilities.
However, many LLM-based multi-label systems rely on multi-step decoding (e.g., sequential label prediction), which compounds prediction errors and increases latency.
These drawbacks make such systems costly in real-world, high-traffic environments.
To circumvent these limitations, we present a \textbf{Single-Forward-Pass} (\textbf{SFP}) inference method that enables the simultaneous prediction of all labels.
Compared to multi-step decoding baselines, \textbf{SFP} reduces inference time by approximately $4.5\times$ while improving predictive performance.
Furthermore, we analyze cross-lingual transferability in training-free scenarios, demonstrating that performance gains can effectively transfer between languages within the same family or sub-branch.

Our system achieved top-tier performance across the board, ranking 1st in 8 languages for Subtask~1 and 6 languages for Subtask~2.
Ultimately, we placed in the top 5 for 16 out of the 22 languages evaluated, highlighting the simplicity and efficiency of our approach for adapting LLMs to multilingual polarization classification.

\section{Background}
\subsection{POLAR Dataset}
POLAR~\citep{naseem2026polarbenchmarkmultilingualmulticultural} is a multilingual benchmark for online polarization spanning 22 languages (shown in Table~\ref{tab:language_families}), multiple platforms, and cultural events.
SemEval-2026 Task~9~\citep{naseem-etal-2026-semeval} includes three subtasks, and we focus on the following two subtasks:
\paragraph{Subtask 1: Polarization Detection} Binary classification of whether an instance is polarized.
\paragraph{Subtask 2: Polarization Type Classification} Multi-label classification of polarization types (e.g., political, racial/ethnic, religious, gender/sexual, and other).

\subsection{Related Work}
\paragraph{Online Polarization Classification}
Prior work has largely relied on fine-tuned multilingual encoders, such as XLM-RoBERTa~\citep{conneau-etal-2020-unsupervised} and its variants~\citep{Zia_Castro_Zubiaga_Tyson_2022,antypas-camacho-collados-2023-robust,bruno-etal-2024-towards}.
Evaluation on the POLAR benchmark \citep{naseem2026polarbenchmarkmultilingualmulticultural} indicates that fine-tuned small language models (SLMs) outperform zero-shot LLMs for detection, whereas zero-shot LLMs are stronger for type classification.
This suggests that LLMs are better equipped to capture nuanced polarization categories.
However, despite the recognized cross-lingual capabilities of LLMs~\citep{tanwar-etal-2023-multilingual,jaremko-etal-2025-revisiting}, performance on the POLAR benchmark remains inconsistent across languages within the same family \citep{naseem2026polarbenchmarkmultilingualmulticultural}.
Such variability motivates our investigation into the cross-lingual transferability of our system within a training-free framework.

\paragraph{Adapting LLMs for Classification Tasks}
LLMs have been successfully adapted to multi-label classification~\citep{muhammad-etal-2025-semeval,xue-etal-2025-jnlp,wongso-etal-2025-lazarus}, but common approaches rely on auto-regressive decoding.
This sequential approach is prone to error propagation, where an incorrect label prediction can negatively affect subsequent predictions.
To address error propagation issues, \citet{xue-etal-2025-jnlp} utilized a \textit{pairwise} decoding strategy that predicts each label independently.
Similarly, \citet{wongso-etal-2025-lazarus} proposed a \textit{sentence-label pairing} strategy where the model is asked if a label applies to the input sentence.
While these methods allow independent label prediction, they introduce a computational bottleneck in which inference costs scale linearly with the number of labels.
Building on this challenge, we draw inspiration from SALSA~\citep{berdichevsky2025salsasinglepassautoregressivellm}, which proposes a single-forward-pass scoring function for binary classification.
We extend this method to the multi-label setting by estimating the probabilities of all target labels simultaneously in one forward pass, thereby achieving the independence of pairwise methods without the linear scaling of inference costs.

\section{System Overview}
Given an input text $x$, our system outputs either a binary label $y \in \{0,1\}$ indicating whether $x$ is polarized (Subtask~1), or a multi-hot vector $y \in \{0,1\}^L$ indicating the presence of each polarization type (Subtask~2), where $L$ is the number of types.
For Subtask~1, we submit only the SALSA-trained model (12B or 27B), while for Subtask~2, we submit only the SFP-trained model (12B or 27B).
\subsection{Subtask 1: Polarization Detection}
\paragraph{Standard fine-tuning}
We embed $x$ into an instruction prompt that requires the model to generate \verb|1| (polarized) or \verb|0| (not polarized).
We fine-tune using causal language modeling and optimize the cross-entropy at the label position:
\begin{equation}
\mathcal{L}_{\text{CE}}(x,y) = -\log \frac{\exp(z_y)}{\sum_{v \in \mathcal{V}} \exp(z_v)},
\end{equation}
where $z_v$ is the logit of vocabulary token $v$ at the label position and $\mathcal{V}$ is the vocabulary.
At inference time, we predict the label token with the higher logit.

\paragraph{SALSA}
Using SALSA~\citep{berdichevsky2025salsasinglepassautoregressivellm}, we score the two label tokens \verb|0| and \verb|1| against each other at the label position.
Let $z_0$ and $z_1$ denote the logits of \verb|0| and \verb|1| at the label position. We compute:
\begin{equation}
\mathcal{L}_{\text{SALSA}}(x,y)= -\log \frac{\exp(z_y)}{\exp(z_0)+\exp(z_1)},
\end{equation}
essentially a binary cross-entropy loss by ignoring non-label tokens.
During inference, the probability of polarization is $P(y=1\mid x) = \frac{\exp(z_1)}{\exp(z_0)+\exp(z_1)}$, and we compare it to a language-specific threshold $\tau_{\text{lang}}$ tuned on the validation set.

\subsection{Subtask 2: Polarization Type Classification}

\paragraph{JSON fine-tuning (JSON FT)}
As a multi-pass auto-regressive baseline, we prompt the model to generate a JSON object containing binary values (\verb|0|/\verb|1|) for each of the $L$ types.
During training, we compute the cross-entropy loss only on the value tokens for each field and ignore other tokens:
\begin{equation}
\mathcal{L}_{\text{JSON}}(x,y) = -\frac{1}{L}\sum_{i=1}^{L} \log \frac{\exp(z_{y_i})}{\sum_{v \in \mathcal{V}} \exp(z_v)},
\end{equation}
where $z_{y_i}$ is the logit of the correct value token for type $i$ at its corresponding position in the output.
At inference time, we perform greedy rule-based decoding to extract the predicted values while enforcing the JSON structure and token constraints.

\paragraph{Single Forward Pass (SFP)}
\begin{table} \centering \begin{tabular}{lc} \hline \textbf{Polarization Type} & \textbf{Token} \\ \hline None & \verb|0| \\ Political & \verb|1| \\ Racial/ Ethnic & \verb|2| \\ Religious & \verb|3| \\ Gender/ Sexual & \verb|4| \\ Other & \verb|5| \\ \hline \end{tabular} \caption{Tokens assigned to each polarization type for the SFP method.} \label{tab:tokens} \end{table}
We adapt the SALSA single-forward-pass approach to multi-label classification by treating each label as a separate binary classification problem that shares a common \verb|None| token for the negative class.
We assign a dedicated single-token string to each type and a shared \verb|None| token (Table~\ref{tab:tokens}).
Given $x$, we obtain logits $\{z_0, z_1, \dots, z_L\}$ at a fixed classification position, where $z_0$ corresponds to \verb|None| and $z_i$ corresponds to type $i$.
The model is trained to score each type token against the \verb|None| token independently, optimizing the following loss:
\begin{equation}
\mathcal{L}_{\text{SFP}}(x,y) = -\frac{1}{L}\sum_{i=1}^{L} \log \frac{\exp(z_{y_i})}{\exp(z_0)+\exp(z_i)},
\end{equation}
where $y_i = 0$ if type $i$ is absent and $y_i = i$ if type $i$ is present.
At inference time, we predict type $i$ as present if $P(y_i=1\mid x) = \frac{\exp(z_i)}{\exp(z_0)+\exp(z_i)} \ge \tau_{\text{lang},i}$, where $\tau_{\text{lang},i}$ is tuned on the validation set.

\section{Experimental Setup}
\paragraph{Dataset}
We develop and tune our methods using the POLAR dataset~\citep{naseem2026polarbenchmarkmultilingualmulticultural}.
For preliminary experiments, we further split \verb|train| into \verb|internal-train| and \verb|internal-validation| subsets (80/20, stratified by label, fixed seed) for hyperparameter selection and threshold tuning.
We then use the official \verb|validation| split for method comparison and analysis.
For the final submission, we train on the full \verb|train| split, tune thresholds on the \verb|validation| split, and report results on the \verb|test| split.


\paragraph{Models}
For method comparison and analysis, we use \verb|gemma-3-12b-it|.\footnote{\url{https://huggingface.co/unsloth/gemma-3-12b-it}}
For submission, we train both \verb|gemma-3-12b-it| and \verb|gemma-3-27b-it-bnb-4bit|,\footnote{\url{https://huggingface.co/unsloth/gemma-3-27b-it-bnb-4bit}}
and select the best-performing model on the \verb|validation| split (hyperparameters tuned using the \verb|internal-validation| split) for each language and subtask.
\paragraph{Training}
We fine-tune LLMs with LoRA~\citep{hu2022lora} and use \verb|unsloth|\footnote{\url{https://unsloth.ai/}} for memory-efficient training.
Hyperparameter and training details are in Appendix~\ref{sec:training_details}.

\paragraph{Evaluation Metric}
We report macro F1 per language, the official metric for both subtasks~\citep{naseem2026polarbenchmarkmultilingualmulticultural,naseem-etal-2026-semeval}.


\begin{table*}[!t]
\centering
\small
\setlength{\tabcolsep}{3pt}
\renewcommand{\arraystretch}{1}
\resizebox{\textwidth}{!}{%
\begin{tabular}{l|l|cccc|c|cccc|c}
\toprule
\multirow{3}{*}{\#} & \multirow{3}{*}{\textbf{Lang.}} & \multicolumn{5}{c|}{\textbf{Subtask 1}} & \multicolumn{5}{c}{\textbf{Subtask 2}} \\
\cmidrule(lr){3-7} \cmidrule(lr){7-12}
& & \multicolumn{4}{c|}{\textit{validation}} & \multicolumn{1}{c|}{\textit{test}} & \multicolumn{4}{c|}{\textit{validation}} & \multicolumn{1}{c}{\textit{test}} \\
& & \textbf{Base 12B} & \textbf{Std. FT 12B} & \textbf{SALSA 12B} & \textbf{SALSA 27B} & \shortstack{\textbf{UTokyo}\\[-2pt]\textbf{Tsuruoka Lab}} & \textbf{Base 12B} & \textbf{JSON FT 12B} & \textbf{SFP 12B} & \textbf{SFP 27B} & \shortstack{\textbf{UTokyo}\\[-2pt]\textbf{Tsuruoka Lab}} \\
\midrule
\multirow{13}{*}{1}
& eng & 77.48 & 78.36 & 78.20 & \cellcolor{lightblue}\textbf{82.55} & 82.52 & 40.33 & 43.77 & \cellcolor{lightblue}\textbf{49.57} & 45.05 & 53.22 \\
& deu & 77.86 & 77.97 & 76.05 & \cellcolor{lightblue}\textbf{80.39} & 75.31 & 49.26 & 52.52 & \cellcolor{lightblue}\textbf{57.39} & 56.99 & 62.00 \\
\cmidrule{2-12}
& urd & 74.03 & 77.14 & \cellcolor{lightblue}\textbf{79.67} & 79.09 & 81.96 & 35.73 & \textbf{79.88} & \cellcolor{lightblue}{79.46} & 78.63 & 77.56 \\
& ben & 82.88 & 84.00 & 84.69 & \cellcolor{lightblue}\textbf{{88.24}} & 86.25 & 23.56 & 27.50 & 30.71 & \cellcolor{lightblue}\textbf{{43.41}} & 33.59 \\
& hin & 70.06 & \textbf{89.90} & 86.16 & \cellcolor{lightblue}{86.16} & 81.72 & 44.48 & 77.74 & \cellcolor{lightblue}\textbf{{84.96}} & 80.76 & 78.25 \\
& ori & 59.46 & \textbf{84.08} & 82.28 & \cellcolor{lightblue}{82.85} & 82.55 & 36.27 & 49.67 & 65.07 & \cellcolor{lightblue}\textbf{{68.23}} & 60.27 \\
& nep & 79.47 & \textbf{89.98} & \cellcolor{lightblue}{87.98} & 87.98 & 91.03 & 64.38 & 74.49 & \cellcolor{lightblue}\textbf{{76.30}} & 76.16 & 79.74 \\
& pan & 71.43 & \textbf{86.94} & \cellcolor{lightblue}{85.95} & 83.68 & 82.57 & 29.17 & 45.38 & 47.79 & \cellcolor{lightblue}\textbf{{49.83}} & 46.77 \\
\cmidrule{2-12}
& spa & 67.80 & \textbf{72.66} & \cellcolor{lightblue}{72.63} & 70.78 & 80.30 & 49.07 & 62.38 & \cellcolor{lightblue}\textbf{{64.16}} & 62.00 & 67.35 \\
& ita & 45.80 & 61.98 & \cellcolor{lightblue}{\textbf{61.98}} & 60.76 & 61.33 & 25.40 & 39.97 & \cellcolor{lightblue}\textbf{{40.00}} & 39.48 & 55.05 \\
\cmidrule{2-12}
& rus & 61.61 & \textbf{82.26} & 80.84 & \cellcolor{lightblue}{81.78} & 83.03 & 44.27 & 56.85 & \cellcolor{lightblue}\textbf{{58.40}} & 56.22 & 61.66 \\
& pol & 67.55 & 81.03 & 81.03 & \cellcolor{lightblue}\textbf{{85.11}} & 82.59 & 53.13 & 60.91 & \cellcolor{lightblue}\textbf{{69.33}} & 67.42 & 64.97 \\
\cmidrule{2-12}
& fas & 52.38 & 83.80 & \cellcolor{lightblue}{\textbf{83.99}} & 82.49 & 80.58 & 38.97 & 54.60 & \cellcolor{lightblue}\textbf{{61.60}} & 53.53 & 54.64 \\
\midrule
\multirow{3}{*}{2}
& hau & 49.04 & 77.29 & \cellcolor{lightblue}{\textbf{81.33}} & 80.98 & 78.29 & 19.31 & 27.14 & 29.34 & \cellcolor{lightblue}\textbf{{34.33}} & 40.22 \\
\cmidrule{2-12}
& arb & 77.58 & 80.91 & 82.64 & \cellcolor{lightblue}\textbf{{86.88}} & 84.88 & 45.39 & 58.18 & \cellcolor{lightblue}\textbf{{60.82}} & 59.84 & 66.78 \\
& amh & 72.37 & 69.74 & \cellcolor{lightblue}\textbf{{77.17}} & 76.11 & 79.54 & 37.79 & 44.09 & \cellcolor{lightblue}\textbf{{47.96}} & 47.06 & 62.95 \\
\midrule
\multirow{2}{*}{3}
& zho & 82.09 & 91.58 & 92.52 & \cellcolor{lightblue}\textbf{{92.99}} & 92.89 & 69.36 & 80.96 & \cellcolor{lightblue}\textbf{{82.36}} & 82.13 & 83.50 \\
\cmidrule{2-12}
& mya & 71.13 & 87.14 & 85.03 & \cellcolor{lightblue}\textbf{{87.38}} & 88.36 & 28.81 & 54.25 & 56.17 & \cellcolor{lightblue}\textbf{{62.36}} & 70.79 \\
\midrule
4& khm & 12.67 & 62.76 & \cellcolor{lightblue}\textbf{{69.77}} & 60.71 & 72.75 & 49.88 & \textbf{77.25} & 69.59 & \cellcolor{lightblue}{70.18} & 70.48 \\
\midrule
5& swa & 71.84 & \textbf{83.06} & 81.92 & \cellcolor{lightblue}{82.44} & 79.25 & 30.52 & 45.16 & 48.49 & \cellcolor{lightblue}\textbf{{49.74}} & 53.97 \\
\midrule
6& tel & 41.61 & 88.05 & \cellcolor{lightblue}{\textbf{91.52}} & 85.59 & 88.83 & 27.65 & 21.18 & \cellcolor{lightblue}\textbf{{42.47}} & 42.21 & 39.31 \\
\midrule
7& tur & 79.09 & 85.20 & \cellcolor{lightblue}\textbf{{86.04}} & 84.32 & 83.03 & 52.67 & \textbf{64.14} & \cellcolor{lightblue}{63.44} & 62.37 & 65.24 \\
\midrule \midrule
&\textbf{Avg} & 65.69 & 80.72 & \textbf{81.34} & 81.33 & 81.80 & 40.70 & 54.46 & 58.43 & \textbf{58.56} & 61.29 \\
\bottomrule
\end{tabular}
}
\caption{Macro F1 scores for each method on the validation set, and the official test set results for the best performing model size trained with either SALSA or SFP. The best performing method is \textbf{bolded} and the model used for submission is highlighted in \colorbox{lightblue}{blue}. Languages are grouped following Appendix ~\ref{sec:language_families}.}
\label{tab:results}
\end{table*}

\section{Results}
Table~\ref{tab:results} shows the results for both subtasks.

\subsection{Subtask 1: Polarization Detection}
\paragraph{Development Results}
Fine-tuning improves performance over the base model, with the largest gains observed in lower-resource languages such as \verb|khm| and \verb|tel|.
SALSA marginally improves standard fine-tuning in the overall average macro F1 score.
We observe only marginal differences between the 12B and 27B variants under SALSA.

\paragraph{Test Results}
For submission, we select the best-performing model per language based on validation performance among SALSA-trained 12B and 27B models.
Our system ranked 1st in 8 languages (\verb|arb|, \verb|ben|, \verb|eng|, \verb|ori|, \verb|pan|, \verb|rus|, \verb|spa|, \verb|urd|) and in the top 5 in 8 more (\verb|amh|, \verb|deu|, \verb|hin|, \verb|mya|, \verb|nep|, \verb|pol|, \verb|tur|, \verb|zho|).

\subsection{Subtask 2: Polarization Type Classification}
\paragraph{Development Results}
As in Subtask~1, fine-tuning improves over the base model.
Our SFP method outperforms the JSON auto-regressive baseline in average macro F1 and in 19 out of 22 languages, indicating that simultaneous label scoring is more effective than sequential generation for this task.

\paragraph{Test Results}
For submission, we again select the best-performing model size per language based on validation results using the SFP method.
Our system ranks 1st in 6 languages (\verb|deu|, \verb|eng|, \verb|ita|, \verb|khm|, \verb|ori|, \verb|pol|) and in the top 5 in 10 more (\verb|arb|, \verb|ben|, \verb|hau|, \verb|mya|, \verb|nep|, \verb|rus|, \verb|spa|, \verb|swa|, \verb|tur|, \verb|zho|).

\section{Analysis}

\subsection{Threshold Tuning}
\label{sec:threshold_tuning}
We tuned classification thresholds $\tau$ within $\{0.1, 0.15, \dots, 0.9\}$ to optimize performance.
For Subtask 1, we calibrated a language-specific threshold $\tau_l$.
For Subtask 2, we utilized language- and label-specific thresholds $\tau_{l, c}$.
Where positive examples were missing for a class $c$ in language $l$, we used the mean threshold from languages $L'$ that contained positive samples, $\tau_{l, c} = \frac{1}{|L'|} \sum_{l' \in L'} \tau_{l', c}$.

Threshold tuning improved the average macro F1 score from 80.81\% to 81.34\% for Subtask~1 (SALSA 12B) and from 56.34\% to 58.43\% for Subtask~2 (SFP 12B).
As shown in Figure~\ref{fig:threshold_tuning}, Subtask 2 saw more consistent gains (18/22 languages) compared to Subtask 1 (10/22 languages).
One possible explanation for these differing gains is the higher class imbalance in positive samples in Subtask~2 (see Table~\ref{tab:dataset_stats}).
When class imbalance is more pronounced, threshold tuning sets a more appropriate decision boundary to maximize the macro F1 score.
However, we note that in some languages, threshold tuning did not improve performance, suggesting that its effectiveness may depend on specific dataset characteristics.
\begin{figure}[t]
    \centering
    \includegraphics[width=\columnwidth]{images/threshold_tuning_3.png}
    \caption{Improvements in macro F1 scores for each language with and without threshold tuning for Subtask~1 and Subtask~2.}
    \label{fig:threshold_tuning}
\end{figure}


\subsection{Single Forward Pass Inference Speedup}
We measure the inference speed of our SFP method relative to the JSON FT baseline on 3,687 instances from the \verb|validation| split of Subtask~2.
With a batch size of 8, JSON FT requires $2.36 \pm 0.07$ seconds per batch, while SFP requires only $0.53 \pm 0.08$ seconds per batch.
Table~\ref{tab:multilabel_speed} shows that SFP improves inference throughput by approximately $4.5\times$ over JSON decoding.
Such a gain is critical for modern polarization detection, where systems must process high volumes of content under strict latency budgets.
SFP reduces serving costs and improves deployability in high-traffic settings without compromising performance.

\begin{table}[t]
    \centering
    \begin{tabular}{l|cc}
        \hline
        \textbf{Method} & \shortstack{\textbf{No. of}\\[-2pt]\textbf{Forward Passes}}& \shortstack{\textbf{Throughput}\\[-2pt](instances/s)} \\
        \hline
        JSON FT & 5 & 3.39 \\
        SFP & 1 & 15.24 \\
        \hline
    \end{tabular}
    \caption{Average inference throughput and number of forward passes for the JSON fine-tuning method and the SFP method, measured on the same hardware and configuration.}
    \label{tab:multilabel_speed}
\end{table}

\subsection{Error Analysis for Multi-label Classification}
\label{sec:error_analysis}
To better understand the differences between JSON FT and SFP, we conducted an error analysis comparing the outputs without threshold tuning (i.e., using a fixed threshold of 0.5) for SFP.
Across 14,737 instances in our \verb|internal-validation| set, the two approaches disagreed on at least one label for 2,174 instances.

We specifically examined whether sequential decoding is more susceptible to error propagation.
JSON FT predicts labels in a fixed order (political $\rightarrow$ racial/ethnic $\rightarrow$ religious $\rightarrow$ gender/sexual $\rightarrow$ other).
As shown in Table~\ref{tab:error_analysis_1}, JSON FT exhibits a higher error rate when at least one preceding label is predicted incorrectly.
In contrast, when all preceding labels are correct, the two methods achieve comparable error rates (Table~\ref{tab:error_analysis_2}).
\begin{table}[h]
    \small
    \centering
    \setlength{\tabcolsep}{2pt}
    \begin{tabular}{l|cccc}
        \hline
        \multirow{2}{*}{\textbf{Method}} & \multicolumn{4}{c}{\textbf{P(Wrong | At least 1 previous mistake)}} \\
        \cline{2-5}
        & \shortstack{racial/\\[-2pt]ethnic} & \shortstack{religious} & \shortstack{gender/\\[-2pt]sexual} & \shortstack{other} \\
        \hline
        JSON FT & 0.22 & 0.17 & 0.13 & 0.27 \\
        SFP & 0.17 {\scriptsize\textcolor{lightgreen}{\textbf{($\downarrow$0.05)}}} & 0.13 \scriptsize{\textcolor{lightgreen}{\textbf{($\downarrow$0.04)}}} & 0.10 \scriptsize{\textcolor{lightgreen}{\textbf{($\downarrow$0.03)}}}& 0.22 \scriptsize{\textcolor{lightgreen}{\textbf{($\downarrow$0.05)}}}\\
        \hline
    \end{tabular}
    \caption{Conditional error rates for each polarization type given that there was at least one previous mistake in the predicted labels. The political label is excluded as it is predicted first for JSON FT.}
    \label{tab:error_analysis_1}
\end{table}
\begin{table}[h]
    \small
    \centering
    \setlength{\tabcolsep}{2pt}
    \begin{tabular}{l|cccc}
        \hline
        \multirow{2}{*}{\textbf{Method}} & \multicolumn{4}{c}{\textbf{P(Wrong | All previous correct)}} \\
        \cline{2-5}
        & \shortstack{racial/\\[-2pt]ethnic} & \shortstack{religious} & \shortstack{gender/\\[-2pt]sexual} & \shortstack{other} \\
        \hline
        JSON FT & 0.08 & 0.03 & 0.03 & 0.07 \\
        SFP & 0.08 {\scriptsize\textbf{(0.00)}} & 0.03 \scriptsize{{\textbf{(0.00)}}} & 0.03 \scriptsize{{\textbf{(0.00)}}}& 0.08 \scriptsize{{\textbf{($\uparrow$0.01)}}}\\
        \hline
    \end{tabular}
    \caption{Conditional error rates for each polarization type given that previous labels were all predicted correctly.}
    \label{tab:error_analysis_2}
\end{table}

These results suggest that multi-step decoding for multi-label prediction is inherently vulnerable to cascading errors, whereas SFP could mitigate this by predicting all labels simultaneously.

\subsection{Cross-lingual Transferability within Family Branches / Sub-branches}
\citet{naseem2026polarbenchmarkmultilingualmulticultural} report that zero-shot LLM performance is not strongly correlated among languages within the same family branch or sub-branch.
Here, we explore whether \emph{fine-tuning on a single language} yields transferable gains for Subtask~2 in other languages within the same family branch/sub-branch.
For each source language $\ell_s$, we fine-tune the model on its \verb|internal-train| split.
For every target language $\ell_t$, we tune thresholds on the target language's \verb|internal-validation| split and evaluate on the official \verb|validation| split.
We report improvements relative to the base model with threshold tuning but \emph{without} fine-tuning.
Figure~\ref{fig:cross_lingual_heatmap} in Appendix~\ref{sec:cross_lingual_heatmap} fully visualizes the resulting improvement matrix.

To quantify the role of linguistic relatedness, we collect all off-diagonal language pairs $(\ell_s,\ell_t)$ and compare improvement distributions for pairs in the same family branch/sub-branch versus different branches/sub-branches (Figure~\ref{fig:cross_lingual_kde_plot}).
Language pairs within the same family branch show larger average improvements than pairs from different branches (2.97 vs.\ 0.79 macro-F1 points).
Similarly, pairs within the same family sub-branch show larger improvements than pairs from different sub-branches (4.05 vs.\ 1.35 macro-F1 points).
These differences are statistically significant under both the one-sided Mann--Whitney $U$ test ($p<0.05$), and the one-sided Welch's $t$-test ($p<0.05$), indicating that single-language fine-tuning transfers more effectively to related languages.

This finding could be helpful for adapting our system to new languages with limited training data, but that belong to a family branch/sub-branch with an existing fine-tuned model.

\begin{figure}[t]
  \includegraphics[width=\columnwidth]{images/kde_plot_v2.png}
  \caption{Distribution of macro F1 improvements for off-diagonal language pairs, grouped by whether the pair belongs to the same family branch/sub-branch (top/bottom) or different branches/sub-branches.}
  \label{fig:cross_lingual_kde_plot}
\end{figure}

\section{Conclusion}
We introduced an efficient LLM-based system for SemEval-2026 Task~9, centered on \textbf{SFP} inference for multi-label polarization type classification.
By avoiding sequential auto-regressive decoding, \textbf{SFP} mitigates error propagation, substantially reduces inference cost, and improves macro F1 across languages.
In addition to performance and efficiency analysis, our cross-lingual analysis suggests that fine-tuning on a single language can transfer to related languages within the same family branch/sub-branch, providing a practical path toward efficient adaptation to low-resource languages.

% limitations
\section*{Limitations}
Our SFP method is evaluated primarily on Subtask~2 of SemEval-2026 Task~9, and its effectiveness may not directly generalize to multi-label tasks with strong label dependencies where sequential prediction can be beneficial.
In addition, our cross-lingual transfer experiments rely on target-language threshold tuning on validation (or internal validation) data, closer to a few-shot setting than a fully zero-shot scenario.
We hope these results motivate future work on improving zero-shot cross-lingual transfer, and more broadly on efficient polarization classification with LLMs.


\section*{Ethical Considerations}
Polarization classification may support research and moderation, but can also be misused for suppression of legitimate expression or to unfairly target specific groups.
We encourage careful evaluation and responsible deployment, especially in high-stakes contexts.

\section*{Acknowledgements}
We thank the SemEval-2026 Task~9 organizers for coordinating the shared task and introducing the POLAR dataset.
We also thank the anonymous reviewers for their valuable feedback and suggestions.

\bibliography{custom}

\newpage
\appendix

\section{Language Family and Sub-branches}
\label{sec:language_families}
We follow the language family and sub-branches defined in~\citet{naseem2026polarbenchmarkmultilingualmulticultural}.
\begin{table}[h]
    \centering
    \scriptsize
    \begin{tabular}{l|lcrr}
        \toprule
        \# & \textbf{Lang.} & \textbf{ISO-639} & \textbf{Lang. Family} & \textbf{Sub-branch} \\
        \midrule
        \multirow{13}{*}{1} & English & eng & Indo-European & Germanic \\
        & German & deu & Indo-European & Germanic \\
        \cmidrule{2-5}
        & Urdu & urd & Indo-European & Indo-Aryan \\
        & Bengali & ben & Indo-European & Indo-Aryan \\
        & Hindi & hin & Indo-European & Indo-Aryan \\
        & Odia & ori & Indo-European & Indo-Aryan \\
        & Nepali & nep & Indo-European & Indo-Aryan \\
        & Punjabi & pan & Indo-European & Indo-Aryan \\
        \cmidrule{2-5}
        & Spanish & spa & Indo-European & Romance \\
        & Italian & ita & Indo-European & Romance \\
        \cmidrule{2-5}
        & Russian & rus & Indo-European & Slavic \\
        & Polish & pol & Indo-European & Slavic \\
        \cmidrule{2-5}
        & Persian & fas & Indo-European & Iranian \\
        \midrule
        \multirow{3}{*}{2} & Hausa & hau & Afro-Asiatic & Chadic \\
        \cmidrule{2-5}
        & Arabic & arb & Afro-Asiatic & Semitic \\
        & Amharic & amh & Afro-Asiatic & Semitic \\
        \midrule
        \multirow{2}{*}{3} & Chinese & zho & Sino-Tibetan & Sinitic \\
        \cmidrule{2-5}
        & Burmese & mya & Sino-Tibetan & Tibeto-Burman \\
        \midrule
        4 & Khmer & khm & Austroasiatic & Mon-Khmer \\
        \midrule
        5 & Swahili & swa & Niger-Congo & Bantu \\
        \midrule
        6 & Telugu & tel & Dravidian & Dravidian \\
        \midrule
        7 & Turkish & tur & Turkic & Turkic \\
        \bottomrule
    \end{tabular}
    \caption{Language family and sub-branch for each language, table adapted from ~\citet{naseem2026polarbenchmarkmultilingualmulticultural}.}
    \label{tab:language_families}
\end{table}

\section{Dataset Label Distribution}
\label{sec:dataset_stats}
Table~\ref{tab:dataset_stats} shows the proportion of positive samples for each label in Subtask~1 and Subtask~2 for each language.

\begin{table}[!t]
\centering
\scriptsize
\setlength{\tabcolsep}{2pt} % Slightly reduced padding to save space
\renewcommand{\arraystretch}{1}
\resizebox{\columnwidth}{!}{% % Changed \textwidth to \columnwidth
\begin{tabular}{l|c|c|ccccc}
        \toprule
        \multirow{2}{*}{\textbf{Lang.}} & \multirow{2}{*}{\textbf{Size}} & \textbf{Sub. 1} & \multicolumn{5}{c}{\textbf{Subtask 2}} \\
        \cline{3-8}
        & & \textbf{Pol.} & \textbf{Polit.} & \textbf{Race} & \textbf{Relig.} & \textbf{Gen/Sex} & \textbf{Other} \\
        \midrule
        eng & 4834 & 0.37 & 0.36 & 0.09 & 0.03 & 0.02 & 0.04 \\
        deu & 4771 & 0.48 & 0.41 & 0.19 & 0.11 & 0.06 & 0.14 \\
        urd & 5346 & 0.69 & 0.67 & 0.54 & 0.55 & 0.51 & 0.51 \\
        ben & 5000 & 0.43 & 0.34 & 0.01 & 0.02 & 0.01 & 0.10 \\
        hin & 4117 & 0.85 & 0.74 & 0.12 & 0.59 & 0.11 & 0.13 \\
        ori & 3552 & 0.29 & 0.21 & 0.05 & 0.06 & 0.03 & 0.04 \\
        nep & 3008 & 0.50 & 0.17 & 0.14 & 0.08 & 0.05 & 0.12 \\
        pan & 2609 & 0.49 & 0.31 & 0.06 & 0.08 & 0.11 & 0.09 \\
        spa & 4958 & 0.50 & 0.27 & 0.19 & 0.16 & 0.13 & 0.13 \\
        ita & 5038 & 0.43 & 0.08 & 0.18 & 0.07 & 0.09 & 0.04 \\
        rus & 5023 & 0.30 & 0.14 & 0.10 & 0.04 & 0.06 & 0.02 \\
        pol & 3587 & 0.42 & 0.37 & 0.09 & 0.04 & 0.05 & 0.06 \\
        fas & 4943 & 0.74 & 0.44 & 0.02 & 0.10 & 0.06 & 0.24 \\
        hau & 5477 & 0.11 & 0.05 & 0.03 & 0.03 & 0.01 & 0.00 \\
        arb & 5070 & 0.45 & 0.24 & 0.17 & 0.08 & 0.11 & 0.17 \\
        amh & 4999 & 0.75 & 0.67 & 0.26 & 0.02 & 0.01 & 0.25 \\
        zho & 6421 & 0.50 & 0.06 & 0.23 & 0.02 & 0.17 & 0.09 \\
        mya & 4334 & 0.58 & 0.25 & 0.05 & 0.03 & 0.11 & 0.45 \\
        khm & 9960 & 0.91 & 0.18 & 0.01 & 0.03 & 0.02 & 0.66 \\
        swa & 10487 & 0.50 & 0.03 & 0.35 & 0.04 & 0.02 & 0.08 \\
        tel & 3550 & 0.53 & 0.22 & 0.17 & 0.09 & 0.13 & 0.24 \\
        tur & 3572 & 0.50 & 0.44 & 0.16 & 0.16 & 0.06 & 0.05 \\
        \bottomrule
    \end{tabular}
}
\caption{Proportion of positive samples for each label per language. Labels are abbreviated as follows: Pol. = Polarized, Polit. = Political, Race = Racial/Ethnic, Relig. = Religious, Gen/Sex = Gender/Sexual.}
\label{tab:dataset_stats}
\end{table}

\section{Hyperparameters and Training Details}
\label{sec:training_details}
\paragraph{LoRA Parameters} We fixed the \verb|LoRA| hyperparameters as in Table ~\ref{tab:lora_hyperparameters}.
\begin{table}[H]
    \centering
    \begin{tabular}{l|c}
        \hline
        \textbf{Hyperparameter} & \textbf{Value} \\
        \hline
        Rank (r) & 32 \\
        Alpha ($\alpha$) & 16 \\
        Dropout & 0.0 \\
        \hline
    \end{tabular}
    \caption{LoRA hyperparameters tested for LLM fine-tuning.}
    \label{tab:lora_hyperparameters}
\end{table}

\paragraph{Training Hyperparameters} We fixed the hyperparameters in Table ~\ref{tab:hyperparams}.
\begin{table}[H]
    \centering
    \begin{tabular}{l|c}
        \hline
        \textbf{Hyperparameter} & \textbf{Value} \\
        \hline
        Epochs & 1 \\
        Batch Size & 16 \\
        Warmup Ratio & 0.03 \\
        Max Length & 1024 \\
        \hline
    \end{tabular}
    \caption{Fixed hyperparameters used for fine-tuning.}
    \label{tab:hyperparams}
\end{table}
Then, for each method and model size, we test a range of learning rates, $\{5\times10^{-5}, 1\times10^{-4}, 3\times10^{-4}\}$, and select the learning rate that achieved the best average macro F1 score across languages on the validation set (Table ~\ref{tab:best_learning_rates}).
\begin{table}[H]
    \centering
    \begin{tabular}{l|c}
        \hline
        \textbf{Method} & \textbf{Best Learning Rate} \\
        \hline
        Std. FT (12B) & $1\times10^{-4}$ \\
        SALSA (12B) & $1\times10^{-4}$ \\
        SALSA (27B) & $5\times10^{-5}$ \\
        JSON FT (12B) & $1\times10^{-4}$ \\
        SFP (12B) & $1\times10^{-4}$ \\
        SFP (27B) & $5\times10^{-5}$ \\
        \hline
    \end{tabular}
    \caption{Best learning rates selected for each method and model size.}
    \label{tab:best_learning_rates}
\end{table}

\paragraph{Experiment Environment}
All experiments were performed on a single \verb|NVIDIA A100-PCIE-40GB| GPU.
Experiments with the 12B model were performed with \verb|fp16| precision, and experiments with the 27B model were done with \verb|bnb-4bit| quantization.
All training, quantization, and inference were performed with the \verb|unsloth==2025.11.3|\footnote{\url{https://pypi.org/project/unsloth/2025.11.3/}} library.
Training and dataset split for \verb|internal-validation| were performed with a fixed seed of \verb|0| for reproducibility.
More details are in the codebase\footnote{\url{https://github.com/howarudo/semeval-2026-task-9-utokyo-tsuruoka-lab}}.

\section{Prompt Templates}
\label{sec:prompt_templates}

\subsection{Subtask 1}
The prompt template used for the base model, standard fine-tuning, and SALSA is shown in Figure ~\ref{app:prompt_template}.

\begin{figure}[h]
    \centering
    \begin{tcolorbox}[
        colback=gray!5!white, % Light gray background
        colframe=gray!75!black, % Darker gray border
        width=\linewidth, % Match column or page width
        arc=1mm, % Slightly rounded corners
        auto outer arc,
        boxrule=1pt, % Border thickness
        fonttitle=\bfseries, % Bold title
    ]
    \small % Slightly smaller font to distinguish from body text
Does the following text contain polarization?\\
A text is polarized if it incites division, hatred, or stereotyping towards other groups.\\\\
Answer in format:\\
<ANSWER>\#Number</ANSWER>\\
where the number is one of the following:\\
0 - No\\
1 - Yes\\\\
The text:\\
<TEXT>\\
\{\{text\}\}\\
</TEXT>
    \end{tcolorbox}
    \caption{The prompt template used for Subtask 1.}
    \label{app:prompt_template}
\end{figure}

\subsection{Subtask 2}
\paragraph{JSON Fine-tuning} The prompt template used for the JSON fine-tuning method is shown in Figure ~\ref{app:json_ft_prompt_template}.
\begin{figure}[h]
    \centering
    \begin{tcolorbox}[
        colback=gray!5!white, % Light gray background
        colframe=gray!75!black, % Darker gray border
        width=\linewidth, % Match column or page width
        arc=1mm, % Slightly rounded corners
        auto outer arc,
        boxrule=1pt, % Border thickness
        fonttitle=\bfseries, % Bold title
    ]
    \small % Slightly smaller font to distinguish from body text
What type of polarization does the text have?\\
Political: Extreme focus on division between political groups.\\
Racial/ethnic: Focuses on ethnic identity of racial origin.\\
Religious: Intolerance between religious groups.\\
Gender/sexual: Exclusion and marginalization based on gender.\\
Other: Hate speech targeting other groups such as socio-economic status, occupation, location, social media platform, etc.\\\\
Answer in the JSON format:\\
\{"political": \#Number, "racial/ethnic": \#Number, "religious": \#Number, "gender/sexual": \#Number, "other": \#Number\}\\
Where \#Number is 1 if the text contains that type of polarization, and 0 otherwise.\\\\
The text:\\
\{\{text\}\}
    \end{tcolorbox}
    \caption{The prompt template used for the JSON fine-tuning method in Subtask 2.}
    \label{app:json_ft_prompt_template}
\end{figure}

\paragraph{Single Forward Pass} The prompt template used for the SFP pass method is shown in Figure ~\ref{app:sfp_prompt_template}.
\begin{figure}[h]
    \centering
    \begin{tcolorbox}[
        colback=gray!5!white, % Light gray background
        colframe=gray!75!black, % Darker gray border
        width=\linewidth, % Match column or page width
        arc=1mm, % Slightly rounded corners
        auto outer arc,
        boxrule=1pt, % Border thickness
        fonttitle=\bfseries, % Bold title
    ]
    \small % Slightly smaller font to distinguish from body text
What type of polarization does the text have?\\
Political: Extreme focus on division between political groups.\\
Racial/ethnic: Focuses on ethnic identity of racial origin.\\
Religious: Intolerance between religious groups.\\
Gender/sexual: Exclusion and marginalization based on gender.\\
Other: Hate speech targeting other groups such as socio-economic status, occupation, location, social media platform, etc.\\\\
Answer in format:\\
<ANSWER>\#Number</ANSWER>\\
where the number is one of the following:\\
0 - Not polarized\\
1 - Political\\
2 - Racial/ethnic\\
3 - Religious\\
4 - Gender/sexual\\
5 - Other (socioeconomic status, technology, social media preferences, etc.)\\\\
The text:\\
<TEXT>\\
\{\{text\}\}\\
</TEXT>
    \end{tcolorbox}
    \caption{The prompt template used for the SFP method in Subtask 2.}
    \label{app:sfp_prompt_template}
\end{figure}


\section{Cross-lingual Transferability Heatmap for Subtask 2}
\label{sec:cross_lingual_heatmap}

\begin{figure*}[t]
  \includegraphics[width=0.99\linewidth]{images/cross_lingual_heatmap_v2.png} \hfill
  \caption{Heatmap showing the macro F1 improvements over the base model for each language when the model is trained on only one language. \textbf{Bolded frames}: same family, \textbf{purple dashed frames}: same sub-branch.}
  \label{fig:cross_lingual_heatmap}
\end{figure*}

The complete heatmap showing the macro F1 changes for each language when the model is trained on only one language is shown in Figure ~\ref{fig:cross_lingual_heatmap}.

\section{SLM and LLM Comparison on Subtask 1}
\label{sec:slm_llm_comparison}
During the training phase, when some training data was not yet available, we compared the performance of an SLM, \verb|mmBERT-base| ~\citep{marone2025mmbertmodernmultilingualencoder} to the LLM we used, \verb|gemma-3-12b-it|, trained with the SFP method.
\begin{table}[t]
    \centering
    \begin{tabular}{l|cc}
        \hline
        \textbf{Lang.} & \textbf{mmBERT} & {\textbf{gemma-3-12b-it} (SFP)} \\
        \hline
        eng & 79.33 & 80.61\\
        deu & 71.69 & 77.35 \\
        urd & 72.30 & 72.59 \\
        hin & 74.74 & 84.32 \\
        nep & 86.99 & 86.99 \\
        spa & 67.24 & 73.05 \\
        ita & 62.66 & 63.43 \\
        fas & 82.51 & 84.63 \\
        hau & 73.56 & 77.44 \\
        arb & 77.91 & 82.11 \\
        amh & 67.61 & 77.61 \\
        zho & 86.44 & 93.92 \\
        tur & 77.38 & 84.34 \\
        \hline
        Avg & 75.41 & 79.88 \\
        \hline
    \end{tabular}
    \caption{Comparison of macro F1 scores (in \%) on the validation set for Subtask 1 between the SLM (mmBERT) and the LLM (gemma-3-12b-it).}
    \label{tab:slm_vs_llm}
\end{table}
For the SLM training, given an input text $x$, we extract the pooled representation of the \verb|[CLS]| token $\mathbf{h}_{CLS} \in \mathbb{R}^d$ from the last hidden layer of the SLM.
\begin{equation}
    \mathbf{x}_{pooled} = \tanh(\mathbf{W}_p \mathbf{h}_{CLS} + \mathbf{b}_p),
\end{equation}
where $\mathbf{W}_p \in \mathbb{R}^{d \times d}$ and $\mathbf{b}_p \in \mathbb{R}^d$.
This pooled output is passed through a final linear classification head with $\mathbf{W}_c \in \mathbb{R}^{2 \times d}$ and $\mathbf{b}_c \in \mathbb{R}^2$ to compute the class logits:
\begin{equation}
    \mathbf{z} = \mathbf{W}_c \mathbf{x}_{pooled} + \mathbf{b}_c.
\end{equation}
The SLM model was trained using cross-entropy loss, and the predicted label $\hat{y}$ is obtained by taking the $\arg\max$ of $\mathbf{z}$.
We trained the SLM for \{2, \textbf{4}\} epochs, with a learning rate of \{$1\times10^{-5}$, \boldmath{$3\times 10^{-5}$}\}, and a batch size of 32.
As shown in Table ~\ref{tab:slm_vs_llm}, we found that the SLM performed similarly or worse than the LLM on all languages, and decided to focus on the LLM for submission.


\section{Qualitative Output Comparison: JSON FT vs.\ SFP}
\label{sec:json_sfp_examples}
To complement the error analysis in Section~\ref{sec:error_analysis}, we present example predictions from the JSON fine-tuning method and the SFP method for Subtask~2 in Table~\ref{tab:json_sfp_examples}.
Examples \#1--\#2 show cases where SFP performed better than JSON FT.
Example \#3 shows a case where JSON FT performed better than SFP.
\begin{table*}[t]
\centering
\small
\begin{tabular}{l l c c c}
\hline
\textbf{\#} & \textbf{Text ID} & \textbf{Gold} & \textbf{JSON FT} & \textbf{SFP} \\
\hline
1&
\multirow{2}{*}{\shortstack[l]{\ttfamily pan\_521032e35bec0f\\1f389152175610565d}} &
\multirow{2}{*}{\ttfamily [1,1,1,0,0]} &
\ttfamily [0,0,0,0,0] &
\ttfamily [0,1,1,0,0] \\
& & & \ttfamily [0.25,0.29,0.32,0.03,0.05] & \ttfamily [0.29,0.75,0.50,0.05,0.08] \\
\hline
2&
\multirow{2}{*}{\shortstack[l]{\ttfamily rus\_259608de63e3b8\\21f043a094ac79d6d2}} &
\multirow{2}{*}{\ttfamily [0,0,0,0,0]} &
\ttfamily [1,1,0,0,0] &
\ttfamily [1,0,0,0,0] \\
& & & \ttfamily [0.71,0.56,0.00,0.00,0.02] & \ttfamily [0.75,0.41,0.00,0.00,0.03] \\
\hline
3&
\multirow{2}{*}{\shortstack[l]{\ttfamily amh\_e1e50a90f7b033\\1004a54f93393da560}} &
\multirow{2}{*}{\ttfamily [1,0,0,0,1]} &
\ttfamily [1,0,0,0,1] &
\ttfamily [1,0,0,0,0] \\
& & & \ttfamily [0.93,0.09,0.00,0.01,0.62] & \ttfamily [0.96,0.09,0.00,0.00,0.35] \\
\hline
\end{tabular}

\caption{Example predictions (top row) and $P(y_i{=}1\mid x)$ (bottom row) for JSON fine-tuning vs.\ SFP. The labels represent the 5 polarization types in order: political, racial/ethnic, religious, gender/sexual, and other.}
\label{tab:json_sfp_examples}
\end{table*}


\end{document}
