• Sonuç bulunamadı

Zeki etmenlerin e-learning sistemlerinde kullanımı

N/A
N/A
Protected

Academic year: 2021

Share "Zeki etmenlerin e-learning sistemlerinde kullanımı"

Copied!
64
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Yüksek Lisans Tezi

Selçuk Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı

ÖZET

Akıllı yazılım etmenleri, çeşitli eğitim ortamlarında bazı rutin, zaman alıcı görevlerin yerine getirilmesinde kullanılır. Karmaşık görevleri etkin bir şekilde yerine getirmek amacıyla bazen insanlar ve etmenler beraber çalışma gereksinimi duyarlar. Fakat bu hususta, delegasyon, güven ve gizlilik gibi çözümü açıklığa kavuşmamış bazı konular mevcuttur. Etmenler hakkında yapılan araştırmalarda da, etmenler arasında işbirliği sağlayan akıllı etmenlerin ve tekniklerin geliştirilmesi üzerinde yoğunlaşılmaktadır. İnsanlar ile etmenler arasındaki etkileşime daha az dikkat çekilmektedir.

Bu tez araştırmasının amaçları, bir kullanıcının bir eğitim ortamında bir etmeni ne kadar kolay programlayabileceğini, bu olanak verildiğinde kullanıcıların nasıl davranacağını incelemektir. Ayrıca sistemde çalışan kullanıcıların gizliliği de önemli. Oluşturulacak sistem, e-Learning ortamında çalışan kullanıcıların gizlilik ilkelerini korumalıdır.

Bu tezde, bir kullanıcının çalışma zamanında bir etmenin aktivitelerini belirleyen kurallar kümesi tanımlayabileceği bir sistem önerilmektedir. Sistem bir kullanıcının diğer etmenlerle iletişimde bulunması, diğer kullanıcıların ve onların etmenlerinin aktivitelerini gözlemleyebilmesi için bir etmeni programlayabilmesine olanak sağlayan çok-etmenli bir e-Learning ortamı üzerine kurulmuştur. Kullanıcıların sistemden bilgi edinme, diğer kullanıcılarla iletişimde bulunma ve onlarla bilgi paylaşma ihtiyaçlarını karşılamaktadır.

Anahtar Kelimeler : Etmen, e-Learning, etmen programlama , akıllı etmen

Yıl : 2006 Sayfa:58

(2)

Master Thesis

Selçuk Univercity Graduate School of Natural and Applied Sciences

Departman of Computer Engineering

ABSTRACT

Intelligent software agents are well-suited to assisting users with routine, repetitive and time-consuming task in various educational environments.In order to achieve complex tasks effectively, humans and agents sometimes nedd to work together.However, some issues

in human agent interaction have not been solved properly, such as delegation, trust and privacy. The agent research community has focused on technologies for constructing autonomous agents and techniques for collaboration among agents. Little attention has been paid to supporting interactions between humans and agents.

The objectives of this research are to investigate how easy it might be for a user to program his/her agent, how users behave when given the ability to program their agents.In addition,studying users’ concerns about their privacy is also important.The sistem that will be designed must protect users’ privacy in e-Learning environment.

In this thesis,an intelligent system were proposed for programmable agents in which a human user can define a set of rules to direct an agent's activities at execution time.The system was built on top of a multi-agent collaborative e-Learning environment that enables a user to program his or her agent to communicate with other agents and to monitor the activities of other users and their agents.It is able to meet users' invidual needs on system infoormation, facilitate the information exchange among the users and enhance the communication between users.

Keywords : Agent, e-Learning, agent programming, intelligent agent

Year: 2006 Page: 58

(3)

TEŞEKKÜR

Bu tez çalışmamın gerçekleşme sürecinde yardımlarından dolayı tez danışmanı hocam Sayın Prof. Dr. Ahmet ARSLAN’ a teşekkür ederim.

Tez çalışmam boyunca manevi desteğini esirgemeyen aileme çok teşekkür ederim.

(4)

İÇİNDEKİLER ÖZET ... I ABSTRACT ... II TEŞEKKÜR ...III İÇİNDEKİLER... IV ŞEKİLLER LİSTESİ ... VI TABLOLAR LİSTESİ... VI 1. GİRİŞ ...1 1.1 Tezde Amaçlananlar...2

2. TEORİK BİLGİLER VE BAZI UYGULAMA ÖRNEKLERİ...3

2.1 Etmen-Tabanlı Sistem ...3

2.1.1 Etmenin Tanımı...3

2.1.2 Etmen Niçin Kullanılır?...4

2.2 İnsan-Etmen Etkileşimi ...5

2.2.1 Görev Ve Yetki Atama ...6

2.2.2 Etmenleri Yönlendirmek ...7

2.2.3 İçerik Paylaşımı...7

2.2.4 Etmenlerle Diyalog...8

2.3 Zeki Etmen-Tabanlı Sistemler Geliştirme Yaklaşımları...9

2.3.1 Bilgi-Tabanlı Yaklaşım ...9

2.3.2 Makine Öğrenmesi Yaklaşımı ...10

2.3.3 Son Kullanıcı Programlama Yaklaşımı ...10

2.4 Etmenlerin Programlanabilirliği ...11

2.4.1 Scripting ve Form Doldurma ...12

2.4.2 Gösterim Yoluyla Programlama ...13

2.5 Etmenlerin Eğitim Ortamlarında Kullanımı ...13

2.5.1 Otomatik Soru-Cevap Sistemi ...15

2.5.2 Öğrenci Modelleme ...16

2.6 Bölüm Özeti...18

3. EĞİTİM ORTAMI VE ZEKİ ETMENLERİN TASARLANMASI ...19

3.1 Etmen Tabanlı E-Learning Ortamı ...19

3.1.1 Ortak Tartışma Ortamı...19

3.1.2 Bire-Bir Tartışma Ortamı...20

3.2 Sistemdeki Etmen Mimarisi ...20

3.2.1 Sistem Mimarisine Mantıksal Bakış...22

3.2.2 Sistemdeki Etmenler...24

3.2.3 Etmenler Arasındaki İletişim ...25

3.3 Etmen Programlama Tasarımı ...26

3.3.1 Kullanıcılar Etmenlerini Nasıl Programlar? ...26

3.3.2 Sistem Mimarisi ...27

3.4 Etmen Programlama Ortamının İşlevselliği ...29

3.4.1 Örnek Senaryolar...29

3.4.2 EKYS Kullanıcı Arayüzleri ...31

4. PROGRAMLANABİLİR ETMEN UYGULAMALARI ...34

(5)

4.1.2 Çevrim Kontrolü Tasarımı...37

4.1.3 EKYS Mimarisi...42

4.2 Öğrenci Modeli Oluşturmada Zeki Etmenler ...43

4.2.1 Problem Domaininin Modellenmesi ...44

4.2.2 Kişileştirilmiş Öğrenme...46

4.2.3 Uyarlama Desteği ...47

4.3 Bölüm Özeti...48

5. SONUÇ VE ÖNERİLER ...49

5.1 Tez Çalışmasının Özeti ...49

5.2 Çalışmanın Getirileri, Sağladığı Katkılar...50

5.3 Gelecekte Yapılabilecekler...50

5.4 SONUÇ...52

(6)

ŞEKİLLER LİSTESİ

Şekil 2.1 - Bir etmenin kullanıcı ile birlikte çalışması (Copyright@ACM) ...4

Şekil 3.1 – Sistemin Çok-Etmenli Mimarisi ...21

Şekil 3.2 – Sistemin Kavramsal Mimarisi...22

Şekil 3.3 – DICE Altsisteminin Mantıksal Mimarisi...23

Şekil 3.4 – Son Kullanıcı Programlama Ortamı Mimarisi...28

Şekil 3.5 – Son kullanıcı ortamının kullanım örneği...30

Şekil 3.6 – Kural Tanımlama Arayüzü ...31

Şekil 3.7 – Koşul Tanımlama İşlemi ...32

Şekil 3.8 – Eylem Tanımlama Arayüzü ...33

Şekil 4.1 – Kural A’nın Kural B’yi tetiklediği durumlar...38

Şekil 4.2 – Örnek bir Kural grafı...39

Şekil 4.3 – Şartlı Tetikleyiciler sahip Kural Grafı...42

Şekil 4.4 – EKYS Mimarisi...43

Şekil 4.5 – For döngüsünün ön şartlı konularının modellenmesi 45

Şekil 4.6 – For döngüsü düğümüne uyan şartlı olasılık değerleri 45

TABLOLAR LİSTESİ Tablo 4.1 - Bir kuraldaki koşulların farklı formasyonları……….35

(7)

1. GİRİŞ

Yazılım etmenleri günden güne hayatın bir çok alanında kullanılmaktadır ve gelecekte de eğitim gibi önemli alanlarda kullanıcılara tutarlı, zamanında ve doğru bilgi sağlama, aktivite zamanlama, email yönetimi ve bireysel ve toplu öğrenme konularında yardımcı vazgeçilmez öğeler olma yolunda ilerlemektedir. Bir etmen belirli bir amaca hizmet eden bir ortamda, o amaçları yerine getirmek için bağımsız hareket edebilen bir bilgisayar sistemi olarak bilinir.(Jennings, 1999). Etmenlerin kişisel yardımcı rolü oynaması otonomi, tepki verebilme ve amaca yönelik planlama yeteneğinin olmasından kaynaklanmaktadır. Bu özelliklere sahip bir etmen kullanıcı amaçlarını gerçekleştirmede yardımcı olacak aktiviteleri bağımsız olarak yerine getirebilir ve kullanıcı ile iletişimde bulunabilir. Özellikle otonomi özelliği insanlarla ile etmenlerin etkileşiminde çok önemlidir.

İnsan-etmen etkileşimi , görev ve yetki ataması, etmenlerin bir görevi yerine getirmek için programlanması, içerik paylaşımı ve diyaloglar şeklinde olmaktadır. Bu tez çalışmasında odaklanan nokta, bir etmene görevlerin atanması ve bunu sağlayan bir akıllı e-Learning ortamı oluşturmaktır. Çok-etmenli bir mimari sunulmaktadır, bu mimaride her kullanıcıya bir kişisel etmen sağlanmaktadır. Bu etmenler kullanıcıların aktivitelerini gözlemleyip her kullanıcı için bir öğrenci modeli oluşturmakta ve onlara bilgiye ulaşmada yardımcı olmaktadır.

Web tabanlı bir eğitim sisteminde diğer önemli bir konu “Farkında Olma” dır. Yani sistemi oluşturan öğelerin(kullanıcı ve etmenlerin) birbirlerinin varlığından, ne yaptıklarından ve nerde çalıştıklarından haberdar olmalarıdır. Yapılan bu tez çalışmasında kullanıcıların sistemde olup bitenleri izlemek için kendi kişisel etmenlerini programlayabildikleri bir insan-etmen etkileşim arabirimi önerilmektedir. Sistemde, herhangi bir kullanıcı sisteme ne zaman login oldu, ne zaman sistemden çıktı veya herhangi bir kullanıcı tartışma forumunda bir mesaj okudu mu ya da herhangi iki kullanıcı arasında bir mesaj gönderimi oldu mu gibi bazı kullanıcı aktiviteleri etmenler tarafından saptanıp izlenebilecektir. Örneğin; “Nalan sisteme giriş yaptı!”, “Ali tartışma forumuna bir soru gönderdi”, “Ahmet tartışma forumunda bir mesajı okudu”, “Alev Mehmet’den yardım istedi” gibi olaylar. Bazı durumlarda sistemde bu kadar şeffaflık tercih edilmeyebilir. Yani kullanıcılar gizlilik hakkı isteyebilir ya da kendisini kimin izlediğini, ne izlediklerini bilmek isteyebilir.

(8)

1.1 Tezde Amaçlananlar

Bu tezde amaç, etmen programlamanın sistemin genel performansını nasıl etkilediğini anlamak ve bazı sorulara yanıt bulmaktır. Bu sorular şunlar olabilir :

• Kullanıcılar için kendi etmenlerini programlamaları ne kadar kolay ya da ne kadar zor olabilir?

• İnsanlar bu tür sistemlerde etmen programlamanın gerçekten yararlı olduğu kanısına varabilecekler mi?

• Kullanıcılar etmenleri kötüye kullanarak sisteme zarar verebilirler mi ve sistem bundan nasıl korunabilir?

• Kullanıcıların gizlilik ilkeleri ile ilgili endişeleri neler?

• Etmenlerin programlanabilmesi ile yani zeki etmenlerin kullanımı ile sistemin gelişmesi ve iyileşmesi gerçekten sağlanabilir mi?

• Kural tabanlı uzman sistem oluşturulup, zeki etmenlerin ve sistemin başarımı artırılabilir mi?

• Akıllı etmenler veya diğer Yapay Zeka teknikleri kullanılarak, öğrencilere birebir kişiye özgü uyarlanmış eğitim sunulabilir mi?

Tez çalışması, giriş kısmından başka şu kısımlar üzerinde şekillendirilmiştir: Kısım 2 etmen-tabanlı sistemler ve öğrenme ortamları hakkında temel bilgiler ve bazı uygulama örnekleri. Kısım 3 programlanabilir etmenlerin tasarlanması işlemini tanımlamaktadır. Son kullanıcılar için programlama ortamının fonksiyonelliği, yararları ve riskleri hakkında bilgiler verilmiştir. Kısım 4 de etmen programlamaya olanak sağlayan bir uygulama mimarisi örneği verilmektedir. Sistemdeki her bir etmene kural tabanı eklemeye olanak verilmektedir. Kısım 5’de de sistemin getirileri üzerinde durulmaktadır. Son kısımda da araştırma sonuçları verilip bazı yargılara varılmaktadır.

(9)

2. TEORİK BİLGİLER VE BAZI UYGULAMA ÖRNEKLERİ

Bu kısım etmen-tabanlı sistemlerin bazı konularını, insan-etmen etkileşimini ve daha önceden yapılmış uygulamalarda hangi metotların kullanıldığını incelemektedir. Ayrıca bazı eğitim-öğretim sistemlerinde etmenlerin kullanımına göz atılmaktadır.

2.1 Etmen-Tabanlı Sistem

Yazılım etmeni (software agent) , kendi ortamında bulunan bilgiler ile kendisine gelen bilgileri kullanarak (bu bilgiler diğer etmenlerden etmenler arası iletişim protokolüne uygun bir biçimde gelir) belli bir işi tamamlayan yazılım parçasıdır. Yazılım etmenlerinin bilgisayar destekli görevlere uygulanma fikri ilk olarak Nicholas Negroponte (Negroponte, 1970) ve Alan Kay(Kay, 1984) tarafından ortaya atılmıştır. Çalışmaların büyük çoğunluğu etmen tasarımı ve uygulamaları üzerine olmuştur. Etmen-tabanlı sistemlere bir kaç örnek vermek gerekirse: Toplantı Randevu Etmeni (Kozierok and Maes, 1993), Calender Agent(Payne, 2002) ve online alışveriş etmeni (Haubl and Trifts, 2000 ). Bu bölüm etmenlerin bazı özellikleri ile etmenlerin kullanım yararlarına göz atmaktadır.

2.1.1 Etmenin Tanımı

En genel anlamı ile bir etmen (agent), kendi ortamını izleyen ve bu izleme sonucu gerekli davranışları gerçekleştirebilen bir nesne olarak tanımlanabilmektedir. Bununla birlikte evrensel olarak kabul edilmiş bir tanım bulunmamaktadır. Etmenlere ilişkin bazı temel özellikler ise şunlardır:

-Otonomi:Etmenler sürekli kullanıcı kontrolünde olmamalıdır. Kendi davranışları ve durumları hakkında belli bir derecede kontrolleri olmalıdır.

-İşbirlikçilik:Bir yazılım etmeni, kullanıcı ve diğer etmenler ile belli bir etmen iletişim dili ile iletişim kurabilmelidir.

-Amaç yönelimli olma: Bir etmenin planlama yeteneği olmalıdır.

(10)

2.1.2 Etmen Niçin Kullanılır?

Yazılım etmenlerinin çok önemli katkıları bulunmaktadır. Bunlardan biri , bir kullanıcı bir görevi yerine getirirken başka bir görevi onun yerine bir etmenin yerine getirebilmesidir. Böylece bazı rutin işlerde insanın rolü azalabilmekte, daha önemli işler için zaman ve efor sağlanabilmektedir. Bu Maes’in bir etmen bir görevi yerine getirmede kişisel yardımcı gibi davranabilir düşüncesi ile uyuşmaktadır. Şekil 2.1 (Maes, 1994) bir kullanıcı ile bir etmen arasındaki işbirliği ilişkisini göstermektedir.

Şekil 2.1 - Bir etmenin kullanıcı ile birlikte çalışması (Copyright@ACM)

Bilgisayar sistemleri günümüzde insan hayatında pek çok alanda kullanılabilmektedir ve bu alanlar gittikçe de artmaktadır. Bilgi teknolojileri, eğitim, bilgi sağlama, görev ve aktivite zamanlama, email yönetimi, eğlence, bireysel ve toplu öğrenme bu alanlardan bazıları. Yetenekleri ve ihtiyaçları çeşitlilik gösteren birçok farklı toplum tarafından kullanılmaktadır. İnsan bilgisayar etkileşiminde, insan yerine getirilmesini istediği görevleri bizzat başlatmalı ve işlem sırasını da dikkate almalıdır. Örneğin bir dosyayı bir klasörden başka bir klasöre kopyalamak

(11)

için, kullanıcı ilk olarak dosyanın bulunduğu klasörü açmalı, dosyayı kopyalamalı, daha sonra hedef klasörü açmalı ve dosyayı buraya yapıştırıp her iki klasörü de kapatmalıdır. Etmenler söz konusu olduğunda ise kullanıcı etmen ile iletişime geçer, onu programlayarak görevi yerine getirme işini etmene bırakır. Yani dosya kopyalama örneğine dönersek, kullanıcı etmene hangi dosyayı nerden alıp nereye kopyalayacağını söyler ve etmen kopyalama işini kullanıcının yerine gerçekleştirir.

Etmenlerin kullanımıyla ilgili bir diğer avantaj, etmenlerin can sıkıcı ve sürekli tekrarlanan görevleri dikkatini dağıtmadan ve performans düşümü göstermeden yerine getirebilmeleri ve pek çok yerde insandan daha hızlı ve seri hareket edebilmeleridir. Örneğin bir web etmeni, herhangi bir web sitesindeki anlık değişiklikleri izlemek üzere programlanabilir ve belli bir çalışma alanı ile ilgili yeni makaleleri kullanıcıya sunabilir. Sıkılmadan, yorulmadan haftanın 7 günü, günün 24 saati siteyi tekrar tekrar ziyaret edebilir ve yeni makaleleri tarayabilir. Bir diğer örnek, kullanıcıların elektronik marketlerde alışveriş yapmasına yardımcı olabilirler. Ürün veritabanını sürekli tarayarak, ürünleri ve fiyatları hızlı bir şekilde karşılaştırabilir, ürün girişi-çıkışı gibi olayları anlık izleyip loglayabilir.

Etmenleri kullanmanın son önemli avantajı, etmenlerin kullanıcı özelliklerine ve durum değişikliklerine kolaylıkla ayak uydurabilmeleri, yeni şartlara anında adapte olabilmeleridir. Etmene minimum düzeyde geri plan bilgisi verildiğinde, etmen kullanıcı ile ortamdan öğrenme sonucu kendisi için gerekli üst düzey bilgiyi edinebilir. Maes’e (Maes, 1994) göre bir etmen 4 farklı kaynaktan öğrenme becerisini edinebilir. Kullanıcıyı izleyerek, kullanıcının etmene sağladığı dolaylı veya dolaysız geri besleme ile, kullanıcıdan komutlar alarak ve aynı görevleri yerine getiren diğer etmenlerden öğrenerek.

2.2 İnsan-Etmen Etkileşimi

Bundan önceki bölümde bahsedilen özellikleri sayesinde bir etmen bulunduğu ortamda bağımsız olarak hareket edebilir, kullanıcıların hedeflerine ulaşmalarına yardımcı olabilir ve etkin bir şekilde kullanıcı ile iletişimde bulunabilir. Bununla birlikte etmenin kullanıcı ara yüzü tasarımında bazı konularda zorluklarla

(12)

karşılaşılmıştır.(Dickinson, 1998). Bu konular şunlardır: görev ve yetki atama, etmenleri yönlendirme, içerik paylaşımı ve etmenlerle diyalog.

2.2.1 Görev Ve Yetki Atama

Görev atama işlemi, bir etmenin bir görevi bir kullanıcının adına yerine getirmek üzere yetkilendirilmesidir. Etmen kullanıcıdan görevi alır, ortamı tarar ve görevi yerine getirmek için gerekli işlemleri takip eder.

Bir kullanıcı etmene bir görev atadığı zaman arada bir güven ilişkisi kurulur. Bunun için kullanıcının görevi atayacağı etmenin tam olarak ne yaptığını ve özelliklerinin ne olduğunu bilmesi gerekir. Milewski ve Lewis yaptığı çalışmada bunun çok kolay bir iş olmadığını ortaya koymuşlardır. (Milewski and Lewis, 1997). Benzer olarak, Shneiderman (Shneiderman and Maes, 1997) etmenleri kullanmanın sistemin tüm kontrolünü kaybetmek olduğunu ileri sürmüştür. Bunu engellemek için ise, kullanıcıların etmenleri sürekli izleyip denetleyebildikleri bir sistem geliştirmek gerektiğini savunmuştur. Etmenlere görev ve yetki atama işlemi, aynen insana görev ve yetki atamada olduğu gibi bazı riskler içerir. Bu riskler, yapılmak istenen şeyin yanlış anlaşılması ve dolayısı ile doğru şekilde yerine getirilememesi olabilir. Bu risklere rağmen işlerin yürümesi için çoğu zaman birlikte çalıştığımız kişilere güveniriz. Çünkü işler işbirliği yapıldığında daha kolay ve daha az zamanda yerine getirilmektedir.

Etmenlere görev atamada bir diğer önemli konu yetkilendirmedir. Farklı kullanıcılar, etmenlere farklı derecelerde yetkilendirme yapmak isteyebilir. Örneğin bir kullanıcı, market alışverişinde yüksek ücretli malı seçmesi için bir etmene yetki vermek isteyebilir. Bir diğer kullanıcı kontrolü daha çok kendi elinde tutmak istediğinden etmene sınırlı yetki verebilir. Bu yetki seviyesi tasarım anında kullanıcı tarafından şifrelenmeli ve böylece çalışma anında kullanıcı bu seviyeyi değiştirememelidir.

Sistemde bir etmen diğer etmenlerle etkileşim veya iletişim halindeyken, kullanıcı kararını değiştirebilir yada kullanıcı ile etmen arasında anlaşmazlık olabilir. Böyle durumlarda kullanıcı ne yapabilir, etmeni durdurabilir mi veya iletişimi iptal edebilir mi? Bir etmenin eylem ve hareketlerinden kim sorumlu olacak? Bu konular

(13)

teknik olmayıp daha çok sosyal niteliktedir; fakat etmen-tabanlı sistemlerde bunlar çözüme kavuşturulmalıdır.

2.2.2 Etmenleri Yönlendirmek

Eğer otonom etmenler kullanıcıların yerine bazı işleri üstleneceklerse, insanlar tarafından yönlendirilmeli yani komutlar almalıdır. Buradaki mesele kullanıcının etmeni nasıl yönlendirdiği ve etmenin bilgi domainini nasıl anladığıdır.

Çözümlerden bir tanesi, bilgi domaini açık olarak yada örtülü bir şekilde etmenin uygulama ve ara yüz birimleri içinde kodlanmasıdır. Böylece etmen belirli bir domaine özel görevleri anlayıp uygulayabilir. Bununla birlikte kullanıcı etmenin aşina olmadığı bazı kavramları kullanarak etmene görev ataması yapabilir.

Etmenler sistemde olası yeni değişikliklere uygun tepki verebilmelidir. Yani yeni durumu yorumlayıp karakterize edebilmeli, ne yapılması gerektiğine veya kullanıcının tam olarak ne istediğine karar verebilmelidir.

Bu kullanıcıdan gelen bilgi girişine bağlıdır fakat daha görevin başlangıç aşamasında iken kullanıcının tüm gerekli bilgiyi girmesi de pek mantıklı değildir. Örneğin bir mail etmeni gelen mesajları sıralamayı, silmeyi, forward etmeyi, arşivlemeyi ve onlara öncelik atamayı öğrenebilir ve bu işlemleri kullanıcının yerine otomatik olarak yerine getirebilir. Bilinmeyen bir kullanıcıdan veya konusu belli olmayan bir mail geldiğinde mail etmeninin ne yapacağı belli değildir. O halde etmen bu durumlarda nasıl davranır, nasıl tepki verir ve kullanıcı tam olarak ne yapacağını etmene nasıl bildirebilir?

2.2.3 İçerik Paylaşımı

İnsanlar yaşamları boyunca büyük miktarlarda bilgi edinme gereksinimi duyarlar. Edinilen bilgi sayesinde insanlar hangi durumlarda ne yapmaları gerektiğine karar verirler. Etmenler de aynı şekilde insanların yerine bazı görevleri yerine getirirken ve bazı kararlar alırken bilgiye gereksinim duyarlar.

İçeriksel bilgiyi iki ayrı parçaya ayılabiliriz. Bunlardan ilki, sırasıyla domain modeli ve kullanıcı modeli olarak adlandırılan uygulama ve kullanıcı hakkındaki

(14)

temel bilgilerdir. Bu bilgiler sabit bilgilerdir ve ister tasarım anında ister çalışma anında etmenin bilgi tabanına girilebilir. Diğer parçası ise daha dinamiktir ve farklı kullanıcılara ve farklı durumlara göre değişiklik gösterebilir.

Örneğin “Meşgul” kelimesi farklı ortamlarda ve farklı zamanlarda farklı anlamlar taşımaktadır. Bir ofis ortamında, birinin başka biriyle görüşüyor olması, gazete okuyor olması, bir rapor yazıyor olması veya telefonda biriyle konuşuyor olması manalarına gelebilir. Fakat ev ortamında gazete okumak veya telefonda konuşuyor olmak dinlenme manasına gelebilir. Bir kullanıcı bir etmene “Eğer meşgulsem, benim yerime telefona ve maillere cevap ver” gibi bir görev atarsa, etmen “meşgul” deyimiyle ne anlatılmak istediğini anlamaz ve karmaşaya düşer. Burada kullanıcı “meşgul” ile tam olarak neyi anlatmak istediğini belirlemelidir. Yani kullanıcı ile etmen ortak bir dilde buluşmalıdır. Burada da mesele, etmenin kullanıcısı ile bilgiyi dinamik bir şekilde nasıl paylaşabileceğidir.

2.2.4 Etmenlerle Diyalog

İnsan-bilgisayar arasında gerçekleşen iki tür yaygın diyalog sistemi vardır. İlkinde, insan master rolündedir, bilgisayara komutlar girer ve sorgulamalar yapar. Bilgisayar ise slave roldedir ve girilen komutlara ve sorgulamalara göre hizmet sağlar. Diğer türde ise, diyaloğu yönlendiren ve yöneten bilgisayardır. (Örneğin bilgisayar tabanlı bir eğitim sistemi). Bazı sistemlerde de iki tür de mixed olarak kullanılmıştır.(Novick and Sutton, 1997; Horvitz, 1999;Boicu , 2000). Bu sistemlerde diyaloğun yönetim ve kontrolü bazen kullanıcıya bazen de bilgisayara (etmene) geçebilmektedir.

Diyaloğun kontrol ve yönetiminden başka diğer bazı konuların da açıklığa kavuşturulması gerekiyor: Etmenler yüzsel ifadeler kullanmalı mı? İnsan ile zeki etmenler arasındaki doğal diyalog stilleri nelerdir? Kullanıcı ile etmen iletişiminde hangi ortak dil kullanılacak? Doğal dillerin konuşulma ve yazılma mecburiyeti var mı? Diyalogda duygusal tonların kullanımına ihtiyaç duyulur mu? Allen yaptığı çalışmada ileriki zamanlarda insanların bilgisayarlar ile karşılıklı konuşma şeklinde kolaylıkla anlaşabileceğini ve bunun da en doğal ve en güçlü yol olacağını ileri sürmektedir. (Allen, 2001). Speech Recognition ve Speech Synthesis teknolojileri

(15)

yaklaşık 20 yıldır kullanılmaktadır. Bununla birlikte teknik sınırlandırmalara bağlı olarak başarılı olan çok az uygulama bulunmaktadır. Ayrıca bilgisayar ve elektronik alanındaki gelişmelere paralel olarak, el ve göz serbestliği sağlayan basit ve kullanışlı kullanıcı ara yüzleri geliştirme ihtiyacı giderek artmaktadır.

Son olarak kültür de etkin ve verimli diyalog sistemlerin geliştirilmesinde oldukça etkilidir. Uluslar arası bir diyalog sistemi geliştirmenin zorluğu sadece dil, karakter setleri değil aynı zamanda farklı kültürlerde farklı anlamların olmasıdır. Örneğin yüzsel ifadeler farklı kültürlerde veya farklı ülkelerde farklı anlamlara gelebilir. Çoğu ülkede, başı aşağı yukarı sallama hareketi Evet, sağa sola sallama hareketi ise Hayır anlamına gelirken, bazı ülkelerde de tam tersidir.

2.3 Zeki Etmen-Tabanlı Sistemler Geliştirme Yaklaşımları

Bir çok araştırmacı ve gözlemci etmenlerin oluşturulması üzerine çalışmaktadır ve çeşitli çözümler ortaya atmaktadırlar. Bu bölümde farklı insan-etmen ara yüzü geliştirme seçenekleri tanıtılmıştır.

2.3.1 Bilgi-Tabanlı Yaklaşım

Bilgi tabanlı yaklaşım, domain modelin ve kullanıcı modelinin ileri düzeyde kodlandığı yaklaşımdır. Çalışma zamanında, etmen bilgi tabanını kullanarak kullanıcı planları hakkında çıkarımlar yapar ve bu çıkarımlara göre hareket eder. UCEgo (Chin, 1991) bu yaklaşıma göre tasarlanmış bir ara yüz etmenidir. Sistem kullanıcılara Unix işletim sistemi için bir kullanıcı arabirimi sağlar ve kullanıcıya yardımcı olur.

Kullanıcıların tekrarlı eylemlerinin olduğu uygulamalar için bilgi tabanlı yaklaşım oldukça uygundur. Uygulama ve domaine özel oldukça fazla miktarda bilginin etmen bilgi tabanına girilmesi gerektiğinden çalışma yükü fazladır. Bu tür yaklaşımın bir diğer eksikliği, kullanıcıların bireysel alışkanlıklarına ve değişen şartlara göre özelleştirilememesidir. Bir de kullanıcılar etmenlerin nasıl düşündüğünü

(16)

ve nasıl çalıştığını bilmediklerinden sistem üzerindeki kontrollerinin azaldığını düşünebilirler yani güven problemi mevcuttur.

2.3.2 Makine Öğrenmesi Yaklaşımı

Makine öğrenmesi yaklaşımı ile, bir kullanıcının kural tabanını programlaması yerine, etmen kullanıcı hareketlerini izleyerek , düzenlilikleri saptayarak kendisi bilgiyi edinir. Yeni durumla karşılaştığında, etmen önceki durumlardan en benzer olanına göre hareket eder. Maes(Maes, 1994) bir etmenin yeni bir durumla karşılaştığında nasıl davranacağını kademeli olarak öğrendiğini iddia eder. Kullanıcıyı izleyerek, geri beslemeyi dikkate alarak, komutlar alarak veya diğer etmenlerden öğrenerek.

Son zamanlarda elektronik ticaret alanında elektronik profil oluşturma oldukça popüler olmaya başlamıştır. Kullanıcı profili oluşturmak amacıyla kullanıcı özelliklerini öğrenen akıllı etmen geliştirme üzerinde çalışılmıştır. (Libeman, 1997)

Makine öğrenmesi yaklaşımında son kullanıcı, etmen tasarımcıları ve uygulama geliştiriciler çok daha az efor sarf ediyorlar. Ayrıca etmen kolaylıkla kullanıcıya adapte olabilir ve bireysel tercihlere ve alışkanlıklara göre özelleştirilebilir. Bununla birlikte bazı zayıf noktalar vardır: etmen genelde yavaş öğrenme eğrisine sahiptir ve bu yüzden yeteri kadar örnek edinesiye kadar tam faydalı olamaz. Bundan başka etmen gerçekten yeni olan durumlarda tavsiyede bulunamaz çünkü bu yeni duruma uyan bir örnek bulamaz.

2.3.3 Son Kullanıcı Programlama Yaklaşımı

Son kullanıcı programlama yaklaşımında, sistem belli görevlerle ilgili kesin bilgi içeren bir küme kullanıcı tanımlı kurallardan oluşan yarı otonom etmenlere sahiptir. Lai ve Malone’nin Object-Lens sistemi (Lai, 1998) bu tür yaklaşımı kullanan bir çalışmadır. Kullanıcılara insanlar, görevler, ürünler,mesajlar vb. hakkında bilgi sunma hakkı verilmiştir. Yarı otonom etmenler oluşturularak, kullanıcılar tercihlerine göre kurallar belirleyebilirler. Daha sonraları, bu fikri benimseyen başka uygulamalar geliştirildi: SOFTBOT (Etzioni and Weld, 1994),

(17)

Apple Data Detectors (Nardi, 1998) ve Stagecast (Smith, 2000). Bu uygulamalar ile ilgili detaylı bilgi Bölüm 2.4 de bulunabilir.

Bu yaklaşımın en büyük avantajı, kullanıcının etmenin ne yaptığını ve nasıl yaptığını anlayabilmesidir. Bazı görevlerin kontrolünü etmene devretse de, kullanıcı istediği zaman kontrolü kendi eline alabilir. Bununla birlikte bu yaklaşımın bazı dezavantajları da vardır. (Lashkari, 1994). Kullanıcı etmenlere görev atama olanağının olduğunun farkında olmak zorunda, kuralları belirlemek zorunda ve kişisel tercih değişikliklerine göre kuralların zamanla değişmesini önlemek zorunda.

2.4 Etmenlerin Programlanabilirliği

Kullanıcıların etmenlere atadığı rutin görevlerin çoğu, bir web sitesinden özel bir konuda bilgi çıkarma, güncel bir konu hakkında tartışan bir haber grubunu izlemek veya birkaç koşullu eylemi gerçekleştirmek gibi kompleks davranışlar içerir. Kullanıcılar etmenlerin görevlere atanması için bazı gereksinimlere sahip olurlar ve bu gereksinimler zaman zaman değişirler. Etmenlerin oluşturulmasında farklı yaklaşımlar analiz edilirse, basit bir bilgi tabanlı yaklaşımın etmenlerin özelleştirilmesi ve kişiselleştirilmesi için pek de uygun olmadığı anlaşılabilir. Etmenlerin öğrenme yetenekleri insana göre ilkeldir ve insanların niyetlerini sezmesi çoğu zaman mümkün değildir. Örneğin, patronumdan “Acil” konu başlıklı bir mail aldığımda uyarılmak isteyebilirim ve bununla ilgili geçmişte benzer bir durum hiç olmamış olabilir. Bu yüzden öğrenmeyi sağlayacak bir örnek temel olmadığından etmen ne yapacağını bilmez. Bu ve bunun gibi problemler, kullanıcının zeki etmenleri programlaması ile halledilebilir.

Son kullanıcı programlama yaklaşımı, kullanıcılara bazı spesifik özellikleri tanımlayabilecekleri bir ortam sağlamaktadır. Ayrıca oldukça esneklik sunmaktadır ve gereksinimleri değiştiğinde kullanıcılar kolaylıkla kuralları güncelleyebilmektedir. İnsan-etmen etkileşiminde, etmenlerin sorumluluğunun kim tarafından alınacağı, etmenlerin nasıl yönlendirileceği gibi sorunlar aşılabilir.

Bu türdeki zeki etmenlerden en sık karşılaşılanı birçok web sitesinde bulunan bildiri ve uyarı etmenleridir. Bu etmenler genellikle form-tabanlı ara yüz kullanır ve

(18)

kullanıcıya, herhangi bir ürünün satışı gibi kullanıcıyı ilgilendiren bir konu hakkında bilgilendiren bir olayı girmesine olanak sağlar. Satış gerçekleşince olay tetiklenir, etmen satışı bildiren bir mail gönderir.

Geçerli diğer son kullanıcı programlama yaklaşımları yüksek seviyede script dillerini, formları, doğrudan uygulama ara yüzlerini ve gösterim yoluyla programlamayı içerir.

2.4.1 Scripting ve Form Doldurma

Bir script, belirli bir seviyede etmenin davranışını belirlemeye imkan sağlayan bir çeşit uygulama programlama ara yüzü olarak düşünülebilir. Doğru bir yaklaşım; etmeni belirli bir durumda etmenin ne yapması gerektiğine karar veren elle yazılmış scriptlerin bir kütüphanesi ile donatmaktır. Çalışma zamanında geriye kalan iş, bu kütüphaneden o anki durumun şartlarına uyan ve aynı zamanda verilen bir görevi yerine getiren uygun bir script seçmektir.

Scriptlerin elle yazılmasında bazı problemlerle karşılaşılır. Scripti yazan kişi, olası tüm durumları ve görevleri dikkate almalıdır. Yazılan scriptler dinamik olmalı ve şartlara göre değişiklik gösterebilmelidir. Bu da otomatik kod oluşturma çalışmaları ile mümkün olabilmektedir. PPP (Personelized plan-based presenter) projesi teknik cihazların operasyon komutlarını otomatik oluşturan bir çalışmadır. (Andre and Rest, 1996)

Bir script dili kullanmak, kullanıcıların büyük efor sarf etmelerini gerektirir fakat script programlama çok güçlüdür ve kullanıcılar belli görevleri otomatikleştiren modüller geliştirebilirler. Form-tabanlı uygulama geliştirme ile script programlama birleştirilebilir. SOFTBOT (Etzioni and Weld, 1994) bu yaklaşıma uyan bir uygulama örneğidir. Kullanıcı planlama programı ile form-tabanlı bir ara yüz vasıtası ile etkileşimde bulunur. Sisteme bu form aracılığı ile gerçekleşmesini istediği hedefi girer. Eylemler kütüphanesinde bu aranır ve hedefin gerçekleşmesini sağlayan bir dizi eylem belirlenir.

(19)

2.4.2 Gösterim Yoluyla Programlama

Gösterim yoluyla programlama, bir kullanıcının bir sistemi “Ne yaptığımı izle” gibi sistemi yönlendirmesini ve sistemin gözlemlediği bu eylemler dizisini daha kapsamlı durumlara uygulayabilmesini sağlar.

Gösterim yoluyla programlamada, kullanıcının geleneksel bir programlama dili veya script dili öğrenmesine gerek yoktur. KidSim (Smith, 1997) bu yaklaşıma uyan örnek bir uygulamadır. KidSim çocuklara karakterlerin iki boyutlu bir dünyada hareket ettikleri kendi simülasyonlarını oluşturmalarına imkan verir. Çocuklar kendi karakterlerini oluşturabilirler ve bu karakterlerin nasıl davranacaklarını ve kendi aralarında nasıl etkileşimde bulunacaklarını belirleyen kurallar tanımlayabilirler.

2.5 Etmenlerin Eğitim Ortamlarında Kullanımı

Etmenler enteraktif eğitim-öğretim ortamlarına uygulanan popular eklentilerdir. Genel olarak bir eğitim ortamı öğretmenlerden ve öğrenme işini gerçekleştiren öğrencilerden oluşur. Burada öğretmenler ve öğrenciler insan da olabilir yapay eşler de. Öğretmen ve öğrenciden başka bir eğitim ortamı öğrencilerin kullanabileceği bilgisayar tabanlı eğitim araçları (eğitimsel yazılımlar, iletişim araçları vb..) ve öğrencilerin öğrenmek zorunda oldukları konuları içeren öğrenme materyalini içerir.

Animasyonlu pedagojik etmenler (Johnson, 2000) eğitim ortamlarında yapay öğreticiler olarak kullanılır. Pedagojik etmenler, bilgisayar destekli eğitim ortamlarında öğrencileri yönlendiren canlandırılmış (animasyonlu) karakterlerdir. Pedagojik etmenler, sözlü iletişimi ve sözlü olmayan işaretleri içeren insan eğiticileri simüle eder tarzda sistemdeki öğrencilerle etkileşimde bulunur. İnsanlar için önemli olan hem duyguları hem de düşünceleri ifade edebilirler. Bu pedagojik etmenler sadece öğretilecek konular hakkında bilgili olmayıp aynı zamanda pedagojik stratejiler ve WWW(World Wide Web) gibi kapsamlı kaynaklardan konu ile ilgili bilgiye nasıl erişebileceği konusunda da bilgiye sahiptir. Pedagojik etmenlere örnek bir uygulama STEVE (Rickel and Johnson, 1999) dir. 3 boyutlu ortamlar için geliştirilmiş bir görsel eğitici. STEVE sorulara cevap verebilir, öğrencilerin eylem ve

(20)

aktivitelerini izleyebilir ve öğrencilere çeşitli tavsiyelerde bulunarak onları yönlendirebilir. Diğer önceki uygulamalara nazaran öğrencilere daha insansı tarzda asistanlık yapabilir.

AUTOTUTOR ve ATLAS diğer iki başarılı zeki eğitim sistemi örneğidir. AUTOTUTOR (Graesser, 1999) tanıtıcı nitelikteki bir bilgisayar kursunda kolej öğrencilerine rehberlik yapan tam otomatik bilgisayar destekli eğitim sistemidir. İleri düzeyde akıl yürütme gerektiren soruların çözümünde öğrencilere yardım etmek için onlarla devamlı bir diyalog halindedir. Sistemde öğrencinin bir soru karşısında ne yaptığını izleyip, onun ne yaptığını anlamaya çalışır ve yanılgıya düştüğü yerlerde onu doğru çözüme ulaştırmada yönlendirir. ATLAS (VanLehn, 2000) ise, kolej öğrencilerinin fizik dersinde kavramsal bilgilerini geliştirmeye yardımcı olan bir akıllı eğitim sistemi örneğidir.

Telekomünikasyonun ve internetin gelişmesi ile, online eğitim ve işbirlikçi eğitim olanakları da arttı. Online eğitim, bilgisayar ve internet altyapısını kullanan, internet destekli eğitim yada e-Learning olarak tanımlanır. (Downes, 1998). Geleneksel uzaktan eğitimden farklı olarak, sadece eğitim materyalinin dağıtılması işini değil aynı zamanda görsel ve işitsel ortamda etkileşimli,işbirlikçi bir eğitim ortamı sağlama işini de üstleniyor.

Yapılan diğer çalışmalara baktığımızda, akıllı e-Learning sistemleri ile ilgili birkaç uygulama olduğunu görmekteyiz. Bu uygulamalar teorideki tüm ihtiyaçları karşılamamakla beraber yani tam anlamı ile zeki sistemler olmamakla birlikte, temel oluşturması ve ilerideki daha kapsamlı ve ihtiyaçları tam karşılayan sistemler geliştirmede oldukça aydınlatıcıdır. Saymak gerekirse :

• Otomatik Soru-Cevap Sistemi

• Öğrenci Karakteristikleri ile Eğitim İçeriklerinin Eşleştirilmesi • Web tabanlı Akıllı Sınav Hazırlama Sistemi

• Öğrenci Modelleme • Dinamik Link Yöneticisi • Otomatik Cevaplama Tool’u

(21)

Bunlardan en çok kullanılanları, Otomatik Soru-Cevap sistemi ve Öğrenci Modelleme sistemidir.

2.5.1 Otomatik Soru-Cevap Sistemi

Öğrenci çoğu zaman çalıştığı konu ile ilgili metaryal ve kaynağa erişmesini bilmez. Çok fazla zaman harcar ve öğrenmeye bu negatif bir etki olarak yansır. Zeki etmen sistemi ile doğru kaynağa kısa sürede ulaşması sağlanabilir. Böylece öğrenci enerjisini ve zamanını dersler ile ilgili kaynağı aramakta değil, hazır kaynak ile dersi anlamada harcar. Sistemin bileşenleri ise şöyledir:

*.Otomatik Varlık Tanıma : Kurs materyalini kullanarak,varlıkları tanır ve otomatik öğrenme sağlar.

*.Alternatif Kaynakların entegrasyonu : Taranmış belgeler ve powerpoint sunuları gibi farklı elearning dökümanları farklı bilgi ve sunum metodlarına sahiptir. Sistem bu farklı dökümanları birleştirip, özetlenmiş ve anlaşılır halde kullanıcıya sunmalıdır.

*.Sistem problemin içeriğini,gelişmiş sorgulamalarla ve benzetme yöntemiyle otomatik olarak ortaya koyabilmeli.

*.Geribesleme : Konu ile ilgili anahtar sorular aracılığı ile sistem kullanıcıya geri bildirim sağlamalı ve soruya cevap dönmelidir.

Sistemin Çalışması

Kullanıcı sisteme girer ve ilgili olduğu kursu başlatır. Kurs ile ilgili sorusunu sorar. Durumu belirlenmek üzere soru Soru sınıflandırma alt sistemine gelir ve sınıflandırılır. Daha sonra Link Parser alt sisteminde anlamlı parçalara ayrıştırılır ve bağlantı yapısı oluşturulur. Daha sonra Sorgu Formulasyonunda, soru anlamlı sorgulara dönüştürülür ve Sorgulama Motoruna gönderilir. Query Expansion ünitesi, cevabın daha anlamlı olması için soruyu alt kademelere bölmek için kullanılır. Sorgulama Motoru anlamlı sonuçları çıkarır ve Answer Selection ünitesine gönderir. Answer Selection'da sonuçlar analiz edilir ve en uygun olan kullanıcıya sunulur. Kullanıcı tatmin olmazsa geri besleme yolu ile tekrar sisteme döner ve bu defa doğrudan Answer Selection biriminde yeni analiz sonucu daha uygun cevap kullanıcıya tekrar sunulur.

(22)

2.5.2 Öğrenci Modelleme

Akıllı Elearning sistemlerde,öğrenci modelleme birçok çeşitlilik gösterir.Bazıları öğrencinin planlarını ve çözüm yollarını tanımak için,bazı modeller,öğrenci performansını ve problem çözme kabiliyetini değerlendirmek için,bazıları da öğrencilerin ihlal ettiği kısıtlamaları tanımlamak için geliştirilir.

Öğrenci Modelinin Alt bileşenlere ayrılması:

1)Kararlar: Sistemin almak zorunda olduğu kararlar ve bu kararları destekleyen bilgiler analiz edilmelidir. En üst seviyede öğrenciye uygun bir problemin seçilmesine karar verilmelidir. Komplike oluşturulmuş bir sistemde, farklı tipte kararlar almada farklı modüllere gerek duyulur. Sağlıklı karar için, bu modüllerin öğrenci modeli ile iletişimde bulunması gerekir. Bu farklı modüller şunlar olabilir:

1.1)Ders Programının Düzenlenmesi : Öğrencinin performansı ve bilgi düzeyine göre, ne kadar bilgiye gereksinim duyduğuna karar vermek ve ona göre bir program hazırlamak.

1.2)Eğitim Protokolünü Belirleme:3 farklı eğitim protokolü vardır. Herbiri, sistemin öğrenciye problemin çözümünde nasıl yardımcı olacağı hakkında farklı kısıtlamalara sahiptir. Protokol seçimi kararı yine öğrencinin performansı ile ilgilidir. 1.3)Eğitim Diyolog Planlaması: Sistem ile öğrenci arasındaki text tabanlı diyalog modülü. Çoğunluğunu sistem oluşturur. Öğrencinin verdiği cevaplara göre, sistem hangi yolla eğitimin verileceğine karar verir.

2)Öğrenci Modelinin Bileşenleri:Öğrenci ile ilgili farklı kararlar almak için farklı seviyede ve farklı tipte öğrenci bilgisine ihtiyaç vardır.

2.1)Performans Bileşeni : Öğrencinin performansı ile ilgili değerlendirme yapar ve öğrenciyi bir seviyeye dahil eder. Öğrenciye sorular sorar ve aldığı cevaplara göre öğrencinin performansını ölçer.

2.2)Öğrencinin Cevap Geçmişi: Her bir konu ile ilgili öğrenci soruları sistem tarafından kaydedilir. Ayrıca öğrencinin cevapları da kaydedilir ve sınıflandırılır.

(23)

2.3)Öğrenci Çözüm Kaydı: Öğrencinin problemi çözerken kaç tane hata yaptığını kaydeder. Bu hataları analiz eder ve öğrencinin çözüm yolunu çıkarır, öğrencinin problem çözme kabiliyetini belirler.

2.4)Öğrenme Geçmişi: Bu modül, planlama ve konuşmaların(diyalogların) geçmişini tutar. Öğrenci ile ilgili değil de sistemin hareketlerini, aktivitelerini kayıt altına alır. Sistem karar vermede bu kayıtlardan yararlanır. Büyük bir kısmını planlama mekanizması oluşturur.

Tüm bu 4 model karar vermede,değerlendirmede ve bazı kıyaslama işlemlerinde kullanılır.

3)Tutarlı Kararlar Alma :Birden fazla öğrenci modeli olduğunda, her model farklı karar önerebilir bu yüzden nasıl tutarlı kararlar verileceği çok önemlidir. Bunun için hangi durumlarda hangi modelin daha önemli olduğuna karar veren kurallar oluşturulmalıdır. Örneğin öğrencinin cevap geçmişine ve performans kayıtlarına bakarak, daha fazla çalışıp çalışmaması gerektiğine karar verilebilir.

4)Çoklu Model Kullanma : Bazı durumlarda, daha sağlıklı ve tutarlı kararlar almak için farklı modelleri bir arada kullanmak gerekir. Örneğin tutorial diyalog planlamasında. Öğrenci hatalarına ve öğrenme geçmişine bakarak,planlayıcı yüksek seviyeli bir öğrenme metodu seçebilir. Cevap kategorisi,öğrencinin performansı ve öğrencinin cevap geçmişine bakılarak detaylı bir diyalog planlanabilir. Sistemdeki log dosyalarına bakılarak hangi durumlarda hangi modelin önemli olduğu anlaşılabilir.

*Öğrenci soruya doğru cevap vermediğinde, ne zaman ip ucu verileceğine ve ne zaman doğru cevabın verileceğine karar vermek için öğrencinin performans değerlendirme modeline bakmak gerekir.

*Öğrenci diyalog sırasında konu dışına çıkarsa veya diyalogu keserse, sistem ne yapması gerektiğine öğrencinin cevap geçmişine bakarak karar verir.

*Yine öğrencinin cevap geçmişi ve cevap kategorisi, farklı stratejilerin yeniden denenip denenmemesine karar vermede oldukça yardımcıdır.

*Öğrenme geçmişi,sistemin aynı ipuçlarını veya hatırlatmaları tekrar vermesini önler.

(24)

2.6 Bölüm Özeti

Bu bölümde, ilk olarak etmen tabanlı sistemlere, insan-etmen etkileşim biçimlerine ve farklı etmen geliştirme yaklaşımlarına bir göz attık. Daha sonra etmenlerin eğitim ortamlarında kullanıldığı çalışmaları inceledik ve birkaç örnek uygulamadan bahsettik. En sonda da etmenlerin e-Learning sistemlerinde kullanıldığı diğer uygulamalara değinildi.

Etmen inşa etme yaklaşımlarının analizi sonucu, her birinin kendine göre avantaj ve eksikliklerinin olduğunu gördük. Bazı yaklaşımlar farklı bireysel özelliklere kolayca uyum sağlarken kullanıcıların farklı ilgi ve gereksinimlerinde hızlı ve iyi çözümler sunamamaktadır. Diğer yaklaşımlar da kullanıcılar için çok daha güçlü destek sağlamakta fakat bunun için kullanıcıların büyük efor sarf etmelerini gerektirmektedir.

İdeal bir etmen tabanlı sistemin şu şartları sağlaması gerekmektedir: • Kullanıcılar etmenleri üzerinde tam bir kontrole sahip olmalıdır • Kullanıcılar etmenlere istedikleri gibi kolayca komut verebilmelidir • Kullanıcılar gizlik ve güvenlikleri konusunda rahat ve emin olmalılar

• Sistem değişen şartlara, bireysel özelliklere ve gereksinimlere kolayca uyum sağlayabilmeli.

(25)

3. EĞİTİM ORTAMI VE ZEKİ ETMENLERİN TASARLANMASI

Bu bölümde; bu tez çalışmasının asıl amacı olan temel seviyede bir eğitim ortamının ve bu eğitim ortamında kullanıcıların programlayabilecekleri etmenlerin tasarımı sunulmaktadır. İlk olarak etmen tabanlı bir online eğitim ortamının işlevsel tasarımı anlatılacak daha sonra da bu ortamda çalışacak etmen platformu tasarımına ve sistemin çok-etmenli yapısına değinilecektir. En son kısımda da etmenlerin yüksek seviyede programlanabilirliği, fonksiyonelliği ve son kullanıcı programlama ortamının riskleri ve yararları tartışılacaktır.

3.1 Etmen Tabanlı E-Learning Ortamı

Oluşturulması düşünülen etmen tabanlı online eğitim ortamı , öğrenciye internet üzerinden anlık yardım ve rehberlik sağlayan bir sistem olarak düşünülmüştür. Öğrencilerin bilgi ve deneyimlerini paylaştığı ve bilgi alışverişinde bulunabilecekleri bir “eşler arası” yardım sistemi. Yani öğrencilerin hem yardım aldığı hem de yardımcı olduğu bir sistem. Sistemin iki ayrı işlevsel bileşeni olacağı düşünülmüştür: Ortak Tartışma Modülü ve Özel Bire-bir Tartışma modülü.

3.1.1 Ortak Tartışma Ortamı

Ortak tartışma forumları ayrıca ilan tahtaları ve haber grupları olarak da bilinirler. Ortak tartışma forumlarında öğrenciler, foruma sorular gönderebilir, yaygın konularda problemleri tartışabilir, diğer öğrenciler tarafından gönderilen sorulara cevap yazabilir, foruma gönderilen soruları veya cevapları okuyabilir ve de belli bir yazara, başlığa veya anahtar kelimeye göre arama yapabilirler. Ortak tartışma bileşeni, öğrencilerin kayıtlı oldukları ders ile ilgili konulardaki tartışmalarını gruplandırır. Belirli bir kursu gören tüm öğrenciler, çeşitli kurs forumlarındaki soru ve cevapları içeren aynı bilgiyi paylaşır ve kullanırlar. Her bir soru veya bu soruya verilen her bir cevap, gönderim ID, yazar gibi bilgileri içeren bir gönderim olarak adlandırılır. Gönderim hakkındaki bilgiler ve bir kullanıcının bir gönderimi ne zaman okuduğu, bir kullanıcının foruma ne zaman gönderim yaptığı

(26)

gibi kullanıcıların ortak tartışmadaki aktiviteleri hakkındaki bilgiler veritabanında tutulurlar.

Kullanıcı program ara yüzünü kullanarak Ortak tartışma modülüne girdiğinde, yukarıda bahsedilen gönderim okuma veya yeni bir gönderim oluşturma gibi görevleri yerine getirebilir.

3.1.2 Bire-Bir Tartışma Ortamı

Bire-bir tartışma bileşeninde, konuşmalar gizlidir ve iki kişi ile sınırlıdır. Bir öğrenci bir soru sorduğunda uygun bir yardımcı sistem tarafından önerilir. Sistem öğrenci modeli ile diğer öğrenci modelleri arasında eşleştirme yapar ve zamanında yardım sağlamak için en uygun eşleri bulur. Yardım edecek kişi, bilgi seviyesi, verimlilik ve yardım etme istekliliği gibi kriterlere göre değerlendirilir. Yardımcı seçilir seçilmez, yardım isteyen ile haberleşmeye başlar. Aradaki diyaloglar eşzamanlı yada eşzamansız olabilir ve farklı eşlerin özel tartışmaları aynı anda gerçekleşebilir. Sistemdeki etmen mimarisi ve her bir etmen anlatıldıktan sonra ileriki kısımlarda bununla ilgili örnek bir senaryo sunulacaktır.

Bunlardan başka tasarlanan e-Learning ortamında, kişiye özgü uyarlanmış bir içerik sunulacağı düşünülmüştür. 4. kısımda daha detaylı olarak değineceğimiz modelde, kişisel etmen Bayesian Öğrenme metodu ile eğitilerek, sistemdeki öğrencinin özellikleri hakkında bilgi sahibi olmakta ve öğrenciye özgü uyarlanmış bireysel eğitim ortamının hazırlanmasına yardımcı olmaktadır.

3.2 Sistemdeki Etmen Mimarisi

Sistem tasarım aşamasında çok-etmenli mimari üzerine inşa edileceği düşünülmüştür. Bu mimaride 2 farklı tipte etmen bulunmaktadır: Kişisel etmenler ve uygulama etmenleri. Kullanıcı aktivitelerini izlerler ve öğrencilerin yardımcı kaynaklara erişmesinde yardımcı olurlar.

Şekil 3.1 sistemin organizasyon şemasını göstermektedir. Her bir kullanıcı için bir kişisel etmen ve her tip uygulama için bir uygulama etmeni mevcut. Sistemin Java da

(27)

uygulanması ve etmenler arasındaki iletişimin de CORBA üzerinden KQML benzeri mesajlarla sağlanması düşünülmektedir. Farklı tipteki etmenler aynı veya farklı Serverlarda bulunabilirler ve birbirleriyle iletişim kurabilmek için kendilerini basitçe CORBA isim sunucusuna kayıt ettirirler. Bundan sonraki alt bölümler, sistem mimarisinin farklı yönlerini, sistemdeki farklı tipteki etmenleri ve etmenler arasındaki iletişimi incelemektedir. “4+1 Views” (Kruchten, 1995) yazılım mühendislerinin büyük sistemleri analiz etmede kullandıkları yaklaşımlardan birisidir. Büyük sistemleri farklı açılardan inceler. Bunlar ; Mantıksal Bakış, İşlemsel Bakış, Fiziksel Bakış, Geliştirsel Bakış (Development View) ve senaryolardır. Bunlardan sistem mimarisini açıklamada şimdilik sadece Mantıksal Bakış kullanılacaktır. İleride uygulama geliştirme aşaması da tamamlandıktan sonra Geliştirsel Bakış da kullanılabilecektir.

Şekil 3.1 – Sistemin Çok-Etmenli Mimarisi Etmenler-Arası İletişim İnsan-Etmen İletişimi İnsan-Etmen İletişimi Uygulama Teşhis Gözlemleme Uygulama Teşhis Ara yüzü Pedagojik Uzman Sistem AES Akıl Yürütücü Öğrenci_1 Öğrenci_3 Öğrenci_2

(28)

3.2.1 Sistem Mimarisine Mantıksal Bakış

Dağıtık sistemler mimarisine ve etmen-tabanlı sistem mimarisine dayanarak, Şekil 3.2 de sistemin kavramsal mimarisinin bir şeması oluşturulmuştur. Şema UML standardına göre çizilmiştir. Sistemin 4 ana alt sistemi aşağıda sırayla tanımlanmıştır.

Şekil 3.2 – Sistemin Kavramsal Mimarisi

Kullanıcı Arayüzü (Servletler):

Kullanıcıların sistemle etkileşimi web tarayıcılar üzerinden bir grup Html sayfaları aracılığı ile gerçekleşir. Kullanıcı arayüzü statik ve dinamik html sayfalarından oluşur. Bir kullanıcı ile etmen arasındaki bilgi Java Servletler aracılığı ile gönderilir. LoginYardim, SifreKontrol, MesajKontrol, MesajAl, YardimBul, SoruGoster, TartismaListesi, TartismaSonlandir servletleri bunlardan bazılarıdır. Örneğin LoginYardim ve SifreKontrol servletleri login işlemini yürütürler. Login Yardim servleti kullanıcıdan kullanıcı ID ve şifre bilgilerini alır ve Kişisel Etmene Gönderir ve otomatik olarak SifreKontrol servletini yükler. SifreKontrol servleti şifrenin doğru olup olmadığını kontrol eder. Eğer doğruysa, SifreKontrol servleti o kullanıcı için ana etmen sayfasını yükler, şifre yanlışsa kullanıcıya uyarı mesajı döndürür.

Servletler Etmenler

(29)

Etmenler : Sistemde özellikle bire-bir tartışmada en önemli bileşenler etmenlerdir. Etmenlerle ilgili detaylı bilgi 3.2.2 bölümünde verilecektir.

DICE : DICE altsistemi (Deters, 2000) , sistemde etmenler arasındaki iletişim ortamını ve etmenler ile Servletler arasındaki mesaj geçişini sağlayan altyapıyı oluşturur. 4 ayrı alt sistemden oluşur: UserProxy, Host, Communication ve Basic. Host alt sistemi kavramsal mimaride Etmenler alt sistemi tarafından etmenlerin tahsisi için kullanılmaktadır. UserProxy ise, Servletler ve Etmenler alt sistemleri tarafından kullanılacak olan mesajların alınmasında ve saklanmasında bir mailbox olarak hizmet vermektedir. Bunların tümü, Communication ve Basic alt sistemlerinin fonksiyonelliğine bağlıdır. (Şekil 3.3)

Kütüphane : Kütüphane alt sistemi, birebir-tartışma bileşeninde kullanılacak rutinleri içermektedir.

Yukarıdaki altsistemlerin her biri hiyerarşik düzende kendi alt sistemlerine sahiptir. Şekil 3.2 ve Şekil 3.3 de belirtilen bağlantılar, alt sistemler arasındaki ilişkilere dayanır. Örneğin, Etmenler alt sistemi Servletler alt sistemi ile iletişim kurmak için DICE alt sistemine bağlıdır. Bütün alt sistemler de Kütüphane alt sistemine bağlıdır.

(30)

3.2.2 Sistemdeki Etmenler

Kişisel Etmenler : Kişisel etmenler kullanıcıların sistemdeki temsilcileridir. Kullanıcı modellerinden ve yerine getirilmesi gereken görevlerden sorumludurlar. Kullanıcı modeli, takma adı, arkadaşlar, engellenmiş kişiler listesi, engellenmiş konular, email adresi, bilgi profili gibi bir kullanıcının tüm karakteristiklerini içerir. Bazı etmenler, örneğin teşhis etmenleri, kullanıcı aktivitelerini tutarlar. Bir kullanıcı ile sistem arasındaki tüm etkileşim bir kişisel etmenle yürütülür. Kişisel etmen ya görevi kendi başına yorumlayıp bilgiyi işler yada bu görevi yerine getirmek için uygun bir etmen ile işbirliği yapar. Uygulama tarafında, her bir etmen 4 ana sınıftan oluşabilir: KisiselEtmen.java, KullaniciModeli.java, GorusmeModeli.java ve EtmenModeli.java. KisiselEtmen.java diğer kişisel etmenlerle ve uygulama etmenleri ile olan etkileşimi sağlar. KullaniciModeli.java yukarıda saydığımız kullanıcı karakteristiklerini tutar, GorusmeModeli.java diğer etmenlerden yardım istemek için onlarla yapılan görüşmeleri yürütür. EtmenModeli.java da kullanıcıya gidecek çıkışı uygun formata çevirir. Etmenlerin mantık ve niteliklerini değiştirmeye gerek kalmadan kullanıcı ara yüzünün yenilenmesini basitleştirir.

Uygulama Etmenleri : Uygulama etmenleri belirli özel uygulamalarla ilgili kaynakların yönetiminden sorumludur. En önemlilerinden bazıları şunlardır:

 Eşleştirme etmeni, potansiyel yardımcı etmenleri sıraya koyan ve belli bir kritere göre eşleştirme yapan etmendir. Bu kriterler; isteklilik, uygunluk, kullanıcının bilgi düzeyi ve yardımseverliktir. Eşleştirme etmeni kullanıcı ile ilgili bilgileri, kişisel etmenlerden edinir.(Kullanıcı modelleri)

 DB etmeni, veritabanına yazma ve ondan okuma işlevlerini yerine getiren uygulama etmenidir. Etmenler bir bilgiye veya veritabanı üzerinde bir güncelle işlemine gereksinim duyduklarında DB etmenine mesaj gönderirler.

 Teşhis etmenleri, isteklilik, yardımseverlik, bir konu hakkındaki kullanıcın bilgi düzeyi gibi belli alanlarda kullanıcının

(31)

karakteristiklerini, kullanıcı aktivitelerini izleyerek modelleyen uygulama etmenleridir. Çalışma anında farklı tipte teşhis etmenleri oluşturulup sisteme eklenebilir.

3.2.3 Etmenler Arasındaki İletişim

Sistemde etmenler karmaşık görevleri yerine getirmek için bir arada işbirliği yaparak çalışırlar. Yerel kaynakları yönetirler ve diğer etmenlerden gelen yardım isteklerini idare ederler. Anlamlı bir etmen iletişim dili ile kendi aralarında haberleşirler. KQML (Knowledge Query and Manipulation Language) (Finin, 1997) dilinin bir alt dili. Common Object Request Broker Architecture—CORBA (Raj, 1998) dağıtık ortamlarda etmenlerin birbirleriyle görüşmelerine ve aralarında mesaj geçişlerine imkan sağlayan bir altyapı olarak kullanılabilir. Bunun için mesaj göndermeden önce her bir etmen diğer etmenlerin onu tanıyabilmesi için kendini CORBA isim sunucusuna kayıt ettirmelidir. Genel olarak, her mesaj gönderici, alıcı, mesajın konusu ve mesajın içeriği bilgilerinden oluşur. Bir etmen mesajın konusuna ve içeriğine bakarak mesajı nasıl işleyeceğini ve mesaja nasıl bir cevap yazacağına karar verir.

CORBA bir platform olarak tasarlanmıştır ve dilden bağımsızdır. Bu yüzden CORBA nesneleri her platformda çalışabilir, networkde herhangi bir yerde tutulabilir ve IDL (Intergace Definition Language) desteği olan her programlama dilinde kodlanabilir. Bu tez çalışmasının asıl amacı, sistemdeki bu etmenlerin kullanıcılar tarafından amaca uygun programlanabilmesidir. Kullanıcılar kendilerine ait kişisel etmenlerini programlayarak diğerlerinin aktivitelerini gözlemleyebilirler. Bir sonraki bölümde etmenlerin programlanabilirliğinin tasarımı üzerinde durulacaktır.

(32)

3.3 Etmen Programlama Tasarımı

Bu bölüm bir kullanıcın kendisine ait bir etmeni nasıl programlayabileceğini ve sistemin yüksek seviyede mimarisini tanımlamaktadır.

3.3.1 Kullanıcılar Etmenlerini Nasıl Programlar?

Bir son kullanıcı programlama ortamı, kullanıcılara etmenlerin sistemde olup bitenleri izleyerek duruma göre davranmaları ve gerekli eylemleri gerçekleştirmeleri için onları programlamalarına izin vermektedir.

Sistemde sıklıkla gerçekleşen olaylar, bir kullanıcının sisteme giriş yapması, bir kullanıcının diğer bir kullanıcıdan mesaj alması, bir kullanıcının belli bir kullanıcıdan yardım talebinde bulunması. Sistemde gerçekleşen olaylar 7 ana kategoriye ayrılabilir:

 Sisteme giriş/Sistemden çıkış  Tercihlerin Değiştirilmesi  Sayfalara göz atma

 Gelen bir yardım talebine veya bir mesaja cevap verme  Bilgi talebinde bulunma

 Sistem niteliklerini güncelleme (Bazı değerlendirme vb.)  Gizlilik ilkeleri ayarlarını güncelleme

Kullanıcı bu olaylar olunca ne yapması gerektiğini etmenine söyleyebilir. Etmenin yapabileceği eylemlerin bazıları şunlardır:

 Kullanıcıyı olay hakkında bilgilendirme

 Kullanıcıya önceden belirlenmiş bir konu ve içeriğe sahip bir mail gönderme

 Diğer kullanıcılara mail gönderme (Yine konusu ve içeriği belli)  Sahibi adına diğer etmenlerle haberleşme

Bu eylemler programlama fonksiyonelliğini tanımlar. Aşağıdaki örnek, bir kullanıcının etmenini belli bir şart sağlandığında hangi eylemleri yerine getireceği hususunda nasıl yönlendireceğini göstermektedir. Ali mesaj-oku adında bir kural tanımlamaktadır. Ali arkadaşı Ahmet ile kontağa geçmesi için etmeni

(33)

programlamada bu kuralı kullanacaktır. Kural, “eğer Ahmet son 30 dakika içinde sisteme giriş yaptıysa ve son 30 dakika içinde belirli bir mesajı okuduysa Ahmet’e mail at” şeklindedir.

Kural ismi : mesaj-oku

If

Kullanıcı Ahmet son 30 dakika içinde Birebir-Tartışma ortamına girdiyse ve Kullanıcı Ahmet son 30 dakika içinde Ortak Tartışma Forumundaki 9912111 numaralı mesajı okuduysa

Then

Ahmet’e konu: tartışma içerik: “…konuşmamız lazım” olan bir mail gönder.

3.3.2 Sistem Mimarisi

Kullanıcıya etmenini programlama imkanı sağlayan bir ortam oluşturmak amacıyla, kişisel etmenler ve DB etmeni ile beraber çalışan, insan-etmen ara yüzü, Kural Etmeni, Kural Yönetim modülü ve Kural Çevrim Detektör modülü geliştirilmiştir. Şekil 3.4 son kullanıcı programlama ortamının yüksek seviyede mimarisini sunmaktadır. Kural Yönetim Modülü ve Kural Çevrim Detektör modülü diğer uygulamalar içindedir.

(34)

Şekil 3.4 – Son Kullanıcı Programlama Ortamı Mimarisi

Bir kişisel etmenin ana görevi, sahibi durumundaki kullanıcı adına haberleşmeyi yürütmektedir. Bu da DB etmeni, Kural Etmeni ve diğer uygulamaların işbirliği ile sağlanır. Kullanıcı ile etmeni arasındaki etkileşim, bilginin doğrudan sunumu, seçenek seçme ve form doldurma şeklinde gerçekleşir. Ayrıca kullanıcıya kurallarını girme ve hazır bir şablona göre hazırlanmış formu doldurma imkanı sağlayan ek grafiksel ara yüzler tasarlanabilir. Her bir olay tipi için kullanıcılar şartları ve etmenlerin bu şartlar oluştuğunda gerçekleştirmesi gereken eylemleri ayarlayabilirler. Kullanıcıların ilgili oldukları olaylar hakkında mesaj gösteren veya bildiri sinyali veren yeni grafiksel ara yüzler geliştirilip sisteme entegre edilebilir. Şu anki mimariyi oluşturan her bir modülün fonksiyonu aşağıda kısaca açıklanmıştır:

 Her bir kişisel etmen bir kullanıcı modeli ve yerine getirmesi gereken bir dizi görevden meydana gelir. Etmenlerin işlevleri, belirilenmiş bir şart sağlandığında kullanıcıyı uyarmak, diğer kullanıcılara veya etmenlerine mesaj dağıtımını gerçekleştirmek ve diğer kullanıcılardan veya etmenlerinden gelen mesajları cevaplandırmak. Kişisel etmenler bu fonksiyonları diğer etmenlerle ve uygulamalarla birlikte çalışarak yerine getirir.

 DB etmeni veritabanından okuma, veritabanına yazma işlerini idare eder. Kullanıcı aktiviteleri ile ilgili bilgiler DB etmeni tarafından veritabanında saklanır ve gerekli olduğunda sorgulanır.

Kullanıcı A

Diğer Kullanıcılar

Kullanıcı A’nın Kişisel Etmeni

Kurallar Kullanıcı Modeli

Kişisel Etmenler

Etmeni

Kural Etmeni Diğer Uygulamalar

(35)

 Kural Etmeni, kural havuzunun yönetimi ve kurallar kümesi arasındaki etkileşimleri saptama görevlerini kotarır.

 Bir kullanıcı ile etmeni arasındaki etkileşimler statik ve dinamik html sayfalarından oluşan kullanıcı ara yüzleri üzerinden gerçekleşir. Kullanıcı ile etmen arasındaki bilgi Java Servletler aracılığı ile gönderilir.

 Diğer uygulamalar modülü, Kural Yönetim Modülü, Kural Çevrim Saptama modülü ile diğer Java bileşenlerini içerir.

Bu tez çalışmasında bu son kullanıcı programlama ortamını uygulayan bir yaklaşım sunulmaya çalışılmıştır. Bu yaklaşım ile ilgili detaylı bilgi ve örnek uygulama senaryosu Bölüm 4 de verilmiştir.

3.4 Etmen Programlama Ortamının İşlevselliği

Mimarisi oluşturulan son kullanıcı programlama ortamı, web tabanlı bir sistem olarak uygulanabilir. Yani kullanıcılar web tarayıcılar üzerinden sistemle etkileşimde bulunabilirler. Bu mimarinin uygulanması için bir yaklaşım geliştirilmeye çalışılmıştır ve yaklaşıma EKYS (Etmen Kural Yönetim Sistemi) adını vermekteyiz. İhtiyaca göre uyarlanmış kural sistemi. Bu bölümde sistemin kullanımı ile ilgili örnekler verilecek ve ilgili kullanıcı ara yüzleri tanımlanacaktır.

3.4.1 Örnek Senaryolar

Şekil 3.5 etmen programlama sisteminin kullanımı ile ilgili bazı örnekleri sunmaktadır. Son kullanıcı programlama ortamının, farklı kullanıcıların diğer kullanıcıların aktivitelerini izlemesini nasıl sağladığını göstermektedir. 3 ayrı tipte kullanıcı var ve her birinin sistemi kullanma amacı farklı. Şekil 3.5 de de görüldüğü üzere bir öğretmen, bir özel danışman ve 2 öğrenci bulunmaktadır. Öğretmen öğrencilerin sık karşılaştığı problemler hakkında bilgi sahibi olmak istiyor, özel danışman gönderilen yeni bir sorunun olup olmadığını bilmek istiyor ve öğrenciler ise öğretmenden ve özel danışmandan konu ile ilgili yardım istiyor. Her bir kullanıcı

(36)

kendi etmenini, etmenin neyi izlemesini istediği ve belli olaylar gerçekleştiğinde etmenin hangi eylemleri yerine getirmesi gerektiği konusunda programlayabilir. Belli olaylar olunca etmenler sahiplerinin tercihleri doğrultusunda uygun eylemleri gerçekleştirirler.

A öğrencisi, etmenini programlamak için, özel danışman ortak tartışma ortamında belli bir mesajı okuduktan sonraki 30 dakika içinde özel danışmana özel bir mail atmak üzere kural tanımlayabilir. Bu kural şu şekilde olabilir:

If özel danışman son 30 dakika içinde 19754 numaralı mesajı okuduysa Then

Özel danışmanı “Konuşabilir miyiz?” konulu mesaj ile uyar.

B öğrencisi de, öğretmen sisteme giriş yaptığında uyarılmak üzere şu kuralı oluşturabilir:

If öğretmen son 2 dakika içinde sisteme giriş yaptıysa Then

“Öğretmen şu an sisteme giriş yaptı” mesajı ile beni uyar.

Yeni bir soru var mı?

Sistemde Kimler var?

Ne yapıyorlar?

Son Kullanıcı

Programlama

Ortamı

Danışman mesajımı cevapladı mı? Öğrencilerin en sık karşılaştığı problemler ? öğretmen online mı? öğretmen sisteme girdi Özel Danışman Öğretmen B Öğrencisi A Öğrencisi

(37)

Öğretmen sisteme giriş yaptığında, sistem B öğrencisini bilgilendirecek. Özel danışman 19754 numaralı mesajı okuyunca “Konuşabilir miyiz?” konulu uyarı mesajı alacak. Kuralların oluşturulması ve uyarı mesajlarının kontrolü ile ilgili ara yüz bilgileri bir sonraki bölümde anlatılmıştır.

Kullanıcılar birden fazla şartı ve eylemleri birleştirerek kompleks kurallar tanımlayabilirler. Ayrıca diğer bir kuralı tetikleyen bir başka kural oluşturabilirler. Örnekleri yine bir sonraki bölümde bulabilirsiniz.

3.4.2 EKYS Kullanıcı Arayüzleri

Bir kullanıcının etmenini programlayabilmesi için gerekli birincil kullanıcı arayüzü, kural yönetim ara yüzüdür. Uyarı işareti, tanımlanmış kurallar ve bir kural tanımlama kısımlarından oluşur. (Şekil 3.6)

Şekil 3.6 – Kural Tanımlama Arayüzü

Bilgilendir Yeni Kural Oluştur Tanımlı Kurallar Mesaj-oku Deneme S İ L

Programlanabilir Kural Tanımlama Kuralın ismi : mesaj-oku

Kuralın şartları : If

Ali kullanıcısı son 60 dk. içinde 199 nolu mesajı okursa Ali kullanıcısı son 5 dk. içinde sisteme giriş yaparsa

Ali kullanıcısını uyar. Konu:tartışma, içerik

Ahmet kullanıcısına mail at. Konu:mesaj oku, içerik

Kuralın eylemleri

S İ L S İ L

S İ L S İ L Koşul Ekle Eylem Ekle Kaydet

(38)

Sol üst taraftaki uyarı işareti, yeni bir uyarı mesajı alındığında kullanıcıyı bilgilendirmek için kullanılır. Yeni bir uyarı mesajı alındığında, uyarı işareti bölmesi maviye dönüşür. Şekil 3.6 da kullanıcıya yeni bir bilgilendirme mesajı geldiği görülmektedir. Uyarı işaretinin alt kısmında kalan frame ise, kullanıcının o an sistemde tanımlı olan kuralları görmesini, seçili kuralları silmesini, kural bilgilerine göz atmasını ve yeni bir kural tanımlamasını sağlamaktadır. Sağ taraf ise, seçilen kural üzerinde değişiklik yapıldığı ve yeni bir kural tanımlandığı kural editörünün, koşul tanımlama (Şekil 3.7) ve eylem tanımlama (Şekil 3.8) ara yüzlerinin bulunduğu taraftır.

Daha önce belirtildiği gibi, bir kural 3 parçadan meydana gelmektedir. Kullanıcı yeni bir koşul belirtmek için kural editöründe, “Koşul Ekle” butonuna tıklar ve Koşul Belirleme penceresi açılır.

Kullanıcı gelen penceredeki seçeneklerden olay tipi, kullanıcı ve diğer parametreleri amacına göre seçer. Şekil 3.7 de “Ali kullanıcısının son 2 dakika içinde bir mesaj okuması” koşulu belirtilmektedir. Eylem ekleme işlemi de benzer şekildedir. Şekil 3.8 de Ahmet kullanıcısının etmenini konusu:tartışma içerik:”Üzgünüm, ödevi yetiştiremedim” olan bir uyarı mesajı yollama eylemi tanımlanmaktadır. Tanımlanan koşullar ve eylemler kural editöründe, anlaşılabilir Türkçe cümleler ile gösterilir. Tanımlanan koşulların ve eylemlerin silinmesi ve üzerinde değişiklik yapılıp kaydedilmesi işlemleri de kural editörü üzerinde yapılır.

(39)

Kuralda tanımlanan koşullar gerçekleştiğinde, etmen kuralda tanımlanan eylemleri yerine getirecektir. Bu eylemler etmenin sahibi olan kullanıcıya ve diğer kullanıcılara mail atma ve etmenleri veya kullanıcıları bildiri mesajlarıyla bilgilendirme şeklindedir. Etmenin mesaj kutusunda yeni bir bilgilendirme mesajı varsa, etmen sahibi olan kullanıcısını uyaracaktır. Kullanıcı bilgilendirme mesajlarını uyarı işareti kısmına tıklayarak kontrol edebilir. Tıklama sonucu bilgilendirme mesajını gösteren yeni bir pencere açılır.

Şekil

Şekil 2.1 - Bir etmenin kullanıcı ile birlikte çalışması (Copyright@ACM)
Şekil 3.1 – Sistemin Çok-Etmenli Mimarisi Etmenler-Arası İletişim İnsan-Etmen İletişimi  İnsan-Etmen İletişimi Uygulama Teşhis Gözlemleme Uygulama Teşhis Ara yüzü Pedagojik Uzman Sistem AES  Akıl   Yürütücü Öğrenci_1 Öğrenci_3 Öğrenci_2
Şekil 3.2 – Sistemin Kavramsal Mimarisi
Şekil  3.2  ve  Şekil  3.3  de  belirtilen  bağlantılar,  alt  sistemler  arasındaki  ilişkilere  dayanır
+7

Referanslar

Outline

Benzer Belgeler

Buna göre eğitim programı ve öğretim arasındaki ilişki düşünüldüğünde aşağıdaki ifadelerden hangisi doğru olamaz?. a)Eğitim programı ve öğretim dinamik bir

6. Mouseun hareket ettirilmesi suretiyle parçanın döndürülmesini sağlayan komuttur. Komut ikonunu tıklayıp, mouseun sol tuşunu basılı tutarak mouseu hareket ettirdiğimizde

Şekil 1’de de görüldüğü gibi hem kişisel-evrensel değerlerin hem de ulusal değerlerin kazanılma etkililiği, öğretmen - öğrenci görüşlerine göre ve

ORTAM(Araç, gereç, ekipman ve koşullar):Bilgisayar, Yazıcı, Kağıt, Form belgeler, İşletme Defteri, CD, Bilgisayar masası, Hesap makinesi STANDART: Tek Düzen Muhasebe Sistemi,

Ders materyalinin tüm bölümleri (EK-A Hazırlanacak projenin (dersin) önerilen ana ve alt başlıkları) yapılandırılmış olarak başvuruda sunulmalı, dersin her

Emekli olmadan önce, varsa diğer hesaplarınızı birleştirmeyi istemeniz durumunda, birleştirilmesini tercih ettiğiniz sözleşmelere ilişkin hesaplarınızı

Bir karar verme probleminde do˘ ganın durumu ile ilgili oldu˘ gu d¨ u¸s¨ un¨ ulen rasgele g¨ ozlemler veri olarak adlandırılacaktır.. Elde verinin olması halinde verinin

• Öğretmen programın ilerleyişi, ölçütlerin karşılanması, ortaya çıkan çelişkilerle ilgili olarak öğrencinin sorularını yanıtlamak için öğrenci ile