Example #1
0
        void readAndHandle(string num) //dosyayı okuyup gerekli işlemlerden sonra frekans sayılarını hesaplayıp listeye ekler.
        {
            Console.WriteLine();
            Console.Write("Reading folder " + num + "...");

            foreach (string file in Directory.EnumerateFiles(num))
            {
                var tokenizedStrings  = tokenizer(File.ReadAllText(file).ToLower(new CultureInfo("tr-TR", false)));
                var stopWordedStrings = stopWords(tokenizedStrings);
                var stemmedStrings    = stemming(stopWordedStrings);

                if (num != "metinler")
                {
                    foreach (string i in tokenizedStrings)
                    {
                        GuessWord g = guessWords.Find(x => x.name == i && x.className == num);

                        if (g == null)
                        {
                            g = new GuessWord(i, num);
                            guessWords.Add(g);
                        }
                        else
                        {
                            g.incrementCount();
                        }
                    }
                }

                if (num != "metinler")
                {
                    Column column = new Column(stemmedStrings, num);
                    list.Add(column);

                    foreach (string i in stemmedStrings) //unique olarak geçen kelimeleri toplamak
                    {
                        Word a = totalWords.Find(x => x.name == i);
                        if (a == null)
                        {
                            a = new Word(i);
                            totalWords.Add(a);
                        }
                    }
                }
                else
                {
                    Test test = new Test(stemmedStrings, num);
                    testData.Add(test);
                }
            }

            Console.Write(" Ok.");
            Console.WriteLine();
        }
Example #2
0
        static void getWordFromUser() //kelimenin tahmini için
        {
            Console.WriteLine();
            Console.WriteLine("Tahmin için kelime yazın yada çıkmak için 0 yazın: ");
            string word = Console.ReadLine();

            if (word == "0")
            {
                Environment.Exit(0);
            }

            int    theBiggest      = 0;
            string theBiggestClass = "1";
            double p = 0;

            for (int i = 1; i < 4; i++) //tüm classlar gezilir ve en fazla sayıda olandan tahmin yapılır.
            {
                GuessWord g = Data.guessWords.Find(x => x.name == word && x.className == $"{i}");
                if (g != null && g.count > theBiggest)
                {
                    theBiggest      = g.count;
                    theBiggestClass = g.className;
                }
            }

            p = theBiggest * 1.0 / Data.guessWords.Count;
            if (theBiggest == 0)
            {
                Console.WriteLine("Kelime için tahmin yapılamadı.");
            }
            else
            {
                Console.WriteLine(Accord.numberToText(int.Parse(theBiggestClass) - 1));
                Console.WriteLine($"p={p}");
            }


            getWordFromUser();
        }