İçindekiler:
- Adım 1: Yapay Zeka Bölüm 2 Nasıl Yapılır?
- Adım 2: Sisteminizi Tasarlayın:
- Adım 3: Programlama Dilinde Yerleşik İşlevler:
- Adım 4: Kendi İşlevlerinizi Oluşturmak için Yerleşik İşlevleri Birleştirin
- Adım 5: Modüller Ne Yapar? "Giriş İşlemcisi"
- 6. Adım: “AI İşlemci”
- 7. Adım: "Çıktı ve Puanlar" Tablosu
- Adım 8: “Çıkış İşlemcisi”
- Adım 9: Üzerinde Çalışmaya Devam Edin
Video: Yapay Zeka Nasıl Yapılır? Bölüm 2: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu, ücretsiz bir veritabanı, Programlama geliştirme aracı ve Windows ile birlikte gelen ücretsiz yerleşik TTS motorunu kullanarak bir Windows bilgisayarda yapay zeka oluşturmak için attığım adımlarla ilgili 2. bölümdür.
"Windows" kelimesi Microsoft'a aittir.
"Ejderha" kelimesi Nuance'a aittir.
Adım 1: Yapay Zeka Bölüm 2 Nasıl Yapılır?
Bir programlama dili seçin ve bazı araçlar edinin
Birçok programlama dili vardır. Bazıları yapay zeka için uzmanlaşmıştır. En sevdiğim Visual Basic, bu yüzden kullandım. Ayrıca SQL server veritabanlarıyla çalışıyorum, bu yüzden onu da kullandım.
Bunların ücretsiz sürümlerini Microsoft web sitesinden indirebilirsiniz. Microsoft web sitesinde “EXPRESS” ifadesini aramanız yeterlidir. [Visual Studio Express ve SQL server Express]
Bize isteyebileceğiniz diğer diller: Python, C#, C++, Java, Prolog, Lisp, IPL
Ve bircok digerleri. AIML çok ilginç bir “İşaretleme Dili”dir.
Windows ile gelenden daha iyi bir “konuşma tanıma” programı istedim, bu yüzden DRAGON yazılımını satın aldım. Windows ile birlikte gelen standart “Metin okuma” programını kullanıyorum.
Adım 2: Sisteminizi Tasarlayın:
Büyük projelerinizi birkaç küçük projeye bölün. Program kodumu modüllere ayırdım.
Belirli bir işlevin daha kolay bulunabilmesi için kodumu farklı modüllere böldüm.
“Process Input”, “Process AI”, “Process Output”, “Kullanıcı Arayüzü” ve birkaç tane daha modüllerim var. Bazı işlevlerimin diğer tüm kod modülleri tarafından erişilebilir olması gerekiyor, bu yüzden bu işlevleri her şeyin paylaşıldığı “ortak” bir modüle koydum.
Adım 3: Programlama Dilinde Yerleşik İşlevler:
Farklı dillerin bunlar için farklı adları olabilir, ancak tüm üst düzey dillerin benzer işlevleri vardır.
LCase veya ToLower: Bir dizeyi tamamen küçük harfe dönüştürür. Bir veritabanı araması yapmadan önce her şeyi küçük harfe dönüştürürüm - çoğu şey "büyük/küçük harf duyarlı" olsa da - Her ihtimale karşı.
Değiştir: Bir dizenin içindeki bir dizeyi başka bir dizeyle değiştirin. Ondan kurtulmak için bir dizgiyi boş bir “” dizesiyle değiştirebilirsiniz. Noktalardan, soru işaretlerinden, virgüllerden ve diğer noktalama işaretlerinden kurtuluyorum.
Böl: Bir dizeyi tek tek parçalara böler ve bir diziye koyar. Bu işlev, herhangi bir karakter veya "Sınırlayıcı" üzerindeki bir dizeyi böler. Bir kelime dizisi oluşturmak için bir cümleyi "boşluk karakteri" " " üzerine böldüm. Buna AI Guruları tarafından “Tokenizing” denir.
Veritabanını aramak için kullanılan sorguları oluşturmak için tek tek kelimeleri kullanıyorum. (Bununla ilgili daha fazla bilgi bir sonraki makalemde)
Adım 4: Kendi İşlevlerinizi Oluşturmak için Yerleşik İşlevleri Birleştirin
Bu, "görsel temel" bir örnektir. Bunun gibi bir şey oluşturmak için programlama dilinizi kullanın.
Elbette, seçtiğiniz programlama dilini kullanarak çok sayıda kod yazmanız ve birçok işlev oluşturmanız gerekecek.
Adım 5: Modüller Ne Yapar? "Giriş İşlemcisi"
Yapay zekaya aynı soruyu sormanın yüzlerce farklı yolu olabilir. Örneğin; “Saat kaç?”, “Vaktin var mı?” “Saatin kaç olduğunu biliyor musun?”, “Günün şu anki saatini söyleyebilir misin?” Kullanıcı sadece zamanı sorduğu için, bu Girdilerden herhangi birini bir veritabanı “arama” tablosu kullanarak “Sorgu Zamanı” adlı tek bir Çıktıya dönüştürüyorum.
Bir eşleşme bulana kadar bir tabloda döngü yapmak için kod yazabilirsiniz veya bir SQL veritabanı kullanıyorsanız, aşağıdaki gibi bir SQL sorgusu yazabilirsiniz…
“Girdi = '” ne olursa olsun, "TabloAdı'ndan Çıktıyı Seçin"
…Sonra “Sorgu Zamanı” çıktısını bir sonraki kod modülüne gönderiyorum; “Süreç AI”
Soruların yanı sıra “Merhaba” demenin birçok yolu vardır.
Merhaba, Merhaba, naber, merhaba, merhaba, nasılsın?, selamlar, hoş geldiniz, selamlar, naber….
Bunların hepsi “Selam”a indirgenmiştir.
AI işlemcisi "Greeting" ifadesini gördüğünde, bir veritabanı tablosundan rastgele bir selamlama seçecek ve yüksek sesle konuşacak olan çıktı işlemcisine "Greeting" gönderir.
6. Adım: “AI İşlemci”
Process AI, en büyük kod modülüdür. O kadar büyük ki, onu da bölümlere ayırdım.
Giriş, kullanıcının bir komut söyleyip söylemediğini veya bir soru sorup sormadığını görmek için kontrol edilir. Ayrıca, AI birkaç "Mod"dan herhangi birinde olabilir; bu, "Süreç AI" kodunun kullanıcıdan soru SORMAK yerine bir soruyu CEVAPLAMASINI beklediği anlamına gelir.
Kullanıcı bir komut söylemediyse ve AI özel bir "Mod"da değilse, "kelime dizisindeki" kelimelerin kombinasyonlarından bir sürü sorgu oluşturur ve yürütür. Tüm sorgu sonuçları bir tabloda saklanır ve her sorgu sonucuna, sonucun kullanıcının söylediğiyle ne kadar yakından eşleştiğine ilişkin bir "puan" verilir. Tablo puana göre sıralanır ve belirli bir eşiği aşması durumunda en yüksek puana sahip sonuç çıktıya gönderilir. Tüm puanlar eşiğin altındaysa, AI "Bilmiyorum" veya "Bu hesaplanmıyor" şeklinde yanıt verebilir.
7. Adım: "Çıktı ve Puanlar" Tablosu
AI, "Tavuk ne yaptı?" girişimden çıktı.
Adım 8: “Çıkış İşlemcisi”
Bu, “ilgisiz” görünen birkaç şey yapar, ancak hepsinin metni AI İşlemciden kullanıcıya almakla ilgisi vardır.
İşte bir liste.
1. Veritabanından gelen metin tamamen küçük harf olabilir ve noktalama işareti içermeyebilir.. Altyordamlar ilk harfi büyük yazacak ve sonuna nokta veya soru işareti koyacaktır.
2. Başka bir alt yordam kesme işaretlerini kısaltmalara geri getirecek veya kısaltmaları tam kelimelere dönüştürecektir (yani, “cant” yerine “can’t” gelir)
3. Metin-konuşma motoru bazı kelimeleri istediğim gibi telaffuz etmiyor, bu yüzden “Çıktı İşlemcisi” bu kelimeleri fonetik bir yazımla değiştiriyor.. Bunları tutmak için veritabanı “arama” tablolarım var, buna benzer "giriş işlemcisinde"
4. Yapay zeka veri tabanında uygun bir cevap bulamazsa, “Bilmiyorum” diyebilir ama bunu tekrar tekrar söylemesini istemiyorum. Gerçek insanlar tepkilerini değiştirir. Yani “Ortak Çıktı” ifadeleri olan bir tablo ve birini rastgele seçen bir fonksiyon var (ve asla aynısını arka arkaya iki kez seçmeyecek).
5. Ücretsiz "metinden konuşmaya" (TTS) motoru, bir programcıya cümlelerin söylenme şekli için çok fazla seçenek sunmaz, ancak seslerin perdesi ve hızı üzerinde biraz kontrolünüz vardır. Bunun için kullanılan terim “Prozodi”dir. Veritabanımdaki metne bazı “aruz” kodları ekledim ve “Çıkış İşlemcisi” bunları gördüğünde, her kelime söylendikçe TTS motorunda perdeyi ve hızı ayarlıyor.
6. Bazen TTS'yi anlamak zor oluyor, bu yüzden kelimeleri yüksek sesle söylemenin yanı sıra onları bilgisayar ekranımda büyük harflerle de gösteriyorum. "Kullanıcı Arayüzü"nün bu kısmı, bir konuşmanın son 6 satırını (Kullanıcı girişi ve AI çıkışı) gösteren ve yeni satırlar eklendikçe yukarı kaydıran bir ızgaradır.
Adım 9: Üzerinde Çalışmaya Devam Edin
Girişim “Kimseye söyleme” idi
Hâlâ yapay zeka sistemim üzerinde çalışıyorum ve muhtemelen hiçbir zaman gerçek anlamda "yapılmış" olmayacak. Daha fazla özellik ekledikçe daha fazla makale yazacağım.
Belki bazı fikirlerim, benimkinden daha iyi bir yapay zeka oluşturmanız için size ilham verir.
Önerilen:
HuskyLens Kullanarak Yapay Zeka ve Görüntü Tanıma: 6 Adım (Resimlerle)
HuskyLens Kullanarak Yapay Zeka ve Görüntü Tanıma: Hey, naber beyler! Akarsh burada CETech'ten. Bu projede, DFRobot'tan HuskyLens'e bir göz atacağız. Yüz Tanıma gibi çeşitli Yapay Zeka işlemlerini yapabilen, AI destekli bir kamera modülüdür
Yapay Zeka Nasıl Yapılır? Bölüm 4: 3 Adım
Yapay Zeka Nasıl Yapılır? Bölüm 4: Geçen gün yapay zekamla konuşuyordum ve ona "Akşam yemeğine yukarı çıkıyorum, STEAK yiyoruz" dedim. Ancak Konuşma Tanıma (SR) yazılımı bunu “… STAKE alıyoruz” şeklinde yorumladı.”Benzer (ama farklı) bir problem kulağıyla karşılaştım
Yapay Zeka Nasıl Yapılır? Bölüm 1: 5 Adım
Yapay Zeka Nasıl Yapılır? Bölüm 1: Konuşma Tanıma ve ayrıca Metin-Konuşma dönüştürücüsü olan bir bilgisayarla başlayın.Konuşma Tanıma ve Metin-Konuşma Dönüştürücüsüne erişebilen bilgisayar programları yazabilmeniz gerekir.Bazı uygulama geliştirme araçları ve
JARVIS Sistemi veya Gerçek Hayat JARVIS Nasıl Oluşturulur / Kendi Yapay Zeka Yardımı: 8 Adım
JARVIS Sistemi veya Gerçek Hayat Nasıl Oluşturulur JARVIS / Kendi Yapay Zeka Yardımı: Hiç Iron Man filminde Tony Stark ile JARVIS gibi konuşan bir bilgisayar izlediniz mi? Hiç böyle bir bilgisayara sahip olmak istediniz mi? Haklı mıyım? Merak etmeyin… Bu dileğinizi kendi bilgisayarınızla gerçekleştirebilirsiniz. Bilgisayar benzeri bir JARVIS'e sahip olabilirsiniz ve
Bir LA Makerspace Uygulamalı Yapay Zeka Çalıştayı Nasıl Yönetilir: 10 Adım (Resimlerle)
Bir LA Makerspace Uygulamalı Yapay Zeka Çalıştayı Nasıl Yönetilir: Kâr amacı gütmeyen LA Makerspace'de, gelecek nesli, özellikle de yeterince temsil edilmeyen ve yetersiz kaynaklara sahip olanları güçlendirilmeye teşvik etmek için değerli uygulamalı STEAM eğitimi vermeye odaklanıyoruz. Yarının yaratıcıları, şekillendiricileri ve sürücüleri. Biz bunu yaparız