Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        internal void UpdateNgramGrid(Lx.FiniteStateAutomoton <Lx.Grapheme> source)
        {
            ChangeMode(GridMode.Ngrams);

            var view = NgramView.GetNgramView(source);

            NodeList.ItemsSource = view;
        }
Example #4
0
            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);
                    }
                }
            }
Example #5
0
            public static NgramView GetNgramView(Lx.FiniteStateAutomoton <Lx.Grapheme> stateMachine)
            {
                var view = new NgramView(stateMachine);

                return(view);
            }