public void yapim_eklerini_sozluge_ekle(string word) { Kelime[] cozumler = zemberek.kelimeCozumle(word); foreach (Kelime kelime_ in cozumler) { //Mevcut Kelimenin Kökü Kok kok = kelime_.kok(); List <net.zemberek.yapi.ek.Ek> eklerlistesi = new List <net.zemberek.yapi.ek.Ek>(); for (int i = 0; i < kelime_.ekSayisi(); i++) { //Kelime kelime = cozumler[0]; //Kok kok = (Kok)zemberek.dilBilgisi().kokler().kokBul("koyun")[0]; //String yeni = zemberek.kelimeUret(kok, kelime.ekler()); // eklerlistesi.Add(kelime_.ekDizisi()[i]); // Response.Write("<br>" + kelime_.ekDizisi()[i]); if (kelime_.ekDizisi()[i].ToString().Contains("BULUNMA_LIK") || kelime_.ekDizisi()[i].ToString().Contains("BULUNMA_LI") || kelime_.ekDizisi()[i].ToString().Contains("DURUM_LIK") || kelime_.ekDizisi()[i].ToString().Contains("ILGI_CI") || kelime_.ekDizisi()[i].ToString().Contains("YOKLUK_SIZ")) { string yeni_kelime = zemberek.kelimeUret(kok, eklerlistesi); //Response.Write("<br>" + yeni_kelime); //if (zemberek.dilBilgisi().kokler().kokBul(yeni_kelime, KelimeTipi.ISIM).ToString() != "") Kelime[] cozumler2 = zemberek.kelimeCozumle(yeni_kelime); //for döngüsü açıp çözümler arasında içerik kök ile yeni_kelimenin uyumunu kontrol etmek bool varmi = false; foreach (Kelime kelime2_ in cozumler2) { //Mevcut Kelimenin Kökü Kok kok2 = kelime2_.kok(); if (kok2.icerik() == yeni_kelime) { varmi = true; } } //Yoksa eklemeyi yap varsa eklemeden devam et if (!varmi) { zemberek.dilBilgisi().kokler().ekle(new Kok(yeni_kelime, KelimeTipi.ISIM));//yeni kelime sistemde } } } } }
public static List <string> KelimelerGetir(string sKelime) { Kok kok; List <Ek> ekler; List <string> sKelimeler = new List <string>(); string sYeniKelime; Kelime[] cozumler = Cozumle(sKelime); foreach (Kelime cozum in cozumler) { kok = cozum.kok(); ekler = EkGetir(cozum); sKelimeler.Add(kok.icerik()); if (ekler.Count > 0) { sYeniKelime = zZemberek.kelimeUret(kok, ekler); sKelimeler.Add(sYeniKelime); } } return(sKelimeler); }