Example #1
0
        public ActionResult Index(string gelenUrl)
        {
            WebClient client = new WebClient();
            string    url    = gelenUrl;

            Uri urlDomain = new Uri(url);


            string downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir

            byte[] bytes = Encoding.Default.GetBytes(downloadString);
            downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan.

            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(downloadString);             //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır.

            int cumleSayisi = 0;                          //TF-IDF hesaplamaları için  cümle sayılarının tutulacağı değişken.

            var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması.

            List <string> kelimeler = new List <string>();

            HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici();

            htmlIsleyici1.htmlIsle(htmlDoc);
            kelimeler   = htmlIsleyici1.kelimeler;
            cumleSayisi = htmlIsleyici1.cumleSayisi;

            KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici();

            kelimeler = kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain);

            List <WordAndFreq> kelimeFrekans = new List <WordAndFreq>();

            KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici();

            kelimeFrekans = kelimeFrekansYapici1.KelimeFrekansYap(kelimeler);


            TfIdfCalculator agirlikHesap = new TfIdfCalculator();

            List <WordAndWeight> weihtedKelimeler = new List <WordAndWeight>();

            AgirlikliKelimeListesi agirlikliKelimeListesi1 = new AgirlikliKelimeListesi();

            weihtedKelimeler = agirlikliKelimeListesi1.AgirlikliListeYap(kelimeFrekans, kelimeler.Count, cumleSayisi);

            AnahtarKelimeBelirleyici anahtarKelimeBelirleyici1 = new AnahtarKelimeBelirleyici();
            List <WordAndFreq>       anahtarKelimeler          = new List <WordAndFreq>();

            anahtarKelimeler = anahtarKelimeBelirleyici1.AnahtarKelimeBelirle(weihtedKelimeler, kelimeFrekans);

            Asama2ViewModel asama2ViewModel = new Asama2ViewModel();

            asama2ViewModel.KeywordListesi = anahtarKelimeler;

            //return View(asama2ViewModel);
            return(RedirectToAction("Index", "Asama3", new { gelenUrl = url }));
        }
Example #2
0
        public ActionResult Index(string gelenUrl)
        {
            WebClient client = new WebClient();
            string    url    = gelenUrl;

            Uri urlDomain = new Uri(url);

            Console.WriteLine("Domain part : " + urlDomain.Host); //Domain ayrıştırır



            string downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir

            byte[] bytes = Encoding.Default.GetBytes(downloadString);
            downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan.

            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(downloadString);             //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır.

            int cumleSayisi = 0;                          //TF-IDF hesaplamaları için  cümle sayılarının tutulacağı değişken.

            var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması.

            List <string> kelimeler = new List <string>();


            HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici();

            htmlIsleyici1.htmlIsle(htmlDoc);
            kelimeler   = htmlIsleyici1.kelimeler;
            cumleSayisi = htmlIsleyici1.cumleSayisi;



            KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici();

            kelimeler = kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain);



            List <WordAndFreq> kelimeFrekans = new List <WordAndFreq>();

            KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici();

            kelimeFrekans = kelimeFrekansYapici1.KelimeFrekansYap(kelimeler);

            Asama1ViewModel asama1ViewModel = new Asama1ViewModel();

            asama1ViewModel.FrekansListesi = kelimeFrekans;

            return(View(asama1ViewModel));
        }
Example #3
0
        public double BenzerlikBul(string gelenUrl, string gelenUrl2)
        {
            double sonuc = 0;

            WebClient client = new WebClient();
            string    url    = gelenUrl;
            string    url2   = gelenUrl2;

            Uri urlDomain  = new Uri(url);
            Uri urlDomain2 = new Uri(url2);



            string downloadString  = "";
            string downloadString2 = "";

            try
            {
                downloadString  = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir
                downloadString2 = client.DownloadString(url2);
            }
            catch
            {
            }


            byte[] bytes = Encoding.Default.GetBytes(downloadString);
            downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan.
            byte[] bytes2 = Encoding.Default.GetBytes(downloadString2);
            downloadString2 = Encoding.UTF8.GetString(bytes2);


            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(downloadString); //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır.
            var htmlDoc2 = new HtmlDocument();

            htmlDoc2.LoadHtml(downloadString2);

            int cumleSayisi  = 0; //TF-IDF hesaplamaları için  cümle sayılarının tutulacağı değişken.
            int cumleSayisi2 = 0;

            var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması.

            List <string> kelimeler  = new List <string>();
            List <string> kelimeler2 = new List <string>();

            HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici();

            htmlIsleyici1.htmlIsle(htmlDoc);
            kelimeler   = htmlIsleyici1.kelimeler;
            cumleSayisi = htmlIsleyici1.cumleSayisi;
            HtmlIsleyici htmlIsleyici2 = new HtmlIsleyici();

            htmlIsleyici2.htmlIsle(htmlDoc2);
            kelimeler2   = htmlIsleyici2.kelimeler;
            cumleSayisi2 = htmlIsleyici2.cumleSayisi;


            KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici();

            kelimeler = kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain);
            KelimeDuzeltici kelimeDuzeltici2 = new KelimeDuzeltici();

            kelimeler2 = kelimeDuzeltici2.kelimeDuzelt(kelimeler2, urlDomain2);

            List <WordAndFreq> kelimeFrekans  = new List <WordAndFreq>();
            List <WordAndFreq> kelimeFrekans2 = new List <WordAndFreq>();


            KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici();

            kelimeFrekans = kelimeFrekansYapici1.KelimeFrekansYap(kelimeler);
            KelimeFrekansYapici kelimeFrekansYapici2 = new KelimeFrekansYapici();

            kelimeFrekans2 = kelimeFrekansYapici2.KelimeFrekansYap(kelimeler2);

            TfIdfCalculator agirlikHesap  = new TfIdfCalculator();
            TfIdfCalculator agirlikHesap2 = new TfIdfCalculator();

            List <WordAndWeight> weihtedKelimeler  = new List <WordAndWeight>();
            List <WordAndWeight> weihtedKelimeler2 = new List <WordAndWeight>();

            AgirlikliKelimeListesi agirlikliKelimeListesi1 = new AgirlikliKelimeListesi();
            AgirlikliKelimeListesi agirlikliKelimeListesi2 = new AgirlikliKelimeListesi();

            weihtedKelimeler  = agirlikliKelimeListesi1.AgirlikliListeYap(kelimeFrekans, kelimeler.Count, cumleSayisi);
            weihtedKelimeler2 = agirlikliKelimeListesi2.AgirlikliListeYap(kelimeFrekans2, kelimeler2.Count, cumleSayisi2);

            AnahtarKelimeBelirleyici anahtarKelimeBelirleyici1 = new AnahtarKelimeBelirleyici();
            List <WordAndFreq>       anahtarKelimeler          = new List <WordAndFreq>();

            anahtarKelimeler = anahtarKelimeBelirleyici1.AnahtarKelimeBelirle(weihtedKelimeler, kelimeFrekans);
            AnahtarKelimeBelirleyici anahtarKelimeBelirleyici2 = new AnahtarKelimeBelirleyici();
            List <WordAndFreq>       anahtarKelimeler2         = new List <WordAndFreq>();

            anahtarKelimeler2 = anahtarKelimeBelirleyici2.AnahtarKelimeBelirle(weihtedKelimeler2, kelimeFrekans2);
            KosinusBenzerlik kosinusBenzerlik = new KosinusBenzerlik();

            sonuc = kosinusBenzerlik.BenzerlikBul(anahtarKelimeler, anahtarKelimeler2);
            return(sonuc);
        }
Example #4
0
        static void Main(string[] args)
        {
            WebClient client = new WebClient();
            string    url    = "https://tr.wikipedia.org/wiki/Anasayfa";

            Uri urlDomain = new Uri(url);

            Console.WriteLine("Domain part : " + urlDomain.Host); //Domain ayrıştırır

            string aranacak = urlDomain.Host;

            Console.WriteLine("Aranacak------------>" + aranacak);

            string downloadString = client.DownloadString(url);//parametre olarak gelcek -- HTML olarak content indirilir

            byte[] bytes = Encoding.Default.GetBytes(downloadString);
            downloadString = Encoding.UTF8.GetString(bytes); //indirilen HTML utf-8 e çevrildi. Yapılmasa da olur zira ingilizce yaptık sonradan.

            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(downloadString);             //Oluşturulan HtmlDocument tipindeki veriye indirilen html içeriği atanır.

            int cumleSayisi = 0;                          //TF-IDF hesaplamaları için  cümle sayılarının tutulacağı değişken.

            var stopWords = StopWords.GetStopWords("en"); // Metin işlenirken yararı olmayacak kelimelerin ayıklanması adına ingilizce stopwordsun ilgili değişkene atanması.

            List <string> kelimeler = new List <string>();

            if (htmlDoc.DocumentNode.SelectNodes("//a[@href]") != null)
            {
                foreach (HtmlNode node in htmlDoc.DocumentNode.SelectNodes("//a[@href]"))
                {
                    string hrefValue = node.GetAttributeValue("href", string.Empty);

                    if (hrefValue.Contains(aranacak))
                    {
                        Console.WriteLine(hrefValue);
                    }
                }
            }


            //HtmlIsleyici htmlIsleyici1 = new HtmlIsleyici();
            //htmlIsleyici1.htmlIsle(htmlDoc);
            //kelimeler = htmlIsleyici1.kelimeler;
            //cumleSayisi = htmlIsleyici1.cumleSayisi;



            //KelimeDuzeltici kelimeDuzeltici1 = new KelimeDuzeltici();
            //kelimeler=kelimeDuzeltici1.kelimeDuzelt(kelimeler, urlDomain);



            //List<WordAndFreq> kelimeFrekans = new List<WordAndFreq>();

            //KelimeFrekansYapici kelimeFrekansYapici1 = new KelimeFrekansYapici();
            //kelimeFrekans=kelimeFrekansYapici1.KelimeFrekansYap(kelimeler);



            //Console.WriteLine("Kelimeler son "+kelimeler.Count);

            //Console.WriteLine("Cümle sayısı: " + cumleSayisi);



            //Console.WriteLine("--------------=======================SIRALI===================----------------------");

            //foreach (var item in kelimeFrekans)
            //{
            //    Console.WriteLine(item.Word + " " + item.Frequency);
            //}

            //TfIdfCalculator agirlikHesap = new TfIdfCalculator();

            //List<WordAndWeight> weihtedKelimeler = new List<WordAndWeight>();

            //AgirlikliKelimeListesi agirlikliKelimeListesi1 = new AgirlikliKelimeListesi();

            //weihtedKelimeler = agirlikliKelimeListesi1.AgirlikliListeYap(kelimeFrekans, kelimeler.Count, cumleSayisi);



            //Console.WriteLine("Agirliklar belli oldu-------------------------------");

            //foreach (var item in weihtedKelimeler)
            //{
            //    Console.WriteLine(item.Word+"---------------"+item.Weight);
            //}
            //Console.WriteLine("??????????????????????????ANAHTAR KELİMELER???????????????????????????????");
            //AnahtarKelimeBelirleyici anahtarKelimeBelirleyici1 = new AnahtarKelimeBelirleyici();
            //List<WordAndFreq> anahtarKelimeler = new List<WordAndFreq>();
            //anahtarKelimeler = anahtarKelimeBelirleyici1.AnahtarKelimeBelirle(weihtedKelimeler, kelimeFrekans);
            //foreach (var item in anahtarKelimeler)
            //{
            //    Console.WriteLine(item.Word+ " ----- "+ item.Frequency);
            //}

            Console.ReadLine();
        }