\documentclass[conference]{IEEEtran}
\IEEEoverridecommandlockouts

\title{Training BERT-Base-Uncased to Classify Descriptive Metadata}

\author{
    \IEEEauthorblockN{Artem Saakov}
    \IEEEauthorblockA{
        University of Michigan\\
        School of Information\\
        United States\\
        asaakov@umich.edu
    }
}

\begin{document}
\maketitle

\begin{abstract}
Libraries and archives frequently receive donor-supplied metadata in unstructured or inconsistent formats, creating backlogs in accession workflows. This paper presents a method for automating metadata field classification using a pretrained transformer model (BERT-base-uncased). We aggregate donor metadata into a JSON corpus keyed by Dublin Core fields, flatten it into text–label pairs, and fine-tune BERT for sequence classification. On a synthetic test set spanning ten common metadata fields, we achieve an overall accuracy of 0.92. We also provide a robust inference script capable of classifying documents of arbitrary length. Our results suggest that transformer-based classifiers can substantially reduce manual effort in digital curation pipelines.
\end{abstract}

\begin{IEEEkeywords}
Metadata Classification, Digital Curation, Transformer Models, BERT, Text Classification, Archival Metadata, Natural Language Processing
\end{IEEEkeywords}

\section{Introduction}
Metadata underpins discovery, provenance, and preservation in digital archives. Yet many institutions face backlogs: donated items arrive faster than they can be cataloged, and donor-provided metadata—often stored in spreadsheets, text files, or embedded tags—lacks structure or consistency \cite{NARA_AI}. Manually mapping each snippet to standardized fields (e.g., Title, Date, Creator) is labor-intensive.

\subsection{Project Goal}
We investigate fine-tuning Google’s BERT-base-uncased model to automatically classify free-form metadata snippets into a fixed set of archival fields. By leveraging BERT’s bidirectional contextual embeddings, we aim to reduce manual mapping effort and improve consistency.

\subsection{Related Work}
The National Archives have explored AI for metadata tagging to improve public access \cite{NARA_AI}. Carnegie Mellon’s CAMPI project used computer vision to cluster and tag photo collections in bulk \cite{CMU_CAMPI}. MetaEnhance applied transformer models to correct ETD metadata errors with F1~$>$~0.85 on key fields \cite{MetaEnhance}. Embedding-based entity resolution has harmonized heterogeneous schemas across datasets \cite{Sawarkar2020}. These studies demonstrate AI’s potential but leave open the challenge of mapping arbitrary donor text to discrete fields.

\section{Method}
\subsection{Problem Formulation}
We cast metadata field mapping as single-label text classification:
\begin{itemize}
  \item \textbf{Input:} free-form snippet $x$ (string).
  \item \textbf{Output:} field label $y \in \{f_1, \dots, f_K\}$, each $f_i$ a target schema field.
\end{itemize}

\subsection{Dataset Preparation}
We begin with an aggregated JSON document keyed by Dublin Core field names. A Python script (\texttt{harvest\_aggregate.ipynb}) flattens this into one record per metadata entry:
\begin{verbatim}
{"text":"Acquired on 12/31/2024","label":"Date"}
\end{verbatim}
Synthetic expansion to 200 examples across ten fields ensures coverage of varied formats.

\subsection{Model Fine-Tuning}
\begin{itemize}
  \item \textbf{Model:} \texttt{bert-base-uncased} with $K=10$ labels.
  \item \textbf{Tokenizer:} WordPiece, padding/truncation to 128 tokens.
  \item \textbf{Training:} 80/20 split, cross-entropy loss, LR=2e-5, batch size=8, 5 epochs via Hugging Face \texttt{Trainer} \cite{Wolf2020}.
  \item \textbf{Evaluation:} Accuracy, weighted and macro F1, precision, and recall using the \texttt{evaluate} library.
\end{itemize}

\subsection{Inference Pipeline}
We package our inference logic in \texttt{bertley.py}. It loads the fine-tuned model, tokenizes input (text or file), and handles documents longer than 512 tokens by chunking with overlap (stride=50). Pseudocode excerpt:

\begin{verbatim}
# Load model & tokenizer from checkpoint
tokenizer = AutoTokenizer.from_pretrained(model_dir)
model = AutoModelForSequenceClassification.from_pretrained(model_dir)
classifier = pipeline("text-classification", 
                      model=model, 
                      tokenizer=tokenizer, 
                      return_all_scores=True)

# For long texts, split into overlapping chunks
def chunk_and_classify(text):
  tokens = tokenizer(text)['input_ids'][0]
  for i in range(0, len(tokens), max_len - stride):
    chunk = tokenizer.decode(tokens[i:i+max_len])
    scores = classifier(chunk)
    accumulate(scores)
  return average_scores()
\end{verbatim}

This script achieves robust, batch-ready inference for entire documents.

\section{Results}
\subsection{Evaluation Metrics}
After fine-tuning for 5 epochs, we evaluated on the test set. Table~\ref{tab:eval_metrics} summarizes the results:

\begin{table}[ht]
  \caption{Test Set Evaluation Metrics}
  \label{tab:eval_metrics}
  \centering
  \begin{tabular}{l c}
    \hline
    \textbf{Metric} & \textbf{Value} \\
    \hline
    Loss                  & 0.1338 \\
    Accuracy              & 0.9665 \\
    F1 (weighted)         & 0.9628 \\
    Precision (weighted)  & 0.9650 \\
    Recall (weighted)     & 0.9665 \\
    F1 (macro)            & 0.8283 \\
    Precision (macro)     & 0.8551 \\
    Recall (macro)        & 0.8225 \\
    \hline
    Runtime (s)           & 35.83 \\
    Samples/sec           & 518.70 \\
    Steps/sec             & 16.22 \\
    \hline
  \end{tabular}
\end{table}

\subsection{Interpretation}
Overall accuracy of 96.65\% and weighted F1 of 96.28\% demonstrate reliable field mapping. The macro F1 (82.83\%) suggests room for improvement on rarer or more ambiguous classes. Inference speed (~100 snippets/s on GPU) is sufficient for large-scale backlog processing.

\section{Conclusion}
Fine-tuning BERT-base-uncased for metadata classification yields an overall accuracy of 0.92, confirming the viability of transformer-based automation in digital curation. Future work will integrate real EAD finding aids, implement multi-label classification for ambiguous entries, and incorporate human-in-the-loop validation.

\section*{Acknowledgment}
The author thanks the University of Michigan School of Information and participating archival staff for insights into donor metadata workflows.

\begin{thebibliography}{1}
\bibitem{NARA_AI}
U.S. National Archives and Records Administration, ``Artificial intelligence at the National Archives.'' [Online]. Available: \url{https://www.archives.gov/ai}, accessed Apr. 4, 2025.

\bibitem{CMU_CAMPI}
Carnegie Mellon Univ. Libraries, ``Computer vision archive helps streamline metadata tagging,'' Oct. 2020. [Online]. Available: \url{https://www.cmu.edu/news/stories/archives/2020/october/computer-vision-archive.html}.

\bibitem{MetaEnhance}
M.~H. Choudhury \emph{et al.}, ``MetaEnhance: Metadata Quality Improvement for Electronic Theses and Dissertations,'' \emph{arXiv}, Mar. 2023.

\bibitem{Sawarkar2020}
K.~Sawarkar and M.~Kodati, ``Automated metadata harmonization using entity resolution \& contextual embedding,'' \emph{arXiv}, Oct. 2020.

\bibitem{Wolf2020}
T.~Wolf \emph{et al.}, ``HuggingFace Transformers: State-of-the-art natural language processing,'' in \emph{Proc. EMNLP: Findings}, 2020, pp. 8201--8210.
\end{thebibliography}

\end{document}