Abstract: Approaches for training and invoking natural language processing (NLP) models are described. In one aspect, a method includes obtaining a natural language document and accessing a database that includes NLP models. A first set of NLP models are configured to recognize a first provision. A second set of NLP models are configured to recognize a second provision. The method includes obtaining a user input indicative of a set of provisions. For at least one given provision in the set of provisions, the method include identifying corresponding NLP models in the database, applying a first NLP model to create a first annotated natural language document; inputting the first annotated natural language document to a second NLP model; and outputting the natural language document annotated with the set of provisions.