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 şey 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.