For subtask C, which required predicting the boundary position in texts between a human and a machine-generated segment, we adopted the same guiding principles in developing our solutions as we had done in subtask A. The overarching objective was to arrive at competitive models while remaining within a certain size constraint. 

An additional challenge for this subtask, aside from an increase in difficulty in the objective itself, was the relative scarcity of training data. While in subtask A the training set had over one hundred thousand records, the training material in subtask C consisted of just below four thousand texts. As such, any strategy that did not involve pretraining would be severely disadvantaged in this setting.

Our first approach for this subtask was also a character-level solution, with the same general setup as in subtask A. For generating a prediction, however, the representations at every token are evaluated, and a classification is performed. In this sense, the model is predicting whether any given character is in the human or the machine-generated segment of the text. The first token predicted to be machine-generated is taken to be the boundary position. Importantly, the LSTM we implemented for this subtask is bidirectional, meaning at every token the model has awareness of both the left and right contexts.

To offset the relative lack of training items, together with the absence of any model pre-training in this case, we trained this model on both subtask A and subtask C data for 5 epochs, then trained further on only task C data for 3 further epochs. This improved performance significantly on the development set.

We also implemented a Word2vec solution along the lines of what was described for subtask A. We opted for a bidirectional LSTM, and enhanced the training data as described earlier, though the effects of this were less prominent owing to the use of pretrained embeddings. 

We also built a joint model over the aforementioned character- and Word2vec models. This consisted in a FFN whose inputs were the concatenated representations at the word level. For the character-level model, this meant averaging the representation at every character for any given word.

\begin{table}[ht]
    \centering
    \begin{tabular}{llll}
        \hline
        \textbf{Model} & \textbf{Type} & \textbf{L*} & \textbf{H**} \\
        \hline
        Character-level & LSTM & 2 & 512 \\
        Word2vec & LSTM & 2 & 512 \\
        Joint model & FFN & - & 256 \\
    \end{tabular}
    \caption{Summary of models for subtask C. \textbf{*} Number of layers. \textbf{**} Hidden size.}
    \label{tab:c_models}
\end{table}