Simurg Sunum Dosyası
Simurg Tanıtım Videosu
Zaman zaman hepimiz yazı yazarız. Bu, kimi zaman bir makale kimi zamansa bir elektronik posta olur. Yazarken kimi yerde bilmeden hatalar yapar, kimi yerdeyse doğru sandığımız yapıları kullanırız. Bu tür durumların önüne geçmek için ise bir yazım yardımcısı gereksinimi hissederiz.
Simurg işte tam da o gereksinimi hissettiğimiz anda metinlerimizi düzenlemek için CLUTCH Yazılım Ekibi tarafından oluşturuldu.
NOT: Simurg'a verilen girdilerin Türkçe noktalama işareti kurallarına uygun olması gerekmektedir. Örnek:
Uzun süredir bu projede çalıştım (YANLIŞ)
Uzun süredir bu projede çalıştım. (DOĞRU)
$ git clone https://github.com/clutchsoftware/Simurg.git
$ cd Simurg
$ chmod +x script.sh
$ ./script.sh
➤ Temel Fonksiyonlar
- Eş Anlamlıyı Getir
- Doğru Bilinen Yanlışları Gör
- Kelime Kökeni Sorgula
- Etken Edilgen Çatı Uyumsuzluğunu Farket
- Özne Yüklem İlişkisini Gözden Geçir
- Birleşik Kelimeleri Kopar
➤ Yardımcı Fonksiyonlar
Metinlerimizi oluştururken kelime dağarcığımızın yetersizliği nedeniyle bazı kelimeleri birden fazla kez kullanabiliriz. Bu kullanım fazlalığı ise metin içindeki akışı bozabilir. Bozulan akışı düzeltmek için kelimelerin eş anlamlılarına hakim olmamız gerekir. Bu gereksinimi ortadan kaldırmak için ise Simurg'un Eş Anlamlıyı Getir fonksiyonunu geliştirdik.
Örnek metin:
Öğrenci sınavın son sorusundaydı ama ne yapacağı hakkında en ufak fikri yoktu. Öğrenci son bir çırpınış sergileyerek arkadaşıyla göz göze gelmeye çalıştı.
from EsAnlamli import es_anlamli_kelimeler
es_anlamli_kelime_listesi = es_anlamli_kelimeler("öğrenci")
print(es_anlamli_kelime_listesi)
Output:
['talebe', 'şakirt', 'boşgut', 'mektep çocuğu', 'mektepli', 'okul çocuğu', 'okullu', 'tilmiz']
Gündelik hayatta konuşurken bizim de fark etmediğimiz bazı kelime veya tamlamalar yanlış olmasına rağmen doğruymuşcasına zihnimize yerleşmiştir. Yanlışlarımızı fark edip doğrularını öğrenmek ve metinlerimizde bu yanlışların önüne geçmek için Simurg'un Doğru Bilinen Yanlışları Gör fonksiyonunu geliştirdik.
Örnek metin:
Eğer acenta hakkı elde edebilirsek işleri yoluna koyabiliriz.
from dogruYanlisKelime import dogruBilinenYanlislar
metin = "Eğer acenta hakkı elde edebilirsek işleri yoluna koyabiliriz."
duzeltilmis_metin = dogruBilinenYanlislar(metin)
print(duzeltilmis_metin)
Output:
"Eğer acente hakkı elde edebilirsek işleri yoluna koyabiliriz."
Çağımız şartları gereği dilimize birçok yabancı kelime nüfuz etmektedir. Dilimizin benliğini koruma bilincine sahip olmanın ne kadar önemli olduğunun farkındayız. Bu farkındalığı uygulamak için Simurg'un Kelime Kökeni Sorgula fonksiyonunu geliştirdik.
Örnek metin:
kayıt - log
from KelimeturkceMi import kelime_Turkcemi
kelime = "kayıt"
kelime_turkce_mi = kelime_Turkcemi(kelime)
print(kelime_turkce_mi)
kelime2 = "log"
kelime_turkce_mi_2 = kelime_Turkcemi(kelime2)
print(kelime_turkce_mi_2)
Output:
True
False
Farkında olmasakta uzun cümleler kurduğumuzda cümlenin etken edilgen çatı uyumsuzluğunu göz ardı edebiliriz. Bu da bizim anlaşılabilirliği düşük cümleler kurmamıza sebebiyet verir. Cümlelerimizin anlaşılabilirliğini yükseltmek için Simurg'un Etken Edilgen Çatı Uyumsuzluğunu Farket fonksiyonunu geliştirdik.
Örnek metin:
(YANLIŞ) Evden ne kadar erken çıksak da uçağa hareket saatinden önce yetişilemedi.
(DOĞRU) Evden ne kadar erken çıksak da uçağa hareket saatinden önce yetişemedik.
from EtkenEdilgen import etkenEdilgen
metin = "Evden ne kadar erken çıksak da uçağa hareket saatinden önce yetişilemedi."
etken_edilgen_uyumu = etkenEdilgen(metin)
print(etken_edilgen_uyumu)
metin2 = "Evden ne kadar erken çıksak da uçağa hareket saatinden önce yetişemedik.."
etken_edilgen_uyumu_2 = etkenEdilgen(metin2)
print(etken_edilgen_uyumu)
Output:
1
0
Bir topluluk adına veya çoğul konuştuğumuzda özne ve yüklem arasındaki ilişki uyumsuzluğunun gözden geçirilmesi gerekebilir. Çünkü bu tip durumlarda sıklıkla özne yüklem uyumsuzluğu hatası yapılır. Bu hatayı ortadan kaldırmak için Simurg'un Özne Yüklem İlişkisini Gözden Geçir fonksiyonunu geliştirdik.
Örnek metin:
(YANLIŞ) İnsanlar buraya geldiler.
(DOĞRU) İnsanlar buraya geldi.
from OzneYuklemIliskisi import ozneYuklem
metin = "İnsanlar buraya geldiler."
ozne_yuklem_uyumu = ozneYuklem(metin)
print(ozne_yuklem_uyumu)
metin2 = "İnsanlar buraya geldi."
ozne_yuklem_uyumu2 = ozneYuklem(metin2)
print(ozne_yuklem_uyumu2)
Output:
1
0
Bazen yazılarımızın, metinlerimizin yetişmesi için hızlı yazmaya çalışırız. Bu hız esnasında birleşik olmaması gereken kelimeleri birleşik bir halde yazabiliriz. Bu tür durumlar kimi zaman gözden kaçabilir. Bunların düzeltilmesi için ise Simurg'un Birleşik Kelimeleri Kopar fonksiyonunu geliştirdik.
Örnek metin:
(YANLIŞ) TürkçeDoğalDilİşleme
(DOĞRU) Türkçe Doğal Dil İşleme
from KelimeAyirma import kelime_ayir_fonk
metin = "TürkçeDoğalDilİşleme"
ayrik_kelime = kelime_ayir_fonk(metin)
print(ayrik_kelime)
Output:
['türkçe', 'doğal', 'dil', 'işleme']
türkçe doğal dil işleme
Simurg yapısı gereği hazır fonksiyonlara ihtiyaç duymaktadır. Bu hazır fonksiyonlarda bir tanesi olan Simurg Kelime Temizle kelimelerin başında veya sonunda bulunan noktalama işaretlerini temizleyerek kullanıma hazır kelimleri döndürür.
from SimurgKelimeTemizle import kelime_temizle
kelime = "acikhack."
temiz_kelime = kelime_temizle(kelime)
print(temiz_kelime)
Output:
"acikhack"
Simurg yapısı gereği hazır fonksiyonlara ihtiyaç duymaktadır. Bu hazır fonksiyonlarda bir tanesi olan Simurg Cümle Oluştur metnin içinde bulunan noktalama işaretleri ile ayrılmış kelimeleri ayırarak her bir kelimeyi listeye ekleyip bir kelime listesi oluşturur.
from SimurgCumleOlustur import cumle_olustur
metin = "Acikhack'in yapmış olduğu yarışmaya katılacağız. Bunun için çok heyecanlıyız."
cumle_listesi = cumle_olustur(metin)
print(cumle_listesi)
Output:
["Acikhack'in yapmış olduğu yarışmaya katılacağız.", 'Bunun için çok heyecanlıyız.']
Simurg içinde kullanılan fonksiyonlar
Simurg'un has fonksiyonları:
- Eş Anlamlıyı Getir**
- Doğru Bilinen Yanlışları Gör
- Kelime Kökeni Sorgula
- Etken Edilgen Çatı Uyumsuzluğunu Farket
- Özne Yüklem İlişkisini Gözden Geçir
- Birleşik Kelimeleri Kopar
- Simurg Kelime Temizle**
- Simurg Cümle Oluştur**
** Fonksiyonları içinde sadece trnlp kütüphanesinden kelime kökleri ayırma fonksiyonu kullanılmıştır. Bunun haricinde hiçbir hazır fonksiyon kullanılmamıştır.- brolin59/trnlp kütüphanesi
Simurg MIT lisansı ile lisanslanmıştır.