  Column type annotation is the task of annotating the columns of a relational
table with the semantic type of the values contained in each column. Column
type annotation is an important pre-processing step for data search and data
integration in the context of data lakes. State-of-the-art column type
annotation methods either rely on matching table columns to properties of a
knowledge graph or fine-tune pre-trained language models such as BERT for
column type annotation. In this work, we take a different approach and explore
using ChatGPT for column type annotation. We evaluate different prompt designs
in zero- and few-shot settings and experiment with providing task definitions
and detailed instructions to the model. We further implement a two-step table
annotation pipeline which first determines the class of the entities described
in the table and depending on this class asks ChatGPT to annotate columns using
only the relevant subset of the overall vocabulary. Using instructions as well
as the two-step pipeline, ChatGPT reaches F1 scores of over 85% in zero- and
one-shot setups. To reach a similar F1 score a RoBERTa model needs to be
fine-tuned with 356 examples. This comparison shows that ChatGPT is able
deliver competitive results for the column type annotation task given no or
only a minimal amount of task-specific demonstrations.
