-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.py
130 lines (122 loc) · 6.43 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import os
from flask import Flask, render_template, request, redirect, url_for, Response, jsonify
app = Flask(__name__)
def add_cors_headers(response):
response.headers['Access-Control-Allow-Origin'] = '*'
if request.method == 'OPTIONS':
response.headers['Access-Control-Allow-Methods'] = 'DELETE, \
GET,POST, PUT'
headers = request.headers.get('Access-Control-Request-Headers')
if headers:
response.headers['Access-Control-Allow-Headers'] = headers
return response
app.after_request(add_cors_headers)
@app.route('/analyze_utterance', methods=['GET'])
def anticorruption_analysis():
output = {
"caso": 213141,
"status": "caso_completo",
"corrupcion" : [
{ "tipo_corrupción_1": 0.99 },
{ "tipo_corrupción_2": 0.99 },
{ "tipo_corrupción_3": 0.99 },
{ "tipo_corrupción_4": 0.99 },
{ "tipo_corrupción_5": 0.99 },
{ "tipo_corrupción_6": 0.99 },
{ "tipo_corrupción_7": 0.99 },
{ "tipo_corrupción_8": 0.99 },
{ "tipo_corrupción_9": 0.99 },
{ "tipo_corrupción_10": 0.99 }
],
"contrato": "identificador_OpenContracting",
"entidades_identificadas": [
{ "tipo": "institución", "texto": "texto" },
{ "tipo": "institución", "texto": "texto" },
{ "tipo": "proveedor", "texto": "texto" },
{ "tipo": "proveedoor", "texto": "texto" }
],
"preguntas_pendientes" : [
{ "persona": [] },
{ "empresa": [] },
{ "contrato": [] },
{ "institución": [] },
],
"sustantivos_pendientes": [
"sustantivo_1",
"sustantivo_2",
"sustantivo_3"
]
}
return jsonify(output)
@app.route('/analyze_context', methods=['GET'])
def analyze_context():
output = {
"probabilidad":0.91,
"Soborno": {
"probabilidad": 0.89,
"indicador_1": {"tipo":"kpi", "datos":{"valor":20, "unidades":"unidad", "porcentaje":0.15}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":131, "unidades":"unidad", "porcentaje":1.00}}
},
"Desvio de Recursos": {
"probabilidad": 0.25,
"indicador_1": {"tipo":"kpi", "datos":{"valor":80, "unidades":"unidad", "porcentaje":0.4}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":200, "unidades":"unidad", "porcentaje":1.0}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":120, "unidades":"unidad", "porcentaje":0.6}}
},
"Abuso de funciones": {
"probabilidad": 0.85,
"indicador_1": {"tipo":"kpi", "datos":{"valor":100, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":34, "unidades":"unidad", "porcentaje":0.33}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":67, "unidades":"unidad", "porcentaje":0.66}},
"indicador_4": {"tipo":"kpi", "datos":{"valor":67, "unidades":"unidad", "porcentaje":0.66}}
},
"Colusión": {
"probabilidad": 0.51,
"indicador_1": {"tipo":"kpi", "datos":{"valor":250, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":200, "unidades":"unidad", "porcentaje":0.8}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":125, "unidades":"unidad", "porcentaje":0.5}},
"indicador_4": {"tipo":"kpi", "datos":{"valor":75, "unidades":"unidad", "porcentaje":0.3}},
"indicador_5": {"tipo":"kpi", "datos":{"valor":175, "unidades":"unidad", "porcentaje":0.7}}
},
"Conspiración para cometer actos de corrupción": {
"probabilidad": 0.23,
"indicador_1": {"tipo":"kpi", "datos":{"valor":150, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":61, "unidades":"unidad", "porcentaje":0.41}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":20, "unidades":"unidad", "porcentaje":0.13}}
},
"Tráfico de influencia": {
"probabilidad": 0.60,
"indicador_1": {"tipo":"kpi", "datos":{"valor":1000, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":600, "unidades":"unidad", "porcentaje":0.60}},
},
"Enriquecimiento Oculto": {
"probabilidad": 0.90,
"indicador_1": {"tipo":"kpi", "datos":{"valor":800, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":430, "unidades":"unidad", "porcentaje":0.54}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":240, "unidades":"unidad", "porcentaje":0.3}}
},
"Obstrucción de Justicia": {
"probabilidad": 0.95,
"indicador_1": {"tipo":"kpi", "datos":{"valor":130, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":96, "unidades":"unidad", "porcentaje":0.74}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":58, "unidades":"unidad", "porcentaje":0.45}}
},
"Uso ilegal de información falsa o confidencial": {
"probabilidad": 0.91,
"indicador_1": {"tipo":"kpi", "datos":{"valor":250, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":200, "unidades":"unidad", "porcentaje":0.8}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":125, "unidades":"unidad", "porcentaje":0.5}},
"indicador_4": {"tipo":"kpi", "datos":{"valor":75, "unidades":"unidad", "porcentaje":0.3}},
"indicador_5": {"tipo":"kpi", "datos":{"valor":175, "unidades":"unidad", "porcentaje":0.7}}
},
"Nepotismo": {
"probabilidad": 0.85,
"indicador_1": {"tipo":"kpi", "datos":{"valor":100, "unidades":"unidad", "porcentaje":1.00}},
"indicador_2": {"tipo":"kpi", "datos":{"valor":34, "unidades":"unidad", "porcentaje":0.33}},
"indicador_3": {"tipo":"kpi", "datos":{"valor":67, "unidades":"unidad", "porcentaje":0.66}},
"indicador_4": {"tipo":"kpi", "datos":{"valor":67, "unidades":"unidad", "porcentaje":0.66}}
},
}
return jsonify(output)
if __name__ == '__main__':
app.run(debug=True, host="0.0.0.0", port=5000)