Skip to content
Snippets Groups Projects

Cyborgs markovianes

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by fauno

    Aprender a hablar como una o todas las personas de un canal de Telegram

    markov.rb 784 B
    # No es muy divertido reivindicar el nombre de un violento católico...
    require 'marky_markov'
    require 'nokogiri'
    
    # Se va a crear el archivo markov.mmd en el directorio actual
    $markov = MarkyMarkov::Dictionary.new('markov')
    
    # Buscar todos los archivos exportados por Telegram Desktop
    Dir.glob('./ChatExport_02_12_2019/messages*.html').each do |m|
      puts m
    
      # Procesar el archivo
      html = Nokogiri::HTML(File.read(m))
    
      # Encontrar todos los mensajes
      html.css('.message.default .body').each do |msg|
        # Si solo queremos aprender a hablar como una sola persona
        # next unless msg.css('.from_name').text.strip == 'hola'
    
        # Aprender lo que se dijo
        $markov.parse_string msg.css('.text').text.strip
      end
    
      # Ir guardando el diccionario
      $markov.save_dictionary!
    end
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment