[RUBY] Apprendre des bases Manuel sur l'intelligence artificielle Chapitre 2 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 simple programme de Python.

Chapitre 2 Problème de fin de chapitre

ELIZA.rb


LIMIT = 20
CYCLE = 5

count = 0
endcount = 0
puts('Dr>Je suis docteur, je te parle')
while endcount < LIMIT
  print('tu>')
  inputline = gets.chomp.encode("UTF-8", "CP932", :invalid => :replace)
  if count >= CYCLE
    puts 'Dr>' << inputline << ',? .. ..'
    count = 0
  elsif inputline.include?('prof')
    puts 'Dr>Parlons de toi, pas de moi'
  elsif inputline.include?('mère')
    puts 'Dr>Parle de ta maman'
  elsif inputline.include?('père')
    puts 'Dr>Parle de ton père'
  elsif inputline.include?('opinion')
    puts 'Dr>Voulez-vous entendre mon avis?'
  elsif inputline.include?('Je suis inquiet')
    puts 'Dr>' << inputline.sub(/Je suis inquiet/, 'Êtes-vous inquiet?')
  else
    puts 'Dr>Continuez s'il vous plaît'
  end
  count += 1
  endcount += 1
end
puts('Dr>Finissons-le maintenant. Merci pour votre soutien.')

C'est un problème de création d'une version simplifiée d'ELIZA.

CP932.rb


  inputline = gets.chomp.encode("UTF-8", "CP932", :invalid => :replace)

Dans le cas de Windows10, le processus de conversion du code de caractère est requis. ʻAtCoder` est frais car il n'y a pas de tel traitement. Cependant, il est nécessaire de sélectionner l'ancienne console pour traiter le bogue dans l'invite de commande. 20200709.png

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