C# Türkçe alfabe ile anlamlı kelime tespiti nasıl yapılır?

Emirhan2626

Decapat
Katılım
23 Temmuz 2023
Mesajlar
33
Daha fazla  
Cinsiyet
Erkek
C# ile düzgün kelimeleri secip filtrelemek.

Elimde 60 adet kelime var. Bunlardan 1’i anlamlı, normal bir Türkçe kelime (örnek: “armut”)
59’u ise anlamsız, rastgele harflerden oluşan kelimeler (örnek: “SIEWK”).
Bu kelimeler uygulamayı her başlattığımda farklı şekilde çıkıyor; yani 1 anlamlı kelime ve 59 anlamsız kelime değişiyor.
Bu kelimelerden anlamlı olanı C# ile nasıl tespit edebilirim?
 
Bu gorundugu kadar kolay bir is degil, agglutinative dillerde ( Turkce gibi ) ciddi NLP calismasi yapmak gerekir. Cunku eklemeler yaparak cok fazla kelime uretebiliyoruz.

Basitce elinde bir kelime sozlugu olmali, kelimenin sozlukte var olup olmadigini anlamalisin.

Daha sonra da kurallar ve morfolojik analiz yapilmali. CS alaninda bunun teknik ismi FST ( Finite-state transducer - Wikipedia )

Basitce yaptigi sey bir grup string ile ikinci grup string arasi iliskiyi belirlemek. Bu sekilde kelime gruplarinin alacagi ekleri, cumle yapisini morfolojik olarak iliskilendirebilirsin.

"Ben size gecen gun bos yere elma aldirttirilmayacak de mimistim?" cumlesindeki "aldirttirilmayacak" dogru, "de mimistim" hatali cunku soru eki olmamasi gereken yerde. Bunlari morfolojik analizle yapisal olarak anlarsin.

Dedigim gibi NLP zor bir konu; elinde buyuk train datasi ve kural setlerini iceren calismalar olmasi gerekiyor ya da sen kendin bunlari olusturacaksin. Sozlukten bakayim, anlamli mi karar vereyim gibi bir mekanizma yok. Kelimeleri parcalayip kokunu bulma, gramer ve eklenti analizleri, N-Gram analizleri gibi pek cok islem var dogal bir dilin dogal dilde anlamli olup olmadigini algoritmik olarak anlayabilmek icin.
 

Bayağı detaylı yazdığınız icin şimdiden teşekkür ederim hocam bilgim o kadar yok ben basit çözümü vardır diye düşünmüştüm bir kişinin önerisiyle yapay zekadan tahmini olarak sonuç cıkarması icin yardım aldım sanırsam çalışıyor test ediyorum iyi akşamlar elinize sağlık.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…