ARĐTMETĐK BĐR PROBLEMĐ ANLAMA VE ÇÖZME: APAÇ



Benzer belgeler
İSTANBUL İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ BİLİM OLİMPİYATLARI 2018 SINAVI

FORMÜLLER VE FONKSİYONLAR

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

DÖRDÜNCÜ BÖLÜM Aritmetik işlemler

Esnek Hesaplamaya Giriş

İŞLEM KAVRAMI - 2. Çarpma-Bölme

2. Sınıf Bölme İşlemi Problemler

KKTC de ilkokulda zihin engelli öğrencilere okuma öğretiminde uygulanan yöntem cümle çözümleme yöntemidir. Bu yöntem Türkiye deki Eğitim Uygulama

Veritabanı. SQL (Structured Query Language)

ATATÜRK İLKOKULU 2.SINIF MATEMATİK DERSİ Toplama,Çıkarma Çarpma,Bölme Problemleri 1

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Düzce Üniversitesi Bilim ve Teknoloji Dergisi

Hatalar ve Bilgisayar Aritmetiği

10.DERS Yazılım Gerçekleştirme

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

ODTÜ GV ÖZEL DENİZLİ İLKOKULU EĞİTİM ÖĞRETİM YILI 3. SINIFLAR MART AYI KAZANIMLARI TÜRKÇE DERSİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Veri Tabanı Tasarım ve Yönetimi

ALIŞTIRMA-UYGULAMA YAZILIMLARI

MATEMATİK ÜSLÜ SAYILAR. Tam Sayıların Tam Sayı Kuvveti. Üslü sayı, bir sayının kendisi ile tekrarlı çarpımıdır.

MATEMATİK. Değerlendirme 1. Doğal Sayılar. Yukarıdaki kelebekler bir desteden ne kadar azdır? A. 3 B. 7 C. 10

İŞLEM KAVRAMI. Çarpma-Bölme

SAYILAR VE SAYMA TEKRAR TESTİ

Bölme İşlemi. B. Aşağıdaki çiçekleri 3 erli. A. Aşağıdaki futbol toplarını 2 şerli gruplandıralım. İstenenleri cevapla_ layalım. yalım.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

2.SINIFLAR 21.HAFTA (18-22 şubat) GÜNLER 1.DERS 2.DERS 3.DERS 4.DERS 5.DERS 6.DERS

Özel AKEV İlköğretim Okulu Fen ve Matematik Olimpiyatı

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

TC MEB ve TÜBİTAK-BİDEB YİBO ÖĞRETMENLERİ ( FEN ve TEKNOLOJİ FİZİK, KİMYA, BİYOLOJİ ve MATEMATİK ) PROJE DANIŞMANLIĞI EĞİTİMİ ÇALIŞTAYLARI

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Doğal Sayılarla Çarpma İşlemi. Doğal Sayılarla Bölme İşlemi

Sıfat Tamlaması Tanımı. Sıfat Tamlamalarının Özellikleri. Yazı Menu. - Sıfat Tamlaması Nedir. - Sıfat Tamlamalarının Özellikleri

SOLIDWORKS SIMULATION EĞİTİMİ

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

PROBLEM ÇÖZME. Yrd. Doç. Dr. Nuray Çalışkan-Dedeoğlu İlköğretim Matematik Eğitimi

1. Aşağıdakilerden hangisi birebir eşleme örneğidir?

4. Bölüm Programlamaya Giriş

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Kısa Dönemli Amaç Davranışlar Araç Gereçler

Bilgisayar Programlama. Giriş

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

Doğal Sayılarda Çarpma ve Bölme İşlemi. Yrd. Doç. Dr. Nuray Çalışkan-Dedeoğlu Matematik Eğitimi

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

1-)BİLİNMESİ GEREKEN ÜSLÜ İFADELER VE DEĞERLERİ

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

1. SINIF NİSAN AYI BÜLTENİ

Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI

İÜ AÇIK VE UZAKTAN EĞİTİM FAKÜLTESİ. Süreç İyileştirme Standardı

Problem çözme durumları öğretmen tarafından modellenmeli ve öğrenciler uygun sorular yardımı ile yönlendirilmelidir. Bir problem çözüldükten sonra,


Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

VERİ TABANI YÖNETİM SİSTEMLERİ I

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

4. SINIF TÜRKÇE YILLIK PLAN ( ) Konu Kazanım No Soru Mucit Defter

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

BIP116-H14-1 BTP104-H014-1

AKILLI MATEMATİK DEFTERİ

Mantıksal İşlemler. 7.1 true, false, nil

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 13 Mayıs Matematik Sorularının Çözümleri

BİLGİSAYAR PROGRAMLAMA

Geometrik Cisimler ve Şekiller. Uzamsal İlişkiler Geometrik Örüntüler. Geometrik Şekiller Geometrik Cisimler. Uzamsal İlişkiler Geometrik Örüntüler

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

6. SINIF TÜRKÇE DERSİ KURS KAZANIMLARI VE TESTLERİ

TÜRKÇE PAMUK DEDE soruları yukarıdaki metne göre cevaplayınız. 1) Aşağıdakilerden hangisi Pamuk dede nin yaptığı işlerden birisi değildir?

ÇEV 2006 Mühendislik Matematiği (Sayısal Analiz) DEÜ Çevre Mühendisliği Bölümü Doç.Dr. Alper ELÇĐ

1. GİRİŞ Kılavuzun amacı. Bu bölümde;

VERİ MADENCİLİĞİNE BAKIŞ

ÇARPANLAR VE KATLAR I sayısının asal çarpanlarına ayrılmış hâli aşağıdakilerden A) B) C) D)

Yazarlar hakkında Editör hakkında Teşekkür

MAK 210 SAYISAL ANALİZ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

VERİ YAPILARI VE PROGRAMLAMA

Öğrenci : İrem DAŞTAN

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.

BLG 1306 Temel Bilgisayar Programlama

11 SÜRÜM İLE EKLENEN ÖZELLİKLER/DEĞİŞİKLİKLER ( V7 (B1554) )

.. İLKÖĞRETİM OKULU ÖĞRETİM YILI 4/ Sınıfı Öğrencisi İçin Hazırlanan BİREYSELLEŞTİRİLMİŞ EĞİTİM PROGRAMI

2. SINIF TÜRKÇE YILLIK PLAN ( ) 1.hafta Eylül Zeynep'in İyiliği (Okuma Parçası) 9 2.hafta Eylül Alfabemiz 10 1

IQ Oyun Tasarımı Öğretmen Kılavuzu Dedektif Oyunu

Dil Gelişimi. temel dil gelişimi imi bilgileri

Alles logo! 2 Çevrilecek metinler

4. DERS ÖĞLE ARASI MATEMATİK RİTMİK SAYMA TÜRKÇE ALFABE-SÖZLÜK ARASI MATEMATİK DOĞAL SAYILARDA DESTE- DÜZİNE-PROBLEMLER

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

YGS / Temel Matematik Soru ve Çözümleri

3. SINIFLAR BU AY NELER ÖĞRENECEĞİZ? OCAK

qwertyuiopgüasdfghjklsizxcvbnmöçq wertyuiopgüasdfghjklsizxcvbnmöçq wertyuiopgüasdfghjklsizxcvbnmöçq

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

6. SINIF TÜRKÇE DERS BİLGİLERİ

Bilgisayar Programlama (COMPE 102) Ders Detayları

market.ilkokul1.com HEMEN TIKLA ALIŞVERİŞE BAŞLA

Öykü AKINGÜÇ

NX Motion Simulation:

Transkript:

ARĐTMETĐK BĐR PROBLEMĐ ANLAMA VE ÇÖZME: APAÇ Cem AGAN 1, Banu DĐRĐ 1 1 Bilgisayar Mühendisliği Bölümü Yıldız Teknik Üniversitesi cemagan@hotmail.com, banu@ce.yildiz.edu.tr Özet Bu çalışmada, ilköğretim giriş seviyesindeki aritmetik problemleri çözebilen bir problem çözücü geliştirilmiştir. Đlk olarak, Zemberek adlı açık kaynaklı Türkçe doğal dil işleme kütüphanesinden faydalanılarak biçimbirimsel analiz yapılmış, elde edilen çözümleme adaylarından en doğru olanı belirlemek adına basit bir sözdizimsel çözümleme modülü geliştirilmiştir. Son aşama olan anlamsal çözümlemede de problemdeki sayılı ifadeler, özneler, nesneler, eylemler ve diğer bazı kalıp ifadeleri tespit edilip, istenenleri verecek sayısal hesaplamalar yapılarak sonuç elde edilmiştir. Geliştirilen uygulama zorluk derecelerine göre hazırlanmış test kümeleri üzerinde çalıştırılarak başarılı sonuçlar alınmıştır. 1. Giriş Doğal Dil Đşleme (DDĐ), yapay zekanın bir alt dalı olup, amacı verilen doğal bir dili çözümleyen, anlayan ve yorumlayan sistemlerin tasarlanmasıdır. Doğal bir dilin bilgisayar yardımıyla çözümlenmesinin insanlığa çok farklı uygulama alanlarında yararı olacağı kesindir. Uygulama alanları arasında, otomatik konuşma ve komut anlama, metin özetleme, soru-cevap sistemleri, makine çevirisi, bilgi çıkarımı sayılabilir. Anlama Doğal Dil Đşlemenin önemli çalışma alanlarından birisidir. Problem Çözme ise makine anlamasını gerçekleştirmenin bir yoludur. Problem Çözücüler kısıtları belli bir alanın herhangi bir doğal dildeki problemlerine bu problemdeki bilgilere dayanarak gerekli aritmetik ve mantıksal işlemleri gerçekleştirerek çözüm üreten bilgisayar programlarıdır. Doğal Dildeki problemler üzerine yapılan çalışmalar çoğunlukla Đngilizce için gerçekleştirilmiştir ve aynı durum Problem Çözücüler için de geçerli gözükmektedir. Fakat ülkemizde de son yıllarda Türkçe yi bilgisayarla anlama ve Türkçe Problem Çözücü üzerine yapılan sayılı çalışmalara rastlamaktayız. Problem Çözücü uygulamaların yabancı kökenli örneklerinden biri ve belki de en eskisi DDĐ nin primitif bir örneği olan diyalog programı ELIZA [1] ile aynı yıllarda geliştirilen STUDENT [2] dır. Bu uygulama ile ilkokul kitaplarında rastlanılan cebirsel hikaye problemlerine cevap üretilmesi amaçlanmıştır. STUDENT, Đngilizce cebirsel hikaye problemlerini girdi olarak kabul etmekte, bunları ilişkisel bir modele eşlemek ve modeldeki yapıları işlemek suretiyle çözmeye çalışmaktadır. Girdideki önemli anahtar kelimeler ve programın eşanlamlı kelime bilgisi, cebirsel işlemde kullanılacak operatörlerin tespitinde kullanılıyordu. Önemli Problem Çözücülere bir başka örnek ise, Đngilizce rijit cisim statiği problemlerini anlayan, çözen ve problemlerin resmini çizen ISAAC [3] dir. Bu problemler içerisinde, statik dengedeki rijit cisimler, kaldıraç, dönme ekseni, ağırlık, halat vb. nesneler geçiyordu. Bir Lisp programı olan ISAAC, anlamsal inceleme aşamasında problemlerde geçen nesnelere ait arka plan bilgilerinden faydalanıyor, ayrıca geometrik hesaplamalar ve problemin geometrik modelinin oluşturulmasında da başka bir programdan yardım almaktaydı. Az sayıdaki Türkçe Problem Çözücü uygulamalarına örnek olarak da üzerinde iyi bir ön hazırlık yapılmış, anlamsal incelemeye ve dünya bilgisi modellemesine özen gösterilmiş bir program olan ALĐ [4] verilebilir. Say, ALĐ yi geliştirirken ISAAC inkine benzer bir yöntemi benimsemiştir. Birbaşka çalışma ise Çakıroğlu na aittir [5]. Bu çalışmada, ilköğretim 1-2-3 seviyesindeki Türkçe cebirsel hikaye problemlerinin çözümü için bir uygulama geliştirilmiştir. Problem Çözücü alanında uygulama geliştirmede yaygın olarak kullanılan mantıksal ve sembolik dillerin aksine, bu uygulama için nesne yönelimli ve geniş kullanım alanlı bir dil olan JAVA kullanılmıştır. Uygulama, biçimbirimsel analiz sonuçlarını açık kaynak Türkçe DDĐ kütüphanesi Zemberek 1 ten alarak kullanır. Ayrıca, uygulama iptidai veri 1 http://code.google.com/p/zemberek/

tabanı ve karakter katarı işlemleri için de başka açık kaynak JAVA kütüphanelerinden faydalanmaktadır. Makalenin ikinci bölümünde gerçeklenen temel DDĐ adımlarına, üçüncü bölümde geliştirdiğimiz APAÇ uygulamasına ve işlem adımlarına, dördüncü bölümde de çalışmadan elde edilen sonuçlara yer verilmiştir. 2. Doğal Dil Đşleme Adımları Bir doğal dildeki fonksiyonel kelimelerin sayısı az ve sınırlıdır. Đnsanlar konuşurken kullandıkları belirli yapılara birden fazla işlev yüklemişlerdir ve bunların işlevlerini ve anlamlarını her defasında yüksek doğrulukla tahmin edebilmeleri, ifadenin geçtiği bağlamı tanıyor olmalarıdır. Đnsanlardaki anlama sürecinde biçimbirimlerin kelimelere kattığı anlamlar, kelimelerin cümledeki fonksiyonları vb. şeylerin belirlenmesi işlemleri, öğrenilmiş bilgilerdir ve farkında olunmadan kullanılır. Bilgisayar ile anlamayı gerçekleştirebilmek için doğal dilde alınan girdideki bilgiler üzerinde anlamsal analiz yapılması gerekir, fakat girdi üzerinde sağlıklı bir anlamsal analiz yapmak için öncelikle bu girdiyi biçimbirimsel ve sözdizimsel analizlerine tabi tutmamız gerekir [6]. Bunun nedeni anlamsal analiz aşamasına, üzerinde çalıştığımız dilin kurallarının rehberliğinde doğru yoldan ulaşmış olmaktır. 2.1. Biçimbirimsel Analiz Kelime ve eklerin sınırlı olmasından ötürü bağlamından koparılarak önümüze getirilmiş bir kelimeden birden fazla anlam çıkarabiliriz. Kelimenin cümledeki yerine ve bağlamına bakarak da bu anlamlardan hangisinin doğru olduğuna karar verebiliriz. Öyleyse, bilgisayarla anlamada öncelikle bir kelimenin olası bütün anlamlarını çıkartmalıyız. Türkçe sondan eklemeli bir dil olduğundan dolayı farklı sözcük sayısı önceden kestirilemez. Bu varyasyondan dolayı bir kelimede anlamsal çakışma olma ihtimali ve çakışmaların sayısı da Đngilizce gibi Hint-Avrupa dil ailesindeki dillere nazaran yüksektir. Türkçe gibi sondan eklemeli diller ile çalışırken biçimbirimsel analiz ile her kelime için olası analizlerin listelenmesi kaçınılmazdır. 2.2. Sözdizimsel Analiz Bir kelimenin bir cümledeki konumu o kelimenin cümledeki fonksiyonu hakkında önemli ipuçları barındırır. Konum bilgisinden bir sözcüğün cümlede bildirilen eylemin aktörü mü, eylemden etkilenen nesne mi, eylemin kendisi mi veya bunlar hakkında ek bilgiler içeren bir eleman olup olmadığı hakkında tahminlerde bulunabiliriz. Bu tahminler ise, bir önceki adımda çıkarttığımız biçimbirimsel analiz listesindeki çözümlemelerden hangisinin o cümleye uyduğunu belirlememizde önemli rol oynar. Sözdizimsel Analiz aşamasında genellikle giriş cümlesine ait biçimbirimsel çözümleme kombinasyonları olası bir dile ait daha önceden uzun çalışmalar sonucunda çıkartılan sözdizim ağaçlarıyla test edilir ve bunun dilin kurallarına uygun geçerli bir cümle olup olmadığına karar verilir. Böylelikle eldeki çok sayıdaki biçimbirimsel çözümlemelerden büyük kısmı elenerek anlam bulanıklığı azaltılır. 2.3. Anlamsal Analiz Anlamsal analiz aşamasında kelimenin yer aldığı bağlama ve dış dünyaya ait bilgilere olan hakimiyet ön plana çıkar. Bundan önceki iki aşamada anlamanın önündeki güçlükler ve olasılıklar her ne kadar azaltılmış olsada bunlar anlamanın tam olarak gerçekleşmesi için yeterli değildir. Çünkü insanlar bile daha önceden kullandıkları, duydukları kelimeler ile farklı bir bağlamda cümle kurulsa bu cümlenin anlamına tam olarak nüfuz edemeyecekler, sadece analoji yapmakla yetineceklerdir. Çünkü anlam denilen kavram, kelimeler boyutunun çok ötesinde bir deneyim ve yaşanmışlığı içersinde saklar. Bilgisayar ile anlamayı hangi kısıtlı alanda kullanacaksak o alana ait kavramları, bu kavramlar arasındaki bir takım ilişkileri, bu kavramların yan yana gelme düzenlerinin anlamda ne gibi etkiler oluşturduklarına dair bilgilerin çıkartılıp, uygun zamanda kullanılabilecek şekilde saklanması çözüme gidilmesi için atılması gereken önemli ve belki de en uzun adımdır. Bu aşamada üzerinde çalışılan alanın kısıtları, olası girdiler, bu girdilere karşılık üretilmesi gereken sonuçlar belirlenerek dış dünyaya ait kavramlar, ilişkiler, etkiler veri tabanlarının ve hem bunları hem de girdideki bilgileri kullanarak nihai çözüme ulaşacak bir çözüm algoritmasının hazırlanması gerekir. 3. APAÇ Uygulaması Üzerinde çalıştığımız problemlerin bir kısmı ilköğretim giriş seviyesi cebirsel hikaye problemleri içeren bir matematik problem etkinlikleri kitabından [7], geri kalanları ise aynı seviyedeki karma kaynaklardan alınmıştır. Uygulamamız bilgisayar yardımıyla anlama problemlerinde kullanılan ve yukarıda değinilen DDĐ nin üç aşamasını da belirli yoğunluklarda kullanmaktadır. Biçimbirimsel analizden sonra, girdiler bir önişleme aşamasından geçirilerek diğer basamaklarda yapılacak işlemlere uygun hale getirilir.

Şekil 1. Uygulamanın Temel Đşlem Basamakları APAÇ, problem metinlerinde geçen sözlü sayısal ifadeleri (dört, yarım, deste vb.), birimleri (kg, metre vb.), aritmetik değişim bildiren eylemler (sattı, verdi, aldı vb.) ve birleşik fiileri (satış yapmak, dünyaya gelmek, emekli olmak vb.) tutmak için dört ayrı veritabanından faydalanır. 3.1. Biçimbirimsel Đnceleme Bölüm 2.1 de ifade edildiği üzere gerçekleştirilecek DDĐ adımlarının ilki her kelimenin olası tüm kök-ek çözümlemelerinin çıkartılması, yani biçimbirimsel analizdir. Öncelikle bir problem metnini oluşturan parçalardan (kelimeler, boşluklar ve noktalamalar) işlem birimleri oluşturulur ve boşluklar bu birimlerden çıkartılır. Sabah 5 ekmek, öğlen 4 ekmek, akşam 6 ekmek aldım. Kaç ekmek aldım? Sabah 5 ekmek, öğlen 4 ekmek, aksam 6 ekmek aldım. Kaç ekmek aldım? Devamında her işlem birimi biçimbirimsel çözümlemeleri çıkartılmak üzere Zemberek Türkçe DDĐ kütüphanesinin ilgili modülüne gönderilir. Her sözcük için Zemberek ten dönen çözümleme listeleri uygulama içerisinde daha sonraki adımlarda kullanılmak üzere bu işlem birimlerine alt bilgi olarak eklenir: Evimize sabah 5, akşam 4 ekmek alındı. Evimize: [Kok:ev,Tip:ISIM Ekler:ISIM_KOK, ISIM_SAHIPLIK_BIZ_IMIZ, ISIM_YONELME_E] sabah: [Kok:sabah, Tip:ZAMAN Ekler:ZAMAN_KOK] 5:cozulemedi akşam: [Kok:akşam, Tip:ZAMAN Ekler:ZAMAN_KOK] 4:cozulemedi ekmek: [Kok:ekmek, Tip:ISIM Ekler:ISIM_KOK] [Kok:ek, Tip:FIIL Ekler:FIIL_KOK, FIIL_MASTAR_MEK] alındı: [Kok:alındı, Tip:ISIM Ekler:ISIM_KOK] [Kok:alın,Tip:FIIL Ekler:FIIL_KOK, FIIL_GECMISZAMAN_DI] [Kok:alın,Tip:ISIM Ekler:ISIM_KOK, IMEK_HIKAYE_DI] [Kok:al, Tip:FIIL Ekler:FIIL_KOK, FIIL_EDILGEN_IL, FIIL_GECMISZAMAN_DI] [Kok:al,Tip:ISIM Ekler:ISIM_KOK, ISIM_TAMLAMA_IN, IMEK_HIKAYE_DI] [Kok:al,Tip:ISIM Ekler:ISIM_KOK, ISIM_SAHIPLIK_SEN_IN, IMEK_HIKAYE_DI] Yukarıdaki örneğe dikkat edilecek olursa, 5 ve 4 gibi sayısal ifadeler için Zemberek ten çözülemedi şeklinde bir değer dönmüştür. Zemberek ile çalışırken karşımıza çıkabilecek bu gibi durumlara önişleme aşamasında müdahale edilerek uygulamanın diğer basamaklarını olumsuz etkilemesi önlenmeye çalışılmıştır. Ayrıca, ekmek ve alındı sözcükleri için birden fazla çözümleme döndüğü gözlemlenmektedir. Bu çözümlemelerden cümlenin sözdizimine uygun olanı, sözdizimsel analiz aşamasında seçilecektir. 3.2. Önişleme Bu aşamanın amacı, girdiyi uygulamanın diğer basamaklarında yapılacak işlemlere hazırlamaktır. Đşlem birimlerinden uygulamanın diğer basamakları açısından özel anlam içerenler işlevine göre etiketlenir: Noktalamalar etiketlenir:,.? vb. : ((NKT)) Soru işaret eden sözcükler etiketlenir : kaç, hangi vb. : ((SOR)) Sayısal anlamı olan ifadelerden değerler yakalanır ve işlem birimi yeni değerle değiştirilerek etiketlenir: 8 8.0 : ((DĞR)) dört 4.0 : ((DĞR)) düzine 12.0 : ((DĞR)) Bazı sayısal ifadelerin önüne katsayı belirten ifadeler gelebilir. Bunlar için bir ara işlem yapılarak yeni değer elde edilir, önceki katsayı ve değer bu yeni değeri içeren işlem birimiyle değiştirilerek etiketlenir: iki onluk 20.0 : ((DĞR)) yarım düzine 6.0 : ((DĞR)) Birimler etiketlenir: metre kg litre vb. : ((BRM)) Aritmetik manaları olan ifadeler etiketlenir: fazla eksik büyük küçük katı vb. :((ARĐ)) Kesme işaretiyle önüne geldiği sayısal değerden ayrılarak yazılmış hal ekleri, tamlayan ekleri ve gruplandırma bildiren ekler etiketlenir: i si ü ini sini vb. : ((ĐŞR))

e ye a ya vb. : ((YÖN)) den dan vb. : ((AYR)) in nin ın nın ün vb. : ((SAH)) er şer ar şar vb. : ((GRP)) Önişleme bölümünde işlem birimlerinden sözlü sayısal ifadelerin ve birimlerin tespitinde harici dosyalar halindeki veri tabanlarından faydalanılır. Önişleme tamamlandıktan sonra işlem birimleri anlamsal analize hazır hale getirilmek üzere sözdizimsel analizi aşamasına yönlendirilir. 3.3. Sözdizimsel Đnceleme Cebirsel hikaye problemleri incelenecek olursa bu problemlerin temel taşlarını şu unsurların oluşturduğu gözlemlenir: hikayenin aktörleri (cins/özel isimler ve zamirler), eylemlere konu olan nesneler ve aritmetik değişim bildiren eylemler. Sorulara doğru cevap verebilmek için, anlamsal analiz aşamasına geçildiğinde sözcüklerin cümle içerisindeki doğru işlevinin bulunmasının önemi büyüktür. Örneğin, problem metnindeki bir aktörün metnin herhangi bir yerinde isim yerine sıfat ya da fiil olarak algılanması veya bir aritmetik değişim bildiren eylemin, fiil yerine isim ya da sıfat olarak algılanması gibi durumlar anlamsal analiz aşamasını olumsuz etkileyecektir. Zemberek biçimbirimsel analiz sonucunda bir sözcük için birden fazla çözümleme içeren bir liste döndürdüğünde bu listenin ilk öğesi, o kelimenin Türkçe metinlerde en çok kullanılan çözümlemesidir. Fakat bu çözümleme her zaman o sözcüğün bulunduğu cümleye en uygun çözümleme değildir. Bu sebeple, özellikle uygulama açısından kritik yerlerde sözdizimsel analizine ihtiyaç duyulur. Elimizdeki problemlerin doğası gereği cümle yapıları nispeten basit ve kurallıdır ve karmaşık sözdizimsel analizlere gereksinim duymamaktadır. Türkçe basit cümle yapılarına dair temel sözdizim bilgileri, biçimbirimsel analizdeki anlam bulanıklığından doğacak hataları gidermemizi sağlayabilir. Örneğin, Bölüm 3.1 deki alındı sözcüğü cümlenin eylemidir, fakat Zemberek ten dönen listenin ilk elemanına bakıldığında bunun kökünün isim olarak bulunduğunu görürüz, halbuki Türkçe nin kurallı cümle yapısına göre cümledeki son unsurun eylem olduğu bilinmektedir. Bazen de cümle ortasında geçen bazı nesne isimleri Zemberek ten dönen çözümleme listesinin ilk sırasındaki çözümlemede fiil olarak geçtiği gözlemlenmiştir. Bu duruma şu örneği verebiliriz: Vazoda 7 gül var. Vazoda: [ Kok:vazo, Tip:ISIM Ekler:ISIM_KOK, ISIM_KALMA_DE] 7 :cozulemedi gül: [ Kok:gül, Tip:FIIL Ekler:FIIL_KOK] [ Kok:gül, Tip:ISIM Ekler:ISIM_KOK] var: [ Kok:var, Tip:FIIL Ekler:FIIL_KOK] [ Kok:var, Tip:ISIM Ekler:ISIM_KOK] Görüldüğü gibi gül sözcüğü cümle ortasında geçmesine rağmen, Zemberek birinci sıradaki çözümlemesinde bunların kökünü fiil olarak belirlemiştir. APAÇ, Türkçe nin basit ve kurallı cümle yapısına ait temel bilgileri göz önüne alarak işlem birimleri halindeki cümlelere sözdizimsel analiz uygular, işlem birimlerinin biçimbirimsel çözümlemelerinden hangisini kullanacağını belirleyerek işlem birimlerini problemin anlaşılması ve çözülmesi basamağını oluşturan anlamsal inceleme için hazır hale getirir. Sözdizimsel analiz safhasında geliştirilen uygulama bazı ek işlemler de gerçekleştirir: Đsim ve sıfat tamlamaları oluşturan işlem birimleri tek birim altında toplanır: bayan öğretmen bayan öğretmen mavi tebeşir mavi tebeşir arı kovanı arı kovanı Birleşik fiiller veritabanı yardımıyla birleşik fiil meydana getiren işlem birimleri tek birimde birleştirilir: satış yapmak satış yapmak ziyan etmek ziyan etmek Ortak bir tamlananı tamlayan ve virgülle ayrılarak yazılan sözcüklerin tamladıkları sözcükle birlikte işlem görmeleri için bu ortak tamlanan, hazırladığımız bir sonlu durum makinesi yardımıyla tamlayanlara dağıtılır: Baloncu 7 sarı, 5 kırmızı, 2 mavi balon satıyor. Kaç balon sattı? Baloncu 7 sarı balon, 5 kır mızı balon, 2 mavi balon satıyor. Kaç balon sattı? 3.4. Anlamsal Đnceleme Uygulama problemlerin çözümünde metinlerdeki aritmetik işlemleri ve atamaları işaret eden ipuçlarından faydalanılır. Bu ipuçlarına örnek olarak hal ekleri;... kalemlerinden dördünü Ali ye verirse... sınıftan 9 öğrenci ayrılıyor Bir sepette 5 elma, 2 muz var sahiplik ekleri; 15 tane kalemim var... Fatma nın iki onluğu var... tamlama ekleri; Cebimdeki 50 liranın yarısını Ahmet e... büyüklük/küçüklük/fazlalık/eksiklik ve kat işaret eden yapılar; Ali nin Işıl dan 5 fazla kalemi var... Şule nin balonları benimkinin 2 katıdır... Kemal kardeşinden 5 yaş büyükse... ve eylemlerin sayısal değerler üzerindeki etkileri;... Oya 4 çiçek getirdi... (+)... 3 kitap daha satın aldım... (+)

... Otobüsten 7 kişi inerse... (-)... balonların 2 tanesi patladı... (-) gösterilebilir. Bir aritmetik değişimi işaret eden eylemler ve bunlara karşılık düşen aritmetik işlemler bir veritabanına kaydedilmiştir ve APAÇ gerektiğinde problemde geçen fiillerin işleme etkilerini öğrenmek için bu veritabanına başvurur. Anlamsal incelemede izlenilen adımlar şöyle özetlenebilir: Đşlem birimleri cümle listeleri halinde gruplanır ve sırayla her cümle analize alınır, Analize alınan cümle, içerisindeki ipuçlarına göre operasyonel parçalara bölünür, Her parça okunduktan sonra daha önceden eldeki problemler incelenerek hazırlanmış örüntüler arasından bu parçayla eşleşen örüntünün öngördüğü işlem gerçekleştirilir (atama, arttırma, eksiltme, çarpma veya bölme), Problemlerde geçen aktörler bir aktör listesine eklenir. Bu aktörlerin sahip olduğu varlıkları gösteren bir de varlık listesi vardır. Her operasyonel parça işlendiğinde gerekiyorsa aktör ve varlık listelerinde güncellemeler ve eklemeler yapılır, Problemin soru cümlesinde hangi aktörün (veya aktörlerin) sahip olduğu hangi varlığın sayısal değerinin sorulduğu tespit edilir ve ilgili listeden (veya listelerden) bulunarak sonuç üretilir. Soru cümlesinde hangi iyenin hangi varlığının sayısal değerinin sorulduğu bazen çok açık verilmiş olabilir. Đye ismi verilmeyebilir veya verilen varlık ismi, varlık listelerinde bulunamayabilir. Bu nedenle imalı ve karmaşık soru cümleleriyle karşılaşılabileceği gerçeği göz önünde bulundurularak sonuç üretme aşaması mümkün olduğunca toleranslı çalışacak şekilde tasarlanmıştır. 4. Deneysel Sonuçlar Programın başarısının tespiti için üç grup problem seti ile çalışılmıştır. Bunlardan ilki, birinci ve ikinci sınıf, ikincisi de üçüncü sınıf ilköğretim için hazırlanmış problem etkinlikleri kitaplarından alınmıştır. Üçüncü grup sorular ise önceki Türkçe çalışmaların bazılarında kullanılan sorulardan derlenmiştir. Aşağıda bu soru setlerindeki problemlere bazı örnekler verilmiştir. Tablo 1 de de soru setlerinden her biri için sistemin ürettiği doğru ve yanlış cevap sayıları verilmiştir. Sınıftaki balonların 7 tanesi patladı. 9 balon kaldı. Sınıfta kaç balon vardı? Otobüste 13 kişi var. Önce 2 kişi sonra 4 kişi biniyor. Otobüste kaç yolcu vardır? Hatice 29 yaşındadır. Ağabeyi Hatice'den 5 yaş büyüktür. Đkisinin yaşları toplamı kaçtır? Sepette 36 elma var. Burak, Murat, Hatice elmaları eşit paylaşıyorlar. Her biri kaç elma alır? Bir inek 5 günde 45 litre süt veriyor. Bu inek 1 günde ortalama kaç litre süt verir Hangi sayının 5 fazlasının 20 eksiği 40 dır? Tablo 1. Sistemin üç grup soru seti için verdiği doğru ve yanlış cevap sayıları. Kaynak # Problem Doğru Yanlış % Soru Seti-1 91 81 10 0.89 Soru Seti-2 92 67 25 0.73 Karma 54 53 1 0.98 5. Sonuç Gerçekleştirilen uygulama ilköğretim birinci ve ikinci. sınıf problemlerinde kayda değer doğruluk oranları sağlarken, bu oranın nisbeten daha imalı ve karışık sözdizimine sahip üçüncü sınıf problemlerinde düştüğü gözlemlenmiştir. Ayrıca, örüntü tanıma yöntemlerinin sınırlı alandaki böylesi DDĐ problemlerinde başarılı sonuçlar verebileceği de görülmüştür. Đleriki çalışmalar için; daha güncel ve eksiksiz bir biçimbirimsel analizcinin kullanımı, Türkçe için başarılı bir sözdizim modelinin ve analizci programın geliştirilmesi ve bunun kullanılması, veri tabanlarındaki bilgilerin çeşitlendirilip artırılması, dış dünyadaki kavramlara ait ilişkileri içeren bir ilişkiler ağının kullanımı çalışmanın başarısını hiç şüphesiz arttıracaktır. 6. Kaynaklar [1] J. Weizenbaum, "ELIZA A Computer Program For the Study of Natural Language Communication Between Man And Machine", Communications of the ACM 9, 1966. [2] D. G. Bobrow, Natural Language Input for a Computer Problem Solving System, Ph.D. Thesis, Department of Mathematics, MIT, Cambridge, Mass, 1964. [3] G. Novak, Computer understanding of physics problems stated in natural language, Ph.D. Thesis, Department of Computer Science, University of Texas at Austin, 1976. [4] A. C. C. Say, Understandıng Arithmetic Problems In Turkısh, International Journal of Pattern Recognition and Artificial Intelligence, Vol. 15, No. 2, 359 374, 2001. [5] Ü. Çakıroğlu, Türkçe Aritmetik Problemlerin Bilgisayarla Çözümü, Eleco, Elektrik-Elektronik- Bilgisayar Mühendisliği Sempozyumu ve Fuarı, Bursa, 2006. [6] D. Jurafsky, J. H. Martin, Speech and Language Processing, Prentice Hall, USA, 2009. [7] F.Derinöz-R.Bircan, Problem Etkinlikleri, Öz Yayınları, Đstanbul, 2008