In this chapter we finally come to the topic of designing machine learning (ML) algorithms that will be run over our annotated text data. That is, we describe the task of taking linguistic data (annotated and unannotated) to train ML algorithms to automatically classify, tag, and mark up the text for specific purposes. We will present the goals and techniques of machine learning, and review the different algorithms that you will want to consider using for your annotated corpus. Here are the questions we will answer in this chapter:
How do we define the learning problem formally? Learning as distinguishing or classifying objects into different categories? Learning as problem solving or planning?
How does the design of a specification and annotation improve a learning algorithm?
What kinds of features are in the dataset that you can exploit with your algorithm?
What kinds of learning algorithms are there?
When should you use one algorithm over another?
The purpose of this chapter is to give you an overview of the different types of algorithms and approaches that are used for machine learning, and help you figure out which kind will best suit your own annotation task. It is not meant to provide an in-depth discussion of the math underlying all the different algorithms, or any of the details for using them. There are a number of other books that provide that information in much more depth than we intend to provide here. If you are interested in learning ...