/** Clears the various N-gram caches. */ private void clearCache() { for (int i = 0; i < loadedBigramBuffers.length; i++) { NGramBuffer buffer = loadedBigramBuffers[i]; if (buffer != null) { if (!buffer.getUsed()) loadedBigramBuffers[i] = null; // free the BigramBuffer else buffer.setUsed(false); } } loadedBigramBuffers = new NGramBuffer[unigrams.length]; for (int i = 2; i <= loader.getMaxDepth(); i++) { loadedNGramBuffers[i - 1] = new HashMap<WordSequence, NGramBuffer>(); } logger.info("LM Cache Size: " + ngramProbCache.size() + " Hits: " + ngramHits + " Misses: " + ngramMisses); if (clearCacheAfterUtterance) { ngramProbCache = new LRUCache<WordSequence, Float>(ngramCacheSize); } }
/** Clears the various N-gram caches. */ private void clearCache() { for (int i = 0; i < loadedBigramBuffers.length; i++) { NGramBuffer buffer = loadedBigramBuffers[i]; if (buffer != null) { if (!buffer.getUsed()) loadedBigramBuffers[i] = null; // free the BigramBuffer else buffer.setUsed(false); } } loadedBigramBuffers = new NGramBuffer[unigrams.length]; for (int i = 2; i <= loader.getMaxDepth(); i++) { loadedNGramBuffers[i - 1] = new HashMap<WordSequence, NGramBuffer>(); } logger.info("LM Cache Size: " + ngramProbCache.size() + " Hits: " + ngramHits + " Misses: " + ngramMisses); if (clearCacheAfterUtterance) { ngramProbCache = new LRUCache<WordSequence, Float>(ngramCacheSize); } }