Saturday, November 10, 2007

İngilizce Yazılım Projesi

İnternette gezinirken sürekli bilmediğim ingilizce kelimelerle kaşılaşıyorum. Kelime dağarcığımı geliştirmek için idealde yapmam gereken kelimeleri ingilizce açıklamaları ve içinde geçtikleri cümlelerle birlikte not etmek. Ama şimdi kelimenin anlamını internetten bul, kelimeleri not ettiğin dosyayı aç, içine kelimeyi, anlamını ve örnek cümleyi kopyala, dosyayı kapat... Uzun iş. Onun yerine kelimeyi işaretleyip tek bir sağ klikle işlemi halletmek ister tembel gönlüm. Bu işi otomatik olarak halledecek bir program yazmayı düşünüyorum. Programı tamamladığımda aşağıdakine benzer bir işlevsellik sunmalı.


Temel özellikler:
* Sağ klik menüsüne kendi programımı eklemeliyim. Mümkünse menünün ilk maddesi olsun.
* Program web sayfasında işaretlenen kısmı text dosyasına yazmalı (bir çeşit "selected" özelliği olmalı).

İleri düzey özellikler:
* Eğer tek kelime seçmişsem program webster vb. sözlük sayfalarını sorgulayıp kelimenin ingilizce anlamını da dosyada yanına yazmalı.
** Program kullanarak sayfa yüklemesini öğren (IE API?)
** http://www.webster.com/dictionary/consternation adresindeki sayfayı yükle
** Sayfa kaynak kodunda '<'div class="defs"'>'bölümündeki tanımı al.

* Text dosyası değil de html dosyasına yazmalı. Dosyada kelime, anlamı ve örnek cümle için üç sütundan oluşan bir tablo olmalı. Eğer tek kelime seçmişsem tablonun birinci sütununa kelime, ikinci sütununa ise internetten otomatik bulunmuş ingilizce anlamı yazılmalı. Bir kelimeden fazlasını işaretlemişsem örnek cümle kabul etmeli ve üçüncü sütuna koymalı.

* IPhone vb. taşınabilir bilgisayarlarda çalışabilmeli

* Program beni sınava çekmeli:
** Kelimeyi sormalı, şıkları veritabanındaki diğer kelime anlamlarından oluşturmalı.
** Kelimenin geçtiği cümleyi içindeki kelimeyi silerek vermeli, buraya hangi kelime gelir diye sormalı, şıkları veritabanındaki kelimelerden oluşturmalı.
** Kelimeyi vermeli, şıkları içlerindeki bilinmeyen kelime silinmiş cümlelerden oluşturmalı.
** Doğru cevaplandırdığım kelimelerin sorma sıklığı düşmeli (bkz Flashcard yöntemi)
** Program performans tarihçemi tutmalı (kaç doğru, kaç yanlış, yanlış cevaplandırılan kelimelerin listesi vb.)

Programı yazdıktan sonra kamuya açacağım. Eklenmesinde fayda gördüğünüz özellikleri comment kısmında belirtelim.

3 comments:

mnh said...

Oldu olacak yanlış cevap verdiğinde fare aracığıyla ufak bi elektrik şoku da verdirelim bilgisayara! Ögrenme hızını katlayacaktır muhtemelen.
:-)

Kelime hazinesi piş, html dosyama düş...

Nart Bedin Atalay said...

Kelimenin anlami ve es anlamli kelime ararken http://wordnet.princeton.edu/ adresine de basvurulsa iyi olur. Oradan bu tur bilgiler kolayikla cekilebilir.

hatirladigim kadariyla wordnet xml yapisinda ve ortalikta ozgur xml parserlardan cokca var.

wordnet'in (veya baska bir ingilizce kelime ve esanlamlilar database'nin) tumu bilgisayara onceden yuklense ve program sadece bilmedigin kelimelerin neler oldugunu isaretlere isler daha da kolaylasir gibi.

benim ingilizcedeki sorunum yazma, kendini guzel ifade etme, telaffuz ve n onemlisi ingilizce kelimeleri kendi gercek anlamlariyla kullanma konularinda.

bunun icinde simdilik bbc radyo dinliyorum. nesij abimizin ustadi oldugu pasif dil ogrenme metodunu tercih ediyorum.

setenay said...

fikir süper!
ingilizceden ingilizceye olsun çeviriler derim ben. çift yönlü kazanım! ama çevirisini anlayamama riski de var tabi.