public void CreateIndex() { var environment = new TestEnvironment(); var wordScorePairs = new[] { new WordScorePair("onea", 0.2), new WordScorePair("oneb", 0.3), new WordScorePair("onec", 0.1), new WordScorePair("zzzz", 1), new WordScorePair("!!!", 1) }; var index = WordIndexFactory.CreateFromWordCountListJava(environment, wordScorePairs); var results = index.Query("one"); using (var enumerator = results.GetEnumerator()) { Assert.IsTrue(enumerator.MoveNext(), "First item"); Assert.AreEqual("oneb", enumerator.Current, "0.3 weighted"); Assert.IsTrue(enumerator.MoveNext(), "Second item"); Assert.AreEqual("onea", enumerator.Current, "0.2 weighted"); Assert.IsTrue(enumerator.MoveNext(), "Third item"); Assert.AreEqual("onec", enumerator.Current, "0.1 weighted"); Assert.IsFalse(enumerator.MoveNext(), "That's all!"); } }
public void CheckLookup() { var environment = new TestEnvironment(); var index = WordIndexFactory.CreateFromWordCountList(environment, WordScorePairEnumerable.Instance); var results = index.Query("cloc"); Assert.IsTrue(results.Count() != 0); }
public void CheckLookupWithBrokenCache() { var environment = new TestEnvironment(); using (var stream = environment.CreateStaticDictionaryCache()) { // Empty, invalid cache! } var index = WordIndexFactory.CreateFromWordCountList(environment, WordScorePairEnumerable.Instance); var results = index.Query("cloc"); Assert.IsTrue(results.Count() != 0); }
public void FindTheClock() { var environment = new TestEnvironment(); var wordScorePairs = new[] { new WordScorePair("clock", 1), new WordScorePair("onea", 0.2), new WordScorePair("oneb", 0.3), new WordScorePair("onec", 0.1), new WordScorePair("zzzz", 1), new WordScorePair("!!!", 1) }; var index = WordIndexFactory.CreateFromWordCountList(environment, wordScorePairs); var results = index.Query("clo"); Assert.IsTrue(results.Count() == 1); var resultsCloc = index.Query("cloc"); Assert.IsTrue(resultsCloc.Count() == 1); }
internal static void UpdatePredictor(Predictor predictor) { if (_luceneWordSuggester == null) { var index = WordIndexFactory.CreateFromWordCountList(predictor.Environment, WordScorePairEnumerable.Instance); _luceneWordSuggester = new LuceneWordSuggester(index); } if (_historicSuggester == null) { _historicSuggester = PredictionDictionary.Create(predictor.Environment); } var newHistory = predictor.ConsumeNewHistory(); var updated = false; foreach (var utterance in newHistory) { updated = true; _historicSuggester.AddRawPhrases(utterance); } if (updated) { using (var stream = predictor.Environment.CreateDynamicDictionaryCache()) { _historicSuggester.Save(stream); } } var historicWithFallbackSuggester = new CompoundWordSuggester(_historicSuggester, SingleLetterSuggester.Instance); var wordSuggester = CreateCompoundWordSuggester(historicWithFallbackSuggester); predictor.UpdateConfiguration(wordSuggester, _historicSuggester); }
static AmbiguousWordPrediction() { _vocabulary = new Dictionary <string, float>(); WordIndexFactory.ExtendWithDictinoaryWords(_vocabulary, WordScorePairEnumerable.Instance); }
public void NGramJavaTest() { var environment = new TestEnvironment(); NGramCheck((w) => WordIndexFactory.CreateFromWordCountListJava(environment, w)); }