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