diff --git a/docs/Summary.org b/docs/Summary.org index c605565..ca8e0b7 100644 --- a/docs/Summary.org +++ b/docs/Summary.org @@ -13,12 +13,53 @@ #+PANDOC_METADATA: logo:/home/coolneng/Photos/Logos/UGR.png * Práctica 1 -En esta práctica, vamos a obtener información de una serie de documentos usando /Apache Tika/. +En esta práctica, vamos a obtener información de una serie de documentos usando /Apache Tika/: + +1. Obtener los metadatos (nombre , tipo, codificación e idioma) +2. Extraer todos los enlaces que aparecen +3. Generar un fichero con las ocurrencias de cada término, ordenados de forma descendente +4. Generar una gráfica con los términos y su ocurrencia + +** Instalación + +Implementamos la práctica usando /Java/ como lenguaje de programación, y /Maven/ como herramienta de gestión del proyecto. No es necesario utilizar esta herramienta, pero nos ofrece una mayor reproducibilidad del proyecto. + +En el caso de que deseemos instalar fácilmente todas las dependencias, podemos instalar el gestor de paquetes [[https://nixos.org/guides/install-nix.html][Nix]] (compatible con Linux, MacOS y WSL) + +*** Usando Nix + +1. Instalamos Nix: + +#+BEGIN_SRC shell +sh <(curl -L https://nixos.org/nix/install) --daemon +#+END_SRC + +2. Cambiamos la ruta al directorio del proyecto: + +#+BEGIN_SRC shell +cd P1 +#+END_SRC + +3. Entramos en el entorno de desarrollo reproducible y aislado: + +#+BEGIN_SRC shell +nix-shell +#+END_SRC + +Nix se encargará de resolver las dependencias, podemos dirigirnos directamente a la sección de ejecución. + +*** Sin Nix + +En el caso de que no deseemos usar Nix, deberemos instalar las siguientes dependencias en nuestro sistema: + +\clearpage + +- OpenJDK (> 8.0) +- Maven +- Gnuplot ** Ejecución -Implementamos la práctica usando /Java/ como lenguaje de programación, y /Maven/ como herramienta de gestión del proyecto. - En el caso que deseemos utilizar /Maven/, debemos ejecutar los siguientes comandos: 1. Compilar el proyecto @@ -35,10 +76,8 @@ mvn exec:java -Dexec.mainClass="org.RI.P1.AnalyzeDirectory" -Dexec.args="data me Debemos modificar el argumento *metadata* según la salida que deseemos: -- metadata: obtenemos la información de los archivos (nombre, codificación, tipo) -- links: obtenemos la lista de enlaces de cada archivo -- frequency: se guarda la frecuencia de las palabras de cada documento en un archivo (se encuentran en la carpeta output). +- *metadata*: obtenemos la información de los archivos (nombre, codificación, tipo) +- *links*: obtenemos la lista de enlaces de cada archivo +- *frequency*: se guarda la frecuencia de las palabras de cada documento en un archivo (se encuentran en la carpeta output). -** Implementación - -Lamentablemente, no hemos podido implementar la funcionalidad del gráfico para comprobar si se cumple la ley de Zipf. Además de ello, nuestro /tokenizer/ no funciona demasiado bien debido al uso de una expresión regular que no toma en cuenta todos los casos. +** Desarrollo diff --git a/docs/Summary.pdf b/docs/Summary.pdf index 184c4e2..eb0df6d 100644 Binary files a/docs/Summary.pdf and b/docs/Summary.pdf differ