
Python para las humanidades digitales - 1ra edición
By Witton Becerra Mayorga, Adriana López, Alex L. RojasLength8h 17m
About this audiobook
Las humanidades digitales combinan la programación por computador con el estudio de las humanidades en general. Este libro propone el lenguaje de programación Python para realizar investigaciones en humanidades, así, desarrolla casos posibles en varios campos y da las instrucciones para iniciarse en este lenguaje de programación para humanistas.
Python para humanidades digitales ofrece instrucciones desde la instalación de la interfaz de trabajo, la obtención de datos y la manipulación de datos mediante códigos y librerías que pueden entrenar a cualquier humanista novato en programación.
Dirigido a estudiantes de pregrado y posgrado, a docentes de humanidades y a cualquier investigador que esté interesado en realizar estudios masivos de datos en literatura, historia, música, artes visuales, educación, bibliometría, entre otros.
Incluye:
Instrucciones con ejemplos reales de investigación en humanidades digitales.
Diálogo interdisciplinar y transdisciplinar que permite la creación de investigaciones novedosas.
Aproximación didáctica hecha a partir del trabajo colaborativo de matemáticos y humanistas.
Contenidos en el Sistema de Información en Línea (SIL):
Al final del libro encontrará el código para ingresar información en Línea – SIL – donde podrá encontrar todos los bloques de código incluidos en el libro.
Audiobook details
GenreTechnology
Length8 hrs 17 mins
Narrated byListen with 1,000+ voices
FormateBook with Audio
Publish dateDec 6, 2023
LanguageSpanish
Table of contents
1WittonBecerraMayorga,AdrianaLópez,AlexL.Rojas
2alfabético -- Incluye referencias bibliográficas.
3Sistema de Información en Línea
4Prefacioxiiiesmetodologíascomoanálisisderedessociales,mineríadedatos,lavisualizacióndedatosmediantegrafosquemuestrenlostextosysusrela-cionesyelyafamosomachinelearningquehaproducidounarevolucióncomoesChatGPT.EstelibroestáescritoparacualquierhumanistaqueestéinteresadoenaprenderaprogramarenPython.Ennuestraexperiencia,esteinterésusualmentevieneacompañadodeunproblemarealqueelindividuoquiereresolveryhaescuchadoquepuedeserresueltoconPython.Porestarazón,recomendamosqueamedidaqueavancemosconelmaterial,nosolosepractiqueconlosejemplosdellibro,sinoconmaterialrelacionadoconelproblemaqueatañealhumanista.Enlaprimerapartedellibro,nosenfocamosenaprenderlasestructurasbásicasparaalmacenarinformaciónenPythonysumanipulaciónbásica.También,extraemosdatosdearchivosdetipotexto,archivospdfypáginaseninternetconlaayudadelibreríascomoBeatifulSoupypypdf.Losarchivosdetextoypdfpuedenestardisponiblesennuestrodiscodurooeninternet,porende,esnecesariotenerunaconecciónainternetparatrabajarenelmaterialpropuesto.Paralograrextraerymanipularlainformaciónenestosarchivos,esfundamentalconocerymanejarlasestructurasbásicasdePython,aligualqueotrasestructurasdisponiblesenlibreríasescritasespecíficamenteparamanipularciertaclasedeinformación.Porestarazón,esimportanteteneraccesoaunadistribucióndePythonquetengainstaladasestaslibreríaspordefecto.Comoexplicamosenelprimercapítulo,emplearemosladistribuciónAnaconda,así,nonospreocupamosporinstalarningunalibreríaextra,niporincompatibilidades.AdiferenciadeotroslibrosintroductoriosdePython,dondeelusodeconceptosmatemáticoseselejecentralparapresentartodoelmaterial,enestelibronosenfocamosentrabajarcontexto.Existenvariosformatosparaalmacenartexto,peronolosconsideramostodosenestelibro.Nosenfocamosentextosinformato,ylosformatoscsv,HTMLyJSON.Noobstante,siesnecesariointeractuarconalgúnotroformato,creemosqueconelmaterialqueaprendamosenestelibro,poseemoslasherramientasparaleerloymanipularlo.Comohumanistasdigitales,sabemosqueeltextoesunafuenteextre-madamentericadeinformación.Porejemplo,eneltiempodesdequeiniciamosaleerestelibro,sehancreadocientosdemensajesdetexto,correos,comentariosendiferentesplataformas,etc.Además,detodoel
5ParteIObtencióndedatos
Show all chaptersShow less
6Tiposdedatos
72.1Secuenciasdecaracteres19
8{z
9¿esunn´umero?
10342Tiposdedatos
11382Tiposdedatoscódigolaexpresiónforminministerios,comoenlacuartalíneadelBloquedecódigo2.19.
12482Tiposdedatos
133.3Archivosconformatopdf69unacomprensióndelistaparaunireliniciodeladirecciónconlasecuenciadecaracteresformadaconlosnúmerosenlostresrangosyelcaracter/.Estostresrangossonoriginalmentenúmeros,porende,utilizamoslafunciónstr()paraconvertirlosensecuenciasdecaracteres.Finalmente,empleamoslafunciónzip()parapoderiterarenparalelosobrelostresrangosdefinidos.UnarepresentacióngráficadeestaiteraciónlapresentamosenlaFigura3.2.
14Archivosenlacarpeta/Data/PDFs/
15763Trabajandocondatosexternos
163.3Archivosconformatopdf81delarevistaeslargoeincluyecaracteres,talescomo'&',':'y'.'.Asíque,lasolucióndadaparaelcuartoproblemanosolucionaelpresenteproblema.Enamboscasos,lasoluciónqueproponemosesmodificarunoporunoloscaracteresqueencontremos.Elséptimoproblemaessimilaraltercerproblema,esdecir,elnombredelarevistanoestáseparadodelíndiceutilizadoparanumerarlasrevistas.Nuestrasoluciónenlaquebuscamosundígitoytresletrasnosirveenestecasoporqueelnombredelarevistaincluyeunguionenalgunadelasprimerastresposiciones.Porejemplo,algunasrevistaspublicadasenárabeutilizanelnombre'Al-'orevistasenfocadasentemaselectrónicostienenunnombrequeiniciacon'E-'.Proponemossolucionaresteproblemabuscandolassecuenciasquecontenganelpatrón'\d[a-z,A-Z]+\s*[-+&']'.Estepatróniniciaconundígitoyesseguidoporunaomásletras.Paralogrardetectarunaomásletrasseutilizaelcuantificador'+',esdecir,unasecuenciaconalmenosunaletracumpleelpatrón'[a-z,A-Z]+'.Despuésdelasletrasyantesdelguion,puedequehayaunespacioono.Porlotanto,necesitamosquehayaceroomásocurrenciasdelcarácterespacio,elcualesrepresentadoporelcarácter'\s'.Paralograrceroomásocurrenciasempleamoselcuantificador'*'.Finalmente,podemosincluirelcarácter-,peroexistenalgunasrevistasquetieneelmismopatrón,peroenlugardelcarácter'-'empleanalgunodeloscaracteres'+','&'o"'",enlugarde'-'.Asícomolaexpresiónregular'[a-z,A-Z]'quieredecirqueelcarácterpuedesercualquierletra,laexpresión'[-+&']'indicaqueelcarácterpuedeseralgunodeloscaracteres'-','+','&'o"'".Finalmente,notemosqueparavariosdelosarchivos,ellistadodelasrevistasiniciadespuésdeunasecuenciadetextoqueledaelnombrealascolumnasenelarchivopdforiginal.Enparticular,laprimeracolumnaesllamada'No.'.Porestarazón,todalainformaciónantesdeestasub-secuenciadecaracteresrealmentenonosimportaylapodemoseliminar.Comoyaaprendimos,utilizamoselmétodofind()paraencontrarlaposicióndeestasubsecuencia.Sinembargo,sialgunadelaspáginasdelosarchivosnotieneestecarácter,obtendremoserrores.Porestarazón,empleamosunacondicionalparadecidirlaeliminaciónonodeloscaracteresantesdelasecuencia'No.',teniendoenqueelmétodofind()retornaun-1sinoencuentralasecuenciaindicada.Asíque,sielresultadodeaplicarestemétodoesdiferentea-1,modificamoslasecuencia,deotromodo,nolamodificamos.
17883Trabajandocondatosexternosmás11.Lossietecaracterescorrespondenalalongituddelasecuencia'Enero'yadicionamos4másparaobtenertodolosdígitosdelaño.Sinoseencuentralasecuencia'Enero2',buscamoslasecuencia'Enero-'.Siestaseencuentra,sabemosqueelañoseextraetomandoloscaractereslocalizadosentrelaposicióninicialdelasecuencia'Enero-'más19hastalaposicióninicialmás23.Enestecaso,los19caracterescorrespondenalalongituddelasecuencia'Enero-Diciembre'.Sinoseencuentra'Enero2'ni'Enero-',nosencontramosenlasitua-ciónenqueelmesinicialdevigencianoseincluyóysetienesolamenteelañodevigencia.Comosabemosqueestosecumplesolamenteparaelaño2017,simplementebuscamosporlasecuencia'2017'.Finalmente,enlostrescasos,retenemostodalainformaciónantesdelaprimeraposición,yaquecorrespondealnombredelarevista,losISSNsylaclasificación.Además,incluimosuncarácter'>'parasepararlacalificacióndelañodevigencia.AntesdeadicionarlassecuenciasalalistahojaenelBloquedecódi-go3.37,aplicamoselmétodoupper()atodalassecuenciasparamantenerlosnombresdelasrevistasenmayúsculas.Porúltimo,eliminamoslassecuencias'>>',ycaracterespuntoycomaqueaparecensinrazónalgunaenlosarchivosoriginales.Además,eliminamosunespacioextraquesetieneantesdelaclasificación.Paraesto,podemosutilizarunacompren-sióndelistastriple,comosepresentaenelBloquedecódigo3.28.Lasprimerasdoseliminacionesocurrenpocasveces,porqueprobablementesonerroresdedigitación.Aúnasí,limpiamostodaslaslistas.
183.5Ejercicios101
191044TrabajandocondatosenlaWeb
20Bloquedecódigo4.1Obtencióndeltítulodeunasentencia
214.1HTML109“Trabajosdirigidos/tutorías”,lasecciónnosepresenta,yaquesecreaunaceldavacía.Ahorabien,cadaseccióntambiénestáorganizadacomounatabla.Elcasomásfácildenotarloeslasecciónde“Idiomas”.Enestasección,losidiomascorrespondesalasfilasylaspercepcionesdedominiodelhabla,escritura,lecturayentendimientocorrespondenalascolumnas.Tambiénesfácilnotarloenlaprimerasección,dondelainformacióndelnombre,nombreencitaciones,nacionalidadysexoesorganizadaenunatablacondoscolumnas.Paraelrestodesecciones,tenemostablasconsolounacolumna.Dadoquelainformacióndelcurrículoestáalmacenadaenunatabla,presentamoscómoescribirtablasenHTML.UnatablaenHTMLsedefineutilizandolaetiqueta<table>.AligualquelasotrasetiquetasenHTML,tieneatributos.Algunosdesusatributossonelanchodelatablayelestilodelborde.Pordefecto,unatablatienecerofilasycerocolumnas.Sinembargo,podemosadicionarfilasyceldasconlasetiquetas<tr>y<td>,respectivamente.Porejemplo,elcódigo
221124TrabajandocondatosenlaWeb
23Manipulacióndetexto
241505Manipulacióndetexto
255.1Expresionesregulares153re.finditer(),enelcualpodemosaccesarobjetosdetipore.Match,peronodirectamente.EnlasegundalíneadelBloquedecódigo5.6,aplicamoslafunciónre.finditer()conlaexpresiónregularfrase.Estogeneraunobjetoiterabley,porestarazón,podemosemplearunacomprensióndelistaparaaccesarlainformación.Paracadaelementodelalista,utilizamoselmétodospan()yasíobtenemosunalistaconlastuplasquecontienenlaposicióninicialylafinaldelascoincidencias.
261585Manipulacióndetexto
271645Manipulacióndetexto
28Bloquedecódigo5.19RectificacióndelainformaciónparalarevistaconISSN0039-3657
295.3Ejercicios197
30ProcesamientonaturaldellenguajeconspaCy
31Bloquedecódigo6.4DefinicióndeunonjetoSpan
326.2Token,SpanyDoc209Feliz
332126ProcesamientonaturaldellenguajeconspaCy
342206ProcesamientonaturaldellenguajeconspaCy
35Redes
362447Redesdedatosmat,elcualfueobtenidoenelBloquedecódigo7.10.EnlaFigura7.7presentamoslaredobtenidaconpyvis.
37Referencias
38Índicealfabético
39Sistema de Información en Línea
40Python para las humanidades digitales