Пример #1
0
        private void PerformNgram()
        {
            Tokenizer     objTokenize       = new Tokenizer();
            List <string> lstTokenizedWords = null;

            Concordenser             objConcord            = new Concordenser();
            List <ConcordOutputForm> lstconcordenserOutput = new List <ConcordOutputForm>();

            lstTokenizedWords = objTokenize.TokenizeWords_ConcordNgram(CompleteText);

            lstconcordenserOutput = objConcord.DoConcordence_New(Word, "3", "3", lstTokenizedWords);

            if (rbGramsBefore.Checked)
            {
                if (lstconcordenserOutput.Count > 0)
                {
                    rtbOnegram.Clear();
                    rtbBigram.Clear();
                    rtbTrigram.Clear();

                    label1.Text = "N - 1";
                    label2.Text = "N - 2";
                    label4.Text = "N - 3";

                    foreach (ConcordOutputForm output in lstconcordenserOutput)
                    {
                        string[] arr = output.LeftVariables.Split(' ');
                        rtbOnegram.SelectionColor = Color.Black;
                        rtbOnegram.SelectedText   = arr[2].ToString();
                        rtbOnegram.SelectionColor = Color.Red;
                        rtbOnegram.SelectedText   = output.keyWord + Environment.NewLine;

                        rtbBigram.SelectionColor = Color.Black;
                        rtbBigram.SelectedText   = arr[1] + " " + arr[2];
                        rtbBigram.SelectionColor = Color.Red;
                        rtbBigram.SelectedText   = output.keyWord + Environment.NewLine;

                        rtbTrigram.SelectionColor = Color.Black;
                        rtbTrigram.SelectedText   = arr[0] + " " + arr[1] + " " + arr[2];
                        rtbTrigram.SelectionColor = Color.Red;
                        rtbTrigram.SelectedText   = output.keyWord + Environment.NewLine;
                    }
                }

                if (!string.IsNullOrEmpty(OtherForm))
                {
                    foreach (string str in OtherForm.Split(','))
                    {
                        lstconcordenserOutput = objConcord.DoConcordence_New(str.Trim(), "3", "3", lstTokenizedWords);

                        if (lstconcordenserOutput.Count > 0)
                        {
                            foreach (ConcordOutputForm output in lstconcordenserOutput)
                            {
                                string[] arr = output.LeftVariables.Split(' ');
                                rtbOnegram.SelectionColor = Color.Black;
                                rtbOnegram.SelectedText   = arr[2];
                                rtbOnegram.SelectionColor = Color.Red;
                                rtbOnegram.SelectedText   = output.keyWord + Environment.NewLine;

                                rtbBigram.SelectionColor = Color.Black;
                                rtbBigram.SelectedText   = arr[1] + " " + arr[2];
                                rtbBigram.SelectionColor = Color.Red;
                                rtbBigram.SelectedText   = output.keyWord + Environment.NewLine;

                                rtbTrigram.SelectionColor = Color.Black;
                                rtbTrigram.SelectedText   = arr[0] + " " + arr[1] + " " + arr[2];
                                rtbTrigram.SelectionColor = Color.Red;
                                rtbTrigram.SelectedText   = output.keyWord + Environment.NewLine;
                            }
                        }
                    }
                }
            }
            else if (rbGramsAfter.Checked)
            {
                if (lstconcordenserOutput.Count > 0)
                {
                    rtbOnegram.Clear();
                    rtbBigram.Clear();
                    rtbTrigram.Clear();

                    label1.Text = "N + 1";
                    label2.Text = "N + 2";
                    label4.Text = "N + 3";

                    foreach (ConcordOutputForm output in lstconcordenserOutput)
                    {
                        string[] arr = output.RightVariables.Split(' ');

                        rtbOnegram.SelectionColor = Color.Red;
                        rtbOnegram.SelectedText   = output.keyWord;
                        rtbOnegram.SelectionColor = Color.Black;
                        rtbOnegram.SelectedText   = arr[0] + Environment.NewLine;


                        rtbBigram.SelectionColor = Color.Red;
                        rtbBigram.SelectedText   = output.keyWord;
                        rtbBigram.SelectionColor = Color.Black;
                        rtbBigram.SelectedText   = arr[0] + " " + arr[1] + Environment.NewLine;


                        rtbTrigram.SelectionColor = Color.Red;
                        rtbTrigram.SelectedText   = output.keyWord;
                        rtbTrigram.SelectionColor = Color.Black;
                        rtbTrigram.SelectedText   = arr[0] + " " + arr[1] + " " + arr[2] + Environment.NewLine;
                    }
                }

                if (!string.IsNullOrEmpty(OtherForm))
                {
                    foreach (string str in OtherForm.Split(','))
                    {
                        lstconcordenserOutput = objConcord.DoConcordence_New(str.Trim(), "3", "3", lstTokenizedWords);

                        if (lstconcordenserOutput.Count > 0)
                        {
                            foreach (ConcordOutputForm output in lstconcordenserOutput)
                            {
                                string[] arr = output.RightVariables.Split(' ');

                                rtbOnegram.SelectionColor = Color.Red;
                                rtbOnegram.SelectedText   = output.keyWord;
                                rtbOnegram.SelectionColor = Color.Black;
                                rtbOnegram.SelectedText   = arr[0].ToString() + Environment.NewLine;


                                rtbBigram.SelectionColor = Color.Red;
                                rtbBigram.SelectedText   = output.keyWord;
                                rtbBigram.SelectionColor = Color.Black;
                                rtbBigram.SelectedText   = arr[0] + " " + arr[1] + Environment.NewLine;


                                rtbTrigram.SelectionColor = Color.Red;
                                rtbTrigram.SelectedText   = output.keyWord;
                                rtbTrigram.SelectionColor = Color.Black;
                                rtbTrigram.SelectedText   = arr[0] + " " + arr[1] + " " + arr[2] + Environment.NewLine;
                            }
                        }
                    }
                }
            }
        }
        private void FnConcord()
        {
            Tokenizer     objTokenize       = new Tokenizer();
            List <string> lstTokenizedWords = null;

            Concordenser             objConcord            = new Concordenser();
            List <ConcordOutputForm> lstconcordenserOutput = new List <ConcordOutputForm>();

            lstTokenizedWords = objTokenize.TokenizeWords_ConcordNgram(CompleteText);

            string left = cmbLeftVar.Text.ToString();

            left = left.Substring(0, 1);
            string right = cmbRightVar.Text.ToString();

            right = right.Substring(0, 1);

            lstconcordenserOutput = objConcord.DoConcordence_New(Word, left, right, lstTokenizedWords);

            string alltText = string.Empty;

            if (string.IsNullOrEmpty(OtherForm))
            {
                alltText = Word;
            }
            else
            {
                alltText = Word + "," + OtherForm;
            }

            if (lstconcordenserOutput.Count > 0)
            {
                rtbConcord.Clear();

                rtbConcord.SelectionColor = Color.Blue;
                rtbConcord.SelectedText   = "சொற்சூழல் அடைவி : " + alltText + Environment.NewLine + Environment.NewLine;


                foreach (ConcordOutputForm output in lstconcordenserOutput)
                {
                    rtbConcord.SelectionColor = Color.Black;
                    rtbConcord.SelectedText   = output.LeftVariables;

                    rtbConcord.SelectionColor = Color.Red;
                    rtbConcord.SelectedText   = output.keyWord;

                    rtbConcord.SelectionColor = Color.Black;
                    rtbConcord.SelectedText   = output.RightVariables + Environment.NewLine;
                }
            }

            if (!string.IsNullOrEmpty(OtherForm))
            {
                foreach (string str in OtherForm.Split(','))
                {
                    lstconcordenserOutput = objConcord.DoConcordence_New(str.Trim(), left, right, lstTokenizedWords);

                    if (lstconcordenserOutput.Count > 0)
                    {
                        foreach (ConcordOutputForm output in lstconcordenserOutput)
                        {
                            rtbConcord.SelectionColor = Color.Black;
                            rtbConcord.SelectedText   = output.LeftVariables;

                            rtbConcord.SelectionColor = Color.Red;
                            rtbConcord.SelectedText   = output.keyWord;

                            rtbConcord.SelectionColor = Color.Black;
                            rtbConcord.SelectedText   = output.RightVariables + Environment.NewLine;
                        }
                    }
                }
            }
        }