[RUBY] Apprendre des bases Manuel sur l'intelligence artificielle Chapitre 4 Problèmes de fin de chapitre

introduction

En tant qu'étude de l'apprentissage automatique, je lis "* Apprendre des bases: manuel d'intelligence artificielle *".

La particularité de ce livre est que le problème de fin de chapitre contient un programme simple de Python.

Ici, il est copié avec Ruby.

Chapitre 4 Problème de fin de chapitre

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 "Traite la question "Est-ce que A est B?" Veuillez saisir A et B"
  print "Entrez A:"
  a = gets.chomp
  print "Entrez B:"
  b = gets.chomp
  puts "Question: "#{a}Est#{b}C'est ça? ""
  puts "Commencer l'inférence"
  if semnet[a].nil?
    puts "「#{a}"Je ne sais pas"
    next
  end
  obj = a
  while obj != b
    puts "#{obj}Est#{semnet[obj]}est"
    if semnet[obj] == b
      puts "Conclusion:#{a}Est#{b}est"
      break
    end
    unless semnet.keys.include?(semnet[obj])
      puts "Conclusion:#{a}Est#{b}でEstありません"
      break
    end
    obj = semnet[obj]
  end
  puts "Fin de l'inférence"
end

C'est un problème d'implémenter l'inférence en utilisant «est-un lien» qui est l'un des liens dans le réseau sémantique.

is-a - wikipedia

python fonctionne bien avec l'entrée japonaise, mais il ne fonctionnait pas avec ruby, donc je l'ai changé en anglais.

Traite la question "Est-ce que A est B?" Veuillez saisir A et B
Entrez A: smartphone
Entrez B: ordinateur
Question: "Le smartphone est-il un ordinateur?"
Commencer l'inférence
le smartphone est un terminal portable
le terminal portable est un ordinateur
Conclusion: le smartphone est un ordinateur
Fin de l'inférence

Résumé

Recommended Posts

Apprendre des bases Manuel sur l'intelligence artificielle Chapitre 4 Problèmes de fin de chapitre
Apprendre des bases Manuel sur l'intelligence artificielle Chapitre 2 Problèmes de fin de chapitre
Apprendre des bases Manuel sur l'intelligence artificielle Chapitre 3 Problèmes de fin de chapitre
[Challenge CircleCI from 0] Apprenez les bases de CircleCI
[Ruby] Des bases à la méthode inject
Deep Learning Java à partir de zéro Chapitre 1 Introduction
Deep Learning Java à partir de zéro Chapitre 2 Perceptron