public void FindWordsForFile(string[] _contentOfFile) { int o = 0; Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi()); for (o = 0; o < _contentOfFile.Length; o++) { Word _word = new Word(); string _wordfull = _contentOfFile[o]; //sırayla kelimeleri ek kök ayrımına sokmak gerekli bool existWordFlag = WordsOfFile.Exists(a => a.WFull.Equals(_wordfull, StringComparison.OrdinalIgnoreCase)); /*kelimeDenetle methodu, bir kelimenin doğru yazılıp yazılmadığını kontrol eder. Türkçe’de olmayan bir kelime ise “false” değeri döndürür.*/ if (zemberek.kelimeDenetle(_wordfull) && existWordFlag != true) { int wc = _contentOfFile.Where(a => a.Equals(_wordfull, StringComparison.OrdinalIgnoreCase)).Count(); //Kelimenin tekrarı int wo = o + 1; //Kelimenin metinde bulunma sırası var list = _contentOfFile.Where(a => a.Equals(_wordfull, StringComparison.OrdinalIgnoreCase)).ToList(); _word.Wcount = wc; _word.WFull = _wordfull; WordsOfFile.Add(_word); } } UniqueWordCount = WordsOfFile.Count; }
private void button2_Click(object sender, EventArgs e) { Zemberek sem = new Zemberek(new TurkiyeTurkcesi()); //var zemberek = new Zemberek(new TurkiyeTurkcesi()); //var suggestions = zemberek.oner(Metin); }
private void buttonFillListbox3_Click(object sender, EventArgs e) { Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi()); int i = 0; foreach (var item in listBoxLExi.Items) { if (i < 100) { string value = item.ToString().Trim(); if (!String.IsNullOrEmpty(value)) { if (zemberek.kelimeDenetle(value)) { listBoxSemiLexi.Items.Add(FindRoot(value)); } } i++; } else { break; } } MessageBox.Show("Bitti"); }
private string filtering(string Astr) { string filtered = ""; string checkedword = ""; Zemberek filter = new Zemberek(new TurkiyeTurkcesi()); Astr = Normalize(Astr); foreach (string word in Astr.Split(' ')) { if (filter.kelimeDenetle(word)) { checkedword = word; } else { String[] suggestions = filter.asciidenTurkceye(word); if (suggestions.Length > 0) { checkedword = suggestions[0]; } else { try { suggestions = filter.oner(word); } catch (System.NullReferenceException ex) { adderrorlog(ex.Message); } if (suggestions.Length > 0) { checkedword = suggestions[0]; } else { fresidue += word + " "; } } } Kelime[] solutions = filter.kelimeCozumle(checkedword); foreach (Kelime solution in solutions) { if (!filtered.Contains(solution.kok().icerik())) { filtered += solution.kok().icerik() + " "; } } } return(filtered); }
public static void KoklereAyir(List <List <string> > liste) // kayıtları kelimelere göre köklerine ayırır { Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi()); for (int i = 0; i < liste.Count; i++) { for (int j = 0; j < liste[i].Count - 1; j++) { if (zemberek.kelimeDenetle(liste[i][j].ToString())) { liste[i][j] = zemberek.kelimeCozumle(liste[i][j].ToString())[0].kok().icerik(); } } } }
public void FindStempForWords() { int o = 0; Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi()); for (o = 0; o < WordsOfFile.Count; o++) { Word _word = new Word(); string _wordfull = WordsOfFile[o].WFull; //sırayla kelimeleri ek kök ayrımına sokmak gerekli int c = 0; Kelime[] CozumluKelime = zemberek.kelimeCozumle(_wordfull); EkYonetici sozluk = zemberek.dilBilgisi().ekler(); string kok = string.Empty; string tip = string.Empty; List <string> ektipler = new List <string>(); if (CozumluKelime.Length > 0) { c = CozumluKelime.Count() - 1; Kok _wstemp = CozumluKelime[c].kok(); List <Ek> leks = CozumluKelime[c].ekler(); for (int e = 0; e < leks.Count; e++) { string ektip = leks[e].ad(); ektipler.Add(ektip); } kok = _wstemp.icerik(); tip = leks[0].ad(); } else { kok = _wordfull; tip = "ISIM_KOK"; } WordsOfFile[o].WType = tip; //Kök tipi WordsOfFile[o].WStemp = kok; //kökün ne olduğu WordsOfFile[o].Wadds.AddRange(ektipler); //eklenen eklerin listesi tiple birlikte } StemTypeBrief = WordsOfFile.GroupBy(x => x.WType) .Select(n => new Stem { Type = n.Key, Count = n.Count() } ).ToList(); }
public static void KoklereAyir(List <List <string> > liste) // kayıtları kelimelere göre köklerine ayırır { Console.Write("*Zemberek uygulamasi yardimiyla kelimeler koklerine ayriliyor..."); Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi()); for (int i = 0; i < liste.Count; i++) { for (int j = 0; j < liste[i].Count - 1; j++) { if (zemberek.kelimeDenetle(liste[i][j].ToString())) { liste[i][j] = zemberek.kelimeCozumle(liste[i][j].ToString())[0].kok().icerik(); } } } Console.WriteLine("(Tamamlandı!)"); }
public String FindRoot(string text) { String kok = ""; Zemberek zemberek = new Zemberek(new TurkiyeTurkcesi()); if (!String.IsNullOrEmpty(text)) { if (zemberek.kelimeDenetle(text)) { kok = zemberek.kelimeCozumle(text)[0].kok().icerik(); } } return(kok); }
public static List <DirectoryFileInfo> GetSubDatasets(DirectoryFolderInfo subFolder) { List <DirectoryFileInfo> result = new List <DirectoryFileInfo>(); var zemberek = new Zemberek(new TurkiyeTurkcesi()); try { string path = @"" + subFolder.Path; string[] subFilesInCategory = GetSubFiles(path); foreach (string item in subFilesInCategory) { DirectoryFileInfo fi = new DirectoryFileInfo(); fi.Path = item; fi.Name = item.Substring(item.LastIndexOf('\\') + 1); if (fi.Name.Contains("Kopya")) { fi.Name = fi.Name.Replace("\u008d", ""); } fi.Category = subFolder.Name; fi.Content = ""; string[] txtFile = StringHelper.GetOnlyLetterAndSpace(File.ReadAllText(@"" + item, Encoding.GetEncoding("iso-8859-9"))).Split(' '); foreach (string word in txtFile) { if (word != "") { string strRoot = word; if (zemberek.kelimeAyristir(word).Count > 0) { strRoot = zemberek.kelimeAyristir(word)[0][0]; } fi.Content += strRoot + " "; } } result.Add(fi); } return(result); } catch (Exception e) { Console.WriteLine("HATA ! : " + e.Message); return(result); } }
private void FormMain_Load(object sender, EventArgs e) { string test = "Nisanur geldi."; Zemberek zb = new Zemberek(new TurkiyeTurkcesi()); var item = zb.cozumleyici().cozumle(test); try { comboBooks.SelectedIndex = 0; LblFlag.Text = "Belirtilen dosyalar okunmaktadır."; string filename = "HarryPotterKitap1Tr.txt"; zpContextTr = ReadAndLoadFile(filename); zipfProcessTr = new ZipfProcess(); zipfProcessTr.FilePath = filename; PrepareAndApplyZipfLaw(zipfProcessTr, zpContextTr); // PdfHelper.WriteWordsToPdf(zipfProcessTr.WordsOfFile, "KelimeAnaliziTr.pdf"); LoadListbox(zipfProcessTr); NewChartLoadByA(zipfProcessTr); } catch (Exception ex) { MessageBox.Show("İstenmeyen bir hata ile karşılaşıldı " + ex.Message); } }
public override void once() { base.once(); zemberek = new Zemberek(new TurkiyeTurkcesi()); }
static void DosyaOkuma() { int i; string[] path = { @"c:\metinler\Pozitif\", @"c:\metinler\Negatif\", @"c:\metinler\Etkisiz\", @"c:\metinler\Kontrol\" }; for (i = 0; i < path.Length; i++) { Dictionary <string, Dictionary <string, int> > tempDictionary = new Dictionary <string, Dictionary <string, int> >(); DirectoryInfo di = new DirectoryInfo(path[i]); FileInfo[] files = di.GetFiles(); foreach (FileInfo fi in files) { Deasciifier deasciifier = new Deasciifier(); var zemberek = new Zemberek(new TurkiyeTurkcesi()); Dictionary <string, int> geciciKelimeler = new Dictionary <string, int>(); FileStream fs = new FileStream(path[i] + fi, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("iso-8859-9"), false); string yazi = sr.ReadLine(); yazi = yazi.ToLower(); while (yazi != null) { char[] karakterler = { ' ', ',', '.', '?', '!', ';', ':', '\n', '\t', '\"', '\'', '(', ')', '#', '^', '@', '+', '-', '*', '/', '’', '_', '-' }; string[] gecici = yazi.Split(karakterler); foreach (string s in gecici) { #region Turkcelestirmeden /* * if (!geciciKelimeler.ContainsKey(s)) * geciciKelimeler.Add(s, 1); * else * geciciKelimeler[s]++; */ #endregion #region Turkcelestirerek if (zemberek.kelimeDenetle(s)) { if (!geciciKelimeler.ContainsKey(s)) { geciciKelimeler.Add(s, 1); } else { geciciKelimeler[s]++; } } else { string duzelt = deasciifier.DeAsciify(s); if (zemberek.kelimeDenetle(duzelt)) { if (!geciciKelimeler.ContainsKey(duzelt)) { geciciKelimeler.Add(duzelt, 1); } else { geciciKelimeler[duzelt]++; } } else { var oneriler = zemberek.oner(s); if (oneriler.Any()) { duzelt = zemberek.oner(s)[0]; if (!geciciKelimeler.ContainsKey(duzelt)) { geciciKelimeler.Add(duzelt, 1); } else { geciciKelimeler[duzelt]++; } } } } #endregion } yazi = sr.ReadLine(); } sr.Close(); fs.Close(); tempDictionary.Add(fi.ToString(), geciciKelimeler); } siniflar.Add(path[i].Split('\\')[2], tempDictionary); } }
public zemberek_id() { zemberek = new Zemberek(tr); }
public void Setup() { zemberek = new Zemberek(new TurkiyeTurkcesi()); }