1- Software Series | Python ile Temel Seviyede Yapay Zeka! \Ruby

Suppressor

Request Uzmanı
16 Kas 2022
1,206
715
always, everywhere
6kjk1mb.png


Tekrardan selamlar ben supp.
Fazla vaktim olmadığı için konuyu hızlı açtım kusura bakmayın ama yine hangi kodun ne işe yaradığı yazıyor :)


Python:
import json
from difflib import get_close_matches as find_close_matches

# Veritabanını yükleme fonksiyonu
def load_database():
    with open('database.json', 'r') as file:
        return json.load(file)

# Veritabanına veriyi kayıt etme  fonksiyonu
def write_to_database(data):
    with open('database.json', 'w') as file:
        json.dump(data, file, indent=2)

# Verilen soruya en yakın eşleşmeyi bulma fonksiyonu
def find_close_match(question, questions):
    matched = find_close_matches(question, questions, n=1, cutoff=0.6)
    return matched[0] if matched else None

# Verilen sorunun cevabını bulma fonksiyonu
def find_answer(question, database):
    for question_answers in database["questions"]:
        if question_answers["question"] == question:
            return question_answers["answer"]
    return None

# Sohbet botu fonkisiyonu
def chat_bot():
    # Veritabanını yükle
    database = load_database()

    while True:
        user_input = input("You: ")
        if user_input == 'exit':
            break
      
        # Kullanıcının girişine en yakın eşleşmeyi bul
        matched_result = find_close_match(user_input, [question_answers["question"] for question_answers in database["questions"]])
        if matched_result:
            # Eşleşme varsa cevabı bul ve ekrana yazdır
            response = find_answer(matched_result, database)
            print(f"Suppressor_bot: {response}")
        else:
            # sonuç yoksa yeni bir şey öğretmek için soru sor
            print("Suppressor_bot: Bilmiyorum, ne anlama geldiğini öğretebilir misin?")
            new_answer = input("Anlamını açıklayabilir veya öğretmeyi geçmek için 'exit' yazabilirsin: ")

            if new_answer.lower() != 'pass':
                # Yeni bilgiyi veritabanına ekle
                database["questions"].append({
                    "question": user_input,
                    "answer": new_answer
                })
                write_to_database(database)
                print("Suppressor_bot: Yeni bir şey öğrendim :)")

# Botu Başlat
if __name__ == '__main__':
    chat_bot()

database.json isimli dosyanın içeriği:
JSON:
{
  "question": []
}


@Bunjo İçin Ruby Hali :)

Ruby:
require 'json'
require 'did_you_mean'

# Veritabanını yükleme fonksiyonu
def load_database
  JSON.parse(File.read('database.json'))
end

# Veritabanına veriyi kayıt etme fonksiyonu
def write_to_database(data)
  File.write('database.json', JSON.pretty_generate(data))
end

# Verilen soruya en yakın eşleşmeyi bulma fonksiyonu
def find_close_match(question, questions)
  DidYouMean::SpellChecker.new(dictionary: questions).correct(question)
end

# Verilen sorunun cevabını bulma fonksiyonu
def find_answer(question, database)
  question_answers = database['questions'].find { |qa| qa['question'] == question }
  question_answers ? question_answers['answer'] : nil
end

# Sohbet botu fonksiyonu
def chat_bot
  # Veritabanını yükle
  database = load_database

  loop do
    print 'You: '
    user_input = gets.chomp

    break if user_input.downcase == 'exit'

    # Kullanıcının girişine en yakın eşleşmeyi bul
    matched_result = find_close_match(user_input, database['questions'].map { |qa| qa['question'] })

    if matched_result
      # Eşleşme varsa cevabı bul ve ekrana yazdır
      response = find_answer(matched_result, database)
      puts "Suppressor_bot: #{response}"
    else
      # Sonuç yoksa yeni bir şey öğretmek için soru sor
      puts "Suppressor_bot: Bilmiyorum, ne anlama geldiğini öğretebilir misin?"
      print "Anlamını açıklayabilir veya öğretmeyi geçmek için 'pass' yazabilirsin: "
      new_answer = gets.chomp

      unless new_answer.downcase == 'pass'
        # Yeni bilgiyi veritabanına ekle
        database['questions'] << { 'question' => user_input, 'answer' => new_answer }
        write_to_database(database)
        puts "Suppressor_bot: Yeni bir şey öğrendim :)"
      end
    end
  end
end

# Botu Başlat
if __FILE__ == $PROGRAM_NAME
  chat_bot
end
 

tamam ağa

Uzman üye
7 Haz 2023
1,488
844
Bu bir yapay zeka veya yapay zekanın bir alt dalı olan makina öğrenmesi değildir.

Kusura bakmayın herkes gibi eline sağlık diyip geçemem bu program önceden hazırlanmış yanıtlar ile cevap veren basit bir python scriptidir.
 

Bunjo

Uzman üye
14 Ara 2020
1,592
1,890
I Won
6kjk1mb.png


Tekrardan selamlar ben supp.
Fazla vaktim olmadığı için konuyu hızlı açtım kusura bakmayın ama yine hangi kodun ne işe yaradığı yazıyor :)


Python:
import json
from difflib import get_close_matches as find_close_matches

# Veritabanını yükleme fonksiyonu
def load_database():
    with open('database.json', 'r') as file:
        return json.load(file)

# Veritabanına veriyi kayıt etme  fonksiyonu
def write_to_database(data):
    with open('database.json', 'w') as file:
        json.dump(data, file, indent=2)

# Verilen soruya en yakın eşleşmeyi bulma fonksiyonu
def find_close_match(question, questions):
    matched = find_close_matches(question, questions, n=1, cutoff=0.6)
    return matched[0] if matched else None

# Verilen sorunun cevabını bulma fonksiyonu
def find_answer(question, database):
    for question_answers in database["questions"]:
        if question_answers["question"] == question:
            return question_answers["answer"]
    return None

# Sohbet botu fonkisiyonu
def chat_bot():
    # Veritabanını yükle
    database = load_database()

    while True:
        user_input = input("You: ")
        if user_input == 'exit':
            break
     
        # Kullanıcının girişine en yakın eşleşmeyi bul
        matched_result = find_close_match(user_input, [question_answers["question"] for question_answers in database["questions"]])
        if matched_result:
            # Eşleşme varsa cevabı bul ve ekrana yazdır
            response = find_answer(matched_result, database)
            print(f"Suppressor_bot: {response}")
        else:
            # sonuç yoksa yeni bir şey öğretmek için soru sor
            print("Suppressor_bot: Bilmiyorum, ne anlama geldiğini öğretebilir misin?")
            new_answer = input("Anlamını açıklayabilir veya öğretmeyi geçmek için 'exit' yazabilirsin: ")

            if new_answer.lower() != 'pass':
                # Yeni bilgiyi veritabanına ekle
                database["questions"].append({
                    "question": user_input,
                    "answer": new_answer
                })
                write_to_database(database)
                print("Suppressor_bot: Yeni bir şey öğrendim :)")

# Botu Başlat
if __name__ == '__main__':
    chat_bot()

database.json isimli dosyanın içeriği:
JSON:
{
  "question": []
}


@Bunjo İçin Ruby Hali :)

Ruby:
require 'json'
require 'did_you_mean'

# Veritabanını yükleme fonksiyonu
def load_database
  JSON.parse(File.read('database.json'))
end

# Veritabanına veriyi kayıt etme fonksiyonu
def write_to_database(data)
  File.write('database.json', JSON.pretty_generate(data))
end

# Verilen soruya en yakın eşleşmeyi bulma fonksiyonu
def find_close_match(question, questions)
  DidYouMean::SpellChecker.new(dictionary: questions).correct(question)
end

# Verilen sorunun cevabını bulma fonksiyonu
def find_answer(question, database)
  question_answers = database['questions'].find { |qa| qa['question'] == question }
  question_answers ? question_answers['answer'] : nil
end

# Sohbet botu fonksiyonu
def chat_bot
  # Veritabanını yükle
  database = load_database

  loop do
    print 'You: '
    user_input = gets.chomp

    break if user_input.downcase == 'exit'

    # Kullanıcının girişine en yakın eşleşmeyi bul
    matched_result = find_close_match(user_input, database['questions'].map { |qa| qa['question'] })

    if matched_result
      # Eşleşme varsa cevabı bul ve ekrana yazdır
      response = find_answer(matched_result, database)
      puts "Suppressor_bot: #{response}"
    else
      # Sonuç yoksa yeni bir şey öğretmek için soru sor
      puts "Suppressor_bot: Bilmiyorum, ne anlama geldiğini öğretebilir misin?"
      print "Anlamını açıklayabilir veya öğretmeyi geçmek için 'pass' yazabilirsin: "
      new_answer = gets.chomp

      unless new_answer.downcase == 'pass'
        # Yeni bilgiyi veritabanına ekle
        database['questions'] << { 'question' => user_input, 'answer' => new_answer }
        write_to_database(database)
        puts "Suppressor_bot: Yeni bir şey öğrendim :)"
      end
    end
  end
end

# Botu Başlat
if __FILE__ == $PROGRAM_NAME
  chat_bot
end
Çok teşekkür ederim, beni çok mutlu ettiniz. Elinize sağlık. :)
 

Suppressor

Request Uzmanı
16 Kas 2022
1,206
715
always, everywhere
Bu bir yapay zeka veya yapay zekanın bir alt dalı olan makina öğrenmesi değildir.

Kusura bakmayın herkes gibi eline sağlık diyip geçemem bu program önceden hazırlanmış yanıtlar ile cevap veren basit bir python scriptidir.
Evet, haklısın, ama bu işlere yeni başlayan kişilere ilham olabilir. Herkes senin gibi bilgili değil, evet, ama neticede bu "hazırlanmış yanıtlar ile cevap veren basit bir Python scripti."

Çok teşekkür ederim, beni çok mutlu ettiniz. Elinize sağlık. :)
Rica ederim, Teşekkürler.
 

tamam ağa

Uzman üye
7 Haz 2023
1,488
844
Evet, haklısın, ama bu işlere yeni başlayan kişilere ilham olabilir. Herkes senin gibi bilgili değil, evet, ama neticede bu "hazırlanmış yanıtlar ile cevap veren basit bir Python scripti."
Bunu geliştirebilirsin temel lise matematiğin varsa bir kitap vardı veri madenciliği ile yapay zeka algoritmaları adında sanırım bulursam sana pdf atabilirim veya forumda direk paylaşırım herkes yararlansın.
 

Kruvazör

Ar-Ge Ekibi Lideri
28 Mar 2020
1,737
2,556
Wrong Side Of Heaven
Bu bir yapay zeka veya yapay zekanın bir alt dalı olan makina öğrenmesi değildir.

Kusura bakmayın herkes gibi eline sağlık diyip geçemem bu program önceden hazırlanmış yanıtlar ile cevap veren basit bir python scriptidir.
Yapıcı yorumlarını hep çok sevmişimdir ama bazı başlıklara ve içeriklere çok takılıyorsun.

Takıldığın gibi de bazı yapıcı yorumlarını yanlış bir dille anlattığın için insanlara biraz kötü bir etki oluyor.

Bu yorumlarını biraz daha düzgün bir dille yaparsan herkes için daha iyi olacaktır.

Ama bu yorumlarını asla bırakma.
 

tamam ağa

Uzman üye
7 Haz 2023
1,488
844
Yapıcı yorumlarını hep çok sevmişimdir ama bazı başlıklara ve içeriklere çok takılıyorsun.

Takıldığın gibi de bazı yapıcı yorumlarını yanlış bir dille anlattığın için insanlara biraz kötü bir etki oluyor.

Bu yorumlarını biraz daha düzgün bir dille yaparsan herkes için daha iyi olacaktır.

Ama bu yorumlarını asla bırakma.
Evet bazen yazılarım aşırıya kaçabiliyor buna dikkat etmeye çalışacağım.
 

drjacob

Uzman üye
21 Ocak 2012
1,787
413
localhost
6kjk1mb.png


Tekrardan selamlar ben supp.
Fazla vaktim olmadığı için konuyu hızlı açtım kusura bakmayın ama yine hangi kodun ne işe yaradığı yazıyor :)


Python:
import json
from difflib import get_close_matches as find_close_matches

# Veritabanını yükleme fonksiyonu
def load_database():
    with open('database.json', 'r') as file:
        return json.load(file)

# Veritabanına veriyi kayıt etme  fonksiyonu
def write_to_database(data):
    with open('database.json', 'w') as file:
        json.dump(data, file, indent=2)

# Verilen soruya en yakın eşleşmeyi bulma fonksiyonu
def find_close_match(question, questions):
    matched = find_close_matches(question, questions, n=1, cutoff=0.6)
    return matched[0] if matched else None

# Verilen sorunun cevabını bulma fonksiyonu
def find_answer(question, database):
    for question_answers in database["questions"]:
        if question_answers["question"] == question:
            return question_answers["answer"]
    return None

# Sohbet botu fonkisiyonu
def chat_bot():
    # Veritabanını yükle
    database = load_database()

    while True:
        user_input = input("You: ")
        if user_input == 'exit':
            break
     
        # Kullanıcının girişine en yakın eşleşmeyi bul
        matched_result = find_close_match(user_input, [question_answers["question"] for question_answers in database["questions"]])
        if matched_result:
            # Eşleşme varsa cevabı bul ve ekrana yazdır
            response = find_answer(matched_result, database)
            print(f"Suppressor_bot: {response}")
        else:
            # sonuç yoksa yeni bir şey öğretmek için soru sor
            print("Suppressor_bot: Bilmiyorum, ne anlama geldiğini öğretebilir misin?")
            new_answer = input("Anlamını açıklayabilir veya öğretmeyi geçmek için 'exit' yazabilirsin: ")

            if new_answer.lower() != 'pass':
                # Yeni bilgiyi veritabanına ekle
                database["questions"].append({
                    "question": user_input,
                    "answer": new_answer
                })
                write_to_database(database)
                print("Suppressor_bot: Yeni bir şey öğrendim :)")

# Botu Başlat
if __name__ == '__main__':
    chat_bot()

database.json isimli dosyanın içeriği:
JSON:
{
  "question": []
}


@Bunjo İçin Ruby Hali :)

Ruby:
require 'json'
require 'did_you_mean'

# Veritabanını yükleme fonksiyonu
def load_database
  JSON.parse(File.read('database.json'))
end

# Veritabanına veriyi kayıt etme fonksiyonu
def write_to_database(data)
  File.write('database.json', JSON.pretty_generate(data))
end

# Verilen soruya en yakın eşleşmeyi bulma fonksiyonu
def find_close_match(question, questions)
  DidYouMean::SpellChecker.new(dictionary: questions).correct(question)
end

# Verilen sorunun cevabını bulma fonksiyonu
def find_answer(question, database)
  question_answers = database['questions'].find { |qa| qa['question'] == question }
  question_answers ? question_answers['answer'] : nil
end

# Sohbet botu fonksiyonu
def chat_bot
  # Veritabanını yükle
  database = load_database

  loop do
    print 'You: '
    user_input = gets.chomp

    break if user_input.downcase == 'exit'

    # Kullanıcının girişine en yakın eşleşmeyi bul
    matched_result = find_close_match(user_input, database['questions'].map { |qa| qa['question'] })

    if matched_result
      # Eşleşme varsa cevabı bul ve ekrana yazdır
      response = find_answer(matched_result, database)
      puts "Suppressor_bot: #{response}"
    else
      # Sonuç yoksa yeni bir şey öğretmek için soru sor
      puts "Suppressor_bot: Bilmiyorum, ne anlama geldiğini öğretebilir misin?"
      print "Anlamını açıklayabilir veya öğretmeyi geçmek için 'pass' yazabilirsin: "
      new_answer = gets.chomp

      unless new_answer.downcase == 'pass'
        # Yeni bilgiyi veritabanına ekle
        database['questions'] << { 'question' => user_input, 'answer' => new_answer }
        write_to_database(database)
        puts "Suppressor_bot: Yeni bir şey öğrendim :)"
      end
    end
  end
end

# Botu Başlat
if __FILE__ == $PROGRAM_NAME
  chat_bot
end
eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.