I think factorie policy is to take an implicit random number generator

(implicit val random: scala.util.Random)

instead of a seed, and let the rng be created in a calling main function or be passed in from some other object.