Add graphs and conclusion sections to summary
This commit is contained in:
parent
108db4ec56
commit
dd1c5f92d8
7
TODO.org
7
TODO.org
|
@ -1,7 +1,4 @@
|
||||||
* P1
|
* 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
|
** DONE Create a table with information of all documents
|
||||||
CLOSED: [2020-10-25 Sun 19:58]
|
CLOSED: [2020-10-25 Sun 19:58]
|
||||||
| filename | type | encoding | language |
|
| 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
|
** DONE Write to a file all word occurrences and frequencies
|
||||||
CLOSED: [2020-10-25 Sun 23:40]
|
CLOSED: [2020-10-25 Sun 23:40]
|
||||||
Sorted in a decreasing manner
|
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
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#+TITLE: Práctica 1
|
#+TITLE: Práctica 1
|
||||||
#+SUBTITLE: Recuperación de Información
|
#+SUBTITLE: Recuperación de Información
|
||||||
#+AUTHOR: Amin Kasrou Aouam
|
#+AUTHOR: Amin Kasrou Aouam
|
||||||
#+DATE: 2020-10-28
|
#+DATE: 2020-10-29
|
||||||
#+PANDOC_OPTIONS: template:~/.pandoc/templates/eisvogel.latex
|
#+PANDOC_OPTIONS: template:~/.pandoc/templates/eisvogel.latex
|
||||||
#+PANDOC_OPTIONS: listings:t
|
#+PANDOC_OPTIONS: listings:t
|
||||||
#+PANDOC_OPTIONS: toc: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.out.println("option frequency: saves word frequency to a file");
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC java
|
||||||
public static void main(String[] args) throws IOException, TikaException, SAXException {
|
public static void main(String[] args) throws IOException, TikaException, SAXException {
|
||||||
if (args.length != 2) {
|
if (args.length != 2) {
|
||||||
usage();
|
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).
|
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.
|
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.
|
||||||
|
|
BIN
docs/Summary.pdf
BIN
docs/Summary.pdf
Binary file not shown.
Loading…
Reference in New Issue