" \"\"\"Funcion que devueleve el arreglo de documentos al cual se le han eliminado los caracteres no deseados\n",
" \"\"\"\n",
" aux = []\n",
" for i in self.listaDocs:\n",
" texto = self.removerpunt(i)\n",
" aText = texto.split(\" \")\n",
" aux.append(aText)\n",
" return np.array(aux)\n",
" \n",
" def getTerminos(self):\n",
" \"\"\"Funcion que devueleve el liestado completo de terminos existentes en los documentos\n",
" \n",
" Examples:\n",
" >>> self.getTerminos()\n",
" [\"este\", \"es\", \"un\", \"ejemplo\"]\n",
" \"\"\"\n",
" listaDocs = self.listaDocs\n",
" texto = ' '.join(listaDocs)\n",
" texto = texto.lower()\n",
" arrayTexto = texto.split(\" \")\n",
" return np.array(list(set(arrayTexto)))\n",
" \n",
" def tf(self):\n",
" \"\"\"Funcion que devueleve una matriz documento-termino en la cual cada celda tiene el producto de la frecuencia de término y de la frecuencia inversa del término\n",
" cantados marco dentro ... clases narrar acompañamiento \\\n",
"Documento1 0.0 0.0 0.0 ... 0.0 0.0 0.0 \n",
"Documento2 0.0 1.0 1.0 ... 1.0 0.0 0.0 \n",
"Documento3 1.0 0.0 0.0 ... 0.0 1.0 1.0 \n",
"\n",
" unos sanitario estado poesía siendo variables variable \n",
"Documento1 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"Documento2 0.0 2.098612 0.0 0.0 1.0 1.0 1.0 \n",
"Documento3 1.0 0.000000 0.0 1.0 0.0 0.0 0.0 \n",
"\n",
"[3 rows x 277 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"listaDocs = [\n",
" u'''La Informática es la disciplina o campo de estudio que abarca el conjunto de conocimientos, métodos y técnicas referentes al tratamiento automático de la información, junto con sus teorías y aplicaciones prácticas, con el fin de almacenar, procesar y transmitir datos e información en formato digital utilizando sistemas computacionales. Los datos son la materia prima para que, mediante su proceso, se obtenga como resultado información. Para ello, la informática crea y/o emplea sistemas de procesamiento de datos, que incluyen medios físicos (hardware) en interacción con medios lógicos (software) y las personas que los programan y/o los usan (humanware)''',\n",
" u'''La práctica de la medicina se ejerce dentro del marco económico, legal y oficial del sistema médico que es parte de los sistemas nacionales de salud pública (políticas sanitarias estatales). Las características bajo las cuales se maneja el sistema sanitario en general y el órgano médico en particular ejercen un efecto significativo sobre cómo el servicio de salud, y la atención sanitaria puede ser aprovechada por la población general. Una de las variables más importantes para el funcionamiento del sistema se corresponde con el área financiera y el presupuesto que un Estado invierte en materia de salud. Otra variable implica los recursos humanos que articulan las directivas del sistema sanitario. La otra cara de la moneda en materia de atención médica está dada por el servicio privado de salud. Los honorarios y costos del servicio sanitario corren por cuenta del contratista, siendo de esta forma un servicio generalmente restringido a las clases económicamente solventes. Existen no obstante contratos de seguro médico que permiten acceder a estos servicios sanitarios privados; son, fundamentalmente, de dos tipos:''',\n",
" u'''Hay testimonios de lenguaje escrito en forma de poesía en jeroglíficos egipcios de 25 siglos antes de Cristo. Se trata de cantos de labor y religiosos. El Poema de Gilgamesh, obra épica de los sumerios, fue escrito con caracteres cuneiformes y sobre tablas de arcilla unos 2000 años antes de Cristo. Los cantos de la Ilíada y la Odisea, cuya composición se atribuye a Homero, datan de ocho siglos antes de la era cristiana. Los Veda, libros sagrados del hinduismo, también contienen himnos y su última versión se calcula fue redactada en el siglo III a. C. Por estos y otros textos antiguos se supone justificadamente que los pueblos componían cantos que eran trasmitidos oralmente. Algunos acompañaban los trabajos, otros eran para invocar a las divinidades o celebrarlas y otros para narrar los hechos heroicos de la comunidad. Los cantos homéricos hablan de episodios muy anteriores a Homero y su estructura permite deducir que circulaban de boca en boca y que eran cantados con acompañamiento de instrumentos musicales. Homero menciona en su obra la figura del aedo (cantor), que narraba sucesos en verso al compás de la lira. El ritmo de los cantos no solo tenía la finalidad de agradar al oído, sino que permitía recordar los textos con mayor facilidad.'''\n",
"1. Generar una estructura de archivos y directorios similar a 20 Newsgroups pero con documentos en español y al menos cinco categorías\n",
"\n",
"2. Elejir y compilar al menos 100 documentos de cada categoría que serán utilizados en el proyecto final\n",
"\n",
"3. Subir el dataset generado al repositorio\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Crowdsourcing\n",
"\n",
"1. Ingrese a la plataforma de anotación de misoginia (Crowdsourcing)\n",
"\n",
"2. Haga el tutorial de la plataforma\n",
"\n",
"3. Realice 100 anotaciones de tuits siguiendo las instrucciones\n",
"\n",
"http://etiquetamisoginia.geoint.mx/\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Crawling\n",
"\n",
"REMERI es la Red Mexicana de Repositorios Institucionales\n",
"\n",
"El objetivo general de REMERI es integrar una red federada de Repositorios de acceso abierto de las Instituciones Mexicanas de Educación Superior (IES), con la finalidad de integrar, difundir, preservar y dar visibilidad a la producción científica, académica y documental del país.\n",
"\n",
"1. Ingrese a la plataforma REMERI y realice una búsqueda por palabra, por ejemplo: \"nopal\"\n",
"2. Defina la Clase CrawlerRemeri() la cual tendra un método search(query, n=5) que realiza la búsqueda de la cadena query en REMERI y descarga n documentos resultantes de la búsqueda.\n",
"\n",
"3. modifique el método método search(query, n=5) para que cuando n sea negativo, descargue todos, los documentos resultantes de la búsqueda en REMERI\n",
"\n",
"\n",
"\n",
"#### Observaciones\n",
"\n",
"* utilice la biblioteca de python Requests para realizar las peticiones\n",
"* Sea cuidadoso ya que el sitio podría banear su IP en caso de que detecte un ataque"
]
},
{
...
...
@@ -19,7 +135,1222 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3.2 Django (Templates y HTML5)"
"# 9. Procesamiento de Lenguaje Natural parte 2\n",
"/usr/local/lib/python3.7/site-packages/sklearn/linear_model/stochastic_gradient.py:183: FutureWarning: max_iter and tol parameters have been added in SGDClassifier in 0.19. If max_iter is set but tol is left unset, the default value for tol in 0.19 and 0.20 will be None (which is equivalent to -infinity, so it has no effect) but will change in 0.21 to 1e-3. Specify tol to silence this warning.\n",
"Pérez C. et al. (2016). Recuperación, procesamiento y clasificación de tuits para visualizar estructuras de interacción. Research in Computing Science Journal, 124 (1), 23-37. http://www.rcs.cic.ipn.mx/2016_124/Recuperacion_%20procesamiento%20y%20clasificacion%20de%20tuits%20para%20visualizar%20estructuras%20de%20interaccion.pdf\n",
"\n",
"\n",
"T. Joachims (1996). A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization, Computer Science Technical Report CMU-CS-96-118. Carnegie Mellon University.\n",