Add installation section in summary

This commit is contained in:
coolneng 2020-10-28 14:50:26 +01:00
parent fba0ac2473
commit 005f6a3eed
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
2 changed files with 48 additions and 9 deletions

View File

@ -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

Binary file not shown.