89 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Patrón IA
 | 
						|
 | 
						|
Los Tests no son más que archivos JSON con la siguiente estructura:
 | 
						|
 | 
						|
```json
 | 
						|
[{
 | 
						|
    "origin" : "Quién lo hizo", 
 | 
						|
    "sources" : ["Links para el origen de los datos/Tests."], 
 | 
						|
    "title" : "Título del Test.", 
 | 
						|
    "queries" : [{
 | 
						|
        "question" : "Pregunta arealizar.", 
 | 
						|
        "rights" : ["Respuestas correctas simples.", ["Respuestas correctas porcentuadas.", 0.5]], 
 | 
						|
        "wrongs" : ["Respuestas incorrectas simples.", ["Respuestas incorrectas porcentuadas.", 0.5]]
 | 
						|
    }]
 | 
						|
}]
 | 
						|
```
 | 
						|
 | 
						|
* **origin**: String. Nombre de la entidad o fuente de la información.
 | 
						|
* **sources**: Array de Strings. Fuentes de la que parte la información.
 | 
						|
* **title**: String. Título del tema a tratar.
 | 
						|
* **Queries**: Array de diccionario. Conjunto de posibles preguntas.
 | 
						|
    * **question**: String. Texto de la pregunta.
 | 
						|
    * **rights** y **wrongs**: Array de Strings (Respuesta directa) y/o Array bidimensional con:
 | 
						|
        0. String. Respuesta.
 | 
						|
        1. Float. Probabilidad de prebalecer como seleccionada.
 | 
						|
 | 
						|
Todos los campos ahnde existir siempre y el tipado va acorde a lo expuesto.
 | 
						|
 | 
						|
Los Array indican que pueden tener uno o más elementos, a excepción de "sources", que puede estar vacío.
 | 
						|
 | 
						|
Las respuestas porcentuadas indican cuál es la probabilidad de que una vez elegida por el programa, ésta se quede como respuesta y no se seleccione otra. Esto vale para equivaler conjuntos de respuestas dinámicas y estáticas. El valor que lo acompaña es la probabilidad de que permanezcan siendo 1 el 100% y 0 el 0%.
 | 
						|
 | 
						|
Lo interesante es que halla cuántas más posibles respuestas mejor. No hay un número mínimo ni máximo.
 | 
						|
 | 
						|
Las respuestas pueden tener factores dinámicos para que una sea más flexibles y dé más resultados. No puede haber anidamientos de éstos. Éstos se basan en claves las cuales son los siguientes.
 | 
						|
 | 
						|
## rand
 | 
						|
 | 
						|
Indica un conjunto de elementos de los cuales se eligirá uno aleatoriamente.
 | 
						|
 | 
						|
```txt
 | 
						|
[[rand,opcion1|opcion2|opcion3|opcionN]]
 | 
						|
```
 | 
						|
 | 
						|
```json
 | 
						|
{
 | 
						|
    "wrongs" : ["Esto es [[rand,esto|eso|aquello]]."]
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
En el ejemplo puede dar como resultado que es "esto", o "eso" o "aquello".
 | 
						|
 | 
						|
## range
 | 
						|
 | 
						|
Indica uno o más rangos o valores fijos numéricos enteros de donde se sacarán valores aleatorios.
 | 
						|
 | 
						|
```txt
 | 
						|
[[rand,desde1-hasta1|desde2-hasta2|desde3-hasta3|desdeN-hastaN]]
 | 
						|
```
 | 
						|
 | 
						|
```txt
 | 
						|
[[rand,valor1|valor2|valor3|valorN]]
 | 
						|
```
 | 
						|
 | 
						|
```txt
 | 
						|
[[rand,desde1-hasta1|desde2-hasta2|valor3|desdeN-hastaN]]
 | 
						|
```
 | 
						|
 | 
						|
```json
 | 
						|
{
 | 
						|
    "wrongs" : ["Esto es [[range,0-10|15-20|23|31-60]]."]
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
En el ejemplo puede coger cualquier valor comprendido entre 0 y 10, 15 y 20, el valor 23, y entre 31 y 60.
 | 
						|
 | 
						|
## serie
 | 
						|
 | 
						|
Es como el rango pero con memoria, y la siguiente serie del mismo texto procesado ha de ser igual o más grande.
 | 
						|
 | 
						|
```json
 | 
						|
{
 | 
						|
    "wrongs" : ["Esto está entre [[serie,0-25]] y [[serie,10-50]]."]
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
En el ejemplo, el primer valor puede coger cualquier valor comprendido entre el 0 y el 25; y el segundo puede ser entre 10 si el primero es menor que 10 o desde el primero en caso contrario, hasta el 50.
 | 
						|
 | 
						|
Sólo se contabiliza una serie por pregunta/respuesta. |