Teoría

El Reconomicieminto Óptico de Caracteres (OCR) es una tecnología utilizada para convertir diferentes tipos de documentos, como imágenes, documentos impresos escaneados, fotografías de texto, archivos PDF o imágenes capturadas con una cámara en datos editables y buscables

La Minerías de Datos (TM) es el proceso de extraer información útil, patrones o conocimiento de textos no estructurados.

Consta de 3 étapas: 1. Obtener Datos: El Reconocimiento Óptico de Caracteres (OCR), es una tecnología que permite convertir imágenes de texto editable. También es conocido como extracción de texto a imágenes. 2. Explorar datos: Representación gráfica o visual de los datos para su interpretración. Los métodos más comunes el Análisis de Sentimientos, la Nube de Palabras y el Topic Modeling. 3. Análisis predictivo: Son las técnicas y modelos estadísticos para predecir resultados futuros. Los modelos más utilizados son el Random Forest, redes nueronales y regresiones.

Installar y llamar librerías

#install.packages("tidyverse")
#install.packages("tesseract")
#install.packages("magick")
#install.packages("officer")
#install.packages("pdftools")
#install.packages("purr")
#install.packages("syuzhet")
#install.packages("tm")
#install.packages("wordcloud")
#install.packages("RColorBrewer")

library(tidyverse)
library(tesseract)
library(magick)
library(officer)
library(pdftools)
library(purrr)
library(syuzhet)
library(tm)
library(wordcloud)
library(RColorBrewer)

De imágen PNG a texto en Word

imagen1 <- image_read("C:\\Users\\erik-\\OneDrive\\Documentos\\Escuela\\Universidad\\7ºSemestre\\Modulo_2\\imagen1.PNG")


texto1 <- ocr(imagen1)
texto1
## [1] "Linear regression with one variable x is also known as univariate linear regression\nor simple linear regression. Simple linear regression is used to predict a single\noutput from a single input. This is an example of supervised learning, which means\nthat the data is labeled, i.e., the output values are known in the training data. Let us\nfit a line through the data using simple linear regression as shown in Fig. 4.1.\n"
doc1 <- read_docx()
doc1 <- doc1 %>% body_add_par(texto1)
print(doc1, target = "texto1.docx")

De imágen PNG en Español a texto en Word

imagen2 <- image_read("C:\\Users\\erik-\\OneDrive\\Documentos\\Escuela\\Universidad\\7ºSemestre\\Modulo_2\\imagen2.PNG")
tesseract_download("spa")
## [1] "C:\\Users\\erik-\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto2 <- ocr(imagen2, engine = tesseract("spa"))
texto2
## [1] "Un importante, y quizá controversial, asunto político es el que se refiere al efecto del salario mínimo sobre\nlas tasas de desempleo en diversos grupos de trabajadores. Aunque este problema puede ser estudiado con\ndiversos tipos de datos (corte transversal, series de tiempo o datos de panel), suelen usarse las series de\ntiempo para observar los efectos agregados. En la tabla 1.3 se presenta un ejemplo de una base de datos\nde series de tiempo sobre tasas de desempleo y salarios mínimos.\n"
doc2 <- read_docx()
doc2 <- doc2 %>% body_add_par(texto2)
print(doc2, target = "texto2.docx")

De PDF a Word

pdf_eso <- pdf_convert("C:\\Users\\erik-\\OneDrive\\Documentos\\Escuela\\Universidad\\7ºSemestre\\Modulo_2\\eso.pdf") %>% map(ocr)
## Converting page 1 to eso_1.png... done!
## Converting page 2 to eso_2.png... done!

Análisis de Emociones y Sentimientos

texto <- pdf_eso
texto_palabras <- get_tokens(texto)

emociones <- get_nrc_sentiment(texto_palabras, language = "spanish")

sentimientos <- (emociones$negative * -1) + emociones$positive

simple_plot(sentimientos)

Nube de palabras

palabras <- texto_palabras
palabras <- removeWords(palabras, c(stopwords("spanish"), "habia", "hacia", "casi"))
wordcloud(words = palabras, min.freq = 2, rot.per = 0, random.order = FALSE)

Conclusiones

Al analizar los sentimientos del texto podemos encontrar que la historia comienza con un sentimiento positivo, sin enmbargo conforme la misma avanza el sentimiento se deteriora debido a que la historia se acerca a la parte en la que George desaparece.

De igual forma podemos ver que las palabras que tienden a repetirse en la nube de palabaras son los personajes de la historia, el lugar dondé ocurre y algunas descripciones del ambiente.

LS0tDQp0aXRsZTogIk9DUiINCmF1dGhvcjogIkVyaWsgR29uemFsZXoiDQpkYXRlOiAiMjAyNS0wOC0yMCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRydWUgDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiBzaW1wbGV4DQotLS0NCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6cmVkOyI+IFRlb3LDrWEgPC9zcGFuPg0KRWwgKipSZWNvbm9taWNpZW1pbnRvIMOTcHRpY28gZGUgQ2FyYWN0ZXJlcyAoT0NSKSoqIGVzIHVuYSB0ZWNub2xvZ8OtYSB1dGlsaXphZGEgcGFyYSBjb252ZXJ0aXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBkb2N1bWVudG9zLCBjb21vIGltw6FnZW5lcywgZG9jdW1lbnRvcyBpbXByZXNvcyBlc2NhbmVhZG9zLCBmb3RvZ3JhZsOtYXMgZGUgdGV4dG8sIGFyY2hpdm9zIFBERiBvIGltw6FnZW5lcyBjYXB0dXJhZGFzIGNvbiB1bmEgY8OhbWFyYSBlbiBkYXRvcyBlZGl0YWJsZXMgeSBidXNjYWJsZXMNCg0KTGEgKipNaW5lcsOtYXMgZGUgRGF0b3MgKFRNKSoqIGVzIGVsIHByb2Nlc28gZGUgZXh0cmFlciBpbmZvcm1hY2nDs24gw7p0aWwsIHBhdHJvbmVzIG8gY29ub2NpbWllbnRvIGRlIHRleHRvcyBubyBlc3RydWN0dXJhZG9zLiANCg0KQ29uc3RhIGRlIDMgw6l0YXBhczoNCjEuIE9idGVuZXIgRGF0b3M6IEVsIFJlY29ub2NpbWllbnRvIMOTcHRpY28gZGUgQ2FyYWN0ZXJlcyAoT0NSKSwgZXMgdW5hIHRlY25vbG9nw61hIHF1ZSBwZXJtaXRlIGNvbnZlcnRpciBpbcOhZ2VuZXMgZGUgdGV4dG8gZWRpdGFibGUuIFRhbWJpw6luIGVzIGNvbm9jaWRvIGNvbW8gZXh0cmFjY2nDs24gZGUgdGV4dG8gYSBpbcOhZ2VuZXMuIA0KMi4gRXhwbG9yYXIgZGF0b3M6IFJlcHJlc2VudGFjacOzbiBncsOhZmljYSBvIHZpc3VhbCBkZSBsb3MgZGF0b3MgcGFyYSBzdSBpbnRlcnByZXRyYWNpw7NuLiBMb3MgbcOpdG9kb3MgbcOhcyBjb211bmVzIGVsIEFuw6FsaXNpcyBkZSBTZW50aW1pZW50b3MsIGxhIE51YmUgZGUgUGFsYWJyYXMgeSBlbCBUb3BpYyBNb2RlbGluZy4NCjMuIEFuw6FsaXNpcyBwcmVkaWN0aXZvOiBTb24gbGFzIHTDqWNuaWNhcyB5IG1vZGVsb3MgZXN0YWTDrXN0aWNvcyBwYXJhIHByZWRlY2lyIHJlc3VsdGFkb3MgZnV0dXJvcy4gTG9zIG1vZGVsb3MgbcOhcyB1dGlsaXphZG9zIHNvbiBlbCBSYW5kb20gRm9yZXN0LCByZWRlcyBudWVyb25hbGVzIHkgcmVncmVzaW9uZXMuIA0KDQohW10oaHR0cHM6Ly9pbWcud2F0dHBhZC5jb20vMGE5ZWQ5NTIxOWE0YTdhY2EwNzI5ODBjOWVlMTFhZGQ0MDU4NjJkZC82ODc0NzQ3MDczM2EyZjJmNzMzMzJlNjE2ZDYxN2E2ZjZlNjE3NzczMmU2MzZmNmQyZjc3NjE3NDc0NzA2MTY0MmQ2ZDY1NjQ2OTYxMmQ3MzY1NzI3NjY5NjM2NTJmNTM3NDZmNzI3OTQ5NmQ2MTY3NjUyZjUwNDc2NTM0NmUzNTcwNTQ3MjZiNDc0OTc3NTEzZDNkMmQzNTM4MzYzMDMzMzczNzM1MzMyZTMxMzUzMzM2MzE2MjM0NjEzMDMzMzU2MTMwNjQzNjY2MzIzOTMyMzQzNjM0MzMzNTM1MzQzOTM1MmU2NzY5NjYpDQoNCg0KIyA8c3BhbiBzdHlsZSA9ICJjb2xvcjpyZWQ7Ij4gSW5zdGFsbGFyIHkgbGxhbWFyIGxpYnJlcsOtYXMgPC9zcGFuPg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiNpbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKQ0KI2luc3RhbGwucGFja2FnZXMoInRlc3NlcmFjdCIpDQojaW5zdGFsbC5wYWNrYWdlcygibWFnaWNrIikNCiNpbnN0YWxsLnBhY2thZ2VzKCJvZmZpY2VyIikNCiNpbnN0YWxsLnBhY2thZ2VzKCJwZGZ0b29scyIpDQojaW5zdGFsbC5wYWNrYWdlcygicHVyciIpDQojaW5zdGFsbC5wYWNrYWdlcygic3l1emhldCIpDQojaW5zdGFsbC5wYWNrYWdlcygidG0iKQ0KI2luc3RhbGwucGFja2FnZXMoIndvcmRjbG91ZCIpDQojaW5zdGFsbC5wYWNrYWdlcygiUkNvbG9yQnJld2VyIikNCg0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHRlc3NlcmFjdCkNCmxpYnJhcnkobWFnaWNrKQ0KbGlicmFyeShvZmZpY2VyKQ0KbGlicmFyeShwZGZ0b29scykNCmxpYnJhcnkocHVycnIpDQpsaWJyYXJ5KHN5dXpoZXQpDQpsaWJyYXJ5KHRtKQ0KbGlicmFyeSh3b3JkY2xvdWQpDQpsaWJyYXJ5KFJDb2xvckJyZXdlcikNCmBgYA0KDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6cmVkOyI+IERlIGltw6FnZW4gUE5HIGEgdGV4dG8gZW4gV29yZCA8L3NwYW4+DQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KaW1hZ2VuMSA8LSBpbWFnZV9yZWFkKCJDOlxcVXNlcnNcXGVyaWstXFxPbmVEcml2ZVxcRG9jdW1lbnRvc1xcRXNjdWVsYVxcVW5pdmVyc2lkYWRcXDfCulNlbWVzdHJlXFxNb2R1bG9fMlxcaW1hZ2VuMS5QTkciKQ0KDQoNCnRleHRvMSA8LSBvY3IoaW1hZ2VuMSkNCnRleHRvMQ0KZG9jMSA8LSByZWFkX2RvY3goKQ0KZG9jMSA8LSBkb2MxICU+JSBib2R5X2FkZF9wYXIodGV4dG8xKQ0KcHJpbnQoZG9jMSwgdGFyZ2V0ID0gInRleHRvMS5kb2N4IikNCmBgYA0KDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6cmVkOyI+IERlIGltw6FnZW4gUE5HIGVuIEVzcGHDsW9sIGEgdGV4dG8gZW4gV29yZCA8L3NwYW4+DQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KaW1hZ2VuMiA8LSBpbWFnZV9yZWFkKCJDOlxcVXNlcnNcXGVyaWstXFxPbmVEcml2ZVxcRG9jdW1lbnRvc1xcRXNjdWVsYVxcVW5pdmVyc2lkYWRcXDfCulNlbWVzdHJlXFxNb2R1bG9fMlxcaW1hZ2VuMi5QTkciKQ0KdGVzc2VyYWN0X2Rvd25sb2FkKCJzcGEiKQ0KDQp0ZXh0bzIgPC0gb2NyKGltYWdlbjIsIGVuZ2luZSA9IHRlc3NlcmFjdCgic3BhIikpDQp0ZXh0bzINCmRvYzIgPC0gcmVhZF9kb2N4KCkNCmRvYzIgPC0gZG9jMiAlPiUgYm9keV9hZGRfcGFyKHRleHRvMikNCnByaW50KGRvYzIsIHRhcmdldCA9ICJ0ZXh0bzIuZG9jeCIpDQpgYGANCg0KIyA8c3BhbiBzdHlsZSA9ICJjb2xvcjpyZWQ7Ij4gRGUgUERGIGEgV29yZCA8L3NwYW4+DQpgYGB7cn0NCnBkZl9lc28gPC0gcGRmX2NvbnZlcnQoIkM6XFxVc2Vyc1xcZXJpay1cXE9uZURyaXZlXFxEb2N1bWVudG9zXFxFc2N1ZWxhXFxVbml2ZXJzaWRhZFxcN8K6U2VtZXN0cmVcXE1vZHVsb18yXFxlc28ucGRmIikgJT4lIG1hcChvY3IpDQpgYGANCg0KDQojIDxzcGFuIHN0eWxlID0gImNvbG9yOnJlZDsiPiBBbsOhbGlzaXMgZGUgRW1vY2lvbmVzIHkgU2VudGltaWVudG9zIDwvc3Bhbj4NCmBgYHtyfQ0KdGV4dG8gPC0gcGRmX2Vzbw0KdGV4dG9fcGFsYWJyYXMgPC0gZ2V0X3Rva2Vucyh0ZXh0bykNCg0KZW1vY2lvbmVzIDwtIGdldF9ucmNfc2VudGltZW50KHRleHRvX3BhbGFicmFzLCBsYW5ndWFnZSA9ICJzcGFuaXNoIikNCg0Kc2VudGltaWVudG9zIDwtIChlbW9jaW9uZXMkbmVnYXRpdmUgKiAtMSkgKyBlbW9jaW9uZXMkcG9zaXRpdmUNCg0Kc2ltcGxlX3Bsb3Qoc2VudGltaWVudG9zKQ0KYGBgDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6cmVkOyI+IE51YmUgZGUgcGFsYWJyYXMgPC9zcGFuPg0KYGBge3Igd2FybmluZz1GQUxTRX0NCnBhbGFicmFzIDwtIHRleHRvX3BhbGFicmFzDQpwYWxhYnJhcyA8LSByZW1vdmVXb3JkcyhwYWxhYnJhcywgYyhzdG9wd29yZHMoInNwYW5pc2giKSwgImhhYmlhIiwgImhhY2lhIiwgImNhc2kiKSkNCndvcmRjbG91ZCh3b3JkcyA9IHBhbGFicmFzLCBtaW4uZnJlcSA9IDIsIHJvdC5wZXIgPSAwLCByYW5kb20ub3JkZXIgPSBGQUxTRSkNCmBgYA0KDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6cmVkOyI+IENvbmNsdXNpb25lcyA8L3NwYW4+DQpBbCBhbmFsaXphciBsb3Mgc2VudGltaWVudG9zIGRlbCB0ZXh0byBwb2RlbW9zIGVuY29udHJhciBxdWUgbGEgaGlzdG9yaWEgY29taWVuemEgY29uIHVuIHNlbnRpbWllbnRvIHBvc2l0aXZvLCBzaW4gZW5tYmFyZ28gY29uZm9ybWUgbGEgbWlzbWEgYXZhbnphIGVsIHNlbnRpbWllbnRvIHNlIGRldGVyaW9yYSBkZWJpZG8gYSBxdWUgbGEgaGlzdG9yaWEgc2UgYWNlcmNhIGEgbGEgcGFydGUgZW4gbGEgcXVlIEdlb3JnZSBkZXNhcGFyZWNlLiANCg0KRGUgaWd1YWwgZm9ybWEgcG9kZW1vcyB2ZXIgcXVlIGxhcyBwYWxhYnJhcyBxdWUgdGllbmRlbiBhIHJlcGV0aXJzZSBlbiBsYSBudWJlIGRlIHBhbGFiYXJhcyBzb24gbG9zIHBlcnNvbmFqZXMgZGUgbGEgaGlzdG9yaWEsIGVsIGx1Z2FyIGRvbmTDqSBvY3VycmUgeSBhbGd1bmFzIGRlc2NyaXBjaW9uZXMgZGVsIGFtYmllbnRlLiA=