[RUBY] Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 2 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.

Kapitel 2 Ende des Kapitels Problem

ELIZA.rb


LIMIT = 20
CYCLE = 5

count = 0
endcount = 0
puts('Dr>Ich bin Doktor, rede mit dir')
while endcount < LIMIT
  print('Sie>')
  inputline = gets.chomp.encode("UTF-8", "CP932", :invalid => :replace)
  if count >= CYCLE
    puts 'Dr>' << inputline << ',? .. ..'
    count = 0
  elsif inputline.include?('Lehrer')
    puts 'Dr>Lass uns über dich reden, nicht über mich'
  elsif inputline.include?('Mutter')
    puts 'Dr>Sprechen Sie über Ihre Mutter'
  elsif inputline.include?('Vater')
    puts 'Dr>Sprechen Sie über Ihren Vater'
  elsif inputline.include?('Meinung')
    puts 'Dr>Willst du meine Meinung hören?'
  elsif inputline.include?('Ich bin besorgt')
    puts 'Dr>' << inputline.sub(/Ich bin besorgt/, 'Bist du besorgt?')
  else
    puts 'Dr>Bitte fahre fort'
  end
  count += 1
  endcount += 1
end
puts('Dr>Lass es uns jetzt beenden. Danke für Ihre Unterstützung.')

Dies ist ein Problem beim Erstellen einer vereinfachten Version von ELIZA.

CP932.rb


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

Im Fall von "Windows10" ist das Konvertieren des Zeichencodes erforderlich. AtCoder ist frisch, weil es keine solche Verarbeitung gibt. Es ist jedoch erforderlich, die Legacy-Konsole auszuwählen, um den Fehler in der Eingabeaufforderung zu beheben. 20200709.png

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