% This must be in the first 5 lines to tell arXiv to use pdfLaTeX, which is strongly recommended.
\pdfoutput=1
% In particular, the hyperref package requires pdfLaTeX in order to break URLs across lines.

\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{multirow}

% 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}
\usepackage{booktabs}
\usepackage{multicol}
\usepackage{tikz}
\usepackage{subcaption}
% 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}
\usepackage{amsmath, amsfonts}
\usepackage{cleveref}

\usepackage{enumitem}

\newcommand{\vt}{\mathbf{t}}
% 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.

\usepackage{tabularx}
\usepackage{csquotes}
\usetikzlibrary{positioning, calc}
\usepackage{balance}

\definecolor{tumdark}{cmyk}{1,0.54,0.04,0.19}
\definecolor{tumblue}{cmyk}{1,0.43,0,0}
\definecolor{tumgreen}{cmyk}{0.35,0,1,0.2}
\definecolor{tumorange}{cmyk}{0,0.65,0.95,0}



\title{Detecting Child Objectification on Social Media: Challenges in Language Modeling}

% Author information can be set in various styles:
% For several authors from the same institution:
% \author{Author 1 \and ... \and Author n \\
%         Address line \\ ... \\ Address line}
% if the names do not fit well on one line use
%         Author 1 \\ {\bf Author 2} \\ ... \\ {\bf Author n} \\
% For authors from different institutions:
% \author{Author 1 \\ Address line \\  ... \\ Address line
%         \And  ... \And
%         Author n \\ Address line \\ ... \\ Address line}
% To start a separate ``row'' of authors use \AND, as in
% \author{Author 1 \\ Address line \\  ... \\ Address line
%         \AND
%         Author 2 \\ Address line \\ ... \\ Address line \And
%         Author 3 \\ Address line \\ ... \\ Address line}



\author{Miriam Schirmer\textsuperscript{1}, Angelina Voggenreiter\textsuperscript{2}, Jürgen Pfeffer\textsuperscript{2}, Em\H oke-Ágnes Horvát\textsuperscript{1} \\
\textsuperscript{1}Northwestern University \\
%\small \texttt{miriam.schirmer@tum.de, tobias.leemann@tum.de, gjergji.kasneci@tum.de, juergen.pfeffer@tum.de} \\
\textsuperscript{2}Technical University of Munich \\
\small \texttt{miriam.schirmer@northwestern.edu, angelina.voggenreiter@tum.de} \\
\small \texttt{juergen.pfeffer@tum.de, a-horvat@northwestern.edu}
}


%\author{Miriam Schirmer \\
%  \small Technical University of Munich \\ 
%  \small \texttt{miriam.schirmer@tum.de}
%  \And
%  Tobias Leemann \\
%  \small Technical University of Munich \\
%  \small \texttt{tobias.leemann@tum.de}
%  \And
%  Gjergji Kasneci \\ 
%  \small Technical University of Munich \\
%  \small \texttt{gjergji.kasneci@tum.de}
%  \AND
%  Jürgen Pfeffer \\ 
%  \small Technical University of Munich \\ 
%  \small \texttt{juergen.pfeffer@tum.de}
%  \And
%  David Jurgens\\ 
%  \small University of Michigan \\
%  \small \texttt{jurgens@umich.edu}
%}


%\author{
%  \textbf{First Author\textsuperscript{1}},
%  \textbf{Second Author\textsuperscript{1,2}},
%  \textbf{Third T. Author\textsuperscript{1}},
%  \textbf{Fourth Author\textsuperscript{1}},
%\\
%  \textbf{Fifth Author\textsuperscript{1,2}},
%  \textbf{Sixth Author\textsuperscript{1}},
%  \textbf{Seventh Author\textsuperscript{1}},
%  \textbf{Eighth Author \textsuperscript{1,2,3,4}},
%\\
%  \textbf{Ninth Author\textsuperscript{1}},
%  \textbf{Tenth Author\textsuperscript{1}},
%  \textbf{Eleventh E. Author\textsuperscript{1,2,3,4,5}},
%  \textbf{Twelfth Author\textsuperscript{1}},
%\\
%  \textbf{Thirteenth Author\textsuperscript{3}},
%  \textbf{Fourteenth F. Author\textsuperscript{2,4}},
%  \textbf{Fifteenth Author\textsuperscript{1}},
%  \textbf{Sixteenth Author\textsuperscript{1}},
%\\
%  \textbf{Seventeenth S. Author\textsuperscript{4,5}},
%  \textbf{Eighteenth Author\textsuperscript{3,4}},
%  \textbf{Nineteenth N. Author\textsuperscript{2,5}},
%  \textbf{Twentieth Author\textsuperscript{1}}
%\\
%\\
%  \textsuperscript{1}Affiliation 1,
%  \textsuperscript{2}Affiliation 2,
%  \textsuperscript{3}Affiliation 3,
%  \textsuperscript{4}Affiliation 4,
%  \textsuperscript{5}Affiliation 5
%\\
%  \small{
%    \textbf{Correspondence:} \href{mailto:email@domain}{email@domain}
%  }
%}

\begin{document}
\maketitle
\begin{abstract}
Online objectification of children can harm their self-image and influence how others perceive them. Objectifying comments may start with a focus on appearance but also include language that treats children as passive, decorative, or lacking agency. On TikTok, algorithm-driven visibility amplifies this focus on looks. Drawing on objectification theory, we introduce a Child Objectification Language Typology to automatically classify objectifying comments. 
%and compare how different models perform in the detection of objectifying language. 
%We distinguish between neutral descriptions and more problematic forms of discourse--a particularly difficult task due to the implicit and nuanced language of objectifying language. 
Our dataset consists of 562,508 comments from 9,090 videos across 482 TikTok accounts. We compare language models of different complexity, including an n-gram-based model, RoBERTa, GPT-4, LlaMA, and Mistral. On our training dataset of 6,000 manually labeled comments, we found that RoBERTa performed best overall in detecting appearance- and objectification-related language. 
%However, even the better-performing models struggled with reliably detecting objectifying language, reflecting the broader difficulty of identifying subtle or context-dependent objectification in online discourse.
10.35\% of comments contained appearance-related language, while 2.90\% included objectifying language. Videos with school-aged girls received more appearance-related comments compared to boys in that age group, while videos with toddlers show a slight increase in objectification-related comments compared to other age groups. Neither gender alone nor engagement metrics showed significant effects.
The findings raise concerns about children's digital exposure, emphasizing the need for stricter policies to protect minors.  

\end{abstract}

\input{Sections/1_Introduction.tex}
\input{Sections/2_Background.tex}
\input{Sections/3_Methods.tex}
\input{Sections/4_Results.tex}
\input{Sections/5_Limitations}




\section*{Ethics Statement}

This study was approved by the ethics committee at the Technical University of Munich.
%We carefully considered the balance between the public interest in understanding potential risks to children on social media and the rights of the individuals involved — including content creators, guardians, and TikTok as a platform. Since the videos had already been widely circulated, we took steps to avoid drawing additional attention to the children featured.
No identifying information, such as account names or individual-level metadata, is shared. Only anonymized comments were included in the paper.
While we were prepared to report any material classified as child pornography under German law, we did not come across such content. 
%All data analyzed in the study came from publicly accessible sources, and no direct contact with human subjects took place.
All annotators were briefed in advance and trained for the task. They had the option to pause or withdraw from the annotation process at any time.

\section*{Acknowledgments}

Funded by the Bavarian Research Institute for Digital Transformation (bidt), an institute of the Bavarian Academy of Sciences and Humanities, and the Bavarian State Ministry of Science and Art (project “Youth Safety in an AI-Driven Online World”).


% Bibliography entries for the entire Anthology, followed by custom entries
%\bibliography{anthology,custom}
% Custom bibliography entries only
\bibliography{acl_latex}

\newpage

\clearpage
\onecolumn
\appendix
\section{Appendix}
\label{sec:app}


\subsection{Overview of Classification Pipeline}
\label{app:pipeline}

\begin{figure*}[!htbp]
    \centering
    \begin{tikzpicture}
        % Define colors
        \definecolor{lightgray}{RGB}{240, 240, 240}
        \definecolor{lightblue}{RGB}{200, 220, 240}
        \definecolor{lightgreen}{RGB}{210, 240, 210}

        % Define nodes
        \node (A1) [draw, rectangle, text width=5cm, line width=0.3pt, fill=lightgray, align=center] {Classifier 1:\\ \textbf{General Appearance-Based Comments}};
        \node (A2) [draw, rectangle, text width=5cm, line width=0.3pt, fill=lightgray, align=center, below=0.5cm of A1] {Classifier 2:\\ \textbf{Objectifying Comments:} \\ Sexualization\\Age-Inappropriateness\\Comparisons\\Diminishing\\Possessiveness};

        \node (B1) [draw, rectangle, text width=5cm, align=center, fill=lightgray, right=2.5cm of A1] {\textbf{N-gram Neural Network} \\ (Simple Model)};
        \node (B2) [draw, rectangle, text width=5cm, align=center, fill=lightgray, below=0.5cm of B1] {\textbf{RoBERTa} \\ (Moderate Model)};
        \node (B3) [draw, rectangle, text width=5cm, fill=lightgray, align=center, below=0.5cm of B2] {\textbf{LLMs: GPT-4, LLaMA, Mistral} \\ (Strong Models)};

        % Draw connecting lines
        \draw[->, line width=0.3pt, >=stealth, scale=1.5] (A1.east) -- (B1.west);
        \draw[->, line width=0.3pt, >=stealth, scale=1.5] (A1.east) -- (B2.west);
        \draw[->, line width=0.3pt, >=stealth, scale=1.5] (A1.east) -- (B3.west);
        \draw[->, line width=0.3pt, >=stealth, scale=1.5] (A2.east) -- (B1.west);
        \draw[->, line width=0.3pt, >=stealth, scale=1.5] (A2.east) -- (B2.west);
        \draw[->, line width=0.3pt, >=stealth, scale=1.5] (A2.east) -- (B3.west);

    \end{tikzpicture}
    \caption{Overview of Classification Pipeline for Appearance-Based and Objectifying Comments}
    \label{fig:model_classification}
\end{figure*}


\subsection{Topic Modeling Details}
\label{app:tm}

\begin{figure*}[h]
  \centering
  \includegraphics[width=1\linewidth]{Figures/topic_overview.pdf}
  \caption{Top 25 meaningful topics with their corresponding representative words and frequency.}
  \label{fig:topics-overview-appendix}
\end{figure*}


\subsection{Video Classifier Details}
\label{app-video-classification}

After having collected the first 100 videos from accounts that generally featured children in some of the videos, we had to decide if each single video actually contained a child. Due to the high number of videos, we trained a neural network classifier to do this.
Our training data set consisted of approximately 12,000 manually labeled videos that were split into a train and test set (80:20 ratio).
We employed a Multi-Layer Perceptron (MLP) classifier trained on video embeddings extracted using the CLIP model (\texttt{openai/clip-vit-base-patch32}). The classifier consisted of an input layer matching the embedding size, a hidden layer with ReLU activation, a dropout layer to prevent overfitting, and an output layer for binary classification. The final class label was determined using a softmax activation function. The detailed model architecture and hyperparameters are provided in Table~\ref{tab:mlp_params}.
For feature extraction, videos were processed using CLIP. Each video was represented by a set of 12 evenly spaced frames, with each frame passed through CLIP to obtain a 512-dimensional embedding. The mean embedding across all frames was computed to obtain a single feature vector per video, which served as input to the classifier.
The classifier was trained using supervised learning with a 5-fold cross-validation strategy. The Adam optimizer was used with weight decay to improve generalization, and learning rate scheduling was applied to adjust training dynamics. A batch size of 512 was used, and training was conducted for 20 epochs on a GPU-enabled environment.


\begin{table*}[h!]\small
    \centering
    \begin{tabular}{lc}
        \toprule
        \textbf{Parameter} & \textbf{Value} \\
        \hline
        Model Architecture & MLP \\
        Input Size & 512 (CLIP embedding) \\
        Hidden Size & 256 \\
        Dropout Rate & 0.5 \\
        Output Size & 2 (Binary classification) \\
        Activation Function & ReLU \\
        \hline
        Optimizer & Adam \\
        Learning Rate & 0.001 \\
        Weight Decay & 1e-4 \\
        Loss Function & Cross-Entropy Loss \\
        Batch Size & 512 \\
        Epochs & 20 \\
        Learning Rate Scheduler & ReduceLROnPlateau (patience = 3) \\
        Cross-Validation & 5-Fold \\
        Validation Split & 20\% \\
        \hline
        Frames per Video & 12 \\
        Feature Extractor & CLIP (`openai/clip-vit-base-patch32`) \\
        Frame Aggregation & Mean embedding \\
        \bottomrule
    \end{tabular}
    \caption{Hyperparameter configuration of the MLP classifier.}
    \label{tab:mlp_params}
\end{table*}



\subsection{Geographical Distribution of Accounts}
\label{app:geo}

The top five countries represented in the dataset are the United States, which account for a third of all accounts (33.7\%), followed by India with nearly nine percent (8.61\%),\footnote{India banned TikTok in 2020. Before the ban, it had nearly 200 million users, making it one of the platform’s largest markets \citep{chow2025}. The high share of accounts from India in this dataset may be due to accounts operating through VPNs and videos that had been uploaded before the ban.} Indonesia with almost eight percent (7.69\%), Brazil with seven percent (7.14\%), and Mexico with five percent (5.31\%). This distribution roughly aligns with TikTok’s global user base, with the largest TikTok user bases being in Indonesia, the United States, and Brazil \citep{statista2025}. 

\begin{figure*}[h!]
  \centering
  \includegraphics[width=0.7\linewidth]{Figures/tiktok_country_distribution.png}
  \caption{Country distribution of accounts included in our dataset.}
  \label{fig:topics-overview}
\end{figure*}

\newpage
\subsection{Hyperparameter Details for Language Models}
\label{app:hyper}

\begin{table*}[h]\small
    \centering
    \begin{tabular}{lll}
        \toprule
        & \multicolumn{2}{c}{}\\
        \textbf{Model} & \textbf{General Appearance} & \textbf{Objectification} \\
        \midrule
        NGramNN & \begin{tabular}[c]{@{}l@{}}n\_gram\_range: [1, 2, 3] \\ hidden\_dim: 128 \\ dropout\_rate: 0.4 \\ lr: 0.001 \\ batch\_size: 32 \\ epochs: 10 \end{tabular} &
        \begin{tabular}[c]{@{}l@{}}n\_gram\_range: [1, 2, 3] \\ hidden\_dim: 128 \\ dropout\_rate: 0.3 \\ lr: 0.001 \\ batch\_size: 32 \\ epochs: 10 \end{tabular} \\
        \midrule
        RoBERTa  (finetuned) & \begin{tabular}[c]{@{}l@{}}pretrained: roberta-base \\ total layers: 12 \\ trainable layers: 3 \\ dropout\_rate: 0.3 \\ lr: 2.00e-05 \\ epochs: 3 \end{tabular} & 
        \begin{tabular}[c]{@{}l@{}}pretrained: roberta-base \\ total layers: 12 \\ trainable layers: 3 \\ dropout\_rate: 0.3 \\ lr: 2.00e-05 \\ epochs: 3 \end{tabular} \\
        \midrule
        OpenAI GPT-4 & \begin{tabular}[c]{@{}l@{}}target\_model: gpt-4-turbo \\ temperature: 0.1 \end{tabular} & 
        \begin{tabular}[c]{@{}l@{}}target\_model: gpt-4-turbo \\ temperature: 0.1 \end{tabular} \\
        \midrule
        Mistral 7B & \begin{tabular}[c]{@{}l@{}}temperature: 0.1 \\ max\_tokens: 512 \end{tabular} & 
        \begin{tabular}[c]{@{}l@{}}temperature: 0.1 \\ max\_tokens: 512 \end{tabular} \\
        \midrule
        LLaMA 3 & \begin{tabular}[c]{@{}l@{}}temperature: 0.1 \\ max\_tokens: 512 \end{tabular} & 
        \begin{tabular}[c]{@{}l@{}}temperature: 0.1 \\ max\_tokens: 512 \end{tabular} \\
        \bottomrule
    \end{tabular}
    \caption{Hyperparameters for each model and task.}
    \label{tab:model_parameters}
\end{table*}






\subsection{Prompts Used For LLM Comment Classification}
\label{app:prompts}
\vspace{0.3cm}

\textbf{General Appearance Comments (Zero-Shot)}
\begin{verbatim}
Identify all comments that describe the physical appearance of the child in the video, 
including those that consist only of emojis.
The comments should specifically refer to the child shown and include observations 
about their appearance. Only include comments that are positive or neutral in tone.
Ignore any comments that do not reference the child’s physical appearance or visual traits.
Include comments that can be used to describe appearance. 
Take note that these are TikTok comments, so be aware of TikTok-specific language.

- 1 = Describes physical appearance or body parts or outfit-related things.
- 0 = Does not describe physical appearance (e.g., behavior, voice, actions).

Comment: "{comment}"
Classification (ONLY return 0 or 1):
\end{verbatim}
\vspace{0.5cm}

\noindent\textbf{General Appearance Comments (Few-Shot)}
\begin{verbatim}
Identify all comments that describe the physical appearance of the child in the video, 
including those that consist only of emojis.
The comments should specifically refer to the child shown and include observations 
about their appearance. Only include comments that are positive or neutral in tone.
Ignore any comments that do not reference the child’s physical appearance or visual traits.
Include comments that can be used to describe appearance. 
Take note that these are TikTok comments, so be aware of TikTok-specific language.

- 1 = Describes physical appearance or body parts or outfit-related things.
- 0 = Does not describe physical appearance (e.g., behavior, voice, actions).

Examples:
- "She looks so cute" → 1
- "I keep wondering who he looks like. He looks like Harry Potter." → 1
- "The way she says ball is so cute!" → 0

Comment: "{comment}"
Classification (ONLY return 0 or 1):
\end{verbatim}
\vspace{0.5cm}

\noindent\textbf{Objectifying Comments (Zero-Shot)}
\begin{verbatim}
Identify comments that describe the physical appearance of the child in the video, 
including those consisting only of emojis.
Focus on language that may be objectifying, overly personal, possessive, sexualizing, 
diminishing, or otherwise inappropriate in tone.
Take note that these are TikTok comments, so be aware of TikTok-specific language.
Exclude comments that are unrelated to the child.

- 1 = Contains objectifying or inappropriate language.
- 0 = Does not contain objectifying or inappropriate language.

Comment: "{comment}"
Classification (ONLY return 0 or 1):
\end{verbatim}
\vspace{0.5cm}

\noindent\textbf{Objectifying Comments (Few-Shot)}
\begin{verbatim}
Identify comments that describe the physical appearance of the child in the video, 
including those consisting only of emojis.
Focus on language that may be objectifying, overly personal, possessive, sexualizing, 
diminishing, or otherwise inappropriate in tone.
Take note that these are TikTok comments, so be aware of TikTok-specific language.
Exclude comments that are unrelated to the child.

- 1 = Contains objectifying or inappropriate language.
- 0 = Does not contain objectifying or inappropriate language.

Examples:
- "What a cute little princess" → 1
- "I Love You SO SO Much, Can I Babysit?" → 1
- "She looks adorable today!" → 0

Comment: "{comment}"
Classification (ONLY return 0 or 1):
\end{verbatim}



\end{document}