Actualizacion

parent 04919f65
......@@ -950,7 +950,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"outputs": [
{
......@@ -959,7 +959,7 @@
"'b=mat2\\nprint(b)\\nzip_b = zip(*b)\\nfor col_b in zip_b:\\n print(col_b)\\n'"
]
},
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
......@@ -1018,8 +1018,8 @@
" cols_B = len(m2[0])\n",
"\n",
" if cols_A != fila_B:\n",
" print (\"Imposible resolver, la dimensionalidad de las matrices no cuadra.\")\n",
" return\n",
" print (\"Imposible resolver, la dimensionalidad de las matrices no cuadra.\")\n",
" return (0)\n",
"\n",
" C = [[0 for fila in range(cols_B)] for col in range(fila_A)]\n",
" print (C)\n",
......@@ -1055,7 +1055,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 3,
"metadata": {},
"outputs": [
{
......@@ -1084,7 +1084,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 5,
"metadata": {},
"outputs": [
{
......@@ -1096,13 +1096,13 @@
"Ingrese las columnas de la matriz: \n",
"2\n",
"Ingresa el valor del elemento0,0: \n",
"2\n",
"10\n",
"Ingresa el valor del elemento0,1: \n",
"2\n",
"20\n",
"Ingresa el valor del elemento1,0: \n",
"2\n",
"30\n",
"Ingresa el valor del elemento1,1: \n",
"2\n"
"40\n"
]
}
],
......@@ -1155,7 +1155,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 6,
"metadata": {},
"outputs": [
{
......@@ -1168,10 +1168,10 @@
{
"data": {
"text/plain": [
"[[6, 6], [14, 14]]"
"[[70, 100], [150, 220]]"
]
},
"execution_count": 7,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
......@@ -1304,7 +1304,7 @@
" filas(): Un escalar\n",
" columnas(): Un escalar\n",
" determinante(): Un escalar\n",
" gauss()\n",
" gauss(): Regresa la matriz inversa o pseudo inversa, según el caso, por método de Gauss\n",
" \n",
" '''\n",
" def __init__ (self,matriz):\n",
......@@ -1452,25 +1452,6 @@
" return(\"Soy la matriz:\\n\"+ str(self.matriz))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"''' \n",
" else:\n",
" #original=self.matriz\n",
" #x=mmult1(original.T,self.matriz)\n",
" #x=Matriz(x)\n",
" #print(x)\n",
" #print(self.matriz)\n",
" #inve=x.gauss\n",
" #print(inve)\n",
" #mmult1(inve,original.T)\n",
" pass'''"
]
},
{
"cell_type": "code",
"execution_count": 1545,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 9. Procesamiento de Lenguaje Natural\n",
"\n",
"\n",
"## Contenido de la Presentación\n",
"\n",
"https://docs.google.com/presentation/d/1TYSbrhAfTvW8uuK1_nZiuoqgyOCkHxXrXCz9bVVP39Y/edit?usp=sharing\n",
"\n",
"\n",
"#### 9.1 Presentación de la Línea de investigación:\n",
" - Procesamiento de Lenguaje Natural\n",
" - Minería de Textos y Reconocimiento de patrones\n",
"\n",
"\n",
"#### 9.2 Presentación de dos estudios de caso:\n",
" - Recuperación, procesamiento y clasificación de tuits\n",
" - Reconocimiento de Entidades Nombradas Georeferenciables\n",
" \n",
"\n",
"#### 9.3 Instrumentos metodológicos:\n",
" - Datos y corpus lingüísticos como Instrumentos metodológicos de la Minería de Textos\n",
" - Técnicas de recolección de datos\n",
" - Repositorios\n",
"\t - Crawling\n",
" - Crowdsourcing\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Ejemplos "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Repositorios\n",
"\n",
"### 20 Newsgroups\n",
"\n",
"https://archive.ics.uci.edu/ml/machine-learning-databases/20newsgroups-mld/20newsgroups.data.html\n",
"\n",
"https://archive.ics.uci.edu/ml/machine-learning-databases/20newsgroups-mld/mini_newsgroups.tar.gz\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Crowdsourcing\n",
"\n",
"### Entidades Nombradas Georeferenciables\n",
"\n",
"http://ner.geoint.mx/\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Ejercicios"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Repositorios\n",
"\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",
"\n",
"http://www.remeri.org.mx/portal/REMERI.jsp?busca=nopal\n",
"\n",
"\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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Referencias \n",
"\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",
"http://rexa.info/paper/7c077ad01b1a7f0605ca075ead0193d4555c2619\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
......@@ -560,7 +560,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
......@@ -591,14 +591,19 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CGarcia\n"
"Titulo de la nota\t04-06-19\n",
"CGarcia\n",
"Sección: Investigacion\n",
"La Jornada\n",
"\n",
"Este es el contenido de la nota\n"
]
}
],
......@@ -606,24 +611,24 @@
"miNota=Nota(\"Este es el contenido de la nota\",\"Investigacion\",\"CGarcia\",\"Titulo de la nota\")\n",
"Editorial=Fuente(\"La Jornada\", \"http://jornada.unam.mx\")\n",
"miNota.source=Editorial\n",
"print(miNota.author)"
"print(miNota)"
]
},
{
"cell_type": "code",
"execution_count": 119,
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Titulo de la nota\t02-05-19\n",
"CGarcia\n",
"Sección: Investigacion\n",
"La Jornada\n",
"\n",
"Este es el contenido de la nota\n"
"ename": "AttributeError",
"evalue": "'NoneType' object has no attribute 'nombre'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-5-ea7fff60b8dc>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmiNota\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-2-e8982bf7334e>\u001b[0m in \u001b[0;36m__str__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m+=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauthor\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m\"\\n\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m+=\u001b[0m\u001b[0;34m\"Sección: \"\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msection\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m\"\\n\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 17\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msource\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnombre\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 18\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m+=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msource\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnombre\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m\"\\n\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m+=\u001b[0m\u001b[0;34m\"\\n\"\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'nombre'"
]
}
],
......@@ -633,7 +638,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
[{
"titulo":"Fwd: Material de clase",
"remitente":"ghernandez@centrogeo.edu.mx",
"texto":"Hola Jóvenes. Les reenvío el correo de la Maestra Rosa Peralta para la actividad que tienen pendiente con ella. Aprovecho para agradecer el esfuerzo y el empaño para con estas sesiones de clase.",
"spam":"H"
},
{
"titulo":"carlosgarcia8, how to talk Twitter",
"remitente":"info@twitter.com",
"texto":"Connect with a Reply. These top videos on Twitter are the most played for a reason. Take a look, and then join the conversation about them by tapping Reply.",
"spam":"H"
},
{
"titulo":"Boletín CG Abril 2019",
"remitente":"glopez@centrogeo.edu.mx",
"texto":"El pasado 8 de marzo en el marco del día de la mujer CentroGeo fue sede del evento 'Mujeres en ciencia y tecnología, avances y retos de la inclusión y la equidad de género', organizado por el CIMAT, dentro del consorcio de Inteligencia Artificial, al que CentroGeo pertenece.",
"spam":"H"
},
{
"titulo":"Te envío información fiscal.",
"remitente":"fjhguno@hotmail.com",
"texto":" Buen día Sobrino y ahijado. En el archivo anexo encontraras un listado de las deducciones o gastos que son aceptados, para los que ganan por honorarios y que se utilizan en las declaraciones de pagos provisionales de cada mes. A continuación te enviare otro correo, con un desglose de las llamadas deducciones personales que aplican en las declaraciones anuales.",
"spam":"H"
},
{
"titulo":"Cursos Facultad de Ciencias, Educación Continua",
"remitente":"educontinua.of@ciencias.unam.mx",
"texto":"La Facultad de Ciencias de la Universidad Nacional Autónoma de México, a través de su Secretaría de Educación Abierta y Continua, ofrece lo siguiente: XIV Diplomado de Teledección, SIG y modelado aplicado a los recursos naturales. Curso Estadística aplicada al diseño y análisis de estudios experimentales. Curso Teórico- Práctico",
"spam":"H"
}
]
[{
"titulo":"¡ALEJANDRO FERNANDEZ EN EL DOMO CARE NO TE LO PUEDES PERDER!",
"remitente":"mkt@arenamonterrey.com",
"texto":"Para asegurar la entrega de nuestros e-mail en su correo, por favor agregue mkt@superboletos.com a su libreta de direcciones de correo.Si no visualiza bien este mensaje, haga clic aquí",
"spam":"S"
},
{
"titulo":"¡Todos los detalles sobre los horarios en los #20añosVL19! ",
"remitente":"contactoocesa@cie.com.mx",
"texto":"Recuerda incluir nuestro correo como destinatario seguro. Dudas o comentarios contacto@ocesa.com.mx.",
"spam":"S"
},
{
"titulo":"¿Maestría o Segunda Carrera? ¡Sube de nivel!",
"remitente":"envios@occmkt.com",
"texto":"La demanda de personal especializado ha incrementado en los últimos años. Perfiles de áreas como Administración, Derecho, Educación, Mercadotecnia e Ingenierías se han convertido en los más buscados por las empresas debido a las grandes aportaciones que sus habilidades y competencias realizan a las organizaciones.l crecimiento profesional es la llave para obtener mejores oportunidades laborales. Y ahora, gracias al aprendizaje en línea, puedes hacerlo sin descuidar lo más importante de tu vida.​​​​​​​Elige el área en la que te gustaría crecer y comienza o continúa tus estudios de licenciatura o maestría sin sacrificar tu tiempo de calidad con familia y amigos, sin descuidar tu empleo actual y sin privarte de tener tiempo para ti.",
"spam":"S"
},
{
"titulo":"Obtén tu Tarjeta y recibe un Monedero Electrónico Liverpool",
"remitente":"info@occpbl.com",
"texto":"Empieza una nueva aventura con $2000.00 M.N. en un monedero electrónico de Liverpool al adquirir la tarjeta. SOLICÍTALA AQUÍ. Aplica solo para nuevo tarjetahabientes al solicitarlo en línea.",
"spam":"S"
},
{
"titulo":"FW:",
"remitente":"Victoria_LHirondelle@sd33.bc.ca",
"texto":"Carta de Mavis Wanczyk sobre una donación. Por favor, abra adjunto para más detalles.",
"spam":"S"
}
]
[{
"titulo":"DataLab",
"remitente":"pablo.lopez@centrogeo.edu.mx",
"texto":"Hola! Pues eres parte del laboratorio si así lo quieres, justo uno de los principios fundamentales es que aquí todos estemos por gusto. Me gustaría muchísimo que trabajaras con nosotros y, en ese caso, ya tengo pensada tu primera tarea jajajaja. Sería ayudar a organizar el material de un curso de geoinformática, lo que hay que hacer es actualizar las prácticas y hacer una linda paginita para el curso. Si te animas platicamos en la semana.",
"spam": null
},
{
"titulo":"Uno mas",
"remitente":"pablo.lopez@centrogeo.edu.mx",
"texto":" Buen día Sobrino y ahijado. En el archivo anexo encontraras un listado de las deducciones o gastos que son aceptados, para los que ganan por honorarios y que se utilizan en las declaraciones de pagos provisionales de cada mes. A continuación te enviare otro correo, con un desglose de las llamadas deducciones personales que aplican en las declaraciones anuales.",
"spam": null
}
]
\ No newline at end of file
plot_prueba.png

162 KB | W: | H:

plot_prueba.png

507 KB | W: | H:

plot_prueba.png
plot_prueba.png
plot_prueba.png
plot_prueba.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment