Java Reference
In-Depth Information
Using multiple cores with the Stanford pipeline
The
annotate
method can also take advantage of multiple cores. It is an overloaded
method where one version uses an instance of an
Iterable<Annotation>
as its para-
meter. It will process each
Annotation
instance using the processors available.
We will use the previously defined
pipeline
object to demonstrate this version of the
annotate
method.
First, we create four
Annotation
objects based on four short sentences, as shown here.
To take full advantage of the technique, it would be better to use a larger set of data:
Annotation annotation1 = new Annotation(
"The robber took the cash and ran.");
Annotation annotation2 = new Annotation(
"The policeman chased him down the street.");
Annotation annotation3 = new Annotation(
"A passerby, watching the action, tripped the thief "
+ "as he passed by.");
Annotation annotation4 = new Annotation(
"They all lived happily ever after, except for the thief
"
+ "of course.");
The
ArrayList
class implements the
Iterable
interface. We create an instance of this
class and then add the four
Annotation
objects to it. The list is then assigned to an
Iterable
variable:
ArrayList<Annotation> list = new ArrayList();
list.add(annotation1);
list.add(annotation2);
list.add(annotation3);
list.add(annotation4);
Iterable<Annotation> iterable = list;
The
annotate
method is then executed:
pipeline.annotate(iterable);