[RUBY] Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 4 Kapitelende Probleme

Einführung

Als Studie über maschinelles Lernen lese ich "* Lernen aus den Grundlagen: Lehrbuch für künstliche Intelligenz *".

Das Merkmal dieses Buches ist, dass das Problem am Ende des Kapitels ein einfaches Programm von Python enthält.

Hier wird es mit "Ruby" kopiert.

Kapitel 4 Ende des Kapitels Problem

isa.rb


semnet = {"portable terminal"=>"computer",
          "laptop PC"=>"computer",
          "stationary PC"=>"computer",
          "smartphone"=>"portable terminal",
          "tablet"=>"portable terminal",
          "desktop PC"=>"stationary PC",
          "server PC"=>"stationary PC"}
while true
  puts "Behandelt die Frage "Ist A a B?" Bitte geben Sie A und B ein"
  print "Geben Sie ein:"
  a = gets.chomp
  print "Geben Sie B ein:"
  b = gets.chomp
  puts "Frage: "#{a}Ist#{b}Ist es? """
  puts "Inferenz starten"
  if semnet[a].nil?
    puts "「#{a}"Ich weiß es nicht"
    next
  end
  obj = a
  while obj != b
    puts "#{obj}Ist#{semnet[obj]}ist"
    if semnet[obj] == b
      puts "Fazit:#{a}Ist#{b}ist"
      break
    end
    unless semnet.keys.include?(semnet[obj])
      puts "Fazit:#{a}Ist#{b}でIstありません"
      break
    end
    obj = semnet[obj]
  end
  puts "Ende der Folgerung"
end

Es ist ein Problem, eine Inferenz unter Verwendung von "is-a link" zu implementieren, die eine der Verbindungen im semantischen Netzwerk ist.

is-a - wikipedia

python funktioniert gut mit japanischen Eingaben, aber es funktioniert nicht mit ruby, also habe ich es in Englisch geändert.

Behandelt die Frage "Ist A a B?" Bitte geben Sie A und B ein
Geben Sie A: Smartphone ein
Geben Sie B: Computer ein
Frage: "Ist das Smartphone ein Computer?"
Inferenz starten
Smartphone ist ein tragbares Terminal
tragbares Terminal ist Computer
Fazit: Smartphone ist Computer
Ende der Folgerung

Zusammenfassung

Recommended Posts

Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 4 Kapitelende Probleme
Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 2 Kapitelende Probleme
Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 3 Kapitelende Probleme
[Herausforderung CircleCI von 0] Lernen Sie die Grundlagen von CircleCI
[Ruby] Von den Grundlagen bis zur Injektionsmethode
Deep Learning Java von Grund auf neu Kapitel 1 Einführung
Deep Learning Java von Grund auf neu Kapitel 2 Perceptron