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.
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.
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
Recommended Posts