  Large Language Model (LLM) trained on a mixture of text and code has
demonstrated impressive capability in translating natural language (NL) into
structured code. We observe that semantic structures can be conveniently
translated into code and propose Code4Struct to leverage such text-to-structure
translation capability to tackle structured prediction tasks. As a case study,
we formulate Event Argument Extraction (EAE) as converting text into
event-argument structures that can be represented as a class object using code.
This alignment between structures and code enables us to take advantage of
Programming Language (PL) features such as inheritance and type annotation to
introduce external knowledge or add constraints. We show that, with sufficient
in-context examples, formulating EAE as a code generation problem is
advantageous over using variants of text-based prompts. Despite only using 20
training event instances for each event type, Code4Struct is comparable to
supervised models trained on 4,202 instances and outperforms current
state-of-the-art (SOTA) trained on 20-shot data by 29.5% absolute F1.
Code4Struct can use 10-shot training data from a sibling event type to predict
arguments for zero-resource event types and outperforms the zero-shot baseline
by 12% absolute F1.
