JavaNLP Meetings Notes 11/19/2003 Updates: Jenny: Wrote a Quasi-Newton optimization algorithm (QNMinimizer) that works just like CGMaximizer, but about 3x as fast! Currently investigating why it’s not 10x as fast. Kristina: ObjectBank: Almost there. Jenny will bring the revised API to this week’s meeting, and hopefully, we can begin implementation. /* - Vends iterators over the Collection. - The iterator returns Readers, not the items in the source Collection. - Since it vends iterators rather than being an iterator itself, it is resettable */ ReaderIteratorFactory: /* takes a Collection of URLs, Files, Strings (can be mixed) */ ReaderIteratorFactory(Collection c) /* returns an iterator (internally defined) over the collection, the iterator will check the runtime type of the Collection item, and return iterator() a StringReader if it’s a String, FileReader if it’s a file, etc. */ /* adds items to the Collection */ add(Object/Collection) /* - Vends iterators, which can process a given Reader in some way to produce Objects - Subclass this to process different kinds of data */ ObjectIteratorFactory Predicted subclasses: /* produces Documents by tokenizing on specified delimiters */ DocumentIteratorFactory DocumentIteratorFactory(String delimiters) DocumentIteratorFactory(Tokenizer tokenizer) /* produces Trees from the input Reader */ TreeIteratorFactory /* an iterator where remove() throws an UnsupportedOperationException */ AbstractIterator /* Takes a ReaderIteratorFactory and an ObjectIteratorFactory and combines them to produce an iterator that vends objects */ {Disk/Memory}ObjectBank