Example #1
0
        static void UpdatePredictor(Predictor predictor)
        {
            var predictorName = predictor.Environment.PredictionSettings.Predictor;
            var setting       = Predictors.FirstOrDefault((s) => s.Key == predictorName) ?? Predictors[0];

            setting.Updater(predictor);
        }
Example #2
0
        public static IPredictor Create(IPredictionEnvironment environment)
        {
            LayeredPredictorFactory.Reset();

            if (environment != environmentConfigured)
            {
                environmentConfigured = environment;

                environment.PredictionSettings.PredictorNudger.Values = Predictors;
                environment.PredictionSettings.PropertyChanged       += (s, e) => environment.PredictionSettings.PredictorNudger.Values = Predictors;
            }

            var innerPredictor = new Predictor(environment, NullWordSuggester.Instance, NullPhraseSuggester.Instance, UpdatePredictor);

            innerPredictor.QueueUpdate();

            var middlePredictor = new NoveltyWordPredictor(innerPredictor);

            var outerPredictor = new AmbiguousWordPredictor(middlePredictor);

            return(outerPredictor);
        }
        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);
        }
Example #4
0
 static void SetNullPredictor(Predictor predictor)
 {
     predictor.UpdateConfiguration(NullWordSuggester.Instance, NullPhraseSuggester.Instance);
 }