internal void ConstructTextModel(Lx.Text text, int chainLength) { if (text == null || chainLength < 1) { return; } MainWindow.Instance.ParseTextModel.IsEnabled = false; MainWindow.Instance.GenerateLines.IsEnabled = false; MainWindow.Instance.BackgroundProgress.Maximum = text.Count; TextModel = new Lx.FiniteStateAutomoton <string>(); var arguments = new TextModelArguments() { Model = TextModel, Text = text, ChainLength = chainLength }; var worker = new BackgroundWorker(); worker.DoWork += TextModel_DoWork; worker.ProgressChanged += MainWindow.Instance.UpdateProgressBar; worker.RunWorkerCompleted += TextModel_WorkCompleted; worker.WorkerReportsProgress = true; worker.RunWorkerAsync(arguments); }
public void ConstructWordModel(Lx.Lexicon lexicon, int ngramLength) { if (lexicon == null || ngramLength < 1) { return; } MainWindow.Instance.ParseNgrams.IsEnabled = false; MainWindow.Instance.GenerateWords.IsEnabled = false; MainWindow.Instance.BackgroundProgress.Maximum = lexicon.Count; WordModel = new Lx.FiniteStateAutomoton <Lx.Grapheme>(); var arguments = new WordModelArguments() { Model = WordModel, Lexicon = lexicon, NgramLength = ngramLength }; var worker = new BackgroundWorker(); worker.DoWork += WordModel_DoWork; worker.ProgressChanged += MainWindow.Instance.UpdateProgressBar; worker.RunWorkerCompleted += WordModel_WorkCompleted; worker.WorkerReportsProgress = true; worker.RunWorkerAsync(arguments); }
internal void UpdateNgramGrid(Lx.FiniteStateAutomoton <Lx.Grapheme> source) { ChangeMode(GridMode.Ngrams); var view = NgramView.GetNgramView(source); NodeList.ItemsSource = view; }
internal NgramView(Lx.FiniteStateAutomoton <Lx.Grapheme> stateMachine) { if (stateMachine == null) { return; } StateMachine = stateMachine; foreach (var item in StateMachine.Transitions.OrderBy(t => t.Key.ToString())) { var viewItem = AddNgramViewItem(item.Key); foreach (var transition in item.Value.OrderBy(t => t.Key.ToString())) { viewItem.AddTransitionViewItem(transition.Value); } } }
public static NgramView GetNgramView(Lx.FiniteStateAutomoton <Lx.Grapheme> stateMachine) { var view = new NgramView(stateMachine); return(view); }