Commit 19811b06 authored by Bruno López Trigo's avatar Bruno López Trigo

Ampliada información arquivo README

parent bfd32151
......@@ -14,4 +14,55 @@ for such availability set forth in the Eclipse Public License, v. 2.0
are satisfied: GNU General Public License, version 2 with the GNU
Classpath Exception which is available at GNU General Public License, either version 2
of the License, or (at your option) any later version
available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
\ No newline at end of file
available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
WHAT IS THIS PROJECT?
In recent years, artificial intelligence is integrated into many systems whose needs go beyond the technical aspects. Within these needs, we find the ethical and legal aspects related to interaction of users with intelligent systems. Many intelligent systems, in particular almost all those that are learned automatically from data, use a black box model where users rely on the decisions taken by these systems, without worrying about how such decisions were made. Thus arises the paradigm of Explicable Artificial Intelligence (eXplainable Artificial Intelligence, JHA) that makes reference to the construction of intelligent systems able to provide information on how they make their decisions. Even for intelligent systems that use a white box model, it is necessary the intervention of an expert to interpret this model, so it is interesting to apply the XAI paradigm to obtain a self-explanatory system. According to the ACM Code of Ethics, the explanation is a basic principle to guarantee the transparency of the algorithms and the responsibility of the institutions of the decisions taken by the mentioned algorithms. In addition, the recent application of the new European General Data Protection Regulation emphasizes the "right to explanation" for European citizens, regardless of whether decisions are made by people or intelligent systems. In this context, ExpliClas aims to address the problem of generating explanations for a smart system. In particular, the intelligent systems of classification, using a white box model, and more specifically the decision-tree-based systems. ExpliClas studies the generation of explanations through Natural Language Generation trying to reach explanations capable of clarifying to the user how the classification systems make decisions. In addition, the purpose of these explanations is not only reduced to make the system more understandable, but also increase the user's confidence in the system itself and its reliability. Another relevant aspect of the explanation is the user interactivity with the system, which will be reflected in the variation of the explanations according to the actions executed by the user in the system. ExpliClas service is currently operative and deployed in the URL: https://demos.citius.usc.es/ExpliClas/. The corresponding ExpliClas API is available in: https://demos.citius.usc.es/ExpliClasAPI/.
WHERE IS THE CODE LOCATED
ExpliClas code is available on the following repositories: https://gitlab.citius.usc.es/bruno.lopez.trigo/ExpliClas-TFG and https://forxa.mancomun.org/scm/browser.php?group_id=419.
The demo web service code is available under /codigo/expliclas.
The API REST code is available under /codigo/expliclas-api.
HOW TO BUILD
In order to build API service be sure to follow the next steps:
1. Download and install Netbeans IDE (version 8 or greater)
2. Download and install Apache Tomcat Server (version 8 or greater)
3. Open /codigo/expliclas-api project on Netbeans
4. Be sure /codigo/expliclas-api/src/main/webapp/index.html contains correct API URL in order to correctly deploy API documentation.
const ui = SwaggerUIBundle({
url: "http://localhost:8080/api/swagger.json", // CHANGE THIS LINE
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
5. Run project with Netbeans, by default API will be deployed at http://localhost:8080/api/
In order to deploy demo web service:
1. Download and install NodeJS (version 8 or greater).
2. Download and install npm (version 3 or greater).
3. Go to expliclas directory /codigo/expliclas
4. Run 'npm install' to correctly download and install dependencies.
5. Run 'npm start' to directly run web service. Optionally, you can run 'npm run build' if you want to create a web service ready to production. After create production application you will see a folder 'build' that contains production files. If you want to put in production the service you will need to install a Node server so install serve via: 'npm install -g serve'. Finally, you can execute application with 'serve -s -l PORT build' where PORT is your desired port to deploy the web.
Be sure to establish correct URLs for web service under /codigo/expliclas/src/config.js
export const API_ROOT = 'http://localhost:8080/api'; // API URL
export const API_DOC = 'http://localhost:8080/'; // API DOCUMENTATION URL
export const HOME = 'http://localhost:3000/'; // WEB SERVICE URL
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment