1. A method for obtaining engine training data that has high coverage comprising: receiving a set of potential training data snippets comprising one or more n-grams; for each selected snippet of two or more of the potential training data snippets, computing a snippet score for the selected snippet by: identifying one or more n-grams of the selected snippet as unseen n-grams; obtaining a frequency value for the identified unseen n-grams; computing a sum of the obtained frequency values; computing a length value of the selected snippet; and computing the snippet score for the selected snippet by dividing the sum of the obtained frequency values by the length value of the selected snippet; sorting the set of potential training data snippets, as sorted snippets, based on the computed snippet scores; selecting, based on snippet locations in the sorted snippets, one or more of the potential training data snippets as the engine training data; and storing the engine training data in a memory, wherein the engine training data is used by an engine to perform automated language processing functions.