Commit 6ab4fac5 authored by Bruno López Trigo's avatar Bruno López Trigo

Memoria completa, faltan retoques

parent 367ac2e5
......@@ -59,4 +59,4 @@
}
</script>
</body>
</html>/ap/
</html>
......@@ -59,4 +59,4 @@
}
</script>
</body>
</html>/ap/
</html>
#Generated by Maven
#Thu Jun 21 16:43:16 CEST 2018
#Thu Jun 21 17:11:44 CEST 2018
version=1.0
groupId=brunolopez
artifactId=expliclas-api
......@@ -11,7 +11,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Yeseva+One" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Ovo|Yeseva+One" rel="stylesheet">
<title>ExpliClass</title>
<title>ExpliClas</title>
</head>
......
......@@ -10,7 +10,7 @@ import Explanation from './components/Explanation';
import Footer from './components/Footer';
import NotFound from './components/NotFound';
import Alert from './components/Alert';
import { API_ROOT, HOME, BASE } from './config';
import { API_ROOT, HOME } from './config';
class App extends Component {
......@@ -197,7 +197,7 @@ class App extends Component {
var footer = localStorage.getItem('token') !== null ? <Footer />:"";
return (
<Router basename={BASE}>
<Router basename="/">
<div className="App">
{breadcrumb}
{this.state.alert ? <Alert message={this.state.messageAlert} closeAlert={this.closeAlert} alertType={this.state.alertType}/>:""}
......
export const API_ROOT = 'http://localhost:8080/api';
export const API_DOC = 'http://localhost:8080/';
export const HOME = 'http://localhost:3000/';
export const BASE = '/'
export const API_ROOT = 'https://demos.citius.usc.es/ExpliClasAPI/api';
export const API_DOC = 'https://demos.citius.usc.es/ExpliClasAPI/';
export const HOME = 'https://demos.citius.usc.es/ExpliClas';
export const API_ROOT = 'https://demos.citius.usc.es/ExpliClasAPI/api';
export const API_DOC = 'https://demos.citius.usc.es/ExpliClasAPI/';
export const HOME = 'https://demos.citius.usc.es/ExpliClas';
export const BASE = '/ExpliClas';
export const API_ROOT = 'http://localhost:8080/api';
export const API_DOC = 'http://localhost:8080/';
export const HOME = 'http://localhost:3000/';
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {3}An\IeC {\'a}lise}{41}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}An\IeC {\'a}lise}{39}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Especificaci\IeC {\'o}n de requisitos}{41}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Requisitos de informaci\IeC {\'o}n}{41}}
\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Plantilla de requisitos de informaci\IeC {\'o}n}}{42}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Requisitos funcionais}{46}}
\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Plantilla de requisitos funcionais}}{47}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Requisitos non funcionais}{53}}
\@writefile{lot}{\contentsline {table}{\numberline {3.3}{\ignorespaces Plantilla de requisitos non funcionais}}{53}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Requisitos de interface gr\IeC {\'a}fica}{56}}
\@writefile{lot}{\contentsline {table}{\numberline {3.4}{\ignorespaces Plantilla de requisitos de interface gr\IeC {\'a}fica}}{57}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Matriz de dependencia de requisitos}{59}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Matriz de dependencia de requisitos.}}{59}}
\newlabel{matrizreqreq}{{3.1}{59}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Casos de uso}{59}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagrama de caso de uso.}}{60}}
\newlabel{casouso}{{3.2}{60}}
\@writefile{lot}{\contentsline {table}{\numberline {3.5}{\ignorespaces Plantilla de casos de uso}}{60}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Matriz de requisitos / casos de uso}{75}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Matriz requisitos / casos de uso}}{75}}
\newlabel{matrizrequso}{{3.3}{75}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Especificaci\IeC {\'o}n de requisitos}{39}}
\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Plantilla de requisitos de informaci\IeC {\'o}n}}{39}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Requisitos de informaci\IeC {\'o}n}{40}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Requisitos funcionais}{44}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Requisitos non funcionais}{50}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Requisitos de interface gr\IeC {\'a}fica}{52}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Matriz de dependencia de requisitos}{54}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Matriz de dependencia de requisitos.}}{54}}
\newlabel{matrizreqreq}{{3.1}{54}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Casos de uso}{55}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagrama de caso de uso.}}{55}}
\newlabel{casouso}{{3.2}{55}}
\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Plantilla de casos de uso}}{56}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Matriz de requisitos / casos de uso}{70}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Matriz requisitos / casos de uso}}{70}}
\newlabel{matrizrequso}{{3.3}{70}}
\@setckpt{capitulos/analise}{
\setcounter{page}{76}
\setcounter{page}{71}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{0}
......@@ -38,7 +35,7 @@
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{3}
\setcounter{table}{5}
\setcounter{table}{2}
\setcounter{float@type}{8}
\setcounter{lstnumber}{1}
\setcounter{dirtytalk@qdepth}{0}
......
This diff is collapsed.
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {A}Manuais t\IeC {\'e}cnicos}{177}}
\@writefile{toc}{\contentsline {chapter}{\numberline {A}Manuais t\IeC {\'e}cnicos}{153}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {A.1}Manual de despregue}{153}}
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.1}Despregue da API REST}{153}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.1}{\ignorespaces URL de documentaci\IeC {\'o}n de Swagger}}{153}}
\newlabel{url}{{A.1}{153}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.2}{\ignorespaces Administraci\IeC {\'o}n de Tomcat}}{154}}
\newlabel{tomcat}{{A.2}{154}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.3}{\ignorespaces Documentaci\IeC {\'o}n de Swagger da API}}{155}}
\newlabel{apidoc}{{A.3}{155}}
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.2}Despregue do Demostrador Web}{155}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.4}{\ignorespaces Configuraci\IeC {\'o}n do Demostrador Web}}{155}}
\newlabel{config}{{A.4}{155}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.5}{\ignorespaces Pantalla de inicio de ExpliClas}}{156}}
\newlabel{expliclas-home}{{A.5}{156}}
\@setckpt{capitulos/apendicea}{
\setcounter{page}{178}
\setcounter{page}{157}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
......@@ -13,15 +26,15 @@
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{1}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{section}{1}
\setcounter{subsection}{2}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{figure}{5}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{lstnumber}{96}
\setcounter{lstnumber}{95}
\setcounter{dirtytalk@qdepth}{0}
\setcounter{lstlisting}{0}
}
\chapter{Manuais técnicos}
Manuais técnicos: en función do tipo de Traballo e metodoloxía empregada, o contido poderase dividir en varios documentos. En todo caso, neles incluirase toda a información precisa para aquelas persoas que se vaian a encargar do desenvolvemento e/ou modificación do Sistema (por exemplo código fonte, recursos necesarios, operacións necesarias para modificacións e probas, posibles problemas, etc.). O código fonte poderase entregar en soporte informático en formatos PDF ou postscript.
\section{Manual de despregue}
Indícase a continuación o procedemento necesario para despregar o sistema ExpliClas nun entorno real.
\subsection{Despregue da API REST}
Empezarase indicando a secuencia de pasos necesarios para despregar a API REST:
\begin{enumerate}
\item Instálase un servidor \textbf{Tomcat} na súa versión 8 ou superior.
\item Cambiar a \textbf{URL da documentación de Swagger} no arquivo index.html na liña sinalada na figura \ref{url}:
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/url.png}}
\caption{URL de documentación de Swagger}
\label{url}
\end{figure}
Se o obxectivo é despregar o sistema a nivel local entón a url pode deixarse tal e como se indica na imaxe. Se o obxectivo é despregar o sistema nalgún servidor (neste caso unha máquina do Citius), establécese a url co formato:
\begin{table}[H]
\centering
https://BASE/api/swagger.json
\end{table}
Tendo en conta que \textit{BASE} fai referencia á URL base do servidor no que se desprega o sistema.
\item Compílase o proxecto, neste caso por medio do IDE NetBeans, para xerar o war que se atopará baixo a carpeta \textbf{target} do proxecto.
\item Accédese á interface de administración de Tomcat desde o navegador, figura \ref{tomcat}, e selecciónase a opción de despregar un war para subir o war xerado na compilación anterior.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/tomcat.png}}
\caption{Administración de Tomcat}
\label{tomcat}
\end{figure}
\item Unha vez despregado o sistema, aparecerá na lista de aplicacións da interface de administración. Se pulsamos sobre a nova aplicación debería redirixirnos á documentación da API de ExpliClas, tal e como se amosa na figura \ref{apidoc}
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/apidoc.png}}
\caption{Documentación de Swagger da API}
\label{apidoc}
\end{figure}
\end{enumerate}
\subsection{Despregue do Demostrador Web}
Unha vez despregada a API poderá despregarse o demostrador web seguindo os seguintes pasos:
\begin{enumerate}
\item Instálase en primeiro lugar \textbf{NodeJS}, na versión 10 e o xestor de paquetes \textbf{npm}, na versión 6.1.
\item No proxecto do demostrador de React, baixo a carpeta \textbf{src} debemos localizar o arquivo \textbf{config.js} que se amosa na figura \ref{config}:
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/config.png}}
\caption{Configuración do Demostrador Web}
\label{config}
\end{figure}
Débense establecer as seguintes URL:
\begin{itemize}
\item \textbf{API\_ROOT}: URL raíz da API de ExpliClas, depende do despregue feito na sección Despregue da API REST (Sección A.1.1).
\item \textbf{API\_DOC}: URL da documentación de Swagger da API, tamén depende do despregue feito anteriormente.
\item \textbf{HOME}: URL da páxina inicial do demostrador web.
\end{itemize}
\item Unha vez establecidos os parámetros adecuados no arquivo anterior compílase o proxecto co comando: \texttt{npm run build}. Isto xerará a carpeta \textbf{build} dentro do proxecto.
\item Finalmente, empregarase o propio servidor de node para poñer en produción o proxecto. Para realizar esta acción emprégase o comando: \texttt{serve -s /path/to/build}, sendo /path/to/build a ruta ata o directorio build creado durante a compilación.
\item Unha vez despregado o demostrador, deberíamos poder acceder ao servizo no porto 3000 e empregando a URL \textbf{HOME} indicada no arquivo de configuración, tal e como se aprecia na figura \ref{expliclas-home}.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-home.png}}
\caption{Pantalla de inicio de ExpliClas}
\label{expliclas-home}
\end{figure}
\end{enumerate}
\ No newline at end of file
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {B}Manuais de usuario}{179}}
\@writefile{toc}{\contentsline {chapter}{\numberline {B}Manuais de usuario}{157}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}Pantalla de inicio}{157}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces Pantalla de inicio}}{157}}
\newlabel{expliclas-home}{{B.1}{157}}
\@writefile{toc}{\contentsline {section}{\numberline {B.2}Listado de datasets}{157}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.2}{\ignorespaces Pantalla de datasets}}{158}}
\newlabel{expliclas-datasets}{{B.2}{158}}
\@writefile{toc}{\contentsline {section}{\numberline {B.3}Engadir un novo dataset}{158}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.3}{\ignorespaces Selecci\IeC {\'o}n do algoritmo}}{158}}
\newlabel{expliclas-algorithm}{{B.3}{158}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.4}{\ignorespaces Formulario de construci\IeC {\'o}n do clasificador}}{159}}
\newlabel{expliclas-build1}{{B.4}{159}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.5}{\ignorespaces Formulario de construci\IeC {\'o}n do clasificador}}{159}}
\newlabel{expliclas-build2}{{B.5}{159}}
\@writefile{toc}{\contentsline {section}{\numberline {B.4}Selecci\IeC {\'o}n do clasificador}{159}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.6}{\ignorespaces Selecci\IeC {\'o}n do clasificador}}{160}}
\newlabel{expliclas-logs}{{B.6}{160}}
\@writefile{toc}{\contentsline {section}{\numberline {B.5}Informaci\IeC {\'o}n do clasificador / Explicaci\IeC {\'o}n global}{160}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.7}{\ignorespaces Informaci\IeC {\'o}n do clasificador}}{160}}
\newlabel{expliclas-clasificador}{{B.7}{160}}
\@writefile{toc}{\contentsline {section}{\numberline {B.6}Clasificaci\IeC {\'o}ns / Explicaci\IeC {\'o}n local}{161}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.8}{\ignorespaces Informaci\IeC {\'o}n das clasificaci\IeC {\'o}ns}}{161}}
\newlabel{expliclas-clasificacion}{{B.8}{161}}
\@setckpt{capitulos/apendiceb}{
\setcounter{page}{180}
\setcounter{page}{162}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
......@@ -13,15 +35,15 @@
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{2}
\setcounter{section}{0}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{figure}{8}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{lstnumber}{96}
\setcounter{lstnumber}{95}
\setcounter{dirtytalk@qdepth}{0}
\setcounter{lstlisting}{0}
}
\chapter{Manuais de usuario}
Manuais de usuario: incluirán toda a información precisa para aquelas persoas que utilicen o Sistema: instalación, utilización, configuración, mensaxes de erro, etc. A documentación do usuario debe ser autocontida, é dicir, para o seu entendemento o usuario final non debe precisar da lectura de outro manual técnico.
\section{Pantalla de inicio}
A primeira pantalla coa que se atopa o usuario é a da figura \ref{expliclas-home}, onde este debe pulsar no botón \say{Start} para comezar a empregar o servizo e iniciar unha sesión anónima.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-home.png}}
\caption{Pantalla de inicio}
\label{expliclas-home}
\end{figure}
\section{Listado de datasets}
Diferencianse dous tipos de datasets, os datasets precargados no sistema (só admiten a súa selección pulsando en \say{Select}) e os datasets creados polo usuario, que admite tanto a selección como a eliminación (pulsando na cruz vermella da esquina superior dereita). Se seleccionamos un dataset, pasaremos á opción de seleccionado e visualización dos logs dos clasificadores. Existe tamén unha opción \say{add}, co mesmo formato que o resto dos datasets e se pulsamos no signo máis do centro pasaremos á opción de engadir un novo dataset para xerar un clasificador. Esta pantalla apréciase na figura \ref{expliclas-datasets}.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-datasets.png}}
\caption{Pantalla de datasets}
\label{expliclas-datasets}
\end{figure}
\section{Engadir un novo dataset}
Seleccionando a opción \say{add} na pantalla dos datasets, pasaremos á seguinte pantalla para construír un clasificador. Onde debemos seleccionar o algoritmo de clasificación desexado no menú despregable, tal e como se ve na figura \ref{expliclas-algorithm}
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-algorithm.png}}
\caption{Selección do algoritmo}
\label{expliclas-algorithm}
\end{figure}
Unha vez seleccionado o algoritmo teremos un formulario para xerar o clasificador. Son estrictamente necesarios o nome do novo dataset (non debe coincidir con ningún predeterminado ou creado previamente polo usuario) e subir o arquivo do dataset. O resto de valores son os valores por defecto para o algoritmo seleccionado e non é necesario modificalos. Ademais, para cada parámetro podemos consultar unha descrición do mesmo se pasamos o cursor sobre o icono \say{i} de información. Na figura \ref{expliclas-build1} temos os dous campos obligatorios do formulario.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-build1.png}}
\caption{Formulario de construción do clasificador}
\label{expliclas-build1}
\end{figure}
Unha vez cumprimentado todo o formulario, poderase proceder á construción do clasificador se pulsamos no botón \say{build}, tal e como se amosa na figura \ref{expliclas-build2}.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-build2.png}}
\caption{Formulario de construción do clasificador}
\label{expliclas-build2}
\end{figure}
\section{Selección do clasificador}
Unha vez seleccionado un dataset desde a pantalla dos datasets, entrarase na pantalla de selección dun clasificador a partir dos logs asociados a ditos clasificadores. Nesta pantalla temos dúas opcións, seleccionar un clasificador co log xerado, ou seleccionar un clasificador co log sen xerar.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-logs.png}}
\caption{Selección do clasificador}
\label{expliclas-logs}
\end{figure}
Se seleccionamos un clasificador co log existente e pulsamos en \say{Next}, a pantalla seguinte será a da sección B.5. En cambio, se seleccionamos un clasificador co log sen xerar, pasaremos á pantalla da sección B.3, onde o algoritmo de clasificación non se poderá modificar porque será o seleccionado previamente, e empregarase o dataset existente no sistema, polo que o usuario non necesita subir de novo o dataset.
\section{Información do clasificador / Explicación global}
Esta pantalla correspóndese coa información do clasificador ou o que é equivalente, a explicación global do sistema. Atopámonos á esquerda co log xerado para o clasificador seleccionado e á dereita a explicación global, acompañada do conxunto de atributos e clases, nunhas listas que poden expandirse e contraerse.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-clasificador.png}}
\caption{Información do clasificador}
\label{expliclas-clasificador}
\end{figure}
Ao premer no botón \say{Next} o usuario avanzaría ata a seguinte pantalla amosada na sección B.6.
\section{Clasificacións / Explicación local}
Nesta pantalla o usuario pode realizar clasificacións de instancias e obter a explicación asociada a dita clasificación, é dicir, a explicación local. Distínguese un formulario onde os valores poden mudarse manualmente por parte do usuario, así como unha lista de instancias do dataset que o usuario pode pregargar no formulario ao seleccionalas. Se o usuario pulsa na opción \say{Generate explanation} o sistema procederá coa clasificación e devolverá a explicación no recadro da dereita.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-clasificacion.png}}
\caption{Información das clasificacións}
\label{expliclas-clasificacion}
\end{figure}
\ No newline at end of file
\relax
\bibcite{cuda}{1}
\bibcite{cdma}{2}
\bibcite{gonzalez}{3}
\bibcite{patricia}{4}
\@writefile{toc}{\contentsline {chapter}{Bibliograf\IeC {\'\i }a}{183}}
\bibcite{xai}{1}
\bibcite{euregulation}{2}
\bibcite{xln}{3}
\bibcite{weka}{4}
\bibcite{netbeans}{5}
\bibcite{jersey}{6}
\bibcite{simplenlg}{7}
\bibcite{apiweka}{8}
\bibcite{react}{9}
\bibcite{ExpliClas}{10}
\bibcite{salariotic}{11}
\@writefile{toc}{\contentsline {chapter}{Bibliograf\IeC {\'\i }a}{165}}
\bibcite{calculadora}{12}
\bibcite{uscindirecto}{13}
\bibcite{jaxb}{14}
\bibcite{swagger}{15}
\bibcite{tomcat}{16}
\bibcite{nodejs}{17}
\bibcite{texmaker}{18}
\bibcite{wbstool}{19}
\bibcite{projectlibre}{20}
\bibcite{drawio}{21}
\bibcite{staruml}{22}
\bibcite{gitlab}{23}
\@setckpt{capitulos/bibliografia}{
\setcounter{page}{184}
\setcounter{page}{167}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
\setcounter{enumiii}{0}
\setcounter{enumiv}{4}
\setcounter{enumiv}{23}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
......@@ -23,7 +42,7 @@
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{lstnumber}{96}
\setcounter{lstnumber}{95}
\setcounter{dirtytalk@qdepth}{0}
\setcounter{lstlisting}{0}
}
......@@ -3,16 +3,52 @@
\begin{thebibliography}{99}
% EXEMPLO DE DOCUMENTO DESCARGADO DA WEB
\bibitem{cuda} Nvidia CUDA programming guide. Versión 2.0, 2010. Dispoñible en {\it http://www.nvidia.com}.
% EXEMPLO DE PÁXINA DA WIKIPEDIA
\bibitem{cdma} Acceso múltiple por división de código. Artigo da wikipedia ({\it http://es.wikipedia.org}). Consultado o 2 de xaneiro do 2010.
\bibitem{xai} D. Gunning, ``Explainable Artificial Intelligence (XAI)'', {\it DARPA-BAA-16-53}, Defense Advanced Research Projects Agency (DARPA) 2016.
% EXEMEPLO DE LIBRO
\bibitem{gonzalez} R.C. Gonzalez e R.E. Woods, {\it Digital image processing}, 3ª edición, Prentice Hall, New York, 2007.
\bibitem{euregulation} B. Goodman, S. Flaxman, ``European union regulations on algorithmic decision-making and a right to explanation''. {\it Proceedings of the ICML Workshop on Human Interpretability in Machine Learning (WHI)}, 1-9, New York, 2016.
\bibitem{xln} E. Reiter, R. Dale, ``Building natural language generation systems'', {\it Cambridge University Press}, 2000.
\bibitem{weka} Machine Learning Group at University of Waikato. Weka 3: Data Mining Software in Java. Consultada en {\it https://www.cs.waikato.ac.nz/ml/weka/} o 20 de xuño de 2018.
\bibitem{netbeans} Netbeans. Consultada en {\it https://netbeans.org/} o 27 de xuño de 2018.
\bibitem{jersey} Jersey. Jersey 2.27 User Guide. Consultada en {\it https://jersey.github.io/documentation/latest/index.html} o 22 de xuño de 2018.
\bibitem{simplenlg} A. Gatt, E. Reiter, ``SimpleNLG: a realisation engine for practical applications'', {\it Proceeding of the European Workshop on Natural Language Generation (ENLG)}, Athens, Greece, 90-93, 2009.
\bibitem{apiweka} Weka. Use WEKA in your Java code. Consultada en {\it https://weka.wikispaces.com/Use+WEKA+in+your+Java+code} o 20 de xuño de 2018.
\bibitem{react} React documentation. Consultada en {\it https://reactjs.org/docs/hello-world.html} o 22 de xuño de 2018.
\bibitem{ExpliClas} ExpliClas. Web Service for the Automatic Explanation in Natural Language of classification models in Data Mining. {\it https://demos.citius.usc.es/ExpliClas}
\bibitem{salariotic} Guia Salarial Sector TI Galicia 2015-2016. Consultada en {\it https://es.scribd.com/document/288511179/Guia-Salarial-Sector-TI-Galicia-2015-2016} o 22 de xuño de 2018.
\bibitem{calculadora} Oficina de Investigación e Tecnoloxía. Calculadora de Contratos. Consultada en {\it http://imaisd.usc.es/ferramentas/calculadora/calculadoracontratos.asp} o 22 de xuño de 2018.
\bibitem{uscindirecto} Universidade de Santiago de Compostela. Custos indirectos. Consultada en {\it http://imaisd.usc.es/ftp/oit/documentos/591\_gl.pdf} o 22 de xuño de 2018.
\bibitem{jaxb} Oracle. Java Architecture for XML Binding (JAXB). Consultada en {\it http://www.oracle.com/technetwork/articles/javase/index-140168.html} o 22 de xuño de 2018.
\bibitem{swagger} Swagger. API Documentation. Consultada en {\it https://swagger.io/solutions/api-documentation/} o 22 de xuño de 2018.
\bibitem{tomcat} Apache Tomcat 8. Apache Tomcat 8 Documentation. Consultada en {\it http://tomcat.apache.org/tomcat-8.0-doc/index.html} o 22 de xuño de 2018.
\bibitem{nodejs} NodeJS. Consultada en {\it https://nodejs.org/es/docs/} o 22 de xuño de 2018.
\bibitem{texmaker} Texmaker. Consultada en {\it http://www.xm1math.net/texmaker/} o 22 de xuño de 2018.
\bibitem{wbstool} WBSTool. Consultada en {\it http://www.wbstool.com} o 22 de xuño de 2018.
\bibitem{projectlibre} ProjectLibre. Consultada en {\it https://www.projectlibre.com/} o 22 de xuño de 2018.
\bibitem{drawio} Draw.io. Consultada en {\it https://www.draw.io/} o 22 de xuño de 2018.
\bibitem{staruml} StarUML. Consultada en {\it http://staruml.io/} o 22 de xuño de 2018.
\bibitem{gitlab} Gitlab. Consultada en {\it https://gitlab.citius.usc.es} o 22 de xuño de 2018.
% EXEMPLO DE ARTIGO DE REVISTA
\bibitem{patricia} P. González, J.C. Cartex e T.F. Pelas, ``Parallel computation of wavelet transforms using the lifting scheme'', {\it Journal of Supercomputing}, vol. 18, no. 4, pp. 141-152, junio 2001.
\end{thebibliography}
......@@ -3,16 +3,16 @@
\includegraphics[width=4cm]{figuras/logo_usc.eps}
\vspace{1cm}
{\bf D. José María Alonso del Moral}, Profesor do Departamento de Electrónica e Computación da Universidade de Santiago de Compostela, e {\bf D. Alberto Bugarín Diz}, Profesor do Departamento de Electrónica e Computación da Universidade de Santiago de Compostela,
{\bf D. José María Alonso Moral}, Investigador Ramón y Cajal do Departamento de Electrónica e Computación da Universidade de Santiago de Compostela, e {\bf D. Alberto Bugarín Diz}, Catedrático de Universidade do Departamento de Electrónica e Computación da Universidade de Santiago de Compostela,
\vspace{1cm}
INFORMAN:
\vspace{1cm}
Que a presente memoria, titulada {\it (Título do traballo)}, presentada por {\bf D. Bruno López Trigo} para superar os créditos correspondentes ao Traballo de Fin de Grao da titulación de Grao en Enxeñaría Informática, realizouse baixo nosa dirección no Departamento de Electrónica e Computación da Universidade de Santiago de Compostela.
Que a presente memoria, titulada {\it ExpliClas: Servizo Web para a Explicación automática en Linguaxe Natural de modelos de clasificación en Minaría de Datos}, presentada por {\bf D. Bruno López Trigo} para superar os créditos correspondentes ao Traballo de Fin de Grao da titulación de Grao en Enxeñaría Informática, realizouse baixo nosa dirección no Departamento de Electrónica e Computación da Universidade de Santiago de Compostela.
\vspace{1cm}
E para que así conste aos efectos oportunos, expiden o presente informe en Santiago de Compostela, a (Data):
E para que así conste aos efectos oportunos, expiden o presente informe en Santiago de Compostela, a 1 de xullo de 2018:
\vspace{2cm}
\begin{tabular}{lll}
......@@ -24,6 +24,6 @@ O director, & O codirector, & O alumno, \\
~ \\
~ \\
~ \\
Jose María Alonso del Moral & Alberto Bugarín Diz & Bruno López Trigo
Jose María Alonso Moral & Alberto Bugarín Diz & Bruno López Trigo
\end{tabular}
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Conclusi\IeC {\'o}ns e posibles ampliaci\IeC {\'o}ns}{175}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Conclusi\IeC {\'o}ns e posibles ampliaci\IeC {\'o}ns}{151}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@setckpt{capitulos/conclusions}{
\setcounter{page}{176}
\setcounter{page}{152}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{1}
......@@ -12,7 +12,7 @@
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{6}
\setcounter{chapter}{7}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
......@@ -21,7 +21,7 @@
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{lstnumber}{96}
\setcounter{lstnumber}{95}
\setcounter{dirtytalk@qdepth}{0}
\setcounter{lstlisting}{0}
}
\chapter{Conclusións e posibles ampliacións}
Conclusións e posibles ampliacións
\chapter{Conclusións e posibles ampliacións}
Neste proxecto acadouse o desenvolvemento dun servizo web, \textbf{ExpliClas}, que funciona sobre unha API REST, e é capaz de proporcionar explicacións (globais e locais) en linguaxe natural sobre clasificacións feitas con árbores de decisión.
Aínda que ExpliClas é un servizo web operativo e totalmente funcional, existen bastantes melloras que poden levarse a cabo. A mellora inmediata sobre o servizo está destinada ao refinamento das explicacións xeradas. Para este refinamento o ideal será crear un formulario onde os usuarios do sistema podan valorar as explicacións do sistema. A partir do \say{feedback} proporcionado polos usuarios, revisarase e mellorarase o modelo de explicacións actual.
Por outra parte, están as posibles ampliacións relativas ás limitacións actuais do sistema. En primeiro lugar, o sistema está reducido a 3 algoritmos de clasificación (J48, REPTree e RandomTree) que poderían ser extendidos a un maior número de algoritmos que seguen un modelo similar. En segundo lugar, ExpliClas só admite datasets de datos numéricos quedando como unha ampliación interesante a compatibilidade con datasets de datos categóricos. Por último, o sistema está deseñado para algoritmos de clasificación que empregan árbores de decisión, que son algoritmos de caixa branca. Pero sería interesante que, nun futuro, ExpliClas se adaptase a outros algoritmos de clasificación considerados de caixa gris (por exemplo, árbores de decisión borrosos).
\ No newline at end of file
This diff is collapsed.
This is BibTeX, Version 0.99d (TeX Live 2018/Arch Linux)
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: deseno.aux
I found no \bibdata command---while reading file deseno.aux
I found no \bibstyle command---while reading file deseno.aux
You've used 4 entries,
0 wiz_defined-function locations,
87 strings with 510 characters,
and the built_in function-call counts, 0 in all, are:
= -- 0
> -- 0
< -- 0
+ -- 0
- -- 0
* -- 0
:= -- 0
add.period$ -- 0
call.type$ -- 0
change.case$ -- 0
chr.to.int$ -- 0
cite$ -- 0
duplicate$ -- 0
empty$ -- 0
format.name$ -- 0
if$ -- 0
int.to.chr$ -- 0
int.to.str$ -- 0
missing$ -- 0
newline$ -- 0
num.names$ -- 0
pop$ -- 0
preamble$ -- 0
purify$ -- 0
quote$ -- 0
skip$ -- 0
stack$ -- 0
substring$ -- 0
swap$ -- 0
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 0
warning$ -- 0
while$ -- 0
width$ -- 0
write$ -- 0
(There were 2 error messages)
This diff is collapsed.
\relax
\citation{xai}
\citation{euregulation}
\citation{xln}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduci\IeC {\'o}n}{1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Motivaci\IeC {\'o}n}{1}}
\citation{weka}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Obxectivos do proxecto}{2}}
\citation{netbeans}
\citation{jersey}
\citation{simplenlg}
\citation{apiweka}
\citation{react}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Tecnolox\IeC {\'\i }as empregadas}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Estrutura da memoria}{3}}
\@setckpt{capitulos/introducion}{
......
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {C}Licenza}{181}}
\@writefile{toc}{\contentsline {chapter}{\numberline {C}Licenza}{163}}