public Lexicon(boolean stressSensitive, boolean trace, boolean useTrust, boolean useProbMem,
			boolean useNorm, double probAmount, double decayAmount, SubSeqCounter counter) {
		this.stressSensitive = stressSensitive;
		this.trace = trace;
		this.useTrust = useTrust;
		this.NORMALIZATION = useNorm;
		this.counter = counter;

		// Set up probabilistic memory
		this.useProbMem = useProbMem;
		this.probAmount = useProbMem ? probAmount : 0.0;

		// Other constants
		this.initScore = INIT_SCORE;
		this.smoothingMin = SMOOTHING_MIN;
		this.unknownWordScore = UNKNOWN_WORD_SCORE;

		// Set up decay on words
		if (decayAmount != 0.0) {
			Word.setDecay(true, decayAmount);
		}

		lexicon = new THashMap<String, Word>();
		time = 1;
		numTokens = 0;
		rand = new Random(0);
	}