Romanes commited on
Commit
70d6e30
·
verified ·
1 Parent(s): 8eef104

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +92 -28
app.py CHANGED
@@ -69,6 +69,10 @@ def parse_code_name(codes_raw: str, text_original: str) -> Tuple[str, str]:
69
  # Reglas
70
  # =========================
71
  REGLAS = [
 
 
 
 
72
  {
73
  "keywords": ["ops", "orden de prestacion de servicios", "contrato ops"],
74
  "respuesta": {
@@ -78,6 +82,11 @@ REGLAS = [
78
  },
79
  "motivo": "Coincidencia con palabra clave OPS",
80
  },
 
 
 
 
 
81
  {
82
  'keywords': ["tiquete", "tiquetes", "pasajes", "aereos", "aereo", "aereo"],
83
  'respuesta': {
@@ -87,24 +96,38 @@ REGLAS = [
87
  },
88
  'motivo': 'Auto (tiquetes). 50 ejemplos en Excel',
89
  },
 
 
 
 
 
90
  {
91
- 'keywords': ["viatico", "viaticos"],
92
- 'respuesta': {
93
- 'CICP': ("2.3.2.02.02.010", "Servicios administrativos de apoyo"),
94
- 'CPC': ("901", "Gastos directos de la administración pública"),
95
- 'UNSPSC': ("20102301", "Gastos de viaje y manutención"),
96
- },
97
- 'motivo': 'Auto (viaticos). 37 ejemplos en Excel',
98
  },
 
 
 
 
 
99
  {
100
- 'keywords': ["inscripcion", "inscripciones", "registro"],
101
- 'respuesta': {
102
- 'CICP': ("2.3.2.02.02.009", "Servicios para la comunidad"),
103
- 'CPC': ("901", "Gastos directos de la administración pública"),
104
- 'UNSPSC': ("82121800", "Servicios de suscripción o membresía"),
105
- },
106
- 'motivo': 'Auto (inscripción). 39 ejemplos en Excel',
107
  },
 
 
 
 
108
  {
109
  'keywords': ["participacion", "asistencia", "ponente", "conferencista"],
110
  'respuesta': {
@@ -114,6 +137,11 @@ REGLAS = [
114
  },
115
  'motivo': 'Auto (participación). 35 ejemplos en Excel',
116
  },
 
 
 
 
 
117
  {
118
  'keywords': ["impresion", "imprimir", "impresiones", "material impreso", "afiches", "posters", "folletos", "volantes", "brochure"],
119
  'respuesta': {
@@ -123,6 +151,10 @@ REGLAS = [
123
  },
124
  'motivo': 'Auto (impresión). 16 ejemplos en Excel',
125
  },
 
 
 
 
126
  {
127
  'keywords': ["publicacion", "article processing charge", "apc", "cuota publicacion", "edicion articulo", "open access"],
128
  'respuesta': {
@@ -132,6 +164,11 @@ REGLAS = [
132
  },
133
  'motivo': 'Auto (publicación). 37 ejemplos en Excel',
134
  },
 
 
 
 
 
135
  {
136
  'keywords': ["servicios tecnicos", "servicio tecnico", "analisis de laboratorio", "caracterizacion", "ensayo"],
137
  'respuesta': {
@@ -141,6 +178,10 @@ REGLAS = [
141
  },
142
  'motivo': 'Auto (servicios técnicos). 7 ejemplos en Excel',
143
  },
 
 
 
 
144
  {
145
  'keywords': ["mantenimiento", "mantenimientos", "preventivo", "correctivo", "calibracion", "calibraciones"],
146
  'respuesta': {
@@ -150,6 +191,11 @@ REGLAS = [
150
  },
151
  'motivo': 'Auto (mantenimiento). 2 ejemplos en Excel',
152
  },
 
 
 
 
 
153
  {
154
  'keywords': ["software", "licenciamiento", "suscripcion", "suscripciones", "sistemas", "suite"],
155
  'respuesta': {
@@ -159,6 +205,10 @@ REGLAS = [
159
  },
160
  'motivo': 'Auto (software). 17 ejemplos en Excel',
161
  },
 
 
 
 
162
  {
163
  'keywords': ["licencia", "licencias", "licenciamiento"],
164
  'respuesta': {
@@ -168,6 +218,11 @@ REGLAS = [
168
  },
169
  'motivo': 'Auto (licencia). 4 ejemplos en Excel',
170
  },
 
 
 
 
 
171
  {
172
  'keywords': ["reactivos", "insumos de laboratorio", "quimicos", "quimicas", "repuestos laboratorio"],
173
  'respuesta': {
@@ -177,6 +232,11 @@ REGLAS = [
177
  },
178
  'motivo': 'Auto (reactivos). 14 ejemplos en Excel',
179
  },
 
 
 
 
 
180
  {
181
  'keywords': ["espectrometria", "hplc", "q tof", "qtof", "lc ms", "gc ms", "nmr", "rmn", "tiempo de vuelo", "masas"],
182
  'respuesta': {
@@ -186,6 +246,10 @@ REGLAS = [
186
  },
187
  'motivo': 'Auto (espectrometría). 6 ejemplos en Excel',
188
  },
 
 
 
 
189
  {
190
  'keywords': [
191
  "equipo de computo", "equipos de computo", "computo", "computador", "computadora",
@@ -226,13 +290,13 @@ REGLAS = [
226
  # REGLA: Alojamiento / Hospedaje (hotel)
227
  # CUÁNDO: "hospedaje", "alojamiento", "hotel".
228
  {
229
- "keywords": ["hospedaje", "alojamiento", "hotel"],
230
- "respuesta": {
231
- "CICP": ("2.3.2.02.02.010", "Servicios administrativos de apoyo"),
232
- "CPC": ("901", "Gastos directos de la administración pública"),
233
- "UNSPSC": ("90111500", "Hoteles y alojamiento"),
234
- },
235
- "motivo": "Hospedaje asociado a comisiones y eventos",
236
  },
237
 
238
  # REGLA: Papelería y útiles (BIEN)
@@ -311,14 +375,14 @@ REGLAS = [
311
  # REGLA: Capacitación / Formación (servicio)
312
  # CUÁNDO: "capacitacion", "formacion", "curso", "seminario", "taller" (cuando no se menciona explícitamente "inscripción").
313
  {
314
- "keywords": ["capacitacion", "formacion", "curso", "cursos", "seminario", "seminarios", "taller", "talleres"],
315
- "respuesta": {
316
- "CICP": ("2.3.2.02.02.009", "Servicios para la comunidad"),
317
- "CPC": ("901", "Gastos directos de la administración pública"),
318
- "UNSPSC": ("86100000", "Servicios de educación y formación"),
319
- },
320
- "motivo": "Servicios de formación/capacitación distintos al ítem de inscripción",
321
  },
 
 
322
 
323
  # REGLA: Mobiliario de oficina (BIEN)
324
  # CUÁNDO: "silla", "mesa", "escritorio", "mobiliario".
 
69
  # Reglas
70
  # =========================
71
  REGLAS = [
72
+ # REGLA: OPS (Orden de Prestación de Servicios)
73
+ # CUÁNDO: Cuando el texto menciona OPS/contrato OPS o su expansión.
74
+ # INTENCIÓN: Contratación de servicios profesionales/servicios técnicos por OPS.
75
+ # NOTAS: Útil para “vinculación joven investigadora OPS”, asesorías, apoyos especializados, etc.
76
  {
77
  "keywords": ["ops", "orden de prestacion de servicios", "contrato ops"],
78
  "respuesta": {
 
82
  },
83
  "motivo": "Coincidencia con palabra clave OPS",
84
  },
85
+
86
+ # REGLA: Tiquetes aéreos (viajes)
87
+ # CUÁNDO: Pasajes, tiquetes, aéreos, etc.
88
+ # INTENCIÓN: Traslados aéreos a eventos/misiones.
89
+ # NOTA: Si aparece además 'viáticos', ambas reglas pueden disparar; resolver por score o prioridad contextual.
90
  {
91
  'keywords': ["tiquete", "tiquetes", "pasajes", "aereos", "aereo", "aereo"],
92
  'respuesta': {
 
96
  },
97
  'motivo': 'Auto (tiquetes). 50 ejemplos en Excel',
98
  },
99
+
100
+ # REGLA: Viáticos (alojamiento, alimentación, transporte local)
101
+ # CUÁNDO: 'viatico', 'viaticos'
102
+ # INTENCIÓN: Gastos operativos de comisión de servicios.
103
+ # NOTA: Complementa tiquetes. Puedes sumar keywords 'alojamiento', 'hospedaje' si lo deseas.
104
  {
105
+ 'keywords': ['viatico', 'viaticos'],
106
+ 'respuesta': {
107
+ 'CICP': ('2.3.2.02.02.010', 'Servicios administrativos de apoyo'),
108
+ 'CPC': ('901', 'Gastos directos de la administración pública'),
109
+ 'UNSPSC': ('N/A', 'N/A'),
110
+ },
111
+ 'motivo': 'Auto (viaticos). 37 ejemplos en Excel',
112
  },
113
+
114
+ # REGLA: Inscripción a eventos/cursos
115
+ # CUÁNDO: inscripción/registro a congresos, talleres, cursos.
116
+ # INTENCIÓN: Pago de inscripción/membresía.
117
+ # NOTA: Muchas organizaciones lo contabilizan como servicio editorial/eventos.
118
  {
119
+ 'keywords': ['inscripcion', 'inscripciones', 'registro'],
120
+ 'respuesta': {
121
+ 'CICP': ('2.3.2.02.02.009', 'Servicios para la comunidad'),
122
+ 'CPC': ('901', 'Gastos directos de la administración pública'),
123
+ 'UNSPSC': ('N/A', 'N/A'),
124
+ },
125
+ 'motivo': 'Auto (inscripción). 39 ejemplos en Excel',
126
  },
127
+
128
+ # REGLA: Participación/Asistencia/Ponencia en eventos
129
+ # CUÁNDO: 'participacion', 'asistencia', 'ponente', 'conferencista'
130
+ # INTENCIÓN: Soporte a la asistencia activa; frecuentemente coexiste con tiquetes/viáticos.
131
  {
132
  'keywords': ["participacion", "asistencia", "ponente", "conferencista"],
133
  'respuesta': {
 
137
  },
138
  'motivo': 'Auto (participación). 35 ejemplos en Excel',
139
  },
140
+
141
+ # REGLA: Impresión y material impreso
142
+ # CUÁNDO: impresión de pósteres, afiches, folletos, volantes, brochure.
143
+ # INTENCIÓN: Servicios editoriales/Impresión.
144
+ # NOTA: Para compra de impresoras (bien), ver la regla de “impresora”.
145
  {
146
  'keywords': ["impresion", "imprimir", "impresiones", "material impreso", "afiches", "posters", "folletos", "volantes", "brochure"],
147
  'respuesta': {
 
151
  },
152
  'motivo': 'Auto (impresión). 16 ejemplos en Excel',
153
  },
154
+
155
+ # REGLA: Publicación científica (APC/Open Access)
156
+ # CUÁNDO: 'publicacion', 'APC', 'article processing charge', 'open access'
157
+ # INTENCIÓN: Pagar cargos editoriales de publicación científica.
158
  {
159
  'keywords': ["publicacion", "article processing charge", "apc", "cuota publicacion", "edicion articulo", "open access"],
160
  'respuesta': {
 
164
  },
165
  'motivo': 'Auto (publicación). 37 ejemplos en Excel',
166
  },
167
+
168
+ # REGLA: Servicios técnicos / Ensayos / Caracterización (Laboratorio)
169
+ # CUÁNDO: 'servicios tecnicos', 'analisis de laboratorio', 'caracterizacion', 'ensayo'
170
+ # INTENCIÓN: Análisis como SERVICIO (terceros).
171
+ # NOTA: Si en cambio es COMPRA de equipo, ver reglas de 'reactivos' o 'impresora'/'equipos'.
172
  {
173
  'keywords': ["servicios tecnicos", "servicio tecnico", "analisis de laboratorio", "caracterizacion", "ensayo"],
174
  'respuesta': {
 
178
  },
179
  'motivo': 'Auto (servicios técnicos). 7 ejemplos en Excel',
180
  },
181
+
182
+ # REGLA: Mantenimiento / Calibración
183
+ # CUÁNDO: 'mantenimiento', 'preventivo', 'correctivo', 'calibracion'
184
+ # INTENCIÓN: Servicios de mantenimiento/calibración de equipos.
185
  {
186
  'keywords': ["mantenimiento", "mantenimientos", "preventivo", "correctivo", "calibracion", "calibraciones"],
187
  'respuesta': {
 
191
  },
192
  'motivo': 'Auto (mantenimiento). 2 ejemplos en Excel',
193
  },
194
+
195
+ # REGLA: Software / Suscripciones
196
+ # CUÁNDO: 'software', 'licenciamiento', 'suscripcion', 'suite'
197
+ # INTENCIÓN: Servicios/licencias de software como servicio.
198
+ # NOTA: Si es COMPRA de equipo (hardware), ver regla de “equipos de computo/impresora”.
199
  {
200
  'keywords': ["software", "licenciamiento", "suscripcion", "suscripciones", "sistemas", "suite"],
201
  'respuesta': {
 
205
  },
206
  'motivo': 'Auto (software). 17 ejemplos en Excel',
207
  },
208
+
209
+ # REGLA: Licencia (genérico)
210
+ # CUÁNDO: cuando sólo se menciona "licencia(s)" sin más contexto.
211
+ # INTENCIÓN: Asumir licenciamiento de uso (software/documentos).
212
  {
213
  'keywords': ["licencia", "licencias", "licenciamiento"],
214
  'respuesta': {
 
218
  },
219
  'motivo': 'Auto (licencia). 4 ejemplos en Excel',
220
  },
221
+
222
+ # REGLA: Reactivos / Insumos de laboratorio (BIEN)
223
+ # CUÁNDO: 'reactivos', 'insumos de laboratorio', 'quimicos'
224
+ # INTENCIÓN: COMPRA de insumos (no servicio).
225
+ # NOTA: Si el texto dice “análisis/ensayo” sin ‘compra/adquisición’, prioriza la regla de servicios técnicos.
226
  {
227
  'keywords': ["reactivos", "insumos de laboratorio", "quimicos", "quimicas", "repuestos laboratorio"],
228
  'respuesta': {
 
232
  },
233
  'motivo': 'Auto (reactivos). 14 ejemplos en Excel',
234
  },
235
+
236
+ # REGLA: Espectrometría / HPLC / RMN (como SERVICIO de análisis)
237
+ # CUÁNDO: 'hplc', 'q tof', 'rmn', 'lc ms', 'gc ms', 'espectrometria', etc.
238
+ # INTENCIÓN: Servicios analíticos de laboratorio (terceros).
239
+ # NOTA: Si el texto dice “adquisición/compra de HPLC/RMN”, redirigir a bienes (equipo).
240
  {
241
  'keywords': ["espectrometria", "hplc", "q tof", "qtof", "lc ms", "gc ms", "nmr", "rmn", "tiempo de vuelo", "masas"],
242
  'respuesta': {
 
246
  },
247
  'motivo': 'Auto (espectrometría). 6 ejemplos en Excel',
248
  },
249
+ # REGLA: Equipo de cómputo (como BIEN)
250
+ # CUÁNDO: 'equipo de computo', 'portatil', 'laptop', 'pc', 'ordenador', 'computador', 'hardware', etc.
251
+ # INTENCIÓN: Adquisición de equipos de cómputo como bien mueble (no servicio).
252
+ # NOTA: Si el texto menciona “instalación”, “mantenimiento” o “soporte”, redirigir a la regla de servicios técnicos o mantenimiento.
253
  {
254
  'keywords': [
255
  "equipo de computo", "equipos de computo", "computo", "computador", "computadora",
 
290
  # REGLA: Alojamiento / Hospedaje (hotel)
291
  # CUÁNDO: "hospedaje", "alojamiento", "hotel".
292
  {
293
+ 'keywords': ['hospedaje', 'alojamiento', 'hotel'],
294
+ 'respuesta': {
295
+ 'CICP': ('2.3.2.02.02.010', 'Servicios administrativos de apoyo'),
296
+ 'CPC': ('901', 'Gastos directos de la administración pública'),
297
+ 'UNSPSC': ('N/A', 'N/A'),
298
+ },
299
+ 'motivo': 'Hospedaje asociado a comisiones y eventos',
300
  },
301
 
302
  # REGLA: Papelería y útiles (BIEN)
 
375
  # REGLA: Capacitación / Formación (servicio)
376
  # CUÁNDO: "capacitacion", "formacion", "curso", "seminario", "taller" (cuando no se menciona explícitamente "inscripción").
377
  {
378
+ 'keywords': ['capacitacion', 'formacion', 'curso', 'cursos', 'seminario', 'seminarios', 'taller', 'talleres'],
379
+ 'respuesta': {
380
+ 'CICP': ('2.3.2.02.02.009', 'Servicios para la comunidad'),
381
+ 'CPC': ('901', 'Gastos directos de la administración pública'),
382
+ 'UNSPSC': ('N/A', 'N/A'),
 
 
383
  },
384
+ 'motivo': 'Servicios de formación/capacitación distintos al ítem de inscripción',
385
+ },
386
 
387
  # REGLA: Mobiliario de oficina (BIEN)
388
  # CUÁNDO: "silla", "mesa", "escritorio", "mobiliario".