El reconocimiento óptico de cracateres (OCR)** es una tecnología utilizada para convertir diferentes tipos de docuemntos, 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ía de Datos (TM) es el proceso de extraer información útil, patrones o conocimiento de texto no estructurados.
Consta de 3 etapas: 1. Obtener datos: El reconocimiento óptico de caracteres (OCR) es una tecnología que permite convertir imágenes de texto en texto editable. También, es conocido como extracción de texto de imágenes. 2. Explorar datos: Representación gráfica o visual de los datos para su interpretación. Los métodos más comunes son 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 usados son el Random Forest, redes neuronales y regresiones.
#install.packages("tidyverse") #Manipulación de datos
library(tidyverse)
#install.packages("tesseract") #OCR
library(tesseract)
#install.packages("magick") #PNG
library(magick)
#install.packages("officer") #OFFICE word
library(officer)
#install.packages("pdftools") #PDF
library(pdftools)
#install.packages("purrr") #Para la función "map" para aplicar una función a cada elemento de un vector
library(purrr)
#install.packages("syuzhet") #Análisis de sentimiento
library(syuzhet)
#install.packages("tm") #Minería de texto
library(tm)
#install.packages("wordcloud") #Nube de palabras
library(wordcloud) #Colores
#install.packages("RColorBrewer")
library(RColorBrewer)
imagen1 <-image_read("D:\\Anton V2\\Downloads\\it-chapter-two-review.webp")
texto1 <- ocr(imagen1)
texto1
## [1] "~ = :\n== $happy movie review\nIt Chapter Ty ~~\na ~\n./\n\nPennywise is frightening, adorable, \\\nmalicious, loveable, all at the same time\nStrong performances from the cast \\\nof the Losers’ Club. With Ritchie once\nagain the life of the party\nScares aren't too terrifying, but <\nthey are entertaining in a macabre way\n\n| The King, and his other creations,\n\ni make appearances\nPennywise is a metaphor for letting ¢\n\n| go of the past? y\n\n. ,\nThe movie is too long! Scares get a\nrepetitive too 4\nAdult experiences of the Losers are A\nsparingly explored. Sacrificed in favour of 4\nTnore scares! Movie Poster ©\nm Distributor or Publisher\n"
doc1 <- read_docx() #Crea un word en blanco
doc1 <- doc1 %>% body_add_par(texto1) #pega el texto en el doc
print(doc1, target="texto1.docx") #Guardo el doc en la compu
imagen2 <-image_read("D:\\Anton V2\\Downloads\\OIP.webp")
tesseract_download("spa")
## Training data already exists. Overwriting C:\Users\anton\AppData\Local\tesseract5\tesseract5\tessdata/spa.traineddata
## [1] "C:\\Users\\anton\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto2 <- ocr(imagen2, engine = tesseract("spa"))
texto2
## [1] "Novelas cortas\nJul de Ases\nLa casa donde murió\nyA\n\namino del pueblo de 5... stado cerca de la capital duna provincia cuyo\n\"ombre no ae al aso bamos en un caraj, tirado por dos mula, Cia. su\nmadre, Fernando el prometido ela jove. y 30.\n\nFran las cinco dela tar, el calor ns Sofocba porus empera el mes de\nAgost, y os cuatro guardamos slnco La señora e López rezaba mentalmente\nua ue Dis os levase con bie l KEmino de muestro Vaj: rima Haba as\nernosos ojos en Femando que no reparaba cn ello. y yo contemplaba la deliciosa\ncampiña pr la que roda muestro och\n\n“Seran ls sis cundo cl camaje sc detuvo ala ctrada del publ: bajamos y\nos dirigimos auna apa donde s sencraha 4 Nuestra Señora de ls Mead aa\nue la madre de Cristina leía pariculr devoción. Mens exa señora y 8 Ma\nFsctban algunas oraciones Fernado me rogó que le siguiera al cementerño, situado\nny era e ll, ande estaba o padre enterado, Le compl y pentramos en un\nuti cuadrado, con a tapia blanquadas y eel qe se observaban algunas cruces\nde piedra o de madera, Ixéndose Sobre Lápidasmoruris varas ispciones un\ntanto confusas. En un rincón va una mujer odiada, nl ue mi compañero no\npareció fijarse l proto.\n\nMecrscóla tumba deu padre, qe era sncil de mámo! blanco, y comprendí\nueno ra onicament por vera plo que el Jose había legado hasta a Obie\nue buscalo alguna cosa qu no contaba. hasta que vio a mujer, que ca una\nVieja mal vestida y degrada. que estaa mirando atentamente. Fendo bajos\nos. y da la a aleja, cundo la anciana se levantó y le amó por su nombre,\nbliindol detener\n\n=¿Qué desa V. madre Mara? la preguntó en un tono que quería parce sereno.\n\n“Lo de siempre -comtexó la vieja en cuya mida noté certo cx,\npreguntar en dónde hs ocultado a mi nia. Die ños hac que el has Uvado,\niento sé. y hoy me han dicho enel pueblo que vienes aquí par cebra t boda con\n\nNo ignora V.. madre María que u hija munó hace dic ños y que yo pagué su\ntiro para que Su hermoso cuero descanse en este campo-Snto, A mi vez le\npregunto. ¿dónde se cuenta la tumba de la pobre Tere?\n"
doc2 <- read_docx() #Crea un word en blanco
doc2 <- doc2 %>% body_add_par(texto2) #pega el texto en el doc
print(doc2, target="texto2.docx") #Guardo el doc en la compu
pdf_eso <- pdf_convert("D:\\Anton V2\\Downloads\\It (Eso) - Stephen King - Leer Libros Online.pdf") %>% map(ocr)
## Converting page 1 to It (Eso) - Stephen King - Leer Libros Online_1.png... done!
## Converting page 2 to It (Eso) - Stephen King - Leer Libros Online_2.png... done!
## Converting page 3 to It (Eso) - Stephen King - Leer Libros Online_3.png... done!
## Converting page 4 to It (Eso) - Stephen King - Leer Libros Online_4.png... done!
## Converting page 5 to It (Eso) - Stephen King - Leer Libros Online_5.png... done!
## Converting page 6 to It (Eso) - Stephen King - Leer Libros Online_6.png... done!
## Converting page 7 to It (Eso) - Stephen King - Leer Libros Online_7.png... done!
## Converting page 8 to It (Eso) - Stephen King - Leer Libros Online_8.png... done!
## Converting page 9 to It (Eso) - Stephen King - Leer Libros Online_9.png... done!
## Converting page 10 to It (Eso) - Stephen King - Leer Libros Online_10.png... done!
#PNG eso_1
eso_1 <-image_read("C:\\Users\\anton\\OneDrive\\Documentos\\It (Eso) - Stephen King - Leer Libros Online_5.png")
tesseract_download("spa")
## Training data already exists. Overwriting C:\Users\anton\AppData\Local\tesseract5\tesseract5\tessdata/spa.traineddata
## [1] "C:\\Users\\anton\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto_eso_1 <- ocr(eso_1, engine = tesseract("spa"))
texto_eso_1
## [1] "Obras Públicas se las habia arreglado para mantener abierta Jackson Street, pero\nWitcham estaba intransitable desde las barreras hasta el centro mismo de la ciudad\nTodos estaban de acuerdo, sin embargo, en que lo peor había pasado. El río\nKenduskeag había crecido casi hasta sus márgenes en los eriales y hasta muy pocos\ncentimetros por debajo de los muros de cemento del canal que constreñía su paso\npor el centro de la ciudad. En esos momentos, un grupo de hombres —entre ellos\nZack Denbrough, el padre de George y de Bill— estaba retirando los sacos de arena\nque habían lanzado el día anterior con aterrorizada prisa. Un día antes, la inundación y\nsus costosos daños habian parecido casi inevitables. Bien sabía Dios que ya habia\nocurrido anteriormente —la inundación de 1931 había sido un desastre con un costo\nde millones de dólares y de más de veinte vidas—. De aquello hacía ya mucho\ntiempo, pero aún quedaba gente por ahí que lo recordaba para asustar al resto, Una\nde las víctimas de la inundación había sido hallada en Bucksport, a unos cuarenta\nkilómetros de distancia. Los peces le habian comido a ese infortunado caballero los\nojos, tres dedos, el pene y la mayor parte del pie izquierdo. Agarrado por lo que\nrestaba de sus manos, habia aparecido el volante de un Ford.\n\nAhora, sin embargo, el río estaba retrocediendo y cuando se elevara la nueva presa\nhidráulica de Bangor, corriente arriba, dejaria de ser una amenaza. Almenos eso decía\nZack Denbrough, que trabajaba en Hidroeléctrica Bangor En cuanto a los demás.\nbueno, las inundaciones futuras esperarian. Lo importante era salir de ésta, devolver\nla corriente eléctrica y después olvidarla. En Derry, eso de olvidar la tragedia y el\ndesastre era casi un arte, tal como Bill Denbrough llegaría a descubrir con el tiempo.\nGeorge se detuvo justo detrás de las barreras al borde de una profunda grieta que se\nhabía abierto en la superficie de alquitrán de Witcham Street. Este barranco discurría\ncasi exactamente en diagonal Terminaba alotro extremo de la calle, a unos doce\nmetros de donde él se encontraba, colina abajo hacía la derecha, Rió en voz alta —el\nsonido de la solitaria alegría infantil salvando metas en aquella tarde gris—. mientras\nun capricho del agua desbordada llevaba su barco de papel hasta unas cataratas a\nescala formadas por otra grieta en el pavimento. El agua había abierto con su\nurgencia un canal que corría a lo largo de la diagonal y por ello el barco iba de un\nlado a otro de la calle arrastrado tan deprisa por la corriente que George tuvo que\ncorrer para seguirlo. Elagua se extendía bajo sus botas, formando láminas de lodo.\nSus hebillas sonaban con un jubiloso tintineo mientras George Denbrough corria\n"
doc_eso_1 <- read_docx() #Crea un word en blanco
doc_eso_1 <- doc_eso_1 %>% body_add_par(texto_eso_1) #pega el texto en el doc
print(doc_eso_1, target="texto_eso_1.docx") #Guardo el doc en la compu
#PNG eso_2
eso_2 <-image_read("C:\\Users\\anton\\OneDrive\\Documentos\\It (Eso) - Stephen King - Leer Libros Online_4.png")
tesseract_download("spa")
## Training data already exists. Overwriting C:\Users\anton\AppData\Local\tesseract5\tesseract5\tessdata/spa.traineddata
## [1] "C:\\Users\\anton\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto_eso_2 <- ocr(eso_2, engine = tesseract("spa"))
texto_eso_2
## [1] "Elterror. que no terminaría por otros veintiocho años —si es que terminó alguna vez—,\ncomenzó, hasta donde sé o puedo contar, con un barco hecho de una hoja de un\ndiario que Notaba a lo largo del arroyo de una calle anegada de lluvia.\n\nEl barquito cabeceó, se ladeó, volvió a enderezarse en medio de traicioneros\nremolinos y continuó su marcha por Witcham Street hacia el semáforo que marcaba\nla intersección de ésta y Jackson. Las tres lentes verticales a los lados del semáforo\nestaban a oscuras y también todas las casas, en aquella tarde de otoño de 1957.\nLlovia sin cesar desde hacia ya una semana y dos días atrás habían llegado también\nlos vientos. Desde entonces, la mayor parte de Derry había quedado sin corriente\neléctrica y aún seguía asi.\n\nUn chiquillo de impermeable amarillo y botas rojas seguía alegremente al barco de\npapel La lluvia no había cesado, pero alfin estaba amainando. Golpeteaba sobre la\ncapucha amarilla del impermeable sonando a los oídos del niño como lluvia sobre el\ntejado de un cobertizo.. un sonido reconfortante, casi acogedor. El niño del\nimpermeable amarillo era George Denbrough. Tenía seis años. William, su hermano, a\nquien casi todos los niños de la escuela primaria de Derry (y hasta los maestros,\naunque jamás habrían usado elapodo frente a él conocían como Bill el Tartaja,\nestaba en su casa pasando los restos de una gripe bastante seria. En ese otoño de\n1957. ocho meses antes de que comenzasen realmente los horrores y veintiocho años\nantes del desenlace final, Bill el Tartaja tenia diez años,\n\nEra Bill quien había hecho el barquito junto al cual corría George. Lo había hecho\nsentado en su cama, con la espalda apoyada en un montón de almohadas, mientras\nla madire tocaba Para Elisa en el piano de la sala y la lluvia barría incansablemente la\nventana de su dormitorio,\n\nAun tercio de manzana, camino de la intersección y del semáforo apagado, Witcham\nStreet estaba cerrada al tráfico por varios toneles de brea y cuatro caballetes color\nnaranja. En cada uno de esos caballetes se leía: AYUNTAMIENTO DE DERRY -\nDEPARTAMENTO DE OBRAS PÚBLICAS. Tras ellos, la lluvia había desbordado\nalcantarillas atascadas con ramas, piedras y cúmulos de pegajosas hojas otoñales, El\nagua había ido picando el pavimento al principio, arrancado luego grandes trozos\ncodiciosos; todo esto, hacia el tercer día de las lluvias. Hacia el mediodia de la cuarta\njornada, grandes trozos de pavimento eran arrastrados por la intersección de Jackson\ny Witcham como témpanos de hielo en miniatura. Muchos habitantes de Derry habian\nempezado por entonces a hacer chistes nerviosos sobre el Arca. El Departamento de\n"
doc_eso_2 <- read_docx() #Crea un word en blanco
doc_eso_2 <- doc_eso_2 %>% body_add_par(texto_eso_2) #pega el texto en el doc
print(doc_eso_2, target="texto_eso_2.docx") #Guardo el doc en la compu
#NO FUNCIONÓ
#texto <- pdf_eso
#texto_palabras <-get_tokens(texto)
#emociones <- get_nrc_sentiment(texto_palabras, language = "spanish")
#Alegería, enojo,anticipación,Tristeza,Sorpresa, Asco, Miedo, Confianza
#barplot(columns(prop.table(emociones[,1:8])))
#sentimientos <- #(emociones$negative*-1)+emociones$positive
#simple_plot(sentimientos)
texto <- pdf_eso
texto_palabras <-get_tokens(texto)
emociones <- get_nrc_sentiment(texto_palabras, language = "spanish")
#Alegería, enojo,anticipación,Tristeza,Sorpresa, Asco, Miedo, Confianza
barplot(
colSums(prop.table(emociones[, 1:8])), # sumamos las proporciones de cada emoción
main = "Distribución de emociones",
ylab = "Proporción",
col = rainbow(8),
las = 2
)
# Nube de palabras
palabras <- texto_palabras
palabras <- removeWords(palabras, c(stopwords("spanish")))
wordcloud(words =palabras, min.freq = 2, rot.per = 0, random.order = FALSE) #Cambiar de acuerdo a la cantidad de texto
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
## Warning in tm_map.SimpleCorpus(corpus, function(x) tm::removeWords(x,
## tm::stopwords())): transformation drops documents