Add graphs and conclusion sections to summary

This commit is contained in:
coolneng 2020-10-29 13:19:33 +01:00
parent 108db4ec56
commit dd1c5f92d8
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
3 changed files with 69 additions and 4 deletions

View File

@ -1,7 +1,4 @@
* P1
** TODO Plot word frequencies
With gnuplot, with documents of at least 3 different languages.
We'll fit this to the Booth and Federowicz equation
** DONE Create a table with information of all documents
CLOSED: [2020-10-25 Sun 19:58]
| filename | type | encoding | language |
@ -10,3 +7,7 @@ CLOSED: [2020-10-25 Sun 22:14]
** DONE Write to a file all word occurrences and frequencies
CLOSED: [2020-10-25 Sun 23:40]
Sorted in a decreasing manner
** DONE Plot word frequencies
CLOSED: [2020-10-29 Thu 13:11]
With gnuplot, with documents of at least 3 different languages.
We'll fit this to the Booth and Federowicz equation

View File

@ -1,7 +1,7 @@
#+TITLE: Práctica 1
#+SUBTITLE: Recuperación de Información
#+AUTHOR: Amin Kasrou Aouam
#+DATE: 2020-10-28
#+DATE: 2020-10-29
#+PANDOC_OPTIONS: template:~/.pandoc/templates/eisvogel.latex
#+PANDOC_OPTIONS: listings:t
#+PANDOC_OPTIONS: toc:t
@ -92,7 +92,9 @@ private static void usage() {
System.out.println("option frequency: saves word frequency to a file");
System.exit(1);
}
#+END_SRC
#+BEGIN_SRC java
public static void main(String[] args) throws IOException, TikaException, SAXException {
if (args.length != 2) {
usage();
@ -107,3 +109,65 @@ public static void main(String[] args) throws IOException, TikaException, SAXExc
Esta funcionalidad permite al usuario seleccionar la salida que desea, además de disminuir el contenido que aparece por pantalla y el tiempo de ejecución (dado que no computamos acciones innecesarias).
En el caso de la opción /frequency/, guardamos las ocurrencias de los términos en un fichero en el directorio *output* con el formato /filename.dat/. Utilizaremos estos archivos para generar las gráficas.
Mostramos el extacto de uno de los documentos, con carácter ilustrativo:
| 1075 | the |
| 562 | and |
| 543 | of |
| 543 | a |
| 371 | in |
| 370 | to |
| 295 | i |
| 200 | that |
| 188 | it |
| 180 | his |
** Gráficas
El objetivo final de esta práctica es comprobar si se cumple la ley de Zipf en el conjunto de documentos que analizamos. Para ello vamos a generar gráficas para observar si se cumple, con documentos en distintos idiomas.
En cada gráfica vamos a generar la función generada a partir de los archivos de datos, y la función normalizada mediante $log$.
Incluimos un script de gnuplot genérico, al cual le pasamos el fichero de datos como argumento.
#+BEGIN_SRC gnuplot
# Variables
FILEDATA = ARG1
# Parameters
set terminal png size 500,500
set title FILEDATA
set xlabel 'word'
set ylabel 'ocurrence'
set multiplot
# Plotting
plot FILEDATA using 1:xtic(2) lt rgb '#6E016B'
set logscale
plot FILEDATA using 1:xtic(2) lt rgb '#41AB5D'
#+END_SRC
Procedemos a automatizar la generación de 3 gráficas, a partir de 3 archivos con idiomas distintos, mediante un /shell script/.
#+BEGIN_SRC shell
#!/bin/sh
gnuplot -c script/plot_datafile.gp "output/Moby Dick; Or, The Whale.dat" >output/plot_MobyDick.png
gnuplot -c script/plot_datafile.gp "output/Szerelem bolondjai.dat" >output/plot_Szerelembolondjai.png
gnuplot -c script/plot_datafile.gp "output/Älykkään ritarin Don Quijote de la Manchan elämänvaiheet.dat" >output/plot_ÄlykkäänritarinDonQuijotedelaManchanelämänvaiheet.png
#+END_SRC
Ambos scripts se encuentran en el directorio /script/.
*Nota*: es importante ejecutar el /shell script/ desde el directorio raíz del proyecto (donde se encuentra el archivo shell.nix).
Con fines ilustrativos, mostramos la gráfica correspondiente al libro del Quijote en finlandés:
#+CAPTION: Gráfica de Älykkään ritarin Don Quijote de la Manchan elämänvaiheet
[[../output/plot_ÄlykkäänritarinDonQuijotedelaManchanelämänvaiheet.png]]
La función en color violeta corresponde a la generación de la gráfica sin alteraciones, mientras que la función en color verde se encuentra en escala logarítmica.
** Conclusiones
Hemos analizado documentos, de distinto formato y en idiomas distintos, y según los datos empíricos obtenidos observamos que la ley de Zipf se cumple.

Binary file not shown.