1. A method comprising: receiving a continuous electronic data stream of unlabeled data instances; automatically feeding said unlabeled data instances into a stream-based selection strategy and a pool-based selection strategy; automatically continuously applying said stream-based selection strategy to each of said unlabeled data instances to continually select stream-based data instances to be annotated; automatically storing said stream-based data instances in an electronic storage element; automatically periodically applying said pool-based selection strategy to a pool of data obtained from said unlabeled data instances to periodically select pool-based data instances to be annotated; each time said pool-based selection strategy is applied, automatically replacing ones of said stream-based data instances in said electronic storage element with said pool-based data instances; providing, on demand, access to said electronic storage element allowing a user to annotate ones of said stream-based data instances and said pool-based data instances currently maintained by said electronic storage element at a time when said user accesses said electronic storage element; receiving annotations relating to said stream-based data instances and said pool-based data instances from said user to produce annotated data instances; and automatically training a previous model with said annotated data instances to produce an updated model.